mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-15 22:49:01 +00:00
Fix unlimited rotation in Phnom Penh '86
This commit is contained in:
parent
33f467453e
commit
1efbd7ead2
2 changed files with 8 additions and 5 deletions
|
@ -1191,7 +1191,7 @@ int8 CRunningScript::ProcessCommands1100To1199(int32 command)
|
|||
CollectParameters(&m_nIp, 8);
|
||||
CPed *pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]);
|
||||
CVehicle *pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[1]);
|
||||
pPed->AttachPedToEntity(pVehicle, *(CVector*)&ScriptParams[2], ScriptParams[5], DEGTORAD(ScriptParams[6]), (eWeaponType)ScriptParams[7]);
|
||||
pPed->AttachPedToEntity(pVehicle, *(CVector*)&ScriptParams[2], ScriptParams[5], DEGTORAD(*(float*)&ScriptParams[6]), (eWeaponType)ScriptParams[7]);
|
||||
return 0;
|
||||
}
|
||||
case COMMAND_DETACH_CHAR_FROM_CAR:
|
||||
|
|
|
@ -2370,8 +2370,10 @@ CCam::Process_M16_1stPerson(const CVector &CameraTarget, float, float, float)
|
|||
Beta += SQR(LookLeftRight/100.0f)*xdir*0.8f/14.0f * FOV/80.0f * CTimer::GetTimeStep();
|
||||
Alpha += SQR(LookUpDown/150.0f)*ydir*1.0f/14.0f * FOV/80.0f * CTimer::GetTimeStep();
|
||||
}
|
||||
while(Beta >= PI) Beta -= 2*PI;
|
||||
while(Beta < -PI) Beta += 2*PI;
|
||||
if (!isAttached) {
|
||||
while(Beta >= TWOPI) Beta -= TWOPI;
|
||||
while(Beta < 0) Beta += TWOPI;
|
||||
}
|
||||
if(Alpha > DEGTORAD(60.0f)) Alpha = DEGTORAD(60.0f);
|
||||
else if(Alpha < -DEGTORAD(89.5f)) Alpha = -DEGTORAD(89.5f);
|
||||
|
||||
|
@ -2414,13 +2416,14 @@ CCam::Process_M16_1stPerson(const CVector &CameraTarget, float, float, float)
|
|||
}
|
||||
}
|
||||
}else{
|
||||
while(Beta < -PI) Beta += 2*PI;
|
||||
while(Beta >= PI) Beta -= 2*PI;
|
||||
while(Beta < -PI) Beta += TWOPI;
|
||||
while(Beta >= PI) Beta -= TWOPI;
|
||||
}
|
||||
|
||||
mat = TargetPed->m_attachedTo->GetMatrix();
|
||||
rot.SetRotateX(Alpha);
|
||||
switch(TargetPed->m_attachType){
|
||||
case 0: rot.RotateZ(Beta); break;
|
||||
case 1: rot.RotateZ(Beta + HALFPI); break;
|
||||
case 2: rot.RotateZ(Beta + PI); break;
|
||||
case 3: rot.RotateZ(Beta - HALFPI); break;
|
||||
|
|
Loading…
Reference in a new issue