summaryrefslogtreecommitdiff
path: root/3dc/win95/OBCHUNK.HPP
diff options
context:
space:
mode:
Diffstat (limited to '3dc/win95/OBCHUNK.HPP')
-rw-r--r--3dc/win95/OBCHUNK.HPP503
1 files changed, 0 insertions, 503 deletions
diff --git a/3dc/win95/OBCHUNK.HPP b/3dc/win95/OBCHUNK.HPP
deleted file mode 100644
index b4780b3..0000000
--- a/3dc/win95/OBCHUNK.HPP
+++ /dev/null
@@ -1,503 +0,0 @@
-#ifndef _obchunk_hpp
-#define _obchunk_hpp 1
-
-#include "chunk.hpp"
-
-#include "chnktype.hpp"
-#include "mishchnk.hpp"
-
-
-// object flags
-
-#define OBJECT_FLAG_BASE_OBJECT 0x0000100
-#define OBJECT_FLAG_MODULE_OBJECT 0x0000200
-#define OBJECT_FLAG_PLACED_OBJECT 0x0000400
-
-// Note these flags have to correspond with the ones used by ed_ob_type
-// and AVP generator flags
-
-#define OBJECT_FLAG_AVPGAMEMODEMARINE 0x00000800
-#define OBJECT_FLAG_AVPGAMEMODEALIEN 0x00001000
-#define OBJECT_FLAG_AVPGAMEMODEPREDATOR 0x00002000
-
-#define OBJECT_FLAG_PLATFORMLOADSET 0x00004000
-#define OBJECT_FLAG_PCLOAD 0x00008000
-#define OBJECT_FLAG_PSXLOAD 0x00010000
-#define OBJECT_FLAG_SATURNLOAD 0x00020000
-
-#define OBJECT_FLAG_NOTDIFFICULTY1 0x00100000
-#define OBJECT_FLAG_NOTDIFFICULTY2 0x00200000
-#define OBJECT_FLAG_NOTDIFFICULTY3 0x00400000
-
-
-class Shape_Chunk;
-class Shape_Header_Chunk;
-class Object_Header_Chunk;
-
-// flags structure
-
-struct object_flags
-{
- unsigned int locked : 1;
-// add more flags here as they are needed
-};
-
-
-class VModule_Array_Chunk;
-
-class Object_Chunk : public Lockable_Chunk_With_Children
-{
-public:
-
- // constructor from buffer
- Object_Chunk (Chunk_With_Children * parent,const char *, size_t);
-
- // constructor from data
-
- Object_Chunk (Chunk_With_Children * parent, ChunkObject &obj);
-
- // destructor
- virtual ~Object_Chunk();
-
- const ChunkObject object_data;
-
- Shape_Chunk * get_assoc_shape();
-
- BOOL assoc_with_shape (Shape_Chunk *);
-
- BOOL deassoc_with_shape (Shape_Chunk *);
-
- Object_Header_Chunk * get_header();
-
- BOOL inc_v_no();
-
- BOOL same_and_updated(Object_Chunk &);
-
- BOOL assoc_with_shape_no(File_Chunk *);
-
- void update_my_chunkobject (ChunkObject &);
-
- // functions for the locking functionality
-
- BOOL file_equals (HANDLE &);
- const char * get_head_id();
- void set_lock_user(char *);
-
- virtual void post_input_processing();
-
- VModule_Array_Chunk * get_vmod_chunk();
-
- // destroy object needs to go through all the other
- // objects and delete itself from the VMAC
-
- void destroy(File_Chunk *);
-
- ObjectID CalculateID();
-
- //program_object_index can be set by the program using the chunks , so you can find where
- //the object has been put.
- //I need it so that I can find out which module each object has been put into.
- int program_object_index;
-
-private:
-
- friend class File_Chunk;
- friend class Object_Header_Chunk;
-
- ChunkObject * object_data_store;
-
-};
-
-///////////////////////////////////////////////
-
-class Object_Header_Chunk : public Chunk
-{
-public:
- // constructor from buffer
- Object_Header_Chunk (Chunk_With_Children * parent, const char * pdata, size_t psize);
- virtual size_t size_chunk ();
-
- virtual BOOL output_chunk (HANDLE &);
-
- virtual void fill_data_block (char * data_start);
-
- const ChunkObject * const object_data;
-
- virtual void prepare_for_output();
-
- const char * get_lockuser()
- {
- return lock_user;
- }
-
- int flags;
-
-private:
-
- friend class Object_Chunk;
- friend class Shape_Header_Chunk;
- friend class RIF_File_Chunk;
- friend class File_Chunk;
-
- friend class Environment;
-
- char lock_user[17];
- int version_no;
-
- int shape_id_no;
-
- Shape_Chunk * associated_shape;
-
-
-
- // constructor from data
- Object_Header_Chunk (Object_Chunk * parent);
-
-};
-
-
-///////////////////////////////////////////////
-
-
-// automatically constructed when Object_Chunks are constructed from
-// data
-
-class Object_Interface_Data_Chunk : public Chunk_With_Children
-{
-public:
- // constructor from buffer
- Object_Interface_Data_Chunk (Chunk_With_Children * parent,const char *, size_t);
-private:
-
- friend class Object_Chunk;
-
-
-
- // constructor from Object_Chunks
- Object_Interface_Data_Chunk (Object_Chunk * parent);
-
-};
-
-///////////////////////////////////////////////
-
-class Object_Notes_Chunk : public Chunk
-{
-public:
-
- Object_Notes_Chunk (Chunk_With_Children * parent,
- const char * _data, size_t _data_size);
-
-
- virtual ~Object_Notes_Chunk ();
-
- virtual size_t size_chunk ()
- {
- chunk_size = (data_size + 12);
- chunk_size += (4-chunk_size%4)%4;
- return chunk_size;
- }
-
- virtual BOOL output_chunk (HANDLE &);
-
- virtual void fill_data_block (char * data_start);
-
- const size_t data_size;
- const char * const data;
-
-private:
-
- char * data_store;
-
-};
-
-///////////////////////////////////////////////
-
-class Object_Module_Data_Chunk : public Chunk_With_Children
-{
-public:
-
- // constructor from Object_Chunks
- Object_Module_Data_Chunk (Object_Chunk * parent)
- : Chunk_With_Children (parent, "MODULEDT")
- {}
- // constructor from buffer
- Object_Module_Data_Chunk (Chunk_With_Children * parent,const char *, size_t);
-
-private:
-
- friend class Object_Chunk;
- friend class AI_Module_Master_Chunk;
- friend class AI_Module_Slave_Chunk;
- // constructor from buffer
- Object_Module_Data_Chunk (Object_Chunk * parent,const char *, size_t);
-
-};
-
-///////////////////////////////////////////////
-
-class VModule_Array_Chunk : public Chunk
-{
-public:
-
- VModule_Array_Chunk (Object_Module_Data_Chunk * parent, VMod_Arr_Item * vma, int num_in_vma);
- VModule_Array_Chunk (Chunk_With_Children* parent, const char * vmdata, size_t vmsize);
- ~VModule_Array_Chunk ();
-
- int num_array_items;
-
- VMod_Arr_Item * vmod_array;
-
- virtual void fill_data_block (char *);
- virtual size_t size_chunk ();
-
-private:
-
- friend class Object_Module_Data_Chunk;
-
-
-};
-
-
-///////////////////////////////////////////////
-
-#if 0
-class Adjacent_Modules_Chunk : public Chunk
-{
-public:
-
- Adjacent_Modules_Chunk(Object_Module_Data_Chunk * parent, List<Adjacent_Module> aml)
- : Chunk (parent, "ADJMDLST"), adjacent_modules_list (aml)
- {}
-
- List<Adjacent_Module> adjacent_modules_list;
-
- virtual void fill_data_block (char *);
- virtual size_t size_chunk ();
-
-
-private:
-
- friend class Object_Module_Data_Chunk;
-
- Adjacent_Modules_Chunk(Object_Module_Data_Chunk * parent, const char * data, size_t size);
-
-};
-#endif
-
-//a replacement for adjacent_modules_chunk
-#define AdjacentModuleFlag_EntryPointSetByHand 0x00000001
-#define AdjacentModuleFlag_InsideAdjacentModule 0x00000002
-#define AdjacentModuleFlag_AdjacentModuleInsideMe 0x00000004
-#define AdjacentModuleFlag_Vertical 0x00000008
-
-class Adjacent_Module_Entry_Points_Chunk : public Chunk
-{
-public:
-
- Adjacent_Module_Entry_Points_Chunk(Object_Module_Data_Chunk * parent, List<Adjacent_Module> aml)
- : Chunk (parent, "ADJMDLEP"), adjacent_modules_list (aml)
- {}
- Adjacent_Module_Entry_Points_Chunk(Chunk_With_Children * parent, const char * data, size_t size);
- List<Adjacent_Module> adjacent_modules_list;
-
- virtual void fill_data_block (char *);
- virtual size_t size_chunk ();
-
-
-private:
-
- friend class Object_Module_Data_Chunk;
-
-
-
-};
-
-
-///////////////////////////////////////////////
-
-class Module_Flag_Chunk : public Chunk
-{
-public:
- Module_Flag_Chunk(Object_Module_Data_Chunk * parent);
- Module_Flag_Chunk(Chunk_With_Children* parent, const char * data, size_t );
-
- virtual void fill_data_block(char*);
- virtual size_t size_chunk()
- {return chunk_size=20;}
-
- int Flags;
- int spare;
-private:
- friend class Object_Module_Data_Chunk;
-
-
-
-};
-///////////////////////////////////////////////
-
-class Module_Zone_Chunk : public Chunk
-{
-public:
- Module_Zone_Chunk(Object_Module_Data_Chunk * parent);
- Module_Zone_Chunk(Chunk_With_Children* parent, const char * data, size_t );
-
- virtual void fill_data_block(char*);
- virtual size_t size_chunk()
- {return chunk_size=20;}
-
- int Zone;
- int spare;
-private:
- friend class Object_Module_Data_Chunk;
-};
-
-
-///////////////////////////////////////////////
-class Module_Acoustics_Chunk : public Chunk
-{
-public:
- Module_Acoustics_Chunk(Object_Module_Data_Chunk * parent);
- Module_Acoustics_Chunk(Chunk_With_Children* parent, const char * data, size_t );
-
- virtual void fill_data_block(char*);
- virtual size_t size_chunk()
- {return chunk_size=24;}
-
- int env_index;
- float reverb;
- int spare;
-private:
- friend class Object_Module_Data_Chunk;
-
-
-
-};
-///////////////////////////////////////////////
-
-class Object_Project_Data_Chunk : public Chunk_With_Children
-{
-public:
-
- // constructor from Object_Chunks
- Object_Project_Data_Chunk (Object_Chunk * parent)
- : Chunk_With_Children (parent, "OBJPRJDT")
- {}
- // constructor from buffer
- Object_Project_Data_Chunk (Chunk_With_Children * const parent,const char *,const size_t);
-private:
-
- friend class Object_Chunk;
-
-
-
-};
-
-
-
-///////////////////////////////////////////////
-
-
-
-struct ChunkTrackSection
-{
-
- ChunkQuat quat_start;
- ChunkQuat quat_end;
-
- ChunkVectorInt pivot_start;
- ChunkVectorInt pivot_end;
-
- ChunkVectorInt object_offset;
-
- int time_for_section;
-
- int spare;
-
-
-};
-
-#define TrackFlag_Loop 0x00000001
-#define TrackFlag_PlayingAtStart 0x00000002
-#define TrackFlag_LoopBackAndForth 0x00000004
-#define TrackFlag_UseTrackSmoothing 0x00000008
-#define TrackFlag_QuatProblemSorted 0x80000000
-
-class Object_Track_Chunk2 : public Chunk
-{
-public:
-
- Object_Track_Chunk2 (Object_Chunk * parent);
- Object_Track_Chunk2 (Chunk_With_Children * parent,const char *, size_t);
-
- ~Object_Track_Chunk2();
-
- int num_sections;
- ChunkTrackSection * sections;
-
- int flags;
- int timer_start;
-
- virtual void fill_data_block (char *);
- virtual size_t size_chunk ();
-
-private:
-
- friend class Object_Chunk;
-
-
-};
-
-#define TrackSoundFlag_Loop 0x00000001
-class Object_Track_Sound_Chunk : public Chunk
-{
- public :
-
- Object_Track_Sound_Chunk(Chunk_With_Children* parent);
- Object_Track_Sound_Chunk (Chunk_With_Children * const parent,const char *, size_t const);
- ~Object_Track_Sound_Chunk();
-
- size_t size_chunk ();
- void fill_data_block (char * data_start);
-
- char* wav_name;
- unsigned long inner_range;
- unsigned long outer_range;
- int max_volume;
- int pitch;
- int flags;
- int index;
-
-};
-
-///////////////////////////////////////////////
-
-
-struct AltObjectLocation
-{
- ChunkVectorInt position;
- ChunkQuat orientation;
- int spare1,spare2;
-};
-
-
-//chunk for storing list of possible alternate locations for an object
-//use for placed objects and generators and possibly sounds
-class Object_Alternate_Locations_Chunk : public Chunk
-{
-public :
- Object_Alternate_Locations_Chunk(Chunk_With_Children* parent,const char* data, size_t);
- Object_Alternate_Locations_Chunk(Chunk_With_Children* parent);
- ~Object_Alternate_Locations_Chunk();
-
- void fill_data_block(char* data);
- size_t size_chunk();
-
- int num_locations;
- AltObjectLocation* locations;
-
- int group; //objects with the same group (other than 0) share the same die roll
-
- int spare2;
-};
-
-#endif \ No newline at end of file