|
1 /* $Id$ */ |
|
2 |
|
3 /** @file sound_type.h Types related to sounds. */ |
|
4 |
|
5 #ifndef SOUND_TYPE_H |
|
6 #define SOUND_TYPE_H |
|
7 |
|
8 #include "core/enum_type.hpp" |
|
9 |
|
10 struct MusicFileSettings { |
|
11 byte playlist; |
|
12 byte music_vol; |
|
13 byte effect_vol; |
|
14 byte custom_1[33]; |
|
15 byte custom_2[33]; |
|
16 bool playing; |
|
17 bool shuffle; |
|
18 char extmidi[80]; |
|
19 }; |
|
20 |
|
21 struct FileEntry { |
|
22 uint8 file_slot; |
|
23 uint32 file_offset; |
|
24 uint32 file_size; |
|
25 uint16 rate; |
|
26 uint8 bits_per_sample; |
|
27 uint8 channels; |
|
28 uint8 volume; |
|
29 uint8 priority; |
|
30 }; |
|
31 |
|
32 enum SoundFx { |
|
33 SND_BEGIN = 0, |
|
34 SND_02_SPLAT = 0, // 0 == 0x00 ! |
|
35 SND_03_FACTORY_WHISTLE, |
|
36 SND_04_TRAIN, |
|
37 SND_05_TRAIN_THROUGH_TUNNEL, |
|
38 SND_06_SHIP_HORN, |
|
39 SND_07_FERRY_HORN, |
|
40 SND_08_PLANE_TAKE_OFF, |
|
41 SND_09_JET, |
|
42 SND_0A_TRAIN_HORN, |
|
43 SND_0B_MINING_MACHINERY, |
|
44 SND_0C_ELECTRIC_SPARK, |
|
45 SND_0D_STEAM, |
|
46 SND_0E_LEVEL_CROSSING, |
|
47 SND_0F_VEHICLE_BREAKDOWN, |
|
48 SND_10_TRAIN_BREAKDOWN, |
|
49 SND_11_CRASH, |
|
50 SND_12_EXPLOSION, // 16 == 0x10 |
|
51 SND_13_BIG_CRASH, |
|
52 SND_14_CASHTILL, |
|
53 SND_15_BEEP, // 19 == 0x13 |
|
54 SND_16_MORSE, // 20 == 0x14 |
|
55 SND_17_SKID_PLANE, |
|
56 SND_18_HELICOPTER, |
|
57 SND_19_BUS_START_PULL_AWAY, |
|
58 SND_1A_BUS_START_PULL_AWAY_WITH_HORN, |
|
59 SND_1B_TRUCK_START, |
|
60 SND_1C_TRUCK_START_2, |
|
61 SND_1D_APPLAUSE, |
|
62 SND_1E_OOOOH, |
|
63 SND_1F_SPLAT, // 29 == 0x1D |
|
64 SND_20_SPLAT_2, // 30 == 0x1E |
|
65 SND_21_JACKHAMMER, |
|
66 SND_22_CAR_HORN, |
|
67 SND_23_CAR_HORN_2, |
|
68 SND_24_SHEEP, |
|
69 SND_25_COW, |
|
70 SND_26_HORSE, |
|
71 SND_27_BLACKSMITH_ANVIL, |
|
72 SND_28_SAWMILL, // 38 == 0x26 ! |
|
73 SND_00_GOOD_YEAR, // 39 == 0x27 ! |
|
74 SND_01_BAD_YEAR, // 40 == 0x28 ! |
|
75 SND_29_RIP, // 41 == 0x29 ! |
|
76 SND_2A_EXTRACT_AND_POP, |
|
77 SND_2B_COMEDY_HIT, |
|
78 SND_2C_MACHINERY, |
|
79 SND_2D_RIP_2, |
|
80 SND_2E_EXTRACT_AND_POP, |
|
81 SND_2F_POP, |
|
82 SND_30_CARTOON_SOUND, |
|
83 SND_31_EXTRACT, |
|
84 SND_32_POP_2, |
|
85 SND_33_PLASTIC_MINE, |
|
86 SND_34_WIND, |
|
87 SND_35_COMEDY_BREAKDOWN, |
|
88 SND_36_CARTOON_CRASH, |
|
89 SND_37_BALLOON_SQUEAK, |
|
90 SND_38_CHAINSAW, |
|
91 SND_39_HEAVY_WIND, |
|
92 SND_3A_COMEDY_BREAKDOWN_2, |
|
93 SND_3B_JET_OVERHEAD, |
|
94 SND_3C_COMEDY_CAR, |
|
95 SND_3D_ANOTHER_JET_OVERHEAD, |
|
96 SND_3E_COMEDY_CAR_2, |
|
97 SND_3F_COMEDY_CAR_3, |
|
98 SND_40_COMEDY_CAR_START_AND_PULL_AWAY, |
|
99 SND_41_MAGLEV, |
|
100 SND_42_LOON_BIRD, |
|
101 SND_43_LION, |
|
102 SND_44_MONKEYS, |
|
103 SND_45_PLANE_CRASHING, |
|
104 SND_46_PLANE_ENGINE_SPUTTERING, |
|
105 SND_47_MAGLEV_2, |
|
106 SND_48_DISTANT_BIRD, // 72 == 0x48 |
|
107 SND_END |
|
108 }; |
|
109 |
|
110 /** Define basic enum properties */ |
|
111 template <> struct EnumPropsT<SoundFx> : MakeEnumPropsT<SoundFx, byte, SND_BEGIN, SND_END, SND_END> {}; |
|
112 typedef TinyEnumT<SoundFx> SoundFxByte; |
|
113 |
|
114 #endif /* SOUND_TYPE_H */ |