1 /* $Id: gamemine.h,v 1.8 2004-08-28 23:17:45 schaffner Exp $ */
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
17 * Header for gamemine.c
25 #define MINE_VERSION 20 // Current version expected
26 #define COMPATIBLE_VERSION 16 // Oldest version that can safely be loaded.
30 ushort fileinfo_signature;
31 ushort fileinfo_version;
33 }; // Should be same as first two fields below...
36 ushort fileinfo_signature;
37 ushort fileinfo_version;
39 int header_offset; // Stuff common to game & editor
41 int editor_offset; // Editor specific stuff
46 int newseg_verts_offset;
47 int newseg_verts_howmany;
48 int newseg_verts_sizeof;
67 int object_offset; // Object info
70 int unused_offset; // was: doors_offset
71 int unused_howmamy; // was: doors_howmany
72 int unused_sizeof; // was: doors_sizeof
73 short level_shake_frequency, level_shake_duration;
74 // Shakes every level_shake_frequency seconds
75 // for level_shake_duration seconds (on average, random). In 16ths second.
76 int secret_return_segment;
77 vms_matrix secret_return_orient;
79 int dl_indices_offset;
80 int dl_indices_howmany;
81 int dl_indices_sizeof;
83 int delta_light_offset;
84 int delta_light_howmany;
85 int delta_light_sizeof;
100 int newsegment_offset;
112 extern struct mtfi mine_top_fileinfo; // Should be same as first two fields below...
113 extern struct mfi mine_fileinfo;
114 extern struct mh mine_header;
115 extern struct me mine_editor;
117 // returns 1 if error, else 0
118 int game_load_mine(char * filename);
120 // loads from an already-open file
121 // returns 0=everything ok, 1=old version, -1=error
122 int load_mine_data(CFILE *LoadFile);
123 int load_mine_data_compiled(CFILE *LoadFile);
125 extern short tmap_xlate_table[];
126 extern fix Level_shake_frequency, Level_shake_duration;
127 extern int Secret_return_segment;
128 extern vms_matrix Secret_return_orient;
130 /* stuff for loading descent.pig of descent 1 */
131 extern short convert_d1_tmap_num(short d1_tmap_num);
132 extern int d1_tmap_num_unique(short d1_tmap_num); //is d1_tmap_num's texture only in d1?
134 #endif /* _GAMEMINE_H */