summaryrefslogtreecommitdiff
path: root/3dc/win95/ENUMSCH.CPP
diff options
context:
space:
mode:
Diffstat (limited to '3dc/win95/ENUMSCH.CPP')
-rw-r--r--3dc/win95/ENUMSCH.CPP163
1 files changed, 0 insertions, 163 deletions
diff --git a/3dc/win95/ENUMSCH.CPP b/3dc/win95/ENUMSCH.CPP
deleted file mode 100644
index 0138cab..0000000
--- a/3dc/win95/ENUMSCH.CPP
+++ /dev/null
@@ -1,163 +0,0 @@
-#include <string.h>
-
-#include "enumsch.hpp"
-
-#ifdef cencon
-#define new my_new
-#endif
-
-//macro for helping to force inclusion of chunks when using libraries
-FORCE_CHUNK_INCLUDE_IMPLEMENT(enumsch)
-
-Enum_Constant::Enum_Constant(char const * const _cname, int const _value) : cname(0), value(_value), reserved(0)
-{
- if (_cname)
- {
- cname = new char[strlen(_cname)+1];
- strcpy(cname,_cname);
- }
-}
-
-Enum_Constant::Enum_Constant(Enum_Constant const & ec2) : reserved(ec2.reserved), value(ec2.value), cname(0)
-{
- if (ec2.cname)
- {
- cname = new char[strlen(ec2.cname)+1];
- strcpy(cname,ec2.cname);
- }
-}
-
-Enum_Constant & Enum_Constant::operator = (Enum_Constant const & ec2)
-{
- if (cname) delete[] cname;
- cname = 0;
- value = ec2.value;
- reserved = ec2.reserved;
- if (ec2.cname)
- {
- cname = new char[strlen(ec2.cname)+1];
- strcpy(cname,ec2.cname);
- }
-
- return *this;
-}
-
-BOOL Enum_Constant::operator == (Enum_Constant const & ec2) const
-{
- if (cname && ec2.cname)
- if (!strcmp(cname,ec2.cname)) return TRUE;
- return FALSE;
-}
-
-BOOL Enum_Constant::operator != (Enum_Constant const & ec2) const
-{
- if (cname && ec2.cname)
- if (!strcmp(cname,ec2.cname)) return FALSE;
- return TRUE;
-}
-
-BOOL Enum_Constant::operator < (Enum_Constant const & ec2) const
-{
- if (cname && ec2.cname)
- if (strcmp(cname,ec2.cname)<0) return TRUE;
- return FALSE;
-}
-
-
-Enum_Constant::Enum_Constant(char const * sdata)
-: value(*(int *)sdata), reserved(*(int *)(sdata+4)), cname(0)
-{
- sdata+=8;
- if (*sdata)
- {
- cname = new char[strlen(sdata)+1];
- strcpy(cname,sdata);
- }
-}
-
-size_t Enum_Constant::size_chunk() const
-{
- return 8 + ((cname ? strlen(cname)+1 : 1) +3 &~3);
-}
-
-void Enum_Constant::fill_data_block (char * data_start)
-{
- *(int*)data_start = value;
- *(int*)(data_start+4) = reserved;
-
- data_start += 8;
-
- strcpy(data_start,cname ? cname : "");
-}
-
-
-///////
-RIF_IMPLEMENT_DYNCREATE("BMPENUMS",BMP_Enums_Chunk)
-
-BMP_Enums_Chunk::BMP_Enums_Chunk(Chunk_With_Children * const parent, char const * sdata, size_t const /*ssize*/)
-: Chunk(parent,"BMPENUMS")
-, reserved1(*(int *)sdata)
-, reserved2(*(int *)(sdata+4))
-, ctype(0)
-{
- sdata+=8;
- unsigned int const len = strlen(sdata)+1;
-
- if (len>1)
- {
- ctype = new char[len];
- strcpy(ctype,sdata);
- }
-
- sdata += len + 3 &~3;
-
- unsigned int const enlistsize = *(int *)sdata;
- sdata += 4;
-
- for (unsigned int i = enlistsize; i; --i)
- {
- Enum_Constant current(sdata);
- sdata += current.size_chunk();
- enums.add_entry(current);
- }
-}
-
-size_t BMP_Enums_Chunk::size_chunk ()
-{
- chunk_size = 12 + 8 + (ctype ? strlen(ctype)+1 : 1) + 4 +3 &~3;
-
- for (LIF<Enum_Constant> li(&enums); !li.done(); li.next())
- {
- chunk_size += li().size_chunk();
- }
- return chunk_size;
-}
-
-void BMP_Enums_Chunk::fill_data_block (char * data_start)
-{
- strncpy (data_start, identifier, 8);
- data_start += 8;
-
- *(int *) data_start = chunk_size;
- data_start += 4;
-
- *(int*)data_start = reserved1;
- *(int*)(data_start+4) = reserved2;
- data_start += 8;
-
- strcpy(data_start,ctype ? ctype : "");
- data_start += strlen(data_start)+1 +3 &~3;
-
- *(int *)data_start = enums.size();
- data_start += 4;
-
- for (LIF<Enum_Constant> li(&enums); !li.done(); li.next())
- {
- Enum_Constant current(li());
-
- current.fill_data_block(data_start);
- data_start += current.size_chunk();
- }
-
-}
-