diff options
author | rubidium <rubidium@openttd.org> | 2010-11-18 14:32:09 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-11-18 14:32:09 +0000 |
commit | 2223ff92c7f9f23ced4c63a3591aa46d1c2b52b2 (patch) | |
tree | 2aca4783ed87aa6c09a9e38bbc49cbf7daf0f606 /src/newgrf.cpp | |
parent | 46186134c892f236ecc610aacd6c18ee95600d5f (diff) | |
download | openttd-2223ff92c7f9f23ced4c63a3591aa46d1c2b52b2.tar.xz |
(svn r21240) -Feature: [NewGRF] Implement action0 visual effect properties for ships and RVs (Hirundo)
Diffstat (limited to 'src/newgrf.cpp')
-rw-r--r-- | src/newgrf.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 12696b6dc..fb8f8f331 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -891,6 +891,16 @@ static ChangeInfoResult RoadVehicleChangeInfo(uint engine, int numinfo, int prop AlterVehicleListOrder(e->index, buf->ReadExtendedByte()); break; + case 0x21: // 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; + default: ret = CommonVehicleChangeInfo(ei, prop, buf); break; @@ -1007,6 +1017,16 @@ static ChangeInfoResult ShipVehicleChangeInfo(uint engine, int numinfo, int prop AlterVehicleListOrder(e->index, buf->ReadExtendedByte()); break; + case 0x1C: // Visual effect + svi->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 (svi->visual_effect == VE_DEFAULT) { + assert(HasBit(svi->visual_effect, VE_DISABLE_EFFECT)); + SB(svi->visual_effect, VE_TYPE_START, VE_TYPE_COUNT, 0); + } + break; + default: ret = CommonVehicleChangeInfo(ei, prop, buf); break; |