Fix extra aspects variable not being set for newly generated maps

This commit is contained in:
Jonathan G Rennison
2021-09-12 17:36:47 +01:00
parent fbc2d9fd46
commit 5be32627b7
3 changed files with 15 additions and 1 deletions

View File

@@ -34,6 +34,7 @@
#include "string_func.h"
#include "thread.h"
#include "tgp.h"
#include "signal_func.h"
#include "safeguards.h"
@@ -312,6 +313,7 @@ void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_setti
/* Load the right landscape stuff, and the NewGRFs! */
GfxLoadSprites();
InitialiseExtraAspectsVariable();
LoadStringWidthTable();
/* Re-init the windowing system */

View File

@@ -1467,7 +1467,7 @@ void UpdateAllSignalAspects()
}
}
void UpdateExtraAspectsVariable()
static uint8 DetermineExtraAspectsVariable()
{
uint8 new_extra_aspects = 0;
@@ -1481,6 +1481,12 @@ void UpdateExtraAspectsVariable()
}
}
return new_extra_aspects;
}
void UpdateExtraAspectsVariable()
{
uint8 new_extra_aspects = DetermineExtraAspectsVariable();
if (new_extra_aspects != _extra_aspects) {
_extra_aspects = new_extra_aspects;
@@ -1488,3 +1494,8 @@ void UpdateExtraAspectsVariable()
MarkWholeScreenDirty();
}
}
void InitialiseExtraAspectsVariable()
{
_extra_aspects = DetermineExtraAspectsVariable();
}

View File

@@ -176,6 +176,7 @@ void UpdateAspectDeferred(TileIndex tile, Trackdir trackdir);
void FlushDeferredAspectUpdates();
void UpdateAllSignalAspects();
void UpdateExtraAspectsVariable();
void InitialiseExtraAspectsVariable();
inline uint8 GetForwardAspectFollowingTrackAndIncrement(TileIndex tile, Trackdir trackdir)
{