123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- /*
- THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
- SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
- END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
- ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
- IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
- SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
- FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
- CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
- AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
- COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
- */
- /*
- * $Source: f:/miner/source/main/rcs/gamemine.h $
- * $Revision: 2.0 $
- * $Author: john $
- * $Date: 1995/02/27 11:28:50 $
- *
- * Header for gamemine.c
- *
- * $Log: gamemine.h $
- * Revision 2.0 1995/02/27 11:28:50 john
- * New version 2.0, which has no anonymous unions, builds with
- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
- *
- * Revision 1.15 1994/11/17 11:39:34 matt
- * Ripped out code to load old mines
- *
- * Revision 1.14 1994/10/19 16:46:40 matt
- * Made tmap overrides for robots remap texture numbers
- *
- * Revision 1.13 1994/09/23 22:14:37 matt
- * Took out obsolete structure fields
- *
- * Revision 1.12 1994/07/22 12:36:32 matt
- * Cleaned up editor/game interactions some more.
- *
- * Revision 1.11 1994/06/01 11:21:37 yuan
- * Added controlcentertriggers to the gamesave.
- *
- * Revision 1.10 1994/05/10 12:14:26 yuan
- * Game save/load... Demo levels 1-5 added...
- * High scores fixed...
- *
- * Revision 1.9 1994/05/04 18:25:05 yuan
- * Working on gamesave.
- *
- * Revision 1.8 1994/05/03 15:53:27 yuan
- * Readded structure field groups for backward compatibility...
- *
- * Revision 1.7 1994/05/03 11:36:26 yuan
- * Stabilizing gamesave stuff.
- *
- * Revision 1.6 1994/04/28 11:01:32 yuan
- * Added objects in structure.
- *
- * Revision 1.5 1994/04/06 18:30:03 john
- * Added Refueling segments.
- *
- * Revision 1.4 1994/03/17 18:06:53 yuan
- * Removed switch code... Now we just have Walls, Triggers, and Links...
- *
- * Revision 1.3 1994/03/01 18:12:24 yuan
- * Wallswitches, triggers, and more!
- *
- * Revision 1.2 1994/02/10 15:36:01 matt
- * Various changes to make editor compile out.
- *
- * Revision 1.1 1994/02/09 17:11:45 matt
- * Initial revision
- *
- *
- */
- #ifndef _GAMEMINE_H
- #define _GAMEMINE_H
- #define MINE_VERSION 17 // Current version expected
- #define COMPATIBLE_VERSION 16 // Oldest version that can safely be loaded.
- struct mtfi {
- ushort fileinfo_signature;
- ushort fileinfo_version;
- int fileinfo_sizeof;
- }; // Should be same as first two fields below...
- struct mfi {
- ushort fileinfo_signature;
- ushort fileinfo_version;
- int fileinfo_sizeof;
- int header_offset; // Stuff common to game & editor
- int header_size;
- int editor_offset; // Editor specific stuff
- int editor_size;
- int segment_offset;
- int segment_howmany;
- int segment_sizeof;
- int newseg_verts_offset;
- int newseg_verts_howmany;
- int newseg_verts_sizeof;
- int group_offset;
- int group_howmany;
- int group_sizeof;
- int vertex_offset;
- int vertex_howmany;
- int vertex_sizeof;
- int texture_offset;
- int texture_howmany;
- int texture_sizeof;
- int walls_offset;
- int walls_howmany;
- int walls_sizeof;
- int triggers_offset;
- int triggers_howmany;
- int triggers_sizeof;
- int links_offset;
- int links_howmany;
- int links_sizeof;
- int object_offset; // Object info
- int object_howmany;
- int object_sizeof;
- int unused_offset; //was: doors_offset
- int unused_howmamy; //was: doors_howmany
- int unused_sizeof; //was: doors_sizeof
- };
- struct mh {
- int num_vertices;
- int num_segments;
- };
- struct me {
- int current_seg;
- int newsegment_offset;
- int newsegment_size;
- int Curside;
- int Markedsegp;
- int Markedside;
- int Groupsegp[10];
- int Groupside[10];
- int num_groups;
- int current_group;
- // int num_objects;
- };
- extern struct mtfi mine_top_fileinfo; // Should be same as first two fields below...
- extern struct mfi mine_fileinfo;
- extern struct mh mine_header;
- extern struct me mine_editor;
- // returns 1 if error, else 0
- int game_load_mine(char * filename);
- extern short tmap_xlate_table[];
- #endif
|