diff options
Diffstat (limited to 'tools/DSGmaker/DynaDSGList.cpp')
-rw-r--r-- | tools/DSGmaker/DynaDSGList.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/DSGmaker/DynaDSGList.cpp b/tools/DSGmaker/DynaDSGList.cpp new file mode 100644 index 0000000..d99f1b2 --- /dev/null +++ b/tools/DSGmaker/DynaDSGList.cpp @@ -0,0 +1,53 @@ +#include <cstring> +#include <stdio.h> +#include <..\..\..\tools\dsgmaker\DynaDSGList.hpp> +#include <tlDynaPhysDSGChunk.hpp> + + +const int MAX_DYNA_DSG = 50; + +DynaPhysDSGList::DynaPhysDSGList () +{ + mindex =0; + mp_list = new tlDynaPhysDSGChunk* [MAX_DYNA_DSG]; + mp_list[0]=NULL; +} + +DynaPhysDSGList::~DynaPhysDSGList () +{ + delete [] mp_list; +} + +//input DynaDSG name and it should return a pointer to the dsg or null if failure +tlDynaPhysDSGChunk* DynaPhysDSGList::GetDyna(const char * name) +{ + + //search the array for the name. + for(unsigned int i=0;i<mindex;i++) + { + printf(" Searching for %s, against %s\n",name,mp_list[i]->GetName()); + //if we find it return pointer otherwise it will return null by default + if (strcmp ( mp_list[i]->GetName(),name)==0) + { + return( mp_list[i] ); + } + } + return NULL; + +} + +// add a dynaphyschunk to the list +int DynaPhysDSGList::AddDyna (tlDynaPhysDSGChunk* p_dyna) +{ + if(mindex < MAX_DYNA_DSG -1) + { + mp_list[mindex++]=p_dyna; + return 0; + } + else + { + printf("ERROR: DynaDSGList if FULL! Unable to add entery! \n"); + return 1; + } + +} |