@@ -63,18 +63,18 @@ typedef struct dlevinfo_t
6363//------------------------------------------------------------------------------------------------------------
6464
6565struct OUT_CELL_FILE_HEADER {
66- int cells_across ; // size=0, offset=0
67- int cells_down ; // size=0, offset=4
68- int cell_size ; // size=0, offset=8
66+ int cells_across ;
67+ int cells_down ;
68+ int cell_size ;
6969
70- int num_regions ; // size=0, offset=12
71- int region_size ; // size=0, offset=16
70+ int num_regions ;
71+ int region_size ;
7272
73- int num_cell_objects ; // size=0, offset=20
74- int num_cell_data ; // size=0, offset=24
73+ int num_cell_objects ;
74+ int num_cell_data ;
7575
76- int ambient_light_level ; // size=0, offset=28
77- struct VECTOR_NOPAD light_source ; // size=12, offset=32
76+ int ambient_light_level ;
77+ VECTOR_NOPAD light_source ;
7878};
7979
8080//------------------------------------------------------------------------------------------------------------
@@ -192,6 +192,7 @@ struct POLYGT4
192192 CVECTOR color ;
193193};
194194
195+ #if 0
195196enum ModelFlags1 // collision flags?
196197{
197198 everything = 1 ,
@@ -231,6 +232,31 @@ enum ModelFlags2 // effect flags?
231232 dontKnow15 = 16384 , // ??? again: many sidewalks, some grass
232233 sidewalk = 32768
233234};
235+ #else
236+ enum ModelShapeFlags
237+ {
238+ SHAPE_FLAG_SMASH_QUIET = 0x8 ,
239+ SHAPE_FLAG_NOCOLLIDE = 0x10 ,
240+ SHAPE_FLAG_SUBSURFACE = 0x80 , // grass, dirt, water
241+ SHAPE_FLAG_ALLEYWAY = 0x400 , // alleyway
242+ SHAPE_FLAG_SMASH_SPRITE = 0x4000 ,
243+ };
244+
245+ enum ModelFlags2
246+ {
247+ MODEL_FLAG_ANIMOBJ = 0x1 ,
248+ MODEL_FLAG_MEDIAN = 0x20 ,
249+ MODEL_FLAG_ALLEY = 0x80 ,
250+ MODEL_FLAG_HASROOF = 0x100 ,
251+ MODEL_FLAG_NOCOL_200 = 0x200 ,
252+ MODEL_FLAG_BARRIER = 0x400 ,
253+ MODEL_FLAG_SMASHABLE = 0x800 ,
254+ MODEL_FLAG_LAMP = 0x1000 ,
255+ MODEL_FLAG_TREE = 0x2000 ,
256+ MODEL_FLAG_GRASS = 0x4000 ,
257+ MODEL_FLAG_SIDEWALK = 0x8000 ,
258+ };
259+ #endif
234260
235261struct MODEL
236262{
@@ -259,6 +285,11 @@ struct MODEL
259285 }
260286
261287 SVECTOR * pNormal (int i ) const
288+ {
289+ return (SVECTOR * )(((ubyte * )this ) + normals ) + i ;
290+ }
291+
292+ SVECTOR * pPointNormal (int i ) const
262293 {
263294 return (SVECTOR * )(((ubyte * )this ) + point_normals ) + i ;
264295 }
@@ -332,4 +363,19 @@ struct Spool {
332363
333364#define REGION_EMPTY (0xFFFF)
334365
366+ struct PALLET_INFO
367+ {
368+ int palette ;
369+ int texnum ;
370+ int tpage ;
371+ int clut_number ;
372+ };
373+
374+ struct PALLET_INFO_D1
375+ {
376+ int palette ;
377+ int texnum ;
378+ int tpage ;
379+ };
380+
335381#endif
0 commit comments