OpenTTD Source: src/newgrf_sound.h File Reference

OpenTTD Source 14.1

Enumerations | Functions
newgrf_sound.h File Reference
`#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
SoundEntry * | AllocateSound (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)
SoundEntry * | GetSound (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

enum 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

  num | Number of slots to allocate.

Returns
  First allocated slot.

Definition at line 31 of file newgrf_sound.cpp.

## ◆ LoadNewGRFSound()

bool LoadNewGRFSound | ( | SoundEntry * | sound | ) |

Extract meta data from a NewGRF sound.

Parameters

  sound | Sound to load.

Returns
  True if a valid sound was loaded.

Definition at line 66 of file newgrf_sound.cpp.

References BSWAP32(), Debug, RandomAccessFile::GetPos(), RandomAccessFile::GetSimplifiedFilename(), SoundEntry::grf_container_ver, MemSetT(), RandomAccessFile::ReadBlock(), RandomAccessFile::ReadByte(), RandomAccessFile::ReadDword(), RandomAccessFile::ReadWord(), RandomAccessFile::SeekTo(), and RandomAccessFile::SkipBytes().

## ◆ PlayVehicleSound()

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

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

Parameters

  v | Vehicle to play sound effect for.
  event | Trigger for the sound effect.
  force | Should 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().