diff options
| author | Rebellion Developments <rebellion@nomail> | 2000-03-16 11:25:00 +0100 |
|---|---|---|
| committer | Patryk Obara <dreamer.tan@gmail.com> | 2019-08-19 05:45:17 +0200 |
| commit | 218ca90543758a20ac326e444ca0643174ca7384 (patch) | |
| tree | 16bfe3e5307f9f515489000f28728224291a0e3b /3dc/win95/wpchunk.hpp | |
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.
Diffstat (limited to '3dc/win95/wpchunk.hpp')
| -rw-r--r-- | 3dc/win95/wpchunk.hpp | 107 |
1 files changed, 107 insertions, 0 deletions
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<Object_Chunk*> 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 + + |
