Skip to content

Commit 032c0c5

Browse files
committed
Rewrote the Art Attack Hitboxes code
1 parent ed95bfb commit 032c0c5

File tree

10 files changed

+409
-310
lines changed

10 files changed

+409
-310
lines changed

ttyd-tools/rel/include/gc/gx.h

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#pragma once
2+
3+
#include <cstdint>
4+
5+
namespace gc::gx {
6+
7+
extern "C" {
8+
9+
enum GXPrimitive
10+
{
11+
GX_POINTS = 0,
12+
GX_LINES,
13+
GX_LINESTRIP,
14+
GX_TRIANGLES,
15+
GX_TRIANGLESTRIP,
16+
GX_TRIANGLEFAN,
17+
GX_QUADS,
18+
};
19+
20+
enum GXVtxFmt
21+
{
22+
GX_VTXFMT0 = 0,
23+
GX_VTXFMT1,
24+
GX_VTXFMT2,
25+
GX_VTXFMT3,
26+
GX_VTXFMT4,
27+
GX_VTXFMT5,
28+
GX_VTXFMT6,
29+
GX_VTXFMT7,
30+
GX_MAX_VTXFMT,
31+
};
32+
33+
enum GXChannelID
34+
{
35+
GX_COLOR0 = 0,
36+
GX_COLOR1,
37+
GX_ALPHA0,
38+
GX_ALPHA1,
39+
GX_COLOR0A0,
40+
GX_COLOR1A1,
41+
GX_COLOR_ZERO,
42+
GX_ALPHA_BUMP,
43+
GX_ALPHA_BUMPN,
44+
GX_COLOR_NULL,
45+
};
46+
47+
void GXBegin(GXPrimitive type, GXVtxFmt vtxFmt, uint16_t nVerts);
48+
void GXSetChanMatColor(GXChannelID chan, uint8_t matColor[4]);
49+
50+
}
51+
52+
}

ttyd-tools/rel/include/global.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,7 @@ extern uint32_t FieldItemsAddressesStart;
708708
extern uint32_t GlobalWorkPointer;
709709
extern uint32_t titleMainAddress;
710710
extern uint32_t ConsoleBusSpeedAddress;
711+
extern volatile float *WriteGatherPipe;
711712

712713
extern bool ResetMarioProperties;
713714
extern int16_t ForcedNPCItemDrop;
@@ -717,7 +718,6 @@ extern uint16_t JumpStorageSetCounter;
717718
void initMenuVars();
718719
void assignCheatButtonCombo(uint32_t cheat);
719720
void assignDisplayButtonCombo(uint32_t display);
720-
void initArtAttackAssemblyOverwrites();
721721
void initAddressOverwrites();
722722

723723
}

ttyd-tools/rel/include/ttyd/battle_ac.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ extern "C" {
1313
// BattleACGetButtonIcon
1414
// BattleActionCommandGetPrizeLv
1515
// BattleActionCommandSetDifficulty
16-
int8_t BattleActionCommandGetDifficulty(void *battlePointer);
16+
uint8_t BattleActionCommandGetDifficulty(void *battlePointer);
1717
// BattleActionCommandResetDefenceResult
1818
// BattleActionCommandGetDefenceResult
1919
uint32_t BattleACPadCheckRecordTrigger(uint32_t frame, uint32_t button);
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#pragma once
2+
3+
#include <cstdint>
4+
5+
namespace ttyd::battle_disp {
6+
7+
extern "C" {
8+
9+
// _btlStockExpDisp
10+
// BattleStockExpDisp
11+
// _btlDispTex4
12+
// btlDispTex4
13+
void btlGetScreenPoint(float position[3], float positionOut[3]);
14+
// btlDispAnimeSpeed
15+
// _pose_two_pattern
16+
// _pose_one_pattern
17+
// _pose_def
18+
// statusPoseControl
19+
// getFloatDispOffset
20+
// floatOffsetControl
21+
// getGravityDispOffset
22+
// gravityOffsetControl
23+
// btlDispPoseAnime
24+
// btlDispChangePeraAnime
25+
// btlDispChangeAnime
26+
// btlDispEntAnime
27+
// btlUnitPartsBlurDisp
28+
// _partsBlurControl
29+
// btlUnitPartsBlurControl
30+
// btlUnitStolenItemDisp
31+
// btlUnitItemDisp2
32+
// btlUnitItemDisp
33+
// btlUnitPartsDisp
34+
// btlDispMain
35+
// _GetStatusPoseType
36+
// btlDispInit
37+
// btlDispGetTexSize
38+
// btlDispTexPlane3
39+
// btlDispTexPlane2
40+
// btlDispTexPlane
41+
// btlDispTexPlainGX
42+
// btlDispTexPlaneInit
43+
// btlDispGXQuads2D
44+
// btlDispGXPoint2D
45+
// btlDispGXQuads2DRasta
46+
// btlDispGXPoint2DRasta
47+
// btlDispGXInit2D
48+
// btlDispGXInit2DRasta
49+
// btlDispGXInit2DSub
50+
// searchPoseTbl
51+
52+
}
53+
54+
}
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
#pragma once
2+
3+
#include <cstdint>
4+
5+
namespace ttyd::battle_unit {
6+
7+
extern "C" {
8+
9+
// BtlUnit_CheckShadowGuard
10+
// BtlUnit_EnemyItemCanUseCheck
11+
// BtlUnit_HpGaugeMain
12+
// BtlUnit_HpGaugeInit
13+
// BtlUnit_snd_se_pos
14+
// BtlUnit_snd_se
15+
// BtlUnit_ControlPoseSoundMain
16+
// BtlUnit_PoseSoundInit
17+
// BtlUnit_SetCommandAnimPose
18+
// BtlUnit_SetSeMode
19+
// BtlUnit_LoadSeMode
20+
// BtlUnit_ResetMoveStatus
21+
// BtlUnit_GetGuardKouraPtr
22+
// BtlUnit_PayWeaponCost
23+
// BtlUnit_CheckWeaponCost
24+
// BtlUnit_GetWeaponCost
25+
// BtlUnit_SetMaxFp
26+
// BtlUnit_GetMaxFp
27+
// BtlUnit_RecoverFp
28+
// BtlUnit_RecoverHp
29+
// BtlUnit_SetFp
30+
// BtlUnit_GetFp
31+
// BtlUnit_GetCoin
32+
// BtlUnit_GetExp
33+
// BtlUnit_CheckPinchStatus
34+
// BtlUnit_SetParamToPouch
35+
// BtlUnit_ReviseHpFp
36+
// BtlUnit_SetParamFromPouch
37+
// BtlUnit_CanActStatus
38+
// BtlUnit_CanGuardStatus
39+
// BtlUnit_CheckData
40+
// BtlUnit_GetData
41+
// BtlUnit_GetACPossibility
42+
// BtlUnit_SetTotalHitDamage
43+
// BtlUnit_GetTotalHitDamage
44+
// BtlUnit_GetHitDamage
45+
// BtlUnit_GetEnemyBelong
46+
// BtlUnit_GetTalkTogePos
47+
// BtlUnit_ChangeStayAnim
48+
// BtlUnit_ChangeTalkAnim
49+
// BtlUnit_SetBodyAnim
50+
// BtlUnit_SetBodyAnimType
51+
// BtlUnit_SetAnim
52+
// BtlUnit_SetAnimType
53+
// BtlUnit_GetPoseNameFromType
54+
// BtlUnit_OffUnitFlag
55+
// BtlUnit_OnUnitFlag
56+
// BtlUnit_CheckUnitFlag
57+
// BtlUnit_OffStatusFlag
58+
// BtlUnit_OnStatusFlag
59+
// BtlUnit_CheckStatusFlag
60+
bool BtlUnit_CheckStatus(void *battleUnitPtr, uint32_t status);
61+
// BtlUnit_CheckRecoveryStatus
62+
// BtlUnit_ClearStatus
63+
// BtlUnit_SetStatus
64+
// BtlUnit_GetStatus
65+
// _CheckMoveCount
66+
bool BtlUnit_GetBelong(void *battleUnitPtr);
67+
// BtlUnit_SetJumpSpeed
68+
// BtlUnit_SetPartsMoveSpeed
69+
// BtlUnit_SetMoveSpeed
70+
// BtlUnit_SetPartsFallAccel
71+
// BtlUnit_SetFallAccel
72+
// BtlUnit_SetPartsMoveTargetPos
73+
// BtlUnit_SetMoveTargetPos
74+
// BtlUnit_SetPartsMoveCurrentPos
75+
// BtlUnit_SetMoveCurrentPos
76+
// BtlUnit_SetPartsMoveStartPos
77+
// BtlUnit_SetMoveStartPos
78+
// BtlUnit_AddPartsDispOffset
79+
// BtlUnit_SetPartsDispOffset
80+
// BtlUnit_SetDispOffset
81+
// BtlUnit_AddPartsOffsetPos
82+
// BtlUnit_SetPartsOffsetPos
83+
// BtlUnit_GetPartsOffsetPos
84+
// BtlUnit_SetOffsetPos
85+
// BtlUnit_SetHeight
86+
// BtlUnit_GetHeight
87+
// BtlUnit_GetWidth
88+
// BtlUnit_AddPartsScale
89+
// BtlUnit_SetPartsScale
90+
// BtlUnit_SetPartsBaseScale
91+
// BtlUnit_AddScale
92+
// BtlUnit_SetScale
93+
// BtlUnit_GetScale
94+
// BtlUnit_SetBaseScale
95+
// BtlUnit_AddPartsRotateOffset
96+
// BtlUnit_SetPartsRotateOffset
97+
// BtlUnit_SetRotateOffset
98+
// BtlUnit_GetPartsBaseRotate
99+
// BtlUnit_SetPartsBaseRotate
100+
// BtlUnit_GetBaseRotate
101+
// BtlUnit_SetBaseRotate
102+
// BtlUnit_AddPartsRotate
103+
// BtlUnit_GetPartsRotate
104+
// BtlUnit_SetPartsRotate
105+
// BtlUnit_AddRotate
106+
// BtlUnit_GetRotate
107+
// BtlUnit_SetRotate
108+
// BtlUnit_SetPartsHomePos
109+
// BtlUnit_AddHomePos
110+
// BtlUnit_SetHomePos
111+
// BtlUnit_GetHomePos
112+
// BtlUnit_SetHitCursorOffset
113+
// BtlUnit_SetHitOffset
114+
// BtlUnit_GetHitPos
115+
// BtlUnit_GetPartsWorldPos
116+
// BtlUnit_AddPartsPos
117+
// BtlUnit_SetPartsPos
118+
// BtlUnit_GetPartsPos
119+
// BtlUnit_AddPos
120+
// BtlUnit_SetPos
121+
void BtlUnit_GetPos(void *battleUnitPtr, float *posXOut, float *posYOut, float *posZOut);
122+
int32_t BtlUnit_GetBodyPartsId(void *battleUnitPtr);
123+
void *BtlUnit_GetPartsPtr(void *battleUnitPtr, int32_t bodyPartsId);
124+
// BtlUnit_GetUnitId
125+
// BtlUnit_Spawn
126+
// BtlUnit_Delete
127+
// BtlUnit_Entry
128+
// BtlUnit_Init
129+
130+
}
131+
132+
}

0 commit comments

Comments
 (0)