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.
This commit is contained in:
commit
218ca90543
572 changed files with 434587 additions and 0 deletions
250
3dc/win95/MISHCHNK.HPP
Normal file
250
3dc/win95/MISHCHNK.HPP
Normal file
|
@ -0,0 +1,250 @@
|
|||
#ifndef _miscchunk_hpp
|
||||
#define _miscchunk_hpp 1
|
||||
|
||||
#include <time.h>
|
||||
#include "chunk.hpp"
|
||||
|
||||
#include "chnktype.hpp"
|
||||
|
||||
#if engine
|
||||
|
||||
#define UseLocalAssert No
|
||||
#include "ourasert.h"
|
||||
#define assert(x) GLOBALASSERT(x)
|
||||
|
||||
#else
|
||||
|
||||
#if cencon
|
||||
#include "ccassert.h"
|
||||
#else
|
||||
#include <assert.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if cencon
|
||||
#include "output.hpp"
|
||||
#else
|
||||
#define twprintf printf
|
||||
|
||||
extern char * users_name;
|
||||
#endif
|
||||
|
||||
class File_Chunk;
|
||||
|
||||
class Lockable_Chunk_With_Children : public Chunk_With_Children
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
Lockable_Chunk_With_Children (Chunk_With_Children * parent, const char * identifier)
|
||||
: Chunk_With_Children (parent, identifier),
|
||||
updated (FALSE),updated_outside (FALSE),local_lock (FALSE),external_lock(FALSE),
|
||||
output_chunk_for_process (FALSE), deleted (FALSE)
|
||||
{}
|
||||
|
||||
|
||||
// derived classes from this class must have the
|
||||
// following functions (or it won't compile)!!
|
||||
|
||||
virtual BOOL file_equals(HANDLE &) = 0;
|
||||
// the file equals function knows to look in
|
||||
// the file from the start of the current chunk
|
||||
// to see if the current chunk is the same one
|
||||
|
||||
virtual const char * get_head_id() = 0;
|
||||
virtual void set_lock_user(char *) = 0;
|
||||
|
||||
// this function will lock the chunk if it can -
|
||||
// will return true on success or if the chunk has
|
||||
// already been locked locally.
|
||||
|
||||
BOOL lock_chunk(File_Chunk &);
|
||||
|
||||
// The unlock_chunk will unlock the chunk
|
||||
// if the updateyn flag is set, the updated flag will be set
|
||||
// internally and the chunk may be updated on the next file update
|
||||
// If there is no update, the chunk will be unlocked in the file
|
||||
|
||||
BOOL unlock_chunk (File_Chunk &, BOOL updateyn);
|
||||
|
||||
BOOL update_chunk_in_file(HANDLE &rif_file);
|
||||
|
||||
// Selective output functions,
|
||||
// These will output on condition of the flag, the flag will be set
|
||||
// to FALSE
|
||||
|
||||
BOOL output_chunk_for_process;
|
||||
|
||||
virtual size_t size_chunk_for_process();
|
||||
|
||||
virtual void fill_data_block_for_process(char * data_start);
|
||||
|
||||
|
||||
BOOL updated;
|
||||
BOOL updated_outside;
|
||||
BOOL local_lock;
|
||||
BOOL external_lock;
|
||||
|
||||
BOOL deleted;
|
||||
|
||||
};
|
||||
|
||||
|
||||
///////////////////////////////////////////////
|
||||
|
||||
class Object_Chunk;
|
||||
class Shape_Chunk;
|
||||
class Dummy_Object_Chunk;
|
||||
class Environment_Data_Chunk;
|
||||
|
||||
class File_Chunk : public Chunk_With_Children
|
||||
{
|
||||
public:
|
||||
|
||||
//constructor
|
||||
File_Chunk (const char * filename);
|
||||
File_Chunk ();
|
||||
|
||||
//destructor
|
||||
~File_Chunk ();
|
||||
|
||||
// file handling
|
||||
BOOL update_file ();
|
||||
BOOL write_file (const char *);
|
||||
|
||||
BOOL check_file();
|
||||
|
||||
BOOL update_chunks_from_file();
|
||||
|
||||
// the file_chunk must link all of its shapes & objects together
|
||||
// in post_input_processing
|
||||
|
||||
virtual void post_input_processing();
|
||||
|
||||
// copy string when constructed
|
||||
// to this variable
|
||||
char * filename;
|
||||
|
||||
|
||||
// some easy access functions
|
||||
|
||||
void list_objects(List<Object_Chunk *> * pList);
|
||||
void list_shapes(List<Shape_Chunk *> * pList);
|
||||
void list_dummy_objects(List<Dummy_Object_Chunk *> * pList);
|
||||
|
||||
Environment_Data_Chunk * get_env_data();
|
||||
|
||||
Object_Chunk* get_object_by_index(int index);
|
||||
void assign_index_to_object(Object_Chunk* object);
|
||||
|
||||
private:
|
||||
|
||||
friend class Shape_Chunk;
|
||||
friend class Object_Chunk;
|
||||
friend class Lockable_Chunk_With_Children;
|
||||
|
||||
int flags;
|
||||
|
||||
int object_array_size;
|
||||
Object_Chunk** object_array;
|
||||
|
||||
void build_object_array();
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////
|
||||
|
||||
|
||||
class RIF_Version_Num_Chunk : public Chunk
|
||||
{
|
||||
public:
|
||||
RIF_Version_Num_Chunk (Chunk_With_Children * parent, const char *data, size_t /*size*/)
|
||||
: Chunk (parent,"RIFVERIN"), file_version_no (*((int *) data))
|
||||
{}
|
||||
|
||||
int file_version_no;
|
||||
|
||||
// output_chunk updates the above
|
||||
|
||||
virtual void fill_data_block (char * data_start);
|
||||
|
||||
virtual size_t size_chunk ()
|
||||
{
|
||||
chunk_size = 16;
|
||||
return 16;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
friend class File_Chunk;
|
||||
friend class GodFather_Chunk;
|
||||
friend class RIF_File_Chunk;
|
||||
|
||||
|
||||
|
||||
RIF_Version_Num_Chunk (Chunk_With_Children * parent)
|
||||
: Chunk (parent,"RIFVERIN"), file_version_no (0)
|
||||
{}
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////
|
||||
|
||||
class RIF_File_Chunk : public Chunk_With_Children
|
||||
{
|
||||
public:
|
||||
|
||||
// This is a special chunk which does not output itself
|
||||
|
||||
RIF_File_Chunk (Chunk_With_Children * parent, const char * fname);
|
||||
|
||||
size_t size_chunk()
|
||||
{
|
||||
return chunk_size = 0;
|
||||
}
|
||||
|
||||
virtual void post_input_processing();
|
||||
|
||||
BOOL output_chunk (HANDLE & /*h*/){return TRUE;};
|
||||
void fill_data_block (char * /*c*/){};
|
||||
|
||||
void list_objects(List<Object_Chunk *> * pList);
|
||||
void list_shapes(List<Shape_Chunk *> * pList);
|
||||
Environment_Data_Chunk * get_env_data();
|
||||
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////
|
||||
|
||||
class RIF_Name_Chunk : public Chunk
|
||||
{
|
||||
public:
|
||||
|
||||
RIF_Name_Chunk (Chunk_With_Children * parent, const char * rname);
|
||||
~RIF_Name_Chunk();
|
||||
// constructor from buffer
|
||||
RIF_Name_Chunk (Chunk_With_Children * parent, const char * sdata, size_t ssize);
|
||||
char * rif_name;
|
||||
|
||||
virtual size_t size_chunk ()
|
||||
{
|
||||
return (chunk_size = 12 + strlen (rif_name) + 4 - strlen (rif_name)%4);
|
||||
}
|
||||
|
||||
virtual void fill_data_block (char * data_start);
|
||||
|
||||
private:
|
||||
|
||||
friend class Environment_Data_Chunk;
|
||||
friend class Environment_Game_Mode_Chunk;
|
||||
friend class Shape_External_File_Chunk;
|
||||
friend class Sprite_Header_Chunk;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue