diff options
| author | Japa | 2011-02-25 04:04:22 +0000 |
|---|---|---|
| committer | Japa | 2011-02-25 04:04:22 +0000 |
| commit | a09db4ce3b65f033257ed8b2c819358d7e7f9e28 (patch) | |
| tree | 61831f82c8efec825291b3d3e1dbe71c5bfa90e1 /ContentLoader.cpp | |
| parent | 82e9e689d9b205286b5088d2407a3a014e7aeb99 (diff) | |
| download | stonesense-a09db4ce3b65f033257ed8b2c819358d7e7f9e28.tar.gz stonesense-a09db4ce3b65f033257ed8b2c819358d7e7f9e28.tar.bz2 stonesense-a09db4ce3b65f033257ed8b2c819358d7e7f9e28.tar.xz | |
Got custom workshops to, well... work.
Diffstat (limited to 'ContentLoader.cpp')
| -rw-r--r-- | ContentLoader.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ContentLoader.cpp b/ContentLoader.cpp index 32c0629..17c3872 100644 --- a/ContentLoader.cpp +++ b/ContentLoader.cpp @@ -17,6 +17,7 @@ ContentLoader::~ContentLoader(void) {
//flush content on exit
flushBuildingConfig(&buildingConfigs);
+ flushBuildingConfig(&customBuildingConfigs);
flushTerrainConfig(terrainFloorConfigs);
flushTerrainConfig(terrainBlockConfigs);
flushCreatureConfig();
@@ -48,6 +49,7 @@ bool ContentLoader::Load( DFHack::Context& DF){ al_flip_display();*/
//flush old config
flushBuildingConfig(&buildingConfigs);
+ flushBuildingConfig(&customBuildingConfigs);
flushTerrainConfig(terrainFloorConfigs);
flushTerrainConfig(terrainBlockConfigs);
flushColorConfig(colorConfigs);
@@ -170,6 +172,13 @@ bool ContentLoader::Load( DFHack::Context& DF){ { WriteErr("DFhack exeption: %s\n", e.what()); }
+ if(Bld)
+ {
+ unsigned int bla;
+ Bld->Start(bla);
+ Bld->ReadCustomWorkshopTypes(custom_workshop_types);
+ Bld->Finish();
+ }
try
{
contentLoader.MemInfo = DF.getMemoryInfo();
@@ -236,6 +245,7 @@ bool ContentLoader::Load( DFHack::Context& DF){ bool ContentLoader::reload_configs()
{
flushBuildingConfig(&buildingConfigs);
+ flushBuildingConfig(&customBuildingConfigs);
flushTerrainConfig(terrainFloorConfigs);
flushTerrainConfig(terrainBlockConfigs);
flushColorConfig(colorConfigs);
@@ -373,6 +383,8 @@ bool ContentLoader::parseContentXMLFile( char* filepath ){ string elementType = elemRoot->Value();
if( elementType.compare( "building" ) == 0 )
runningResult &= parseBuildingContent( elemRoot );
+ else if( elementType.compare( "custom_workshop" ) == 0 )
+ runningResult &= parseCustomBuildingContent( elemRoot );
else if( elementType.compare( "creatures" ) == 0 )
runningResult &= parseCreatureContent( elemRoot );
else if( elementType.compare( "floors" ) == 0 )
@@ -403,6 +415,10 @@ bool ContentLoader::parseBuildingContent(TiXmlElement* elemRoot ){ return addSingleBuildingConfig( elemRoot, &buildingConfigs );
}
+bool ContentLoader::parseCustomBuildingContent(TiXmlElement* elemRoot ){
+ return addSingleCustomBuildingConfig( elemRoot, &customBuildingConfigs );
+}
+
bool ContentLoader::parseCreatureContent(TiXmlElement* elemRoot ){
return addCreaturesConfig( elemRoot, creatureConfigs );
}
|
