From 9f6ea21dfaaee145021636fc2b8ad7b942a0aebf Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Sun, 3 Dec 2023 14:28:43 -0500 Subject: [PATCH] match d_a_race_item_static --- configure.py | 4 +-- include/d/actor/d_a_race_item.h | 4 ++- src/d/actor/d_a_race_item.cpp | 56 +++++++++++++++++---------------- src/d/d_a_race_item_static.cpp | 10 +++--- 4 files changed, 39 insertions(+), 35 deletions(-) diff --git a/configure.py b/configure.py index 82279f461..8d8260777 100644 --- a/configure.py +++ b/configure.py @@ -355,7 +355,7 @@ config.libs = [ Object(Matching, "d/d_a_itembase_static.cpp"), Object(Matching, "d/d_a_item_static.cpp"), Object(Matching, "d/d_a_shop_item_static.cpp"), - Object(NonMatching, "d/d_a_race_item_static.cpp"), + Object(Matching, "d/d_a_race_item_static.cpp"), Object(NonMatching, "d/d_a_leaflift_static.cpp"), Object(NonMatching, "d/d_demo.cpp"), Object(NonMatching, "d/d_door.cpp"), @@ -1291,7 +1291,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_warpt"), ActorRel(Matching, "d_a_obj_wood", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_pirate_flag"), - ActorRel(NonMatching, "d_a_race_item"), + ActorRel(NonMatching, "d_a_race_item", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_rd", extra_cflags=['-pragma "nosyminline on"']), ActorRel(Matching, "d_a_rectangle"), ActorRel(NonMatching, "d_a_salvage"), diff --git a/include/d/actor/d_a_race_item.h b/include/d/actor/d_a_race_item.h index c18143067..4c51f6a88 100644 --- a/include/d/actor/d_a_race_item.h +++ b/include/d/actor/d_a_race_item.h @@ -5,13 +5,15 @@ class daRaceItem_c : public daItemBase_c { public: + void setListStart() {} + BOOL draw() { return DrawBase(); } + void set_mtx(); BOOL Delete(); s32 create(); BOOL CreateInit(); void checkGet(); inline BOOL execute(); - void setListStart() {} // race_item_static functions void raceItemForceGet(); diff --git a/src/d/actor/d_a_race_item.cpp b/src/d/actor/d_a_race_item.cpp index c63db6cad..f51acebcf 100644 --- a/src/d/actor/d_a_race_item.cpp +++ b/src/d/actor/d_a_race_item.cpp @@ -13,31 +13,33 @@ #include "m_Do/m_Do_mtx.h" static dCcD_SrcCyl l_cyl_src = { - 0, - 0, - 0, - 0, - 0xFFFFFFFF, // Tg damage types - 3, - 0x19, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 4, - 0, - - // Cylinder - 0.0, // X - 0.0, // Y - 0.0, // Z - 0.0, // Radius - 0.0, // Height + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ 0, + /* SrcObjAt Atp */ 0, + /* SrcObjAt SPrm */ 0, + /* SrcObjTg Type */ AT_TYPE_ALL, + /* SrcObjTg SPrm */ 0x03, + /* SrcObjCo SPrm */ 0x19, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ 0, + /* SrcGObjAt Spl */ 0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt GFlag */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ 0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg GFlag */ 0x04, + /* SrcGObjCo GFlag */ 0, + }, + // cM3dGCylS + { + /* Center */ 0.0f, 0.0f, 0.0f, + /* Radius */ 0.0f, + /* Height */ 0.0f, + }, }; void daRaceItem_c::set_mtx() { @@ -48,7 +50,7 @@ void daRaceItem_c::set_mtx() { } BOOL daRaceItem_c::Delete() { - DeleteBase(dItem_data::field_item_res[m_itemNo].mArc); + return DeleteBase(dItem_data::field_item_res[m_itemNo].mArc); } s32 daRaceItem_c::create() { @@ -110,7 +112,7 @@ void daRaceItem_c::checkGet() { } static BOOL daRaceItem_Draw(daRaceItem_c* i_this) { - return i_this->DrawBase(); + return i_this->draw(); } static BOOL daRaceItem_Execute(daRaceItem_c* i_this) { diff --git a/src/d/d_a_race_item_static.cpp b/src/d/d_a_race_item_static.cpp index 42a1d4166..0b3a5d7d1 100644 --- a/src/d/d_a_race_item_static.cpp +++ b/src/d/d_a_race_item_static.cpp @@ -80,12 +80,15 @@ void daRaceItem_c::normalItemGet() { case ORANGE_RUPEE: mDoAud_seStart(JA_SE_RED_LUPY_GET, 0, 0, 0); break; - case S_MAGIC: + case SILVER_RUPEE: mDoAud_seStart(JA_SE_RED_LUPY_GET, 0, 0, 0); break; - case L_MAGIC: + case S_MAGIC: mDoAud_seStart(JA_SE_MAGIC_POT_GET_S, 0, 0, 0); break; + case L_MAGIC: + mDoAud_seStart(JA_SE_MAGIC_POT_GET_L, 0, 0, 0); + break; case BOMB_5: case BOMB_10: case BOMB_20: @@ -93,9 +96,6 @@ void daRaceItem_c::normalItemGet() { case ARROW_10: case ARROW_20: case ARROW_30: - mDoAud_seStart(JA_SE_MAGIC_POT_GET_L, 0, 0, 0); - break; - case SILVER_RUPEE: mDoAud_seStart(JA_SE_CONSUMP_ITEM_GET, 0, 0, 0); break; case TRIPLE_HEART: