(svn r12347) -Feature(ette): Increase house animation frame number from 32 to 128.

This commit is contained in:
frosch
2008-03-06 14:21:10 +00:00
parent 8f556828f0
commit 08f0179916
5 changed files with 17 additions and 7 deletions

View File

@@ -2431,6 +2431,15 @@ bool AfterLoadGame()
}
}
if (CheckSavegameVersion(91)) {
/* Increase HouseAnimationFrame from 5 to 7 bits */
for (TileIndex t = 0; t < map_size; t++) {
if (IsTileType(t, MP_HOUSE) && GetHouseType(t) >= NEW_HOUSE_OFFSET) {
SetHouseAnimationFrame(t, GB(_m[t].m6, 3, 5));
}
}
}
return InitializeWindowsAndCaches();
}

View File

@@ -34,7 +34,7 @@
#include "table/strings.h"
extern const uint16 SAVEGAME_VERSION = 90;
extern const uint16 SAVEGAME_VERSION = 91;
uint16 _sl_version; ///< the major savegame version identifier
byte _sl_minor_version; ///< the minor savegame version, DO NOT USE!

View File

@@ -145,7 +145,7 @@ static inline void SetLiftPosition(TileIndex t, byte pos)
static inline byte GetHouseAnimationFrame(TileIndex t)
{
assert(IsTileType(t, MP_HOUSE));
return GB(_m[t].m6, 3, 5);
return GB(_m[t].m6, 2, 6) | (GB(_m[t].m3, 5, 1) << 6);
}
/**
@@ -157,7 +157,8 @@ static inline byte GetHouseAnimationFrame(TileIndex t)
static inline void SetHouseAnimationFrame(TileIndex t, byte frame)
{
assert(IsTileType(t, MP_HOUSE));
SB(_m[t].m6, 3, 5, frame);
SB(_m[t].m6, 2, 6, GB(frame, 0, 6));
SB(_m[t].m3, 5, 1, GB(frame, 6, 1));
}
/**