mirror of
https://github.com/halpz/re3.git
synced 2025-06-02 02:50:20 +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(); }
|
||||
RpClump *RpClumpSetFrame(RpClump * clump, RwFrame * frame) { clump->setFrame(frame); return clump; }
|
||||
RpClump *RpClumpForAllAtomics(RpClump * clump, RpAtomicCallBack callback, void *pData) {
|
||||
//if(!clump) { return nil; }
|
||||
FORLIST(lnk, clump->atomics)
|
||||
if(callback(Atomic::fromClump(lnk), pData) == nil)
|
||||
break;
|
||||
|
|
|
@ -131,8 +131,10 @@ void
|
|||
CBaseModelInfo::SetModelName(const char *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);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -46,6 +46,7 @@ public:
|
|||
|
||||
static int32 GetNumModelInfos(void) { return msNumModelInfos; }
|
||||
static CBaseModelInfo *GetModelInfo(const char *name, int *id);
|
||||
//__declspec(noinline)
|
||||
static CBaseModelInfo *GetModelInfo(int id){
|
||||
if(id < 0 || id >= msNumModelInfos)
|
||||
return nil;
|
||||
|
|
|
@ -1223,11 +1223,17 @@ CVehicleModelInfo::LoadVehicleColours(void)
|
|||
&colors[12], &colors[13],
|
||||
&colors[14], &colors[15]);
|
||||
CVehicleModelInfo *mi = (CVehicleModelInfo*)CModelInfo::GetModelInfo(name, nil);
|
||||
assert(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];
|
||||
//assert(mi);
|
||||
if(!mi) {
|
||||
// debug("");
|
||||
}
|
||||
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 damage;
|
||||
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.
|
||||
|
@ -110,10 +113,10 @@ enum PedFightMoves
|
|||
FIGHTMOVE_COMBO_B1,
|
||||
FIGHTMOVE_COMBO_B2,
|
||||
FIGHTMOVE_COMBO_B3,
|
||||
// Melee
|
||||
/*// Melee // ---------mazahaka ??? kick floor error m_curFightMove < FIGHTMOVE_MELEE1 ? ASSOCGRP_STD CPed::StartFightAttack(uint8 buttonPressure) îíî áðàëî íå èç std áî melee ðàíüøå ïî èíäåêñó
|
||||
FIGHTMOVE_MELEE1,
|
||||
FIGHTMOVE_MELEE2,
|
||||
FIGHTMOVE_MELEE3,
|
||||
FIGHTMOVE_MELEE3,*/
|
||||
// Special
|
||||
FIGHTMOVE_GROUNDKICK,
|
||||
// Opponent
|
||||
|
@ -123,8 +126,15 @@ enum PedFightMoves
|
|||
FIGHTMOVE_HITLEFT,
|
||||
FIGHTMOVE_HITONFLOOR,
|
||||
FIGHTMOVE_HITBEHIND,
|
||||
|
||||
// Melee // mazahaka moved
|
||||
FIGHTMOVE_MELEE1,
|
||||
FIGHTMOVE_MELEE2,
|
||||
FIGHTMOVE_MELEE3,
|
||||
|
||||
FIGHTMOVE_IDLE2NORM,
|
||||
/*
|
||||
|
||||
/*
|
||||
FIGHTMOVE_KNEE,
|
||||
FIGHTMOVE_PUNCHHOOK,
|
||||
FIGHTMOVE_PUNCHJAB,
|
||||
|
|
|
@ -29,10 +29,17 @@
|
|||
uint16 nPlayerInComboMove;
|
||||
RpClump* flyingClumpTemp;
|
||||
|
||||
//CPed::LoadFightData(void) init
|
||||
//PedFightMoves ÑÌÎÒÐÈ!!! ÿ ñìåíèë áëîê Melee áî îí ðàíüøå è ëîìàëàñü ëîãèêà âûäà÷è àíèìêè â pedfight
|
||||
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))
|
||||
{ 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 },*/
|
||||
|
||||
|
||||
//---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_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 },
|
||||
|
@ -1133,6 +1169,7 @@ CPed::StartFightAttack(uint8 buttonPressure)
|
|||
m_fightButtonPressure = 0;
|
||||
|
||||
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,
|
||||
tFightMoves[m_curFightMove].animId, 8.0f);
|
||||
|
||||
|
@ -2403,6 +2440,9 @@ CPed::LoadFightData(void)
|
|||
tFightMoves[moveId].extendReachMultiplier = extendReachMultiplier;
|
||||
tFightMoves[moveId].damage = damage;
|
||||
tFightMoves[moveId].flags = flags;
|
||||
#ifdef MAZAHAKA_ANIM_STUFF
|
||||
tFightMoves[moveId].loaded_by_fistfite = true; // detect no inited fite (katana anim error)
|
||||
#endif
|
||||
|
||||
switch (hitLevel) {
|
||||
case 'G':
|
||||
|
@ -2424,7 +2464,7 @@ CPed::LoadFightData(void)
|
|||
break;
|
||||
}
|
||||
|
||||
if (strcmp(animName, "default") != 0) {
|
||||
if (strcmp(animName, "default") != 0) { // if no default
|
||||
if (strcmp(animName, "null") != 0) {
|
||||
animAssoc = CAnimManager::GetAnimAssociation(ASSOCGRP_STD, animName);
|
||||
tFightMoves[moveId].animId = (AnimationId)animAssoc->animId;
|
||||
|
@ -2433,6 +2473,7 @@ CPed::LoadFightData(void)
|
|||
}
|
||||
}
|
||||
moveId++;
|
||||
debug("moveId %d\n", moveId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -798,12 +798,21 @@ spentAmmoCheck:
|
|||
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;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
RemoveWeaponAnims(m_currentWeapon, -1000.0f);
|
||||
MakeChangesForNewWeapon(m_nSelectedWepSlot);
|
||||
|
|
Loading…
Reference in a new issue