mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
Player: Implement PlayerTrigger::isOnYoshiHackEnd and Util: Implement getPlayerPos (#845)
This commit is contained in:
parent
78362d1c7f
commit
d1a4c9ad95
|
|
@ -129508,7 +129508,7 @@ Player/PlayerTrigger.o:
|
|||
- offset: 0x492cd0
|
||||
size: 12
|
||||
label: _ZNK13PlayerTrigger16isOnYoshiHackEndEv
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
- offset: 0x492cdc
|
||||
size: 12
|
||||
label: _ZNK13PlayerTrigger24isOnCollisionExpandCheckEv
|
||||
|
|
@ -157788,7 +157788,7 @@ Util/PlayerUtil.o:
|
|||
- offset: 0x56f5fc
|
||||
size: 28
|
||||
label: _ZN2rs12getPlayerPosEPKN2al9LiveActorE
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
- offset: 0x56f618
|
||||
size: 76
|
||||
label: _ZN2rs16getPlayerHeadPosEPKN2al9LiveActorE
|
||||
|
|
|
|||
|
|
@ -91,6 +91,10 @@ bool PlayerTrigger::isOn(EMaterialChangeTrigger flag) const {
|
|||
return mMaterialChangeTrigger.isOnBit(flag);
|
||||
}
|
||||
|
||||
bool PlayerTrigger::isOnYoshiHackEnd() const {
|
||||
return mCollisionTrigger.isOn(ECollisionTrigger_val1024);
|
||||
}
|
||||
|
||||
bool PlayerTrigger::tryGetRecMaterialCode(const char** dest) const {
|
||||
if (!mRecMaterialTrigger)
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -6,37 +6,40 @@
|
|||
class PlayerTrigger {
|
||||
public:
|
||||
enum ECollisionTrigger : u32 {
|
||||
// used in PlayerStateHipDrop
|
||||
// used in PlayerStateHipDrop::isLandTrigger
|
||||
ECollisionTrigger_val1 = 1,
|
||||
// used in PlayerStateDamageLife
|
||||
// used in PlayerStateDamageLife::exeDead
|
||||
ECollisionTrigger_val6 = 6,
|
||||
// used in PlayerJudgeWallHitDown
|
||||
// used in PlayerJudgeWallHitDown::judge
|
||||
ECollisionTrigger_val9 = 9,
|
||||
// used in PlayerTrigger::isOnYoshiHackEnd
|
||||
ECollisionTrigger_val1024 = 1024,
|
||||
};
|
||||
|
||||
enum EAttackSensorTrigger : u32 {
|
||||
// used in PlayerCounterAfterCapCatch
|
||||
// used in PlayerCounterAfterCapCatch::isCapCatch
|
||||
EAttackSensorTrigger_val0 = 0,
|
||||
};
|
||||
|
||||
enum EActionTrigger : u32 {
|
||||
// used in PlayerStateHipDrop
|
||||
// used in PlayerStateHipDrop::exeStart
|
||||
EActionTrigger_val3 = 3,
|
||||
// used in PlayerStateDamageLife
|
||||
// used in PlayerStateDamageLife::appear
|
||||
EActionTrigger_val6 = 6,
|
||||
// used in PlayerJudgeForceLand
|
||||
// used in PlayerJudgeForceLand::judge
|
||||
EActionTrigger_val11 = 11,
|
||||
// used in PlayerStateSquat
|
||||
// used in PlayerStateSquat::appear
|
||||
EActionTrigger_val12 = 12,
|
||||
// used in PlayerJudgeWallCatch, PlayerJudgeWallKeep
|
||||
// used in PlayerJudgeWallCatch::update, PlayerJudgeWallKeep::update
|
||||
EActionTrigger_val30 = 30,
|
||||
// used in PlayerCounterQuickTurnJump::isEnableTurnJump
|
||||
EActionTrigger_QuickTurn = 34,
|
||||
};
|
||||
|
||||
enum EReceiveSensorTrigger : u32 {};
|
||||
|
||||
enum EPreMovementTrigger : u32 {
|
||||
// used in PlayerStateDamageLife
|
||||
// used in PlayerStateDamageLife::appear
|
||||
EPreMovementTrigger_val2 = 2,
|
||||
};
|
||||
|
||||
|
|
|
|||
9
src/Util/PlayerUtil.cpp
Normal file
9
src/Util/PlayerUtil.cpp
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#include "Util/PlayerUtil.h"
|
||||
|
||||
#include "Library/LiveActor/ActorPoseUtil.h"
|
||||
#include "Library/Player/PlayerUtil.h"
|
||||
|
||||
const sead::Vector3f& rs::getPlayerPos(const al::LiveActor* actor) {
|
||||
const al::LiveActor* player = al::getPlayerActor(actor, 0);
|
||||
return al::getTrans(player);
|
||||
}
|
||||
Loading…
Reference in a new issue