tron@2186: /* $Id$ */ tron@2186: truelight@0: #ifndef SOUND_H truelight@0: #define SOUND_H truelight@0: truelight@0: typedef struct MusicFileSettings { truelight@0: byte playlist; truelight@0: byte music_vol; truelight@0: byte effect_vol; truelight@0: byte custom_1[33]; truelight@0: byte custom_2[33]; truelight@0: bool btn_down; truelight@0: bool shuffle; pasky@1584: char extmidi[80]; truelight@0: } MusicFileSettings; truelight@0: truelight@0: VARDEF MusicFileSettings msf; truelight@0: tron@1496: bool SoundInitialize(const char *filename); truelight@0: tron@337: typedef enum SoundFx { tron@337: SND_02_SPLAT, // 0 == 0x00 ! tron@337: SND_03_FACTORY_WHISTLE, tron@337: SND_04_TRAIN, tron@337: SND_05_TRAIN_THROUGH_TUNNEL, tron@337: SND_06_SHIP_HORN, tron@337: SND_07_FERRY_HORN, tron@337: SND_08_PLANE_TAKE_OFF, tron@337: SND_09_JET, tron@337: SND_0A_TRAIN_HORN, tron@337: SND_0B_MINING_MACHINERY, tron@337: SND_0C_ELECTRIC_SPARK, tron@337: SND_0D_STEAM, tron@337: SND_0E_LEVEL_CROSSING, tron@337: SND_0F_VEHICLE_BREAKDOWN, tron@337: SND_10_TRAIN_BREAKDOWN, tron@337: SND_11_CRASH, tron@337: SND_12_EXPLOSION, // 16 == 0x10 tron@337: SND_13_BIG_CRASH, tron@337: SND_14_CASHTILL, tron@337: SND_15_BEEP, // 19 == 0x13 tron@337: SND_16_MORSE, // 20 == 0x14 tron@337: SND_17_SKID_PLANE, tron@337: SND_18_HELICOPTER, tron@337: SND_19_BUS_START_PULL_AWAY, tron@337: SND_1A_BUS_START_PULL_AWAY_WITH_HORN, tron@337: SND_1B_TRUCK_START, tron@337: SND_1C_TRUCK_START_2, tron@337: SND_1D_APPLAUSE, tron@337: SND_1E_OOOOH, tron@337: SND_1F_SPLAT, // 29 == 0x1D tron@337: SND_20_SPLAT_2, // 30 == 0x1E tron@337: SND_21_JACKHAMMER, tron@337: SND_22_CAR_HORN, tron@337: SND_23_CAR_HORN_2, tron@337: SND_24_SHEEP, tron@337: SND_25_COW, tron@337: SND_26_HORSE, tron@337: SND_27_BLACKSMITH_ANVIL, tron@337: SND_28_SAWMILL, // 38 == 0x26 ! tron@337: SND_00_GOOD_YEAR, // 39 == 0x27 ! tron@337: SND_01_BAD_YEAR, // 40 == 0x28 ! tron@337: SND_29_RIP, // 41 == 0x29 ! tron@337: SND_2A_EXTRACT_AND_POP, tron@337: SND_2B_COMEDY_HIT, tron@337: SND_2C_MACHINERY, tron@337: SND_2D_RIP_2, tron@337: SND_2E_EXTRACT_AND_POP, tron@337: SND_2F_POP, tron@337: SND_30_CARTOON_SOUND, tron@337: SND_31_EXTRACT, tron@337: SND_32_POP_2, tron@337: SND_33_PLASTIC_MINE, tron@337: SND_34_WIND, tron@337: SND_35_COMEDY_BREAKDOWN, tron@337: SND_36_CARTOON_CRASH, tron@337: SND_37_BALLOON_SQUEAK, tron@337: SND_38_CHAINSAW, tron@337: SND_39_HEAVY_WIND, tron@337: SND_3A_COMEDY_BREAKDOWN_2, tron@337: SND_3B_JET_OVERHEAD, tron@337: SND_3C_COMEDY_CAR, tron@337: SND_3D_ANOTHER_JET_OVERHEAD, tron@337: SND_3E_COMEDY_CAR_2, tron@337: SND_3F_COMEDY_CAR_3, tron@337: SND_40_COMEDY_CAR_START_AND_PULL_AWAY, tron@337: SND_41_MAGLEV, tron@337: SND_42_LOON_BIRD, tron@337: SND_43_LION, tron@337: SND_44_MONKEYS, tron@337: SND_45_PLANE_CRASHING, tron@337: SND_46_PLANE_ENGINE_SPUTTERING, tron@337: SND_47_MAGLEV_2, tron@337: SND_48_DISTANT_BIRD // 72 == 0x48 tron@337: } SoundFx; tron@337: tron@337: void SndPlayTileFx(SoundFx sound, TileIndex tile); tron@337: void SndPlayVehicleFx(SoundFx sound, const Vehicle *v); tron@337: void SndPlayFx(SoundFx sound); tron@337: truelight@0: #endif /* SOUND_H */