From 218ca90543758a20ac326e444ca0643174ca7384 Mon Sep 17 00:00:00 2001 From: Rebellion Developments Date: Thu, 16 Mar 2000 11:25:00 +0100 Subject: Import Aliens vs Predator - Gold (Build 116) Source code release, imported from: https://www.gamefront.com/games/aliens-vs-predator-3/file/avp-gold-complete-source-code All text files were converted to Unix format. --- 3dc/win95/wpchunk.hpp | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 3dc/win95/wpchunk.hpp (limited to '3dc/win95/wpchunk.hpp') diff --git a/3dc/win95/wpchunk.hpp b/3dc/win95/wpchunk.hpp new file mode 100644 index 0000000..dbd34c4 --- /dev/null +++ b/3dc/win95/wpchunk.hpp @@ -0,0 +1,107 @@ +#ifndef wpchunk_hpp +#define wpchunk_hpp 1 + +#include "chunk.hpp" +#include "chnktype.hpp" +#include "obchunk.hpp" + +struct WaypointLink +{ + int index; + int flags; +}; + +struct ModuleLink +{ + ~ModuleLink(); + + char* module_name; + int flags; +}; + +#define WaypointFlag_CentreDefinedByUser 0x80000000 +#define WaypointFlag_FirstGroundWaypoint 0x40000000 +struct ChunkWaypoint +{ + ChunkWaypoint(); + ~ChunkWaypoint(); + + int index; + ChunkVectorInt min,max; //relative to centre + ChunkVectorInt centre; //relative to world + + int NumWPLinks; + WaypointLink* WayLinks; + + int NumModLinks; + ModuleLink* ModLinks; + + int flags,spare2; + +}; + +class Module_Waypoint_Chunk : public Chunk +{ + public : + Module_Waypoint_Chunk(Chunk_With_Children*,const char *,size_t); + Module_Waypoint_Chunk(Chunk_With_Children*); + ~Module_Waypoint_Chunk(); + + virtual size_t size_chunk(); + virtual void fill_data_block(char* data_start); + + //Copies waypoint data and deletes the old waypoint_chunk + void TransferWaypointData(Module_Waypoint_Chunk*); + + int NumWaypoints; + ChunkWaypoint* Waypoints; + + ChunkWaypoint* AlienWaypoints; + ChunkWaypoint* GroundWaypoints; + + short NumAlienWaypoints; + short NumGroundWaypoints; + + int spare1; + int spare2; +}; + +class AI_Module_Master_Chunk : public Chunk +{ + public : + AI_Module_Master_Chunk(Chunk_With_Children*,const char*,size_t); + AI_Module_Master_Chunk(Object_Module_Data_Chunk*); + + virtual size_t size_chunk(); + virtual void fill_data_block(char* data_start); + + void AddModule(Object_Chunk*); + Object_Chunk* get_my_object_chunk(); + + List ModuleList; +}; + +class AI_Module_Slave_Chunk : public Chunk +{ + public : + AI_Module_Slave_Chunk(Chunk_With_Children*,const char*,size_t); + AI_Module_Slave_Chunk(Object_Module_Data_Chunk*,Object_Chunk*); + ~AI_Module_Slave_Chunk(); + + virtual size_t size_chunk(); + virtual void fill_data_block(char* data_start); + virtual void post_input_processing(); + + Object_Chunk* get_my_object_chunk(); + + Object_Chunk* MasterModule; + #if UseOldChunkLoader + char* MasterModuleName; + #endif + int MasterModuleIndex; +}; + + +#endif + + -- cgit v1.3