rubidium@9723: /* $Id$ */ rubidium@9723: rubidium@9723: /** @file sound_type.h Types related to sounds. */ rubidium@9723: rubidium@9723: #ifndef SOUND_TYPE_H rubidium@9723: #define SOUND_TYPE_H rubidium@9723: rubidium@9723: #include "core/enum_type.hpp" rubidium@9723: rubidium@9723: struct MusicFileSettings { rubidium@9723: byte playlist; rubidium@9723: byte music_vol; rubidium@9723: byte effect_vol; rubidium@9723: byte custom_1[33]; rubidium@9723: byte custom_2[33]; rubidium@9723: bool playing; rubidium@9723: bool shuffle; rubidium@9723: char extmidi[80]; rubidium@9723: }; rubidium@9723: rubidium@9723: struct FileEntry { rubidium@9723: uint8 file_slot; rubidium@9723: uint32 file_offset; rubidium@9723: uint32 file_size; rubidium@9723: uint16 rate; rubidium@9723: uint8 bits_per_sample; rubidium@9723: uint8 channels; rubidium@9723: uint8 volume; rubidium@9723: uint8 priority; rubidium@9723: }; rubidium@9723: rubidium@9723: enum SoundFx { rubidium@9723: SND_BEGIN = 0, rubidium@9723: SND_02_SPLAT = 0, // 0 == 0x00 ! rubidium@9723: SND_03_FACTORY_WHISTLE, rubidium@9723: SND_04_TRAIN, rubidium@9723: SND_05_TRAIN_THROUGH_TUNNEL, rubidium@9723: SND_06_SHIP_HORN, rubidium@9723: SND_07_FERRY_HORN, rubidium@9723: SND_08_PLANE_TAKE_OFF, rubidium@9723: SND_09_JET, rubidium@9723: SND_0A_TRAIN_HORN, rubidium@9723: SND_0B_MINING_MACHINERY, rubidium@9723: SND_0C_ELECTRIC_SPARK, rubidium@9723: SND_0D_STEAM, rubidium@9723: SND_0E_LEVEL_CROSSING, rubidium@9723: SND_0F_VEHICLE_BREAKDOWN, rubidium@9723: SND_10_TRAIN_BREAKDOWN, rubidium@9723: SND_11_CRASH, rubidium@9723: SND_12_EXPLOSION, // 16 == 0x10 rubidium@9723: SND_13_BIG_CRASH, rubidium@9723: SND_14_CASHTILL, rubidium@9723: SND_15_BEEP, // 19 == 0x13 rubidium@9723: SND_16_MORSE, // 20 == 0x14 rubidium@9723: SND_17_SKID_PLANE, rubidium@9723: SND_18_HELICOPTER, rubidium@9723: SND_19_BUS_START_PULL_AWAY, rubidium@9723: SND_1A_BUS_START_PULL_AWAY_WITH_HORN, rubidium@9723: SND_1B_TRUCK_START, rubidium@9723: SND_1C_TRUCK_START_2, rubidium@9723: SND_1D_APPLAUSE, rubidium@9723: SND_1E_OOOOH, rubidium@9723: SND_1F_SPLAT, // 29 == 0x1D rubidium@9723: SND_20_SPLAT_2, // 30 == 0x1E rubidium@9723: SND_21_JACKHAMMER, rubidium@9723: SND_22_CAR_HORN, rubidium@9723: SND_23_CAR_HORN_2, rubidium@9723: SND_24_SHEEP, rubidium@9723: SND_25_COW, rubidium@9723: SND_26_HORSE, rubidium@9723: SND_27_BLACKSMITH_ANVIL, rubidium@9723: SND_28_SAWMILL, // 38 == 0x26 ! rubidium@9723: SND_00_GOOD_YEAR, // 39 == 0x27 ! rubidium@9723: SND_01_BAD_YEAR, // 40 == 0x28 ! rubidium@9723: SND_29_RIP, // 41 == 0x29 ! rubidium@9723: SND_2A_EXTRACT_AND_POP, rubidium@9723: SND_2B_COMEDY_HIT, rubidium@9723: SND_2C_MACHINERY, rubidium@9723: SND_2D_RIP_2, rubidium@9723: SND_2E_EXTRACT_AND_POP, rubidium@9723: SND_2F_POP, rubidium@9723: SND_30_CARTOON_SOUND, rubidium@9723: SND_31_EXTRACT, rubidium@9723: SND_32_POP_2, rubidium@9723: SND_33_PLASTIC_MINE, rubidium@9723: SND_34_WIND, rubidium@9723: SND_35_COMEDY_BREAKDOWN, rubidium@9723: SND_36_CARTOON_CRASH, rubidium@9723: SND_37_BALLOON_SQUEAK, rubidium@9723: SND_38_CHAINSAW, rubidium@9723: SND_39_HEAVY_WIND, rubidium@9723: SND_3A_COMEDY_BREAKDOWN_2, rubidium@9723: SND_3B_JET_OVERHEAD, rubidium@9723: SND_3C_COMEDY_CAR, rubidium@9723: SND_3D_ANOTHER_JET_OVERHEAD, rubidium@9723: SND_3E_COMEDY_CAR_2, rubidium@9723: SND_3F_COMEDY_CAR_3, rubidium@9723: SND_40_COMEDY_CAR_START_AND_PULL_AWAY, rubidium@9723: SND_41_MAGLEV, rubidium@9723: SND_42_LOON_BIRD, rubidium@9723: SND_43_LION, rubidium@9723: SND_44_MONKEYS, rubidium@9723: SND_45_PLANE_CRASHING, rubidium@9723: SND_46_PLANE_ENGINE_SPUTTERING, rubidium@9723: SND_47_MAGLEV_2, rubidium@9723: SND_48_DISTANT_BIRD, // 72 == 0x48 rubidium@9723: SND_END rubidium@9723: }; rubidium@9723: rubidium@9723: /** Define basic enum properties */ rubidium@9723: template <> struct EnumPropsT : MakeEnumPropsT {}; rubidium@9723: typedef TinyEnumT SoundFxByte; rubidium@9723: rubidium@9723: #endif /* SOUND_TYPE_H */