Skip to content

Commit 4faad31

Browse files
committed
added horizontal velocity, recovery point position, animation frames, cappy pos and rotation
1 parent 856154e commit 4faad31

File tree

5 files changed

+36
-7
lines changed

5 files changed

+36
-7
lines changed

include/al/util.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@ namespace al
113113
char const *getActionFrame(al::LiveActor const *);
114114

115115
sead::Vector3f *getCameraPos(al::IUseCamera const *, int);
116+
117+
float calcSpeed(al::LiveActor const *);
118+
float calcSpeedH(al::LiveActor const *);
119+
float calcSpeedV(al::LiveActor const *);
116120

117121
// setters
118122

include/game/Player/PlayerActorHakoniwa.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "PlayerAnimator.h"
1313
#include "HackCap.h"
1414
#include "PlayerModelKeeper.h"
15+
#include "PlayerRecoverySafetyPoint.h"
1516

1617
#define PACTORSIZE 0xC8
1718

@@ -28,5 +29,6 @@ class PlayerActorHakoniwa : public PlayerActorBase , public IUseDimension {
2829
PlayerModelKeeper *mPlayerModelKeeper; // 0x158
2930
unsigned char padding_168[0x08];
3031
PlayerAnimator *mPlayerAnimator; // 0x168
31-
32+
undefined padding_270[0x100];
33+
PlayerRecoverySafetyPoint *mPlayerRecoverPoint; // 0x270
3234
};

include/game/Player/PlayerAnimator.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ class PlayerAnimator {
99

1010
bool isAnim(const sead::SafeStringBase<char> &animName) const;
1111

12-
float *getAnimFrame(void) const;
13-
float *getAnimFrameMax(void) const;
14-
float *getAnimFrameRate(void) const;
12+
float getAnimFrame(void) const;
13+
float getAnimFrameMax(void) const;
14+
float getAnimFrameRate(void) const;
1515

1616
unsigned char padding_18[0x18];
1717
PlayerAnimFrameCtrl *mAnimFrameCtrl;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#pragma once
2+
3+
#include "sead/math/seadVector.h"
4+
5+
class PlayerRecoverySafetyPoint {
6+
public:
7+
sead::Vector3f *getSafetyPoint(void) const;
8+
sead::Vector3f *getSafetyPointGravity(void) const;
9+
sead::Vector3f *getSafetyPointArea(void) const;
10+
};

source/main.cpp

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,11 @@ void stageSceneHook() {
3737
sead::Quatf *playerQuat = al::getQuat(player);
3838
sead::Quatf *capQuat = al::getQuat(cap);
3939

40+
sead::Vector3f *playerRecoveryPoint = player->mPlayerRecoverPoint->getSafetyPoint();
41+
4042
const char *curAnimName = player->mPlayerAnimator->mAnimFrameCtrl->getActionName();
41-
float *curAnimFrame = player->mPlayerAnimator->getAnimFrame();
43+
44+
float curAnimFrame = player->mPlayerAnimator->getAnimFrame();
4245

4346
static bool showMenu = true;
4447

@@ -68,16 +71,26 @@ void stageSceneHook() {
6871

6972
sead::Vector3f eulerAngles = QuatToEuler(playerQuat);
7073

74+
sead::Vector3f capEuler = QuatToEuler(capQuat);
75+
7176
sead::Vector3f playerRot = sead::Vector3f(DEG(eulerAngles.x),DEG(eulerAngles.y),DEG(eulerAngles.z));
7277

78+
sead::Vector3f capRot = sead::Vector3f(DEG(capEuler.x),DEG(capEuler.y),DEG(capEuler.z));
79+
7380
switch (pageNum)
7481
{
7582
case 0:
76-
al::setPaneStringFormat(stageScene->stageSceneLayout->coinCounter, "TxtDebug", "Mario Pos:\nX: %f\nY: %f\nZ: %f\nMario Velocity:\nX: %f\nY: %f\nZ: %f\nMario Rotation:\nX: %f\nY: %f\nZ: %f", playerTrans->x, playerTrans->y, playerTrans->z, playerVel->x, playerVel->y, playerVel->z, playerRot.x, playerRot.y, playerRot.z);
83+
al::setPaneStringFormat(stageScene->stageSceneLayout->coinCounter,
84+
"TxtDebug", "Mario Pos:\nX: %f\nY: %f\nZ: %f\nMario Velocity:\nX: %f\nY: %f\nZ: %f\nMario Rotation:\nX: %f\nY: %f\nZ: %f\nHorizontal Speed: %f\nRecovery Point Location:\nX: %f\nY: %f\nZ: %f\n",
85+
playerTrans->x, playerTrans->y, playerTrans->z, playerVel->x, playerVel->y, playerVel->z, playerRot.x, playerRot.y, playerRot.z, al::calcSpeedH(player), playerRecoveryPoint->x,playerRecoveryPoint->y, playerRecoveryPoint->z
86+
);
7787
break;
7888

7989
case 1:
80-
al::setPaneStringFormat(stageScene->stageSceneLayout->coinCounter, "TxtDebug", "\nLeft Stick Input:\nX: %f\nY: %f\nRight Stick Input:\nX: %f\nY: %f", inputLeft->x, inputLeft->y, inputRight->x, inputRight->y);
90+
al::setPaneStringFormat(stageScene->stageSceneLayout->coinCounter, "TxtDebug",
91+
"\nLeft Stick Input:\nX: %f\nY: %f\nRight Stick Input:\nX: %f\nY: %f\nCurrent Animation Frame: %f\nCappy Position:\nX: %f\nY: %f\nZ: %f\nCappy Rotation:\nX: %f\nY: %f\nZ: %f\n",
92+
inputLeft->x, inputLeft->y, inputRight->x, inputRight->y, curAnimFrame, capTrans->x, capTrans->y, capTrans->z, capRot.x, capRot.y, capRot.z
93+
);
8194
break;
8295
default:
8396
al::setPaneStringFormat(stageScene->stageSceneLayout->coinCounter, "TxtDebug", "Unknown Page");

0 commit comments

Comments
 (0)