mirror of
https://github.com/halpz/re3.git
synced 2025-06-03 16:18:15 +00:00
Add files via upload
This commit is contained in:
parent
bea06ff528
commit
d6264d22ea
|
@ -731,6 +731,7 @@ RpGeometry *_rpGeometrySetSurfaceProperties(RpGeometry *geometry, const RwSurfac
|
||||||
RwFrame *RpClumpGetFrame(const RpClump * clump) { return clump->getFrame(); }
|
RwFrame *RpClumpGetFrame(const RpClump * clump) { return clump->getFrame(); }
|
||||||
RpClump *RpClumpSetFrame(RpClump * clump, RwFrame * frame) { clump->setFrame(frame); return clump; }
|
RpClump *RpClumpSetFrame(RpClump * clump, RwFrame * frame) { clump->setFrame(frame); return clump; }
|
||||||
RpClump *RpClumpForAllAtomics(RpClump * clump, RpAtomicCallBack callback, void *pData) {
|
RpClump *RpClumpForAllAtomics(RpClump * clump, RpAtomicCallBack callback, void *pData) {
|
||||||
|
//if(!clump) { return nil; }
|
||||||
FORLIST(lnk, clump->atomics)
|
FORLIST(lnk, clump->atomics)
|
||||||
if(callback(Atomic::fromClump(lnk), pData) == nil)
|
if(callback(Atomic::fromClump(lnk), pData) == nil)
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -131,8 +131,10 @@ void
|
||||||
CBaseModelInfo::SetModelName(const char *name)
|
CBaseModelInfo::SetModelName(const char *name)
|
||||||
{
|
{
|
||||||
m_nameKey = CKeyGen::GetUppercaseKey(name);
|
m_nameKey = CKeyGen::GetUppercaseKey(name);
|
||||||
if (!gUseChunkFiles)
|
if(!gUseChunkFiles) {
|
||||||
|
if(!m_name) { m_name = new char[MAX_MODEL_NAME]; } // mazahaka tmp fix NULL in reload to new
|
||||||
strcpy(m_name, name);
|
strcpy(m_name, name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -46,6 +46,7 @@ public:
|
||||||
|
|
||||||
static int32 GetNumModelInfos(void) { return msNumModelInfos; }
|
static int32 GetNumModelInfos(void) { return msNumModelInfos; }
|
||||||
static CBaseModelInfo *GetModelInfo(const char *name, int *id);
|
static CBaseModelInfo *GetModelInfo(const char *name, int *id);
|
||||||
|
//__declspec(noinline)
|
||||||
static CBaseModelInfo *GetModelInfo(int id){
|
static CBaseModelInfo *GetModelInfo(int id){
|
||||||
if(id < 0 || id >= msNumModelInfos)
|
if(id < 0 || id >= msNumModelInfos)
|
||||||
return nil;
|
return nil;
|
||||||
|
|
|
@ -1223,11 +1223,17 @@ CVehicleModelInfo::LoadVehicleColours(void)
|
||||||
&colors[12], &colors[13],
|
&colors[12], &colors[13],
|
||||||
&colors[14], &colors[15]);
|
&colors[14], &colors[15]);
|
||||||
CVehicleModelInfo *mi = (CVehicleModelInfo*)CModelInfo::GetModelInfo(name, nil);
|
CVehicleModelInfo *mi = (CVehicleModelInfo*)CModelInfo::GetModelInfo(name, nil);
|
||||||
assert(mi);
|
//assert(mi);
|
||||||
mi->m_numColours = (n-1)/2;
|
if(!mi) {
|
||||||
for(i = 0; i < mi->m_numColours; i++){
|
// debug("");
|
||||||
mi->m_colours1[i] = colors[i*2 + 0];
|
}
|
||||||
mi->m_colours2[i] = colors[i*2 + 1];
|
if(mi)
|
||||||
|
{
|
||||||
|
mi->m_numColours = (n - 1) / 2;
|
||||||
|
for(i = 0; i < mi->m_numColours; i++) {
|
||||||
|
mi->m_colours1[i] = colors[i * 2 + 0];
|
||||||
|
mi->m_colours2[i] = colors[i * 2 + 1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,6 +93,9 @@ struct FightMove
|
||||||
uint8 hitLevel; // FightMoveHitLevel
|
uint8 hitLevel; // FightMoveHitLevel
|
||||||
uint8 damage;
|
uint8 damage;
|
||||||
uint8 flags;
|
uint8 flags;
|
||||||
|
#ifdef MAZAHAKA_ANIM_STUFF
|
||||||
|
bool loaded_by_fistfite = false; // detect no inited fite (katana anim error)
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: This is eFightState on mobile.
|
// TODO: This is eFightState on mobile.
|
||||||
|
@ -110,10 +113,10 @@ enum PedFightMoves
|
||||||
FIGHTMOVE_COMBO_B1,
|
FIGHTMOVE_COMBO_B1,
|
||||||
FIGHTMOVE_COMBO_B2,
|
FIGHTMOVE_COMBO_B2,
|
||||||
FIGHTMOVE_COMBO_B3,
|
FIGHTMOVE_COMBO_B3,
|
||||||
// Melee
|
/*// Melee // ---------mazahaka ??? kick floor error m_curFightMove < FIGHTMOVE_MELEE1 ? ASSOCGRP_STD CPed::StartFightAttack(uint8 buttonPressure) îíî áðàëî íå èç std áî melee ðàíüøå ïî èíäåêñó
|
||||||
FIGHTMOVE_MELEE1,
|
FIGHTMOVE_MELEE1,
|
||||||
FIGHTMOVE_MELEE2,
|
FIGHTMOVE_MELEE2,
|
||||||
FIGHTMOVE_MELEE3,
|
FIGHTMOVE_MELEE3,*/
|
||||||
// Special
|
// Special
|
||||||
FIGHTMOVE_GROUNDKICK,
|
FIGHTMOVE_GROUNDKICK,
|
||||||
// Opponent
|
// Opponent
|
||||||
|
@ -123,8 +126,15 @@ enum PedFightMoves
|
||||||
FIGHTMOVE_HITLEFT,
|
FIGHTMOVE_HITLEFT,
|
||||||
FIGHTMOVE_HITONFLOOR,
|
FIGHTMOVE_HITONFLOOR,
|
||||||
FIGHTMOVE_HITBEHIND,
|
FIGHTMOVE_HITBEHIND,
|
||||||
|
|
||||||
|
// Melee // mazahaka moved
|
||||||
|
FIGHTMOVE_MELEE1,
|
||||||
|
FIGHTMOVE_MELEE2,
|
||||||
|
FIGHTMOVE_MELEE3,
|
||||||
|
|
||||||
FIGHTMOVE_IDLE2NORM,
|
FIGHTMOVE_IDLE2NORM,
|
||||||
/*
|
|
||||||
|
/*
|
||||||
FIGHTMOVE_KNEE,
|
FIGHTMOVE_KNEE,
|
||||||
FIGHTMOVE_PUNCHHOOK,
|
FIGHTMOVE_PUNCHHOOK,
|
||||||
FIGHTMOVE_PUNCHJAB,
|
FIGHTMOVE_PUNCHJAB,
|
||||||
|
|
|
@ -29,10 +29,17 @@
|
||||||
uint16 nPlayerInComboMove;
|
uint16 nPlayerInComboMove;
|
||||||
RpClump* flyingClumpTemp;
|
RpClump* flyingClumpTemp;
|
||||||
|
|
||||||
|
//CPed::LoadFightData(void) init
|
||||||
|
//PedFightMoves ÑÌÎÒÐÈ!!! ÿ ñìåíèë áëîê Melee áî îí ðàíüøå è ëîìàëàñü ëîãèêà âûäà÷è àíèìêè â pedfight
|
||||||
FightMove tFightMoves[NUM_FIGHTMOVES] =
|
FightMove tFightMoves[NUM_FIGHTMOVES] =
|
||||||
{
|
{ // MAZAHAKA íåëüÿ êîìåíèòü òàê êàê òåðÿþòñÿ default anim id, íóæíî ïðîïèñûâàòü òîãäà â fistfite (íå ðàáîòàåò íå ìîæåò íàéòè)
|
||||||
|
//{ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, HITLEVEL_NULL, 0, 0},
|
||||||
|
//CPed::LoadFightData(void)
|
||||||
|
//if (strcmp(animName, "default") != 0) { // if no default
|
||||||
|
// if comment this, default animid was error no have id
|
||||||
|
|
||||||
//fistfite.dat (init/load in CPed::LoadFightData(void))
|
//fistfite.dat (init/load in CPed::LoadFightData(void))
|
||||||
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
/*{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
@ -54,9 +61,38 @@ FightMove tFightMoves[NUM_FIGHTMOVES] =
|
||||||
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_WALK, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },*/
|
||||||
|
|
||||||
|
|
||||||
|
//---test block
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
|
||||||
/*
|
//{ ANIM_STD_KICKGROUND, 10.f/30.f, 14.f/30.f, 0.0f, 0.4f, 1.0f, HITLEVEL_GROUND, 1, 0 }, // need?
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
|
||||||
|
// default anim name not init/load animId! Hardcode (Katana bug mazahaka fix)
|
||||||
|
{ ANIM_ATTACK_1, 4.f/30.f, 7.f/30.f, 10.f/30.f, 0.4f, 1.0f, HITLEVEL_HIGH, 1, 0 }, // 9 Attack1 H: Animation Name "default" !!! WEAPON_knife_1
|
||||||
|
{ ANIM_ATTACK_2, 4.f/30.f, 7.f/30.f, 10.f/30.f, 0.4f, 1.0f, HITLEVEL_HIGH, 1, 0 }, // 10 Attack2 H: Animation Name "default" !!! WEAPON_knife_2
|
||||||
|
{ ANIM_ATTACK_3, 4.f / 30.f, 7.f / 30.f, 10.f / 30.f, 0.4f, 1.0f, HITLEVEL_HIGH, 1, 0 }, // 11 Attack3 H: Animation Name "default" !!! WEAPON_knife_3
|
||||||
|
|
||||||
|
{ ANIM_STD_NOT_INITED_SLOT_4_FISTFITE, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
|
||||||
|
/*
|
||||||
{ ANIM_STD_NUM, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_NUM, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
{ ANIM_STD_PUNCH, 0.2f, 8.f/30.f, 0.0f, 0.3f, 1.0f, HITLEVEL_HIGH, 1, 0 },
|
{ ANIM_STD_PUNCH, 0.2f, 8.f/30.f, 0.0f, 0.3f, 1.0f, HITLEVEL_HIGH, 1, 0 },
|
||||||
{ ANIM_STD_FIGHT_IDLE, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, HITLEVEL_NULL, 0, 0 },
|
{ ANIM_STD_FIGHT_IDLE, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, HITLEVEL_NULL, 0, 0 },
|
||||||
|
@ -1133,6 +1169,7 @@ CPed::StartFightAttack(uint8 buttonPressure)
|
||||||
m_fightButtonPressure = 0;
|
m_fightButtonPressure = 0;
|
||||||
|
|
||||||
if (m_curFightMove > FIGHTMOVE_NULL && m_curFightMove != FIGHTMOVE_IDLE) {
|
if (m_curFightMove > FIGHTMOVE_NULL && m_curFightMove != FIGHTMOVE_IDLE) {
|
||||||
|
//m_curFightMove 12 kickflor 12<9 false anim
|
||||||
animAssoc = CAnimManager::BlendAnimation(GetClump(), m_curFightMove < FIGHTMOVE_MELEE1 ? ASSOCGRP_STD : weaponInfo->m_AnimToPlay,
|
animAssoc = CAnimManager::BlendAnimation(GetClump(), m_curFightMove < FIGHTMOVE_MELEE1 ? ASSOCGRP_STD : weaponInfo->m_AnimToPlay,
|
||||||
tFightMoves[m_curFightMove].animId, 8.0f);
|
tFightMoves[m_curFightMove].animId, 8.0f);
|
||||||
|
|
||||||
|
@ -2403,6 +2440,9 @@ CPed::LoadFightData(void)
|
||||||
tFightMoves[moveId].extendReachMultiplier = extendReachMultiplier;
|
tFightMoves[moveId].extendReachMultiplier = extendReachMultiplier;
|
||||||
tFightMoves[moveId].damage = damage;
|
tFightMoves[moveId].damage = damage;
|
||||||
tFightMoves[moveId].flags = flags;
|
tFightMoves[moveId].flags = flags;
|
||||||
|
#ifdef MAZAHAKA_ANIM_STUFF
|
||||||
|
tFightMoves[moveId].loaded_by_fistfite = true; // detect no inited fite (katana anim error)
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (hitLevel) {
|
switch (hitLevel) {
|
||||||
case 'G':
|
case 'G':
|
||||||
|
@ -2424,7 +2464,7 @@ CPed::LoadFightData(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(animName, "default") != 0) {
|
if (strcmp(animName, "default") != 0) { // if no default
|
||||||
if (strcmp(animName, "null") != 0) {
|
if (strcmp(animName, "null") != 0) {
|
||||||
animAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, animName);
|
animAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, animName);
|
||||||
tFightMoves[moveId].animId = (AnimationId)animAssoc->animId;
|
tFightMoves[moveId].animId = (AnimationId)animAssoc->animId;
|
||||||
|
@ -2433,6 +2473,7 @@ CPed::LoadFightData(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
moveId++;
|
moveId++;
|
||||||
|
debug("moveId %d\n", moveId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -798,12 +798,21 @@ spentAmmoCheck:
|
||||||
goto switchDetectDone;
|
goto switchDetectDone;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef MAZAHAKA_TRY_FIX_AUTOCHANGE_WEAPON_SLOT_IF_ZERO_AMMO
|
||||||
|
if(!(GetWeapon()->m_nAmmoTotal == 0 && CPad::GetPad(0)->GetWeapon() /*&& m_nSelectedWepSlot != WEAPONSLOT_UNARMED*/)) { m_nSelectedWepSlot = WEAPONSLOT_UNARMED; }
|
||||||
|
#else
|
||||||
m_nSelectedWepSlot = WEAPONSLOT_UNARMED;
|
m_nSelectedWepSlot = WEAPONSLOT_UNARMED;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switchDetectDone:
|
switchDetectDone:
|
||||||
if (m_nSelectedWepSlot != m_currentWeapon) {
|
// mazahaka fix no auto change weapoon
|
||||||
|
if ((m_nSelectedWepSlot != m_currentWeapon)
|
||||||
|
#ifdef MAZAHAKA_TRY_FIX_AUTOCHANGE_WEAPON_SLOT_IF_ZERO_AMMO
|
||||||
|
&& !(GetWeapon()->m_nAmmoTotal == 0 && CPad::GetPad(0)->GetWeapon() /*&& m_nSelectedWepSlot != WEAPONSLOT_UNARMED*/) // todo
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
if (m_nPedState != PED_ATTACK && m_nPedState != PED_AIM_GUN && m_nPedState != PED_FIGHT) {
|
if (m_nPedState != PED_ATTACK && m_nPedState != PED_AIM_GUN && m_nPedState != PED_FIGHT) {
|
||||||
RemoveWeaponAnims(m_currentWeapon, -1000.0f);
|
RemoveWeaponAnims(m_currentWeapon, -1000.0f);
|
||||||
MakeChangesForNewWeapon(m_nSelectedWepSlot);
|
MakeChangesForNewWeapon(m_nSelectedWepSlot);
|
||||||
|
|
Loading…
Reference in a new issue