4 * Segment Loading Stuff
19 * reads a segment2 structure from a CFILE
21 void segment2_read(segment2 *s2, CFILE *fp)
23 s2->special = cfile_read_byte(fp);
24 s2->matcen_num = cfile_read_byte(fp);
25 s2->value = cfile_read_byte(fp);
26 s2->s2_flags = cfile_read_byte(fp);
27 s2->static_light = cfile_read_fix(fp);
31 * reads a delta_light structure from a CFILE
33 void delta_light_read(delta_light *dl, CFILE *fp)
35 dl->segnum = cfile_read_short(fp);
36 dl->sidenum = cfile_read_byte(fp);
37 dl->dummy = cfile_read_byte(fp);
38 dl->vert_light[0] = cfile_read_byte(fp);
39 dl->vert_light[1] = cfile_read_byte(fp);
40 dl->vert_light[2] = cfile_read_byte(fp);
41 dl->vert_light[3] = cfile_read_byte(fp);
46 * reads a dl_index structure from a CFILE
48 void dl_index_read(dl_index *di, CFILE *fp)
50 di->segnum = cfile_read_short(fp);
51 di->sidenum = cfile_read_byte(fp);
52 di->count = cfile_read_byte(fp);
53 di->index = cfile_read_short(fp);
57 void segment2_write(segment2 *s2, PHYSFS_file *fp)
59 PHYSFSX_writeU8(fp, s2->special);
60 PHYSFSX_writeU8(fp, s2->matcen_num);
61 PHYSFSX_writeU8(fp, s2->value);
62 PHYSFSX_writeU8(fp, s2->s2_flags);
63 PHYSFSX_writeFix(fp, s2->static_light);
66 void delta_light_write(delta_light *dl, PHYSFS_file *fp)
68 PHYSFS_writeSLE16(fp, dl->segnum);
69 PHYSFSX_writeU8(fp, dl->sidenum);
70 PHYSFSX_writeU8(fp, dl->dummy);
71 PHYSFSX_writeU8(fp, dl->vert_light[0]);
72 PHYSFSX_writeU8(fp, dl->vert_light[1]);
73 PHYSFSX_writeU8(fp, dl->vert_light[2]);
74 PHYSFSX_writeU8(fp, dl->vert_light[3]);
77 void dl_index_write(dl_index *di, PHYSFS_file *fp)
79 PHYSFS_writeSLE16(fp, di->segnum);
80 PHYSFSX_writeU8(fp, di->sidenum);
81 PHYSFSX_writeU8(fp, di->count);
82 PHYSFS_writeSLE16(fp, di->index);