mirror of
https://github.com/GTAmodding/re3.git
synced 2025-07-08 04:44:09 +00:00
More more more audio
This commit is contained in:
parent
458fc63f01
commit
2fabbc3b4c
56 changed files with 1675 additions and 964 deletions
|
@ -342,7 +342,7 @@ void CReplay::StorePedUpdate(CPed *ped, int id)
|
|||
tPedUpdatePacket* pp = (tPedUpdatePacket*)&Record.m_pBase[Record.m_nOffset];
|
||||
pp->type = REPLAYPACKET_PED_UPDATE;
|
||||
pp->index = id;
|
||||
pp->heading = 128.0f / M_PI * ped->m_fRotationCur;
|
||||
pp->heading = 128.0f / PI * ped->m_fRotationCur;
|
||||
pp->matrix.CompressFromFullMatrix(ped->GetMatrix());
|
||||
pp->assoc_group_id = ped->m_animGroup;
|
||||
/* Would be more sane to use GetJustIndex(ped->m_pMyVehicle) in following assignment */
|
||||
|
@ -366,8 +366,8 @@ void CReplay::StorePedAnimation(CPed *ped, CStoredAnimationState *state)
|
|||
CAnimBlendAssociation* main = RpAnimBlendClumpGetMainAssociation((RpClump*)ped->m_rwObject, &second, &blend_amount);
|
||||
if (main){
|
||||
state->animId = main->animId;
|
||||
state->time = 255.0f / 4.0f * max(0.0f, min(4.0f, main->currentTime));
|
||||
state->speed = 255.0f / 3.0f * max(0.0f, min(3.0f, main->speed));
|
||||
state->time = 255.0f / 4.0f * Max(0.0f, Min(4.0f, main->currentTime));
|
||||
state->speed = 255.0f / 3.0f * Max(0.0f, Min(3.0f, main->speed));
|
||||
}else{
|
||||
state->animId = 3;
|
||||
state->time = 0;
|
||||
|
@ -375,9 +375,9 @@ void CReplay::StorePedAnimation(CPed *ped, CStoredAnimationState *state)
|
|||
}
|
||||
if (second) {
|
||||
state->secAnimId = second->animId;
|
||||
state->secTime = 255.0f / 4.0f * max(0.0f, min(4.0f, second->currentTime));
|
||||
state->secSpeed = 255.0f / 3.0f * max(0.0f, min(3.0f, second->speed));
|
||||
state->blendAmount = 255.0f / 2.0f * max(0.0f, min(2.0f, blend_amount));
|
||||
state->secTime = 255.0f / 4.0f * Max(0.0f, Min(4.0f, second->currentTime));
|
||||
state->secSpeed = 255.0f / 3.0f * Max(0.0f, Min(3.0f, second->speed));
|
||||
state->blendAmount = 255.0f / 2.0f * Max(0.0f, Min(2.0f, blend_amount));
|
||||
}else{
|
||||
state->secAnimId = 0;
|
||||
state->secTime = 0;
|
||||
|
@ -387,9 +387,9 @@ void CReplay::StorePedAnimation(CPed *ped, CStoredAnimationState *state)
|
|||
CAnimBlendAssociation* partial = RpAnimBlendClumpGetMainPartialAssociation((RpClump*)ped->m_rwObject);
|
||||
if (partial) {
|
||||
state->partAnimId = partial->animId;
|
||||
state->partAnimTime = 255.0f / 4.0f * max(0.0f, min(4.0f, partial->currentTime));
|
||||
state->partAnimSpeed = 255.0f / 3.0f * max(0.0f, min(3.0f, partial->speed));
|
||||
state->partBlendAmount = 255.0f / 2.0f * max(0.0f, min(2.0f, partial->blendAmount));
|
||||
state->partAnimTime = 255.0f / 4.0f * Max(0.0f, Min(4.0f, partial->currentTime));
|
||||
state->partAnimSpeed = 255.0f / 3.0f * Max(0.0f, Min(3.0f, partial->speed));
|
||||
state->partBlendAmount = 255.0f / 2.0f * Max(0.0f, Min(2.0f, partial->blendAmount));
|
||||
}else{
|
||||
state->partAnimId = 0;
|
||||
state->partAnimTime = 0;
|
||||
|
@ -408,9 +408,9 @@ void CReplay::StoreDetailedPedAnimation(CPed *ped, CStoredDetailedAnimationState
|
|||
CAnimBlendAssociation* assoc = RpAnimBlendClumpGetMainAssociation_N((RpClump*)ped->m_rwObject, i);
|
||||
if (assoc){
|
||||
state->aAnimId[i] = assoc->animId;
|
||||
state->aCurTime[i] = 255.0f / 4.0f * max(0.0f, min(4.0f, assoc->currentTime));
|
||||
state->aSpeed[i] = 255.0f / 3.0f * max(0.0f, min(3.0f, assoc->speed));
|
||||
state->aBlendAmount[i] = 255.0f / 2.0f * max(0.0f, min(2.0f, assoc->blendAmount));
|
||||
state->aCurTime[i] = 255.0f / 4.0f * Max(0.0f, Min(4.0f, assoc->currentTime));
|
||||
state->aSpeed[i] = 255.0f / 3.0f * Max(0.0f, Min(3.0f, assoc->speed));
|
||||
state->aBlendAmount[i] = 255.0f / 2.0f * Max(0.0f, Min(2.0f, assoc->blendAmount));
|
||||
state->aFlags[i] = assoc->flags;
|
||||
if (assoc->callbackType == CAnimBlendAssociation::CB_FINISH || assoc->callbackType == CAnimBlendAssociation::CB_DELETE) {
|
||||
state->aFunctionCallbackID[i] = FindCBFunctionID(assoc->callback);
|
||||
|
@ -431,9 +431,9 @@ void CReplay::StoreDetailedPedAnimation(CPed *ped, CStoredDetailedAnimationState
|
|||
CAnimBlendAssociation* assoc = RpAnimBlendClumpGetMainPartialAssociation_N((RpClump*)ped->m_rwObject, i);
|
||||
if (assoc) {
|
||||
state->aAnimId2[i] = assoc->animId;
|
||||
state->aCurTime2[i] = 255.0f / 4.0f * max(0.0f, min(4.0f, assoc->currentTime));
|
||||
state->aSpeed2[i] = 255.0f / 3.0f * max(0.0f, min(3.0f, assoc->speed));
|
||||
state->aBlendAmount2[i] = 255.0f / 2.0f * max(0.0f, min(2.0f, assoc->blendAmount));
|
||||
state->aCurTime2[i] = 255.0f / 4.0f * Max(0.0f, Min(4.0f, assoc->currentTime));
|
||||
state->aSpeed2[i] = 255.0f / 3.0f * Max(0.0f, Min(3.0f, assoc->speed));
|
||||
state->aBlendAmount2[i] = 255.0f / 2.0f * Max(0.0f, Min(2.0f, assoc->blendAmount));
|
||||
state->aFlags2[i] = assoc->flags;
|
||||
if (assoc->callbackType == CAnimBlendAssociation::CB_FINISH || assoc->callbackType == CAnimBlendAssociation::CB_DELETE) {
|
||||
state->aFunctionCallbackID2[i] = FindCBFunctionID(assoc->callback);
|
||||
|
@ -464,8 +464,8 @@ void CReplay::ProcessPedUpdate(CPed *ped, float interpolation, CAddressInReplayB
|
|||
buffer->m_nOffset += sizeof(tPedUpdatePacket);
|
||||
return;
|
||||
}
|
||||
ped->m_fRotationCur = pp->heading * M_PI / 128.0f;
|
||||
ped->m_fRotationDest = pp->heading * M_PI / 128.0f;
|
||||
ped->m_fRotationCur = pp->heading * PI / 128.0f;
|
||||
ped->m_fRotationDest = pp->heading * PI / 128.0f;
|
||||
CMatrix ped_matrix;
|
||||
pp->matrix.DecompressIntoFullMatrix(ped_matrix);
|
||||
ped->GetMatrix() = ped->GetMatrix() * CMatrix(1.0f - interpolation);
|
||||
|
@ -625,24 +625,24 @@ void CReplay::StoreCarUpdate(CVehicle *vehicle, int id)
|
|||
vp->health = vehicle->m_fHealth / 4.0f; /* Not anticipated that health can be > 1000. */
|
||||
vp->acceleration = vehicle->m_fGasPedal * 100.0f;
|
||||
vp->panels = vehicle->IsCar() ? ((CAutomobile*)vehicle)->Damage.m_panelStatus : 0;
|
||||
vp->velocityX = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetMoveSpeed().x)); /* 8000!? */
|
||||
vp->velocityY = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetMoveSpeed().y));
|
||||
vp->velocityZ = 8000.0f * max(-4.0f, min(4.0f, vehicle->GetMoveSpeed().z));
|
||||
vp->velocityX = 8000.0f * Max(-4.0f, Min(4.0f, vehicle->GetMoveSpeed().x)); /* 8000!? */
|
||||
vp->velocityY = 8000.0f * Max(-4.0f, Min(4.0f, vehicle->GetMoveSpeed().y));
|
||||
vp->velocityZ = 8000.0f * Max(-4.0f, Min(4.0f, vehicle->GetMoveSpeed().z));
|
||||
vp->mi = vehicle->GetModelIndex();
|
||||
vp->primary_color = vehicle->m_currentColour1;
|
||||
vp->secondary_color = vehicle->m_currentColour2;
|
||||
if (vehicle->GetModelIndex() == MI_RHINO)
|
||||
vp->car_gun = 128.0f / M_PI * ((CAutomobile*)vehicle)->m_fCarGunLR;
|
||||
vp->car_gun = 128.0f / PI * ((CAutomobile*)vehicle)->m_fCarGunLR;
|
||||
else
|
||||
vp->wheel_state = 50.0f * vehicle->m_fSteerAngle;
|
||||
if (vehicle->IsCar()){
|
||||
CAutomobile* car = (CAutomobile*)vehicle;
|
||||
for (int i = 0; i < 4; i++){
|
||||
vp->wheel_susp_dist[i] = 50.0f * car->m_aSuspensionSpringRatio[i];
|
||||
vp->wheel_rotation[i] = 128.0f / M_PI * car->m_aWheelRotation[i];
|
||||
vp->wheel_rotation[i] = 128.0f / PI * car->m_aWheelRotation[i];
|
||||
}
|
||||
vp->door_angles[0] = 127.0f / M_PI * car->Doors[2].m_fAngle;
|
||||
vp->door_angles[1] = 127.0f / M_PI * car->Doors[3].m_fAngle;
|
||||
vp->door_angles[0] = 127.0f / PI * car->Doors[2].m_fAngle;
|
||||
vp->door_angles[1] = 127.0f / PI * car->Doors[3].m_fAngle;
|
||||
vp->door_status = 0;
|
||||
for (int i = 0; i < 6; i++){
|
||||
if (car->Damage.GetDoorStatus(i) == 3)
|
||||
|
@ -675,7 +675,7 @@ void CReplay::ProcessCarUpdate(CVehicle *vehicle, float interpolation, CAddressI
|
|||
ApplyPanelDamageToCar(vp->panels, (CAutomobile*)vehicle, true);
|
||||
vehicle->m_vecMoveSpeed = CVector(vp->velocityX / 8000.0f, vp->velocityY / 8000.0f, vp->velocityZ / 8000.0f);
|
||||
if (vehicle->GetModelIndex() == MI_RHINO) {
|
||||
((CAutomobile*)vehicle)->m_fCarGunLR = vp->car_gun * M_PI / 128.0f;
|
||||
((CAutomobile*)vehicle)->m_fCarGunLR = vp->car_gun * PI / 128.0f;
|
||||
vehicle->m_fSteerAngle = 0.0f;
|
||||
}else{
|
||||
vehicle->m_fSteerAngle = vp->wheel_state / 50.0f;
|
||||
|
@ -684,10 +684,10 @@ void CReplay::ProcessCarUpdate(CVehicle *vehicle, float interpolation, CAddressI
|
|||
CAutomobile* car = (CAutomobile*)vehicle;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
car->m_aSuspensionSpringRatio[i] = vp->wheel_susp_dist[i] / 50.0f;
|
||||
car->m_aWheelRotation[i] = vp->wheel_rotation[i] * M_PI / 128.0f;
|
||||
car->m_aWheelRotation[i] = vp->wheel_rotation[i] * PI / 128.0f;
|
||||
}
|
||||
car->Doors[2].m_fAngle = car->Doors[2].m_fPrevAngle = vp->door_angles[0] * M_PI / 127.0f;
|
||||
car->Doors[3].m_fAngle = car->Doors[3].m_fPrevAngle = vp->door_angles[1] * M_PI / 127.0f;
|
||||
car->Doors[2].m_fAngle = car->Doors[2].m_fPrevAngle = vp->door_angles[0] * PI / 127.0f;
|
||||
car->Doors[3].m_fAngle = car->Doors[3].m_fPrevAngle = vp->door_angles[1] * PI / 127.0f;
|
||||
if (vp->door_angles[0])
|
||||
car->Damage.SetDoorStatus(2, 2);
|
||||
if (vp->door_angles[1])
|
||||
|
@ -1501,9 +1501,9 @@ void CReplay::ProcessLookAroundCam(void)
|
|||
--FramesActiveLookAroundCam;
|
||||
fBetaAngleLookAroundCam += x_moved;
|
||||
if (CPad::NewMouseControllerState.LMB && CPad::NewMouseControllerState.RMB)
|
||||
fDistanceLookAroundCam = max(3.0f, min(15.0f, fDistanceLookAroundCam + 2.0f * y_moved));
|
||||
fDistanceLookAroundCam = Max(3.0f, Min(15.0f, fDistanceLookAroundCam + 2.0f * y_moved));
|
||||
else
|
||||
fAlphaAngleLookAroundCam = max(0.1f, min(1.5f, fAlphaAngleLookAroundCam + y_moved));
|
||||
fAlphaAngleLookAroundCam = Max(0.1f, Min(1.5f, fAlphaAngleLookAroundCam + y_moved));
|
||||
CVector camera_pt(
|
||||
fDistanceLookAroundCam * Sin(fBetaAngleLookAroundCam) * Cos(fAlphaAngleLookAroundCam),
|
||||
fDistanceLookAroundCam * Cos(fBetaAngleLookAroundCam) * Cos(fAlphaAngleLookAroundCam),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue