audio stuff
Collision audio and police radio stuff moved to a separate cpp's like in the original code cPoliceRadioQueue added, code refactored correspondingly cAudioManager::ServiceCollisions reversed PlayOneShotScriptObject reversed cAudioScriptObject moved to AudioScriptObject.cpp Fixed use of numbers on non-integer types (bools, pointers) enum is now used for ped audio calculation Added fixes for vehicle description in the police radio (missing vehicles and wrong colors)
This commit is contained in:
@ -1,7 +1,48 @@
|
||||
#include "common.h"
|
||||
#include "patcher.h"
|
||||
#include "AudioScriptObject.h"
|
||||
#include "Pools.h"
|
||||
|
||||
void PlayOneShotScriptObject(uint8 id, CVector const &pos)
|
||||
void
|
||||
cAudioScriptObject::Reset()
|
||||
{
|
||||
((void (__cdecl *)(uint8, CVector const &))0x57C5F0)(id, pos);
|
||||
}
|
||||
AudioId = 125;
|
||||
Posn = CVector(0.0f, 0.0f, 0.0f);
|
||||
AudioEntity = AEHANDLE_NONE;
|
||||
}
|
||||
|
||||
void *
|
||||
cAudioScriptObject::operator new(size_t sz)
|
||||
{
|
||||
return CPools::GetAudioScriptObjectPool()->New();
|
||||
}
|
||||
void *
|
||||
cAudioScriptObject::operator new(size_t sz, int handle)
|
||||
{
|
||||
return CPools::GetAudioScriptObjectPool()->New(handle);
|
||||
}
|
||||
void
|
||||
cAudioScriptObject::operator delete(void *p, size_t sz)
|
||||
{
|
||||
CPools::GetAudioScriptObjectPool()->Delete((cAudioScriptObject *)p);
|
||||
}
|
||||
void
|
||||
cAudioScriptObject::operator delete(void *p, int handle)
|
||||
{
|
||||
CPools::GetAudioScriptObjectPool()->Delete((cAudioScriptObject *)p);
|
||||
}
|
||||
|
||||
void
|
||||
PlayOneShotScriptObject(uint8 id, CVector const &pos)
|
||||
{
|
||||
cAudioScriptObject *audioScriptObject = new cAudioScriptObject();
|
||||
audioScriptObject->Posn = pos;
|
||||
audioScriptObject->AudioId = id;
|
||||
audioScriptObject->AudioEntity = AEHANDLE_NONE;
|
||||
DMAudio.CreateOneShotScriptObject(audioScriptObject);
|
||||
}
|
||||
|
||||
STARTPATCHES
|
||||
InjectHook(0x57C430, &cAudioScriptObject::Reset, PATCH_JUMP);
|
||||
InjectHook(0x57C5F0, &PlayOneShotScriptObject, PATCH_JUMP);
|
||||
ENDPATCHES
|
Reference in New Issue
Block a user