changeset 11937:58cf1ef548bb draft

(svn r16340) -Codechange: introduce SoundID (uint16) and use that instead of SoundFX, which was used as a byte and uint16 at different places, when the uint16 sound ID is meant.
author rubidium <rubidium@openttd.org>
date Sun, 17 May 2009 17:17:48 +0000
parents 470c8bd99dd6
children 01f75baf4cdf
files src/engine_type.h src/newgrf.cpp src/newgrf_sound.cpp src/newgrf_sound.h src/news_type.h src/roadveh_cmd.cpp src/sound.cpp src/sound_func.h src/sound_type.h src/table/engines.h
diffstat 10 files changed, 27 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/src/engine_type.h
+++ b/src/engine_type.h
@@ -62,7 +62,7 @@
 	CargoID cargo_type;
 	uint16 capacity;
 	byte running_cost;
-	SoundFxByte sfx;
+	SoundID sfx;
 	bool refittable;
 };
 
@@ -80,7 +80,7 @@
 	byte cost_factor;
 	byte running_cost;
 	byte subtype;
-	SoundFxByte sfx;
+	SoundID sfx;
 	byte acceleration;
 	uint16 max_speed;
 	byte mail_capacity;
@@ -92,7 +92,7 @@
 	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;
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -811,7 +811,7 @@
 				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 @@
 				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 @@
 				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 @@
 	}
 
 	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 @@
 				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);
--- a/src/newgrf_sound.cpp
+++ b/src/newgrf_sound.cpp
@@ -34,7 +34,7 @@
 }
 
 
-FileEntry *GetSound(uint index)
+FileEntry *GetSound(SoundID index)
 {
 	if (index >= GetNumSounds()) return NULL;
 	return GetSoundInternal(index);
--- a/src/newgrf_sound.h
+++ b/src/newgrf_sound.h
@@ -23,9 +23,9 @@
 
 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 */
--- 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"
--- a/src/roadveh_cmd.cpp
+++ b/src/roadveh_cmd.cpp
@@ -690,7 +690,7 @@
 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);
--- a/src/sound.cpp
+++ b/src/sound.cpp
@@ -123,11 +123,11 @@
 }
 
 /* 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 @@
  * @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 @@
 	}
 }
 
-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 @@
 	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 SndPlayFx(SoundFx sound)
+void SndPlayFx(SoundID sound)
 {
 	StartSound(sound, 0, msf.effect_vol);
 }
--- a/src/sound_func.h
+++ b/src/sound_func.h
@@ -13,9 +13,9 @@
 
 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 */
--- 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 @@
 	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 */
--- a/src/table/engines.h
+++ b/src/table/engines.h
@@ -518,7 +518,7 @@
  * @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 @@
  * @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 @@
  * @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