Skip to content

Commit 82b521d

Browse files
authored
Boss Sandy animtable 86% (bfbbdecomp#473)
* self setup and others * zNPC_AnimTable_KingJelly * fix * removed leftover junk from intially starting the function * ZNPC_AnimTable_BossSB2 - 73% code match * Dutchman anim table should be complete, removed some junk from zNPCTypeKingJelly * Anim Tables * worst push ever * BossSandy Animtable
1 parent 1eebc22 commit 82b521d

File tree

1 file changed

+119
-0
lines changed

1 file changed

+119
-0
lines changed

src/SB/Game/zNPCTypeBossSandy.cpp

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,35 @@
1414

1515
extern const char bossSandyStrings[];
1616

17+
#define Unknown 1
18+
#define Idle01 2
19+
#define Idle02 3
20+
#define Taunt01 4
21+
#define Run01 5
22+
#define Walk01 6
23+
#define Melee01 7
24+
#define Hit01 8
25+
#define Hit02 9
26+
#define GetUp01 10
27+
#define Dizzy01 11
28+
#define ElbowDrop01 12
29+
#define Leap01 13
30+
#define Leap02 14
31+
#define Leap03 15
32+
#define Leap04 16
33+
#define Sit01 17
34+
#define SitShock01 18
35+
#define CLBegin01 19
36+
#define CLLoop01 20
37+
#define CLEnd01 21
38+
#define NoHeadIdle01 22
39+
#define NoHeadWaving01 23
40+
#define NoHeadGetUp01 24
41+
#define NoHeadShotUp01 25
42+
#define NoHeadShock01 26
43+
#define NoHeadReplace01 27
44+
#define NoHeadHit01 28
45+
1746
extern F32 __830; // 0.0 0
1847
extern F32 __831; // 1.0 3f800000
1948
extern F32 __842; // 0.20000000298023224 3e4ccccd
@@ -129,6 +158,96 @@ void on_change_shockwave(const tweak_info& tweak)
129158
sSandyPtr->shockRadius = __831;
130159
}
131160

161+
xAnimTable* ZNPC_AnimTable_BossSandy()
162+
{
163+
// clang-format off
164+
S32 ourAnims[28] = {
165+
Unknown,
166+
Idle01,
167+
Idle02,
168+
Taunt01,
169+
Run01,
170+
Walk01,
171+
Melee01,
172+
Hit01,
173+
Hit02,
174+
GetUp01,
175+
Dizzy01,
176+
ElbowDrop01,
177+
Leap01,
178+
Leap02,
179+
Leap03 ,
180+
Leap04,
181+
Sit01,
182+
SitShock01,
183+
CLBegin01,
184+
CLLoop01,
185+
CLEnd01,
186+
NoHeadIdle01,
187+
NoHeadWaving01,
188+
NoHeadGetUp01,
189+
NoHeadShotUp01,
190+
NoHeadShock01,
191+
NoHeadReplace01,
192+
NoHeadHit01,
193+
};
194+
// clang-format on
195+
196+
//Missing like 2 logic lines or something, too tired to figure it out
197+
xAnimTable* table = xAnimTableNew("zNPCBSandy", NULL, 0);
198+
199+
xAnimTableNewState(table, g_strz_bossanim[Unknown], 0x10, 0x40, __831, NULL, NULL, __830, NULL,
200+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
201+
xAnimTableNewState(table, g_strz_bossanim[Idle02], 0x10, 0x40, __831, NULL, NULL, __830, NULL,
202+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
203+
xAnimTableNewState(table, g_strz_bossanim[Taunt01], 0x10, 0, __831, NULL, NULL, __830, NULL,
204+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
205+
xAnimTableNewState(table, g_strz_bossanim[Run01], 0x10, 0, __831, NULL, NULL, __830, NULL, NULL,
206+
xAnimDefaultBeforeEnter, NULL, NULL);
207+
xAnimTableNewState(table, g_strz_bossanim[Walk01], 0x10, 0, __831, NULL, NULL, __830, NULL,
208+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
209+
xAnimTableNewState(table, g_strz_bossanim[Dizzy01], 0x10, 0, __831, NULL, NULL, __830, NULL,
210+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
211+
xAnimTableNewState(table, g_strz_bossanim[ElbowDrop01], 0x10, 0, __831, NULL, NULL, __830, NULL,
212+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
213+
xAnimTableNewState(table, g_strz_bossanim[Leap01], 0x10, 0, __831, NULL, NULL, __830, NULL,
214+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
215+
xAnimTableNewState(table, g_strz_bossanim[Leap02], 0x10, 0, __831, NULL, NULL, __830, NULL,
216+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
217+
xAnimTableNewState(table, g_strz_bossanim[Leap03], 0x10, 0, __831, NULL, NULL, __830, NULL,
218+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
219+
xAnimTableNewState(table, g_strz_bossanim[Leap04], 0x10, 0, __831, NULL, NULL, __830, NULL,
220+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
221+
xAnimTableNewState(table, g_strz_bossanim[Sit01], 0x10, 0, __831, NULL, NULL, __830, NULL, NULL,
222+
xAnimDefaultBeforeEnter, NULL, NULL);
223+
xAnimTableNewState(table, g_strz_bossanim[Hit02], 0x10, 0, __831, NULL, NULL, __830, NULL, NULL,
224+
xAnimDefaultBeforeEnter, NULL, NULL);
225+
xAnimTableNewState(table, g_strz_bossanim[SitShock01], 0x10, 0, __831, NULL, NULL, __830, NULL,
226+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
227+
xAnimTableNewState(table, g_strz_bossanim[CLBegin01], 0x10, 0, __831, NULL, NULL, __830, NULL,
228+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
229+
xAnimTableNewState(table, g_strz_bossanim[CLLoop01], 0x10, 0, __831, NULL, NULL, __830, NULL,
230+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
231+
xAnimTableNewState(table, g_strz_bossanim[CLEnd01], 0x10, 0, __831, NULL, NULL, __830, NULL,
232+
NULL, xAnimDefaultBeforeEnter, NULL, NULL);
233+
xAnimTableNewState(table, g_strz_bossanim[NoHeadIdle01], 0x10, 0, __831, NULL, NULL, __830,
234+
NULL, NULL, xAnimDefaultBeforeEnter, NULL, NULL);
235+
xAnimTableNewState(table, g_strz_bossanim[NoHeadWaving01], 0x10, 0, __831, NULL, NULL, __830,
236+
NULL, NULL, xAnimDefaultBeforeEnter, NULL, NULL);
237+
xAnimTableNewState(table, g_strz_bossanim[NoHeadGetUp01], 0x10, 0, __831, NULL, NULL, __830,
238+
NULL, NULL, xAnimDefaultBeforeEnter, NULL, NULL);
239+
xAnimTableNewState(table, g_strz_bossanim[NoHeadShotUp01], 0x10, 0, __831, NULL, NULL, __830,
240+
NULL, NULL, xAnimDefaultBeforeEnter, NULL, NULL);
241+
xAnimTableNewState(table, g_strz_bossanim[NoHeadShock01], 0x10, 0, __831, NULL, NULL, __830,
242+
NULL, NULL, xAnimDefaultBeforeEnter, NULL, NULL);
243+
xAnimTableNewState(table, g_strz_bossanim[NoHeadReplace01], 0x10, 0, __831, NULL, NULL, __830,
244+
NULL, NULL, xAnimDefaultBeforeEnter, NULL, NULL);
245+
246+
NPCC_BuildStandardAnimTran(table, g_strz_bossanim, ourAnims, 1, __842);
247+
248+
return table;
249+
}
250+
132251
U32 HeadIsCarried(xAnimTransition*, xAnimSingle*, void*)
133252
{
134253
return globals.player.carry.grabbed == sSandyPtr->headBoulder;

0 commit comments

Comments
 (0)