From 2186d5f3f95cd74a070a490d899291648d58667a Mon Sep 17 00:00:00 2001 From: Steven Fuller Date: Sun, 1 Jul 2001 00:55:22 +0000 Subject: Initial revision --- 3dc/win95/CHNKLOAD.H | 233 --------------------------------------------------- 1 file changed, 233 deletions(-) delete mode 100644 3dc/win95/CHNKLOAD.H (limited to '3dc/win95/CHNKLOAD.H') diff --git a/3dc/win95/CHNKLOAD.H b/3dc/win95/CHNKLOAD.H deleted file mode 100644 index 55fd754..0000000 --- a/3dc/win95/CHNKLOAD.H +++ /dev/null @@ -1,233 +0,0 @@ -#ifndef _chnkload_h_ -#define _chnkload_h_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "system.h" -#include "equates.h" -#include "platform.h" -#include "shape.h" -#include "prototyp.h" -#include "module.h" - -extern SCREENDESCRIPTORBLOCK ScreenDescriptorBlock; - -#define GLS_NOTINLIST (-1) - -/////////////////// -// RIF Loading, etc -/////////////////// - -typedef struct _RifHandle * RIFFHANDLE; -#define INVALID_RIFFHANDLE 0 - -// flags - project specific ones start at lsb -// - generic ones to start from msb - -#define CCF_NOMORPH 0x80000000 - -typedef enum UVCoordType -{ - UVC_SPRITE_U, - UVC_SPRITE_V, - UVC_POLY_U, - UVC_POLY_V, - -} UVCOORDTYPE; - -// Note: for aesthetic reasons, macros enable one to have all one's fuctions in lower case or captialized, to suit one's style! - -// For clarity, functions which are to be defined in project specific files -// are here declared with extern - -///////////////////////////////////////// -// Functions which operate on RIFFHANDLEs -///////////////////////////////////////// - -// load a rif file into memory -RIFFHANDLE load_rif (const char * fname); -RIFFHANDLE load_rif_non_env (const char * fname); -#define LoadRIF(s) load_rif(s) - -// deallocate the shapes, unload the rif, close the handle -void undo_rif_load (RIFFHANDLE); -#define UndoRIFLoad(h) undo_rif_load(h) - -// deallocate the shapes copied from the rif -void deallocate_loaded_shapes (RIFFHANDLE); -#define DeallocateLoadedShapes(h) deallocate_loaded_shapes(h) - -// unloads the rif but keeps the handle and associated copied shapes -void unload_rif (RIFFHANDLE); -#define UnloadRIF(h) unload_rif(h); - -// close the handle - performs tidying up and memory deallocation -void close_rif_handle (RIFFHANDLE); -#define CloseRIFHandle(h) close_rif_handle(h) - -// load textures for environment -BOOL load_rif_bitmaps (RIFFHANDLE, int flags); -#define LoadRIFBitmaps(h,f) load_rif_bitmaps(h,f) - -// set the quantization event depending on CL_RIFFImage::game_mode -BOOL set_quantization_event(RIFFHANDLE, int flags); -#define SetQuantizationEvent(h,f) set_quantization_event(h,f) - -// copy palette -BOOL copy_rif_palette (RIFFHANDLE, int flags); -#define CopyRIFPalette(h,f) copy_rif_palette(h,f) - -// copy texture lighting table -BOOL copy_rif_tlt (RIFFHANDLE, int flags); -#define CopyRIFTLT(h,f) copy_rif_tlt(h,f) - -// copy palette remap table (15-bit) - post_process_shape may use it -BOOL get_rif_palette_remap_table (RIFFHANDLE, int flags); -#define GetRIFPaletteRemapTable(h,f) get_rif_palette_remap_table(h,f) - -// copy one named shape or sprite; does not put in main shape list, needs deallocating -SHAPEHEADER * CopyNamedShapePtr (RIFFHANDLE, char const * shapename); -#define copy_named_shape_ptr(h,s) CopyNamedShapePtr(h,s) - -// copy one named shape or sprite; put it in the main shape list -int CopyNamedShapeMSL (RIFFHANDLE, char const * shapename); -#define copy_named_shape_msl(h,s) CopyNamedShapeMSL(h,s) - -//////////////////////////////////////////////////////////////////////// -// Functions which do not operate on RIFFHANDLEs and may become obsolete -//////////////////////////////////////////////////////////////////////// - -// these functions work on the current rif; they only remain for historical reasons -extern RIFFHANDLE current_rif_handle; -// returns NULL on fail; does not put it in the mainshapelist -SHAPEHEADER * CopyNamedShape (char const * shapename); - -///////////////////////////////////////////// -// Functions for handling the main shape list -///////////////////////////////////////////// - -// reserves the next avaialbe position in the main shape list and returns it -extern int GetMSLPos(void); -#define get_msl_pos() GetMSLPos() - -// frees a position in the main shape list -extern void FreeMSLPos(int); -#define free_msl_pos(i) FreeMSLPos(i) - -//////////////////////////////////////////////// -// Functions retrieving data about loaded shapes -//////////////////////////////////////////////// - -// gets the main shape list position of a shape loaded into the msl -int GetLoadedShapeMSL(char const * shapename); -#define get_loaded_shape_msl(s) GetLoadedShapeMSL(s) -// ditto, but returns a pointer; the shape need not be in the msl -SHAPEHEADER * GetLoadedShapePtr(char const * shapename); -#define get_loaded_shape_ptr(s) GetLoadedShapePtr(s) - -// gets name of shape from msl pos -char const * GetMSLLoadedShapeName(int listpos); -#define get_msl_loaded_shape_name(i) GetMSLLoadedShapeName(i) -// gets name of shape from pointer; the shape need not be in msl -char const * GetPtrLoadedShapeName(SHAPEHEADER *); -#define get_ptr_loaded_shape_name(p) GetPtrLoadedShapeName(p) - -// free a reference to a named shape if it exists - not necessary since these are all tidied up -void FreeShapeNameReference(SHAPEHEADER * shptr); -#define free_shape_name_reference(p) FreeShapeNameReference(p) - -////////////////////////////////////////////////////////////////////////////// -// Initializing, deallocating of shapes, mainly hooks for project specific fns -////////////////////////////////////////////////////////////////////////////// - -// perform initial post processing on shape just after loading -// note that the copy named shape functions will not call this -extern void post_process_shape (SHAPEHEADER *); -#define PostProcessShape(p) post_process_shape(p) - -// hook to perhaps scale the uv coordinates - should return new value -extern int ProcessUVCoord(RIFFHANDLE,UVCOORDTYPE,int uv_value,int image_num); -#define process_uv_coord(h,t,u,i) ProcessUVCoord(h,t,u,i) - -// delete a shape by the shapeheader -void DeallocateLoadedShapePtr(SHAPEHEADER *); -#define deallocate_loaded_shape_ptr(h,p) DeallocateLoadedShapePtr(h,p) - -// delete a shape by the shape list number -void DeallocateLoadedShapeMSL(RIFFHANDLE, int); -#define deallocate_loaded_shape_msl(h,i) DeallocateLoadedShapeMSL(h,i) - -// your function could perform any extra tidying up you need -extern void DeallocateLoadedShapeheader(SHAPEHEADER *); -#define deallocate_loaded_shapeheader(p) DeallocateLoadedShapeHeader(p) - -// your function should call this function which undoes the allocation done when copied from rif data -void DeallocateRifLoadedShapeheader(SHAPEHEADER *); -#define deallocate_rif_loaded_shapeheader(p) DeallocateRifLoadedShapeHeader(p) - -/////// -// Misc -/////// - -// return TRUE if the poly item type corresponds to a textured polygon -BOOL is_textured(int); -#define IsTextured(i) is_textured(i) - -///////////////////// -// Rif loader globals -///////////////////// - -extern unsigned char const * PaletteMapTable; - -///////////////// -// Engine globals -///////////////// - -extern int start_of_loaded_shapes; - -extern unsigned char *TextureLightingTable; - -#if defined(InterfaceEngine) && InterfaceEngine -// this is of crucial importance!! -extern SHAPEHEADER * mainshapelist[]; -#else -extern SHAPEHEADER ** mainshapelist; -#endif - -extern MAPHEADER Map[]; - -extern MAPBLOCK8 Player_and_Camera_Type8[]; -extern MAPBLOCK6 Empty_Landscape_Type6; -extern MAPBLOCK6 Empty_Object_Type6; -extern MAPBLOCK6 Term_Type6; - -extern unsigned char TestPalette[]; - -extern unsigned char LPTestPalette[]; /* to cast to lp*/ - -#if 0 -extern int NumImages; /* # current images */ -extern IMAGEHEADER *ImageHeaderPtrs[]; /* Ptrs to Image Header Blocks */ -extern IMAGEHEADER ImageHeaderArray[]; /* Array of Image Headers */ -extern IMAGEHEADER *NextFreeImageHeaderPtr; -#endif - -#if SupportModules - -extern SCENEMODULE MainScene; -extern MODULE Empty_Module; -extern MODULE Term_Module; - -extern MODULEMAPBLOCK Empty_Module_Map; - -#endif - -#ifdef __cplusplus - -} - -#endif - -#endif -- cgit v1.3