summaryrefslogtreecommitdiff
path: root/src/aircraft_cmd.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2013-11-26 16:08:58 +0000
committerrubidium <rubidium@openttd.org>2013-11-26 16:08:58 +0000
commitd2ba772f6a9e6339b28faf62c3163d33de1498b3 (patch)
tree19e25a79a8dbe70c7eb21455984c401f72531068 /src/aircraft_cmd.cpp
parent7abe85d72715f91ab309a3aaa18572a8964b189c (diff)
downloadopenttd-d2ba772f6a9e6339b28faf62c3163d33de1498b3.tar.xz
(svn r26130) -Codechange: add some guards against using invalid image indices
Diffstat (limited to 'src/aircraft_cmd.cpp')
-rw-r--r--src/aircraft_cmd.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp
index 8cc009d3d..e5dea8b75 100644
--- a/src/aircraft_cmd.cpp
+++ b/src/aircraft_cmd.cpp
@@ -99,6 +99,12 @@ static const SpriteID _aircraft_sprite[] = {
0x0EBD, 0x0EC5
};
+template <>
+bool IsValidImageIndex<VEH_AIRCRAFT>(uint8 image_index)
+{
+ return image_index < lengthof(_aircraft_sprite);
+}
+
/** Helicopter rotor animation states */
enum HelicopterRotorStates {
HRS_ROTOR_STOPPED,
@@ -160,6 +166,7 @@ SpriteID Aircraft::GetImage(Direction direction, EngineImageType image_type) con
spritenum = this->GetEngine()->original_image_index;
}
+ assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
return direction + _aircraft_sprite[spritenum];
}
@@ -189,6 +196,7 @@ static SpriteID GetAircraftIcon(EngineID engine, EngineImageType image_type)
spritenum = e->original_image_index;
}
+ assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
return DIR_W + _aircraft_sprite[spritenum];
}