diff options
Diffstat (limited to '3dc/win95/GSPRCHNK.HPP')
| -rw-r--r-- | 3dc/win95/GSPRCHNK.HPP | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/3dc/win95/GSPRCHNK.HPP b/3dc/win95/GSPRCHNK.HPP new file mode 100644 index 0000000..ede6395 --- /dev/null +++ b/3dc/win95/GSPRCHNK.HPP @@ -0,0 +1,82 @@ +#ifndef _included_gsprchnk_hpp_ +#define _included_gsprchnk_hpp_ + +#include "chunk.hpp" +#include "mishchnk.hpp" + +class AllSprites_Header_Chunk; + +class AllSprites_Chunk : public Lockable_Chunk_With_Children +{ +public: + + // empty constructor + AllSprites_Chunk (Chunk_With_Children * parent); + // constructor from buffer + AllSprites_Chunk (Chunk_With_Children * const parent,const char *, size_t const); + + AllSprites_Header_Chunk * get_header(); + + // functions for the locking functionality + + BOOL file_equals (HANDLE &); + const char * get_head_id(); + void set_lock_user(char *); + + void post_input_processing(); + +private: + + friend class File_Chunk; + friend class GodFather_Chunk; + + + + +}; + +/////////////////////////////////////////////// + +class AllSprites_Header_Chunk : public Chunk +{ +public: + // constructor from buffer + AllSprites_Header_Chunk (Chunk_With_Children * parent, const char * pdata, size_t psize); + + virtual size_t size_chunk () + { + chunk_size = 36; + return chunk_size; + } + + virtual BOOL output_chunk (HANDLE &); + + virtual void fill_data_block (char * data_start); + + void prepare_for_output(); + +private: + + friend class AllSprites_Chunk; + friend class File_Chunk; + + int flags; + + int version_no; + + char lock_user[17]; + + + + // constructor from parent + AllSprites_Header_Chunk (AllSprites_Chunk * parent) + : Chunk (parent, "ASPRHEAD"), + flags (0), version_no (0) + {} + +}; + + + + +#endif // _included_gsprchnk_hpp_
\ No newline at end of file |
