peds starting to work

This commit is contained in:
aap
2020-05-09 17:05:26 +02:00
parent 989ded6052
commit 97d5698e0c
20 changed files with 171 additions and 262 deletions

View File

@ -81,13 +81,13 @@ AnimAssocDesc aStdAnimDescs[] = {
{ ANIM_BOMBER, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
{ ANIM_HGUN_RELOAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
{ ANIM_AK_RELOAD, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
{ ANIM_FPS_PUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FPS_BAT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FPS_UZI, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FPS_PUMP, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FPS_AK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FPS_M16, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FPS_ROCKET, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
// { ANIM_FPS_PUNCH, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
// { ANIM_FPS_BAT, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
// { ANIM_FPS_UZI, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
// { ANIM_FPS_PUMP, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
// { ANIM_FPS_AK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
// { ANIM_FPS_M16, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
// { ANIM_FPS_ROCKET, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FIGHT_IDLE, ASSOC_REPEAT },
{ ANIM_FIGHT2_IDLE, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
{ ANIM_FIGHT_SH_F, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION },
@ -263,13 +263,13 @@ char const *aStdAnimations[] = {
"bomber",
"WEAPON_hgun_rload",
"WEAPON_AK_rload",
"FPS_PUNCH",
"FPS_BAT",
"FPS_UZI",
"FPS_PUMP",
"FPS_AK",
"FPS_M16",
"FPS_ROCKET",
// "FPS_PUNCH",
// "FPS_BAT",
// "FPS_UZI",
// "FPS_PUMP",
// "FPS_AK",
// "FPS_M16",
// "FPS_ROCKET",
"FIGHTIDLE",
"FIGHT2IDLE",
"FIGHTsh_F",
@ -825,7 +825,8 @@ CAnimManager::BlendAnimation(RpClump *clump, AssocGroupId groupId, AnimationId a
void
CAnimManager::LoadAnimFiles(void)
{
LoadAnimFile("ANIM\\PED.IFP");
// LoadAnimFile("ANIM\\PED.IFP");
LoadAnimFile("ANIM\\PED_MIAMI.IFP");
ms_aAnimAssocGroups = new CAnimBlendAssocGroup[NUM_ANIM_ASSOC_GROUPS];
CreateAnimAssocGroups();
}
@ -986,15 +987,6 @@ CAnimManager::LoadAnimFile(RwStream *stream, bool compress, char (*somename)[32]
kf->deltaTime = fbuf[10]; // absolute time here
}
}
/*
// convert absolute time to deltas
for(l = seq->numFrames-1; l > 0; l--){
KeyFrame *kf1 = seq->GetKeyFrame(l);
KeyFrame *kf2 = seq->GetKeyFrame(l-1);
kf1->deltaTime -= kf2->deltaTime;
}
*/
}
hier->RemoveQuaternionFlips();

View File

@ -61,13 +61,13 @@ enum AnimationId
ANIM_BOMBER,
ANIM_HGUN_RELOAD,
ANIM_AK_RELOAD,
ANIM_FPS_PUNCH,
ANIM_FPS_BAT,
ANIM_FPS_UZI,
ANIM_FPS_PUMP,
ANIM_FPS_AK,
ANIM_FPS_M16,
ANIM_FPS_ROCKET,
// ANIM_FPS_PUNCH,
// ANIM_FPS_BAT,
// ANIM_FPS_UZI,
// ANIM_FPS_PUMP,
// ANIM_FPS_AK,
// ANIM_FPS_M16,
// ANIM_FPS_ROCKET,
ANIM_FIGHT_IDLE,
ANIM_FIGHT2_IDLE,
ANIM_FIGHT_SH_F,

View File

@ -2,26 +2,29 @@
#include "PedModelInfo.h"
#include "Bones.h"
#ifdef PED_SKIN
int
ConvertPedNode2BoneTag(int node)
{
switch(node){
case PED_TORSO: return BONE_waist;
case PED_MID: return BONE_torso; // this is what Xbox/Mobile use
// return BONE_mid; // this is what PS2/PC use
case PED_HEAD: return BONE_head;
case PED_UPPERARML: return BONE_upperarml;
case PED_UPPERARMR: return BONE_upperarmr;
case PED_HANDL: return BONE_Lhand;
case PED_HANDR: return BONE_Rhand;
case PED_UPPERLEGL: return BONE_upperlegl;
case PED_UPPERLEGR: return BONE_upperlegr;
case PED_FOOTL: return BONE_footl;
case PED_FOOTR: return BONE_footr;
case PED_LOWERLEGR: return BONE_lowerlegl;
case PED_MID: return BONE_spine1;
case PED_HEAD: return BONE_head;
case PED_UPPERARML: return BONE_l_upperarm;
case PED_UPPERARMR: return BONE_r_upperarm;
case PED_HANDL: return BONE_l_hand;
case PED_HANDR: return BONE_r_hand;
case PED_UPPERLEGL: return BONE_l_thigh;
case PED_UPPERLEGR: return BONE_r_thigh;
case PED_FOOTL: return BONE_l_foot;
case PED_FOOTR: return BONE_r_foot;
case PED_LOWERLEGR: return BONE_r_calf;
case PED_LOWERLEGL: return BONE_l_calf;
case PED_FOREARML: return BONE_l_forearm;
case PED_FOREARMR: return BONE_r_forearm;
case PED_CLAVICLEL: return BONE_l_clavicle;
case PED_CLAVICLER: return BONE_r_clavicle;
case PED_NECK: return BONE_neck;
}
assert(0 && "this node has no bone");
return -1;
}
@ -29,24 +32,28 @@ const char*
ConvertBoneTag2BoneName(int tag)
{
switch(tag){
case BONE_waist: return "Swaist";
case BONE_upperlegr: return "Supperlegr";
case BONE_lowerlegr: return "Slowerlegr";
case BONE_footr: return "Sfootr";
case BONE_upperlegl: return "Supperlegl";
case BONE_lowerlegl: return "Slowerlegl";
case BONE_footl: return "Sfootl";
case BONE_mid: return "Smid";
case BONE_torso: return "Storso";
case BONE_head: return "Shead";
case BONE_upperarmr: return "Supperarmr";
case BONE_lowerarmr: return "Slowerarmr";
case BONE_Rhand: return "SRhand";
case BONE_upperarml: return "Supperarml";
case BONE_lowerarml: return "Slowerarml";
case BONE_Lhand: return "SLhand";
case BONE_root: return "Root";
case BONE_pelvis: return "Pelvis";
case BONE_spine: return "Spine";
case BONE_spine1: return "Spine1";
case BONE_neck: return "Neck";
case BONE_head: return "Head";
case BONE_l_clavicle: return "Bip01 R Clavicle";
case BONE_l_upperarm: return "R UpperArm";
case BONE_l_forearm: return "R Forearm";
case BONE_l_hand: return "R Hand";
case BONE_l_finger: return "R Fingers";
case BONE_r_clavicle: return "Bip01 L Clavicle";
case BONE_r_upperarm: return "L UpperArm";
case BONE_r_forearm: return "L Forearm";
case BONE_r_hand: return "L Hand";
case BONE_r_finger: return "L Fingers";
case BONE_l_thigh: return "L Thigh";
case BONE_l_calf: return "L Calf";
case BONE_l_foot: return "L Foot";
case BONE_r_thigh: return "R Thigh";
case BONE_r_calf: return "R Calf";
case BONE_r_foot: return "R Foot";
}
return nil;
}
#endif

View File

@ -2,22 +2,28 @@
enum BoneTag
{
BONE_waist,
BONE_upperlegr,
BONE_lowerlegr,
BONE_footr,
BONE_upperlegl,
BONE_lowerlegl,
BONE_footl,
BONE_mid,
BONE_torso,
BONE_head,
BONE_upperarmr,
BONE_lowerarmr,
BONE_Rhand,
BONE_upperarml,
BONE_lowerarml,
BONE_Lhand,
BONE_root = 0,
BONE_pelvis = 1,
BONE_spine = 2,
BONE_spine1 = 3,
BONE_neck = 4,
BONE_head = 5,
BONE_l_clavicle = 31,
BONE_l_upperarm = 32,
BONE_l_forearm = 33,
BONE_l_hand = 34,
BONE_l_finger = 35,
BONE_r_clavicle = 21,
BONE_r_upperarm = 22,
BONE_r_forearm = 23,
BONE_r_hand = 24,
BONE_r_finger = 25,
BONE_l_thigh = 41,
BONE_l_calf = 42,
BONE_l_foot = 43,
BONE_r_thigh = 51,
BONE_r_calf = 52,
BONE_r_foot = 53,
};
int ConvertPedNode2BoneTag(int node);