158 lines
4.2 KiB
C++
158 lines
4.2 KiB
C++
#pragma once
|
|
|
|
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
|
|
// Original PDB header: w:\tech5\engine\sound\soundshader.h
|
|
// Recovered logical types: 7
|
|
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
|
|
|
|
|
|
// IDA Local Type ordinal 1085; PDB kind: enum.
|
|
enum __bitmask soundShaderFlags_t : __int32
|
|
{
|
|
SSF_PRIVATE_SOUND = 0x1,
|
|
SSF_ANTI_PRIVATE_SOUND = 0x2,
|
|
SSF_NO_OCCLUSION = 0x4,
|
|
SSF_GLOBAL = 0x8,
|
|
SSF_OMNIDIRECTIONAL = 0x10,
|
|
SSF_FRONTDIRECTIONAL = 0x20,
|
|
SSF_REARDIRECTIONAL = 0x40,
|
|
SSF_ENVIRONMENTAL = 0x80,
|
|
SSF_CONEATTENUATION = 0x100,
|
|
SSF_LOOPING = 0x200,
|
|
SSF_PLAY_ONCE = 0x400,
|
|
SSF_SEQUENTIAL = 0x800,
|
|
SSF_NO_RANDOM_OFFSET = 0x1000,
|
|
SSF_AUTO_RESTART = 0x2000,
|
|
SSF_FLICKER = 0x4000,
|
|
SSF_NO_EFFECTS = 0x8000,
|
|
SSF_FINITE_SPEED_OF_SOUND = 0x10000,
|
|
SSF_DISTANCE_LOW_PASS = 0x20000,
|
|
SSF_LFE = 0x40000,
|
|
SSF_DISTANCE_BASED_STEREO = 0x80000,
|
|
SSF_RANDOM_LOOPING = 0x100000,
|
|
SSF_PASS_HDR = 0x200000,
|
|
SSF_BLOCK_ON_LOAD = 0x400000,
|
|
SSF_DOPPLER = 0x800000,
|
|
SSF_LOOP_FADE_IN = 0x1000000,
|
|
SSF_LOOP_FADE_OUT = 0x2000000,
|
|
};
|
|
|
|
// IDA Local Type ordinal 1087; PDB kind: enum.
|
|
enum soundShaderGroups_t : __int32
|
|
{
|
|
SSG_MASTER = 0x0,
|
|
SSG_UI = 0x1,
|
|
SSG_MUSIC_MENU = 0x2,
|
|
SSG_MUSIC_INGAME = 0x4,
|
|
SSG_SFX_GENERAL = 0x8,
|
|
SSG_AMB_CORE = 0x10,
|
|
SSG_AMB_SPOT = 0x20,
|
|
SSG_EXPLOSIONS = 0x40,
|
|
SSG_KEY_EVENTS = 0x80,
|
|
SSG_IMPACTS = 0x100,
|
|
SSG_RICO_BYS = 0x200,
|
|
SSG_MOVEMENT_AI = 0x400,
|
|
SSG_MOVEMENT_PL = 0x800,
|
|
SSG_VEH_AI = 0x1000,
|
|
SSG_VEH_PL = 0x2000,
|
|
SSG_VEH_COLLISIONS_AI = 0x4000,
|
|
SSG_VEH_COLLISIONS_PL = 0x8000,
|
|
SSG_WEAPONS_AI = 0x10000,
|
|
SSG_WEAPONS_PL = 0x20000,
|
|
SSG_SPECIAL_ENEMY_MOVEMENT = 0x40000,
|
|
SSG_SPECIAL_ENEMY_VOICE = 0x80000,
|
|
SSG_VO_PLAYER = 0x100000,
|
|
SSG_VO_EVENT = 0x200000,
|
|
SSG_VO_INGAME = 0x400000,
|
|
SSG_VO_RADIO = 0x800000,
|
|
SSG_VO_BATTLE = 0x1000000,
|
|
};
|
|
|
|
// IDA Local Type ordinal 13490; PDB kind: struct.
|
|
struct soundShaderParms_t::coneAttenuationVars_t
|
|
{
|
|
float innerAngle;
|
|
float outerAngle;
|
|
float outerVolume;
|
|
};
|
|
|
|
// IDA Local Type ordinal 13491; PDB kind: struct.
|
|
struct soundShaderParms_t::distancesBasedVars_t
|
|
{
|
|
float nearMinRange;
|
|
float farMaxRange;
|
|
};
|
|
|
|
// IDA Local Type ordinal 13493; PDB kind: struct.
|
|
struct soundShaderParms_t::maxPlayerVars_t
|
|
{
|
|
int maxShaders;
|
|
soundMaxPlaybackType_t playbackType;
|
|
};
|
|
|
|
// IDA Local Type ordinal 13494; PDB kind: struct.
|
|
struct soundShaderParms_t
|
|
{
|
|
float minDistance;
|
|
float maxDistance;
|
|
float distanceFactor;
|
|
float wetMinDistanceOffset;
|
|
float wetMaxDistanceOffset;
|
|
soundShaderParms_t::coneAttenuationVars_t coneAttenuation;
|
|
soundShaderParms_t::distancesBasedVars_t distanceBasedRanges;
|
|
randomValue_t volume;
|
|
float wetVolume;
|
|
randomValue_t pitch;
|
|
float loopFadeInDuration;
|
|
float loopFadeOutDuration;
|
|
float dopplerMultiplier;
|
|
float shakes;
|
|
float minShakeDistance;
|
|
float maxShakeDistance;
|
|
const idDeclTable *shakeFalloff;
|
|
soundShaderGroups_t groups;
|
|
soundChannel_t soundChannel;
|
|
soundShaderFlags_t soundShaderFlags;
|
|
float lowPassMinDistance;
|
|
float lowPassStrength;
|
|
float lfeVolume;
|
|
float centerChannel;
|
|
const idDeclTable *falloff;
|
|
const idDeclTable *wetFalloff;
|
|
float headroom;
|
|
soundShaderParms_t::maxPlayerVars_t maxPlay;
|
|
soundPriority_t priority;
|
|
};
|
|
|
|
// IDA Local Type ordinal 13510; PDB kind: class.
|
|
class idSoundShader : public idDeclTypeInfo
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 13734.
|
|
virtual ~idSoundShader();
|
|
virtual void LoadResource();
|
|
virtual bool ReloadIfStale();
|
|
virtual void WriteResourceFile();
|
|
virtual idResourceList *GetResourceList();
|
|
virtual void Print();
|
|
virtual void List();
|
|
virtual unsigned int GetDeclTimestamp();
|
|
virtual idDeclInfo *GetDeclInfo();
|
|
virtual bool RebuildTextSource();
|
|
virtual bool SetImplicitText();
|
|
virtual const char *DefaultDefinition();
|
|
virtual void LogMissingDecl();
|
|
virtual void Parse(idParser *);
|
|
virtual void FreeData();
|
|
virtual unsigned int Size();
|
|
|
|
soundShaderParms_t parms;
|
|
idList<idStrSound,38> soundFiles;
|
|
idList<idSoundSample *,38> entries;
|
|
const idSoundShader *preSound;
|
|
const idSoundShader *postSound;
|
|
const idSoundShader *remoteSound;
|
|
idSoundSample *nextSample;
|
|
idLinkList<idSoundChannel> playingChannels;
|
|
};
|