diff options
| author | Japa | 2010-04-10 08:14:26 +0000 |
|---|---|---|
| committer | Japa | 2010-04-10 08:14:26 +0000 |
| commit | d152bfaf28ae7653e008a6763c2abb97c949c142 (patch) | |
| tree | bd376391e2cabab63f33a8421e6d9bf54ccfdff7 /GameBuildings.cpp | |
| parent | 661f48f7a818b144459ce03b15dbf60bfd0ee76f (diff) | |
| download | stonesense-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.cpp | 30 |
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();
}
|
