OpenTTD Source  20241108-master-g80f628063a
newgrf_sound.h File Reference

Functions related to NewGRF provided sounds. More...

#include "sound_type.h"
#include "tile_type.h"
#include "vehicle_type.h"

Go to the source code of this file.

Enumerations

enum  VehicleSoundEvent {
  VSE_START = 1 , VSE_TUNNEL = 2 , VSE_BREAKDOWN = 3 , VSE_RUNNING = 4 ,
  VSE_TOUCHDOWN = 5 , VSE_VISUAL_EFFECT = 6 , VSE_RUNNING_16 = 7 , VSE_STOPPED_16 = 8 ,
  VSE_LOAD_UNLOAD = 9
}
 Events at which a sound might be played. More...
 

Functions

SoundEntryAllocateSound (uint num)
 Allocate sound slots. More...
 
void InitializeSoundPool ()
 
bool LoadNewGRFSound (SoundEntry *sound)
 Extract meta data from a NewGRF sound. More...
 
SoundID GetNewGRFSoundID (const struct GRFFile *file, SoundID sound_id)
 
SoundEntryGetSound (SoundID sound_id)
 
uint GetNumSounds ()
 
bool PlayVehicleSound (const Vehicle *v, VehicleSoundEvent event, bool force=false)
 Checks whether a NewGRF wants to play a different vehicle sound effect. More...
 
void PlayTileSound (const struct GRFFile *file, SoundID sound_id, TileIndex tile)
 

Detailed Description

Functions related to NewGRF provided sounds.

Definition in file newgrf_sound.h.

Enumeration Type Documentation

◆ VehicleSoundEvent

Events at which a sound might be played.

Enumerator
VSE_START 

Vehicle starting, i.e. leaving, the station.

VSE_TUNNEL 

Train entering a tunnel.

VSE_BREAKDOWN 

Vehicle breaking down.

VSE_RUNNING 

Vehicle running normally.

VSE_TOUCHDOWN 

Whenever a plane touches down.

VSE_VISUAL_EFFECT 

Vehicle visual effect (steam, diesel smoke or electric spark) is shown.

VSE_RUNNING_16 

Every 16 ticks while the vehicle is running (speed > 0).

VSE_STOPPED_16 

Every 16 ticks while the vehicle is stopped (speed == 0).

VSE_LOAD_UNLOAD 

Whenever cargo payment is made for a vehicle.

Definition at line 18 of file newgrf_sound.h.

Function Documentation

◆ AllocateSound()

SoundEntry* AllocateSound ( uint  num)

Allocate sound slots.

Parameters
numNumber of slots to allocate.
Returns
First allocated slot.

Definition at line 31 of file newgrf_sound.cpp.

◆ LoadNewGRFSound()

bool LoadNewGRFSound ( SoundEntry sound)

◆ PlayVehicleSound()

bool PlayVehicleSound ( const Vehicle v,
VehicleSoundEvent  event,
bool  force 
)

Checks whether a NewGRF wants to play a different vehicle sound effect.

Parameters
vVehicle to play sound effect for.
eventTrigger for the sound effect.
forceShould we play the sound effect even if vehicle sound effects are muted?
Returns
false if the default sound effect shall be played instead.

Definition at line 187 of file newgrf_sound.cpp.

References _settings_client, Vehicle::GetGRF(), ClientSettings::sound, and SoundSettings::vehicle.

Referenced by Vehicle::HandleBreakdown(), and Train::PlayLeaveStationSound().