|
OpenTTD Source 20251117-master-g7398d2e290
|
Handling NewGRF provided sounds. More...
#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 "soundloader_func.h"#include "string_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. | |
| void | InitializeSoundPool () |
| SoundEntry * | GetSound (SoundID index) |
| uint | GetNumSounds () |
| size_t | GetSoundPoolAllocatedMemory () |
| Get size of memory allocated to sound effects. | |
| bool | LoadNewGRFSound (SoundEntry &sound, SoundID sound_id) |
| Extract meta data from a NewGRF sound. | |
| SoundID | GetNewGRFSoundID (const GRFFile *file, SoundID sound_id) |
| Resolve NewGRF sound ID. | |
| bool | PlayVehicleSound (const Vehicle *v, VehicleSoundEvent event, bool force) |
| Checks whether a NewGRF wants to play a different vehicle sound effect. | |
| void | PlayTileSound (const GRFFile *file, SoundID sound_id, TileIndex tile) |
| Play a NewGRF sound effect at the location of a specific tile. | |
Variables | |
| static std::vector< SoundEntry > | _sounds |
Handling NewGRF provided sounds.
Definition in file newgrf_sound.cpp.
| SoundEntry * AllocateSound | ( | uint | num | ) |
Allocate sound slots.
| num | Number of slots to allocate. |
Definition at line 33 of file newgrf_sound.cpp.
| SoundID GetNewGRFSoundID | ( | const GRFFile * | file, |
| SoundID | sound_id | ||
| ) |
Resolve NewGRF sound ID.
| file | NewGRF to get sound from. |
| sound_id | GRF-specific sound ID. (GRF-local for IDs above ORIGINAL_SAMPLE_COUNT) |
Definition at line 125 of file newgrf_sound.cpp.
References ORIGINAL_SAMPLE_COUNT.
Referenced by AircraftVehicleChangeInfo(), PlayTileSound(), PlayVehicleSound(), RoadVehicleChangeInfo(), and ShipVehicleChangeInfo().
| uint GetNumSounds | ( | ) |
Definition at line 57 of file newgrf_sound.cpp.
| SoundEntry * GetSound | ( | SoundID | index | ) |
Definition at line 50 of file newgrf_sound.cpp.
| size_t GetSoundPoolAllocatedMemory | ( | ) |
Get size of memory allocated to sound effects.
Definition at line 66 of file newgrf_sound.cpp.
| void InitializeSoundPool | ( | ) |
Definition at line 41 of file newgrf_sound.cpp.
| bool LoadNewGRFSound | ( | SoundEntry & | sound, |
| SoundID | sound_id | ||
| ) |
Extract meta data from a NewGRF sound.
| sound | Sound to load. |
Definition at line 83 of file newgrf_sound.cpp.
References Debug, RandomAccessFile::GetSimplifiedFilename(), SoundEntry::grf_container_ver, RandomAccessFile::ReadBlock(), RandomAccessFile::ReadByte(), RandomAccessFile::ReadDword(), RandomAccessFile::ReadWord(), RandomAccessFile::SeekTo(), and StrMakeValid().
Play a NewGRF sound effect at the location of a specific tile.
| file | NewGRF triggering the sound effect. |
| sound_id | Sound effect the NewGRF wants to play. |
| tile | Location of the effect. |
Definition at line 176 of file newgrf_sound.cpp.
References GetNewGRFSoundID().
Referenced by AmbientSoundEffectCallback(), AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback, Tframehelper >::AnimateTile(), and AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback, Tframehelper >::ChangeAnimationFrame().
| bool PlayVehicleSound | ( | const Vehicle * | v, |
| VehicleSoundEvent | event, | ||
| bool | force | ||
| ) |
Checks whether a NewGRF wants to play a different vehicle sound effect.
| 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? |
Definition at line 143 of file newgrf_sound.cpp.
References _settings_client, CALLBACK_FAILED, EngineInfo::callback_mask, CBID_VEHICLE_SOUND_EFFECT, Vehicle::engine_type, Vehicle::GetGRF(), GetNewGRFSoundID(), GetVehicleCallback(), ClientSettings::sound, SoundEffect, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), and SoundSettings::vehicle.
Referenced by AircraftController(), AircraftLandAirplane(), Vehicle::HandleBreakdown(), Ship::PlayLeaveStationSound(), Train::PlayLeaveStationSound(), and Vehicle::ShowVisualEffect().
|
static |
Definition at line 25 of file newgrf_sound.cpp.