// // Generated by dtk // Translation Unit: d_a_race_item_static.cpp // #include "d/actor/d_a_race_item.h" #include "d/d_com_inf_game.h" #include "d/d_item.h" #include "d/d_item_data.h" #include "m_Do/m_Do_mtx.h" /* 80068A58-80068AA4 .text raceItemForceGet__12daRaceItem_cFv */ void daRaceItem_c::raceItemForceGet() { field_0x640 = 1; switch(field_0x644) { case 0: raceItemGet(); break; case 1: normalItemGet(); break; } } /* 80068AA4-80068D48 .text raceItemGet__12daRaceItem_cFv */ void daRaceItem_c::raceItemGet() { switch(m_itemNo) { case dItem_GREEN_RUPEE_e: mDoAud_seStart(JA_SE_LUPY_GET); dComIfGp_plusMiniGameRupee(1); break; case dItem_BLUE_RUPEE_e: mDoAud_seStart(JA_SE_BLUE_LUPY_GET); dComIfGp_plusMiniGameRupee(5); break; case dItem_YELLOW_RUPEE_e: mDoAud_seStart(JA_SE_LUPY_GET); dComIfGp_plusMiniGameRupee(10); break; case dItem_RED_RUPEE_e: mDoAud_seStart(JA_SE_RED_LUPY_GET); dComIfGp_plusMiniGameRupee(20); break; case dItem_PURPLE_RUPEE_e: mDoAud_seStart(JA_SE_LUPY_GET); dComIfGp_plusMiniGameRupee(50); break; case dItem_ORANGE_RUPEE_e: mDoAud_seStart(JA_SE_LUPY_GET); dComIfGp_plusMiniGameRupee(100); break; case dItem_SILVER_RUPEE_e: mDoAud_seStart(JA_SE_LUPY_GET); dComIfGp_plusMiniGameRupee(200); break; } } /* 80068D48-80068FD0 .text normalItemGet__12daRaceItem_cFv */ void daRaceItem_c::normalItemGet() { field_0x640 = 1; execItemGet(m_itemNo); if(mItemBitNo != 0x7F) { dComIfGs_onItem(mItemBitNo, fopAcM_GetHomeRoomNo(this)); } switch(m_itemNo) { case dItem_GREEN_RUPEE_e: mDoAud_seStart(JA_SE_LUPY_GET); break; case dItem_BLUE_RUPEE_e: mDoAud_seStart(JA_SE_BLUE_LUPY_GET); break; case dItem_YELLOW_RUPEE_e: mDoAud_seStart(JA_SE_RED_LUPY_GET); break; case dItem_RED_RUPEE_e: mDoAud_seStart(JA_SE_RED_LUPY_GET); break; case dItem_PURPLE_RUPEE_e: mDoAud_seStart(JA_SE_RED_LUPY_GET); break; case dItem_ORANGE_RUPEE_e: mDoAud_seStart(JA_SE_RED_LUPY_GET); break; case dItem_SILVER_RUPEE_e: mDoAud_seStart(JA_SE_RED_LUPY_GET); break; case S_MAGIC: mDoAud_seStart(JA_SE_MAGIC_POT_GET_S); break; case L_MAGIC: mDoAud_seStart(JA_SE_MAGIC_POT_GET_L); break; case BOMB_5: case BOMB_10: case BOMB_20: case BOMB_30: case ARROW_10: case ARROW_20: case ARROW_30: mDoAud_seStart(JA_SE_CONSUMP_ITEM_GET); break; case dItem_TRIPLE_HEART_e: mDoAud_seStart(JA_SE_HEART_PIECE); break; } } /* 80068FD0-80068FE0 .text startOffsetPos__12daRaceItem_cFv */ BOOL daRaceItem_c::startOffsetPos() { field_0x640 = 0; return true; } /* 80068FE0-8006903C .text endOffsetPos__12daRaceItem_cFfP4cXyzffP5csXyz */ BOOL daRaceItem_c::endOffsetPos(f32 param_1, cXyz* param_2, f32 param_3, f32 param_4, csXyz* param_5) { if(param_5) { current.angle = *param_5; } if(param_2) { scale = *param_2; } gravity = param_1; speedF = param_4; speed.y = param_3; field_0x640 = 3; return true; } /* 8006903C-80069064 .text checkOffsetPos__12daRaceItem_cFv */ BOOL daRaceItem_c::checkOffsetPos() { BOOL ret = true; if(cLib_checkBit(field_0x645, (u8)0x01) || fopAcM_checkHookCarryNow(this)) { ret = false; } return ret; } /* 80069064-800690E4 .text set_mtx__12daRaceItem_cFP4cXyz */ void daRaceItem_c::set_mtx(cXyz* param_1) { mpModel->setBaseScale(scale); mDoMtx_stack_c::transS(*param_1); mDoMtx_stack_c::YrotM(current.angle.y); mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); }