diff options
| author | Japa | 2011-02-19 19:11:19 +0000 |
|---|---|---|
| committer | Japa | 2011-02-19 19:11:19 +0000 |
| commit | f1cd36716229dd3f0795824197b14dcd0d979540 (patch) | |
| tree | a9391276cc5f0c569fe531996964a6cb57d2263e /main.cpp | |
| parent | d8523cd32f9aea85ce0ef0c6fb12c8562922dad2 (diff) | |
| parent | c2f73a1f356890e8ed6ada37a4613ce4836d4712 (diff) | |
| download | stonesense-f1cd36716229dd3f0795824197b14dcd0d979540.tar.gz stonesense-f1cd36716229dd3f0795824197b14dcd0d979540.tar.bz2 stonesense-f1cd36716229dd3f0795824197b14dcd0d979540.tar.xz | |
merged in the multithreaded branch.
Diffstat (limited to 'main.cpp')
| -rw-r--r-- | main.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -137,9 +137,9 @@ void SetTitle(const char *format, ...) }
void correctBlockForSegmetOffset(int32_t& x, int32_t& y, int32_t& z){
- x -= viewedSegment->x;
- y -= viewedSegment->y; //DisplayedSegmentY;
- z -= viewedSegment->z + viewedSegment->sizez - 2; // loading one above the top of the displayed segment for block rules
+ x -= DisplayedSegmentX;
+ y -= DisplayedSegmentY; //DisplayedSegmentY;
+ z -= DisplayedSegmentZ + viewedSegment->sizez - 2; // loading one above the top of the displayed segment for block rules
}
void loadfont()
@@ -275,6 +275,7 @@ int main(void) config.creditScreen = true;
config.bloodcutoff = 100;
config.poolcutoff = 100;
+ config.threadmade = 0;
initRandomCube();
loadConfigFile();
loadfont();
@@ -349,6 +350,9 @@ int main(void) //DisplayedSegmentX = 242; DisplayedSegmentY = 345;DisplayedSegmentZ = 15;
+ config.readMutex = al_create_mutex();
+ config.readCond = al_create_cond();
+
#ifdef BENCHMARK
benchmark();
#endif
@@ -429,10 +433,20 @@ int main(void) redraw = true;
}
}
+ if(config.threadmade)
+ {
+ al_broadcast_cond(config.readCond);
+ al_destroy_thread(config.readThread);
+ config.spriteIndexOverlay = 0;
+ }
flushImgFiles();
DisconnectFromDF();
- //dispose old segment
+ //dispose old segments
+ if(altSegment){
+ altSegment->Dispose();
+ delete(altSegment);
+ }
if(viewedSegment){
viewedSegment->Dispose();
delete(viewedSegment);
|
