summaryrefslogtreecommitdiff
path: root/src/sound_type.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-12-29 09:24:26 +0000
committerrubidium <rubidium@openttd.org>2007-12-29 09:24:26 +0000
commite5e75bd8f8f7df43ff39f2cb15bd12d200f1131f (patch)
tree1d1372475980446f190e07781baf08447a9c6759 /src/sound_type.h
parent6ae93027083cf202741397d7a6584d628448ba89 (diff)
downloadopenttd-e5e75bd8f8f7df43ff39f2cb15bd12d200f1131f.tar.xz
(svn r11719) -Codechange: split sound.h in a header with types and one with functions.
Diffstat (limited to 'src/sound_type.h')
-rw-r--r--src/sound_type.h114
1 files changed, 114 insertions, 0 deletions
diff --git a/src/sound_type.h b/src/sound_type.h
new file mode 100644
index 000000000..319a8a06f
--- /dev/null
+++ b/src/sound_type.h
@@ -0,0 +1,114 @@
+/* $Id$ */
+
+/** @file sound_type.h Types related to sounds. */
+
+#ifndef SOUND_TYPE_H
+#define SOUND_TYPE_H
+
+#include "core/enum_type.hpp"
+
+struct MusicFileSettings {
+ byte playlist;
+ byte music_vol;
+ byte effect_vol;
+ byte custom_1[33];
+ byte custom_2[33];
+ bool playing;
+ bool shuffle;
+ char extmidi[80];
+};
+
+struct FileEntry {
+ uint8 file_slot;
+ uint32 file_offset;
+ uint32 file_size;
+ uint16 rate;
+ uint8 bits_per_sample;
+ uint8 channels;
+ uint8 volume;
+ uint8 priority;
+};
+
+enum SoundFx {
+ SND_BEGIN = 0,
+ SND_02_SPLAT = 0, // 0 == 0x00 !
+ SND_03_FACTORY_WHISTLE,
+ SND_04_TRAIN,
+ SND_05_TRAIN_THROUGH_TUNNEL,
+ SND_06_SHIP_HORN,
+ SND_07_FERRY_HORN,
+ SND_08_PLANE_TAKE_OFF,
+ SND_09_JET,
+ SND_0A_TRAIN_HORN,
+ SND_0B_MINING_MACHINERY,
+ SND_0C_ELECTRIC_SPARK,
+ SND_0D_STEAM,
+ SND_0E_LEVEL_CROSSING,
+ SND_0F_VEHICLE_BREAKDOWN,
+ SND_10_TRAIN_BREAKDOWN,
+ SND_11_CRASH,
+ SND_12_EXPLOSION, // 16 == 0x10
+ SND_13_BIG_CRASH,
+ SND_14_CASHTILL,
+ SND_15_BEEP, // 19 == 0x13
+ SND_16_MORSE, // 20 == 0x14
+ SND_17_SKID_PLANE,
+ SND_18_HELICOPTER,
+ SND_19_BUS_START_PULL_AWAY,
+ SND_1A_BUS_START_PULL_AWAY_WITH_HORN,
+ SND_1B_TRUCK_START,
+ SND_1C_TRUCK_START_2,
+ SND_1D_APPLAUSE,
+ SND_1E_OOOOH,
+ SND_1F_SPLAT, // 29 == 0x1D
+ SND_20_SPLAT_2, // 30 == 0x1E
+ SND_21_JACKHAMMER,
+ SND_22_CAR_HORN,
+ SND_23_CAR_HORN_2,
+ SND_24_SHEEP,
+ SND_25_COW,
+ SND_26_HORSE,
+ SND_27_BLACKSMITH_ANVIL,
+ SND_28_SAWMILL, // 38 == 0x26 !
+ SND_00_GOOD_YEAR, // 39 == 0x27 !
+ SND_01_BAD_YEAR, // 40 == 0x28 !
+ SND_29_RIP, // 41 == 0x29 !
+ SND_2A_EXTRACT_AND_POP,
+ SND_2B_COMEDY_HIT,
+ SND_2C_MACHINERY,
+ SND_2D_RIP_2,
+ SND_2E_EXTRACT_AND_POP,
+ SND_2F_POP,
+ SND_30_CARTOON_SOUND,
+ SND_31_EXTRACT,
+ SND_32_POP_2,
+ SND_33_PLASTIC_MINE,
+ SND_34_WIND,
+ SND_35_COMEDY_BREAKDOWN,
+ SND_36_CARTOON_CRASH,
+ SND_37_BALLOON_SQUEAK,
+ SND_38_CHAINSAW,
+ SND_39_HEAVY_WIND,
+ SND_3A_COMEDY_BREAKDOWN_2,
+ SND_3B_JET_OVERHEAD,
+ SND_3C_COMEDY_CAR,
+ SND_3D_ANOTHER_JET_OVERHEAD,
+ SND_3E_COMEDY_CAR_2,
+ SND_3F_COMEDY_CAR_3,
+ SND_40_COMEDY_CAR_START_AND_PULL_AWAY,
+ SND_41_MAGLEV,
+ SND_42_LOON_BIRD,
+ SND_43_LION,
+ SND_44_MONKEYS,
+ SND_45_PLANE_CRASHING,
+ SND_46_PLANE_ENGINE_SPUTTERING,
+ SND_47_MAGLEV_2,
+ SND_48_DISTANT_BIRD, // 72 == 0x48
+ SND_END
+};
+
+/** Define basic enum properties */
+template <> struct EnumPropsT<SoundFx> : MakeEnumPropsT<SoundFx, byte, SND_BEGIN, SND_END, SND_END> {};
+typedef TinyEnumT<SoundFx> SoundFxByte;
+
+#endif /* SOUND_TYPE_H */