summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/engine_type.h6
-rw-r--r--src/newgrf.cpp10
-rw-r--r--src/newgrf_sound.cpp2
-rw-r--r--src/newgrf_sound.h4
-rw-r--r--src/news_type.h1
-rw-r--r--src/roadveh_cmd.cpp2
-rw-r--r--src/sound.cpp12
-rw-r--r--src/sound_func.h6
-rw-r--r--src/sound_type.h8
-rw-r--r--src/table/engines.h6
10 files changed, 27 insertions, 30 deletions
diff --git a/src/engine_type.h b/src/engine_type.h
index c6a034cf6..65bceb89a 100644
--- a/src/engine_type.h
+++ b/src/engine_type.h
@@ -62,7 +62,7 @@ struct ShipVehicleInfo {
CargoID cargo_type;
uint16 capacity;
byte running_cost;
- SoundFxByte sfx;
+ SoundID sfx;
bool refittable;
};
@@ -80,7 +80,7 @@ struct AircraftVehicleInfo {
byte cost_factor;
byte running_cost;
byte subtype;
- SoundFxByte sfx;
+ SoundID sfx;
byte acceleration;
uint16 max_speed;
byte mail_capacity;
@@ -92,7 +92,7 @@ struct RoadVehicleInfo {
byte cost_factor;
byte running_cost;
byte running_cost_class;
- SoundFxByte sfx;
+ SoundID sfx;
uint16 max_speed; ///< Maximum speed in mph/3.2 units
byte capacity;
CargoID cargo_type;
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 1a4a2ca33..10529b189 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -811,7 +811,7 @@ static ChangeInfoResult RoadVehicleChangeInfo(uint engine, int numinfo, int prop
break;
case 0x12: // SFX
- rvi->sfx = (SoundFx)grf_load_byte(&buf);
+ rvi->sfx = grf_load_byte(&buf);
break;
case 0x13: // Power in 10hp
@@ -937,7 +937,7 @@ static ChangeInfoResult ShipVehicleChangeInfo(uint engine, int numinfo, int prop
break;
case 0x10: // SFX
- svi->sfx = (SoundFx)grf_load_byte(&buf);
+ svi->sfx = grf_load_byte(&buf);
break;
case 0x11: // Cargos available for refitting
@@ -1053,7 +1053,7 @@ static ChangeInfoResult AircraftVehicleChangeInfo(uint engine, int numinfo, int
break;
case 0x12: // SFX
- avi->sfx = (SoundFx)grf_load_byte(&buf);
+ avi->sfx = grf_load_byte(&buf);
break;
case 0x13: // Cargos available for refitting
@@ -2020,7 +2020,7 @@ static ChangeInfoResult SoundEffectChangeInfo(uint sid, int numinfo, int prop, b
}
for (int i = 0; i < numinfo; i++) {
- uint sound = sid + i + _cur_grffile->sound_offset - ORIGINAL_SAMPLE_COUNT;
+ SoundID sound = sid + i + _cur_grffile->sound_offset - ORIGINAL_SAMPLE_COUNT;
if (sound >= GetNumSounds()) {
grfmsg(1, "SoundEffectChangeInfo: Sound %d not defined (max %d)", sound, GetNumSounds());
@@ -2037,7 +2037,7 @@ static ChangeInfoResult SoundEffectChangeInfo(uint sid, int numinfo, int prop, b
break;
case 0x0A: { // Override old sound
- uint orig_sound = grf_load_byte(&buf);
+ SoundID orig_sound = grf_load_byte(&buf);
if (orig_sound >= ORIGINAL_SAMPLE_COUNT) {
grfmsg(1, "SoundEffectChangeInfo: Original sound %d not defined (max %d)", orig_sound, ORIGINAL_SAMPLE_COUNT);
diff --git a/src/newgrf_sound.cpp b/src/newgrf_sound.cpp
index 72f2da840..1ea568f32 100644
--- a/src/newgrf_sound.cpp
+++ b/src/newgrf_sound.cpp
@@ -34,7 +34,7 @@ void InitializeSoundPool()
}
-FileEntry *GetSound(uint index)
+FileEntry *GetSound(SoundID index)
{
if (index >= GetNumSounds()) return NULL;
return GetSoundInternal(index);
diff --git a/src/newgrf_sound.h b/src/newgrf_sound.h
index 43d5f9691..7def7b280 100644
--- a/src/newgrf_sound.h
+++ b/src/newgrf_sound.h
@@ -23,9 +23,9 @@ enum VehicleSoundEvent {
FileEntry *AllocateFileEntry();
void InitializeSoundPool();
-FileEntry *GetSound(uint index);
+FileEntry *GetSound(SoundID sound_id);
uint GetNumSounds();
bool PlayVehicleSound(const Vehicle *v, VehicleSoundEvent event);
-bool PlayTileSound(const struct GRFFile *file, uint16 sound_id, TileIndex tile);
+bool PlayTileSound(const struct GRFFile *file, SoundID sound_id, TileIndex tile);
#endif /* NEWGRF_SOUND_H */
diff --git a/src/news_type.h b/src/news_type.h
index 3372e1308..4efcacb05 100644
--- a/src/news_type.h
+++ b/src/news_type.h
@@ -5,6 +5,7 @@
#ifndef NEWS_TYPE_H
#define NEWS_TYPE_H
+#include "core/enum_type.hpp"
#include "date_type.h"
#include "strings_type.h"
#include "sound_type.h"
diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp
index 8dcb8572e..c3d8d58c9 100644
--- a/src/roadveh_cmd.cpp
+++ b/src/roadveh_cmd.cpp
@@ -690,7 +690,7 @@ TileIndex RoadVehicle::GetOrderStationLocation(StationID station)
static void StartRoadVehSound(const Vehicle *v)
{
if (!PlayVehicleSound(v, VSE_START)) {
- SoundFx s = RoadVehInfo(v->engine_type)->sfx;
+ SoundID s = RoadVehInfo(v->engine_type)->sfx;
if (s == SND_19_BUS_START_PULL_AWAY && (v->tick_counter & 3) == 0)
s = SND_1A_BUS_START_PULL_AWAY_WITH_HORN;
SndPlayVehicleFx(s, v);
diff --git a/src/sound.cpp b/src/sound.cpp
index a12b2b840..b5bc93ec5 100644
--- a/src/sound.cpp
+++ b/src/sound.cpp
@@ -123,11 +123,11 @@ bool SoundInitialize(const char *filename)
}
/* Low level sound player */
-static void StartSound(uint sound, int panning, uint volume)
+static void StartSound(SoundID sound_id, int panning, uint volume)
{
if (volume == 0) return;
- const FileEntry *fe = GetSound(sound);
+ const FileEntry *fe = GetSound(sound_id);
if (fe == NULL) return;
MixerChannel *mc = MxAllocateChannel();
@@ -195,7 +195,7 @@ void SndCopyToPool()
* @param top Top edge of virtual coordinates where the sound is produced
* @param bottom Bottom edge of virtual coordinates where the sound is produced
*/
-static void SndPlayScreenCoordFx(SoundFx sound, int left, int right, int top, int bottom)
+static void SndPlayScreenCoordFx(SoundID sound, int left, int right, int top, int bottom)
{
if (msf.effect_vol == 0) return;
@@ -220,7 +220,7 @@ static void SndPlayScreenCoordFx(SoundFx sound, int left, int right, int top, in
}
}
-void SndPlayTileFx(SoundFx sound, TileIndex tile)
+void SndPlayTileFx(SoundID sound, TileIndex tile)
{
/* emits sound from center of the tile */
int x = min(MapMaxX() - 1, TileX(tile)) * TILE_SIZE + TILE_SIZE / 2;
@@ -232,7 +232,7 @@ void SndPlayTileFx(SoundFx sound, TileIndex tile)
SndPlayScreenCoordFx(sound, pt.x, pt2.x, pt.y, pt2.y);
}
-void SndPlayVehicleFx(SoundFx sound, const Vehicle *v)
+void SndPlayVehicleFx(SoundID sound, const Vehicle *v)
{
SndPlayScreenCoordFx(sound,
v->coord.left, v->coord.right,
@@ -240,7 +240,7 @@ void SndPlayVehicleFx(SoundFx sound, const Vehicle *v)
);
}
-void SndPlayFx(SoundFx sound)
+void SndPlayFx(SoundID sound)
{
StartSound(sound, 0, msf.effect_vol);
}
diff --git a/src/sound_func.h b/src/sound_func.h
index 8de679cd1..10858c463 100644
--- a/src/sound_func.h
+++ b/src/sound_func.h
@@ -13,9 +13,9 @@ extern MusicFileSettings msf;
bool SoundInitialize(const char *filename);
-void SndPlayTileFx(SoundFx sound, TileIndex tile);
-void SndPlayVehicleFx(SoundFx sound, const Vehicle *v);
-void SndPlayFx(SoundFx sound);
+void SndPlayTileFx(SoundID sound, TileIndex tile);
+void SndPlayVehicleFx(SoundID sound, const Vehicle *v);
+void SndPlayFx(SoundID sound);
void SndCopyToPool();
#endif /* SOUND_FUNC_H */
diff --git a/src/sound_type.h b/src/sound_type.h
index 0879ff717..63e9986fc 100644
--- a/src/sound_type.h
+++ b/src/sound_type.h
@@ -5,8 +5,6 @@
#ifndef SOUND_TYPE_H
#define SOUND_TYPE_H
-#include "core/enum_type.hpp"
-
struct MusicFileSettings {
byte playlist;
byte music_vol;
@@ -106,11 +104,9 @@ enum SoundFx {
SND_END
};
-/** Define basic enum properties */
-template <> struct EnumPropsT<SoundFx> : MakeEnumPropsT<SoundFx, byte, SND_BEGIN, SND_END, SND_END> {};
-typedef TinyEnumT<SoundFx> SoundFxByte;
-
/** The number of sounds in the original sample.cat */
static const uint ORIGINAL_SAMPLE_COUNT = 73;
+typedef uint16 SoundID;
+
#endif /* SOUND_TYPE_H */
diff --git a/src/table/engines.h b/src/table/engines.h
index c014a7e0c..b020e9cc7 100644
--- a/src/table/engines.h
+++ b/src/table/engines.h
@@ -518,7 +518,7 @@ static const RailVehicleInfo _orig_rail_vehicle_info[] = {
* @param g sound effect
* @param h refittable
*/
-#define SVI(a, b, c, d, e, f, g, h) { a, b, c, d, e, f, {g}, h }
+#define SVI(a, b, c, d, e, f, g, h) { a, b, c, d, e, f, g, h }
static const ShipVehicleInfo _orig_ship_vehicle_info[] = {
/* image_index cargo_type cargo_amount refittable
* | base_cost | | running_cost |
@@ -550,7 +550,7 @@ static const ShipVehicleInfo _orig_ship_vehicle_info[] = {
* @param h mail_capacity
* @param i passenger_capacity
*/
-#define AVI(a, b, c, d, e, f, g, h, i) { a, b, c, d, {e}, f, (g * 129) / 10, h, i }
+#define AVI(a, b, c, d, e, f, g, h, i) { a, b, c, d, e, f, (g * 129) / 10, h, i }
#define H AIR_HELI
#define P AIR_CTOL
#define J AIR_CTOL | AIR_FAST
@@ -619,7 +619,7 @@ static const AircraftVehicleInfo _orig_aircraft_vehicle_info[] = {
* @param h weight (1/4ton)
* @param i power (10hp)
*/
-#define ROV(a, b, c, d, e, f, g, h, i) { a, b, c, RC_R, {d}, e, f, g, h, i, 76, 0 }
+#define ROV(a, b, c, d, e, f, g, h, i) { a, b, c, RC_R, d, e, f, g, h, i, 76, 0 }
static const RoadVehicleInfo _orig_road_vehicle_info[] = {
/* image_index sfx max_speed
* | base_cost | | capacity