(svn r21239) -Codechange/Fix: [NewGRF] Use 0xFF instead of 0 as default value for visual effect. This makes setting train prop 22 to 0 actually work (Hirundo)

This commit is contained in:
rubidium
2010-11-18 14:20:03 +00:00
parent 61ff042460
commit 46186134c8
5 changed files with 13 additions and 3 deletions

View File

@@ -48,6 +48,7 @@
#include "gui.h"
#include "vehicle_func.h"
#include "language.h"
#include "vehicle_base.h"
#include "table/strings.h"
#include "table/build_industry.h"
@@ -710,8 +711,13 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
break;
case 0x22: // Visual effect
/** @see note in engine.h about rvi->visual_effect */
rvi->visual_effect = buf->ReadByte();
/* Avoid accidentally setting visual_effect to the default value
* Since bit 6 (disable effects) is set anyways, we can safely erase some bits. */
if (rvi->visual_effect == VE_DEFAULT) {
assert(HasBit(rvi->visual_effect, VE_DISABLE_EFFECT));
SB(rvi->visual_effect, VE_TYPE_START, VE_TYPE_COUNT, 0);
}
break;
case 0x23: // Powered wagons weight bonus