src/sound.h
changeset 5838 9c3129cb019b
parent 5726 8f399788f6c9
child 6298 c30fe89622df
child 6573 7624f942237f
equal deleted inserted replaced
5837:96b4b92b86ae 5838:9c3129cb019b
     1 /* $Id$ */
     1 /* $Id$ */
     2 
     2 
     3 #ifndef SOUND_H
     3 #ifndef SOUND_H
     4 #define SOUND_H
     4 #define SOUND_H
       
     5 
       
     6 #include "helpers.hpp"
     5 
     7 
     6 typedef struct MusicFileSettings {
     8 typedef struct MusicFileSettings {
     7 	byte playlist;
     9 	byte playlist;
     8 	byte music_vol;
    10 	byte music_vol;
     9 	byte effect_vol;
    11 	byte effect_vol;
    28 
    30 
    29 bool SoundInitialize(const char *filename);
    31 bool SoundInitialize(const char *filename);
    30 uint GetNumOriginalSounds(void);
    32 uint GetNumOriginalSounds(void);
    31 
    33 
    32 typedef enum SoundFx {
    34 typedef enum SoundFx {
    33 	SND_02_SPLAT,                          //  0 == 0x00 !
    35 	SND_BEGIN = 0,
       
    36 	SND_02_SPLAT = 0,                          //  0 == 0x00 !
    34 	SND_03_FACTORY_WHISTLE,
    37 	SND_03_FACTORY_WHISTLE,
    35 	SND_04_TRAIN,
    38 	SND_04_TRAIN,
    36 	SND_05_TRAIN_THROUGH_TUNNEL,
    39 	SND_05_TRAIN_THROUGH_TUNNEL,
    37 	SND_06_SHIP_HORN,
    40 	SND_06_SHIP_HORN,
    38 	SND_07_FERRY_HORN,
    41 	SND_07_FERRY_HORN,
   100 	SND_43_LION,
   103 	SND_43_LION,
   101 	SND_44_MONKEYS,
   104 	SND_44_MONKEYS,
   102 	SND_45_PLANE_CRASHING,
   105 	SND_45_PLANE_CRASHING,
   103 	SND_46_PLANE_ENGINE_SPUTTERING,
   106 	SND_46_PLANE_ENGINE_SPUTTERING,
   104 	SND_47_MAGLEV_2,
   107 	SND_47_MAGLEV_2,
   105 	SND_48_DISTANT_BIRD                    // 72 == 0x48
   108 	SND_48_DISTANT_BIRD,                    // 72 == 0x48
       
   109 	SND_END
   106 } SoundFx;
   110 } SoundFx;
       
   111 
       
   112 /** Define basic enum properties */
       
   113 template <> struct EnumPropsT<SoundFx> : MakeEnumPropsT<SoundFx, byte, SND_BEGIN, SND_END, SND_END> {};
       
   114 typedef TinyEnumT<SoundFx> SoundFxByte;
   107 
   115 
   108 void SndPlayTileFx(SoundFx sound, TileIndex tile);
   116 void SndPlayTileFx(SoundFx sound, TileIndex tile);
   109 void SndPlayVehicleFx(SoundFx sound, const Vehicle *v);
   117 void SndPlayVehicleFx(SoundFx sound, const Vehicle *v);
   110 void SndPlayFx(SoundFx sound);
   118 void SndPlayFx(SoundFx sound);
   111 void SndCopyToPool(void);
   119 void SndCopyToPool(void);