Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
472c615
Use HSD_ASSERT where the message is the condition
MarkMcCaskey Jul 26, 2026
55f961c
Replace raw __assert calls with the HSD assert macros
MarkMcCaskey Jul 26, 2026
4454244
Address review: rework ItemKind Pokemon_*, drop the lbfile respell
MarkMcCaskey Jul 26, 2026
0a42ccf
Apply the recovered range names at their existing sites
MarkMcCaskey Jul 26, 2026
cc63d90
Catch the Pokemon_* uses added upstream since this branch forked
MarkMcCaskey Jul 26, 2026
259bc79
Address review: doc-comment style, static common_pokemon
MarkMcCaskey Jul 26, 2026
3889fb3
Convert the lbmemory, mnhyaku, and grshrineroute asserts
MarkMcCaskey Jul 26, 2026
c1e8a2a
Address review: Doxygen groups, Parts_Max enum, _p() family
MarkMcCaskey Jul 26, 2026
1aa423b
Use Doxygen member group syntax
MarkMcCaskey Jul 26, 2026
f464521
Represent common Pokemon padding as alignment
MarkMcCaskey Jul 26, 2026
5443bb1
Split character-specific item tables
MarkMcCaskey Jul 26, 2026
3b981b2
Restore itzako prototype include
MarkMcCaskey Jul 26, 2026
5fd47e6
Use enum values for CmSnapStatus
MarkMcCaskey Jul 26, 2026
0732fe0
Use Unk names for CmSnapStatus placeholders
MarkMcCaskey Jul 26, 2026
2e85d2d
Clarify CmSnapStatus assert attribution
MarkMcCaskey Jul 26, 2026
0df362c
Remove brittle grBigBlue line reference
MarkMcCaskey Jul 26, 2026
dcc40ea
Flatten grBigBlue stage model setup
MarkMcCaskey Jul 26, 2026
9557838
Use Pl_ItemLog enum throughout item tracking
MarkMcCaskey Jul 26, 2026
8687c42
Complete Gm_Player enum range
MarkMcCaskey Jul 26, 2026
6a02989
Apply clang-format to Pl_ItemLog use
MarkMcCaskey Jul 26, 2026
fea3e40
Merge branch 'master' into use-hsd-assert-macros
ribbanya Jul 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions config/GALE01/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ lbMemory_80014E24 = .text:0x80014E24; // type:function size:0xC8 scope:global
lbMemory_80014EEC = .text:0x80014EEC; // type:function size:0x90 scope:global
lbMemory_80014F7C = .text:0x80014F7C; // type:function size:0x4C scope:global
lbMemory_80014FC8 = .text:0x80014FC8; // type:function size:0x128 scope:global
lbMemory_800150F0 = .text:0x800150F0; // type:function size:0x94 scope:global
lbMemFreeToHeap = .text:0x800150F0; // type:function size:0x94 scope:global
fn_80015184 = .text:0x80015184; // type:function size:0x118
lbMemory_8001529C = .text:0x8001529C; // type:function size:0x84 scope:global
lbMemory_80015320 = .text:0x80015320; // type:function size:0x19C scope:global
Expand Down Expand Up @@ -23875,7 +23875,7 @@ it_803F22A8 = .data:0x803F22A8; // type:object size:0x40 scope:global
@188 = .data:0x803F2300; // type:object size:0xD scope:local data:string
it_803F2310 = .data:0x803F2310; // type:object size:0xBC scope:global
it_803F23CC = .data:0x803F23CC; // type:object size:0xB04 scope:global
it_803F2ED0 = .data:0x803F2ED0; // type:object size:0x58 scope:global
common_pokemon = .data:0x803F2ED0; // type:object size:0x58 scope:local
it_803F2F28 = .data:0x803F2F28; // type:object size:0x1D8 scope:global
it_803F3100 = .data:0x803F3100; // type:object size:0x1BA8 scope:global
it_803F4CA8 = .data:0x803F4CA8; // type:object size:0x78 scope:global
Expand Down
2 changes: 1 addition & 1 deletion src/melee/ft/chara/ftCaptain/ftCa_SpecialS.c
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ void ftCa_SpecialS_OnDetect(HSD_GObj* gobj)
itGetKind(detected_gobj) < It_Kind_Octarock_Stone) ||
(itGetKind(detected_gobj) >= It_Kind_Old_Kuri &&
itGetKind(detected_gobj) < It_Kind_Arwing_Laser) ||
itGetKind(detected_gobj) == Pokemon_Random)
itGetKind(detected_gobj) == It_PKind_Random)
{
switch (fp->motion_id) {
case ftCa_MS_SpecialSStart: {
Expand Down
4 changes: 2 additions & 2 deletions src/melee/ft/chara/ftCommon/ftpickupitem.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ bool ftpickupitem_8009447C(Fighter_GObj* gobj, Item_GObj* item_gobj)
Fighter_8006CF5C(fp, it_8026B47C(item_gobj));
Item_8026A8EC(item_gobj);
goto block_35;
case Pokemon_Lucky_Egg:
case It_Kind_Lucky_Egg:
Fighter_8006CF5C(fp, it_8026B47C(item_gobj));
Item_8026A8EC(item_gobj);
goto block_35;
Expand Down Expand Up @@ -363,7 +363,7 @@ void ftpickupitem_80094B6C(Fighter_GObj* gobj, Item_GObj* item_gobj)
Fighter_8006CF5C(fp, it_8026B47C(item_gobj));
Item_8026A8EC(item_gobj);
return;
case Pokemon_Lucky_Egg:
case It_Kind_Lucky_Egg:
Fighter_8006CF5C(fp, it_8026B47C(item_gobj));
Item_8026A8EC(item_gobj);
return;
Expand Down
6 changes: 2 additions & 4 deletions src/melee/ft/ftchangeparam.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@

#include "placeholder.h"

#include <baselib/debug.h>
#include <melee/ft/fighter.h>
#include <melee/ft/inlines.h>

float ftCo_CalcYScaledKnockback(float arg0, float scale, float arg2)
{
/// @todo Convert to @c HSD_ASSERT once a byte-matching form is found.
if (scale == 0.0F) {
__assert("ftchangeparam.c", 0x1E, "scale != 0.0F");
}
HSD_ASSERT(0x1E, scale != 0.0F);
if (arg2 == 0.0F) {
return arg0;
}
Expand Down
5 changes: 5 additions & 0 deletions src/melee/gm/forward.h
Original file line number Diff line number Diff line change
Expand Up @@ -167,4 +167,9 @@ typedef struct VsApproachData VsApproachData;

typedef bool (*GmRouteCallback)(int);

/// Number of player slots.
typedef enum Gm_Player {
/* 0x06 */ Gm_Player_NumMax = 6,
} Gm_Player;

#endif
3 changes: 1 addition & 2 deletions src/melee/gm/gmmain.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,7 @@ static void gmMain_8015FDA4(void)
db_804D6B20 = false;
}
} else {
HSD_ASSERTMSG(0xD2, DbLevel == DbLKind_NoDebugRom,
"DbLevel == DbLKind_NoDebugRom");
HSD_ASSERT(0xD2, DbLevel == DbLKind_NoDebugRom);
DbLevel = 0;
}
}
Expand Down
18 changes: 9 additions & 9 deletions src/melee/gm/gmregenddisp.c
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ void gm_801A9094(void)
HSD_MatAnimJoint* matanim;
HSD_GObj* gobj;
HSD_JObj* root;
HSD_JObj* child;
HSD_JObj* jobj;
PAD_STACK(0x84);

gm_801A8D54(sp8C);
Expand All @@ -306,14 +306,14 @@ void gm_801A9094(void)
HSD_JObjSetScaleY(root, 1.8f);
HSD_JObjSetScaleZ(root, 1.8f);
HSD_ASSERT(0x2F5, joint);
child = HSD_JObjLoadJoint(joint);
HSD_ASSERTMSG(0x2F7, child, "jobj");
HSD_JObjAddChild(root, child);
HSD_JObjAddAnimAll(child, NULL, matanim, NULL);
HSD_JObjReqAnimAll(child, (f32) dsp->x05);
HSD_JObjAnimAll(child);
HSD_JObjSetTranslateX(child, dsp->x08);
HSD_JObjSetTranslateZ(child, dsp->x0C);
jobj = HSD_JObjLoadJoint(joint);
HSD_ASSERT(0x2F7, jobj);
HSD_JObjAddChild(root, jobj);
HSD_JObjAddAnimAll(jobj, NULL, matanim, NULL);
HSD_JObjReqAnimAll(jobj, (f32) dsp->x05);
HSD_JObjAnimAll(jobj);
HSD_JObjSetTranslateX(jobj, dsp->x08);
HSD_JObjSetTranslateZ(jobj, dsp->x0C);
HSD_JObjAddChild(root, HSD_JObjLoadJoint(bg_joint));
gm_801A85E4(root, i, sp8C[i]);
}
Expand Down
4 changes: 2 additions & 2 deletions src/melee/gm/gmtoulib.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

#include <placeholder.h>

#include "baselib/debug.h"
#include "baselib/fog.h"
#include "baselib/gobjgxlink.h"
#include "baselib/gobjobject.h"
Expand Down Expand Up @@ -2054,8 +2055,7 @@ int fn_8018F4A0(void)
printf("This is impossible stage num from mnSelStageRandom() -> stage "
"%d \n",
temp_r3);
/// @todo No byte-matching HSD assert macro form.
__assert("gmtoulib.c", 0x53D, "0");
HSD_ASSERT(0x53D, 0);
}
return temp_r3;
}
Expand Down
22 changes: 13 additions & 9 deletions src/melee/gr/grbigblue.c
Original file line number Diff line number Diff line change
Expand Up @@ -2386,9 +2386,8 @@ static grBb_TrackEntry grBb_TrackEntries[12] = {

void grBigBlue_801EB004(Ground_GObj* gobj)
{
HSD_JObj* jobj = GET_JOBJ(gobj);
Ground* gp = gobj->user_data;
HSD_JObj* child;
HSD_JObj* jobj;
Vec3 pos;
Vec3 end_pos;
Vec3 diff;
Expand All @@ -2397,21 +2396,26 @@ void grBigBlue_801EB004(Ground_GObj* gobj)
grBb_TrackEntry* entry;
PAD_STACK(4);

HSD_JObjSetFlagsAll(jobj, JOBJ_HIDDEN);
/// The assert at 2328 names the per-entry jobj, so the stage model's own
/// jobj is the one scoped to this block.
{
HSD_JObj* jobj = GET_JOBJ(gobj);
HSD_JObjSetFlagsAll(jobj, JOBJ_HIDDEN);

pos.x = pos.y = pos.z = 1.0F;
HSD_JObjSetScale(jobj, &pos);
pos.x = pos.y = pos.z = 1.0F;
HSD_JObjSetScale(jobj, &pos);
}

pos.x = pos.y = pos.z = Ground_801C0498();

entry = grBb_TrackEntries;
for (i = 0; i < 12; i++, entry++) {
HSD_JObj* start_jobj;
HSD_JObj* end_jobj;
child = Ground_801C3FA4(gobj, entry->jobj_index);
jobj = Ground_801C3FA4(gobj, entry->jobj_index);

/* goto required for match: skips to assert block on NULL */
if (child == NULL) {
if (jobj == NULL) {
goto assert_block;
}

Expand All @@ -2425,7 +2429,7 @@ void grBigBlue_801EB004(Ground_GObj* gobj)
goto assert_block;
}

HSD_JObjSetScale(child, &pos);
HSD_JObjSetScale(jobj, &pos);

lb_8000B1CC(start_jobj, NULL, &start_pos);
lb_8000B1CC(end_jobj, NULL, &end_pos);
Expand All @@ -2437,7 +2441,7 @@ void grBigBlue_801EB004(Ground_GObj* gobj)
continue;

assert_block:
HSD_ASSERTMSG(2328, child, "jobj");
HSD_ASSERT(2328, jobj);
HSD_ASSERT(2329, start_jobj);
HSD_ASSERT(2330, end_jobj);
}
Expand Down
2 changes: 1 addition & 1 deletion src/melee/gr/grcastle.c
Original file line number Diff line number Diff line change
Expand Up @@ -1799,7 +1799,7 @@ void grCastle_801D0680(void* arg0, unkCastle* arg1)

static void grCastle_801D06CC_sub(unkCastle* arg0, Ground_GObj* gobj, s32 i)
{
if (ftLib_80086960(gobj) || itGetKind(gobj) != Pokemon_Random) {
if (ftLib_80086960(gobj) || itGetKind(gobj) != It_PKind_Random) {
arg0->x134[i] = 1;
grMaterial_801C8CDC(arg0->x10C[i]);
arg0->x10C[i] = NULL;
Expand Down
79 changes: 39 additions & 40 deletions src/melee/gr/grhomerun.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@
mpLib_GroundEnum ground_kind,
float delta_y);

#define INIT_ADD_PARTS_RANGE (1.0F + (2400.0F / (160.0F * Ground_801C0498())))
#define Gr_Homerun_Parts_Max 64
Comment thread
ribbanya marked this conversation as resolved.
Outdated

f32 grHr_804D6AD8;
int grHr_804D6ADC;
f32 grHr_804D6AE0;
Expand Down Expand Up @@ -207,14 +210,13 @@ void grHomeRun_8021CB20(Ground_GObj* gobj)
UnkArchiveStruct* archive;
HSD_CObj* cobj;
s32 i;
f32 gobjs_num;
Ground_801C2ED0(jobj2, gp->map_id);

gp->u.homerun.gobjs = HSD_MemAlloc(0x100);
HSD_ASSERTMSG(0x17A, gp->u.homerun.gobjs, "gp->u.map.parts");
gp->u.homerun.parts = HSD_MemAlloc(0x100);
HSD_ASSERTMSG(0x17A, gp->u.homerun.parts, "gp->u.map.parts");
Comment thread
ribbanya marked this conversation as resolved.

gp->u.homerun.jobj_gobjs = HSD_MemAlloc(0x40);
HSD_ASSERTMSG(0x17B, gp->u.homerun.jobj_gobjs, "gp->u.map.back");
gp->u.homerun.back = HSD_MemAlloc(0x40);
HSD_ASSERTMSG(0x17B, gp->u.homerun.back, "gp->u.map.back");

HSD_JObjSetScaleX(jobj2, grHr_804D6AE4 * HSD_JObjGetScaleX(jobj));
HSD_JObjSetScaleY(jobj2, grHr_804D6AE4 * HSD_JObjGetScaleY(jobj));
Expand All @@ -236,24 +238,21 @@ void grHomeRun_8021CB20(Ground_GObj* gobj)
HSD_SisLib_803A611C(1, (HSD_GObj*) gp->u.unk.xD4, 9, 0xD, 0, 1, 0, 7);
HSD_SisLib_804D1124[1] =
HSD_ArchiveGetPublicAddress(archive->unk0, "SIS_GrHomerunData");
gobjs_num = 2.0F * (1.0F + (2400.0F / (160.0F * Ground_801C0498())));
HSD_ASSERTMSG(0x1A2, gobjs_num < 64,
"INIT_ADD_PARTS_RANGE*2<Gr_Homerun_Parts_Max");
HSD_ASSERT(0x1A2, INIT_ADD_PARTS_RANGE*2<Gr_Homerun_Parts_Max);

for (i = 0; (f32) i < 1.0F + (2400.0F / (160.0F * Ground_801C0498())); i++)
{
gp->u.homerun.gobjs[i] = grHomeRun_8021E500(i);
for (i = 0; (f32) i < INIT_ADD_PARTS_RANGE; i++) {
gp->u.homerun.parts[i] = grHomeRun_8021E500(i);
}
for (; i < 64; i++) {
gp->u.homerun.gobjs[i] = NULL;
for (; i < Gr_Homerun_Parts_Max; i++) {
gp->u.homerun.parts[i] = NULL;
}

for (i = 0; i < 16; i++) {
HSD_JObj* child;
gp->u.homerun.jobj_gobjs[i] = grHomeRun_8021C82C_noinline(4);
HSD_ASSERTMSG(0x1AB, gp->u.homerun.jobj_gobjs[i], "gp->u.map.back[i]");
gp->u.homerun.back[i] = grHomeRun_8021C82C_noinline(4);
HSD_ASSERTMSG(0x1AB, gp->u.homerun.back[i], "gp->u.map.back[i]");

jobj = GET_JOBJ(gp->u.homerun.jobj_gobjs[i]);
jobj = GET_JOBJ(gp->u.homerun.back[i]);
HSD_ASSERT(0x1AC, jobj);

HSD_JObjSetScaleX(jobj, grHr_804D6AE4 * HSD_JObjGetScaleX(jobj));
Expand All @@ -267,27 +266,27 @@ void grHomeRun_8021CB20(Ground_GObj* gobj)
((4.0F + (f32) i) * -(160.0F * Ground_801C0498())));
}

gp->u.homerun.rear_gobj = grHomeRun_8021C82C_noinline(3);
HSD_ASSERTMSG(0x1BA, gp->u.homerun.rear_gobj, "gp->u.map.bg_gobj[0]");
jobj = GET_JOBJ(gp->u.homerun.rear_gobj);
gp->u.homerun.bg_gobj[0] = grHomeRun_8021C82C_noinline(3);
HSD_ASSERTMSG(0x1BA, gp->u.homerun.bg_gobj[0], "gp->u.map.bg_gobj[0]");
jobj = GET_JOBJ(gp->u.homerun.bg_gobj[0]);
HSD_ASSERT(0x1BB, jobj);
HSD_JObjSetTranslateX(jobj, 1.5F * -(2150.99F * Ground_801C0498()));

gp->u.homerun.rear2_gobj = grHomeRun_8021C82C_noinline(3);
HSD_ASSERTMSG(0x1BD, gp->u.homerun.rear2_gobj, "gp->u.map.bg_gobj[1]");
jobj = GET_JOBJ(gp->u.homerun.rear2_gobj);
gp->u.homerun.bg_gobj[1] = grHomeRun_8021C82C_noinline(3);
HSD_ASSERTMSG(0x1BD, gp->u.homerun.bg_gobj[1], "gp->u.map.bg_gobj[1]");
jobj = GET_JOBJ(gp->u.homerun.bg_gobj[1]);
HSD_ASSERT(0x1BE, jobj);
HSD_JObjSetTranslateX(jobj, 0.5F * -(2150.99F * Ground_801C0498()));

gp->u.homerun.rear3_gobj = grHomeRun_8021C82C_noinline(3);
HSD_ASSERTMSG(0x1C0, gp->u.homerun.rear3_gobj, "gp->u.map.bg_gobj[2]");
jobj = GET_JOBJ(gp->u.homerun.rear3_gobj);
gp->u.homerun.bg_gobj[2] = grHomeRun_8021C82C_noinline(3);
HSD_ASSERTMSG(0x1C0, gp->u.homerun.bg_gobj[2], "gp->u.map.bg_gobj[2]");
jobj = GET_JOBJ(gp->u.homerun.bg_gobj[2]);
HSD_ASSERT(0x1C1, jobj);
HSD_JObjSetTranslateX(jobj, 0.5F * (2150.99F * Ground_801C0498()));

gp->u.homerun.rear4_gobj = grHomeRun_8021C82C_noinline(3);
HSD_ASSERTMSG(0x1C3, gp->u.homerun.rear4_gobj, "gp->u.map.bg_gobj[3]");
jobj = GET_JOBJ(gp->u.homerun.rear4_gobj);
gp->u.homerun.bg_gobj[3] = grHomeRun_8021C82C_noinline(3);
HSD_ASSERTMSG(0x1C3, gp->u.homerun.bg_gobj[3], "gp->u.map.bg_gobj[3]");
jobj = GET_JOBJ(gp->u.homerun.bg_gobj[3]);
HSD_ASSERT(0x1C4, jobj);
HSD_JObjSetTranslateX(jobj, 1.5F * (2150.99F * Ground_801C0498()));

Expand Down Expand Up @@ -378,36 +377,36 @@ void grHomeRun_8021D680(Ground_GObj* gobj)

x1 = (s32) (1.0F +
((2400.0F + cam_interest.x) / (160.0F * Ground_801C0498())));
gobj2 = gp->u.homerun.gobjs[0];
gobj2 = gp->u.homerun.parts[0];
gp2 = GET_GROUND(gobj2);
if (gp2->u.homerun2.xC4 < x0) {
Ground_801C4A08(gobj2);
for (i = 0; i < 63; i++) {
gp->u.homerun.gobjs[i] = gp->u.homerun.gobjs[i + 1];
gp->u.homerun.parts[i] = gp->u.homerun.parts[i + 1];
}
gp->u.homerun.gobjs[63] = NULL;
gp->u.homerun.parts[63] = NULL;
} else if (gp2->u.homerun2.xC4 > x0) {
gobj2 = grHomeRun_8021E500(gp2->u.homerun2.xC4 - 1);
for (i = 63; i > 0; i--) {
struct grHomeRun_GroundVars* vars = &gp->u.homerun;
vars->gobjs[i] = vars->gobjs[i - 1];
vars->parts[i] = vars->parts[i - 1];
}
gp->u.homerun.gobjs[0] = gobj2;
gp->u.homerun.parts[0] = gobj2;
}

for (i = 63; i >= 0; i--) {
gobj2 = gp->u.homerun.gobjs[i];
gobj2 = gp->u.homerun.parts[i];
if (gobj2 != NULL) {
break;
}
}
HSD_ASSERT(0x239, gobj2);
gp2 = GET_GROUND(gobj2);
if (gp2->u.homerun2.xC4 > x1) {
gp->u.homerun.gobjs[i] = NULL;
gp->u.homerun.parts[i] = NULL;
Ground_801C4A08(gobj2);
} else if (gp2->u.homerun2.xC4 < x1) {
gp->u.homerun.gobjs[i + 1] =
gp->u.homerun.parts[i + 1] =
grHomeRun_8021E500(gp2->u.homerun2.xC4 + 1);
}

Expand All @@ -423,21 +422,21 @@ void grHomeRun_8021D680(Ground_GObj* gobj)
}
}

jobj = GET_JOBJ(gp->u.homerun.rear_gobj);
jobj = GET_JOBJ(gp->u.homerun.bg_gobj[0]);
HSD_ASSERT(0x257, jobj);
HSD_JObjSetTranslateX(jobj, x - 1.5F * (2150.99F * Ground_801C0498()));

jobj = GET_JOBJ(gp->u.homerun.rear2_gobj);
jobj = GET_JOBJ(gp->u.homerun.bg_gobj[1]);
HSD_ASSERT(0x259, jobj);

HSD_JObjSetTranslateX(jobj, x - 0.5F * (2150.99F * Ground_801C0498()));

jobj = GET_JOBJ(gp->u.homerun.rear3_gobj);
jobj = GET_JOBJ(gp->u.homerun.bg_gobj[2]);
HSD_ASSERT(0x25B, jobj);

HSD_JObjSetTranslateX(jobj, x + 0.5F * (2150.99F * Ground_801C0498()));

jobj = GET_JOBJ(gp->u.homerun.rear4_gobj);
jobj = GET_JOBJ(gp->u.homerun.bg_gobj[3]);
HSD_ASSERT(0x25D, jobj);

HSD_JObjSetTranslateX(jobj, x + 1.5F * (2150.99F * Ground_801C0498()));
Expand Down
4 changes: 2 additions & 2 deletions src/melee/gr/grkinokoroute.c
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ void grKinokoRoute_8020836C(Ground_GObj* gobj, int arg1)
mpJointListAdd(0x33);

for (cur = HSD_GObj_Entities->items; cur != NULL; cur = cur->next) {
if (itGetKind(cur) == Pokemon_Random) {
if (itGetKind(cur) == It_PKind_Random) {
grMaterial_801C8E08(cur);
}
}
Expand All @@ -543,7 +543,7 @@ void grKinokoRoute_8020836C(Ground_GObj* gobj, int arg1)
mpLib_80057BC0(0x33);

for (cur = HSD_GObj_Entities->items; cur != NULL; cur = cur->next) {
if (itGetKind(cur) == Pokemon_Random) {
if (itGetKind(cur) == It_PKind_Random) {
grMaterial_801C8E28(cur);
}
}
Expand Down
Loading
Loading