aboutsummaryrefslogtreecommitdiff
path: root/src/libparsec/include/gd_tabs.h
blob: a405f21c33bad10569b64b4fc9ab8668e1b6932e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/*
 * PARSEC HEADER: gd_tabs.h
 */

#ifndef _GD_TABS_H_
#define _GD_TABS_H_


// ----------------------------------------------------------------------------
// GLOBAL DATA INFO TABLES                                                    -
// ----------------------------------------------------------------------------


// object lod info ------------------------------------------------------------
//
struct lodinfo_s {

	int			numlods;
	char**		filetab;
	geomv_t*	lodmags;
	geomv_t*	lodmins;
};


// object info table ----------------------------------------------------------
//
struct objectinfo_s {

	dword 		type;						// object type code
	char*		name;						// object name (must be unique!)
	char*		file;						// file object has been read from
	lodinfo_s*	lodinfo;					// optional lod specification
};


// texture info table ---------------------------------------------------------
//
struct textureinfo_s {

	TextureMap*	texpointer;					// pointer to actual texture struct
	dword		flags;						// flagword
	int 		width;						// width in texels
	int 		height;						// height in texels
	char*		name;						// texture name (must be unique!)
	char*		file;						// file texture has been read from
	char*		standardbitmap;				// texture bitmap in TEXFMT_STANDARD
	char*		loaderparams;				// optional loading parameters
};

enum {

	TEXINFOFLAG_NONE			= 0x00000000,
	TEXINFOFLAG_USERPALETTE		= 0x00000001,	// don't touch texture palette
	TEXINFOFLAG_PACKWASDISABLED	= 0x00000100	// data was not read from pack
};


// texfont info table ---------------------------------------------------------
//
struct texfontinfo_s {

	texfont_s*	texfont;		// pointer to actual texfont structure
	dword		flags;
	int 		width;			// width of single char in texels
	int 		height;			// height of single char in texels
	char*		name;			// texfont name (must be unique!)
	char*		file;			// file font has been read from
	char*		srcimage;		// originally read data
	int			_mksiz32;
};


// bitmap info table ----------------------------------------------------------
//
struct bitmapinfo_s {

	char*		bitmappointer;				// pointer to current bitmap data
	char*		loadeddata;					// pointer to original bitmap data
	int 		width;						// bitmap width
	int 		height;						// bitmap height
	char*		file;						// file bitmap has been read from
	char*		name;						// bitmap name (must be unique!)
	int			_mksiz32[2];
};


// charset info table ---------------------------------------------------------
//
struct charsetinfo_s {

	char*		charsetpointer;				// pointer to current font data
	char*		loadeddata;					// pointer to original font data
	dword*		geompointer;				// pointer to geometry table
	int			datasize;					// size of actual font data in bytes
	int 		width;						// char width
	int 		height;						// char height
	int    		srcwidth;   				// font bitmap width
	dword		flags;						// flagword
	char*		file;						// file font has been read from
	TextureMap*	fonttexture;				// font converted to texture
	int			_mksiz64[6];
};


// sample info table ----------------------------------------------------------
//
struct sampleinfo_s {

	char*		name;
	char*		file;
	char*		samplepointer;
	size_t		size;
	word		flags;
	short		stereolevel;
	int			volume;
	float		samplefreq;
	float		stdfreq;
};


// song info table ------------------------------------------------------------
//
struct songinfo_s {

	char*		songpointer;
	char*		name;
	char*		file;
	int			_mksiz16;
};


#endif // _GD_TABS_H_