VTFLib
A C and C++ API that, with a few simple functions, can open and save .vtf and .vmt files.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
VMTWrapper.h
1 /*
2  * VTFLib
3  * Copyright (C) 2005-2010 Neil Jedrzejewski & Ryan Gregg
4 
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later
9  * version.
10  */
11 
12 #ifndef VTFLIB_VTFWRAPPER_H
13 #define VTFLIB_VTFWRAPPER_H
14 
15 #include "stdafx.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 //
22 // Memory managment routines.
23 //
24 
25 VTFLIB_API vlBool vlMaterialIsBound();
26 VTFLIB_API vlBool vlBindMaterial(vlUInt uiMaterial);
27 
28 VTFLIB_API vlBool vlCreateMaterial(vlUInt *uiMaterial);
29 VTFLIB_API vlVoid vlDeleteMaterial(vlUInt uiMaterial);
30 
31 //
32 // Library routines. (Basically class wrappers.)
33 //
34 
35 VTFLIB_API vlBool vlMaterialCreate(const vlChar *cRoot);
36 VTFLIB_API vlVoid vlMaterialDestroy();
37 
38 VTFLIB_API vlBool vlMaterialIsLoaded();
39 
40 VTFLIB_API vlBool vlMaterialLoad(const vlChar *cFileName);
41 VTFLIB_API vlBool vlMaterialLoadLump(const vlVoid *lpData, vlSize uiBufferSize);
42 VTFLIB_API vlBool vlMaterialLoadProc(vlVoid *pUserData);
43 
44 VTFLIB_API vlBool vlMaterialSave(const vlChar *cFileName);
45 VTFLIB_API vlBool vlMaterialSaveLump(vlVoid *lpData, vlSize uiBufferSize, vlSize *uiSize);
46 VTFLIB_API vlBool vlMaterialSaveProc(vlVoid *pUserData);
47 
48 //
49 // Node routines.
50 //
51 
52 VTFLIB_API vlBool vlMaterialGetFirstNode();
53 VTFLIB_API vlBool vlMaterialGetLastNode();
54 VTFLIB_API vlBool vlMaterialGetNextNode();
55 VTFLIB_API vlBool vlMaterialGetPreviousNode();
56 
57 VTFLIB_API vlBool vlMaterialGetParentNode();
58 VTFLIB_API vlBool vlMaterialGetChildNode(const vlChar *cName);
59 
60 VTFLIB_API const vlChar *vlMaterialGetNodeName();
61 VTFLIB_API vlVoid vlMaterialSetNodeName(const vlChar *cName);
62 
63 VTFLIB_API VMTNodeType vlMaterialGetNodeType();
64 
65 VTFLIB_API const vlChar *vlMaterialGetNodeString();
66 VTFLIB_API vlVoid vlMaterialSetNodeString(const vlChar *cValue);
67 
68 VTFLIB_API vlUInt vlMaterialGetNodeInteger();
69 VTFLIB_API vlVoid vlMaterialSetNodeInteger(vlUInt iValue);
70 
71 VTFLIB_API vlFloat vlMaterialGetNodeSingle();
72 VTFLIB_API vlVoid vlMaterialSetNodeSingle(vlFloat sValue);
73 
74 VTFLIB_API vlVoid vlMaterialAddNodeGroup(const vlChar *cName);
75 VTFLIB_API vlVoid vlMaterialAddNodeString(const vlChar *cName, const vlChar *cValue);
76 VTFLIB_API vlVoid vlMaterialAddNodeInteger(const vlChar *cName, vlUInt iValue);
77 VTFLIB_API vlVoid vlMaterialAddNodeSingle(const vlChar *cName, vlFloat sValue);
78 
79 #ifdef __cplusplus
80 }
81 #endif
82 
83 #endif
vlSingle vlFloat
Floating point number (same as vlSingled).
Definition: stdafx.h:63
char vlChar
Single signed character.
Definition: stdafx.h:51
unsigned int vlUInt
Unsigned integer value.
Definition: stdafx.h:56
Application framework header plus VTFLib custom data types.
void vlVoid
Void value.
Definition: stdafx.h:61
unsigned char vlBool
Boolean value 0/1.
Definition: stdafx.h:50