d_a_player_food progress

This commit is contained in:
LagoLunatic
2023-12-02 23:02:18 -05:00
parent a43906c96b
commit 48fa3cf3de
6 changed files with 119 additions and 9 deletions
+1
View File
@@ -1215,6 +1215,7 @@ public:
enum daPy_ANM {
ANM_UNK_C4 = 0xC4,
ANM_UNK_C5 = 0xC5,
};
enum daPy_UNDER {
+26 -4
View File
@@ -455,6 +455,7 @@ public:
JKRArchive* getFontArchive() { return mpFont0Archive; }
JKRArchive* getRubyArchive() { return mpFont1Archive; }
void setAnmArchive(JKRArchive * pArc) { mpAnmArchive = pArc; }
JKRArchive* getAnmArchive() { return mpAnmArchive; }
void setLkDArc(JKRArchive * pArc) { mpLkDArc = pArc; }
void setFmapArchive(JKRArchive * pArc) { mpFmapArchive = pArc; }
void setItemResArchive(JKRArchive * pArc) { mpItemResArchive = pArc; }
@@ -1321,16 +1322,36 @@ inline void dComIfGs_onGetBottleItem(u8 i_itemNo) {
g_dComIfG_gameInfo.save.getPlayer().getGetItem().onBottleItem(i_itemNo);
}
inline BOOL dComIfGs_checkEmptyBottle() {
return g_dComIfG_gameInfo.save.getPlayer().getItem().checkEmptyBottle();
inline void dComIfGs_setBottleItemIn(u8 prevItemNo, u8 newItemNo) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setBottleItemIn(prevItemNo, newItemNo);
}
inline void dComIfGs_setEmptyBottleItemIn(u8 i_itemNo) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEmptyBottleItemIn(i_itemNo);
}
inline void dComIfGs_setEmptyBottle() {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEmptyBottle();
}
inline void dComIfGs_setEmptyBottleItemIn(u8 i_itemNo) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEmptyBottleItemIn(i_itemNo);
inline void dComIfGs_setEquipBottleItemIn(u8 i_btnIdx, u8 i_itemNo) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEquipBottleItemIn(i_btnIdx, i_itemNo);
}
inline void dComIfGs_setEquipBottleItemEmpty(u8 i_btnIdx) {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEquipBottleItemEmpty(i_btnIdx);
}
inline void dComIfGs_setEquipBottleItemEmpty() {
g_dComIfG_gameInfo.save.getPlayer().getItem().setEquipBottleItemEmpty();
}
inline u8 dComIfGs_checkBottle(u8 i_itemNo) {
return g_dComIfG_gameInfo.save.getPlayer().getItem().checkBottle(i_itemNo);
}
inline BOOL dComIfGs_checkEmptyBottle() {
return g_dComIfG_gameInfo.save.getPlayer().getItem().checkEmptyBottle();
}
inline BOOL dComIfGs_checkGetBottle() {
@@ -2480,6 +2501,7 @@ inline void dComIfGd_reset() { g_dComIfG_gameInfo.drawlist.reset(); }
*/
inline void dComIfGp_setAnmArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setAnmArchive(pArc); }
inline JKRArchive* dComIfGp_getAnmArchive() { return g_dComIfG_gameInfo.play.getAnmArchive(); }
inline void dComIfGp_setMsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMsgArchive(pArc); }
inline void dComIfGp_setDmsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setDmsgArchive(pArc); }
inline void dComIfGp_setTmsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setTmsgArchive(pArc); }
+1
View File
@@ -245,6 +245,7 @@ public:
void Stay();
void SetTrimSize(s32);
void StartEventCamera(int, int, ...);
void EndEventCamera(int);
void CStickUse() {}
void CStickUseless() {}
+73 -2
View File
@@ -12,6 +12,8 @@
#include "d/actor/d_a_player_main.h"
#include "f_op/f_op_camera.h"
#include "d/d_com_inf_game.h"
#include "d/d_item_data.h"
/* 80154334-801543A0 .text setHyoiModel__9daPy_lk_cFv */
void daPy_lk_c::setHyoiModel() {
@@ -115,10 +117,79 @@ BOOL daPy_lk_c::procFoodThrow() {
/* 80154880-80154A48 .text procFoodSet_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procFoodSet_init() {
/* Nonmatching */
if (mCurProcID == PROC_FOOD_SET_e) {
if (mDemo.getParam0() == 1) {
if (mHeldItemType == ANIMAL_ESA) {
u8 btnIdx = dComIfGp_event_getTalkXYBtn();
if (btnIdx == 1) {
dComIfGs_setEquipBottleItemEmpty(0);
} else if (btnIdx == 2) {
dComIfGs_setEquipBottleItemEmpty(1);
} else {
dComIfGs_setEquipBottleItemEmpty(2);
}
}
deleteEquipItem(0);
} else {
setHyoiModel();
}
return TRUE;
}
if (!dComIfGp_event_runCheck()) {
if (!dComIfGp_event_compulsory(this, NULL, -1)) {
return FALSE;
}
mDemo.setDemoType(5);
}
int temp = checkShipRideUseItem(1);
commonProcInit(PROC_FOOD_SET_e);
current.angle.y = shape_angle.y;
mVelocity = 0.0f;
setSingleMoveAnime(ANM_UNK_C5, daPy_HIO_food_c0::m.field_0x10, daPy_HIO_food_c0::m.field_0x14, daPy_HIO_food_c0::m.field_0x2, daPy_HIO_food_c0::m.field_0x18);
keepItemData();
setHyoiModel();
if (mDemo.getDemoType() == 5) {
m3570 = 1;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
}
initShipRideUseItem(temp, 2);
m34D0 = 1*30;
return TRUE;
}
/* 80154A48-80154B80 .text procFoodSet__9daPy_lk_cFv */
BOOL daPy_lk_c::procFoodSet() {
/* Nonmatching */
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[0];
setShipRidePosUseItem();
if (frameCtrl.getRate() > 0.0f && frameCtrl.checkPass(9.0f)) {
seStartOnlyReverb(JA_SE_LK_HYOI_SET);
}
if (fabsf(frameCtrl.getRate()) < 0.01f) {
if (mDemo.getDemoType() != 5) {
dComIfGp_evmng_cutEnd(mStaffIdx);
} else if (m34D0 < 0) {
dComIfGp_event_reset();
deleteEquipItem(0);
u32 playerPID = fopAcM_GetID(this);
dCam_getBody()->EndEventCamera(playerPID);
endDemoMode();
} else if (m34D0 == 0) {
m34D0 = -1;
frameCtrl.setRate(-daPy_HIO_food_c0::m.field_0x10);
} else if (m34D0 > 0) {
m34D0--;
}
}
return TRUE;
}
+16 -1
View File
@@ -2532,7 +2532,12 @@ JKRHeap* daPy_lk_c::setItemHeap() {
}
/* 80104240-80104280 .text setBlurPosResource__9daPy_lk_cFUs */
void daPy_lk_c::setBlurPosResource(u16) {
void daPy_lk_c::setBlurPosResource(u16 index) {
dComIfGp_getAnmArchive()->readIdxResource(mSwBlur.mpBlurPos, 0x4800, index);
}
/* 80104280-80104364 .text getItemAnimeResource__9daPy_lk_cFUs */
J3DAnmTransform* daPy_lk_c::getItemAnimeResource(u16) {
/* Nonmatching */
}
@@ -4505,6 +4510,16 @@ J3DModelData* daPy_lk_c::initModel(J3DModel** i_model, int i_fileIndex, u32 i_di
return tmp_modelData;
}
/* 80124B30-80124BE4 .text entryBtk__9daPy_lk_cFP12J3DModelDatai */
J3DAnmTextureSRTKey* daPy_lk_c::entryBtk(J3DModelData*, int) {
/* Nonmatching */
}
/* 80124BE4-80124C98 .text entryBrk__9daPy_lk_cFP12J3DModelDatai */
J3DAnmTevRegKey* daPy_lk_c::entryBrk(J3DModelData*, int) {
/* Nonmatching */
}
/* 80124C98-80125CC8 .text playerInit__9daPy_lk_cFv */
void daPy_lk_c::playerInit() {
if (!fopAcM_entrySolidHeap(this, daPy_createHeap, 0xB0000)) {
+2 -2
View File
@@ -127,8 +127,8 @@ void dSv_player_item_c::setEquipBottleItemIn(u8 i_btnIdx, u8 i_itemNo) {
}
/* 8005918C-800591B0 .text setEquipBottleItemEmpty__17dSv_player_item_cFUc */
void dSv_player_item_c::setEquipBottleItemEmpty(u8 i_itemNo) {
setEquipBottleItemIn(i_itemNo, EMPTY_BOTTLE);
void dSv_player_item_c::setEquipBottleItemEmpty(u8 i_btnIdx) {
setEquipBottleItemIn(i_btnIdx, EMPTY_BOTTLE);
}
/* 800591B0-80059408 .text setEquipBottleItemIn__17dSv_player_item_cFUc */