4 * Segment Loading Stuff
18 * reads a segment2 structure from a CFILE
20 void segment2_read(segment2 *s2, CFILE *fp)
22 s2->special = cfile_read_byte(fp);
23 s2->matcen_num = cfile_read_byte(fp);
24 s2->value = cfile_read_byte(fp);
25 s2->s2_flags = cfile_read_byte(fp);
26 s2->static_light = cfile_read_fix(fp);
30 * reads a delta_light structure from a CFILE
32 void delta_light_read(delta_light *dl, CFILE *fp)
34 dl->segnum = cfile_read_short(fp);
35 dl->sidenum = cfile_read_byte(fp);
36 dl->dummy = cfile_read_byte(fp);
37 dl->vert_light[0] = cfile_read_byte(fp);
38 dl->vert_light[1] = cfile_read_byte(fp);
39 dl->vert_light[2] = cfile_read_byte(fp);
40 dl->vert_light[3] = cfile_read_byte(fp);
45 * reads a dl_index structure from a CFILE
47 void dl_index_read(dl_index *di, CFILE *fp)
49 di->segnum = cfile_read_short(fp);
50 di->sidenum = cfile_read_byte(fp);
51 di->count = cfile_read_byte(fp);
52 di->index = cfile_read_short(fp);
56 void segment2_write(segment2 *s2, PHYSFS_file *fp)
58 PHYSFSX_writeU8(fp, s2->special);
59 PHYSFSX_writeU8(fp, s2->matcen_num);
60 PHYSFSX_writeU8(fp, s2->value);
61 PHYSFSX_writeU8(fp, s2->s2_flags);
62 PHYSFSX_writeFix(fp, s2->static_light);
65 void delta_light_write(delta_light *dl, PHYSFS_file *fp)
67 PHYSFS_writeSLE16(fp, dl->segnum);
68 PHYSFSX_writeU8(fp, dl->sidenum);
69 PHYSFSX_writeU8(fp, dl->dummy);
70 PHYSFSX_writeU8(fp, dl->vert_light[0]);
71 PHYSFSX_writeU8(fp, dl->vert_light[1]);
72 PHYSFSX_writeU8(fp, dl->vert_light[2]);
73 PHYSFSX_writeU8(fp, dl->vert_light[3]);
76 void dl_index_write(dl_index *di, PHYSFS_file *fp)
78 PHYSFS_writeSLE16(fp, di->segnum);
79 PHYSFSX_writeU8(fp, di->sidenum);
80 PHYSFSX_writeU8(fp, di->count);
81 PHYSFS_writeSLE16(fp, di->index);