summaryrefslogtreecommitdiff
path: root/3dc/win95/fragchnk.cpp
diff options
context:
space:
mode:
authorSteven Fuller <relnev@icculus.org>2001-07-01 00:55:22 +0000
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-20 02:09:04 +0200
commit2186d5f3f95cd74a070a490d899291648d58667a (patch)
tree55241a1afa3e1a22e0b6593a8dead0b703800f44 /3dc/win95/fragchnk.cpp
parent218ca90543758a20ac326e444ca0643174ca7384 (diff)
Initial revision
Diffstat (limited to '3dc/win95/fragchnk.cpp')
-rw-r--r--3dc/win95/fragchnk.cpp255
1 files changed, 0 insertions, 255 deletions
diff --git a/3dc/win95/fragchnk.cpp b/3dc/win95/fragchnk.cpp
deleted file mode 100644
index dc998d7..0000000
--- a/3dc/win95/fragchnk.cpp
+++ /dev/null
@@ -1,255 +0,0 @@
-#include "fragchnk.hpp"
-
-//macro for helping to force inclusion of chunks when using libraries
-FORCE_CHUNK_INCLUDE_IMPLEMENT(fragchnk)
-
-RIF_IMPLEMENT_DYNCREATE("FRAGTYPE",Fragment_Type_Chunk)
-
-CHUNK_WITH_CHILDREN_LOADER("FRAGTYPE",Fragment_Type_Chunk)
-
-/*
-Children for Fragment_Type_Chunk :
-
-Fragment_Type_Data_Chunk "FRGTYPDC"
-Fragment_Type_Shape_Chunk "FRGTYPSC"
-Fragment_Type_Sound_Chunk "FRGSOUND"
-*/
-
-
-const char* Fragment_Type_Chunk::get_name()
-{
- Fragment_Type_Data_Chunk* ftdc=(Fragment_Type_Data_Chunk*)lookup_single_child("FRGTYPDC");
-
- if(ftdc)
- return ftdc->frag_type_name;
- else
- return 0;
-
-}
-
-////////////////////////////////////////////////////////////////////////
-RIF_IMPLEMENT_DYNCREATE("FRGTYPDC",Fragment_Type_Data_Chunk)
-
-Fragment_Type_Data_Chunk::Fragment_Type_Data_Chunk(Chunk_With_Children* parent,const char* name)
-:Chunk(parent,"FRGTYPDC")
-{
- frag_type_name=new char[strlen(name)+1];
- strcpy(frag_type_name,name);
- pad1=pad2=pad3=0;
-}
-
-Fragment_Type_Data_Chunk::Fragment_Type_Data_Chunk(Chunk_With_Children* const parent,const char* data,size_t const )
-:Chunk(parent,"FRGTYPDC")
-{
- int length=strlen(data)+1;
- frag_type_name=new char[length];
- strcpy(frag_type_name,data);
- data+=(length+3)&~3;
-
- pad1=*(int*)data;
- data+=4;
- pad2=*(int*)data;
- data+=4;
- pad3=*(int*)data;
- data+=4;
-}
-
-Fragment_Type_Data_Chunk::~Fragment_Type_Data_Chunk()
-{
- if(frag_type_name) delete frag_type_name;
-}
-
-void Fragment_Type_Data_Chunk::fill_data_block(char* data_start)
-{
- strncpy (data_start, identifier, 8);
- data_start += 8;
- *((int *) data_start) = chunk_size;
- data_start += 4;
-
- strcpy(data_start,frag_type_name);
- data_start+=(strlen(frag_type_name)+4)&~3;
-
- *(int*)data_start=pad1;
- data_start+=4;
- *(int*)data_start=pad2;
- data_start+=4;
- *(int*)data_start=pad3;
- data_start+=4;
-
-}
-
-size_t Fragment_Type_Data_Chunk::size_chunk()
-{
- chunk_size=12+12;
- chunk_size+=(strlen(frag_type_name)+4)&~3;
- return chunk_size;
-}
-
-
-////////////////////////////////////////////////////////////////////////
-RIF_IMPLEMENT_DYNCREATE("FRGTYPSC",Fragment_Type_Shape_Chunk)
-
-Fragment_Type_Shape_Chunk::Fragment_Type_Shape_Chunk(Chunk_With_Children* parent,const char* _name,int number,ChunkVectorInt _location)
-:Chunk(parent,"FRGTYPSC")
-{
- name=new char[strlen(_name)+1];
- strcpy(name,_name);
- num_fragments=number;
- location=_location;
- pad1=pad2=pad3=0;
-}
-
-#if UseOldChunkLoader
-Fragment_Type_Shape_Chunk::Fragment_Type_Shape_Chunk(Chunk_With_Children* const parent,const char* data,size_t const )
-:Chunk(parent,"FRGTYPSC")
-{
- int length=strlen(data)+1;
- name=new char[length];
- strcpy(name,data);
- data+=(length+3)&~3;
-
- num_fragments=*(int*)data;
- data+=4;
-
- location=*(ChunkVector*)data;
- data+=sizeof(ChunkVector);
-
-
- pad1=*(int*)data;
- data+=4;
- pad2=*(int*)data;
- data+=4;
- pad3=*(int*)data;
- data+=4;
-};
-#else
-Fragment_Type_Shape_Chunk::Fragment_Type_Shape_Chunk(Chunk_With_Children* const parent,const char* data,size_t const )
-:Chunk(parent,"FRGTYPSC")
-{
- int length=strlen(data)+1;
- name=new char[length];
- strcpy(name,data);
- data+=(length+3)&~3;
-
- num_fragments=*(int*)data;
- data+=4;
-
- location=*(ChunkVectorInt*)data;
- data+=sizeof(ChunkVectorInt);
-
-
- pad1=*(int*)data;
- data+=4;
- pad2=*(int*)data;
- data+=4;
- pad3=*(int*)data;
- data+=4;
-}
-#endif
-
-Fragment_Type_Shape_Chunk::~Fragment_Type_Shape_Chunk()
-{
- if(name) delete name;
-}
-
-void Fragment_Type_Shape_Chunk::fill_data_block(char* data_start)
-{
- strncpy (data_start, identifier, 8);
- data_start += 8;
- *((int *) data_start) = chunk_size;
- data_start += 4;
-
- strcpy(data_start,name);
- data_start+=(strlen(name)+4)&~3;
-
- *(int*)data_start=num_fragments;
- data_start+=4;
-
- *(ChunkVectorInt*)data_start=location;
- data_start+=sizeof(ChunkVectorInt);
-
- *(int*)data_start=pad1;
- data_start+=4;
- *(int*)data_start=pad2;
- data_start+=4;
- *(int*)data_start=pad3;
- data_start+=4;
-
-}
-
-size_t Fragment_Type_Shape_Chunk::size_chunk()
-{
- chunk_size=12+16+sizeof(ChunkVectorInt);
- chunk_size+=(strlen(name)+4)&~3;
- return chunk_size;
-}
-
-////////////////////////////////////////////////////////////////////////
-RIF_IMPLEMENT_DYNCREATE("FRGSOUND",Fragment_Type_Sound_Chunk)
-
-Fragment_Type_Sound_Chunk::Fragment_Type_Sound_Chunk(Chunk_With_Children* parent)
-:Chunk(parent,"FRGSOUND")
-{
- wav_name=0;
- inner_range=5000;
- outer_range=40000;
- max_volume=127;
- pitch=0;
- pad=0;
-}
-
-Fragment_Type_Sound_Chunk::Fragment_Type_Sound_Chunk(Chunk_With_Children* const parent,const char* data,size_t const )
-:Chunk(parent,"FRGSOUND")
-{
- inner_range=*(unsigned long*)data;
- data+=4;
- outer_range=*(unsigned long*)data;
- data+=4;
-
- max_volume=*(int*)data;
- data+=4;
- pitch=*(int*)data;
- data+=4;
- pad=*(int*)data;
- data+=4;
-
- wav_name=new char[strlen(data)+1];
- strcpy(wav_name,data);
-
-}
-
-Fragment_Type_Sound_Chunk::~Fragment_Type_Sound_Chunk()
-{
- if(wav_name) delete wav_name;
-}
-
-void Fragment_Type_Sound_Chunk::fill_data_block(char* data_start)
-{
- strncpy (data_start, identifier, 8);
- data_start += 8;
- *((int *) data_start) = chunk_size;
- data_start += 4;
-
- *(unsigned long*)data_start=inner_range;
- data_start+=4;
- *(unsigned long*)data_start=outer_range;
- data_start+=4;
-
- *(int*)data_start=max_volume;
- data_start+=4;
- *(int*)data_start=pitch;
- data_start+=4;
- *(int*)data_start=pad;
- data_start+=4;
-
- strcpy(data_start,wav_name);
-
-}
-
-size_t Fragment_Type_Sound_Chunk::size_chunk()
-{
- chunk_size=12+20;
- chunk_size+=(strlen(wav_name)+4)&~3;
- return chunk_size;
-}
-