mirror of
https://github.com/halpz/re3.git
synced 2025-07-04 07:40:45 +00:00
merge upstream
This commit is contained in:
@ -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;
|
||||
|
@ -53,7 +53,7 @@
|
||||
#include "Fluff.h"
|
||||
#include "WaterCreatures.h"
|
||||
|
||||
//--MIAMI: file done except TODO
|
||||
//--MIAMI: file done
|
||||
|
||||
uint8 CReplay::Mode;
|
||||
CAddressInReplayBuffer CReplay::Record;
|
||||
@ -158,7 +158,7 @@ static void(*CBArray[])(CAnimBlendAssociation*, void*) =
|
||||
&CPed::FinishedAttackCB,
|
||||
&CPed::FinishFightMoveCB, &PhonePutDownCB, &PhonePickUpCB, &CPed::PedAnimDoorCloseRollingCB, &CPed::FinishJumpCB,
|
||||
&CPed::PedLandCB, &CPed::RestoreHeadingRateCB, &CPed::PedSetQuickDraggedOutCarPositionCB, &CPed::PedSetDraggedOutCarPositionCB,
|
||||
&CPed::PedSetPreviousStateCB, &CPed::FinishedReloadCB, /*&CPed::PedSetGetInCarPositionCB, TODO(MIAMI)*/
|
||||
&CPed::PedSetPreviousStateCB, &CPed::FinishedReloadCB, &CPed::PedSetGetInCarPositionCB,
|
||||
&CPed::PedAnimShuffleCB, &CPed::DeleteSunbatheIdleAnimCB, &StartTalkingOnMobileCB, &FinishTalkingOnMobileCB
|
||||
};
|
||||
|
||||
@ -396,7 +396,8 @@ void CReplay::RecordThisFrame(void)
|
||||
misc->cam_shake_start = TheCamera.m_uiCamShakeStart;
|
||||
misc->cam_shake_strength = TheCamera.m_fCamShakeForce;
|
||||
misc->cur_area = CGame::currArea;
|
||||
//misc->special_fx_flags; // TODO(MIAMI)!!!
|
||||
misc->video_cam = CSpecialFX::bVideoCam;
|
||||
misc->lift_cam = CSpecialFX::bLiftCam;
|
||||
Record.m_nOffset += sizeof(*misc);
|
||||
tEndOfFramePacket* eof = (tEndOfFramePacket*)&Record.m_pBase[Record.m_nOffset];
|
||||
eof->type = REPLAYPACKET_ENDOFFRAME;
|
||||
@ -1139,7 +1140,8 @@ bool CReplay::PlayBackThisFrameInterpolation(CAddressInReplayBuffer *buffer, flo
|
||||
tMiscPacket* pm = (tMiscPacket*)&ptr[offset];
|
||||
TheCamera.m_uiCamShakeStart = pm->cam_shake_start;
|
||||
TheCamera.m_fCamShakeForce = pm->cam_shake_strength;
|
||||
// TODO(MIAMI): SpecialFX
|
||||
CSpecialFX::bVideoCam = pm->video_cam;
|
||||
CSpecialFX::bLiftCam = pm->lift_cam;
|
||||
CGame::currArea = pm->cur_area;
|
||||
buffer->m_nOffset += sizeof(tMiscPacket);
|
||||
break;
|
||||
|
@ -263,7 +263,8 @@ class CReplay
|
||||
uint32 cam_shake_start;
|
||||
float cam_shake_strength;
|
||||
uint8 cur_area;
|
||||
uint8 special_fx_flags;
|
||||
uint8 video_cam : 1;
|
||||
uint8 lift_cam : 1;
|
||||
};
|
||||
|
||||
VALIDATE_SIZE(tMiscPacket, 16);
|
||||
|
@ -88,6 +88,8 @@
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
//--MIAMI: file done
|
||||
|
||||
#define PICKUP_PLACEMENT_OFFSET 0.5f
|
||||
#define PED_FIND_Z_OFFSET 5.0f
|
||||
#define COP_PED_FIND_Z_OFFSET 10.0f
|
||||
@ -9113,12 +9115,16 @@ int8 CRunningScript::ProcessCommands800To899(int32 command)
|
||||
switch (pPed->m_vehEnterType) {
|
||||
case CAR_DOOR_LF:
|
||||
flags = pPed->m_pMyVehicle->m_nNumMaxPassengers != 0 ? CAR_DOOR_FLAG_LF : CAR_DOOR_FLAG_LF | CAR_DOOR_FLAG_LR;
|
||||
break;
|
||||
case CAR_DOOR_LR:
|
||||
flags = pPed->m_pMyVehicle->m_nNumMaxPassengers != 0 ? CAR_DOOR_FLAG_RF : CAR_DOOR_FLAG_LF | CAR_DOOR_FLAG_LR;
|
||||
break;
|
||||
case CAR_DOOR_RF:
|
||||
flags = CAR_DOOR_FLAG_RF;
|
||||
break;
|
||||
case CAR_DOOR_RR:
|
||||
flags = CAR_DOOR_FLAG_RR;
|
||||
break;
|
||||
}
|
||||
}
|
||||
pPed->m_pMyVehicle->m_nGettingOutFlags &= ~flags;
|
||||
@ -12119,14 +12125,14 @@ int8 CRunningScript::ProcessCommands1100To1199(int32 command)
|
||||
{
|
||||
int32* ptr = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL);
|
||||
CollectParameters(&m_nIp, 1);
|
||||
UpdateCompareFlag(*ptr = ScriptParams[0]);
|
||||
UpdateCompareFlag(*ptr == ScriptParams[0]);
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_IS_INT_LVAR_EQUAL_TO_CONSTANT:
|
||||
{
|
||||
int32* ptr = GetPointerToScriptVariable(&m_nIp, VAR_LOCAL);
|
||||
CollectParameters(&m_nIp, 1);
|
||||
UpdateCompareFlag(*ptr = ScriptParams[0]);
|
||||
UpdateCompareFlag(*ptr == ScriptParams[0]);
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_GET_DEAD_CHAR_PICKUP_COORDS:
|
||||
@ -12274,7 +12280,7 @@ int8 CRunningScript::ProcessCommands1200To1299(int32 command)
|
||||
case COMMAND_IS_CONSTANT_GREATER_OR_EQUAL_TO_INT_VAR:
|
||||
{
|
||||
CollectParameters(&m_nIp, 1);
|
||||
int32* ptr = GetPointerToScriptVariable(&m_nIp, VAR_LOCAL);
|
||||
int32* ptr = GetPointerToScriptVariable(&m_nIp, VAR_GLOBAL);
|
||||
UpdateCompareFlag(ScriptParams[0] >= *ptr);
|
||||
return 0;
|
||||
}
|
||||
@ -15751,7 +15757,7 @@ INITSAVEBUF
|
||||
uint32 script_data_size = SCRIPT_DATA_SIZE;
|
||||
WriteSaveBuf(buf, script_data_size);
|
||||
WriteSaveBuf(buf, OnAMissionFlag);
|
||||
WriteSaveBuf(buf, NextFreeCollectiveIndex);
|
||||
WriteSaveBuf(buf, LastMissionPassedTime);
|
||||
for (uint32 i = 0; i < MAX_NUM_BUILDING_SWAPS; i++) {
|
||||
CBuilding* pBuilding = BuildingSwapArray[i].m_pBuilding;
|
||||
uint32 type, handle;
|
||||
@ -15801,12 +15807,12 @@ INITSAVEBUF
|
||||
WriteSaveBuf(buf, handle);
|
||||
}
|
||||
WriteSaveBuf(buf, bUsingAMultiScriptFile);
|
||||
WriteSaveBuf(buf, (uint8)0);
|
||||
WriteSaveBuf(buf, bPlayerHasMetDebbieHarry);
|
||||
WriteSaveBuf(buf, (uint16)0);
|
||||
WriteSaveBuf(buf, MainScriptSize);
|
||||
WriteSaveBuf(buf, LargestMissionScriptSize);
|
||||
WriteSaveBuf(buf, NumberOfMissionScripts);
|
||||
WriteSaveBuf(buf, (uint16)0);
|
||||
WriteSaveBuf(buf, NumberOfExclusiveMissionScripts);
|
||||
WriteSaveBuf(buf, runningScripts);
|
||||
for (CRunningScript* pScript = pActiveScripts; pScript; pScript = pScript->GetNext())
|
||||
pScript->Save(buf);
|
||||
@ -15823,7 +15829,7 @@ INITSAVEBUF
|
||||
ScriptSpace[i] = ReadSaveBuf<uint8>(buf);
|
||||
script_assert(ReadSaveBuf<uint32>(buf) == SCRIPT_DATA_SIZE);
|
||||
OnAMissionFlag = ReadSaveBuf<uint32>(buf);
|
||||
NextFreeCollectiveIndex = ReadSaveBuf<uint32>(buf);
|
||||
LastMissionPassedTime = ReadSaveBuf<uint32>(buf);
|
||||
for (uint32 i = 0; i < MAX_NUM_BUILDING_SWAPS; i++) {
|
||||
uint32 type = ReadSaveBuf<uint32>(buf);
|
||||
uint32 handle = ReadSaveBuf<uint32>(buf);
|
||||
@ -15871,12 +15877,12 @@ INITSAVEBUF
|
||||
InvisibilitySettingArray[i]->bIsVisible = false;
|
||||
}
|
||||
script_assert(ReadSaveBuf<bool>(buf) == bUsingAMultiScriptFile);
|
||||
ReadSaveBuf<uint8>(buf);
|
||||
bPlayerHasMetDebbieHarry = ReadSaveBuf<uint8>(buf);
|
||||
ReadSaveBuf<uint16>(buf);
|
||||
script_assert(ReadSaveBuf<uint32>(buf) == MainScriptSize);
|
||||
script_assert(ReadSaveBuf<uint32>(buf) == LargestMissionScriptSize);
|
||||
script_assert(ReadSaveBuf<uint16>(buf) == NumberOfMissionScripts);
|
||||
ReadSaveBuf<uint16>(buf);
|
||||
script_assert(ReadSaveBuf<uint16>(buf) == NumberOfExclusiveMissionScripts);
|
||||
uint32 runningScripts = ReadSaveBuf<uint32>(buf);
|
||||
for (uint32 i = 0; i < runningScripts; i++)
|
||||
StartNewScript(0)->Load(buf);
|
||||
@ -16103,7 +16109,7 @@ void CTheScripts::CleanUpThisObject(CObject* pObject)
|
||||
if (pObject->ObjectCreatedBy != MISSION_OBJECT)
|
||||
return;
|
||||
pObject->ObjectCreatedBy = TEMP_OBJECT;
|
||||
pObject->m_nEndOfLifeTime = CTimer::GetTimeInMilliseconds() + 20000;
|
||||
pObject->m_nEndOfLifeTime = CTimer::GetTimeInMilliseconds() + 20000000;
|
||||
pObject->m_nRefModelIndex = -1;
|
||||
pObject->bUseVehicleColours = false;
|
||||
++CObject::nNoTempObjects;
|
||||
|
Reference in New Issue
Block a user