summaryrefslogtreecommitdiff
path: root/GameBuildings.cpp
diff options
context:
space:
mode:
authorJapa2010-04-10 08:14:26 +0000
committerJapa2010-04-10 08:14:26 +0000
commitd152bfaf28ae7653e008a6763c2abb97c949c142 (patch)
treebd376391e2cabab63f33a8421e6d9bf54ccfdff7 /GameBuildings.cpp
parent661f48f7a818b144459ce03b15dbf60bfd0ee76f (diff)
downloadstonesense-d152bfaf28ae7653e008a6763c2abb97c949c142.tar.gz
stonesense-d152bfaf28ae7653e008a6763c2abb97c949c142.tar.bz2
stonesense-d152bfaf28ae7653e008a6763c2abb97c949c142.tar.xz
got some more stuff working.
creatures are all invisible for some reason, and buildings don't work.
Diffstat (limited to 'GameBuildings.cpp')
-rw-r--r--GameBuildings.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/GameBuildings.cpp b/GameBuildings.cpp
index 74afb9b..fba6b16 100644
--- a/GameBuildings.cpp
+++ b/GameBuildings.cpp
@@ -63,20 +63,22 @@ dirTypes findWallCloseTo(WorldSegment* segment, Block* b){
void ReadBuildings(API& DF, vector<t_building>* buildingHolder){
return;
- //if(!buildingHolder) return;
-
- //vector<string> dummy;
- //uint32_t numbuildings = 0;
- //if (!DF.InitReadBuildings(numbuildings)) return;
- //t_building tempbuilding;
-
- //uint32_t index = 0;
- //while(index < numbuildings){
- // DF.ReadBuilding(index, tempbuilding);
- // buildingHolder->push_back(tempbuilding);
- // index++;
- //}
- //DF.FinishReadBuildings();
+ if(!buildingHolder) return;
+
+ DFHack::Buildings * Bld = DF.getBuildings();
+
+ vector<string> dummy;
+ uint32_t numbuildings = 0;
+ if (!Bld->Start(numbuildings)) return;
+ t_building tempbuilding;
+
+ uint32_t index = 0;
+ while(index < numbuildings){
+ Bld->Read(index, tempbuilding);
+ buildingHolder->push_back(tempbuilding);
+ index++;
+ }
+ Bld->Finish();
}