mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-11-01 01:15:55 +00:00
bug fixes
This commit is contained in:
parent
c05c516ce7
commit
42ff0f7c58
|
@ -2544,7 +2544,7 @@ int8 CRunningScript::ProcessCommandsFrom200To299(int32 command)
|
||||||
{
|
{
|
||||||
CollectParameters(&m_nIp, 4);
|
CollectParameters(&m_nIp, 4);
|
||||||
int mi = ScriptParams[0] >= 0 ? ScriptParams[0] : CTheScripts::UsedObjectArray[-ScriptParams[0]].index;
|
int mi = ScriptParams[0] >= 0 ? ScriptParams[0] : CTheScripts::UsedObjectArray[-ScriptParams[0]].index;
|
||||||
CObject* pObj = new CObject(mi, 0);
|
CObject* pObj = new CObject(mi, false);
|
||||||
pObj->ObjectCreatedBy = MISSION_OBJECT;
|
pObj->ObjectCreatedBy = MISSION_OBJECT;
|
||||||
CVector pos = *(CVector*)&ScriptParams[1];
|
CVector pos = *(CVector*)&ScriptParams[1];
|
||||||
if (pos.z <= -100.0f)
|
if (pos.z <= -100.0f)
|
||||||
|
@ -5305,8 +5305,8 @@ int8 CRunningScript::ProcessCommandsFrom600To699(int32 command)
|
||||||
{
|
{
|
||||||
CollectParameters(&m_nIp, 4);
|
CollectParameters(&m_nIp, 4);
|
||||||
int mi = ScriptParams[0] >= 0 ? ScriptParams[0] : CTheScripts::UsedObjectArray[-ScriptParams[0]].index;
|
int mi = ScriptParams[0] >= 0 ? ScriptParams[0] : CTheScripts::UsedObjectArray[-ScriptParams[0]].index;
|
||||||
CObject* pObj = new CObject(mi, 0);
|
CObject* pObj = new CObject(mi, false);
|
||||||
pObj->ObjectCreatedBy = MISSION_OBJECT;
|
; pObj->ObjectCreatedBy = MISSION_OBJECT;
|
||||||
CVector pos = *(CVector*)&ScriptParams[1];
|
CVector pos = *(CVector*)&ScriptParams[1];
|
||||||
if (pos.z <= -100.0f)
|
if (pos.z <= -100.0f)
|
||||||
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y);
|
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y);
|
||||||
|
@ -5380,7 +5380,7 @@ int8 CRunningScript::ProcessCommandsFrom600To699(int32 command)
|
||||||
case COMMAND_ADD_PARTICLE_EFFECT:
|
case COMMAND_ADD_PARTICLE_EFFECT:
|
||||||
{
|
{
|
||||||
CollectParameters(&m_nIp, 5);
|
CollectParameters(&m_nIp, 5);
|
||||||
CVector pos = *(CVector*)&ScriptParams[0];
|
CVector pos = *(CVector*)&ScriptParams[1];
|
||||||
if (pos.z <= 100.0f)
|
if (pos.z <= 100.0f)
|
||||||
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y);
|
pos.z = CWorld::FindGroundZForCoord(pos.x, pos.y);
|
||||||
CParticleObject::AddObject(ScriptParams[0], pos, ScriptParams[4] != 0);
|
CParticleObject::AddObject(ScriptParams[0], pos, ScriptParams[4] != 0);
|
||||||
|
|
|
@ -134,14 +134,16 @@ CCullZones::FindAttributesForCoors(CVector coors, int32 *wantedLevel)
|
||||||
int i;
|
int i;
|
||||||
int32 attribs;
|
int32 attribs;
|
||||||
|
|
||||||
|
if (wantedLevel)
|
||||||
|
*wantedLevel = 0;
|
||||||
attribs = 0;
|
attribs = 0;
|
||||||
for(i = 0; i < NumAttributeZones; i++)
|
for(i = 0; i < NumAttributeZones; i++)
|
||||||
if(coors.x >= aAttributeZones[i].minx && coors.x <= aAttributeZones[i].maxx &&
|
if(coors.x >= aAttributeZones[i].minx && coors.x <= aAttributeZones[i].maxx &&
|
||||||
coors.y >= aAttributeZones[i].miny && coors.y <= aAttributeZones[i].maxy &&
|
coors.y >= aAttributeZones[i].miny && coors.y <= aAttributeZones[i].maxy &&
|
||||||
coors.z >= aAttributeZones[i].minz && coors.z <= aAttributeZones[i].maxz){
|
coors.z >= aAttributeZones[i].minz && coors.z <= aAttributeZones[i].maxz){
|
||||||
attribs |= aAttributeZones[i].attributes;
|
attribs |= aAttributeZones[i].attributes;
|
||||||
if(wantedLevel && *wantedLevel <= aAttributeZones[i].wantedLevel)
|
if(wantedLevel)
|
||||||
*wantedLevel = aAttributeZones[i].wantedLevel;
|
*wantedLevel = max(*wantedLevel, aAttributeZones[i].wantedLevel);
|
||||||
}
|
}
|
||||||
return attribs;
|
return attribs;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
WRAPPER void CObject::ObjectDamage(float amount) { EAXJMP(0x4BB240); }
|
WRAPPER void CObject::ObjectDamage(float amount) { EAXJMP(0x4BB240); }
|
||||||
WRAPPER void CObject::DeleteAllTempObjectInArea(CVector, float) { EAXJMP(0x4BBED0); }
|
WRAPPER void CObject::DeleteAllTempObjectInArea(CVector, float) { EAXJMP(0x4BBED0); }
|
||||||
WRAPPER void CObject::Init(void) { EAXJMP(0x4BAEC0); }
|
WRAPPER void CObject::Init(void) { EAXJMP(0x4BAEC0); }
|
||||||
|
WRAPPER void CObject::ProcessControl(void) { EAXJMP(0x4BB040); }
|
||||||
|
WRAPPER void CObject::Teleport(CVector) { EAXJMP(0x4BBDA0); }
|
||||||
|
|
||||||
int16 &CObject::nNoTempObjects = *(int16*)0x95CCA2;
|
int16 &CObject::nNoTempObjects = *(int16*)0x95CCA2;
|
||||||
int16 &CObject::nBodyCastHealth = *(int16*)0x5F7D4C; // 1000
|
int16 &CObject::nBodyCastHealth = *(int16*)0x5F7D4C; // 1000
|
||||||
|
|
|
@ -71,6 +71,8 @@ public:
|
||||||
CObject(int32, bool);
|
CObject(int32, bool);
|
||||||
~CObject(void);
|
~CObject(void);
|
||||||
|
|
||||||
|
void ProcessControl(void);
|
||||||
|
void Teleport(CVector);
|
||||||
void Render(void);
|
void Render(void);
|
||||||
bool SetupLighting(void);
|
bool SetupLighting(void);
|
||||||
void RemoveLighting(bool reset);
|
void RemoveLighting(bool reset);
|
||||||
|
|
|
@ -1090,7 +1090,7 @@ CAutomobile::ProcessControl(void)
|
||||||
|
|
||||||
|
|
||||||
if(m_bSirenOrAlarm && (CTimer::GetFrameCounter()&7) == 5 &&
|
if(m_bSirenOrAlarm && (CTimer::GetFrameCounter()&7) == 5 &&
|
||||||
UsesSiren(GetModelIndex()) && GetModelIndex() != MI_RCBANDIT)
|
UsesSiren(GetModelIndex()) && GetModelIndex() != MI_MRWHOOP)
|
||||||
CCarAI::MakeWayForCarWithSiren(this);
|
CCarAI::MakeWayForCarWithSiren(this);
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue