OpenTTD Source: src/newgrf_sound.cpp File Reference

OpenTTD Source 12.0-beta1

Functions | Variables
newgrf_sound.cpp File Reference
`#include "stdafx.h"`
`#include "engine_base.h"`
`#include "newgrf.h"`
`#include "newgrf_engine.h"`
`#include "newgrf_sound.h"`
`#include "vehicle_base.h"`
`#include "sound_func.h"`
`#include "random_access_file_type.h"`
`#include "debug.h"`
`#include "settings_type.h"`
`#include "safeguards.h"`

Go to the source code of this file.

## Functions
SoundEntry * | AllocateSound (uint num)
| Allocate sound slots. More...
void | InitializeSoundPool ()
SoundEntry * | GetSound (SoundID index)
uint | GetNumSounds ()
bool | LoadNewGRFSound (SoundEntry *sound)
| Extract meta data from a NewGRF sound. More...
SoundID | GetNewGRFSoundID (const GRFFile *file, SoundID sound_id)
| Resolve NewGRF sound ID. More...
bool | PlayVehicleSound (const Vehicle *v, VehicleSoundEvent event)
| Checks whether a NewGRF wants to play a different vehicle sound effect. More...
void | PlayTileSound (const GRFFile *file, SoundID sound_id, TileIndex tile)
| Play a NewGRF sound effect at the location of a specific tile. More...

## Variables
static std::vector< SoundEntry > | _sounds

## Detailed Description

Handling NewGRF provided sounds.

Definition in file newgrf_sound.cpp.

## 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.

## ◆ GetNewGRFSoundID()

SoundID GetNewGRFSoundID | ( | const GRFFile * | file,
|  | SoundID | sound_id
| ) |  |

Resolve NewGRF sound ID.

Parameters

  file | NewGRF to get sound from.
  sound_id | GRF-specific sound ID. (GRF-local for IDs above ORIGINAL_SAMPLE_COUNT)

Returns
  Translated (global) sound ID, or INVALID_SOUND.

Definition at line 169 of file newgrf_sound.cpp.

References ORIGINAL_SAMPLE_COUNT.

Referenced by PlayTileSound().

## ◆ 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.

## ◆ PlayTileSound()

void PlayTileSound | ( | const GRFFile * | file,
|  | SoundID | sound_id,
|  | TileIndex | tile
| ) |  |

Play a NewGRF sound effect at the location of a specific tile.

Parameters

  file | NewGRF triggering the sound effect.
  sound_id | Sound effect the NewGRF wants to play.
  tile | Location of the effect.

Definition at line 219 of file newgrf_sound.cpp.

References GetNewGRFSoundID().

Referenced by AnimationBase< IndustryAnimationBase, IndustryTileSpec, Industry, int, GetSimpleIndustryCallback >::ChangeAnimationFrame().

## ◆ PlayVehicleSound()

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

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.

Returns
  false if the default sound effect shall be played instead.

Definition at line 186 of file newgrf_sound.cpp.

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

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