src/sound_type.h
branchNewGRF_ports
changeset 6872 1c4a4a609f85
child 10776 07203fc29812
equal deleted inserted replaced
6871:5a9dc001e1ad 6872:1c4a4a609f85
       
     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 */