Subversion Repositories Games.Carmageddon

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 pmbaty 1
 
2
#ifndef BRENDER_H
3
#define BRENDER_H
4
 
5
#include "br_inline_funcs.h"
6
#include "br_types.h"
7
 
8
extern struct br_font* BrFontFixed3x5;
9
extern struct br_font* BrFontProp4x6;
10
extern struct br_font* BrFontProp7x9;
11
 
12
// BrActor
13
br_actor* BrActorLoad(char* filename);
14
br_uint_32 BrActorLoadMany(char* filename, br_actor** actors, br_uint_16 num);
15
br_uint_32 BrActorSave(char* filename, br_actor* ptr);
16
br_actor* BrActorAllocate(br_uint_8 type, void* type_data);
17
br_actor* BrActorAdd(br_actor* parent, br_actor* a);
18
void BrActorRelink(br_actor* parent, br_actor* a);
19
br_actor* BrActorRemove(br_actor* a);
20
void BrActorFree(br_actor* a);
21
br_uint_32 BrActorEnum(br_actor* parent, br_actor_enum_cbfn* callback, void* arg);
22
br_bounds* BrActorToBounds(br_bounds* b, br_actor* ap);
23
br_uint_16 BrActorToActorMatrix34(br_matrix34* m, br_actor* a, br_actor* b);
24
 
25
void BrLightEnable(br_actor* l);
26
void BrLightDisable(br_actor* l);
27
 
28
// BrAllocator
29
br_allocator* BrAllocatorSet(br_allocator* newal);
30
 
31
// BrClip
32
void BrClipPlaneEnable(br_actor* c);
33
void BrClipPlaneDisable(br_actor* c);
34
 
35
// BrDev
36
void BrDevPaletteSetOld(br_pixelmap* pm);
37
void BrDevPaletteSetEntryOld(int i, br_colour colour);
38
 
39
// BrEnvironment
40
br_actor* BrEnvironmentSet(br_actor* a);
41
 
42
// BrFileSystem
43
br_filesystem* BrFilesystemSet(br_filesystem* newfs);
44
 
45
// BrMap
46
br_pixelmap* BrMapAdd(br_pixelmap* pixelmap);
47
br_pixelmap* BrMapRemove(br_pixelmap* pixelmap);
48
br_pixelmap* BrMapFind(char* pattern);
49
br_uint_32 BrMapAddMany(br_pixelmap** items, int n);
50
br_map_find_cbfn* BrMapFindHook(br_map_find_cbfn* hook);
51
void BrMapUpdate(br_pixelmap* map, br_uint_16 flags);
52
 
53
// BrMaterial
54
br_material* BrMaterialAllocate(char* name);
55
br_material* BrMaterialLoad(char* filename);
56
br_uint_32 BrMaterialLoadMany(char* filename, br_material** materials, br_uint_16 num);
57
br_material* BrMaterialAdd(br_material* material);
58
br_material* BrMaterialRemove(br_material* material);
59
void BrMaterialUpdate(br_material* mat, br_uint_16 flags);
60
br_material* BrMaterialFind(char* pattern);
61
void BrMaterialFree(br_material* m);
62
br_uint_32 BrMaterialAddMany(br_material** items, int n);
63
br_uint_32 BrMaterialEnum(char* pattern, br_material_enum_cbfn* callback, void* arg);
64
br_material_find_cbfn* BrMaterialFindHook(br_material_find_cbfn* hook);
65
 
66
// BrMatrix236
67
void BrMatrix23Copy(br_matrix23* A, br_matrix23* B);
68
void BrMatrix23Identity(br_matrix23* mat);
69
void BrMatrix23Mul(br_matrix23* A, br_matrix23* B, br_matrix23* C);
70
void BrMatrix23PostScale(br_matrix23* mat, br_scalar sx, br_scalar sy);
71
 
72
// BrMatrix34
73
void BrMatrix34Identity(br_matrix34* mat);
74
void BrMatrix34Pre(br_matrix34* mat, br_matrix34* A);
75
void BrMatrix34ApplyV(br_vector3* A, br_vector3* B, br_matrix34* C);
76
br_scalar BrMatrix34Inverse(br_matrix34* B, br_matrix34* A);
77
void BrMatrix34LPInverse(br_matrix34* A, br_matrix34* B);
78
void BrMatrix34ApplyP(br_vector3* A, br_vector3* B, br_matrix34* C);
79
void BrMatrix34Scale(br_matrix34* mat, br_scalar sx, br_scalar sy, br_scalar sz);
80
void BrMatrix34PostTranslate(br_matrix34* mat, br_scalar x, br_scalar y, br_scalar z);
81
void BrMatrix34Mul(br_matrix34* A, br_matrix34* B, br_matrix34* C);
82
void BrMatrix34Copy(br_matrix34* A, br_matrix34* B);
83
void BrMatrix34PreRotateY(br_matrix34* mat, br_angle ry);
84
void BrMatrix34RotateY(br_matrix34* mat, br_angle ry);
85
void BrMatrix34PostScale(br_matrix34* mat, br_scalar sx, br_scalar sy, br_scalar sz);
86
void BrMatrix34PreScale(br_matrix34* mat, br_scalar sx, br_scalar sy, br_scalar sz);
87
void BrMatrix34PreTransform(br_matrix34* mat, br_transform* xform);
88
void BrMatrix34PostTransform(br_matrix34* mat, br_transform* xform);
89
void BrMatrix34PreRotateX(br_matrix34* mat, br_angle rx);
90
void BrMatrix34TApplyV(br_vector3* A, br_vector3* B, br_matrix34* C);
91
void BrMatrix34LPNormalise(br_matrix34* A, br_matrix34* B);
92
void BrMatrix34PreRotate(br_matrix34* mat, br_angle r, br_vector3* axis);
93
void BrMatrix34Rotate(br_matrix34* mat, br_angle r, br_vector3* a);
94
void BrMatrix34PreTranslate(br_matrix34* mat, br_scalar x, br_scalar y, br_scalar z);
95
void BrMatrix34Post(br_matrix34* mat, br_matrix34* A);
96
void BrMatrix34PostShearX(br_matrix34* mat, br_scalar sy, br_scalar sz);
97
void BrMatrix34PostShearY(br_matrix34* mat, br_scalar sx, br_scalar sz);
98
void BrMatrix34PostShearZ(br_matrix34* mat, br_scalar sx, br_scalar sy);
99
void BrMatrix34PreScale(br_matrix34* mat, br_scalar sx, br_scalar sy, br_scalar sz);
100
void BrMatrix34PreShearX(br_matrix34* mat, br_scalar sy, br_scalar sz);
101
void BrMatrix34PreRotateY(br_matrix34* mat, br_angle ry);
102
void BrMatrix34PreRotateZ(br_matrix34* mat, br_angle rz);
103
void BrMatrix34RollingBall(br_matrix34* mat, int dx, int dy, int radius);
104
 
105
// BrMatrix4
106
void BrMatrix4Copy(br_matrix4* A, br_matrix4* B);
107
br_scalar BrMatrix4Inverse(br_matrix4* A, br_matrix4* B);
108
void BrMatrix4TApply(br_vector4* A, br_vector4* B, br_matrix4* C);
109
void BrMatrix4ApplyP(br_vector4* A, br_vector3* B, br_matrix4* C);
110
void BrMatrix4Perspective(br_matrix4* mat, br_angle field_of_view, br_scalar aspect, br_scalar hither, br_scalar yon);
111
void BrMatrix4Scale(br_matrix4* mat, br_scalar sx, br_scalar sy, br_scalar sz);
112
void BrMatrix4Mul(br_matrix4* A, br_matrix4* B, br_matrix4* C);
113
void BrMatrix4Copy34(br_matrix4* A, br_matrix34* B);
114
 
115
// BrMem
116
void BrMemFree(void* block);
117
void* BrMemAllocate(br_size_t size, br_uint_8 type);
118
void* BrMemCalloc(int nelems, br_size_t size, br_uint_8 type);
119
 
120
// BrModel
121
br_model* BrModelAllocate(char* name, int nvertices, int nfaces);
122
br_model* BrModelAdd(br_model* model);
123
br_uint_32 BrModelAddMany(br_model** items, int n);
124
br_model* BrModelRemove(br_model* model);
125
br_model* BrModelLoad(char* filename);
126
void BrModelFree(br_model* model);
127
void BrModelUpdate(br_model* model, br_uint_16 flags);
128
br_uint_32 BrModelLoadMany(char* filename, br_model** models, br_uint_16 num);
129
br_uint_32 BrModelSaveMany(char* filename, br_model** models, br_uint_16 num);
130
br_model_find_cbfn* BrModelFindHook(br_model_find_cbfn* hook);
131
 
132
// BrPixelmap
133
br_pixelmap* BrPixelmapLoad(char* filename);
134
br_uint_32 BrPixelmapLoadMany(char* filename, br_pixelmap** pixelmaps, br_uint_16 num);
135
br_uint_32 BrPixelmapSave(char* filename, br_pixelmap* ptr);
136
br_uint_32 BrPixelmapSaveMany(char* filename, br_pixelmap** pixelmaps, br_uint_16 num);
137
void BrPixelmapFree(br_pixelmap* src);
138
br_pixelmap* BrPixelmapMatch(br_pixelmap* src, br_uint_8 match_type);
139
br_pixelmap* BrPixelmapAllocateSub(br_pixelmap* src, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h);
140
void BrPixelmapFill(br_pixelmap* dst, br_uint_32 colour);
141
void BrPixelmapRectangleCopy(br_pixelmap* dst, br_int_32 dx, br_int_32 dy, br_pixelmap* src, br_int_32 sx, br_int_32 sy, br_int_32 w, br_int_32 h);
142
void BrPixelmapCopy(br_pixelmap* dst, br_pixelmap* src);
143
void BrPixelmapLine(br_pixelmap* dst, br_int_32 x1, br_int_32 y1, br_int_32 x2, br_int_32 y2, br_uint_32 colour);
144
void BrPixelmapRectangleFill(br_pixelmap* dst, br_int_32 x, br_int_32 y, br_int_32 w, br_int_32 h, br_uint_32 colour);
145
void BrPixelmapPixelSet(br_pixelmap* dst, br_int_32 x, br_int_32 y, br_uint_32 colour);
146
br_pixelmap* BrPixelmapAllocate(br_uint_8 type, br_int_32 w, br_int_32 h, void* pixels, int flags);
147
void BrPixelmapDoubleBuffer(br_pixelmap* dst, br_pixelmap* src);
148
void BrPixelmapText(br_pixelmap* dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font* font, char* text);
149
void BrPixelmapTextF(br_pixelmap* dst, br_int_32 x, br_int_32 y, br_uint_32 colour, br_font* font, char* fmt, ...);
150
br_uint_16 BrPixelmapTextWidth(br_pixelmap* dst, br_font* font, char* text);
151
 
152
// BrRes
153
void* BrResAllocate(void* vparent, br_size_t size, br_uint_8 res_class);
154
br_resource_class* BrResClassAdd(br_resource_class* rclass);
155
void* BrResRemove(void* vres);
156
void BrResFree(void* vres);
157
br_uint_32 BrResCheck(void* vres, int no_tag);
158
br_uint_32 BrResSize(void* vres);
159
char* BrResStrDup(void* vparent, char* str);
160
 
161
// BrTable
162
br_pixelmap* BrTableAdd(br_pixelmap* pixelmap);
163
br_pixelmap* BrTableFind(char* pattern);
164
br_pixelmap* BrTableRemove(br_pixelmap* pixelmap);
165
br_uint_32 BrTableAddMany(br_pixelmap** items, int n);
166
void BrTableUpdate(br_pixelmap* table, br_uint_16 flags);
167
br_uint_32 BrTableEnum(char* pattern, br_table_enum_cbfn* callback, void* arg);
168
br_table_find_cbfn* BrTableFindHook(br_table_find_cbfn* hook);
169
 
170
// BrTransform
171
void BrTransformToMatrix34(br_matrix34* mat, br_transform* xform);
172
 
173
// BrV1db
174
void BrV1dbBeginWrapper_Float(void);
175
 
176
// BrVector3
177
// void BrVector3Cross(br_vector3* v1, br_vector3* v2, br_vector3* v3);
178
void BrVector3SetFloat(br_vector3* v1, float f1, float f2, float f3);
179
// void BrVector3Sub(br_vector3* v1, br_vector3* v2, br_vector3* v3);
180
// void BrVector3Accumulate(br_vector3* v1, br_vector3* v2);
181
// void BrVector3Normalise(br_vector3* v1, br_vector3* v2);
182
 
183
// BrTransform
184
void BrTransformToTransform(br_transform* dest, br_transform* src);
185
 
186
// Logging
187
void BrFailure(const char* s, ...);
188
void BrFatal(const char* name, int line, const char* s, ...);
189
 
190
// Z-buffer
191
void BrZbBegin(br_uint_8 colour_type, br_uint_8 depth_type);
192
 
193
void BrZbSceneRenderBegin(br_actor* world, br_actor* camera, br_pixelmap* colour_buffer, br_pixelmap* depth_buffer);
194
void BrZbSceneRenderAdd(br_actor* tree);
195
void BrZbSceneRenderEnd(void);
196
 
197
void BrZbModelRender(br_actor* actor, br_model* model, br_material* material, br_uint_8 style, int on_screen, int use_custom);
198
 
199
br_pixelmap* DOSGfxBegin(char* setup_string);
200
 
201
// Various
202
br_uint_32 BrOnScreenCheck(br_bounds3* bounds);
203
 
204
int BrWriteModeSet(int mode);
205
br_uint_32 BrSwap32(br_uint_32 l);
206
br_diaghandler* BrDiagHandlerSet(br_diaghandler* newdh);
207
 
208
#endif