urgh, merge and changes to RW layer in one commit.

This commit is contained in:
aap 2020-11-11 09:37:10 +01:00
commit 48d0653331
29 changed files with 4448 additions and 1189 deletions

View File

@ -122,9 +122,11 @@ workspace "reVC"
filter { "platforms:*x86*" }
architecture "x86"
floatingpoint "Fast"
filter { "platforms:*amd64*" }
architecture "amd64"
floatingpoint "Fast"
filter { "platforms:*arm*" }
architecture "ARM"
@ -185,6 +187,18 @@ project "librw"
files { path.join(Librw, "src/*.*") }
files { path.join(Librw, "src/*/*.*") }
filter { "platforms:*x86*" }
architecture "x86"
floatingpoint "Fast"
filter { "platforms:*amd64*" }
architecture "amd64"
floatingpoint "Fast"
filter "platforms:win*"
staticruntime "on"
buildoptions { "/Zc:sizedDealloc-" }
filter "platforms:bsd*"
includedirs { "/usr/local/include" }
libdirs { "/usr/local/lib" }
@ -196,6 +210,9 @@ project "librw"
libdirs { "/opt/local/lib" }
libdirs { "/usr/local/lib" }
filter "platforms:*gl3_glfw*"
staticruntime "off"
filter "platforms:*RW34*"
flags { "ExcludeFromBuild" }
filter {}
@ -286,9 +303,14 @@ project "reVC"
filter "platforms:win*"
files { addSrcFiles("src/skel/win") }
includedirs { "src/skel/win" }
buildoptions { "/Zc:sizedDealloc-" }
linkoptions "/SAFESEH:NO"
characterset ("MBCS")
targetextension ".exe"
staticruntime "on"
filter "platforms:win*glfw*"
staticruntime "off"
filter "platforms:win*oal"
includedirs { "vendor/openal-soft/include" }
@ -324,7 +346,6 @@ project "reVC"
end
filter "platforms:*RW34*"
staticruntime "on"
includedirs { "sdk/rwsdk/include/d3d8" }
libdirs { "sdk/rwsdk/lib/d3d8/release" }
links { "rwcore", "rpworld", "rpmatfx", "rpskin", "rphanim", "rtbmp", "rtquat", "rtanim", "rtcharse", "rpanisot" }

File diff suppressed because it is too large Load Diff

View File

@ -275,6 +275,7 @@ cAudioManager::ResetTimers(uint32 time)
SampleManager.SetEffectsFadeVolume(0);
SampleManager.SetMusicFadeVolume(0);
MusicManager.ResetMusicAfterReload();
m_bIsPlayerShutUp = false;
#ifdef AUDIO_OAL
SampleManager.Service();
#endif
@ -622,7 +623,6 @@ cAudioManager::AddDetailsToRequestedOrderList(uint8 sample)
m_abSampleQueueIndexTable[m_nActiveSampleQueue][i] = sample;
}
// --MIAMI: Done
void
cAudioManager::AddReflectionsToRequestedQueue()
{
@ -684,7 +684,6 @@ cAudioManager::AddReflectionsToRequestedQueue()
m_sQueueSample.m_fDistance = oldDist;
}
// --MIAMI: Done
void
cAudioManager::UpdateReflections()
{

View File

@ -1,9 +1,10 @@
#pragma once
#pragma once
#include "audio_enums.h"
#include "AudioCollision.h"
#include "PoliceRadio.h"
#include "VehicleModelInfo.h"
#include "Vehicle.h"
class tSound
{
@ -59,7 +60,7 @@ VALIDATE_SIZE(tAudioEntity, 40);
class tPedComment
{
public:
int32 m_nSampleIndex;
uint32 m_nSampleIndex;
int32 m_nEntityIndex;
CVector m_vecPos;
float m_fDistance;
@ -76,8 +77,10 @@ public:
uint8 m_nIndexMap[NUM_PED_COMMENTS_BANKS][NUM_PED_COMMENTS_SLOTS];
uint8 m_nCommentsInBank[NUM_PED_COMMENTS_BANKS];
uint8 m_nActiveBank;
#ifdef GTA_PC
bool m_bDelay;
uint32 m_nDelayTimer;
#endif
cPedComments()
{
@ -91,11 +94,11 @@ public:
m_nCommentsInBank[i] = 0;
m_nActiveBank = 0;
}
void Add(tPedComment *com);
void Process();
void Add(tPedComment *com); // done
void Process(); // done
};
VALIDATE_SIZE(cPedComments, 1164);
VALIDATE_SIZE(cPedComments, 0x490);
class CEntity;
@ -200,7 +203,7 @@ public:
uint8 m_nPlayerMood;
uint32 m_nPlayerMoodTimer;
uint8 field_rest[4];
uint8 field_4B3C;
bool m_bGenericSfx;
cPedComments m_sPedComments;
int32 m_nFireAudioEntity;
@ -228,8 +231,8 @@ public:
~cAudioManager();
// getters
uint32 GetFrameCounter() const { return m_FrameCounter; }
float GetReflectionsDistance(int32 idx) const { return m_afReflectionsDistances[idx]; }
uint32 GetFrameCounter() const { return m_FrameCounter; } // done
float GetReflectionsDistance(int32 idx) const { return m_afReflectionsDistances[idx]; } // done
int32 GetRandomNumber(int32 idx) const { return m_anRandomTable[idx]; }
int32 GetRandomNumberInRange(int32 idx, int32 low, int32 high) const { return (m_anRandomTable[idx] % (high - low + 1)) + low; }
bool IsMissionAudioSamplePlaying(uint8 slot) const; // { return m_sMissionAudio.m_nPlayStatus == 1; }
@ -246,7 +249,7 @@ public:
void CalculateDistance(bool &condition, float dist); // done
bool CheckForAnAudioFileOnCD() const; // done
void ClearActiveSamples(); // done
void ClearMissionAudio(uint8 slot); // done
void ClearMissionAudio(uint8 slot); // done (inlined in vc)
void ClearRequestedQueue(); // done (inlined in vc)
uint32 ComputeDopplerEffectedFrequency(uint32 oldFreq, float position1, float position2, float speedMultiplier) const; // done
int32 ComputePan(float, CVector *); // done
@ -259,10 +262,104 @@ public:
// functions returning talk sfx,
// order from GetPedCommentSfx
// TODO: miami
uint32 GetPlayerTalkSfx(CPed *ped, int16 sound);
uint32 GetCopTalkSfx(CPed *ped, int16 sound);
uint32 GetSwatTalkSfx(CPed *ped, int16 sound);
uint32 GetFBITalkSfx(CPed *ped, int16 sound);
uint32 GetArmyTalkSfx(CPed *ped, int16 sound);
uint32 GetMedicTalkSfx(CPed *ped, int16 sound);
uint32 GetFiremanTalkSfx(CPed *ped, int16 sound);
uint32 GetDefaultTalkSfx(CPed *ped, int16 sound);
uint32 GetHFYSTTalkSfx(CPed *ped, int16 sound);
uint32 GetHFOSTTalkSfx(CPed *ped, int16 sound);
uint32 GetHMYSTTalkSfx(CPed *ped, int16 sound);
uint32 GetHMOSTTalkSfx(CPed *ped, int16 sound);
uint32 GetHFYRITalkSfx(CPed *ped, int16 sound);
uint32 GetHFORITalkSfx(CPed *ped, int16 sound);
uint32 GetHMYRITalkSfx(CPed *ped, int16 sound);
uint32 GetHMORITalkSfx(CPed *ped, int16 sound);
uint32 GetHFYBETalkSfx(CPed *ped, int16 sound);
uint32 GetHFOBETalkSfx(CPed *ped, int16 sound);
uint32 GetHMYBETalkSfx(CPed *ped, int16 sound);
uint32 GetHMOBETalkSfx(CPed *ped, int16 sound);
uint32 GetHFYBUTalkSfx(CPed *ped, int16 sound);
uint32 GetHFYMDTalkSfx(CPed *ped, int16 sound);
uint32 GetHFYCGTalkSfx(CPed *ped, int16 sound);
uint32 GetHFYPRTalkSfx(CPed *ped, int16 sound);
uint32 GetHFOTRTalkSfx(CPed *ped, int16 sound);
uint32 GetHMOTRTalkSfx(CPed *ped, int16 sound);
uint32 GetHMYAPTalkSfx(CPed *ped, int16 sound);
uint32 GetHMOCATalkSfx(CPed *ped, int16 sound);
uint32 GetBMODKTalkSfx(CPed *ped, int16 sound);
uint32 GetBMYCRTalkSfx(CPed *ped, int16 sound);
uint32 GetBFYSTTalkSfx(CPed *ped, int16 sound);
uint32 GetBFOSTTalkSfx(CPed *ped, int16 sound);
uint32 GetBMYSTTalkSfx(CPed *ped, int16 sound);
uint32 GetBMOSTTalkSfx(CPed *ped, int16 sound);
uint32 GetBFYRITalkSfx(CPed *ped, int16 sound);
uint32 GetBFORITalkSfx(CPed *ped, int16 sound);
uint32 GetBMYRITalkSfx(CPed *ped, int16 sound);
uint32 GetBFYBETalkSfx(CPed *ped, int16 sound);
uint32 GetBMYBETalkSfx(CPed *ped, int16 sound);
uint32 GetBFOBETalkSfx(CPed *ped, int16 sound);
uint32 GetBMOBETalkSfx(CPed *ped, int16 sound);
uint32 GetBMYBUTalkSfx(CPed *ped, int16 sound);
uint32 GetBFYPRTalkSfx(CPed *ped, int16 sound);
uint32 GetBFOTRTalkSfx(CPed *ped, int16 sound);
uint32 GetBMOTRTalkSfx(CPed *ped, int16 sound);
uint32 GetBMYPITalkSfx(CPed *ped, int16 sound);
uint32 GetBMYBBTalkSfx(CPed *ped, int16 sound);
uint32 GetWMYCRTalkSfx(CPed *ped, int16 sound);
uint32 GetWFYSTTalkSfx(CPed *ped, int16 sound);
uint32 GetWFOSTTalkSfx(CPed *ped, int16 sound);
uint32 GetWMYSTTalkSfx(CPed *ped, int16 sound);
uint32 GetWMOSTTalkSfx(CPed *ped, int16 sound);
uint32 GetWFYRITalkSfx(CPed *ped, int16 sound);
uint32 GetWFORITalkSfx(CPed *ped, int16 sound);
uint32 GetWMYRITalkSfx(CPed *ped, int16 sound);
uint32 GetWMORITalkSfx(CPed *ped, int16 sound);
uint32 GetWFYBETalkSfx(CPed *ped, int16 sound);
uint32 GetWMYBETalkSfx(CPed *ped, int16 sound);
uint32 GetWFOBETalkSfx(CPed *ped, int16 sound);
uint32 GetWMOBETalkSfx(CPed *ped, int16 sound);
uint32 GetWMYCWTalkSfx(CPed *ped, int16 sound);
uint32 GetWMYGOTalkSfx(CPed *ped, int16 sound);
uint32 GetWFOGOTalkSfx(CPed *ped, int16 sound);
uint32 GetWMOGOTalkSfx(CPed *ped, int16 sound);
uint32 GetWFYLGTalkSfx(CPed *ped, int16 sound);
uint32 GetWMYLGTalkSfx(CPed *ped, int16 sound);
uint32 GetWFYBUTalkSfx(CPed *ped, int16 sound);
uint32 GetWMYBUTalkSfx(CPed *ped, int16 sound);
uint32 GetWMOBUTalkSfx(CPed *ped, int16 sound);
uint32 GetWFYPRTalkSfx(CPed *ped, int16 sound);
uint32 GetWFOTRTalkSfx(CPed *ped, int16 sound);
uint32 GetWMOTRTalkSfx(CPed *ped, int16 sound);
uint32 GetWMYPITalkSfx(CPed *ped, int16 sound);
uint32 GetWMOCATalkSfx(CPed *ped, int16 sound);
uint32 GetWFYJGTalkSfx(CPed *ped, int16 sound);
uint32 GetWMYJGTalkSfx(CPed *ped, int16 sound);
uint32 GetWFYSKTalkSfx(CPed *ped, int16 sound);
uint32 GetWMYSKTalkSfx(CPed *ped, int16 sound);
uint32 GetWFYSHTalkSfx(CPed *ped, int16 sound);
uint32 GetWFOSHTalkSfx(CPed *ped, int16 sound);
uint32 GetJFOTOTalkSfx(CPed *ped, int16 sound);
uint32 GetJMOTOTalkSfx(CPed *ped, int16 sound);
uint32 GetCBTalkSfx(CPed *ped, int16 sound);
uint32 GetHNTalkSfx(CPed *ped, int16 sound);
uint32 GetSGTalkSfx(CPed *ped, int16 sound);
uint32 GetCLTalkSfx(CPed *ped, int16 sound);
uint32 GetGDTalkSfx(CPed *ped, int16 sound);
uint32 GetBKTalkSfx(CPed *ped, int16 sound);
uint32 GetPGTalkSfx(CPed *ped, int16 sound);
uint32 GetVICETalkSfx(CPed *ped, int16 sound, int16 model);
uint32 GetWFYG1TalkSfx(CPed *ped, int16 sound);
uint32 GetWFYG2TalkSfx(CPed *ped, int16 sound);
uint32 GetGenericMaleTalkSfx(CPed *ped, int16 sound); // todo names (inlined in vc)
uint32 GetGenericFemaleTalkSfx(CPed *ped, int16 sound); // todo names (inlined in vc)
// end of functions returning talk sfx
void GenerateIntegerRandomNumberTable();
void GenerateIntegerRandomNumberTable(); // done
char *Get3DProviderName(uint8 id) const;
uint8 GetCDAudioDriveLetter() const;
int8 GetCurrent3DProviderIndex() const;
@ -275,109 +372,110 @@ public:
uint8 GetMissionAudioLoadingStatus(uint8 slot) const; // done
int8 GetMissionScriptPoliceAudioPlayingStatus() const;
uint8 GetNum3DProvidersAvailable() const; // done
int32 GetPedCommentSfx(CPed *ped, int32 sound);
void GetPhrase(uint32 *phrase, uint32 *prevPhrase, uint32 sample, uint32 maxOffset) const;
float GetVehicleDriveWheelSkidValue(uint8 wheel, CAutomobile *automobile, cTransmission *transmission, float velocityChange);
float GetVehicleNonDriveWheelSkidValue(uint8 wheel, CAutomobile *automobile, cTransmission *transmission, float velocityChange);
uint32 GetPedCommentSfx(CPed *ped, int32 sound);
void GetPhrase(uint32 &phrase, uint32 &prevPhrase, uint32 sample, uint32 maxOffset) const;
float GetVehicleDriveWheelSkidValue(CVehicle* veh, tWheelState wheelState, float gasPedalAudio, cTransmission* transmission, float velocityChange); // done
float GetVehicleNonDriveWheelSkidValue(CVehicle* veh, tWheelState wheelState, cTransmission* transmission, float velocityChange); // done
bool HasAirBrakes(int32 model) const; // done
void Initialise(); // done
void InitialisePoliceRadio();
void InitialisePoliceRadioZones();
void InitialisePoliceRadio(); //done
void InitialisePoliceRadioZones(); //done
void InterrogateAudioEntities(); // done
bool IsAudioInitialised() const;
bool IsMissionAudioSampleFinished(uint8 slot);
bool IsAudioInitialised() const; // done
bool IsMissionAudioSampleFinished(uint8 slot); // done
bool IsMP3RadioChannelAvailable() const; // done
bool MissionScriptAudioUsesPoliceChannel(int32 soundMission) const;
bool MissionScriptAudioUsesPoliceChannel(int32 soundMission) const; //done
void PlayLoadedMissionAudio(uint8 slot); // done
void PlayOneShot(int32 index, int16 sound, float vol); // done
void PlaySuspectLastSeen(float x, float y, float z); //
void PlaySuspectLastSeen(float x, float y, float z); // done
void PlayerJustGotInCar() const; // done
void PlayerJustLeftCar() const; // done
void PostInitialiseGameSpecificSetup(); //
void PostInitialiseGameSpecificSetup(); // done
void PostTerminateGameSpecificShutdown(); // done
void PreInitialiseGameSpecificSetup() const; // done
void PreloadMissionAudio(uint8 slot, Const char *name); // done
void PreTerminateGameSpecificShutdown(); // done
/// processX - main logic of adding new sounds
void ProcessActiveQueues(); //done
bool ProcessAirBrakes(cVehicleParams *params);
bool ProcessBoatEngine(cVehicleParams *params);
bool ProcessBoatMovingOverWater(cVehicleParams *params);
void ProcessActiveQueues(); // done
bool ProcessAirBrakes(cVehicleParams& params); // done
bool ProcessBoatEngine(cVehicleParams& params);
bool ProcessBoatMovingOverWater(cVehicleParams& params);
#ifdef GTA_BRIDGE
void ProcessBridge();
void ProcessBridgeMotor();
void ProcessBridgeOneShots();
void ProcessBridgeWarning();
void ProcessBridge(); // done(bcs not exists in VC)
void ProcessBridgeMotor(); // done(bcs not exists in VC)
void ProcessBridgeOneShots(); // done(bcs not exists in VC)
void ProcessBridgeWarning(); // done(bcs not exists in VC)
#endif
bool ProcessCarBombTick(cVehicleParams *params); // done
void ProcessCesna(cVehicleParams *params); //
//void ProcessCrane(); //
bool ProcessEngineDamage(cVehicleParams *params); // done
bool ProcessCarBombTick(cVehicleParams& params); // done
void ProcessCarHeli(cVehicleParams& params); // done
void ProcessCesna(cVehicleParams& params); //
//void ProcessCrane(); // done(bcs not exists in VC)
bool ProcessEngineDamage(cVehicleParams& params); // done
void ProcessEntity(int32 sound); // done
void ProcessExplosions(int32 explosion); // done
void ProcessFireHydrant(); // done
void ProcessFires(int32 entity); //
void ProcessFires(int32 entity); // done
void ProcessFrontEnd(); // done
void ProcessGarages(); //
void ProcessCarHeli(cVehicleParams* params); // done
void ProcessVehicleFlatTyre(cVehicleParams* params); // done
void ProcessJumbo(cVehicleParams *); //
void ProcessJumboAccel(CPlane *plane); //
void ProcessJumboDecel(CPlane *plane); //
void ProcessJumboFlying(); //
void ProcessJumboLanding(CPlane *plane); //
void ProcessJumboTakeOff(CPlane *plane); //
void ProcessJumboTaxi(); //
void ProcessJumbo(cVehicleParams& params); // done
void ProcessJumboAccel(CPlane *plane); // done
void ProcessJumboDecel(CPlane *plane); // done
void ProcessJumboFlying(); // done
void ProcessJumboLanding(CPlane *plane); // done
void ProcessJumboTakeOff(CPlane *plane); // done
void ProcessJumboTaxi(); // done
void ProcessLoopingScriptObject(uint8 sound); //
void ProcessMissionAudio(); //
void ProcessMissionAudioSlot(uint8 slot); //
void ProcessModelCarEngine(cVehicleParams *params); //
void ProcessModelHeliVehicle(cVehicleParams& params); // done
void ProcessModelVehicle(cVehicleParams& params); // done
void ProcessOneShotScriptObject(uint8 sound); //
void ProcessPed(CPhysical *ped); //
void ProcessPed(CPhysical *ped); // done
void ProcessPedOneShots(cPedParams *params); //
void ProcessPhysical(int32 id); // done
void ProcessPlane(cVehicleParams *params); // done
void ProcessPlayersVehicleEngine(cVehicleParams *params, CVehicle* veh); // done
void ProcessProjectiles(); //
void ProcessRainOnVehicle(cVehicleParams *params); //
void ProcessReverb() const; //
bool ProcessReverseGear(cVehicleParams *params); // done
void ProcessPlane(cVehicleParams& params); // done
void ProcessPlayerMood(); // done
void ProcessPlayersVehicleEngine(cVehicleParams& params, CVehicle* veh); // done
void ProcessProjectiles(); // done
void ProcessRainOnVehicle(cVehicleParams& params); // done
void ProcessReverb() const; // done
bool ProcessReverseGear(cVehicleParams& params); // done
void ProcessScriptObject(int32 id); // done
void ProcessSpecial();
void ProcessSpecial(); // done
#ifdef GTA_TRAIN
bool ProcessTrainNoise(cVehicleParams *params);
bool ProcessTrainNoise(cVehicleParams *params); //done(bcs not exists in VC)
#endif
void ProcessVehicle(CVehicle *vehicle); //done, but need add model functions
bool ProcessVehicleDoors(cVehicleParams *params); //done
void ProcessVehicleEngine(cVehicleParams *params); //done
void UpdateGasPedalAudio(CVehicle* veh, int vehType); //done
void ProcessVehicleHorn(cVehicleParams *params);
void ProcessVehicleOneShots(cVehicleParams *params);
bool ProcessVehicleReverseWarning(cVehicleParams *params);
bool ProcessVehicleRoadNoise(cVehicleParams *params);
bool ProcessVehicleSirenOrAlarm(cVehicleParams *params);
bool ProcessVehicleSkidding(cVehicleParams *params);
void ProcessWaterCannon(int32);
void ProcessWeather(int32 id); //done
bool ProcessWetRoadNoise(cVehicleParams *params);
void ProcessEscalators(); //done
void ProcessExtraSounds(); //done
void ProcessVehicle(CVehicle *vehicle); // done
bool ProcessVehicleDoors(cVehicleParams& params); // done
void ProcessVehicleEngine(cVehicleParams& params); // done
void ProcessVehicleFlatTyre(cVehicleParams& params); // done
bool ProcessVehicleHorn(cVehicleParams& params); // done
void ProcessVehicleOneShots(cVehicleParams& params); // done
bool ProcessVehicleReverseWarning(cVehicleParams& params); // done
bool ProcessVehicleRoadNoise(cVehicleParams& params); // done
bool ProcessVehicleSirenOrAlarm(cVehicleParams& params); // done
bool ProcessVehicleSkidding(cVehicleParams& params); // done
void ProcessWaterCannon(int32); // done
void ProcessWeather(int32 id); // done
bool ProcessWetRoadNoise(cVehicleParams& params); // done
void ProcessEscalators(); // done
void ProcessExtraSounds(); // done
int32 RandomDisplacement(uint32 seed) const;
int32 RandomDisplacement(uint32 seed) const; // done
void ReacquireDigitalHandle() const; // done
void ReleaseDigitalHandle() const; // done
void ReportCollision(CEntity *entity1, CEntity *entity2, uint8 surface1, uint8 surface2, float collisionPower, float intensity2); // done
void ReportCrime(eCrimeType crime, const CVector &pos); // done
void ResetAudioLogicTimers(uint32 timer);
void ResetPoliceRadio();
void ResetTimers(uint32 time);
void ReportCrime(eCrimeType crime, const CVector &pos); // done
void ResetAudioLogicTimers(uint32 timer); // done
void ResetPoliceRadio(); // done
void ResetTimers(uint32 time); // done
void Service();
void ServiceCollisions();
void Service(); //done
void ServiceCollisions(); //done
void ServicePoliceRadio();
void ServicePoliceRadioChannel(uint8 wantedLevel);
void ServiceSoundEffects();
@ -402,16 +500,17 @@ public:
bool SetupJumboRumbleSound(uint8 emittingVol);
bool SetupJumboTaxiSound(uint8 vol);
bool SetupJumboWhineSound(uint8 emittingVol, uint32 freq);
void SetupPedComments(cPedParams *params, uint32 sound);
void SetupPedComments(cPedParams *params, uint32 sound); // done
void SetupSuspectLastSeenReport();
void Terminate();
void TranslateEntity(Const CVector *v1, CVector *v2) const;
void Terminate(); //done
void TranslateEntity(Const CVector *v1, CVector *v2) const; //done
void UpdateReflections();
bool UsesReverseWarning(int32 model) const; //done
bool UsesSiren(int32 model) const;
bool UsesSirenSwitching(int32 model) const;
void UpdateGasPedalAudio(CVehicle* veh, int vehType); // done
void UpdateReflections(); //done
bool UsesReverseWarning(int32 model) const; //done
bool UsesSiren(cVehicleParams& params) const; //done
bool UsesSirenSwitching(cVehicleParams& params) const; //done
CVehicle *FindVehicleOfPlayer(); //done
void SetPedTalkingStatus(CPed *ped, uint8 status);

View File

@ -1,9 +1,8 @@
#pragma once
#pragma once
#include "common.h"
enum eSfxSample : uint32
{
enum eSfxSample : uint32 {
SFX_CAR_HORN_JEEP = 0,
SFX_CAR_HORN_BMW328,
SFX_CAR_HORN_BUS,
@ -13,13 +12,13 @@ enum eSfxSample : uint32
SFX_CAR_HORN_PORSCHE,
SFX_CAR_HORN_TRUCK,
SFX_CAR_HELI_MAI, //8
SFX_CAR_HELI_MAI2, //9
SFX_CAR_HELI_REA, //10
SFX_CAR_HELI_STA, //11
SFX_CAR_HELI_ROT, //12
SFX_CAR_HELI_FAR, //13
SFX_CAR_HELI_ROL, //14
SFX_CAR_HELI_MAI, // 8
SFX_CAR_HELI_MAI2, // 9
SFX_CAR_HELI_REA, // 10
SFX_CAR_HELI_STA, // 11
SFX_CAR_HELI_ROT, // 12
SFX_CAR_HELI_FAR, // 13
SFX_CAR_HELI_ROL, // 14
SFX_OLD_CAR_DOOR_OPEN,
SFX_OLD_CAR_DOOR_CLOSE,
@ -29,80 +28,80 @@ enum eSfxSample : uint32
SFX_TRUCK_DOOR_CLOSE,
SFX_REVERSE_GEAR,
SFX_REVERSE_GEAR_2,
SFX_CAR_STARTER, //23
SFX_ROAD_NOISE, //24
SFX_SKID, //25
SFX_GRAVEL_SKID, //26
SFX_CAR_STARTER, // 23
SFX_ROAD_NOISE, // 24
SFX_SKID, // 25
SFX_GRAVEL_SKID, // 26
SFX_POLICE_SIREN_SLOW,
SFX_SIREN_FAST, //28
SFX_SIREN_FAST, // 28
SFX_AMBULANCE_SIREN_SLOW,
SFX_REVERSE_WARNING,
SFX_ICE_CREAM_TUNE,
SFX_AIR_BRAKES, //32
SFX_TYRE_BUMP, //33
SFX_TYRE_BURST_B, //34
SFX_TYRE_BURST, //35
SFX_TYRE_BURST_L, //36
SFX_PALM_TREE_LO, //37
SFX_BULLET_PASS_1, //38
SFX_BULLET_PASS_2, //39
SFX_SKATE_1, //40
SFX_SKATE_2, //41
SFX_AIR_BRAKES, // 32
SFX_TYRE_BUMP, // 33
SFX_TYRE_BURST_B, // 34
SFX_TYRE_BURST, // 35
SFX_TYRE_BURST_L, // 36
SFX_PALM_TREE_LO, // 37
SFX_BULLET_PASS_1, // 38
SFX_BULLET_PASS_2, // 39
SFX_SKATE_1, // 40
SFX_SKATE_2, // 41
SFX_FOOTSTEP_CONCRETE_1,
SFX_FOOTSTEP_CONCRETE_2,
SFX_FOOTSTEP_CONCRETE_3,
SFX_FOOTSTEP_CONCRETE_4,
SFX_FOOTSTEP_CONCRETE_5,
SFX_EXPLOSION_1, //47
SFX_EXPLOSION_2, //48
SFX_EXPLOSION_3, //49
SFX_COLT45_LEFT, //50
SFX_COLT45_RIGHT, //51
SFX_AK47_LEFT, //52
SFX_AK47_RIGHT, //53
SFX_UZI_LEFT, //54
SFX_UZI_RIGHT, //55
SFX_UZI_END_LEFT, //56
SFX_SNIPER_LEFT, //57
SFX_SNIPER_RIGHT, //58
SFX_ROCKET_LEFT, //59
SFX_ROCKET_RIGHT, //60
SFX_ROCKET_FLY, //61
SFX_FLAMETHROWER_LEFT, //62
SFX_FLAMETHROWER_RIGHT, //63
SFX_FLAMETHROWER_START_LEFT, //64
SFX_FLAMETHROWER_START_RIGHT, //65
SFX_SHOTGUN_LEFT, //66
SFX_SHOTGUN_RIGH, //67
SFX_M60_LEFT, //68
SFX_M60_RIGHT, //69
SFX_M60_TAIL_LEFT, //70
SFX_TEC_LEFT, //71
SFX_TEC_RIGHT, //72
SFX_TEC_TAIL, //73
SFX_RUGER_LEFT, //74
SFX_RUGER_RIGHT, //75
SFX_RUGER_TAIL, //76
SFX_PISTOL_RELOAD, //77
SFX_AK47_RELOAD, //78
SFX_ROCKET_RELOAD, //79
SFX_RIFLE_RELOAD, //80
SFX_GOLF_CLUB_SWING, //81
SFX_MINIGUN_FIRE_LEFT, //82
SFX_MINIGUN_FIRE_RIGHT, //83
SFX_MINIGUN_STOP, //84
SFX_SPAS12_LEFT, //85
SFX_SPAS12_RIGHT, //86
SFX_SPAS12_TAIL_LEFT, //87
SFX_PYTHON_LEFT, //88
SFX_PYTHON_RIGHT, //89
SFX_MP5_LEFT, //90
SFX_MP5_RIGHT, //91
SFX_COL_TARMAC_1, //92
SFX_COL_TARMAC_2, //93
SFX_COL_TARMAC_3, //94
SFX_COL_TARMAC_4, //95
SFX_COL_TARMAC_5, //96
SFX_EXPLOSION_1, // 47
SFX_EXPLOSION_2, // 48
SFX_EXPLOSION_3, // 49
SFX_COLT45_LEFT, // 50
SFX_COLT45_RIGHT, // 51
SFX_AK47_LEFT, // 52
SFX_AK47_RIGHT, // 53
SFX_UZI_LEFT, // 54
SFX_UZI_RIGHT, // 55
SFX_UZI_END_LEFT, // 56
SFX_SNIPER_LEFT, // 57
SFX_SNIPER_RIGHT, // 58
SFX_ROCKET_LEFT, // 59
SFX_ROCKET_RIGHT, // 60
SFX_ROCKET_FLY, // 61
SFX_FLAMETHROWER_LEFT, // 62
SFX_FLAMETHROWER_RIGHT, // 63
SFX_FLAMETHROWER_START_LEFT, // 64
SFX_FLAMETHROWER_START_RIGHT, // 65
SFX_SHOTGUN_LEFT, // 66
SFX_SHOTGUN_RIGH, // 67
SFX_M60_LEFT, // 68
SFX_M60_RIGHT, // 69
SFX_M60_TAIL_LEFT, // 70
SFX_TEC_LEFT, // 71
SFX_TEC_RIGHT, // 72
SFX_TEC_TAIL, // 73
SFX_RUGER_LEFT, // 74
SFX_RUGER_RIGHT, // 75
SFX_RUGER_TAIL, // 76
SFX_PISTOL_RELOAD, // 77
SFX_AK47_RELOAD, // 78
SFX_ROCKET_RELOAD, // 79
SFX_RIFLE_RELOAD, // 80
SFX_GOLF_CLUB_SWING, // 81
SFX_MINIGUN_FIRE_LEFT, // 82
SFX_MINIGUN_FIRE_RIGHT, // 83
SFX_MINIGUN_STOP, // 84
SFX_SPAS12_LEFT, // 85
SFX_SPAS12_RIGHT, // 86
SFX_SPAS12_TAIL_LEFT, // 87
SFX_PYTHON_LEFT, // 88
SFX_PYTHON_RIGHT, // 89
SFX_MP5_LEFT, // 90
SFX_MP5_RIGHT, // 91
SFX_COL_TARMAC_1, // 92
SFX_COL_TARMAC_2, // 93
SFX_COL_TARMAC_3, // 94
SFX_COL_TARMAC_4, // 95
SFX_COL_TARMAC_5, // 96
SFX_COL_GRASS_1,
SFX_COL_GRAVEL_1,
SFX_COL_MUD_1,
@ -121,8 +120,8 @@ enum eSfxSample : uint32
SFX_COL_METAL_CHAIN_FENCE_2,
SFX_COL_METAL_CHAIN_FENCE_3,
SFX_COL_METAL_CHAIN_FENCE_4,
SFX_COL_PED_1, //115
SFX_COL_PED_2, //116
SFX_COL_PED_1, // 115
SFX_COL_PED_2, // 116
SFX_COL_SAND_1,
SFX_COL_WOOD_CRATES_1,
SFX_COL_WOOD_CRATES_2,
@ -133,59 +132,59 @@ enum eSfxSample : uint32
SFX_COL_WOOD_BENCH_3,
SFX_COL_WOOD_BENCH_4,
SFX_COL_WOOD_SOLID_1,
SFX_COL_VEG_1, //127
SFX_COL_VEG_2, //128
SFX_COL_VEG_3, //129
SFX_COL_VEG_4, //130
SFX_COL_VEG_5, //131
SFX_COL_VEG_1, // 127
SFX_COL_VEG_2, // 128
SFX_COL_VEG_3, // 129
SFX_COL_VEG_4, // 130
SFX_COL_VEG_5, // 131
SFX_COL_CONTAINER_1,
SFX_COL_NEWS_VENDOR_1,
SFX_COL_NEWS_VENDOR_2,
SFX_COL_NEWS_VENDOR_3,
SFX_COL_CAR_1, //136
SFX_COL_CAR_2, //137
SFX_COL_CAR_3, //138
SFX_COL_CAR_4, //139
SFX_COL_CAR_5, //140
SFX_COL_CAR_1, // 136
SFX_COL_CAR_2, // 137
SFX_COL_CAR_3, // 138
SFX_COL_CAR_4, // 139
SFX_COL_CAR_5, // 140
SFX_COL_CARDBOARD_1,
SFX_COL_CARDBOARD_2,
SFX_COL_GATE, //143
SFX_SCRAPE_CAR_1, //144
SFX_COL_GATE, // 143
SFX_SCRAPE_CAR_1, // 144
SFX_CRATE_SMASH,
SFX_GLASS_CRACK, //146
SFX_GLASS_SMASH, //147
SFX_GLASS_CRACK, // 146
SFX_GLASS_SMASH, // 147
SFX_GLASS_SHARD_1,
SFX_GLASS_SHARD_2,
SFX_GLASS_SHARD_3,
SFX_GLASS_SHARD_4,
SFX_PED_ON_FIRE, //152
SFX_CAR_ON_FIRE, //153
SFX_RAIN, //154
SFX_HURRICANE_MA, //155
SFX_PED_ON_FIRE, // 152
SFX_CAR_ON_FIRE, // 153
SFX_RAIN, // 154
SFX_HURRICANE_MA, // 155
SFX_BULLET_SHELL_HIT_GROUND_1,
SFX_BULLET_SHELL_HIT_GROUND_2,
SFX_BULLET_PED, //158
SFX_BULLET_CAR_1, //159
SFX_BULLET_CAR_2, //160
SFX_BULLET_CAR_3, //161
SFX_BULLET_WALL_1, //162
SFX_BULLET_WALL_2, //163
SFX_BULLET_WALL_3, //164
SFX_BAT_HIT_LEFT, //165
SFX_BAT_HIT_RIGH, //166
SFX_FIGHT_1, //167
SFX_FIGHT_2, //168
SFX_FIGHT_4, //169
SFX_FIGHT_5, //170
SFX_KNIFE_SWING, //171
SFX_KNIFE_SLASH, //172
SFX_KNIFE_STAB, //173
SFX_HAMMER_HIT_1, //174
SFX_HAMMER_HIT_2, //175
SFX_GARAGE_DOOR_LOOP, //176
SFX_COUNTDOWN, //177
SFX_ARM_BOMB, //178
SFX_POLICE_RADIO_CRACKLE, //179
SFX_BULLET_PED, // 158
SFX_BULLET_CAR_1, // 159
SFX_BULLET_CAR_2, // 160
SFX_BULLET_CAR_3, // 161
SFX_BULLET_WALL_1, // 162
SFX_BULLET_WALL_2, // 163
SFX_BULLET_WALL_3, // 164
SFX_BAT_HIT_LEFT, // 165
SFX_BAT_HIT_RIGH, // 166
SFX_FIGHT_1, // 167
SFX_FIGHT_2, // 168
SFX_FIGHT_4, // 169
SFX_FIGHT_5, // 170
SFX_KNIFE_SWING, // 171
SFX_KNIFE_SLASH, // 172
SFX_KNIFE_STAB, // 173
SFX_HAMMER_HIT_1, // 174
SFX_HAMMER_HIT_2, // 175
SFX_GARAGE_DOOR_LOOP, // 176
SFX_COUNTDOWN, // 177
SFX_ARM_BOMB, // 178
SFX_POLICE_RADIO_CRACKLE, // 179
SFX_WEVE_GOT,
SFX_THERES,
@ -275,89 +274,89 @@ enum eSfxSample : uint32
SFX_POLICE_RADIO_TAXI,
SFX_POLICE_RADIO_VAN,
SFX_HELI_1, //198
SFX_PHONE_RING, //199
SFX_CAR_REV_1, //PONT
SFX_CAR_REV_2, //PORSHE
SFX_CAR_REV_3, //SPIDER
SFX_CAR_REV_4, //MERC
SFX_CAR_REV_5, //TRUC
SFX_CAR_REV_6, //HOTROD
SFX_CAR_REV_7, //COBRA
SFX_CAR_REV_8, //PONT2
SFX_CAR_REV_9, // CADI
SFX_CAR_REV_10, //PATHFINDER
SFX_CAR_REV_11, //PACARD
SFX_CAR_REV_12, //GOLFCART
SFX_CAR_REV_13, //SFX_CAR_IDLE_GOL
SFX_CAR_REV_14, //SFX_CAR_IDLE_GOL
SFX_CAR_REV_15, //SFX_CAR_IDLE_GOL
SFX_CAR_REV_16, //SFX_CAR_IDLE_GOL
SFX_CAR_REV_17, //VTWI
SFX_MOPED_REV, // just moped
SFX_CAR_REV_19, //HOND(A)
SFX_CAR_REV_20, //SPOR(TCAR)
SFX_CAR_IDLE_1, //PONT
SFX_CAR_IDLE_2, //PORSHE
SFX_CAR_IDLE_3, //SPIDER
SFX_CAR_IDLE_4, //MERC
SFX_CAR_IDLE_5, //TRUC
SFX_CAR_IDLE_6, //HOTROD
SFX_CAR_IDLE_7, //COBRA
SFX_CAR_IDLE_8, //PONT2
SFX_CAR_IDLE_9, //CADI
SFX_CAR_IDLE_10, //PATHFINDER
SFX_CAR_IDLE_11, //PACARD
SFX_CAR_IDLE_12, //GOLFCART
SFX_CAR_IDLE_13, //SFX_CAR_IDLE_GOL
SFX_CAR_IDLE_14, //SFX_CAR_IDLE_GOL
SFX_CAR_IDLE_15, //SFX_CAR_IDLE_GOL
SFX_CAR_IDLE_16, //SFX_CAR_IDLE_GOL
SFX_CAR_IDLE_17, //VTWI
SFX_MOPED_IDLE, //237
SFX_CAR_IDLE_19, //HOND(A)
SFX_CAR_IDLE_20, //SPOR(TCAR)
SFX_HELI_1, // 198
SFX_PHONE_RING, // 199
SFX_CAR_REV_1, // PONT
SFX_CAR_REV_2, // PORSHE
SFX_CAR_REV_3, // SPIDER
SFX_CAR_REV_4, // MERC
SFX_CAR_REV_5, // TRUC
SFX_CAR_REV_6, // HOTROD
SFX_CAR_REV_7, // COBRA
SFX_CAR_REV_8, // PONT2
SFX_CAR_REV_9, // CADI
SFX_CAR_REV_10, // PATHFINDER
SFX_CAR_REV_11, // PACARD
SFX_CAR_REV_12, // GOLFCART
SFX_CAR_REV_13, // SFX_CAR_IDLE_GOL
SFX_CAR_REV_14, // SFX_CAR_IDLE_GOL
SFX_CAR_REV_15, // SFX_CAR_IDLE_GOL
SFX_CAR_REV_16, // SFX_CAR_IDLE_GOL
SFX_CAR_REV_17, // VTWI
SFX_MOPED_REV, // just moped
SFX_CAR_REV_19, // HOND(A)
SFX_CAR_REV_20, // SPOR(TCAR)
SFX_CAR_IDLE_1, // PONT
SFX_CAR_IDLE_2, // PORSHE
SFX_CAR_IDLE_3, // SPIDER
SFX_CAR_IDLE_4, // MERC
SFX_CAR_IDLE_5, // TRUC
SFX_CAR_IDLE_6, // HOTROD
SFX_CAR_IDLE_7, // COBRA
SFX_CAR_IDLE_8, // PONT2
SFX_CAR_IDLE_9, // CADI
SFX_CAR_IDLE_10, // PATHFINDER
SFX_CAR_IDLE_11, // PACARD
SFX_CAR_IDLE_12, // GOLFCART
SFX_CAR_IDLE_13, // SFX_CAR_IDLE_GOL
SFX_CAR_IDLE_14, // SFX_CAR_IDLE_GOL
SFX_CAR_IDLE_15, // SFX_CAR_IDLE_GOL
SFX_CAR_IDLE_16, // SFX_CAR_IDLE_GOL
SFX_CAR_IDLE_17, // VTWI
SFX_MOPED_IDLE, // 237
SFX_CAR_IDLE_19, // HOND(A)
SFX_CAR_IDLE_20, // SPOR(TCAR)
SFX_JUMBO_DIST_FLY,
SFX_JUMBO_TAXI, //241
SFX_JUMBO_WHINE, //242
SFX_JUMBO_ENGINE, //243
SFX_JUMBO_RUMBLE, //244
SFX_JUMBO_TAXI, // 241
SFX_JUMBO_WHINE, // 242
SFX_JUMBO_ENGINE, // 243
SFX_JUMBO_RUMBLE, // 244
SFX_JUMBO_LAND_WHEELS,
SFX_BOAT_CRUISER_LOOP, //246
SFX_BOAT_V12_LOOP, //247
SFX_BOAT_CRUISER_LOOP, // 246
SFX_BOAT_V12_LOOP, // 247
SFX_BOAT_WATER_LOOP,
SFX_BOAT_SPLASH_1,
SFX_BOAT_SPLASH_2,
SFX_FISHING_BOAT_IDLE,
SFX_CAR_RAIN_1, //252
SFX_CAR_RAIN_2, //253
SFX_CAR_RAIN_3, //254
SFX_CAR_RAIN_4, //255
SFX_SPLASH_1, //256
SFX_PED_CRUNCH_1, //257
SFX_PED_CRUNCH_2, //258
SFX_CAR_RAIN_1, // 252
SFX_CAR_RAIN_2, // 253
SFX_CAR_RAIN_3, // 254
SFX_CAR_RAIN_4, // 255
SFX_SPLASH_1, // 256
SFX_PED_CRUNCH_1, // 257
SFX_PED_CRUNCH_2, // 258
SFX_WOODEN_BOX_SMASH,
SFX_CARDBOARD_BOX_SMASH,
SFX_ERROR_FIRE_ROCKET_LAUNCHER,
SFX_ERROR_FIRE_RIFLE,
SFX_TANK_TURRET, //263
SFX_TANK_TURRET, // 263
SFX_BODY_LAND_AND_FALL,
SFX_BODY_LAND, //265
SFX_BOMB_BEEP, //266
SFX_TIMER_BEEP, //267
SFX_BODY_LAND, // 265
SFX_BOMB_BEEP, // 266
SFX_TIMER_BEEP, // 267
SFX_SUSPENSION_FAST_MOVE,
SFX_SUSPENSION_SLOW_MOVE_LOOP,
SFX_SHAG_SUSPENSION,
SFX_HIT_BALL, //271
SFX_ARCADE, //272
SFX_CESNA_IDLE, //273
SFX_CESNA_REV, //274
SFX_RADIO_CLICK, //275
SFX_RADIO_DIAL_1, //276
SFX_RADIO_DIAL_2, //277
SFX_RADIO_DIAL_3, //278
SFX_HIT_BALL, // 271
SFX_ARCADE, // 272
SFX_CESNA_IDLE, // 273
SFX_CESNA_REV, // 274
SFX_RADIO_CLICK, // 275
SFX_RADIO_DIAL_1, // 276
SFX_RADIO_DIAL_2, // 277
SFX_RADIO_DIAL_3, // 278
//pc only
// pc only
SFX_RADIO_DIAL_4,
SFX_RADIO_DIAL_5,
SFX_RADIO_DIAL_6,
@ -368,31 +367,31 @@ enum eSfxSample : uint32
SFX_RADIO_DIAL_11,
SFX_RADIO_DIAL_12,
SFX_INFO_LEFT, //279
SFX_INFO_RIGHT, //280
SFX_INFO_CENTRE, //281
SFX_MONEY_LEFT, //282
SFX_MONEY_RIGHT, //283
SFX_WEAPON_LEFT, //284
SFX_WEAPON_RIGHT, //285
SFX_WEAPON_CENTRE, //286
SFX_PART_MISSION_COMPLETE_LEFT, //287
SFX_PART_MISSION_COMPLETE_RIGHT, //288
SFX_PART_MISSION_COMPLETE_CENTRE, //289
SFX_GO_LEFT, //290
SFX_GO_RIGHT, //291
SFX_GO_CENTRE, //292
SFX_TIMER, //293
SFX_EMPTY, //294
SFX_INFO_LEFT, // 279
SFX_INFO_RIGHT, // 280
SFX_INFO_CENTRE, // 281
SFX_MONEY_LEFT, // 282
SFX_MONEY_RIGHT, // 283
SFX_WEAPON_LEFT, // 284
SFX_WEAPON_RIGHT, // 285
SFX_WEAPON_CENTRE, // 286
SFX_PART_MISSION_COMPLETE_LEFT, // 287
SFX_PART_MISSION_COMPLETE_RIGHT, // 288
SFX_PART_MISSION_COMPLETE_CENTRE, // 289
SFX_GO_LEFT, // 290
SFX_GO_RIGHT, // 291
SFX_GO_CENTRE, // 292
SFX_TIMER, // 293
SFX_EMPTY, // 294
SFX_FE_HIGHLIGHT_LEFT, //
SFX_FE_HIGHLIGHT_LEFT, //
SFX_FE_HIGHLIGHT_RIGHT, //
SFX_FE_SELECT_LEFT, //
SFX_FE_SELECT_RIGHT, //
SFX_FE_BACK_LEFT, //
SFX_FE_BACK_RIGHT, //
SFX_FE_ERROR_LEFT, //
SFX_FE_ERROR_RIGHT, //
SFX_FE_SELECT_LEFT, //
SFX_FE_SELECT_RIGHT, //
SFX_FE_BACK_LEFT, //
SFX_FE_BACK_RIGHT, //
SFX_FE_ERROR_LEFT, //
SFX_FE_ERROR_RIGHT, //
SFX_FE_NOISE_BURST_1,
SFX_FE_NOISE_BURST_2,
SFX_FE_NOISE_BURST_3,
@ -446,23 +445,23 @@ enum eSfxSample : uint32
SFX_CAR_FINGER_OFF_ACCEL_12,
// some CHAINSAW STUFF
//SFX_CAR_CHAINSAW, //10973
//SFX_CAR_CHAINSAW, //10974
//SFX_CAR_CHAINSAW, //10975
// SFX_CAR_CHAINSAW, //10973
// SFX_CAR_CHAINSAW, //10974
// SFX_CAR_CHAINSAW, //10975
SFX_CAR_ACCEL_13,
SFX_CAR_AFTER_ACCEL_13,
SFX_CAR_FINGER_OFF_ACCEL_13,
SFX_RC_IDLE, //10976
SFX_RC_REV, //10977
SFX_RC_EMPTY, //10978
SFX_RC_IDLE, // 10976
SFX_RC_REV, // 10977
SFX_RC_EMPTY, // 10978
SFX_CAR_RC_HELI, //10979
SFX_CAR_AFTER_ACCEL_15, // empty
SFX_CAR_RC_HELI, // 10979
SFX_CAR_AFTER_ACCEL_15, // empty
SFX_CAR_FINGER_OFF_ACCEL_15, // empty
SFX_CAR_ACCEL_16, // empty
SFX_CAR_AFTER_ACCEL_16, // empty
SFX_CAR_ACCEL_16, // empty
SFX_CAR_AFTER_ACCEL_16, // empty
SFX_CAR_FINGER_OFF_ACCEL_16, // empty
// bike stuff apparently
@ -505,12 +504,12 @@ enum eSfxSample : uint32
SFX_HELI_UNUSED_3,
SFX_HELI_UNUSED_4,
SFX_SEAPLANE_PRO1, //11018
SFX_SEAPLANE_PRO2, //11019
SFX_SEAPLANE_PRO3, //11020
SFX_SEAPLANE_PRO4, //11021
SFX_SEAPLANE_PRO1, // 11018
SFX_SEAPLANE_PRO2, // 11019
SFX_SEAPLANE_PRO3, // 11020
SFX_SEAPLANE_PRO4, // 11021
// low fuel
SFX_SEAPLANE_LOW, //11022
SFX_SEAPLANE_LOW, // 11022
// something padded for more plane?
SFX_PLANE_UNUSED_1,
@ -519,32 +518,32 @@ enum eSfxSample : uint32
SFX_PLANE_UNUSED_4,
// script objects
SFX_BUILDINGS_BANK_ALARM, //11027
SFX_BUILDING_SNORE, //11028
SFX_BUILDING_BAR_1, //11029
SFX_BUILDING_BAR_2, //11030
SFX_BUILDING_BAR_3, //11031
SFX_BUILDING_BAR_4, //11032
SFX_BUILDING_MAL1, //11033
SFX_BUILDING_MAL2, //11034
SFX_BUILDING_MAL3, //11035
SFX_BUILDING_STR1, //11036
SFX_BUILDING_STR2, //11037
SFX_BUILDING_STR3, //11038
SFX_BUILDING_CHURCH, //11039
SFX_BUILDING_FAN_1, //11040
SFX_BUILDING_FAN_2, //11041
SFX_BUILDING_FAN_3, //11042
SFX_BUILDING_FAN_4, //11043
SFX_BUILDING_INSECTS_1, //11044
SFX_BUILDING_INSECTS_2, //11045
SFX_BUILDING_INSECTS_3, //11046
SFX_BUILDING_INSECTS_4, //11047
SFX_BUILDING_INSECTS_5, //11048
SFX_CLUB_1, //11049
SFX_CLUB_2, //11050
SFX_CLUB_3, //11051
SFX_CLUB_4, //11052
SFX_BUILDINGS_BANK_ALARM, // 11027
SFX_BUILDING_SNORE, // 11028
SFX_BUILDING_BAR_1, // 11029
SFX_BUILDING_BAR_2, // 11030
SFX_BUILDING_BAR_3, // 11031
SFX_BUILDING_BAR_4, // 11032
SFX_BUILDING_MAL1, // 11033
SFX_BUILDING_MAL2, // 11034
SFX_BUILDING_MAL3, // 11035
SFX_BUILDING_STR1, // 11036
SFX_BUILDING_STR2, // 11037
SFX_BUILDING_STR3, // 11038
SFX_BUILDING_CHURCH, // 11039
SFX_BUILDING_FAN_1, // 11040
SFX_BUILDING_FAN_2, // 11041
SFX_BUILDING_FAN_3, // 11042
SFX_BUILDING_FAN_4, // 11043
SFX_BUILDING_INSECTS_1, // 11044
SFX_BUILDING_INSECTS_2, // 11045
SFX_BUILDING_INSECTS_3, // 11046
SFX_BUILDING_INSECTS_4, // 11047
SFX_BUILDING_INSECTS_5, // 11048
SFX_CLUB_1, // 11049
SFX_CLUB_2, // 11050
SFX_CLUB_3, // 11051
SFX_CLUB_4, // 11052
SFX_FOOTSTEP_GRASS_1,
SFX_FOOTSTEP_GRASS_2,
@ -576,6 +575,233 @@ enum eSfxSample : uint32
SFX_FOOTSTEP_SAND_4,
// TODO: miami ped comments... THERE'S OVER 9000
SFX_POLICE_BOAT_1 = 714,
SFX_POLICE_BOAT_2,
SFX_POLICE_BOAT_3,
SFX_POLICE_BOAT_4,
SFX_POLICE_BOAT_5,
SFX_POLICE_BOAT_6,
SFX_POLICE_BOAT_7,
SFX_POLICE_BOAT_8,
SFX_POLICE_BOAT_9,
SFX_POLICE_BOAT_10,
SFX_POLICE_BOAT_11,
SFX_POLICE_BOAT_12,
SFX_POLICE_BOAT_13,
SFX_POLICE_BOAT_14,
SFX_POLICE_BOAT_15,
SFX_POLICE_BOAT_16,
SFX_POLICE_BOAT_17,
SFX_POLICE_BOAT_18,
SFX_POLICE_BOAT_19,
SFX_POLICE_BOAT_20,
SFX_POLICE_BOAT_21,
SFX_POLICE_BOAT_22,
SFX_POLICE_BOAT_23,
SFX_POLICE_HELI_1,
SFX_POLICE_HELI_2,
SFX_POLICE_HELI_3,
SFX_POLICE_HELI_4,
SFX_POLICE_HELI_5,
SFX_POLICE_HELI_6,
SFX_POLICE_HELI_7,
SFX_POLICE_HELI_8,
SFX_POLICE_HELI_9,
SFX_POLICE_HELI_10,
SFX_POLICE_HELI_11,
SFX_POLICE_HELI_12,
SFX_POLICE_HELI_13,
SFX_POLICE_HELI_14,
SFX_POLICE_HELI_15,
SFX_POLICE_HELI_16,
SFX_POLICE_HELI_17,
SFX_POLICE_HELI_18,
SFX_POLICE_HELI_19,
SFX_POLICE_HELI_20,
SFX_GENERIC_FEMALE_GRUNT_1 = 2953,
SFX_GENERIC_FEMALE_GRUNT_2 = 2954,
SFX_GENERIC_FEMALE_GRUNT_3 = 2955,
SFX_GENERIC_FEMALE_GRUNT_4 = 2956,
SFX_GENERIC_FEMALE_GRUNT_5 = 2957,
SFX_GENERIC_FEMALE_GRUNT_6 = 2958,
SFX_GENERIC_FEMALE_GRUNT_7 = 2959,
SFX_GENERIC_FEMALE_GRUNT_8 = 2960,
SFX_GENERIC_FEMALE_GRUNT_9 = 2961,
SFX_GENERIC_FEMALE_GRUNT_10 = 2962,
SFX_GENERIC_FEMALE_GRUNT_11 = 2963,
SFX_GENERIC_FEMALE_GRUNT_12 = 2964,
SFX_GENERIC_FEMALE_GRUNT_13 = 2965,
SFX_GENERIC_FEMALE_GRUNT_14 = 2966,
SFX_GENERIC_FEMALE_GRUNT_15 = 2967,
SFX_GENERIC_FEMALE_GRUNT_16 = 2968,
SFX_GENERIC_FEMALE_GRUNT_17 = 2969,
SFX_GENERIC_FEMALE_GRUNT_18 = 2970,
SFX_GENERIC_FEMALE_GRUNT_19 = 2971,
SFX_GENERIC_FEMALE_GRUNT_20 = 2972,
SFX_GENERIC_FEMALE_GRUNT_21 = 2973,
SFX_GENERIC_FEMALE_GRUNT_22 = 2974,
SFX_GENERIC_FEMALE_GRUNT_23 = 2975,
SFX_GENERIC_FEMALE_GRUNT_24 = 2976,
SFX_GENERIC_FEMALE_GRUNT_25 = 2977,
SFX_GENERIC_FEMALE_GRUNT_26 = 2978,
SFX_GENERIC_FEMALE_GRUNT_27 = 2979,
SFX_GENERIC_FEMALE_GRUNT_28 = 2980,
SFX_GENERIC_FEMALE_GRUNT_29 = 2981,
SFX_GENERIC_FEMALE_GRUNT_30 = 2982,
SFX_GENERIC_FEMALE_GRUNT_31 = 2983,
SFX_GENERIC_FEMALE_GRUNT_32 = 2984,
SFX_GENERIC_FEMALE_GRUNT_33 = 2985,
SFX_GENERIC_MALE_FIRE_1 = 3013,
SFX_GENERIC_MALE_FIRE_2 = 3014,
SFX_GENERIC_MALE_FIRE_3 = 3015,
SFX_GENERIC_MALE_FIRE_4 = 3016,
SFX_GENERIC_MALE_FIRE_5 = 3017,
SFX_GENERIC_MALE_FIRE_6 = 3018,
SFX_GENERIC_MALE_FIRE_7 = 3019,
SFX_GENERIC_MALE_FIRE_8 = 3020,
SFX_GENERIC_MALE_FIRE_9 = 3021,
SFX_GENERIC_MALE_FIRE_10 = 3022,
SFX_GENERIC_MALE_FIRE_11 = 3023,
SFX_GENERIC_MALE_FIRE_12 = 3024,
SFX_GENERIC_MALE_FIRE_13 = 3025,
SFX_GENERIC_MALE_FIRE_14 = 3026,
SFX_GENERIC_MALE_FIRE_15 = 3027,
SFX_GENERIC_MALE_FIRE_16 = 3028,
SFX_GENERIC_MALE_FIRE_17 = 3029,
SFX_GENERIC_MALE_FIRE_18 = 3030,
SFX_GENERIC_MALE_FIRE_19 = 3031,
SFX_GENERIC_MALE_FIRE_20 = 3032,
SFX_GENERIC_MALE_FIRE_21 = 3033,
SFX_GENERIC_MALE_FIRE_22 = 3034,
SFX_GENERIC_MALE_FIRE_23 = 3035,
SFX_GENERIC_MALE_FIRE_24 = 3036,
SFX_GENERIC_MALE_FIRE_25 = 3037,
SFX_GENERIC_MALE_FIRE_26 = 3038,
SFX_GENERIC_MALE_FIRE_27 = 3039,
SFX_GENERIC_MALE_FIRE_28 = 3040,
SFX_GENERIC_MALE_FIRE_29 = 3041,
SFX_GENERIC_MALE_FIRE_30 = 3042,
SFX_GENERIC_MALE_FIRE_31 = 3043,
SFX_GENERIC_MALE_FIRE_32 = 3044,
SFX_GENERIC_MALE_DEATH_1 = 3045,
SFX_GENERIC_MALE_DEATH_2 = 3046,
SFX_GENERIC_MALE_DEATH_3 = 3047,
SFX_GENERIC_MALE_DEATH_4 = 3048,
SFX_GENERIC_MALE_DEATH_5 = 3049,
SFX_GENERIC_MALE_DEATH_6 = 3050,
SFX_GENERIC_MALE_DEATH_7 = 3051,
SFX_GENERIC_MALE_DEATH_8 = 3052,
SFX_GENERIC_MALE_DEATH_9 = 3053,
SFX_GENERIC_MALE_DEATH_10 = 3054,
SFX_GENERIC_MALE_DEATH_11 = 3055,
SFX_GENERIC_MALE_DEATH_12 = 3056,
SFX_GENERIC_MALE_DEATH_13 = 3057,
SFX_GENERIC_MALE_DEATH_14 = 3058,
SFX_GENERIC_MALE_DEATH_15 = 3059,
SFX_GENERIC_MALE_DEATH_16 = 3060,
SFX_GENERIC_MALE_DEATH_17 = 3061,
SFX_GENERIC_MALE_DEATH_18 = 3062,
SFX_GENERIC_MALE_DEATH_19 = 3063,
SFX_GENERIC_MALE_DEATH_20 = 3064,
SFX_GENERIC_MALE_DEATH_21 = 3065,
SFX_GENERIC_MALE_DEATH_22 = 3066,
SFX_GENERIC_MALE_DEATH_23 = 3067,
SFX_GENERIC_MALE_DEATH_24 = 3068,
SFX_GENERIC_MALE_DEATH_25 = 3069,
SFX_GENERIC_MALE_DEATH_26 = 3070,
SFX_GENERIC_MALE_DEATH_27 = 3071,
SFX_GENERIC_MALE_DEATH_28 = 3072,
SFX_GENERIC_MALE_DEATH_29 = 3073,
SFX_GENERIC_MALE_DEATH_30 = 3074,
SFX_GENERIC_MALE_DEATH_31 = 3075,
SFX_GENERIC_MALE_DEATH_32 = 3076,
SFX_GENERIC_MALE_DEATH_33 = 3077,
SFX_GENERIC_MALE_DEATH_34 = 3078,
SFX_GENERIC_MALE_DEATH_35 = 3079,
SFX_GENERIC_MALE_DEATH_36 = 3080,
SFX_GENERIC_MALE_DEATH_37 = 3081,
SFX_GENERIC_MALE_DEATH_38 = 3082,
SFX_GENERIC_MALE_DEATH_39 = 3083,
SFX_GENERIC_MALE_DEATH_40 = 3084,
SFX_GENERIC_MALE_DEATH_41 = 3085,
SFX_GENERIC_MALE_GRUNT_1 = 3086,
SFX_GENERIC_MALE_GRUNT_2 = 3087,
SFX_GENERIC_MALE_GRUNT_3 = 3088,
SFX_GENERIC_MALE_GRUNT_4 = 3089,
SFX_GENERIC_MALE_GRUNT_5 = 3090,
SFX_GENERIC_MALE_GRUNT_6 = 3091,
SFX_GENERIC_MALE_GRUNT_7 = 3092,
SFX_GENERIC_MALE_GRUNT_8 = 3093,
SFX_GENERIC_MALE_GRUNT_9 = 3094,
SFX_GENERIC_MALE_GRUNT_10 = 3095,
SFX_GENERIC_MALE_GRUNT_11 = 3096,
SFX_GENERIC_MALE_GRUNT_12 = 3097,
SFX_GENERIC_MALE_GRUNT_13 = 3098,
SFX_GENERIC_MALE_GRUNT_14 = 3099,
SFX_GENERIC_MALE_GRUNT_15 = 3100,
SFX_GENERIC_MALE_GRUNT_16 = 3101,
SFX_GENERIC_MALE_GRUNT_17 = 3102,
SFX_GENERIC_MALE_GRUNT_18 = 3103,
SFX_GENERIC_MALE_GRUNT_19 = 3104,
SFX_GENERIC_MALE_GRUNT_20 = 3105,
SFX_GENERIC_MALE_GRUNT_21 = 3106,
SFX_GENERIC_MALE_GRUNT_22 = 3107,
SFX_GENERIC_MALE_GRUNT_23 = 3108,
SFX_GENERIC_MALE_GRUNT_24 = 3109,
SFX_GENERIC_MALE_GRUNT_25 = 3110,
SFX_GENERIC_MALE_GRUNT_26 = 3111,
SFX_GENERIC_MALE_GRUNT_27 = 3112,
SFX_GENERIC_MALE_GRUNT_28 = 3113,
SFX_GENERIC_MALE_GRUNT_29 = 3114,
SFX_GENERIC_MALE_GRUNT_30 = 3115,
SFX_GENERIC_MALE_GRUNT_31 = 3116,
SFX_GENERIC_MALE_GRUNT_32 = 3117,
SFX_GENERIC_MALE_GRUNT_33 = 3118,
SFX_GENERIC_MALE_GRUNT_34 = 3119,
SFX_GENERIC_MALE_GRUNT_35 = 3120,
SFX_GENERIC_MALE_GRUNT_36 = 3121,
SFX_GENERIC_MALE_GRUNT_37 = 3122,
SFX_GENERIC_MALE_GRUNT_38 = 3123,
SFX_GENERIC_MALE_GRUNT_39 = 3124,
SFX_GENERIC_MALE_GRUNT_40 = 3125,
SFX_GENERIC_MALE_GRUNT_41 = 3126,
SFX_GENERIC_MALE_PANIC_1 = 3127,
SFX_GENERIC_MALE_PANIC_2 = 3128,
SFX_GENERIC_MALE_PANIC_3 = 3129,
SFX_GENERIC_MALE_PANIC_4 = 3130,
SFX_GENERIC_MALE_PANIC_5 = 3131,
SFX_GENERIC_MALE_PANIC_6 = 3132,
SFX_GENERIC_MALE_PANIC_7 = 3133,
SFX_GENERIC_MALE_PANIC_8 = 3134,
SFX_GENERIC_MALE_PANIC_9 = 3135,
SFX_GENERIC_MALE_PANIC_10 = 3136,
SFX_GENERIC_MALE_PANIC_11 = 3137,
SFX_GENERIC_MALE_PANIC_12 = 3138,
SFX_GENERIC_MALE_PANIC_13 = 3139,
SFX_GENERIC_MALE_PANIC_14 = 3140,
SFX_GENERIC_MALE_PANIC_15 = 3141,
SFX_GENERIC_MALE_PANIC_16 = 3142,
SFX_GENERIC_MALE_PANIC_17 = 3143,
SFX_GENERIC_MALE_PANIC_18 = 3144,
SFX_GENERIC_MALE_PANIC_19 = 3145,
SFX_GENERIC_MALE_PANIC_20 = 3146,
SFX_GENERIC_MALE_PANIC_21 = 3147,
SFX_GENERIC_MALE_PANIC_22 = 3148,
SFX_GENERIC_MALE_PANIC_23 = 3149,
SFX_GENERIC_MALE_PANIC_24 = 3150,
SFX_GENERIC_MALE_PANIC_25 = 3151,
SFX_GENERIC_MALE_PANIC_26 = 3152,
SFX_GENERIC_MALE_PANIC_27 = 3153,
SFX_GENERIC_MALE_PANIC_28 = 3154,
SFX_GENERIC_MALE_PANIC_29 = 3155,
SFX_GENERIC_MALE_PANIC_30 = 3156,
SFX_GENERIC_MALE_PANIC_31 = 3157,
SFX_GENERIC_MALE_PANIC_32 = 3158,
SFX_GENERIC_MALE_PANIC_33 = 3159,
SFX_GENERIC_MALE_PANIC_34 = 3160,
SFX_GENERIC_MALE_PANIC_35 = 3161,
TOTAL_AUDIO_SAMPLES = 9941,
NO_SAMPLE,

View File

@ -1,4 +1,4 @@
#pragma once
#pragma once
enum eSound : uint16
{
@ -33,7 +33,7 @@ enum eSound : uint16
SOUND_CAR_TANK_TURRET_ROTATE,
SOUND_CAR_BOMB_TICK,
SOUND_PLANE_ON_GROUND,
SOUND_31,
SOUND_HELI_BLADE,
SOUND_32,
SOUND_STEP_START,
SOUND_STEP_END,
@ -116,8 +116,8 @@ enum eSound : uint16
SOUND_PED_MIAMIVICE_EXITING_CAR,
SOUND_PED_COP_HELIPILOTPHRASE,
SOUND_PED_PULLOUTWEAPON,
SOUND_PED_HELI_PLAYER_FOUND,
SOUND_115,
SOUND_PED_HELI_PLAYER_FOUND = 114,
SOUND_PED_VCPA_PLAYER_FOUND = 115,
SOUND_PED_ON_FIRE,
SOUND_PED_AIMING,
SOUND_PED_HANDS_UP,

View File

@ -73,7 +73,7 @@ CDarkel::DrawMessages()
{
CFont::SetJustifyOff();
CFont::SetBackgroundOff();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(30.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(610.0f));
CFont::SetCentreOn();
CFont::SetPropOn();
uint32 timePassedSinceStart = CTimer::GetTimeInMilliseconds() - TimeOfFrenzyStart;
@ -127,7 +127,7 @@ CDarkel::DrawMessages()
uint32 timePassedSinceStart = CTimer::GetTimeInMilliseconds() - TimeOfFrenzyStart;
if (CTimer::GetTimeInMilliseconds() - TimeOfFrenzyStart < 5000) {
CFont::SetBackgroundOff();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(20.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(620.0f));
CFont::SetCentreOn();
CFont::SetScale(SCREEN_SCALE_X(1.5f), SCREEN_SCALE_Y(1.5f));
CFont::SetJustifyOff();

View File

@ -1341,7 +1341,7 @@ void CGarages::PrintMessages()
CFont::SetPropOn();
CFont::SetJustifyOff();
CFont::SetBackgroundOff();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(50.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(590.0f));
CFont::SetCentreOn();
CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD));
CFont::SetColor(CRGBA(0, 0, 0, 255));

View File

@ -369,7 +369,7 @@ CPickup::Update(CPlayerPed *player, CVehicle *vehicle, int playerId)
if (weaponType < WEAPONTYPE_TOTALWEAPONS && CDarkel::FrenzyOnGoing()) {
isPickupTouched = false;
m_bWasControlMessageShown = false;
} else if (weaponType != WEAPONTYPE_UNARMED) {
} else if (weaponType < WEAPONTYPE_TOTALWEAPONS && weaponType != WEAPONTYPE_UNARMED) {
uint32 slot = CWeaponInfo::GetWeaponInfo(weaponType)->m_nWeaponSlot;
eWeaponType plrWeaponSlot = FindPlayerPed()->GetWeapon(slot).m_eWeaponType;
if (plrWeaponSlot != weaponType) {
@ -508,7 +508,7 @@ CPickup::Update(CPlayerPed *player, CVehicle *vehicle, int playerId)
result = true;
Remove();
DMAudio.PlayFrontEndSound(SOUND_PICKUP_HIDDEN_PACKAGE, 0);
return true;
break;
case PICKUP_MONEY:
CWorld::Players[playerId].m_nMoney += m_nQuantity;
sprintf(gString, "$%d", m_nQuantity);
@ -518,12 +518,13 @@ CPickup::Update(CPlayerPed *player, CVehicle *vehicle, int playerId)
result = true;
Remove();
DMAudio.PlayFrontEndSound(SOUND_PICKUP_MONEY, 0);
return true;
player->Say(SOUND_PED_MUGGING);
break;
case PICKUP_ASSET_REVENUE:
CWorld::Players[CWorld::PlayerInFocus].m_nMoney += m_fRevenue;
m_fRevenue = 0.0f;
DMAudio.PlayFrontEndSound(SOUND_PICKUP_MONEY, 0);
return false;
break;
case PICKUP_PROPERTY_LOCKED:
if (!m_bWasControlMessageShown) {
m_bWasControlMessageShown = true;

View File

@ -381,6 +381,7 @@ private:
public:
static void RemoveThisPed(CPed* pPed);
static uint32& GetLastMissionPassedTime() { return LastMissionPassedTime; }
#ifdef MISSION_SWITCHER
static void SwitchToMission(int32 mission);
#endif

View File

@ -4626,7 +4626,7 @@ CCam::Process_FollowPed_Rotation(const CVector &CameraTarget, float TargetOrient
*/
{
LookLeftRight = -CPad::GetPad(0)->LookAroundLeftRight();
LookUpDown = -CPad::GetPad(0)->LookAroundUpDown();
LookUpDown = CPad::GetPad(0)->LookAroundUpDown();
}
float AlphaOffset, BetaOffset;
if(UseMouse){

View File

@ -767,8 +767,8 @@ CMenuManager::DrawStandardMenus(bool activeScreen)
CFont::SetBackGroundOnlyTextOff();
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(MENU_UNK_X_MARGIN));
CFont::SetRightJustifyWrap(SCREEN_SCALE_X(MENU_UNK_WIDTH));
CFont::SetCentreSize(SCREEN_WIDTH);
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(MENU_UNK_X_MARGIN));
CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH));
switch (m_nCurrScreen) {
case MENUPAGE_CHOOSE_LOAD_SLOT:
@ -808,7 +808,7 @@ CMenuManager::DrawStandardMenus(bool activeScreen)
wchar *str;
if (aScreens[m_nCurrScreen].m_aEntries[0].m_Action == MENUACTION_LABEL) {
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(MENULABEL_X_MARGIN));
CFont::SetRightJustifyWrap(SCREEN_SCALE_X(MENULABEL_WIDTH));
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(MENULABEL_X_MARGIN));
CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD));
CFont::SetScale(MENU_X(BIGTEXT2_X_SCALE), MENU_Y(BIGTEXT2_Y_SCALE));
CFont::SetRightJustifyOff();
@ -848,7 +848,7 @@ CMenuManager::DrawStandardMenus(bool activeScreen)
CFont::PrintString(MENU_X_LEFT_ALIGNED(100.0f), MENU_Y(97.0f), str);
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(MENU_UNK_X_MARGIN));
CFont::SetRightJustifyWrap(SCREEN_SCALE_X(MENU_UNK_WIDTH));
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(MENU_UNK_X_MARGIN));
}
if (m_nCurrScreen == MENUPAGE_KEYBOARD_CONTROLS) {
@ -1301,13 +1301,16 @@ CMenuManager::DrawStandardMenus(bool activeScreen)
break;
}
nextYToUse = MENU_Y(150.f); // TODO(Miami): Temp
// Not just unused, but also collides with the bug fix in Font.cpp. Yikes.
#ifndef FIX_BUGS
nextYToUse += MENU_DEFAULT_LINE_HEIGHT * CFont::GetNumberLines(MENU_X_LEFT_ALIGNED(60.0f), MENU_Y(nextYToUse), leftText);
#endif
// TODO(Miami): Remove here after audio page is done
nextYToUse = 300.0f; // TODO(Miami): temp
// Radio icons
if (aScreens[m_nCurrScreen].m_aEntries[i].m_Action == MENUACTION_RADIO) {
// TODO(Miami): Remove those after audio page is done
ProcessRadioIcon(m_aFrontEndSprites[MENUSPRITE_WILDSTYLE], MENU_X_LEFT_ALIGNED(30.0f), MENU_Y(nextYToUse), 0, HOVEROPTION_RADIO_0);
ProcessRadioIcon(m_aFrontEndSprites[MENUSPRITE_FLASH], MENU_X_LEFT_ALIGNED(90.0f), MENU_Y(nextYToUse), 1, HOVEROPTION_RADIO_1);
ProcessRadioIcon(m_aFrontEndSprites[MENUSPRITE_KCHAT], MENU_X_LEFT_ALIGNED(150.0f), MENU_Y(nextYToUse), 2, HOVEROPTION_RADIO_2);
@ -1804,7 +1807,7 @@ CMenuManager::DrawControllerSetupScreen()
CFont::SetRightJustifyOff();
CFont::SetBackGroundOnlyTextOn();
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(MENU_UNK_X_MARGIN));
CFont::SetRightJustifyWrap(SCREEN_SCALE_X(MENU_UNK_WIDTH));
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(MENU_UNK_X_MARGIN));
PREPARE_MENU_HEADER
switch (m_ControlMethod) {
@ -2256,7 +2259,7 @@ CMenuManager::DrawPlayerSetupScreen(bool activeScreen)
CFont::SetRightJustifyOff();
CFont::SetBackGroundOnlyTextOn();
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(MENU_UNK_X_MARGIN));
CFont::SetRightJustifyWrap(SCREEN_SCALE_X(MENU_UNK_WIDTH));
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(MENU_UNK_X_MARGIN));
// lstrcpy's changed with strcpy
if (!m_bSkinsEnumerated) {
@ -3042,7 +3045,7 @@ CMenuManager::SmallMessageScreen(const char* text)
CFont::SetBackGroundOnlyTextOn();
CSprite2d::DrawRect(CRect(SCREEN_STRETCH_X(95.0f), SCREEN_SCALE_FROM_BOTTOM(165.0f), SCREEN_STRETCH_FROM_RIGHT(95.0f), SCREEN_SCALE_Y(115.0f)), CRGBA(50, 50, 50, FadeIn(210)));
CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD));
CFont::SetCentreSize(SCREEN_STRETCH_X(430.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(430.0f));
CFont::SetCentreOn();
CFont::SetColor(CRGBA(LABEL_COLOR.r, LABEL_COLOR.g, LABEL_COLOR.b, FadeIn(255)));
CFont::SetDropShadowPosition(2);
@ -4702,8 +4705,8 @@ CMenuManager::PrintMap(void)
CRadar::DrawBlips();
if (m_PrefsShowLegends) {
CFont::SetWrapx(SCREEN_SCALE_FROM_RIGHT(40.0f));
CFont::SetRightJustifyWrap(SCREEN_SCALE_X(84.0f));
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(40.0f));
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(84.0f));
CFont::SetBackGroundOnlyTextOff();
CFont::SetColor(CRGBA(LABEL_COLOR.r, LABEL_COLOR.g, LABEL_COLOR.b, FadeIn(255)));
CFont::SetDropShadowPosition(2);
@ -4826,8 +4829,8 @@ CMenuManager::PrintMap(void)
#endif
m_bMenuMapActive = false;
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(10.0f));
CFont::SetRightJustifyWrap(SCREEN_SCALE_X(10.0f));
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(MENU_UNK_X_MARGIN));
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(MENU_UNK_X_MARGIN));
DisplayHelperText("FEH_MPH");
}

View File

@ -11,12 +11,10 @@
#define MENUHEADER_WIDTH 1.0f
#define MENU_UNK_X_MARGIN 10.0f
#define MENU_UNK_WIDTH 10.0f
#define MENUACTION_SCALE_MULT 0.9f
#define MENULABEL_X_MARGIN 80.0f
#define MENULABEL_WIDTH 80.0f
#define MENULABEL_POS_X 100.0f
#define MENULABEL_POS_Y 97.0f

View File

@ -137,7 +137,7 @@ void MessageScreen(char *msg)
CFont::SetWrapx(SCREEN_SCALE_FROM_RIGHT(190.0f)); // 450.0f
CFont::SetScale(SCREEN_SCALE_X(1.0f), SCREEN_SCALE_Y(1.0f));
CFont::SetCentreOn();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(190.0f)); // 450.0f
CFont::SetCentreSize(SCREEN_SCALE_X(450.0f));
CFont::SetJustifyOff();
CFont::SetColor(CRGBA(255, 255, 255, 255));
CFont::SetDropColor(CRGBA(32, 32, 32, 255));

View File

@ -3222,6 +3222,9 @@ int16 CPad::SniperModeLookUpDown(void)
int16 axis = NewState.LeftStickY;
int16 dpad;
#ifdef FIX_BUGS
axis = -axis;
#endif
if (CPad::bInvertLook4Pad) {
axis = -axis;
dpad = (NewState.DPadDown - NewState.DPadUp) / 2;
@ -3257,7 +3260,9 @@ int16 CPad::LookAroundLeftRight(void)
int16 CPad::LookAroundUpDown(void)
{
int16 axis = GetPad(0)->NewState.RightStickY;
#ifdef FIX_BUGS
axis = -axis;
#endif
if (CPad::bInvertLook4Pad)
axis = -axis;
@ -3289,7 +3294,7 @@ void CPad::PrintErrorMessage(void)
CFont::SetScale(SCREEN_SCALE_X(0.85f), SCREEN_SCALE_Y(1.0f));
CFont::SetJustifyOff();
CFont::SetBackgroundOff();
CFont::SetCentreSize(SCREEN_STRETCH_FROM_RIGHT(50.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(590.0f));
CFont::SetCentreOn();
CFont::SetPropOn();
CFont::SetColor(CRGBA(255, 255, 200, 200));
@ -3307,7 +3312,7 @@ void CPad::PrintErrorMessage(void)
CFont::SetScale(SCREEN_SCALE_X(0.85f), SCREEN_SCALE_Y(1.0f));
CFont::SetJustifyOff();
CFont::SetBackgroundOff();
CFont::SetCentreSize(SCREEN_STRETCH_FROM_RIGHT(50.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(590.0f));
CFont::SetCentreOn();
CFont::SetPropOn();
CFont::SetColor(CRGBA(255, 255, 200, 200));

View File

@ -243,9 +243,11 @@ enum Config {
//#define NO_ISLAND_LOADING // disable loadscreen between islands via loading all island data at once, consumes more memory and CPU
//#define USE_TEXTURE_POOL
//#define CUTSCENE_BORDERS_SWITCH
#ifdef LIBRW
//#define EXTENDED_COLOURFILTER // more options for colour filter (replaces mblur)
//#define EXTENDED_PIPELINES // custom render pipelines (includes Neo)
//#define NEW_RENDERER // leeds-like world rendering, needs librw
#endif
//#define MULTISAMPLING // adds MSAA option TODO
#ifdef LIBRW

View File

@ -294,32 +294,13 @@ RwTextureAddressMode RwTextureGetAddressingV(const RwTexture *texture);
// TODO
void _rwD3D8TexDictionaryEnableRasterFormatConversion(bool enable) { }
static rw::Raster*
ConvertTexRaster(rw::Raster *ras)
{
using namespace rw;
if(ras->platform == rw::platform)
return ras;
// compatible platforms
if(ras->platform == PLATFORM_D3D8 && rw::platform == PLATFORM_D3D9 ||
ras->platform == PLATFORM_D3D9 && rw::platform == PLATFORM_D3D8)
return ras;
Image *img = ras->toImage();
ras->destroy();
img->unpalettize();
ras = Raster::createFromImage(img);
img->destroy();
return ras;
}
// hack for reading native textures
RwBool rwNativeTextureHackRead(RwStream *stream, RwTexture **tex, RwInt32 size)
{
*tex = Texture::streamReadNative(stream);
#ifdef LIBRW
(*tex)->raster = ConvertTexRaster((*tex)->raster);
(*tex)->raster = rw::Raster::convertTexToCurrentPlatform((*tex)->raster);
#endif
return *tex != nil;
}
@ -462,6 +443,53 @@ RwBool RwIm3DRenderPrimitive(RwPrimitiveType primType);
RwBool RwRenderStateGet(RwRenderState state, void *value)
{
uint32 *uival = (uint32*)value;
uint32 fog;
switch(state){
case rwRENDERSTATETEXTURERASTER: *(void**)value = GetRenderStatePtr(TEXTURERASTER); return true;
case rwRENDERSTATETEXTUREADDRESS: *uival = GetRenderState(TEXTUREADDRESS); return true;
case rwRENDERSTATETEXTUREADDRESSU: *uival = GetRenderState(TEXTUREADDRESSU); return true;
case rwRENDERSTATETEXTUREADDRESSV: *uival = GetRenderState(TEXTUREADDRESSV); return true;
case rwRENDERSTATETEXTUREPERSPECTIVE: *uival = 1; return true;
case rwRENDERSTATEZTESTENABLE: *uival = GetRenderState(ZTESTENABLE); return true;
case rwRENDERSTATESHADEMODE: *uival = rwSHADEMODEGOURAUD; return true;
case rwRENDERSTATEZWRITEENABLE: *uival = GetRenderState(ZWRITEENABLE); return true;
case rwRENDERSTATETEXTUREFILTER: *uival = GetRenderState(TEXTUREFILTER); return true;
case rwRENDERSTATESRCBLEND: *uival = GetRenderState(SRCBLEND); return true;
case rwRENDERSTATEDESTBLEND: *uival = GetRenderState(DESTBLEND); return true;
case rwRENDERSTATEVERTEXALPHAENABLE: *uival = GetRenderState(VERTEXALPHA); return true;
case rwRENDERSTATEBORDERCOLOR: *uival = 0; return true;
case rwRENDERSTATEFOGENABLE: *uival = GetRenderState(FOGENABLE); return true;
case rwRENDERSTATEFOGCOLOR:
// have to swap R and B here
fog = GetRenderState(FOGCOLOR);
*uival = (fog>>16)&0xFF;
*uival |= (fog&0xFF)<<16;
*uival |= fog&0xFF00;
*uival |= fog&0xFF000000;
return true;
case rwRENDERSTATEFOGTYPE: *uival = rwFOGTYPELINEAR; return true;
case rwRENDERSTATEFOGDENSITY: *(float*)value = 1.0f; return true;
case rwRENDERSTATECULLMODE: *uival = GetRenderState(CULLMODE); return true;
// all unsupported
case rwRENDERSTATEFOGTABLE:
case rwRENDERSTATEALPHAPRIMITIVEBUFFER:
case rwRENDERSTATESTENCILENABLE:
case rwRENDERSTATESTENCILFAIL:
case rwRENDERSTATESTENCILZFAIL:
case rwRENDERSTATESTENCILPASS:
case rwRENDERSTATESTENCILFUNCTION:
case rwRENDERSTATESTENCILFUNCTIONREF:
case rwRENDERSTATESTENCILFUNCTIONMASK:
case rwRENDERSTATESTENCILFUNCTIONWRITEMASK:
default:
return false;
}
}
RwBool RwRenderStateSet(RwRenderState state, void *value)
{
uint32 uival = (uintptr)value;
@ -749,6 +777,9 @@ RwBool RpWorldPluginAttach(void) {
registerNativeDataPlugin();
registerAtomicRightsPlugin();
registerMaterialRightsPlugin();
// not sure if this goes here
rw::xbox::registerVertexFormatPlugin();
return true;
}

View File

@ -38,7 +38,7 @@ CObject::CObject(void)
m_colour2 = 0;
m_colour1 = m_colour2;
m_nBonusValue = 0;
// m_nCostValue = 0; // TODO(Miami)
m_nCostValue = 0;
bIsPickup = false;
bPickupObjWithMessage = false;
bOutOfStock = false;
@ -444,7 +444,7 @@ CObject::Init(void)
m_colour2 = 0;
m_nBonusValue = 0;
bIsWeapon = false;
// TODO(MIAMI): some new field here
m_nCostValue = 0;
m_pCollidingEntity = nil;
CColPoint point;
CEntity* outEntity = nil;

View File

@ -522,7 +522,7 @@ CPed::CPed(uint32 pedType) : m_pedIK(this)
m_delayedSoundID = -1;
m_delayedSoundTimer = 0;
CPopulation::UpdatePedCount((ePedType)m_nPedType, false);
m_lastComment = -1;
m_lastComment = UINT32_MAX;
}
// --MIAMI: Done

View File

@ -646,7 +646,7 @@ public:
uint16 m_lastQueuedSound;
uint16 m_queuedSound;
bool m_canTalk;
int32 m_lastComment;
uint32 m_lastComment;
CVector m_vecSeekPosEx; // used for OBJECTIVE_GUARD_SPOT
float m_distanceToCountSeekDoneEx; // used for OBJECTIVE_GUARD_SPOT

View File

@ -1055,6 +1055,7 @@ CPlayerPed::FindWeaponLockOnTarget(void)
if (nextTarget)
nextTarget->RegisterReference((CEntity**)&m_pPointGunAt);
SetPointGunAt(nextTarget);
Say(SOUND_PED_AIMING);
return true;
}

View File

@ -73,7 +73,7 @@ CCredits::Render(void)
scrolloffset = (CTimer::GetTimeInMilliseconds() - CreditsStartTime) / 24.0f;
CFont::SetJustifyOff();
CFont::SetBackgroundOff();
CFont::SetCentreSize(SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH * 0.75f));
CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH * 0.75f));
CFont::SetCentreOn();
CFont::SetPropOn();
CFont::SetFontStyle(FONT_STANDARD);
@ -421,7 +421,7 @@ CCredits::Render(void)
PrintCreditText(0.65f, 0.65f, TheText.Get("CRED129"), lineoffset, scrolloffset);
PrintCreditSpace(1.5f, lineoffset);
CFont::SetCentreSize(SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH * 0.8f));
CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH * 0.8f));
PrintCreditText(1.1f, 0.8f, TheText.Get("CRD111A"), lineoffset, scrolloffset);
PrintCreditSpace(0.5f, lineoffset);
@ -469,7 +469,7 @@ CCredits::Render(void)
PrintCreditSpace(0.5f, lineoffset);
PrintCreditText(0.65f, 0.65f, TheText.Get("CRD134I"), lineoffset, scrolloffset);
CFont::SetCentreSize(SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH * 0.7f));
CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH * 0.7f));
PrintCreditSpace(1.5f, lineoffset);
PrintCreditText(1.1f, 0.8f, TheText.Get("CRED135"), lineoffset, scrolloffset);
@ -505,7 +505,7 @@ CCredits::Render(void)
PrintCreditText(1.1f, 1.1f, TheText.Get("CRD140L"), lineoffset, scrolloffset);
PrintCreditSpace(1.5f, lineoffset);
CFont::SetCentreSize(SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH * 0.85f));
CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH * 0.85f));
PrintCreditText(0.95f, 0.7f, TheText.Get("CRED259"), lineoffset, scrolloffset);
PrintCreditSpace(0.5f, lineoffset);
@ -586,7 +586,7 @@ CCredits::Render(void)
PrintCreditText(0.65f, 0.65f, TheText.Get("CRED172"), lineoffset, scrolloffset);
PrintCreditSpace(0.5f, lineoffset);
CFont::SetCentreSize(SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH * 0.75f));
CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH * 0.75f));
PrintCreditSpace(1.5f, lineoffset);
PrintCreditText(0.95f, 0.7f, TheText.Get("CRED217"), lineoffset, scrolloffset);
@ -709,7 +709,7 @@ CCredits::Render(void)
PrintCreditText(0.65f, 0.65f, TheText.Get("CRED332"), lineoffset, scrolloffset);
PrintCreditSpace(1.5f, lineoffset);
CFont::SetCentreSize(SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH * 0.8f));
CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH * 0.8f));
PrintCreditText(0.95f, 0.7f, TheText.Get("CRED333"), lineoffset, scrolloffset);
PrintCreditSpace(0.5f, lineoffset);
@ -747,7 +747,7 @@ CCredits::Render(void)
PrintCreditSpace(1.5f, lineoffset);
CFont::SetCentreSize(SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH * 0.75f));
CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH * 0.75f));
PrintCreditText(0.95f, 0.7f, TheText.Get("CRED267"), lineoffset, scrolloffset);
PrintCreditSpace(0.5f, lineoffset);

View File

@ -268,8 +268,8 @@ CFont::Initialise(void)
SetColor(CRGBA(0xFF, 0xFF, 0xFF, 0));
SetJustifyOff();
SetCentreOff();
SetWrapx(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH));
SetCentreSize(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH));
SetWrapx(SCREEN_WIDTH);
SetCentreSize(SCREEN_WIDTH);
SetBackgroundOff();
SetBackgroundColor(CRGBA(0x80, 0x80, 0x80, 0x80));
SetBackGroundOnlyTextOff();
@ -646,7 +646,14 @@ CFont::GetNumberLines(float xstart, float ystart, wchar *s)
y = ystart;
while(*s){
#ifdef FIX_BUGS
float f = Details.centre ? Details.centreSize :
Details.rightJustify ? xstart - Details.rightJustifyWrap :
Details.wrapX;
#else
float f = (Details.centre ? Details.centreSize : Details.wrapX);
#endif
#ifdef MORE_LANGUAGES
if (IsJapaneseFont())
f -= SCREEN_SCALE_X(21.0f * 2.0f);
@ -726,8 +733,15 @@ CFont::GetTextRect(CRect *rect, float xstart, float ystart, wchar *s)
x = xstart;
y = ystart;
#ifdef FIX_BUGS
float xEnd = Details.centre ? Details.centreSize :
Details.rightJustify ? xstart - Details.rightJustifyWrap :
Details.wrapX;
#else
float xEnd = (Details.centre ? Details.centreSize : Details.wrapX);
#endif
while(*s){
if(x + GetStringWidth(s) > (Details.centre ? Details.centreSize : Details.wrapX)){
if(x + GetStringWidth(s) > xEnd){
// reached end of line
if(x > maxlength)
maxlength = x;

View File

@ -967,7 +967,7 @@ CGlass::BreakGlassPhysically(CVector pos, float radius)
for ( int32 j = 0; j < col->numTriangles; j++ )
{
if ( CCollision::TestSphereTriangle(sphere,
col->vertices, col->triangles[i], col->trianglePlanes[i]) )
col->vertices, col->triangles[j], col->trianglePlanes[j]) )
{
hit = true;
}

View File

@ -1095,7 +1095,7 @@ void CHud::Draw()
CFont::SetCentreOff();
CFont::SetWrapx(SCALE_AND_CENTER_X(CTheScripts::IntroTextLines[i].m_fWrapX));
CFont::SetCentreSize(SCALE_AND_CENTER_X(CTheScripts::IntroTextLines[i].m_fCenterSize));
CFont::SetCentreSize(SCREEN_SCALE_X(CTheScripts::IntroTextLines[i].m_fCenterSize));
if (CTheScripts::IntroTextLines[i].m_bBackground)
CFont::SetBackgroundOn();
@ -1168,7 +1168,7 @@ void CHud::Draw()
onceItWasWidescreen = true;
if (FrontEndMenuManager.m_PrefsShowSubtitles || !CCutsceneMgr::IsRunning()) {
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(60.0f));
CFont::SetCentreSize(SCREEN_WIDTH - SCREEN_SCALE_X(60.0f));
CFont::SetScale(SCREEN_SCALE_X(0.58f), SCREEN_SCALE_Y(1.2f));
CFont::PrintString(SCREEN_WIDTH / 2.f, SCREEN_SCALE_FROM_BOTTOM(80.0f), m_Message);
}
@ -1182,11 +1182,11 @@ void CHud::Draw()
CFont::SetDropColor(CRGBA(0, 0, 0, 255));
CFont::SetScale(SCREEN_SCALE_X(0.58f), SCREEN_SCALE_Y(1.22f));
float offsetX = SCREEN_SCALE_X(140.0f) + SCREEN_SCALE_X(8.0f);
float center = SCREEN_SCALE_FROM_RIGHT(20.0f) - SCREEN_SCALE_X(8.0f) - offsetX;
CFont::SetCentreSize(center);
float radarBulge = SCREEN_SCALE_X(140.0f) + SCREEN_SCALE_X(8.0f);
float rectWidth = SCREEN_WIDTH - SCREEN_SCALE_X(20.0f) - SCREEN_SCALE_X(8.0f) - radarBulge;
CFont::SetCentreSize(rectWidth);
CFont::PrintString(center / 2.0f + offsetX, SCREEN_SCALE_FROM_BOTTOM(105.f + 2.0f), m_Message);
CFont::PrintString(rectWidth / 2.0f + radarBulge, SCREEN_SCALE_FROM_BOTTOM(105.f + 2.0f), m_Message);
}
CFont::SetDropShadowPosition(0);
}
@ -1322,13 +1322,13 @@ void CHud::Draw()
}
CFont::SetPropOn();
CFont::SetCentreOn();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(50.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(590.0f));
CFont::SetColor(CRGBA(255, 255, 0, BigMessageAlpha[0])); // unused color
CFont::SetFontStyle(FONT_HEADING);
// Appearently sliding text in here was abandoned very early, since this text is centered now.
if (BigMessageX[0] >= SCREEN_SCALE_FROM_RIGHT(20.0f)) {
if (BigMessageX[0] >= SCALE_AND_CENTER_X(620.0f)) {
BigMessageInUse[0] += CTimer::GetTimeStep();
if (BigMessageInUse[0] >= 120.0f) {
@ -1356,7 +1356,7 @@ void CHud::Draw()
}
else {
BigMessageAlpha[0] = 0.0f;
BigMessageX[0] = SCREEN_SCALE_FROM_RIGHT(DEFAULT_SCREEN_WIDTH + 60.0f);
BigMessageX[0] = SCALE_AND_CENTER_X(-60.0f);
BigMessageInUse[0] = 1.0f;
}
}
@ -1435,7 +1435,7 @@ void CHud::DrawAfterFade()
CFont::SetCentreOff();
CFont::SetWrapx(SCALE_AND_CENTER_X(line.m_fWrapX));
CFont::SetCentreSize(SCALE_AND_CENTER_X(line.m_fCenterSize));
CFont::SetCentreSize(SCREEN_SCALE_X(line.m_fCenterSize));
if (line.m_bBackground)
CFont::SetBackgroundOn();
else
@ -1481,7 +1481,7 @@ void CHud::DrawAfterFade()
CFont::SetScale(SCREEN_SCALE_X(1.2f), SCREEN_SCALE_Y(1.5f));
CFont::SetCentreOn();
CFont::SetPropOn();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(40.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(600.0f));
CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD));
CFont::SetDropShadowPosition(2);
CFont::SetDropColor(CRGBA(0, 0, 0, 255));
@ -1495,7 +1495,7 @@ void CHud::DrawAfterFade()
CFont::SetScale(SCREEN_SCALE_X(1.2f), SCREEN_SCALE_Y(1.5f));
CFont::SetCentreOn();
CFont::SetPropOn();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(60.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(580.0f));
CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD));
CFont::SetDropShadowPosition(2);
CFont::SetDropColor(CRGBA(0, 0, 0, 255));
@ -1550,7 +1550,7 @@ void CHud::DrawAfterFade()
CFont::SetScale(SCREEN_SCALE_X(1.0f), SCREEN_SCALE_Y(1.2f));
CFont::SetCentreOn();
CFont::SetPropOn();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(80.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(560.0f));
CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD));
CFont::SetDropShadowPosition(2);
CFont::SetDropColor(CRGBA(0, 0, 0, 255));
@ -1581,7 +1581,7 @@ void CHud::DrawAfterFade()
CFont::SetScale(SCREEN_SCALE_X(1.04f), SCREEN_SCALE_Y(1.6f));
CFont::SetPropOn();
CFont::SetRightJustifyWrap(0.0f);
CFont::SetRightJustifyWrap(SCALE_AND_CENTER_X(0.0f));
CFont::SetRightJustifyOn();
CFont::SetFontStyle(FONT_BANK);
CFont::SetScale(FrontEndMenuManager.m_PrefsLanguage == CMenuManager::LANGUAGE_AMERICAN ? SCREEN_SCALE_X(1.7f) : SCREEN_SCALE_X(1.5f), SCREEN_SCALE_Y(1.8f));

View File

@ -182,7 +182,7 @@ CSpecialFX::Render2DFXs(void)
CFont::SetScale(SCREEN_SCALE_X(1.5f), SCREEN_SCALE_Y(1.5f));
CFont::SetJustifyOff();
CFont::SetBackgroundOff();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(20.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(620.0f)); // unused
CFont::SetCentreOff();
CFont::SetPropOn();
CFont::SetColor(CRGBA(0, 255, 0, 200));
@ -207,7 +207,7 @@ CSpecialFX::Render2DFXs(void)
CFont::SetScale(SCREEN_SCALE_X(1.5f), SCREEN_SCALE_Y(1.5f));
CFont::SetJustifyOff();
CFont::SetBackgroundOff();
CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(20.0f));
CFont::SetCentreSize(SCREEN_SCALE_X(620.0f)); // unused
CFont::SetCentreOff();
CFont::SetPropOn();
CFont::SetColor(CRGBA(100, 100, 100, 200));

View File

@ -1494,7 +1494,7 @@ CAutomobile::ProcessControl(void)
blade = Multiply3x3(blade, GetMatrix());
camDist /= Max(Sqrt(distSq), 0.01f);
if(Abs(DotProduct(camDist, blade)) > 0.95f){
DMAudio.PlayOneShot(m_audioEntityId, SOUND_31, 0.0f);
DMAudio.PlayOneShot(m_audioEntityId, SOUND_HELI_BLADE, 0.0f);
m_fPropellerRotation = m_aWheelRotation[1];
}
}

View File

@ -1,4 +1,4 @@
#include "common.h"
#include "common.h"
#include "main.h"
#include "General.h"
@ -146,7 +146,7 @@ CBoat::ProcessControl(void)
AutoPilot.m_nCarMission == MISSION_BLOCKPLAYER_CLOSE ||
AutoPilot.m_nCarMission == MISSION_ATTACKPLAYER) &&
CTimer::GetTimeInMilliseconds() > m_nPoliceShoutTimer){
DMAudio.PlayOneShot(m_audioEntityId, SOUND_115, 0.0f);
DMAudio.PlayOneShot(m_audioEntityId, SOUND_PED_VCPA_PLAYER_FOUND, 0.0f);
m_nPoliceShoutTimer = CTimer::GetTimeInMilliseconds() + 4500 + (CGeneral::GetRandomNumber()&0xFFF);
}
}

2
vendor/librw vendored

@ -1 +1 @@
Subproject commit 5ef54dcb78ea01171e2c0d690e5a64c2ed2ceb3b
Subproject commit 7e80d45cdb6663f97d89ed443198ce6e37c4435e