Skip to content

Commit d28ae89

Browse files
authored
Finish matching grticeclimber (#1281)
* Finish matching grticeclimber * Remove .s file
1 parent 2db7684 commit d28ae89

File tree

8 files changed

+31
-486
lines changed

8 files changed

+31
-486
lines changed

asm/melee/gr/grticeclimber.s

-478
This file was deleted.

configure.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -801,7 +801,7 @@ def RuntimeLib(lib_name: str, objects: Objects) -> LibDict:
801801
Object(Matching, "melee/gr/grtdrmario.c"),
802802
Object(Matching, "melee/gr/grtfalco.c"),
803803
Object(Matching, "melee/gr/grtfox.c"),
804-
Object(NonMatching, "melee/gr/grticeclimber.c"),
804+
Object(Matching, "melee/gr/grticeclimber.c"),
805805
Object(Matching, "melee/gr/grtkirby.c"),
806806
Object(Matching, "melee/gr/grtkoopa.c"),
807807
Object(Matching, "melee/gr/grtlink.c"),

obj_files.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ TEXT_O_FILES +=\
502502
$(BUILD_DIR)/src/melee/gr/grtdrmario.c.o\
503503
$(BUILD_DIR)/src/melee/gr/grtfalco.c.o\
504504
$(BUILD_DIR)/src/melee/gr/grtfox.c.o\
505-
$(BUILD_DIR)/asm/melee/gr/grticeclimber.s.o\
505+
$(BUILD_DIR)/src/melee/gr/grticeclimber.c.o\
506506
$(BUILD_DIR)/src/melee/gr/grtkirby.c.o\
507507
$(BUILD_DIR)/src/melee/gr/grtkoopa.c.o\
508508
$(BUILD_DIR)/src/melee/gr/grtlink.c.o\

src/melee/gr/grmaterial.h

+4-3
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
#include <baselib/forward.h>
77

88
#include <placeholder.h>
9+
#include <baselib/gobj.h>
910

1011
/* 1C8858 */ void grMaterial_801C8858(HSD_JObj*, u32 flags);
11-
/* 1C8CDC */ UNK_RET grMaterial_801C8CDC(UNK_PARAMS);
12-
/* 1C8CFC */ int grMaterial_801C8CFC(int, int, Ground*, HSD_JObj*, int, Event,
13-
int);
12+
/* 1C8CDC */ UNK_RET grMaterial_801C8CDC(HSD_GObj*);
13+
/* 1C8CFC */ int grMaterial_801C8CFC(int, int, Ground*, HSD_JObj*, int,
14+
HSD_GObjEvent, int);
1415
/* 1C8E08 */ void grMaterial_801C8E08(int);
1516
/* 1C94D8 */ void grMaterial_801C94D8(UNK_T hsd_obj);
1617
/* 1C95C4 */ void grMaterial_801C95C4(HSD_GObj*);

src/melee/gr/grticeclimber.c

+18-2
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,26 @@
11
#include "gr/grticeclimber.h"
22

3+
#include "cm/camera.h"
4+
#include "ef/efsync.h"
35
#include "gr/granime.h"
46
#include "gr/grdisplay.h"
57
#include "gr/grmaterial.h"
68
#include "gr/ground.h"
79
#include "gr/grzakogenerator.h"
810
#include "gr/inlines.h"
911
#include "gr/types.h"
12+
#include "it/inlines.h"
13+
#include "it/item.h"
14+
#include "it/types.h"
15+
#include "lb/lb_00B0.h"
1016
#include "lb/lb_00F9.h"
1117

1218
#include <placeholder.h>
1319
#include <dolphin/os/OSError.h>
1420
#include <baselib/gobj.h>
1521
#include <baselib/gobjgxlink.h>
1622
#include <baselib/gobjproc.h>
23+
#include <baselib/jobj.h>
1724

1825
/* static */ StageCallbacks grTIc_803E8A98[4] = {
1926
{
@@ -166,9 +173,18 @@ void grTIceClimber_802211E4(HSD_GObj* gobj)
166173

167174
void grTIceClimber_80221204(HSD_GObj* arg0) {}
168175

169-
void grTIceClimber_80221208(void)
176+
void grTIceClimber_80221208(HSD_GObj* gobj)
170177
{
171-
NOT_IMPLEMENTED;
178+
Vec3 pos;
179+
Item* it = GET_ITEM(gobj);
180+
PAD_STACK(16);
181+
182+
HSD_JObjSetFlagsAll(it->xDD4_itemVar.target.jobj, 0x10);
183+
lb_8000B1CC(it->xDD4_itemVar.target.jobj, NULL, &pos);
184+
efSync_Spawn(0x445, gobj, &pos);
185+
Camera_80030E44(2, 0);
186+
Ground_801C53EC(310);
187+
grMaterial_801C8CDC(gobj);
172188
}
173189

174190
s16 grTIc_803E8B5C[] = {

src/melee/gr/grticeclimber.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
/* 2211DC */ bool grTIceClimber_802211DC(HSD_GObj*);
2828
/* 2211E4 */ void grTIceClimber_802211E4(HSD_GObj*);
2929
/* 221204 */ void grTIceClimber_80221204(HSD_GObj*);
30-
/* 221208 */ void grTIceClimber_80221208(void);
30+
/* 221208 */ void grTIceClimber_80221208(HSD_GObj*);
3131
/* 221288 */ void grTIceClimber_80221288(HSD_GObj*);
3232
/* 221354 */ lb_UnkAnimStruct* grTIceClimber_80221354(enum_t);
3333
/* 22135C */ bool grTIceClimber_8022135C(Vec3*, int, HSD_JObj*);

src/melee/it/itCommonItems.h

+5
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,9 @@ typedef struct {
118118
s32 timer;
119119
} ItPokemonVars;
120120

121+
typedef struct {
122+
int x0;
123+
HSD_JObj* jobj;
124+
} itTargetVars;
125+
121126
#endif

src/melee/it/types.h

+1
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,7 @@ struct Item {
558558
FoxIllusionVars foxillusion;
559559
itKirbyHammerVars kirbyhammer;
560560
itShellVars shell;
561+
itTargetVars target;
561562
u8 padding[0xFCC - 0xDD4];
562563
} xDD4_itemVar;
563564
};

0 commit comments

Comments
 (0)