mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-25 18:05:43 +00:00
few fixes
This commit is contained in:
parent
c66c45f4c8
commit
b11715608f
5 changed files with 53 additions and 11 deletions
|
@ -47,7 +47,12 @@ FrameUpdateCallBackNonSkinned(AnimBlendFrameData *frame, void *arg)
|
||||||
(*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
(*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
||||||
if((*node)->sequence->HasTranslation())
|
if((*node)->sequence->HasTranslation())
|
||||||
pos += vec;
|
pos += vec;
|
||||||
rot += q;
|
#ifdef FIX_BUGS
|
||||||
|
if(DotProduct(rot, q) < 0.0f)
|
||||||
|
rot -= q;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
rot += q;
|
||||||
}
|
}
|
||||||
++*node;
|
++*node;
|
||||||
}
|
}
|
||||||
|
@ -101,7 +106,12 @@ FrameUpdateCallBackWithVelocityExtractionNonSkinned(AnimBlendFrameData *frame, v
|
||||||
for(node = updateData->nodes; *node; node++){
|
for(node = updateData->nodes; *node; node++){
|
||||||
if((*node)->sequence){
|
if((*node)->sequence){
|
||||||
bool nodelooped = (*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
bool nodelooped = (*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
||||||
rot += q;
|
#ifdef FIX_BUGS
|
||||||
|
if(DotProduct(rot, q) < 0.0f)
|
||||||
|
rot -= q;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
rot += q;
|
||||||
if((*node)->sequence->HasTranslation()){
|
if((*node)->sequence->HasTranslation()){
|
||||||
pos += vec;
|
pos += vec;
|
||||||
if((*node)->association->HasTranslation()){
|
if((*node)->association->HasTranslation()){
|
||||||
|
@ -179,7 +189,12 @@ FrameUpdateCallBackWith3dVelocityExtractionNonSkinned(AnimBlendFrameData *frame,
|
||||||
for(node = updateData->nodes; *node; node++){
|
for(node = updateData->nodes; *node; node++){
|
||||||
if((*node)->sequence){
|
if((*node)->sequence){
|
||||||
bool nodelooped = (*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
bool nodelooped = (*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
||||||
rot += q;
|
#ifdef FIX_BUGS
|
||||||
|
if(DotProduct(rot, q) < 0.0f)
|
||||||
|
rot -= q;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
rot += q;
|
||||||
if((*node)->sequence->HasTranslation()){
|
if((*node)->sequence->HasTranslation()){
|
||||||
pos += vec;
|
pos += vec;
|
||||||
if((*node)->association->HasTranslation()){
|
if((*node)->association->HasTranslation()){
|
||||||
|
@ -243,7 +258,12 @@ FrameUpdateCallBackSkinned(AnimBlendFrameData *frame, void *arg)
|
||||||
(*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
(*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
||||||
if((*node)->sequence->HasTranslation())
|
if((*node)->sequence->HasTranslation())
|
||||||
pos += vec;
|
pos += vec;
|
||||||
rot += q;
|
#ifdef FIX_BUGS
|
||||||
|
if(DotProduct(rot, q) < 0.0f)
|
||||||
|
rot -= q;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
rot += q;
|
||||||
}
|
}
|
||||||
++*node;
|
++*node;
|
||||||
}
|
}
|
||||||
|
@ -298,7 +318,12 @@ FrameUpdateCallBackWithVelocityExtractionSkinned(AnimBlendFrameData *frame, void
|
||||||
for(node = updateData->nodes; *node; node++){
|
for(node = updateData->nodes; *node; node++){
|
||||||
if((*node)->sequence){
|
if((*node)->sequence){
|
||||||
bool nodelooped = (*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
bool nodelooped = (*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
||||||
rot += q;
|
#ifdef FIX_BUGS
|
||||||
|
if(DotProduct(rot, q) < 0.0f)
|
||||||
|
rot -= q;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
rot += q;
|
||||||
if((*node)->sequence->HasTranslation()){
|
if((*node)->sequence->HasTranslation()){
|
||||||
pos += vec;
|
pos += vec;
|
||||||
if((*node)->association->HasTranslation()){
|
if((*node)->association->HasTranslation()){
|
||||||
|
@ -376,7 +401,12 @@ FrameUpdateCallBackWith3dVelocityExtractionSkinned(AnimBlendFrameData *frame, vo
|
||||||
for(node = updateData->nodes; *node; node++){
|
for(node = updateData->nodes; *node; node++){
|
||||||
if((*node)->sequence){
|
if((*node)->sequence){
|
||||||
bool nodelooped = (*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
bool nodelooped = (*node)->Update(vec, q, 1.0f-totalBlendAmount);
|
||||||
rot += q;
|
#ifdef FIX_BUGS
|
||||||
|
if(DotProduct(rot, q) < 0.0f)
|
||||||
|
rot -= q;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
rot += q;
|
||||||
if((*node)->sequence->HasTranslation()){
|
if((*node)->sequence->HasTranslation()){
|
||||||
pos += vec;
|
pos += vec;
|
||||||
if((*node)->association->HasTranslation()){
|
if((*node)->association->HasTranslation()){
|
||||||
|
|
|
@ -348,9 +348,11 @@ CAnimBlendAssociation*
|
||||||
RpAnimBlendClumpGetFirstAssociation(RpClump *clump)
|
RpAnimBlendClumpGetFirstAssociation(RpClump *clump)
|
||||||
{
|
{
|
||||||
CAnimBlendClumpData *clumpData = *RPANIMBLENDCLUMPDATA(clump);
|
CAnimBlendClumpData *clumpData = *RPANIMBLENDCLUMPDATA(clump);
|
||||||
if(clumpData == nil) return nil;
|
if(!RpAnimBlendClumpIsInitialized(clump))
|
||||||
if(clumpData->link.next == nil) return nil;
|
return nil;
|
||||||
return CAnimBlendAssociation::FromLink(clumpData->link.next);
|
if(clumpData->link.next)
|
||||||
|
return CAnimBlendAssociation::FromLink(clumpData->link.next);
|
||||||
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FillFrameArrayCallBack on PS2
|
// FillFrameArrayCallBack on PS2
|
||||||
|
|
|
@ -4540,6 +4540,9 @@ CCam::Process_FollowPed_Rotation(const CVector &CameraTarget, float TargetOrient
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(TheCamera.m_bUseTransitionBeta)
|
||||||
|
Beta = CGeneral::GetATanOfXY(-Cos(m_fTransitionBeta), -Sin(m_fTransitionBeta));
|
||||||
|
|
||||||
Front = CVector(Cos(Alpha) * Cos(Beta), Cos(Alpha) * Sin(Beta), Sin(Alpha));
|
Front = CVector(Cos(Alpha) * Cos(Beta), Cos(Alpha) * Sin(Beta), Sin(Alpha));
|
||||||
Source = TargetCoors - Front*CamDist;
|
Source = TargetCoors - Front*CamDist;
|
||||||
TargetCoors.z -= BaseOffset; // now get back to the real target coors again
|
TargetCoors.z -= BaseOffset; // now get back to the real target coors again
|
||||||
|
|
|
@ -111,8 +111,8 @@ RwObjectNameIdAssocation heliIds[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
RwObjectNameIdAssocation planeIds[] = {
|
RwObjectNameIdAssocation planeIds[] = {
|
||||||
{ "wheel_front_dummy", 2, 0 },
|
{ "wheel_front_dummy", PLANE_WHEEL_FRONT, 0 },
|
||||||
{ "wheel_rear_dummy", 3, 0 },
|
{ "wheel_rear_dummy", PLANE_WHEEL_READ, 0 },
|
||||||
{ "light_tailplane", PLANE_POS_LIGHT_TAIL, VEHICLE_FLAG_POS | CLUMP_FLAG_NO_HIERID },
|
{ "light_tailplane", PLANE_POS_LIGHT_TAIL, VEHICLE_FLAG_POS | CLUMP_FLAG_NO_HIERID },
|
||||||
{ "light_left", PLANE_POS_LIGHT_LEFT, VEHICLE_FLAG_POS | CLUMP_FLAG_NO_HIERID },
|
{ "light_left", PLANE_POS_LIGHT_LEFT, VEHICLE_FLAG_POS | CLUMP_FLAG_NO_HIERID },
|
||||||
{ "light_right", PLANE_POS_LIGHT_RIGHT, VEHICLE_FLAG_POS | CLUMP_FLAG_NO_HIERID },
|
{ "light_right", PLANE_POS_LIGHT_RIGHT, VEHICLE_FLAG_POS | CLUMP_FLAG_NO_HIERID },
|
||||||
|
|
|
@ -2,6 +2,13 @@
|
||||||
|
|
||||||
#include "Vehicle.h"
|
#include "Vehicle.h"
|
||||||
|
|
||||||
|
enum ePlaneNodes
|
||||||
|
{
|
||||||
|
PLANE_WHEEL_FRONT = 2,
|
||||||
|
PLANE_WHEEL_READ,
|
||||||
|
NUM_PLANE_NODES
|
||||||
|
};
|
||||||
|
|
||||||
enum ePlanePositions
|
enum ePlanePositions
|
||||||
{
|
{
|
||||||
PLANE_POS_LIGHT_LEFT,
|
PLANE_POS_LIGHT_LEFT,
|
||||||
|
|
Loading…
Reference in a new issue