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/CHNKLOAD.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/CHNKLOAD.HPP')
| -rw-r--r-- | 3dc/win95/CHNKLOAD.HPP | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/3dc/win95/CHNKLOAD.HPP b/3dc/win95/CHNKLOAD.HPP new file mode 100644 index 0000000..19325dc --- /dev/null +++ b/3dc/win95/CHNKLOAD.HPP @@ -0,0 +1,106 @@ +#ifndef _chnkload_hpp +#define _chnkload_hpp 1 + +#include "chnkload.h" + +#ifdef __cplusplus + +#include "chunk.hpp" +#include "shpchunk.hpp" +#include "obchunk.hpp" +#include "bmpnames.hpp" +#include "projload.hpp" + +#if 0 +extern BOOL copy_to_mainshpl (Shape_Chunk *shape, int list_pos); +extern BOOL copy_to_mainshpl (Shape_Sub_Shape_Chunk *shape, int list_pos); +#endif + +extern void copy_to_module (Object_Chunk * ob, int mod_pos, int shplst_pos); + +extern BOOL copy_to_shapeheader ( + RIFFHANDLE, + ChunkShape const & cshp, + SHAPEHEADER *& shphd, + Chunk_With_Children * shape, + int flags, + int local_max_index, + int * local_tex_index_nos, + int listpos = GLS_NOTINLIST, + const ChunkObject* object=0 //object used so that conversion from float to int can be done in world coordinates + ); +extern BOOL copy_preprocessed_to_shapeheader ( + RIFFHANDLE, + Shape_Preprocessed_Data_Chunk*, + SHAPEHEADER *& shphd, + Chunk_With_Children * shape, + int flags, + int local_max_index, + int * local_tex_index_nos, + int listpos = GLS_NOTINLIST, + const ChunkObject* object=0 //object used so that conversion from float to int can be done in world coordinates + ); + +extern BOOL copy_sprite_to_shapeheader (RIFFHANDLE, SHAPEHEADER *& shphd,Sprite_Header_Chunk* shc, int listpos = GLS_NOTINLIST); + + +extern BOOL copy_to_map6(Object_Chunk *,MAPBLOCK6*, int shplst_pos); + +extern void merge_polygons_in_chunkshape (ChunkShape & shp, Shape_Merge_Data_Chunk * smdc); + +extern File_Chunk * Env_Chunk; + +extern double local_scale; + +// copies shape to msl +#if SupportMorphing && LOAD_MORPH_SHAPES +typedef struct +{ + int start_list_pos; + int main_list_pos; + MORPHCTRL * mc; + +} CTM_ReturnType; +#else +typedef int CTM_ReturnType; +#endif + +CTM_ReturnType copy_to_mainshapelist(RIFFHANDLE, Shape_Chunk *, int flags,const ChunkObject* object=0); +#define CopyToMainshapelist(h,r,p,f) copy_to_mainshapelist(h,r,p,f) + +// copies sprite to msl +int copy_sprite_to_mainshapelist(RIFFHANDLE, Sprite_Header_Chunk *, int flags); +#define CopySpriteToMainshapelist(h,p,f) copy_sprite_to_mainshapelist(h,p,f) + +// hook to load a bitmap - so you can load them from test directories, etc. should return tex index +extern int load_rif_bitmap (char const * fname, BMPN_Flags flags); +#define LoadRIFBitmap(s,f) load_rif_bitmap(s,f) + +// project specific shape pre processing - usually merge polys +extern void pre_process_shape (RIFFHANDLE, ChunkShape &, Chunk_With_Children * shape_chunk, int flags); +#define PreProcessShape(h,r,p,f) pre_process_shape(h,r,p,f) + + +struct _RifHandle : Project_RifHandle +{ + File_Chunk * fc; + Environment_Data_Chunk * envd; + Chunk_With_Children * palparent; + List<int> shape_nums; + int max_index; + int * tex_index_nos; + + ~_RifHandle() + {} + _RifHandle() + : fc(0) + , envd(0) + , max_index(0) + , tex_index_nos(0) + , palparent(0) + {} +}; + +#endif + +#endif |
