demo d_file_error OK, fmap/fmap2 work, misc (#1208)

* d_file_error OK, use J2DPane inlines everywhere

* d_menu_fmap demo work

* fmap and fmap2 work

* fix demo regression with ternary fakematch

* inline cleanup, f_pc_profile OK for demo

* fix min/max bss order

* lstair almost for demo
This commit is contained in:
LagoLunatic
2026-09-17 10:05:55 -04:00
committed by GitHub
parent 78f9557306
commit f38b962a58
33 changed files with 486 additions and 429 deletions
+2 -2
View File
@@ -495,7 +495,7 @@ config.libs = [
Object(Matching, "f_pc/f_pc_node.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "f_pc/f_pc_node_req.cpp"),
Object(Matching, "f_pc/f_pc_priority.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "f_pc/f_pc_profile.cpp"),
Object(Matching, "f_pc/f_pc_profile.cpp"),
Object(Matching, "f_pc/f_pc_searcher.cpp"),
Object(Matching, "f_pc/f_pc_line_tag.cpp"),
Object(Matching, "f_pc/f_pc_line_iter.cpp"),
@@ -630,7 +630,7 @@ config.libs = [
Object(Matching, "d/d_place_name.cpp"),
Object(NonMatching, "d/d_camera.cpp"),
Object(Matching, "d/d_envse.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_file_error.cpp"),
Object(Matching, "d/d_file_error.cpp"),
Object(MatchingFor("D44J01", "GZLJ01", "GZLE01"), "d/d_file_select.cpp"),
Object(Matching, "d/d_gameover.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_kankyo.cpp"),
+3 -3
View File
@@ -100,9 +100,9 @@ public:
mRotation = angle;
calcMtx();
}
void setInfluencedAlpha(bool) {}
void setInfluencedAlpha(bool v) { mInfluencedAlpha = v; }
public:
protected:
/* 0x04 */ u32 mMagic;
/* 0x08 */ int mTag;
/* 0x0C */ JGeometry::TBox2<f32> mBounds;
@@ -118,7 +118,7 @@ public:
/* 0xAB */ u8 mCullMode;
/* 0xAC */ u8 mAlpha;
/* 0xAD */ u8 mDrawAlpha;
/* 0xAE */ u8 mInheritAlpha;
/* 0xAE */ bool mInfluencedAlpha;
/* 0xAF */ u8 mIsConnectParent;
/* 0xB0 */ JSUTree<J2DPane> mPaneTree;
};
+3 -1
View File
@@ -62,10 +62,12 @@ public:
s32 getUsedSize(u8 groupId) const;
s32 getTotalUsedSize(void) const;
CMemBlock* getHeadUsedList() const { return mHeadUsedList; }
CMemBlock* getUsedFirst() { return mHeadUsedList; }
void setAllocationMode(EAllocMode mode) {
mAllocMode = mode;
}
static s32 getUsedSize_(JKRExpHeap* heap) { return heap->mSize - heap->getTotalFreeSize(); }
static void* getState_(TState* state) { return getState_buf_(state); }
public:
/* vt[04] */ virtual u32 getHeapType(); /* override */
+7 -17
View File
@@ -83,18 +83,16 @@ public:
/* vt[23] */ virtual void state_dump(JKRHeap::TState const& p) const;
void setDebugFill(bool debugFill) { mDebugFill = debugFill; }
bool getDebugFill() const { return mDebugFill; }
void* getStartAddr() const { return (void*)mStart; }
void* getEndAddr() const { return (void*)mEnd; }
u32 getSize() const { return mSize; }
void* getStartAddr() { return (void*)mStart; }
void* getEndAddr() { return (void*)mEnd; }
bool getErrorFlag() const { return mErrorFlag; }
void callErrorHandler(JKRHeap* heap, u32 size, int alignment) {
void callErrorHandler(void* heap, u32 size, int alignment) {
if (mErrorHandler) {
(*mErrorHandler)(heap, size, alignment);
}
}
JKRHeap* getParent() const {
JKRHeap* getParent() {
JSUTree<JKRHeap>* parent = mChildTree.getParent();
return parent->getObject();
}
@@ -102,8 +100,8 @@ public:
JSUTree<JKRHeap>& getHeapTree() { return mChildTree; }
void appendDisposer(JKRDisposer* disposer) { mDisposerList.append(&disposer->mLink); }
void removeDisposer(JKRDisposer* disposer) { mDisposerList.remove(&disposer->mLink); }
void lock() { OSLockMutex(&mMutex); }
void unlock() { OSUnlockMutex(&mMutex); }
void lock() const { OSLockMutex(const_cast<OSMutex*>(&mMutex)); }
void unlock() const { OSUnlockMutex(const_cast<OSMutex*>(&mMutex)); }
u32 getHeapSize() { return mSize; }
protected:
@@ -137,6 +135,7 @@ public:
static JKRErrorHandler setErrorHandler(JKRErrorHandler errorHandler);
static bool isDefaultDebugFill() { return sDefaultFillFlag; }
static void setDefaultDebugFill(bool status) { sDefaultFillFlag = status; }
static void* getCodeStart(void) { return mCodeStart; }
static void* getCodeEnd(void) { return mCodeEnd; }
@@ -144,14 +143,9 @@ public:
static void* getUserRamEnd(void) { return mUserRamEnd; }
static u32 getMemorySize(void) { return mMemorySize; }
static JKRHeap* getRootHeap() { return sRootHeap; }
#if DEBUG
static JKRHeap* getRootHeap2() { return sRootHeap2; }
#endif
static JKRHeap* getSystemHeap() { return sSystemHeap; }
static JKRHeap* getCurrentHeap() { return sCurrentHeap; }
static void setSystemHeap(JKRHeap* heap) { sSystemHeap = heap; }
static void setCurrentHeap(JKRHeap* heap) { sCurrentHeap = heap; }
static void setState_u32ID_(TState* state, u32 id) { state->mId = id; }
static void setState_uUsedSize_(TState* state, u32 usedSize) { state->mUsedSize = usedSize; }
@@ -159,7 +153,6 @@ public:
state->mCheckCode = checkCode;
}
static void* getState_buf_(TState* state) { return &state->mBuf; }
static void* getState_(TState* state) { return getState_buf_(state); }
static void* mCodeStart;
static void* mCodeEnd;
@@ -168,9 +161,6 @@ public:
static u32 mMemorySize;
static JKRHeap* sRootHeap;
#if DEBUG
static JKRHeap* sRootHeap2;
#endif
static JKRHeap* sSystemHeap;
static JKRHeap* sCurrentHeap;
+2
View File
@@ -58,6 +58,8 @@ public:
s32 adjustSize(void);
static JKRSolidHeap* create(u32, JKRHeap*, bool);
static void* getState_(TState* state) { return getState_buf_(state); }
}; // Size: 0x80
inline JKRSolidHeap* JKRCreateSolidHeap(u32 size, JKRHeap* parent, bool errorFlag) { return JKRSolidHeap::create(size, parent, errorFlag); }
+2
View File
@@ -31,6 +31,8 @@ public:
s32 do_getSize(void* ptr) { return OSReferentSize(ptr); };
s32 do_getTotalFreeSize() { return getFreeSize(); };
static void* getState_(TState* state) { return getState_buf_(state); }
OSHeapHandle mHeapHandle;
};
+2 -1
View File
@@ -1245,6 +1245,7 @@ inline s32 dComIfGs_getCollectMapNum() {
inline void dComIfGs_onSaveArriveGrid(int i_no) {
g_dComIfG_gameInfo.save.getPlayer().getMap().onSaveArriveGrid(i_no);
}
inline BOOL dComIfGs_isSaveArriveGrid(int i_no) {
return g_dComIfG_gameInfo.save.getPlayer().getMap().isSaveArriveGrid(i_no);
}
@@ -3519,7 +3520,7 @@ inline s32 dComIfGp_event_order(u16 eventType, u16 priority, u16 flag, u16 hind,
return g_dComIfG_gameInfo.play.getEvent()->order(eventType, priority, flag, hind, pActor1, pActor2, eventID, infoIdx);
}
inline s32 dComIfGp_event_orderOld(u16 eventType, u16 priority, u16 flag, u16 hind, void* pActor1, void* pActor2, const char *pEventName) {
inline s32 dComIfGp_event_orderOld(u16 eventType, u16 priority, u16 flag, u16 hind, void* pActor1, void* pActor2, void* pEventName) {
return g_dComIfG_gameInfo.play.getEvent()->orderOld(eventType, priority, flag, hind, pActor1, pActor2, pEventName);
}
+19 -15
View File
@@ -144,8 +144,12 @@ public:
JUT_ASSERT(VERSION_SELECT(558, 558, 569, 569), fmapSv != NULL);
fmapSv->setCurHY(val);
}
void lineInter0to1(f32, f32, f32) {}
void lineInter0to1ForU8(u8, u8, f32) {}
f32 lineInter0to1(f32 a, f32 b, f32 c) {
return a + (b - a) * c;
}
u8 lineInter0to1ForU8(u8 a, u8 b, f32 c) {
return a + (b - a) * c;
}
void setFont(JUTFont* font, JUTFont* rfont) {
mFont = font;
mRFont = rfont;
@@ -306,7 +310,7 @@ public:
bool _open_wallPaper();
int getButtonIconMode();
public:
private:
/* 0x0004 */ u8 padding_0x4[0x18 - 0x4];
/* 0x0018 */ ResTIMG * mChkPntTxt_p;
/* 0x001C */ dDlst_FMAP_c fmapDl;
@@ -347,7 +351,7 @@ public:
/* 0x34CC */ fopMsgM_pane_class mFmnPanes[15];
/* 0x3814 */ fopMsgM_pane_class mClgPane;
/* 0x384C */ fopMsgM_pane_class mSc2xPanes[7];
/* 0x39D4 */ fopMsgM_pane_class mR0xPanes[11];
/* 0x39D4 */ fopMsgM_pane_class mR0xPanes[DEMO_SELECT(10, 11)];
/* 0x3C3C */ fopMsgM_pane_class mStxxPanes[49];
/* 0x46F4 */ fopMsgM_pane_class mCk1xPanes[3];
/* 0x479C */ fopMsgM_pane_class mCk2xPanes[3];
@@ -377,7 +381,7 @@ public:
/* 0x4F44 */ fopMsgM_pane_class mGsPanes[7];
#endif
#if VERSION == VERSION_DEMO
u8 pad [0x340 + 8];
u8 pad [0x340 + 8 + 0x38];
#endif
/* 0x50CC */ STControl* stick;
/* 0x50D0 */ JUTFont* mFont;
@@ -435,8 +439,8 @@ public:
/* 0x517A */ u8 mFishmanTimer3;
/* 0x517B */ u8 mCheckMarkTimer;
/* 0x517C */ u8 mCheckMarkToggle;
/* 0x517D */ u8 field_0x517D;
/* 0x517E */ u8 field_0x517E;
/* 0x517D */ u8 mKorokMarkTimer;
/* 0x517E */ u8 mKorokMarkToggle;
/* 0x517F */ bool mFishmanActive;
/* 0x5180 */ u8 mSalvagePntIdx;
/* 0x5181 */ u8 mButtonIconMode;
@@ -448,11 +452,11 @@ public:
/* 0x5187 */ u8 padding_0x5187[0x518C-0x5187];
/* 0x518C */ char* mpKtx1String;
/* 0x5190 */ char* mpKtx2String;
/* 0x5194 */ JUtility::TColor mCk1Color;
/* 0x5194 */ JUtility::TColor mCk1Color1;
/* 0x5198 */ JUtility::TColor mCk1Color2;
/* 0x519C */ JUtility::TColor mKr0Color;
/* 0x519C */ JUtility::TColor mKr0Color1;
/* 0x51A0 */ JUtility::TColor mKr0Color2;
/* 0x51A4 */ JUtility::TColor mYs01Color;
/* 0x51A4 */ JUtility::TColor mYs01Color1;
/* 0x51A8 */ JUtility::TColor mYs01Color2;
#if VERSION > VERSION_JPN
/* 0x51AC */ bool mMoonAlphaActive;
@@ -543,12 +547,12 @@ public:
/* 0x0E0 */ u8 mCheckMarkAnimFrame;
/* 0x0E1 */ GXColor mCheckMarkWhite;
/* 0x0E5 */ GXColor mCheckMarkBlack;
/* 0x0E9 */ u8 field_0xE9;
/* 0x0EA */ GXColor field_0xEA;
/* 0x0EE */ GXColor field_0xEE;
/* 0x0E9 */ u8 mKorokMarkAnimFrame;
/* 0x0EA */ GXColor mKorokMarkAnimWhite;
/* 0x0EE */ GXColor mKorokMarkAnimBlack;
/* 0x0F2 */ u8 field_0xF2;
/* 0x0F3 */ GXColor mKorokWhite;
/* 0x0F7 */ GXColor mKorokBlack;
/* 0x0F3 */ GXColor mKorokMarkWhite;
/* 0x0F7 */ GXColor mKorokMarkBlack;
/* 0x0FB */ u8 field_0xFB;
/* 0x0FC */ GXColor mAreaTxtColor;
/* 0x100 */ GXColor mAreaTxtColorMain;
+14 -12
View File
@@ -1,8 +1,11 @@
#ifndef D_MENU_FMAP2_H
#define D_MENU_FMAP2_H
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "d/d_drawlist.h"
#include "d/d_menu_fmapSv.h"
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_hostIO.h"
struct fopMsgM_pane_class;
class J2DScreen;
@@ -10,6 +13,7 @@ class JUTFont;
struct ResTIMG;
class STControl;
class dDlst_2DOutFont_c;
class mDoDvdThd_mountArchive_c;
class dDlst_FMAP2GS_c : public dDlst_base_c {
public:
@@ -35,7 +39,7 @@ public:
void getCmapDatValue() {}
void lineInter0to1ForU8(u8, u8, f32) {}
void setAramCmapDat(aramCmapDat_c* i_ptr) { mpFmapDatPnt = i_ptr; }
void setSvPtr(dMenu_FmapSv_c*) {}
void setSvPtr(dMenu_FmapSv_c* i_ptr) { fmapSv = i_ptr; }
void _create();
void screenSet();
@@ -203,9 +207,9 @@ public:
fmapSv->setCmapSelNo(no);
}
public:
/* 0x0004 */ void* mChkPntTxt_p;
/* 0x0008 */ void* mCmapTxtMain_p[2];
private:
/* 0x0004 */ ResTIMG* mChkPntTxt_p;
/* 0x0008 */ ResTIMG* mCmapTxtMain_p[2];
/* 0x0010 */ dMenu_FmapSv_c* fmapSv;
/* 0x0014 */ u8 padding_0x14[0x18 - 0x14];
/* 0x0018 */ mDoDvdThd_mountArchive_c* field_0x18;
@@ -218,10 +222,8 @@ public:
/* 0x003C */ dDlst_2DOutFont_c* outFont[2];
/* 0x0044 */ dDlst_2DOutFont_c* outFontS[2];
/* 0x004C */ fopMsgM_pane_class mClPane;
/* 0x0084 */ fopMsgM_pane_class mFc0xPanes[4];
/* 0x0164 */ fopMsgM_pane_class mFc1xPanes[4];
/* 0x0244 */ fopMsgM_pane_class mCc0xPanes[4];
/* 0x0324 */ fopMsgM_pane_class mCc1xPanes[4];
/* 0x0084 */ fopMsgM_pane_class mFcxxPanes[8];
/* 0x0244 */ fopMsgM_pane_class mCcxxPanes[8];
/* 0x0404 */ fopMsgM_pane_class mKdmPane;
/* 0x043c */ fopMsgM_pane_class field_0x43c[5];
/* 0x0554 */ fopMsgM_pane_class field_0x554[17];
@@ -437,10 +439,8 @@ public:
/* 0x2824 */ JUtility::TColor color_0x2824;
/* 0x2828 */ JUtility::TColor color_0x2828;
/* 0x282C */ JUtility::TColor color_0x282C;
/* 0x2830 */ f32 field_0x2830;
/* 0x2834 */ f32 field_0x2834;
/* 0x2838 */ f32 field_0x2838;
/* 0x283C */ f32 field_0x283c;
/* 0x2830 */ J2DTextBox::TFontSize field_0x2830;
/* 0x2838 */ J2DTextBox::TFontSize field_0x2838;
/* 0x2840 */ f32 field_0x2840;
/* 0x2844 */ f32 field_0x2844;
/* 0x2848 */ u16 field_0x2848[2];
@@ -460,6 +460,8 @@ public:
dMf2_HIO_c();
virtual ~dMf2_HIO_c() {}
void genMessage(JORMContext* ctx) { UNUSED(ctx); }
/* 0x04 */ s8 mNo;
/* 0x05 */ u8 field_0x5;
/* 0x06 */ u8 field_0x6;
+12 -6
View File
@@ -39,7 +39,7 @@ public:
mNum = a_pat->num;
mpPnt = a_pat->pnt;
} else {
JUT_ASSERT(252, FALSE);
JUT_ASSERT(DEMO_SELECT(246, 252), FALSE);
}
}
void getAramCmapDatValue() {}
@@ -53,10 +53,14 @@ public:
}
pnt++;
}
if (i < mNum) {
return pnt;
}
return NULL;
// if (i < mNum) {
// return pnt;
// } else {
// pnt = NULL;
// }
// return pnt;
// Fakematch: Ternary is needed to match getGridNumToCmapDatPnt for demo, but doesn't match debug map size
return i < mNum ? pnt : NULL;
}
aramCmapDatPnt_t* getCmapDatPnt4(int i_cmapIdx) {
aramCmapDatPnt_t* pnt = mpPnt;
@@ -69,8 +73,10 @@ public:
}
if (i < mNum) {
return pnt;
} else {
pnt = NULL;
}
return NULL;
return pnt;
}
private:
+4 -4
View File
@@ -53,7 +53,7 @@ void J2DPane::initiate() {
mRotation = 0.0f;
mCullMode = GX_CULL_NONE;
mAlpha = 0xFF;
mInheritAlpha = TRUE;
mInfluencedAlpha = true;
mDrawAlpha = 0xFF;
mIsConnectParent = 0;
calcMtx();
@@ -106,9 +106,9 @@ void J2DPane::makePaneStream(J2DPane* pParentPane, JSURandomInputStream* pStream
size--;
}
mInheritAlpha = TRUE;
mInfluencedAlpha = true;
if (size != 0) {
mInheritAlpha = pStream->readU8() != 0;
mInfluencedAlpha = pStream->readU8() != 0;
size--;
}
@@ -175,7 +175,7 @@ void J2DPane::draw(f32 x, f32 y, const J2DGrafContext* pCtx, bool clip) {
}
mDrawAlpha = mAlpha;
if (mInheritAlpha)
if (mInfluencedAlpha)
mDrawAlpha = (mAlpha * pParentPane->mDrawAlpha) / 0xFF;
} else {
mGlobalBounds.addPos(x, y);
+9 -8
View File
@@ -358,7 +358,7 @@ void JKRExpHeap::do_freeAll() {
JKRHeap::callAllDisposer();
mHeadFreeList = (CMemBlock*)getStartAddr();
mTailFreeList = mHeadFreeList;
mHeadFreeList->initiate(NULL, NULL, getSize() - 0x10, 0, 0);
mHeadFreeList->initiate(NULL, NULL, getHeapSize() - 0x10, 0, 0);
mHeadUsedList = NULL;
mTailUsedList = NULL;
unlock();
@@ -1009,12 +1009,13 @@ static void dummy2() {
void JKRExpHeap::state_register(TState* p, u32 param_1) const {
JUT_ASSERT(VERSION_SELECT(2271, 2420, 2423, 2423), p != NULL);
JUT_ASSERT(VERSION_SELECT(2272, 2421, 2424, 2424), p->getHeap() == this);
p->mId = param_1;
getState_(p);
setState_u32ID_(p, param_1);
if (param_1 <= 0xff) {
p->mUsedSize = getUsedSize(param_1);
setState_uUsedSize_(p, getUsedSize(param_1));
} else {
s32 freeSize = const_cast<JKRExpHeap*>(this)->getTotalFreeSize();
p->mUsedSize = getSize() - freeSize;
setState_uUsedSize_(p, getUsedSize_(const_cast<JKRExpHeap*>(this)));
}
u32 checkCode = 0;
@@ -1028,18 +1029,18 @@ void JKRExpHeap::state_register(TState* p, u32 param_1) const {
checkCode += (u32)block * 3;
}
}
p->mCheckCode = checkCode;
setState_u32CheckCode_(p, checkCode);
}
/* 802B31D4-802B327C .text state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState */
bool JKRExpHeap::state_compare(const JKRHeap::TState& r1, const JKRHeap::TState& r2) const {
JUT_ASSERT(VERSION_SELECT(2319, 2468, 2471, 2471), r1.getHeap() == r2.getHeap());
bool result = true;
if (r1.mCheckCode != r2.mCheckCode) {
if (r1.getCheckCode() != r2.getCheckCode()) {
result = false;
}
if (r1.mUsedSize != r2.mUsedSize) {
if (r1.getUsedSize() != r2.getUsedSize()) {
result = false;
}
+4 -2
View File
@@ -125,6 +125,8 @@ void* JKRStdHeap::do_getMaxFreeBlock() {
void JKRStdHeap::state_register(JKRHeap::TState* p, u32 id) const {
JUT_ASSERT(370, p != NULL);
JUT_ASSERT(371, p->getHeap() == this);
getState_(p);
setState_u32ID_(p, id);
setState_uUsedSize_(p, 0);
setState_u32CheckCode_(p, 0);
@@ -134,11 +136,11 @@ void JKRStdHeap::state_register(JKRHeap::TState* p, u32 id) const {
bool JKRStdHeap::state_compare(const JKRHeap::TState& r1, const JKRHeap::TState& r2) const {
JUT_ASSERT(394, r1.getHeap() == r2.getHeap());
bool result = true;
if (r1.mCheckCode != r2.mCheckCode) {
if (r1.getCheckCode() != r2.getCheckCode()) {
result = false;
}
if (r1.mUsedSize != r2.mUsedSize) {
if (r1.getUsedSize() != r2.getUsedSize()) {
result = false;
}
+36 -37
View File
@@ -8,15 +8,22 @@
#include "d/d_stage.h"
#include "res/Object/Gkai00.h"
namespace daLStair_prm {
inline int getSwitchNo(daLStair_c* actor) { return fopAcM_GetParam(actor) & 0xFF; }
}
const char daLStair_c::m_arcname[] = "Gkai00";
/* 00000078-000000D4 .text _delete__10daLStair_cFv */
bool daLStair_c::_delete() {
if (heap != NULL) {
#if VERSION > VERSION_DEMO
if (heap != NULL)
#endif
{
dComIfG_Bgsp()->Release(mpBgW);
}
dComIfG_resDelete(&mPhase, m_arcname);
dComIfG_resDeleteDemo(&mPhase, m_arcname);
return TRUE;
}
@@ -29,7 +36,7 @@ static BOOL CheckCreateHeap(fopAc_ac_c* i_this) {
/* 000000F4-000004F8 .text CreateHeap__10daLStair_cFv */
BOOL daLStair_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BDL_GKAI00_e);
JUT_ASSERT(0xD8, modelData != NULL);
JUT_ASSERT(DEMO_SELECT(209, 216), modelData != NULL);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000223);
if (mpModel == NULL) {
@@ -37,35 +44,35 @@ BOOL daLStair_c::CreateHeap() {
}
J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BCK_GKAI00_e);
JUT_ASSERT(0xE9, pbck != NULL);
JUT_ASSERT(DEMO_SELECT(226, 233), pbck != NULL);
if (!mBckAnm.init(modelData, pbck, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false)) {
return FALSE;
}
J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BTK_GKAI00_e);
JUT_ASSERT(0xF4, pbtk != NULL);
JUT_ASSERT(DEMO_SELECT(237, 244), pbtk != NULL);
if (!mBtkAnm.init(modelData, pbtk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0)) {
return FALSE;
}
J3DAnmColor* pbpk = (J3DAnmColor*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BPK_GKAI00_01_e);
JUT_ASSERT(0xFF, pbpk != NULL);
JUT_ASSERT(DEMO_SELECT(248, 255), pbpk != NULL);
if (!mBpkAnm0.init(modelData, pbpk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0)) {
return FALSE;
}
pbpk = (J3DAnmColor*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BPK_GKAI00_02_e);
JUT_ASSERT(0x10A, pbpk != NULL);
JUT_ASSERT(DEMO_SELECT(259, 266), pbpk != NULL);
if (!mBpkAnm1.init(modelData, pbpk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0)) {
return FALSE;
}
J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BRK_GKAI00_e);
JUT_ASSERT(0x116, pbrk != NULL);
JUT_ASSERT(DEMO_SELECT(271, 278), pbrk != NULL);
if (!mBrkAnm.init(modelData, pbrk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0)) {
return FALSE;
@@ -87,11 +94,11 @@ BOOL daLStair_c::CreateHeap() {
/* 000004F8-00000638 .text CreateInit__10daLStair_cFv */
void daLStair_c::CreateInit() {
cullMtx = mpModel->getBaseTRMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeBox(this, -200.0f, -300.0f, -100.0f, 200.0f, 100.0f, 700.0f);
cullSizeFar = 1.5f;
mSwitchNo = fopAcM_GetParam(this) & 0xFF;
mSwitchStatus = dComIfGs_isSwitch(mSwitchNo, fopAcM_GetHomeRoomNo(this)) != 0;
fopAcM_setCullSizeFar(this, 1.5f);
mSwitchNo = daLStair_prm::getSwitchNo(this);
mSwitchStatus = fopAcM_isSwitch(this, mSwitchNo);
mEnemyGone = fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) == NULL;
mEventIdx = dComIfGp_evmng_getEventIdx("STAIRAPPEAR", 0xFF);
mStairYOffset = -330.0f;
@@ -140,24 +147,20 @@ void daLStair_c::set_mtx() {
/* 00000998-00000A1C .text setMoveBGMtx__10daLStair_cFv */
void daLStair_c::setMoveBGMtx() {
f32 y = current.pos.y;
f32 h = mStairYOffset;
f32 c = -300.0f;
f32 f3 = -300.0f;
mDoMtx_stack_c::transS(
current.pos.x,
h + (y + c),
current.pos.y + f3 + mStairYOffset,
current.pos.z
);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::scaleM(scale.x, scale.y, scale.z);
mDoMtx_copy(mDoMtx_stack_c::get(), mBgMtx);
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
}
/* 00000A1C-00000ACC .text _execute__10daLStair_cFv */
bool daLStair_c::_execute() {
bool switch_status = dComIfGs_isSwitch(mSwitchNo, fopAcM_GetHomeRoomNo(this));
bool switch_status = fopAcM_isSwitch(this, mSwitchNo);
bool enemy_gone = fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) == NULL;
checkAppear();
@@ -195,10 +198,7 @@ void daLStair_c::demoMove() {
/* 00000B8C-00000C88 .text checkAppear__10daLStair_cFv */
void daLStair_c::checkAppear() {
bool switch_status = dComIfGs_isSwitch(
mSwitchNo,
fopAcM_GetHomeRoomNo(this)
);
bool switch_status = fopAcM_isSwitch(this, mSwitchNo);
bool enemy_gone = fopAcM_myRoomSearchEnemy(current.roomNo) == NULL;
if (mSwitchNo != 0xFF) {
@@ -230,9 +230,11 @@ void daLStair_c::checkAppear() {
/* 00000C88-00000D78 .text moveBG__10daLStair_cFv */
void daLStair_c::moveBG() {
bool switch_status = dComIfGs_isSwitch(mSwitchNo, home.roomNo);
bool switch_status = fopAcM_isSwitch(this, mSwitchNo);
bool enemy_gone = fopAcM_myRoomSearchEnemy(current.roomNo) == NULL;
f32 maxStep = 10.0f;
f32 minStep = 5.0f;
f32 target;
if ((mSwitchNo != 0xFF && switch_status) ||
(mSwitchNo == 0xFF && enemy_gone)) {
@@ -243,7 +245,8 @@ void daLStair_c::moveBG() {
if (mAppearTimer < 0) {
if (cLib_calcTimer(&mTimer) == 0) {
cLib_addCalc(&mStairYOffset, target, 1.0f / 60.0f, 10.0f, 5.0f);
int r0 = 60;
cLib_addCalc(&mStairYOffset, target, 1.0f / r0, maxStep, minStep);
}
}
@@ -264,8 +267,8 @@ void daLStair_c::appear_stair() {
);
mDoMtx_stack_c::YrotM(current.angle.y);
PSMTXMultVec(mDoMtx_stack_c::get(), &local_2c, &local_2c);
PSMTXMultVec(mDoMtx_stack_c::get(), &local_38, &local_38);
mDoMtx_stack_c::multVec(&local_2c, &local_2c);
mDoMtx_stack_c::multVec(&local_38, &local_38);
local_20.y -= 300.0f;
@@ -307,7 +310,7 @@ void daLStair_c::disappear_stair() {
/* 0000103C-000010D4 .text set_on_se__10daLStair_cFv */
void daLStair_c::set_on_se() {
stage_stag_info_class* stage_info = dComIfGp_getStage().getStagInfo();
stage_stag_info_class* stage_info = dComIfGp_getStageStagInfo();
if ((dStage_stagInfo_GetSaveTbl(stage_info)) == dStageType_FF1_e) {
fopAcM_seStart(this, JA_SE_OBJ_R_STAIR_APPEAR, 0);
@@ -333,14 +336,10 @@ inline BOOL daLStair_c::_draw() {
g_env_light.settingTevStruct(TEV_TYPE_BG0, &current.pos, &tevStr);
g_env_light.setLightTevColorType(mpModel, &tevStr);
J3DModelData* modelData = mpModel->getModelData();
mBtkAnm.entry(modelData, mBtkAnm.getFrame());
modelData = mpModel->getModelData();
mBpkAnm0.entry(modelData, mBpkAnm0.getFrame());
modelData = mpModel->getModelData();
mBpkAnm1.entry(modelData, mBpkAnm1.getFrame());
modelData = mpModel->getModelData();
mBrkAnm.entry(modelData, mBrkAnm.getFrame());
mBtkAnm.entry(mpModel->getModelData());
mBpkAnm0.entry(mpModel->getModelData());
mBpkAnm1.entry(mpModel->getModelData());
mBrkAnm.entry(mpModel->getModelData());
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
+1 -1
View File
@@ -100,7 +100,7 @@ dAttention_c::dAttention_c(fopAc_ac_c* i_player, u32 i_padNo) {
mDoExt_restoreCurrentHeap();
if (mDoExt_adjustSolidHeap(heap) >= 0)
DCStoreRangeNoSync(heap->getStartAddr(), heap->getSize());
DCStoreRangeNoSync(heap->getStartAddr(), heap->getHeapSize());
field_0x028 = -1;
mFlags = 0;
+18 -10
View File
@@ -78,6 +78,12 @@ void dFile_error_c::_delete() {
MyScreen::~MyScreen() {
}
#if VERSION == VERSION_DEMO
void dFile_error_c::_deleteSp() {
mDoHIO_deleteChild(g_feHIO.mNo);
}
#endif
/* 8017DF04-8017E010 .text setErrMessage__13dFile_error_cFUli */
void dFile_error_c::setErrMessage(u32 msgNo, int param_2) {
m2fa = (u8) param_2;
@@ -123,7 +129,7 @@ void dFile_error_c::closeMessage() {
/* 8017E068-8017E228 .text resizeMsgBoard__13dFile_error_cFi */
void dFile_error_c::resizeMsgBoard(int param_1) {
J2DPane *pane_2_pane = msgPanes[2].pane;
f32 pane_2_height = pane_2_pane->mBounds.getHeight();
f32 pane_2_height = pane_2_pane->getHeight();
f32 scale = ((pane_2_height / VERSION_SELECT(9.0f, 9.0f, 12.0f, 12.0f)) * (f32) param_1) / pane_2_height;
fopMsgM_paneScaleY(&msgPanes[2], scale);
@@ -191,8 +197,8 @@ void dFile_error_c::setMessage(char* message) {
while (*message != '\0') {
if (*message == '\x1a') {
m2f7 = 1;
msgPanes[0].pane->mVisible = true;
msgPanes[1].pane->mVisible = true;
msgPanes[0].pane->show();
msgPanes[1].pane->show();
message ++;
for (int i = 0; i < in_r9; i ++) {
@@ -232,7 +238,9 @@ int dFile_error_c::getLineCount(char* text) {
text ++;
}
return line_count + 1;
line_count++;
return line_count;
}
typedef void(dFile_error_c::*procFunc)();
@@ -379,8 +387,8 @@ void dFile_error_c::yesNoSelectWait() {
mDoAud_seStart(JA_SE_MSEL_CANCEL_1);
}
msgPanes[0].pane->mVisible = false;
msgPanes[1].pane->mVisible = false;
msgPanes[0].pane->hide();
msgPanes[1].pane->hide();
m2fe = 0;
mState = 2;
@@ -524,8 +532,8 @@ void dFile_error_c::screenSet() {
search_result = fileErr.Scr->search('cur2');
fopMsgM_setPaneData(&msgPanes[1], search_result);
mPane0Rotation = msgPanes[0].pane->mRotation;
mPane1Rotation = msgPanes[1].pane->mRotation;
mPane0Rotation = msgPanes[0].pane->getRotate();
mPane1Rotation = msgPanes[1].pane->getRotate();
int i;
int id_1 = 'cc00';
@@ -656,8 +664,8 @@ void dFile_error_c::paneTransInit() {
PaneTranceBase(m2fe, g_feHIO.m8, (f32) g_feHIO.m6, 0.0, 0.0, 0.0, 1, 1);
msgPanes[0].pane->mVisible = false;
msgPanes[1].pane->mVisible = false;
msgPanes[0].pane->hide();
msgPanes[1].pane->hide();
}
/* 8017F3E0-8017F3FC .text displayInit__13dFile_error_cFv */
+6 -38
View File
@@ -207,7 +207,7 @@ void dMenu_Collect_c::screenSet() {
fopMsgM_setPaneData(&m7E8, scrn, 'nk00');
fopMsgM_setPaneData(&m820, scrn, 'no11');
m820.mUserArea = m820.pane->mRotation;
m820.mUserArea = m820.pane->getRotate();
if (m820.mUserArea > 180)
m820.mUserArea -= 360;
@@ -1802,53 +1802,21 @@ void dMenu_Collect_c::itemScale() {
if (now == 3) {
m2478->insertChild(m1498[0].pane, m1738.pane);
fopMsgM_paneScaleXY(&m1738, g_menuHIO.field_0x8);
J2DPane* pane = m1738.pane;
float y = m1738.mSize.y / 2.0f;
float x = m1738.mSize.x / 2.0f;
pane->mBasePosition.x = x;
pane->mBasePosition.y = y;
pane->mRotationAxis = ROTATE_Z;
pane->calcMtx();
m1738.pane->rotate(m1738.mSize.x / 2.0f, m1738.mSize.y / 2.0f, ROTATE_Z, m1738.pane->getRotate());
} else {
m2478->insertChild(m15E8[5].pane, m1738.pane);
fopMsgM_paneScaleXY(&m1738, 1.0f);
J2DPane* pane = m1738.pane;
float y = m1738.mSize.y / 2.0f;
float x = m1738.mSize.x / 2.0f;
pane->mBasePosition.x = x;
pane->mBasePosition.y = y;
pane->mRotationAxis = ROTATE_Z;
pane->calcMtx();
m1738.pane->rotate(m1738.mSize.x / 2.0f, m1738.mSize.y / 2.0f, ROTATE_Z, m1738.pane->getRotate());
}
if (now == 4) {
m2478->insertChild(m1498[0].pane, m1770.pane);
fopMsgM_paneScaleXY(&m1770, g_menuHIO.field_0x8);
J2DPane* pane = m1770.pane;
float y = m1770.mSize.y / 2.0f;
float x = m1770.mSize.x / 2.0f;
pane->mBasePosition.x = x;
pane->mBasePosition.y = y;
pane->mRotationAxis = ROTATE_Z;
pane->calcMtx();
m1770.pane->rotate(m1770.mSize.x / 2.0f, m1770.mSize.y / 2.0f, ROTATE_Z, m1770.pane->getRotate());
} else {
m2478->insertChild(m15E8[5].pane, m1770.pane);
fopMsgM_paneScaleXY(&m1770, 1.0f);
J2DPane* pane = m1770.pane;
float y = m1770.mSize.y / 2.0f;
float x = m1770.mSize.x / 2.0f;
pane->mBasePosition.x = x;
pane->mBasePosition.y = y;
pane->mRotationAxis = ROTATE_Z;
pane->calcMtx();
m1770.pane->rotate(m1770.mSize.x / 2.0f, m1770.mSize.y / 2.0f, ROTATE_Z, m1770.pane->getRotate());
}
break;
@@ -3495,7 +3463,7 @@ void dMenu_Collect_c::outFontMove() {
f32 rotOffX = m820.mPosCenter.x - m3F8[i].mPosTopLeft.x;
f32 rotOffY = m820.mPosCenter.y - m3F8[i].mPosTopLeft.y;
m3F8[i].pane->rotate(rotOffX, rotOffY, ROTATE_Z, m820.pane->mRotation);
m3F8[i].pane->rotate(rotOffX, rotOffY, ROTATE_Z, m820.pane->getRotate());
} else {
fopMsgM_setNowAlphaZero(&m0B0[i]);
}
+1 -4
View File
@@ -341,10 +341,7 @@ void dMenu_Dmap_c::screenSet() {
mMpp1SizeX = mpp1pane.mSizeOrig.x;
mMpp1SizeY = mpp1pane.mSizeOrig.y;
f32 h = scrn->search('mpp2')->getHeight();
J2DPane* p2 = scrn->search('mpp2');
J2DPane* p1 = scrn->search('mpp1');
mMppGapY = p1->mBounds.i.y - (p2->mBounds.i.y + h);
mMppGapY = scrn->search('mpp1')->getBounds().i.y - (scrn->search('mpp2')->getBounds().i.y + scrn->search('mpp2')->getHeight());
}
/* 801A92D4-801A9364 .text dMap_isBossDoor__FP21stage_tgsc_data_class */
+168 -93
View File
@@ -148,24 +148,24 @@ dMf_HIO_c::dMf_HIO_c() {
mCheckMarkBlack.r = 255;
mCheckMarkBlack.g = 255;
mCheckMarkBlack.b = 255;
field_0xE9 = 50;
field_0xEE.r = 255;
field_0xEE.g = 64;
field_0xEE.b = 0;
field_0xEE.a = 0;
field_0xEA.r = 0;
field_0xEA.g = 0;
field_0xEA.b = 0;
field_0xEA.a = 255;
mKorokMarkAnimFrame = 50;
mKorokMarkAnimBlack.r = 255;
mKorokMarkAnimBlack.g = 64;
mKorokMarkAnimBlack.b = 0;
mKorokMarkAnimBlack.a = 0;
mKorokMarkAnimWhite.r = 0;
mKorokMarkAnimWhite.g = 0;
mKorokMarkAnimWhite.b = 0;
mKorokMarkAnimWhite.a = 255;
field_0xF2 = 192;
mKorokBlack.r = 0;
mKorokBlack.g = 64;
mKorokBlack.b = 0;
mKorokBlack.a = 0;
mKorokWhite.r = 0;
mKorokWhite.g = 129;
mKorokWhite.b = 0;
mKorokWhite.a = 255;
mKorokMarkBlack.r = 0;
mKorokMarkBlack.g = 64;
mKorokMarkBlack.b = 0;
mKorokMarkBlack.a = 0;
mKorokMarkWhite.r = 0;
mKorokMarkWhite.g = 129;
mKorokMarkWhite.b = 0;
mKorokMarkWhite.a = 255;
field_0xFB = 128;
mAreaTxtColor.r = 136;
mAreaTxtColor.g = 50;
@@ -479,7 +479,7 @@ void dMenu_Fmap_c::screenSet() {
}
fopMsgM_setPaneData(&mCk3xPanes[0], fmapDl.scrn, 'CK31');
fopMsgM_setPaneData(&mCk3xPanes[1], fmapDl.scrn, 'CK32');
mCk1Color.set(((J2DPicture*)mCk1xPanes[0].pane)->getBlack());
mCk1Color1.set(((J2DPicture*)mCk1xPanes[0].pane)->getBlack());
mCk1Color2.set(((J2DPicture*)mCk1xPanes[0].pane)->getWhite());
for (i = 0; i < 8; i++) {
@@ -488,10 +488,10 @@ void dMenu_Fmap_c::screenSet() {
};
fopMsgM_setPaneData(&mKr0xPanes[i], fmapDl.scrn, tagkr[i]);
}
mKr0Color.set(((J2DPicture*)mKr0xPanes[0].pane)->getBlack());
mKr0Color1.set(((J2DPicture*)mKr0xPanes[0].pane)->getBlack());
mKr0Color2.set(((J2DPicture*)mKr0xPanes[0].pane)->getWhite());
for (i = 0; i < 11; i++) {
for (i = 0; i < ARRAY_SSIZE(mR0xPanes); i++) {
static const u32 l_island[] = {
'R01', 'R04', 'R0B', 'R0D', 'R14', 'R17',
#if VERSION > VERSION_DEMO
@@ -556,7 +556,7 @@ void dMenu_Fmap_c::screenSet() {
((J2DTextBox*)mWt1Pane.pane)->setFont(mRFont);
mYs01Color2.set(((J2DPicture*)mYs01Pane.pane)->getWhite());
mYs01Color.set(((J2DPicture*)mYs01Pane.pane)->getBlack());
mYs01Color1.set(((J2DPicture*)mYs01Pane.pane)->getBlack());
#if VERSION > VERSION_JPN
((J2DTextBox*)mWt0Pane.pane)->setBlack(JUtility::TColor(0xffffff00));
@@ -675,6 +675,9 @@ void dMenu_Fmap_c::initialize() {
mPlayerChkPntNo = dMap_getCheckPointUseGrid(mGridX, mGridY);
mWnd1Pane.mUserArea = 0;
checkMarkAnimeInit();
#if VERSION == VERSION_DEMO
krogMarkAnimeInit();
#endif
mAreaTxtBufIdx = 0;
mAreaTxtTimer = 0;
mAreaTxtChanging = false;
@@ -725,7 +728,7 @@ void dMenu_Fmap_c::displayinit() {
setPaneOnOff(fmapDl.scrn, hist[i], !dComIfGs_isSaveArriveGrid(i));
}
for (i = 0; i < 11; i++) {
for (i = 0; i < ARRAY_SSIZE(mR0xPanes); i++) {
static int islandPos[] = {
dIsleRoom_ForsakenFortress_e,
dIsleRoom_GaleIsle_e,
@@ -771,7 +774,7 @@ void dMenu_Fmap_c::displayinit() {
#if VERSION > VERSION_JPN
gShipMarkAnimeInit();
#endif
mFmap2.fmapSv = fmapSv;
mFmap2.setSvPtr(fmapSv);
mFmap2._create();
mFmap2.setAramCmapDat(&mCmapDatPnt);
mFmap2.initialize();
@@ -875,8 +878,8 @@ void dMenu_Fmap_c::dispEndSalvageMark() {
fopMsgM_pane_class pane;
fopMsgM_setPaneData(&pane, fmapDl.scrn, hist[i]);
f32 y = pnt->salvagePnt[mSalvagePntIdx].y;
f32 x = pnt->salvagePnt[mSalvagePntIdx].x;
f32 y = pnt->salvagePnt[mSalvagePntIdx].y;
mStxxPanes[i].mPosCenterOrig.x = pane.mPosCenterOrig.x + x * 56.0f / 100000.0f;
mStxxPanes[i].mPosCenterOrig.y = pane.mPosCenterOrig.y + y * 56.0f / 100000.0f;
mStxxPanes[i].mPosCenter.x = mStxxPanes[i].mPosCenterOrig.x;
@@ -907,11 +910,21 @@ void dMenu_Fmap_c::checkMarkCheck1() {
mCk1xPanes[1].pane->show();
}
#if VERSION > VERSION_DEMO
if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_1E80)) {
mCk1xPanes[1].pane->hide();
}
#endif
if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_3920)) {
#if VERSION == VERSION_DEMO
if (dComIfGs_isSymbol(dSymbol_NAYRU_e))
#else
if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_3920))
#endif
{
#if VERSION == VERSION_DEMO
mCk1xPanes[1].pane->hide();
#endif
if (dComIfGs_isEventBit(dSv_event_flag_c::PLACED_DINS_PEARL)) {
mCk2xPanes[0].pane->hide();
} else {
@@ -955,7 +968,16 @@ void dMenu_Fmap_c::checkMarkCheck3() {
bool stat = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0102) ||
((dComIfGs_getEventReg(dSv_event_flag_c::UNK_9EFF) & 0xFF) >> bit & 1);
if (stat != 0) {
((J2DPicture*)mKr0xPanes[i].pane)->setBlackWhite(g_mfHIO.mKorokBlack, g_mfHIO.mKorokWhite);
((J2DPicture*)mKr0xPanes[i].pane)->setBlackWhite(g_mfHIO.mKorokMarkBlack, g_mfHIO.mKorokMarkWhite);
#if VERSION == VERSION_DEMO
mKr0xPanes[i].mInitAlpha = g_mfHIO.field_0xFB;
mKr0xPanes[i].mNowAlpha = g_mfHIO.field_0xFB;
#endif
} else {
#if VERSION == VERSION_DEMO
mKr0xPanes[i].mInitAlpha = g_mfHIO.field_0xF2;
mKr0xPanes[i].mNowAlpha = g_mfHIO.field_0xF2;
#endif
}
((J2DPicture*)mKr0xPanes[i].pane)->changeTexture(korogStat[stat], 0);
@@ -996,8 +1018,9 @@ void dMenu_Fmap_c::setPaneOnOff(J2DScreen* i_screen, u32 i_arg2, bool i_arg3) {
/* 801B1978-801B19F0 .text childPaneMoveSp__12dMenu_Fmap_cFP18fopMsgM_pane_classP18fopMsgM_pane_classfff */
void dMenu_Fmap_c::childPaneMoveSp(fopMsgM_pane_class* i_pane1, fopMsgM_pane_class* i_pane2, f32 i_scale, f32 i_x, f32 i_y) {
f32 xSize = i_pane2->mSize.x / 2.0f;
f32 ySize = i_pane2->mSize.y / 2.0f;
i_pane1->mPosCenter.x = i_pane2->mSize.x / 2.0f + i_scale * (i_pane1->mPosCenterOrig.x - i_pane2->mSizeOrig.x / 2.0f);
i_pane1->mPosCenter.x = xSize + i_scale * (i_pane1->mPosCenterOrig.x - i_pane2->mSizeOrig.x / 2.0f);
i_pane1->mPosCenter.y = ySize + i_scale * (i_pane1->mPosCenterOrig.y - i_pane2->mSizeOrig.y / 2.0f);
fopMsgM_paneScale(i_pane1, i_x, i_y);
}
@@ -1339,14 +1362,14 @@ void dMenu_Fmap_c::checkMarkAnime() {
alpha = 1.0f - alpha;
}
white.r = g_mfHIO.mCheckMarkWhite.r + alpha * (mCk1Color2.r - g_mfHIO.mCheckMarkWhite.r);
white.g = g_mfHIO.mCheckMarkWhite.g + alpha * (mCk1Color2.g - g_mfHIO.mCheckMarkWhite.g);
white.b = g_mfHIO.mCheckMarkWhite.b + alpha * (mCk1Color2.b - g_mfHIO.mCheckMarkWhite.b);
white.r = lineInter0to1ForU8(g_mfHIO.mCheckMarkWhite.r, mCk1Color2.r, alpha);
white.g = lineInter0to1ForU8(g_mfHIO.mCheckMarkWhite.g, mCk1Color2.g, alpha);
white.b = lineInter0to1ForU8(g_mfHIO.mCheckMarkWhite.b, mCk1Color2.b, alpha);
white.a = mCk1Color2.a;
black.r = g_mfHIO.mCheckMarkBlack.r + alpha * (mCk1Color.r - g_mfHIO.mCheckMarkBlack.r);
black.g = g_mfHIO.mCheckMarkBlack.g + alpha * (mCk1Color.g - g_mfHIO.mCheckMarkBlack.g);
black.b = g_mfHIO.mCheckMarkBlack.b + alpha * (mCk1Color.b - g_mfHIO.mCheckMarkBlack.b);
black.a = mCk1Color.a;
black.r = lineInter0to1ForU8(g_mfHIO.mCheckMarkBlack.r, mCk1Color1.r, alpha);
black.g = lineInter0to1ForU8(g_mfHIO.mCheckMarkBlack.g, mCk1Color1.g, alpha);
black.b = lineInter0to1ForU8(g_mfHIO.mCheckMarkBlack.b, mCk1Color1.b, alpha);
black.a = mCk1Color1.a;
if (mCheckMarkTimer == 0) {
mCheckMarkTimer = g_mfHIO.mCheckMarkAnimFrame;
@@ -1366,15 +1389,20 @@ void dMenu_Fmap_c::checkMarkAnime() {
for (int i = 0; i < 2; i++) {
if (mCk3xPanes[i].pane->isVisible()) {
#if VERSION == VERSION_DEMO
// @bug Bad copy paste, sets ck1x again
((J2DPicture*)mCk1xPanes[i].pane)->setBlackWhite(black, white);
#else
((J2DPicture*)mCk3xPanes[i].pane)->setBlackWhite(black, white);
#endif
}
}
}
#if VERSION == VERSION_DEMO
void dMenu_Fmap_c::krogMarkAnimeInit() {
field_0x517D = g_mfHIO.field_0xE9;
field_0x517E = 1;
mKorokMarkTimer = g_mfHIO.mKorokMarkAnimFrame;
mKorokMarkToggle = 1;
}
#endif
@@ -1393,20 +1421,20 @@ void dMenu_Fmap_c::krogMarkAnime() {
alpha = 1.0f - alpha;
}
white.r = g_mfHIO.mCheckMarkWhite.r + alpha * (mCk1Color2.r - g_mfHIO.mCheckMarkWhite.r);
white.g = g_mfHIO.mCheckMarkWhite.g + alpha * (mCk1Color2.g - g_mfHIO.mCheckMarkWhite.g);
white.b = g_mfHIO.mCheckMarkWhite.b + alpha * (mCk1Color2.b - g_mfHIO.mCheckMarkWhite.b);
white.r = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimWhite.r, mKr0Color2.r, alpha);
white.g = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimWhite.g, mKr0Color2.g, alpha);
white.b = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimWhite.b, mKr0Color2.b, alpha);
white.a = mCk1Color2.a;
black.r = g_mfHIO.mCheckMarkBlack.r + alpha * (mCk1Color.r - g_mfHIO.mCheckMarkBlack.r);
black.g = g_mfHIO.mCheckMarkBlack.g + alpha * (mCk1Color.g - g_mfHIO.mCheckMarkBlack.g);
black.b = g_mfHIO.mCheckMarkBlack.b + alpha * (mCk1Color.b - g_mfHIO.mCheckMarkBlack.b);
black.a = mCk1Color.a;
black.r = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimBlack.r, mKr0Color1.r, alpha);
black.g = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimBlack.g, mKr0Color1.g, alpha);
black.b = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimBlack.b, mKr0Color1.b, alpha);
black.a = mCk1Color1.a;
if (mCheckMarkTimer == 0) {
mCheckMarkTimer = g_mfHIO.mCheckMarkAnimFrame;
mCheckMarkToggle ^= 1;
if (mKorokMarkTimer == 0) {
mKorokMarkTimer = g_mfHIO.mKorokMarkAnimFrame;
mKorokMarkToggle ^= 1;
} else {
mCheckMarkTimer--;
mKorokMarkTimer--;
}
for (int i = 0; i < 8; i++) {
@@ -1734,15 +1762,20 @@ void dMenu_Fmap_c::checkDspHugeMapShip() {
if (!mFishmanActive) {
mSpi3Pane.pane->hide();
mDspHugeMapShip = false;
} else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) == 0
} else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) == 0
&& mTargetGridX == getCtCurX()
&& mTargetGridY == getCtCurY()) {
&& mTargetGridY == getCtCurY()
) {
#if VERSION == VERSION_DEMO
mDspHugeMapShip = true;
#else
if (mShipOpenWater) {
mDspHugeMapShip = false;
mSpi3Pane.pane->hide();
} else {
mDspHugeMapShip = true;
}
#endif
} else {
mSpi3Pane.pane->hide();
mDspHugeMapShip = false;
@@ -1752,9 +1785,11 @@ void dMenu_Fmap_c::checkDspHugeMapShip() {
/* 801B4B44-801B4C0C .text _open__12dMenu_Fmap_cFv */
bool dMenu_Fmap_c::_open() {
BOOL ret;
#if VERSION > VERSION_DEMO
if (mFrameTimer == 0) {
mButtonIconMode = FMAP_BTN_ICON_WORLD;
}
#endif
if (mZoomLocked) {
ret = TRUE;
} else {
@@ -1763,6 +1798,9 @@ bool dMenu_Fmap_c::_open() {
}
if (ret == TRUE) {
mFrameTimer = 0;
#if VERSION == VERSION_DEMO
mButtonIconMode = FMAP_BTN_ICON_WORLD;
#endif
return true;
}
return false;
@@ -1976,7 +2014,9 @@ void dMenu_Fmap_c::zoomMapAlphaSet(s8 i_gridX, s8 i_gridY, fopMsgM_pane_class* i
} else {
i_pane->mInitAlpha = 0xFF;
}
#if VERSION > VERSION_DEMO
i_pane->mInitAlpha = 0xFF;
#endif
fopMsgM_setAlpha(i_pane);
}
@@ -2019,9 +2059,9 @@ void dMenu_Fmap_c::ZoomGridLv1Proc() {
mDispIslandPosY * (mClgPane.mSizeOrig.y / 100000.0f), 0.0, 0.0,
mTsw1Pane.mSizeOrig.x / clgOrigX, 1.0, 0x2, 0);
for (int i = 0; i < 8; i++) {
mKk3xPanes[i].pane->mInheritAlpha = false;
mKk3xPanes[i].pane->setInfluencedAlpha(false);
}
mR01bPane.pane->mInheritAlpha = false;
mR01bPane.pane->setInfluencedAlpha(false);
mFrameTimer = 0;
mFmapProcIdx = FMAP_ZOOM_PROC_LV2_IN;
}
@@ -2085,8 +2125,22 @@ void dMenu_Fmap_c::ZoomGridLv2In() {
mFrameTimer++;
if (zoom2 == TRUE && alpha == TRUE) {
mFrameTimer = 0;
mDspHugeMapLink ? mLnk3Pane.pane->show() : mLnk3Pane.pane->hide();
mDspHugeMapShip ? mSpi3Pane.pane->show() : mSpi3Pane.pane->hide();
if (mDspHugeMapLink) {
mLnk3Pane.pane->show();
}
#if VERSION > VERSION_DEMO
else {
mLnk3Pane.pane->hide();
}
#endif
if (mDspHugeMapShip) {
mSpi3Pane.pane->show();
}
#if VERSION > VERSION_DEMO
else {
mSpi3Pane.pane->hide();
}
#endif
mFmapProcIdx = FMAP_ZOOM_PROC_LV2;
}
}
@@ -2128,9 +2182,9 @@ void dMenu_Fmap_c::ZoomGridLv2Out() {
}
mClgPane.pane->hide();
for (int i = 0; i < 8; i++) {
mKk3xPanes[i].pane->mInheritAlpha = true;
mKk3xPanes[i].pane->setInfluencedAlpha(true);
}
mR01bPane.pane->mInheritAlpha = true;
mR01bPane.pane->setInfluencedAlpha(true);
mFrameTimer = 0;
mFmapProcIdx = FMAP_ZOOM_PROC_LV1;
}
@@ -2358,11 +2412,17 @@ BOOL dMenu_Fmap_c::paneTranceZoom2Map(s16 i_frame, u8 i_max, f32 i_transStartX,
return TRUE;
}
f32 scale;
f32 alpha = fopMsgM_valueIncrease(i_max, i_frame, i_mode);
f32 scaleAdj = alpha * (i_scaleEnd - i_scaleStart);
fopMsgM_paneTrans(&mClgPane, i_transStartX + alpha * (i_transEndX - i_transStartX), i_transStartY + alpha * (i_transEndY - i_transStartY));
f32 transXRange = i_transEndX - i_transStartX;
f32 transYRange = i_transEndY - i_transStartY;
f32 scaleRange = i_scaleEnd - i_scaleStart;
f32 transXAdj = alpha * transXRange;
f32 transYAdj = alpha * transYRange;
f32 scaleAdj = alpha * scaleRange;
fopMsgM_paneTrans(&mClgPane, i_transStartX + transXAdj, i_transStartY + transYAdj);
fopMsgM_paneScaleXY(&mClgPane, i_scaleStart + scaleAdj);
f32 scale = i_scaleStart + scaleAdj;
scale = i_scaleStart + scaleAdj;
if (i_flag == 1) {
alpha = 1.0f - alpha;
@@ -2532,6 +2592,9 @@ bool dMenu_Fmap_c::_open_warpMode() {
mWrapSpotEmitters[i]->playDrawParticle();
}
mWrapBackEmitter->clearStatus(JPAEmtrStts_StopDraw);
#if VERSION == VERSION_DEMO
mButtonIconMode = FMAP_BTN_ICON_WARP;
#endif
mWarpProcIdx = WARP_PROC_MOVE;
return true;
}
@@ -2571,14 +2634,13 @@ void dMenu_Fmap_c::init_warpMode() {
setWrapBackEmitter(backEmitter);
mWrapBackEmitter->setStatus(JPAEmtrStts_StopDraw);
int i = 0;
for (; i < DEMO_SELECT(8, FMAP_WARP_COUNT); i++) {
// !@bug Demo iterates 8 times instead of 7, accessing out of bounds of these three arrays.
spotEmitter.x = g_mfHIO.mWarpSpotPosX[i];
spotEmitter.y = g_mfHIO.mWarpSpotPosY[i];
int i = DEMO_SELECT(1, 0);
for (; i < FMAP_WARP_COUNT + DEMO_SELECT(1, 0); i++) {
spotEmitter.x = g_mfHIO.mWarpSpotPosX[i-DEMO_SELECT(1, 0)];
spotEmitter.y = g_mfHIO.mWarpSpotPosY[i-DEMO_SELECT(1, 0)];
spotEmitter.z = 0.0f;
setWrapSpotEmitter(i, spotEmitter);
mWrapSpotEmitters[i]->stopDrawParticle();
setWrapSpotEmitter(i-DEMO_SELECT(1, 0), spotEmitter);
mWrapSpotEmitters[i-DEMO_SELECT(1, 0)]->stopDrawParticle();
}
areaTextChangeAnimeInit();
@@ -2624,6 +2686,9 @@ void dMenu_Fmap_c::wrapMove() {
if (CPad_CHECK_TRIG_A(0)) {
mDoAud_seStart(JA_SE_SHIPPU_DIST_SEL);
if (dComIfGs_isSaveArriveGrid(getCtCurWX() + (getCtCurWY() + 3) * 7 + 3)) {
#if VERSION == VERSION_DEMO
msgNo += 0x45;
#else
if (msgNo == 7) {
msgNo = 0x43;
} else if (msgNo == 8) {
@@ -2631,6 +2696,7 @@ void dMenu_Fmap_c::wrapMove() {
} else {
msgNo += 0x45;
}
#endif
} else {
msgNo = 0x44;
}
@@ -2645,8 +2711,8 @@ void dMenu_Fmap_c::wrapMove() {
((J2DPicture*) mNo00Pane.pane)->setBlackWhite(
JUtility::TColor(0x33, 0x15, 0x00, 0x00),
JUtility::TColor(0x76, 0x54, 0x2F, 0xFF));
((J2DPicture*)mYs01Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2);
((J2DPicture*)mYs00Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2);
((J2DPicture*)mYs01Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2);
((J2DPicture*)mYs00Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2);
warpSelCursorMove();
warpSelCursorAnimeInit();
@@ -2753,8 +2819,8 @@ void dMenu_Fmap_c::wrapSelect() {
((J2DPicture*)mYs00Pane.pane)->setBlackWhite(
JUtility::TColor(0x33, 0x15, 0x00, 0x00),
JUtility::TColor(0x76, 0x54, 0x2F, 0xFF));
((J2DPicture*)mNo01Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2);
((J2DPicture*)mNo00Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2);
((J2DPicture*)mNo01Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2);
((J2DPicture*)mNo00Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2);
}
} else if (stick->checkLeftTrigger()) {
if (mWarpSubState != FMAP_WARP_SEL_YES) {
@@ -2767,8 +2833,8 @@ void dMenu_Fmap_c::wrapSelect() {
((J2DPicture*)mNo00Pane.pane)->setBlackWhite(
JUtility::TColor(0x33, 0x15, 0x00, 0x00),
JUtility::TColor(0x76, 0x54, 0x2F, 0xFF));
((J2DPicture*)mYs01Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2);
((J2DPicture*)mYs00Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2);
((J2DPicture*)mYs01Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2);
((J2DPicture*)mYs00Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2);
}
}
warpSelCursorAnime();
@@ -2853,7 +2919,8 @@ BOOL dMenu_Fmap_c::paneTranceWarpMsg(fopMsgM_pane_class* i_pane, s16 i_frame, u8
return TRUE;
}
f32 alpha = fopMsgM_valueIncrease(i_max, i_frame, i_mode);
fopMsgM_paneTrans(i_pane, 0.0f, i_startY + alpha * (i_endY - i_startY));
f32 yAdj = alpha * (i_endY - i_startY);
fopMsgM_paneTrans(i_pane, 0.0f, i_startY + yAdj);
if (i_flag != 2) {
if (i_flag == 1) {
alpha = 1.0f - alpha;
@@ -2972,7 +3039,7 @@ int dMenu_Fmap_c::getWarpAreaNoRight(const cursorTable_t* i_table) {
/* 801B9784-801B97DC .text getWarpAreaTablePtr__12dMenu_Fmap_cFScSc */
const cursorTable_t* dMenu_Fmap_c::getWarpAreaTablePtr(s8 i_gridX, s8 i_gridY) {
const cursorTable_t* table = NULL;
for (int i = 0; i < 9; i++) {
for (int i = 0; i < FMAP_WARP_COUNT; i++) {
if (g_cursorTable[i].gridX == i_gridX && g_cursorTable[i].gridY == i_gridY) {
table = &g_cursorTable[i];
break;
@@ -3075,26 +3142,22 @@ void dMenu_Fmap_c::setDspWarpBackCornerColor(f32 i_ratio) {
next = 0;
}
f32 cur = rgb[i][0];
f32 nextC = rgb[next][0];
color[i].r = cur + alpha * (nextC - cur);
cur = rgb[i][1];
nextC = rgb[next][1];
color[i].g = cur + alpha * (nextC - cur);
cur = rgb[i][2];
nextC = rgb[next][2];
color[i].b = cur + alpha * (nextC - cur);
color[i].r = lineInter0to1(rgb[i][0], rgb[next][0], alpha);
color[i].g = lineInter0to1(rgb[i][1], rgb[next][1], alpha);
color[i].b = lineInter0to1(rgb[i][2], rgb[next][2], alpha);
color[i].a = 255;
}
int idx0 = (idx + 0) % 4;
int idx1 = (idx + 1) % 4;
int idx2 = (idx + 2) % 4;
int idx3 = (idx + 3) % 4;
((J2DPicture*)mClPane.pane)->setCornerColor(
color[idx % 4],
color[(idx + 1) % 4],
color[(idx + 3) % 4],
color[(idx + 2) % 4]);
color[idx0],
color[idx1],
color[idx3],
color[idx2]);
}
/* 801BA01C-801BA08C .text setWrapBackEmitter__12dMenu_Fmap_cF4cXyz */
@@ -3116,6 +3179,9 @@ bool dMenu_Fmap_c::_open_fishManMode() {
mFrameTimer++;
if (ret == TRUE) {
mFrameTimer = 0;
#if VERSION == VERSION_DEMO
mButtonIconMode = FMAP_BTN_ICON_FISHMAN;
#endif
mFishmanProcIdx = FISHMAN_PROC_DISP_AREA;
return true;
}
@@ -3137,7 +3203,9 @@ bool dMenu_Fmap_c::_close_fishManMode() {
/* 801BA214-801BA49C .text init_fishManMode__12dMenu_Fmap_cFv */
void dMenu_Fmap_c::init_fishManMode() {
mFmapMode = FMAP_MODE_FISHMAN;
#if VERSION > VERSION_DEMO
mButtonIconMode = FMAP_BTN_ICON_FISHMAN;
#endif
selCursorHide();
int i;
for (i = 0; i < 3; i++) {
@@ -3232,9 +3300,9 @@ void dMenu_Fmap_c::fmZoomGridLv1In() {
mFrameTimer = 0;
mClgPane.pane->show();
for (int i = 0; i < 8; i++) {
mKk3xPanes[i].pane->mInheritAlpha = false;
mKk3xPanes[i].pane->setInfluencedAlpha(false);
}
mR01bPane.pane->mInheritAlpha = false;
mR01bPane.pane->setInfluencedAlpha(false);
mFishmanProcIdx = FISHMAN_PROC_ZOOM_LV2_IN;
}
}
@@ -3284,7 +3352,11 @@ void dMenu_Fmap_c::fmMapWrite() {
mFishmanTimer1--;
} else {
if (mFrameTimer == 0) {
#if VERSION == VERSION_DEMO
mDoAud_seStart(JA_SE_SO_MAP_ADD_FIN);
#else
mDoAud_subBgmStart(JA_BGM_BGN_GET_BOX);
#endif
}
BOOL zoomMap = paneAlphaZoom2Map(mFrameTimer, g_mfHIO.mFishmanZoom2AlphaFrame, 0x02, 0);
mFrameTimer++;
@@ -3341,9 +3413,9 @@ void dMenu_Fmap_c::fmZoomGridLv2Out() {
mDoAud_seStart(JA_SE_CHART_ZOOM_OUT);
mClgPane.pane->hide();
for (int i = 0; i < 8; i++) {
mKk3xPanes[i].pane->mInheritAlpha = true;
mKk3xPanes[i].pane->setInfluencedAlpha(true);
}
mR01bPane.pane->mInheritAlpha = true;
mR01bPane.pane->setInfluencedAlpha(true);
mFrameTimer = 0;
mFishmanProcIdx = FISHMAN_PROC_ZOOM_LV1_OUT;
}
@@ -3389,6 +3461,9 @@ bool dMenu_Fmap_c::_open_wallPaper() {
mFrameTimer++;
if (ret == 1) {
mFrameTimer = 0;
#if VERSION == VERSION_DEMO
mButtonIconMode = FMAP_BTN_ICON_WALLPAPER;
#endif
mFmapMode = FMAP_MODE_WALLPAPER;
return true;
}
+63 -49
View File
@@ -126,7 +126,6 @@ dMf2_HIO_c::dMf2_HIO_c() {
/* 801BB5B8-801BBA2C .text _create__13dMenu_Fmap2_cFv */
void dMenu_Fmap2_c::_create() {
/* Nonmatching */
fmap2Dl.scrn = new J2DScreen();
JUT_ASSERT(VERSION_SELECT(293, 293, 316, 316), fmap2Dl.scrn != NULL);
fmap2Dl.scrn->set("f_hikaku_1.blo", dComIfGp_getFmapResArchive());
@@ -142,11 +141,11 @@ void dMenu_Fmap2_c::_create() {
JUT_ASSERT(VERSION_SELECT(310, 310, 333, 333), outFontS[1] != NULL);
field_0x34 = mDoExt_getMesgFont();
field_0x38 = mDoExt_getRubyFont();
mChkPntTxt_p = new(0x20) u8[0x2c00];
mChkPntTxt_p = (ResTIMG*)operator new(0x2c00, 0x20);
JUT_ASSERT(VERSION_SELECT(317, 317, 340, 340), mChkPntTxt_p != NULL);
mCmapTxtMain_p[0] = new(0x20) u8[0x2c00];
mCmapTxtMain_p[0] = (ResTIMG*)operator new(0x2c00, 0x20);
JUT_ASSERT(VERSION_SELECT(321, 321, 344, 344), mCmapTxtMain_p[0] != NULL);
mCmapTxtMain_p[1] = new(0x20) u8[0x2c00];
mCmapTxtMain_p[1] = (ResTIMG*)operator new(0x2c00, 0x20);
JUT_ASSERT(VERSION_SELECT(323, 323, 346, 346), mCmapTxtMain_p[1] != NULL);
screenSet();
field_0x27fb = 0;
@@ -155,18 +154,18 @@ void dMenu_Fmap2_c::_create() {
/* 801BBA2C-801BCC74 .text screenSet__13dMenu_Fmap2_cFv */
void dMenu_Fmap2_c::screenSet() {
/* Nonmatching */
int i;
fopMsgM_setPaneData(&mClPane, fmap2Dl.scrn->search('cl'));
fopMsgM_setPaneData(&mKdmPane, fmap2Dl.scrn->search('Kdm'));
u32 r26 = 'Fc01';
u32 r30 = 'Fc11';
u32 r24 = 'cc01';
u32 r23 = 'cc11';
for (int i = 0; i < 4; r26++, r30++, r24++, r23++, i++) {
fopMsgM_setPaneData(&mFc0xPanes[i], fmap2Dl.scrn->search(r26));
fopMsgM_setPaneData(&mFc1xPanes[i], fmap2Dl.scrn->search(r30));
fopMsgM_setPaneData(&mCc0xPanes[i], fmap2Dl.scrn->search(r24));
fopMsgM_setPaneData(&mCc1xPanes[i], fmap2Dl.scrn->search(r23));
for (i = 0; i < 4; r26++, r30++, r24++, r23++, i++) {
fopMsgM_setPaneData(&mFcxxPanes[i+0], fmap2Dl.scrn->search(r26));
fopMsgM_setPaneData(&mFcxxPanes[i+4], fmap2Dl.scrn->search(r30));
fopMsgM_setPaneData(&mCcxxPanes[i+0], fmap2Dl.scrn->search(r24));
fopMsgM_setPaneData(&mCcxxPanes[i+4], fmap2Dl.scrn->search(r23));
}
fopMsgM_setPaneData(&mNcddPane, fmap2Dl.scrn->search('ncdd'));
fopMsgM_setPaneData(&mMkcdPane, fmap2Dl.scrn->search('mkCD'));
@@ -193,7 +192,7 @@ void dMenu_Fmap2_c::screenSet() {
local_178.move();
local_2c8.move();
char local_3c8[256];
for (int i = 0; i < 256; i++) {
for (i = 0; i < 256; i++) {
local_3c8[i] = 'A';
}
local_3c8[255] = 0;
@@ -211,16 +210,14 @@ void dMenu_Fmap2_c::screenSet() {
'ck18', 'ck19', 'ck1a', 'bt11',
'bt12',
};
for (int i = 0; i < 17; i++) {
for (i = 0; i < 17; i++) {
fopMsgM_setPaneData(&field_0x554[i], fmap2Dl.scrn->search(l_tagNm01[i]));
fopMsgM_setPaneData(&field_0x90c[i], fmap2Dl.scrn->search(l_tagNm02[i]));
}
field_0x2830 = field_0x554[1].pane->mGlobalBounds.i.x;
field_0x2834 = field_0x554[1].pane->mGlobalBounds.i.y;
field_0x2838 = field_0x554[3].pane->mGlobalBounds.i.x;
field_0x283c = field_0x554[3].pane->mGlobalBounds.i.y;
field_0x2840 = field_0x554[1].pane->mGlobalBounds.f.y;
field_0x2844 = field_0x554[3].pane->mGlobalBounds.f.y;
((J2DTextBox*)field_0x554[1].pane)->getFontSize(field_0x2830);
((J2DTextBox*)field_0x554[3].pane)->getFontSize(field_0x2838);
field_0x2840 = ((J2DTextBox*)field_0x554[1].pane)->getLineSpace();
field_0x2844 = ((J2DTextBox*)field_0x554[3].pane)->getLineSpace();
((J2DTextBox*)field_0x554[1].pane)->setFont(field_0x34);
((J2DTextBox*)field_0x554[2].pane)->setFont(field_0x34);
((J2DTextBox*)field_0x554[3].pane)->setFont(field_0x38);
@@ -339,11 +336,11 @@ void dMenu_Fmap2_c::screenSet() {
fopMsgM_setPaneData(&field_0x1484[6], fmap2Dl.scrn->search('cmk1'));
fopMsgM_setPaneData(&field_0x1484[7], fmap2Dl.scrn->search('cmk2'));
char local_448[128];
for (int i = 0; i < 128; i++) {
for (i = 0; i < 128; i++) {
local_448[i] = 'A';
}
local_448[127] = 0;
for (int i = 0; i < 4; i++) {
for (i = 0; i < 4; i++) {
((J2DTextBox*)field_0x1484[i].pane)->setFont(field_0x34);
((J2DTextBox*)field_0x1484[i].pane)->setString(local_448);
field_0x27c8[i] = ((J2DTextBox*)field_0x1484[i].pane)->getStringPtr();
@@ -357,14 +354,16 @@ void dMenu_Fmap2_c::screenSet() {
fopMsgM_setPaneData(&mFmk1Pane, fmap2Dl.scrn->search('fmk1'));
fopMsgM_setPaneData(&mRkjnPane, fmap2Dl.scrn->search('Rkjn'));
fopMsgM_setPaneData(&mClg2Pane, fmap2Dl.scrn->search('clg2'));
JUtility::TColor black;
JUtility::TColor white;
fopMsgM_setPaneData(&mAreaPane, fmap2Dl.scrn->search('area'));
JUtility::TColor local_454 = ((J2DPicture*)mAreaPane.pane)->getWhite();
JUtility::TColor local_458 = ((J2DPicture*)mAreaPane.pane)->getBlack();
field_0x27f8 = local_458.a;
field_0x27f9 = local_454.a;
white = (u32)((J2DPicture*)mAreaPane.pane)->getWhite();
black = (u32)((J2DPicture*)mAreaPane.pane)->getBlack();
field_0x27f8 = black.a;
field_0x27f9 = white.a;
fopMsgM_setPaneData(&field_0xe1c[0], fmap2Dl.scrn->search('fdt1'));
fopMsgM_setPaneData(&field_0xe1c[1], fmap2Dl.scrn->search('fts1'));
for (int i = 0; i < 2; i++) {
for (i = 0; i < 2; i++) {
((J2DTextBox*)field_0xe1c[i].pane)->setFont(field_0x34);
((J2DTextBox*)field_0xe1c[i].pane)->setString(local_448);
field_0x27c0[i] = ((J2DTextBox*)field_0xe1c[i].pane)->getStringPtr();
@@ -374,7 +373,6 @@ void dMenu_Fmap2_c::screenSet() {
/* 801BCC74-801BD258 .text initialize__13dMenu_Fmap2_cFv */
void dMenu_Fmap2_c::initialize() {
/* Nonmatching */
field_0x27ac = 0;
field_0x280d = 0;
field_0x280e = 0;
@@ -385,7 +383,7 @@ void dMenu_Fmap2_c::initialize() {
fopAc_ac_c* player = dComIfGp_getPlayer(0);
field_0x27b0 = player->current.pos.x;
field_0x27b4 = player->current.pos.z;
field_0x27b8 = ((player->shape_angle.y + 0x8000) * 180.0f) / 32768.0f;
field_0x27b8 = ((s16)(player->shape_angle.y + 0x8000) * 180.0f) / 32768.0f;
if (strcmp(dComIfGp_getStartStageName(), "sea") == 0) {
s8 local_27;
s8 local_28;
@@ -437,7 +435,7 @@ void dMenu_Fmap2_c::initialize() {
/* 801BD258-801BD588 .text displayInit__13dMenu_Fmap2_cFv */
void dMenu_Fmap2_c::displayInit() {
/* Nonmatching */
int i;
static const u32 hist[] = {
'mR01', 'mR02', 'mR03', 'mR04', 'mR05', 'mR06', 'mR07',
'mR08', 'mR09', 'mR0A', 'mR0B', 'mR0C', 'mR0D', 'mR0E',
@@ -448,7 +446,7 @@ void dMenu_Fmap2_c::displayInit() {
'mR2B', 'mR2C', 'mR2D', 'mR2E', 'mR2F', 'mR30', 'mR31',
};
for (int i = 0; i < 49; i++) {
for (i = 0; i < 49; i++) {
setPaneOnOff(fmap2Dl.scrn, hist[i], dComIfGs_isSaveArriveGrid(i) == 0);
}
fopMsgM_paneTrans(&mAreaPane, field_0x27bc * 16.0f, field_0x27bd * 16.0f);
@@ -458,12 +456,12 @@ void dMenu_Fmap2_c::displayInit() {
field_0xcc4[field_0x2816][0].pane->hide();
field_0xcc4[field_0x2816 ^ 1][0].pane->hide();
if (dComIfGs_getOptRuby()) {
for (int i = 3; i < 5; i++) {
for (i = 3; i < 5; i++) {
field_0x43c[i].pane->hide();
field_0x554[i].pane->hide();
field_0x90c[i].pane->hide();
}
for (int i = 1; i < 3; i++) {
for (i = 1; i < 3; i++) {
field_0x43c[i].mPosCenterOrig.y -= 4.0f;
field_0x43c[i].mPosCenter.y = field_0x43c[i].mPosCenterOrig.y;
field_0x554[i].mPosCenterOrig.y -= 4.0f;
@@ -965,8 +963,13 @@ void dMenu_Fmap2_c::CmapOpen() {
field_0x27ac = 0;
field_0x2812 = 2;
if (getCollectMapKind(field_0x27a9) || isOpenCollectMapTriforce(field_0x27a9)) {
paneTranceMessage(0, g_mf2HIO.field_0x3f, 1.0f, 1.0f, 0.0f, 0.0f, 0, field_0x2816, 0);
#if VERSION == VERSION_DEMO
field_0xcc4[field_0x2816][0].pane->hide();
#endif
paneTranceMessage(0, g_mf2HIO.field_0x3f, 1.0f, 1.0f, 0.0f, 0.0f, 0, field_0x2816, 0);
#if VERSION > VERSION_DEMO
field_0xcc4[field_0x2816][0].pane->hide();
#endif
}
field_0x2848[field_0x2816] = 0xffff;
for (int i = 0; i < 2; i++) {
@@ -1069,8 +1072,8 @@ void dMenu_Fmap2_c::screenSetGs() {
fopMsgM_setPaneData(&mGsS02PaneAlpha, fmap2GsDl.scrn->search('S02'));
fopMsgM_setPaneData(&mGsKz05PaneAlpha, fmap2GsDl.scrn->search('kz05'));
fopMsgM_setPaneData(&mGsKz01PaneAlpha, fmap2GsDl.scrn->search('kz01'));
color_0x2828 = ((J2DPicture*)mGsKz01PaneAlpha.pane)->getBlack();
color_0x282C = ((J2DPicture*)mGsKz01PaneAlpha.pane)->getWhite();
color_0x2828 = (u32)((J2DPicture*)mGsKz01PaneAlpha.pane)->getBlack();
color_0x282C = (u32)((J2DPicture*)mGsKz01PaneAlpha.pane)->getWhite();
#if VERSION == VERSION_DEMO
fopMsgM_setPaneData(&mGsBt1PaneAlpha, fmap2GsDl.scrn->search('BT1'));
fopMsgM_setPaneData(&mGsBt2PaneAlpha, fmap2GsDl.scrn->search('BT2'));
@@ -1082,9 +1085,15 @@ void dMenu_Fmap2_c::screenSetGs() {
fopMsgM_setPaneData(&mGsGsixPaneAlpha[i], fmap2GsDl.scrn->search(shipicon[i]));
#endif
}
color_0x2820 = ((J2DPicture*)mGsTk0xPaneAlpha[0].pane)->getBlack();
color_0x2824 = ((J2DPicture*)mGsTk0xPaneAlpha[0].pane)->getWhite();
if (dComIfGs_getEventReg(0x8803) == 3) {
color_0x2820 = (u32)((J2DPicture*)mGsTk0xPaneAlpha[0].pane)->getBlack();
color_0x2824 = (u32)((J2DPicture*)mGsTk0xPaneAlpha[0].pane)->getWhite();
int r0 = dComIfGs_getEventReg(0x8803);
#if VERSION == VERSION_DEMO
for (int i = 0; i < r0; i++) {
mGsTk0xPaneAlpha[i].pane->show();
}
#endif
if (r0 == 3) {
field_0x2811 = 1;
for (int i = 0; i < 7; i++) {
mGsTk0xPaneAlpha[i].pane->hide();
@@ -1096,7 +1105,7 @@ void dMenu_Fmap2_c::screenSetGs() {
} else {
field_0x2811 = 0;
field_0x2817 = 0;
if (dComIfGs_getTime() >= 285.0f || (dComIfGs_getTime() >= 0.0f && dComIfGs_getTime() <= 90.0f)) {
if (dComIfGs_getTime() >= DEMO_SELECT(330.0f, 285.0f) || (dComIfGs_getTime() >= 0.0f && dComIfGs_getTime() <= 90.0f)) {
field_0x2817 = 1;
#if VERSION > VERSION_JPN
mGsGsixPaneAlpha[dKy_moon_type_chk()].pane->show();
@@ -1604,7 +1613,7 @@ void dMenu_Fmap2_c::cmapMove() {
if (isSpMap(getCollectMapKind(field_0x27a9))) {
changeSelCmap2();
} else {
readPaneCmapTexture((ResTIMG*)mCmapTxtMain_p[field_0x2815 ^ 1], field_0x27a9);
readPaneCmapTexture(mCmapTxtMain_p[field_0x2815 ^ 1], field_0x27a9);
changeSelCmap();
changeZoomCmap();
}
@@ -1615,7 +1624,7 @@ void dMenu_Fmap2_c::cmapMove() {
void dMenu_Fmap2_c::changeSelCmap() {
/* Nonmatching */
int r30 = getCollectMapKind(field_0x27a9);
((J2DPicture *)field_0x124c[field_0x2813 ^ 1][0].pane)->changeTexture((ResTIMG*)mCmapTxtMain_p[field_0x2815 ^ 1], 0);
((J2DPicture *)field_0x124c[field_0x2813 ^ 1][0].pane)->changeTexture(mCmapTxtMain_p[field_0x2815 ^ 1], 0);
if (isOpenCollectMap(field_0x27a9)) {
field_0x2812 = 2;
field_0x1aa4[field_0x2815 ^ 1][0].pane->show();
@@ -1777,7 +1786,7 @@ void dMenu_Fmap2_c::changeFmapTexture() {
mR01gPane.pane->hide();
} else {
mR01gPane.pane->show();
((J2DPicture*)mR01gPane.pane)->changeTexture((ResTIMG*)mChkPntTxt_p, 0);
((J2DPicture*)mR01gPane.pane)->changeTexture(mChkPntTxt_p, 0);
}
}
@@ -1909,7 +1918,8 @@ BOOL dMenu_Fmap2_c::paneAlphaZoomCmapBase(s16 param_1, u8 param_2, f32 param_3,
return true;
}
f32 f31 = fopMsgM_valueIncrease(param_2, param_1, param_5);
fopMsgM_paneTrans(&field_0x1aa4[param_6][0], param_3 + f31 * (param_4 - param_3), 0.0f);
f32 f0 = f31 * (param_4 - param_3);
fopMsgM_paneTrans(&field_0x1aa4[param_6][0], param_3 + f0, 0.0f);
if (param_7 != 2) {
if (param_7 == 1) {
f31 = 1.0f - f31;
@@ -2131,9 +2141,11 @@ int dMenu_Fmap2_c::calcGetCollectMap() {
/* 801C7164-801C71D4 .text calcGetCollectMap2__13dMenu_Fmap2_cFv */
int dMenu_Fmap2_c::calcGetCollectMap2() {
/* Nonmatching */
int i;
int result = 0;
for (int i = 0; i < 49; i++) {
if (isGetCollectMap(s8(getCmapDatPnt4(i)->collectMapNo))) {
for (i = 0; i < 49; i++) {
int collectMapNo = getCmapDatPnt4(i)->collectMapNo;
if (isGetCollectMap(collectMapNo)) {
result++;
}
}
@@ -2142,9 +2154,9 @@ int dMenu_Fmap2_c::calcGetCollectMap2() {
/* 801C71D4-801C724C .text calcFinCollectMap__13dMenu_Fmap2_cFv */
int dMenu_Fmap2_c::calcFinCollectMap() {
/* Nonmatching */
int i;
int result = 0;
for (int i = 0; i < 52; i++) {
for (i = 0; i < 52; i++) {
if (i != 34 && i != 35 && dComIfGs_isCompleteCollectMap(i + 1)) {
result++;
}
@@ -2172,11 +2184,11 @@ int dMenu_Fmap2_c::getNowCmapFirstNum() {
/* 801C72D8-801C7364 .text getNowCmapNextNum__13dMenu_Fmap2_cFSci */
int dMenu_Fmap2_c::getNowCmapNextNum(s8 param_1, int param_2) {
/* Nonmatching */
if (field_0x27a8 == 1) {
return param_1;
}
int r31 = param_1;
int collectMapNo;
do {
r31 += param_2;
if (r31 < 0) {
@@ -2185,7 +2197,8 @@ int dMenu_Fmap2_c::getNowCmapNextNum(s8 param_1, int param_2) {
if (r31 > 60) {
r31 = 0;
}
} while (!isGetCollectMap(s8(getCmapDatPnt4(r31)->collectMapNo)));
collectMapNo = getCmapDatPnt4(r31)->collectMapNo;
} while (!isGetCollectMap(collectMapNo));
return r31;
}
@@ -2257,7 +2270,8 @@ int dMenu_Fmap2_c::getCollectMapKind(s8 i_cmapIdx) {
/* 801C77BC-801C7844 .text isCompleteCollectMap__13dMenu_Fmap2_cFSc */
BOOL dMenu_Fmap2_c::isCompleteCollectMap(s8 i_cmapIdx) {
return dComIfGs_isCompleteCollectMap(mpFmapDatPnt->getCmapDatPnt4(i_cmapIdx)->collectMapNo);
aramCmapDatPnt_t* pnt = mpFmapDatPnt->getCmapDatPnt4(i_cmapIdx);
return dComIfGs_isCompleteCollectMap(pnt->collectMapNo);
}
/* 801C7844-801C78A8 .text draw__13dDlst_FMAP2_cFv */
+26 -30
View File
@@ -4337,8 +4337,8 @@ void dMeter_magicTransScale(sub_meter_class* i_Meter, f32 param_2, f32 param_3,
(param_3 +
(i_Meter->field_0x11a0.mPosCenterOrig.y + (param_4 * (i_Meter->field_0x0f38[i].mPosCenterOrig.y - i_Meter->field_0x11a0.mPosCenterOrig.y))));
i_Meter->field_0x0f38[i].mPosCenter.x -= ((i_Meter->field_0x0f38[i].mSizeOrig.x * param_4) / 2.0f);
i_Meter->field_0x0f38[i].mSize.x = param_4 * i_Meter->field_0x0f38[i].pane->mBounds.getWidth();
i_Meter->field_0x0f38[i].mSize.y = param_4 * i_Meter->field_0x0f38[i].pane->mBounds.getHeight();
i_Meter->field_0x0f38[i].mSize.x = param_4 * i_Meter->field_0x0f38[i].pane->getWidth();
i_Meter->field_0x0f38[i].mSize.y = param_4 * i_Meter->field_0x0f38[i].pane->getHeight();
i_Meter->field_0x0f38[i].mPosCenter.x += (i_Meter->field_0x0f38[i].mSize.x / 2.0f);
fopMsgM_cposMove(&i_Meter->field_0x0f38[i]);
i_Meter->field_0x0f38[i].mSize.x = i_Meter->field_0x0f38[i].mSizeOrig.x;
@@ -5150,11 +5150,7 @@ void dMeter_keyLight(fopMsgM_pane_class* param_1, s16* param_2, f32 param_3) {
f32 y = param_1->mPosTopLeftOrig.y - (dVar9 - param_1->mSizeOrig.y) / 2.0f;
param_1->pane->move(x, y);
param_1->pane->resize(dVar10, dVar9);
J2DPane* j2dPane = param_1->pane;
j2dPane->mBasePosition.x = (dVar10 / 2.0f);
j2dPane->mBasePosition.y = (dVar9 / 2.0f);
j2dPane->mRotationAxis = ROTATE_Z;
j2dPane->calcMtx();
param_1->pane->rotate(dVar10 / 2.0f, dVar9 / 2.0f, ROTATE_Z, param_1->pane->getRotate());
param_1->mNowAlpha = dVar7 * param_3;
}
@@ -5261,9 +5257,9 @@ void dMeter_keyMove(sub_meter_class* i_Meter) {
/* 801FD09C-801FD104 .text dMeter_compassRotate__FP18fopMsgM_pane_classP18fopMsgM_pane_classf */
void dMeter_compassRotate(fopMsgM_pane_class* param_1, fopMsgM_pane_class* param_2, f32 param_3) {
f32 offsetX = param_1->pane->mBounds.getWidth();
f32 offsetX = param_1->pane->getWidth();
offsetX /= 2.0f;
f32 offsetY = param_1->pane->mBounds.getHeight();
f32 offsetY = param_1->pane->getHeight();
offsetY /= 2.0f;
param_1->pane->rotate(offsetX, offsetY, ROTATE_Z, param_3);
}
@@ -5363,10 +5359,10 @@ void dMeter_compassGetOffProc(sub_meter_class* i_Meter) {
/* 801FD48C-801FD6C8 .text dMeter_compassDirOpen__FP15sub_meter_class */
void dMeter_compassDirOpen(sub_meter_class* i_Meter) {
f32 dVar9 = i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar8 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f;
f32 dVar7 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar6 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f;
f32 dVar9 = i_Meter->field_0x1948.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar8 = i_Meter->field_0x1948.pane->getHeight() / 2.0f;
f32 dVar7 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar6 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f;
i_Meter->field_0x12f0.mUserArea++;
f32 dVar5;
if (i_Meter->field_0x12f0.mUserArea >= 5) {
@@ -5394,10 +5390,10 @@ void dMeter_compassDirOpen(sub_meter_class* i_Meter) {
/* 801FD6C8-801FD8C0 .text dMeter_compassWindOpen__FP15sub_meter_class */
void dMeter_compassWindOpen(sub_meter_class* i_Meter) {
f32 dVar9 = i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar8 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f;
f32 dVar7 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar6 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f;
f32 dVar9 = i_Meter->field_0x1948.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar8 = i_Meter->field_0x1948.pane->getHeight() / 2.0f;
f32 dVar7 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar6 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f;
i_Meter->field_0x12f0.mUserArea++;
f32 dVar5;
if (i_Meter->field_0x12f0.mUserArea >= 10) {
@@ -5422,10 +5418,10 @@ void dMeter_compassWindOpen(sub_meter_class* i_Meter) {
/* 801FD8C0-801FDB64 .text dMeter_compassWindClose__FP15sub_meter_class */
void dMeter_compassWindClose(sub_meter_class* i_Meter) {
/* Nonmatching */
f32 dVar11 = i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar10 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f;
f32 dVar9 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar8 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f;
f32 dVar11 = i_Meter->field_0x1948.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar10 = i_Meter->field_0x1948.pane->getHeight() / 2.0f;
f32 dVar9 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar8 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f;
i_Meter->field_0x12f0.mUserArea--;
s16 sVar6;
@@ -5466,10 +5462,10 @@ void dMeter_compassWindClose(sub_meter_class* i_Meter) {
/* 801FDB64-801FDDA4 .text dMeter_compassDirClose__FP15sub_meter_class */
void dMeter_compassDirClose(sub_meter_class* i_Meter) {
f32 dVar9 = i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar8 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f;
f32 dVar7 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar6 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f;
f32 dVar9 = i_Meter->field_0x1948.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar8 = i_Meter->field_0x1948.pane->getHeight() / 2.0f;
f32 dVar7 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar6 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f;
i_Meter->field_0x12f0.mUserArea--;
f32 dVar5;
@@ -5535,11 +5531,11 @@ void dMeter_compassValueInit(sub_meter_class* i_Meter) {
}
i_Meter->field_0x12f0.mUserArea = 0;
i_Meter->field_0x302a = 0;
f32 temp2 = (i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f) - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar6 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f;
f32 dVar5 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f;
f32 temp1 = dVar5 - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f);
f32 dVar4 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f;
f32 temp2 = (i_Meter->field_0x1948.pane->getWidth() / 2.0f) - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar6 = i_Meter->field_0x1948.pane->getHeight() / 2.0f;
f32 dVar5 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f;
f32 temp1 = dVar5 - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f);
f32 dVar4 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f;
f32 x = -(i_Meter->field_0x1948.mPosTopLeftOrig.x + i_Meter->field_0x1948.mSizeOrig.x);
fopMsgM_paneTrans(&i_Meter->field_0x12f0, x, 0.0f);
fopMsgM_paneTrans(&i_Meter->field_0x1948, x, 0.0f);
+1 -7
View File
@@ -304,15 +304,9 @@ void dMetronome_c::melodyGuideShow(s32 note, s16 no) {
fopMsgM_cposMove(&pane_cn[no]);
// This is almost J2DPane::setBasePosition
f32 centerX = pane_i11[no].mSize.x / 2.0f;
f32 centerY = pane_i11[no].mSize.y / 2.0f;
J2DScreen* scrn = (J2DScreen*)pane_i11[no].pane;
scrn->mBasePosition.x = centerX;
scrn->mBasePosition.y = centerY;
scrn->mRotationAxis = ROTATE_Z;
scrn->mRotation = rot[note];
scrn->calcMtx();
((J2DScreen*)pane_i11[no].pane)->rotate(centerX, centerY, ROTATE_Z, rot[note]);
}
/* 80222854-80222C4C .text melodyShow__12dMetronome_cFv */
+29 -45
View File
@@ -84,33 +84,17 @@ void dDlst_2DMSG_c::draw() {
mpMsg->mMsgDataProc.selectArrow(arrowPane);
} else if (msg->mStatus == fopMsgStts_INPUT_e) {
if ((mpMsg->mMesgEntry.mTextboxType == 0) || (mpMsg->mMesgEntry.mTextboxType == 10)) {
f32 dVar3 = (numberPane[0]->mBounds.getWidth() + numberPane[0]->getCharSpace());
f32 f3;
f32 f4;
f32 dVar3 = (numberPane[0]->getWidth() + numberPane[0]->getCharSpace());
if (msg->mMsgNo == 0x1cfa) {
f4 = maskPane->mBounds.getHeight();
f3 = maskPane->mBounds.getWidth();
maskPane->draw(mpMsg->m10EC + (dVar3 * (2 - msg->mSelectNum)), mpMsg->m10F0, f3, f4, false, false, false);
f4 = numberPane[2]->mBounds.getWidth();
f3 = numberPane[2]->mBounds.getHeight();
numberPane[2]->draw(mpMsg->m10EC, mpMsg->m10F0 + f3, f4, HBIND_CENTER);
f4 = numberPane[1]->mBounds.getWidth();
f3 = numberPane[1]->mBounds.getHeight();
numberPane[1]->draw((mpMsg->m10EC + dVar3), mpMsg->m10F0 + f3, f4, HBIND_CENTER);
f4 = numberPane[0]->mBounds.getWidth();
f3 = numberPane[0]->mBounds.getHeight();
numberPane[0]->draw(mpMsg->m10EC + (dVar3 * 2.0f), mpMsg->m10F0 + f3, f4, HBIND_CENTER);
maskPane->draw(mpMsg->m10EC + (dVar3 * (2 - msg->mSelectNum)), mpMsg->m10F0, maskPane->getWidth(), maskPane->getHeight(), false, false, false);
numberPane[2]->draw(mpMsg->m10EC, mpMsg->m10F0 + numberPane[2]->getHeight(), numberPane[2]->getWidth(), HBIND_CENTER);
numberPane[1]->draw((mpMsg->m10EC + dVar3), mpMsg->m10F0 + numberPane[1]->getHeight(), numberPane[1]->getWidth(), HBIND_CENTER);
numberPane[0]->draw(mpMsg->m10EC + (dVar3 * 2.0f), mpMsg->m10F0 + numberPane[0]->getHeight(), numberPane[0]->getWidth(), HBIND_CENTER);
} else {
numberPane[2]->hide();
f4 = maskPane->mBounds.getHeight();
f3 = maskPane->mBounds.getWidth();
maskPane->draw(mpMsg->m10EC + (dVar3 * (1 - msg->mSelectNum)), mpMsg->m10F0, f3, f4, false, false, false);
f4 = numberPane[1]->mBounds.getWidth();
f3 = numberPane[1]->mBounds.getHeight();
numberPane[1]->draw(mpMsg->m10EC, mpMsg->m10F0 + f3, f4, HBIND_CENTER);
f4 = numberPane[0]->mBounds.getWidth();
f3 = numberPane[0]->mBounds.getHeight();
numberPane[0]->draw((mpMsg->m10EC + dVar3), mpMsg->m10F0 + f3, f4, HBIND_CENTER);
maskPane->draw(mpMsg->m10EC + (dVar3 * (1 - msg->mSelectNum)), mpMsg->m10F0, maskPane->getWidth(), maskPane->getHeight(), false, false, false);
numberPane[1]->draw(mpMsg->m10EC, mpMsg->m10F0 + numberPane[1]->getHeight(), numberPane[1]->getWidth(), HBIND_CENTER);
numberPane[0]->draw((mpMsg->m10EC + dVar3), mpMsg->m10F0 + numberPane[0]->getHeight(), numberPane[0]->getWidth(), HBIND_CENTER);
}
}
}
@@ -131,31 +115,31 @@ void dDlst_2DMSG_c::outFontDraw() {
iconNum != fopMsgM_Icon_INPUT_e
) {
J2DScreen* scrn = (J2DScreen*)mpMsg->m0544[0].pane;
int r5 = posX + scrn->mBounds.i.x;
int r5 = posX + scrn->getBounds().i.x;
int r6;
u8 alpha;
if (mpMsg->mMesgEntry.mTextboxType == 5) {
f32 local_30 = g_msgHIO.field_0x5e * posY;
f32 local_38 = mpMsg->m1104 * (2 - mpMsg->m1108);
r6 = (int)(local_38 + scrn->mBounds.i.y + local_30);
r6 = (int)(local_38 + scrn->getBounds().i.y + local_30);
alpha = mpMsg->m0544[0].mNowAlpha;
} else if (mpMsg->mMesgEntry.mTextboxType == 0xe) {
f32 local_28 = g_msgHIO.field_0x5e * posY;
f32 local_30 = mpMsg->m1104;
r6 = (int)(local_30 + scrn->mBounds.i.y + local_28);
r6 = (int)(local_30 + scrn->getBounds().i.y + local_28);
alpha = mpMsg->m0544[0].mNowAlpha;
} else {
if (scale > mpMsg->m110C) {
if (mpMsg->m1108 > 1) {
int temp1 = (mpMsg->m1104 * ((3 - posY) - (mpMsg->m1108 + -2)));
r6 = ((scale - mpMsg->m110C) / 2) + (int)((temp1 + scrn->mBounds.i.y) - (f32)(int)(scale / 2));
r6 = ((scale - mpMsg->m110C) / 2) + (int)((temp1 + scrn->getBounds().i.y) - (f32)(int)(scale / 2));
} else {
r6 = (int)(((mpMsg->m1104 << 2) + scrn->mBounds.i.y) - (f32)(int)(scale / 2));
r6 = (int)(((mpMsg->m1104 << 2) + scrn->getBounds().i.y) - (f32)(int)(scale / 2));
}
} else {
f32 local_28 = g_msgHIO.field_0x5e * posY;
f32 local_30 = mpMsg->m1104 * (3 - mpMsg->m1108);
r6 = (int)(local_30 + scrn->mBounds.i.y + local_28);
r6 = (int)(local_30 + scrn->getBounds().i.y + local_28);
}
alpha = mpMsg->m0544[0].mNowAlpha;
}
@@ -1499,8 +1483,8 @@ void dMsg_numberInput(sub_msg_class* i_Msg) {
for (s32 i = 0; i < 8; i++) {
if (i_Msg->mMsgDataProc.getIconNum(i) == fopMsgM_Icon_INPUT_e) {
i_Msg->m10EC = ((i_Msg->m0544[0].pane)->mBounds.i.x + i_Msg->mMsgDataProc.getIconPosX(i));
i_Msg->m10F0 = ((i_Msg->m0544[0].pane)->mBounds.i.y + (i_Msg->m1104 * (s32)((3 - i_Msg->m1108) + (i_Msg->mMsgDataProc.getIconPosY(i)) * 2)));
i_Msg->m10EC = ((i_Msg->m0544[0].pane)->getBounds().i.x + i_Msg->mMsgDataProc.getIconPosX(i));
i_Msg->m10F0 = ((i_Msg->m0544[0].pane)->getBounds().i.y + (i_Msg->m1104 * (s32)((3 - i_Msg->m1108) + (i_Msg->mMsgDataProc.getIconPosY(i)) * 2)));
}
}
if (i_Msg->mMsgNo == 0x1cfa) {
@@ -1954,8 +1938,8 @@ s32 dMsg_selectProc(sub_msg_class* i_Msg) {
J2DPicture* pJVar14;
pJVar8 = (J2DTextBox*)i_Msg->m0544[0].pane;
iVar10 = (int)pJVar8->mBounds.i.x;
iVar11 = (int)pJVar8->mBounds.i.y;
iVar10 = (int)pJVar8->getBounds().i.x;
iVar11 = (int)pJVar8->getBounds().i.y;
uVar1 = pJVar8->getLineSpace();
sVar3 = i_Msg->m026C[0].mUserArea;
if (sVar3 == 0) {
@@ -2048,10 +2032,10 @@ s32 dMsg_selectProc(sub_msg_class* i_Msg) {
for (s32 i = 0; i < 8; i++) {
u8 iconNum = i_Msg->mMsgDataProc.getIconNum(i);
if (iconNum == fopMsgM_Icon_SELECT_YOKO_LEFT_e) {
var_r5 = i_Msg->m0544[0].pane->mBounds.i.x + i_Msg->mMsgDataProc.getIconPosX(i);
var_r6 = i_Msg->m0544[0].pane->mBounds.i.y + i_Msg->m1104 * ((2 - i_Msg->m1108) + (i_Msg->mMsgDataProc.getIconPosY(i) * 2));
var_r5 = i_Msg->m0544[0].pane->getBounds().i.x + i_Msg->mMsgDataProc.getIconPosX(i);
var_r6 = i_Msg->m0544[0].pane->getBounds().i.y + i_Msg->m1104 * ((2 - i_Msg->m1108) + (i_Msg->mMsgDataProc.getIconPosY(i) * 2));
} else if (iconNum == fopMsgM_Icon_SELECT_YOKO_RIGHT_e) {
var_r11 = (i_Msg->m0544[0].pane->mBounds.i.x + (i_Msg->mMsgDataProc.getIconPosX(i)));
var_r11 = (i_Msg->m0544[0].pane->getBounds().i.x + (i_Msg->mMsgDataProc.getIconPosX(i)));
}
}
i_Msg->mSelectNum = i_Msg->mMsgDataProc.selectCheckYoko(arrowPane, var_r5, var_r6, var_r11 - var_r5);
@@ -2893,15 +2877,15 @@ static BOOL dMsg_Execute(sub_msg_class* i_Msg) {
GVar7 = g_msgHIO.field_0x5;
bVar1 = i_Msg->mMesgEntry.mTextboxType;
if (bVar1 == 5) {
static s32 posY0 = (i_Msg->m0544[0].pane)->mBounds.i.y;
static s32 posY1 = (i_Msg->m0544[1].pane)->mBounds.i.y;
static s32 posY2 = (i_Msg->m0544[2].pane)->mBounds.i.y;
static s32 posY3 = (i_Msg->m0544[3].pane)->mBounds.i.y;
static s32 posY0 = (i_Msg->m0544[0].pane)->getBounds().i.y;
static s32 posY1 = (i_Msg->m0544[1].pane)->getBounds().i.y;
static s32 posY2 = (i_Msg->m0544[2].pane)->getBounds().i.y;
static s32 posY3 = (i_Msg->m0544[3].pane)->getBounds().i.y;
pJVar12 = (MyScreen*)i_Msg->m0544[0].pane;
s32 fVar1 = pJVar12->mBounds.i.x;
fVar2 = i_Msg->m0544[1].pane->mBounds.i.x;
fVar3 = i_Msg->m0544[2].pane->mBounds.i.x;
fVar4 = i_Msg->m0544[3].pane->mBounds.i.x;
s32 fVar1 = pJVar12->getBounds().i.x;
fVar2 = i_Msg->m0544[1].pane->getBounds().i.x;
fVar3 = i_Msg->m0544[2].pane->getBounds().i.x;
fVar4 = i_Msg->m0544[3].pane->getBounds().i.x;
pJVar12->move(fVar1, posY0);
i_Msg->m0544[1].pane->move(fVar2, posY1);
i_Msg->m0544[2].pane->move(fVar3, posY2);
+8 -8
View File
@@ -1718,12 +1718,12 @@ void dJle_Pb_c::messageSet(u32 msgNo) {
if (icon == fopMsgM_Icon_SELECT_YOKO_LEFT_e) {
mChoiceCursorX0 = (int)(
((J2DTextBox*)pane_tx[0].pane)->mBounds.i.x +
((J2DTextBox*)pane_tx[0].pane)->getBounds().i.x +
(f32)mMsgDataProc.getIconPosX(i)
);
mChoiceCursorY = (int)(
((J2DTextBox*)pane_tx[0].pane)->mBounds.i.y +
((J2DTextBox*)pane_tx[0].pane)->getBounds().i.y +
(f32)(
halfLine *
((VERSION_SELECT(1, 1, 2, 2) - mMsgLineCount) +
@@ -1744,12 +1744,12 @@ void dJle_Pb_c::messageSet(u32 msgNo) {
}
} else if (icon == fopMsgM_Icon_SELECT_YOKO_RIGHT_e) {
mChoiceCursorX1 = (int)(
((J2DTextBox*)pane_tx[0].pane)->mBounds.i.x +
((J2DTextBox*)pane_tx[0].pane)->getBounds().i.x +
(f32)mMsgDataProc.getIconPosX(i)
);
mChoiceCursorYAlt = (int)(
((J2DTextBox*)pane_tx[0].pane)->mBounds.i.y +
((J2DTextBox*)pane_tx[0].pane)->getBounds().i.y +
(f32)(
halfLine *
((1 - mMsgLineCount) +
@@ -2173,9 +2173,9 @@ void dJle_Pb_c::draw() {
J2DTextBox* base = (J2DTextBox*)pane_tx[0].pane;
f32 lineSpace = base->getLineSpace();
int r9 = (int)(lineSpace / 2.0f);
int r5 = posX + base->mBounds.i.x;
int r5 = posX + base->getBounds().i.x;
f32 f1 = r9 * ((VERSION_SELECT(1, 1, 2, 2) - mMsgLineCount) + posY * 2);
int r6 = f1 + base->mBounds.i.y;
int r6 = f1 + base->getBounds().i.y;
u8 alpha = base->getAlpha();
fopMsgM_outFontDraw(
@@ -2235,9 +2235,9 @@ void dJle_Pb_c::draw() {
J2DTextBox* base = (J2DTextBox*)pane_tx[0].pane;
f32 lineSpace = base->getLineSpace();
int r9 = (int)(lineSpace / 2.0f);
int r5 = posX + base->mBounds.i.x;
int r5 = posX + base->getBounds().i.x;
f32 f1 = r9 * ((VERSION_SELECT(1, 1, 2, 2) - mMsgLineCount) + posY * 2);
int r6 = f1 + base->mBounds.i.y;
int r6 = f1 + base->getBounds().i.y;
u8 alpha = base->getAlpha();
fopMsgM_outFontDraw(
+1 -1
View File
@@ -418,7 +418,7 @@ int dRes_info_c::setRes() {
mode = 2;
if (mode == 0) {
u32 allocSize = (mDataHeap->getSize() - mpParentHeap->getFreeSize()) + 0x8c;
u32 allocSize = (mDataHeap->getHeapSize() - mpParentHeap->getFreeSize()) + 0x8c;
JKRSolidHeap * pHeap = mDoExt_createSolidHeapFromGameToCurrent(allocSize, 0);
if (pHeap != NULL) {
mDoExt_adjustSolidHeap(mDataHeap);
+1 -1
View File
@@ -243,7 +243,7 @@ dScnOpen_proc_c::dScnOpen_proc_c() {
pane2d[PANE_tx2] = m_Screen->search('\0tx2');
#if VERSION >= VERSION_USA
pane2d[PANE_tx1]->move(pane2d[PANE_tx1]->mBounds.i.x, 376.0f);
pane2d[PANE_tx1]->move(pane2d[PANE_tx1]->getBounds().i.x, 376.0f);
#endif
m_message->set_pane_pointer(pane2d[PANE_tx1], pane2d[PANE_tx2]);
+8 -8
View File
@@ -168,21 +168,21 @@ void dScp_ScreenDataSet(sub_scp_class* i_Scp) {
#if VERSION == VERSION_PAL
if (dComIfGs_getOptRuby()) {
i_Scp->mpTextBox->move(i_Scp->mpTextBox->mBounds.i.x, i_Scp->mpTextBox->mBounds.i.y - 14.0f);
i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->mBounds.i.x, i_Scp->mpTextBoxSdw->mBounds.i.y - 14.0f);
i_Scp->mpTextBox->move(i_Scp->mpTextBox->getBounds().i.x, i_Scp->mpTextBox->getBounds().i.y - 14.0f);
i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->getBounds().i.x, i_Scp->mpTextBoxSdw->getBounds().i.y - 14.0f);
} else {
i_Scp->mpTextBox->move(i_Scp->mpTextBox->mBounds.i.x, i_Scp->mpTextBox->mBounds.i.y - 10.0f);
i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->mBounds.i.x, i_Scp->mpTextBoxSdw->mBounds.i.y - 10.0f);
i_Scp->mpTextBox->move(i_Scp->mpTextBox->getBounds().i.x, i_Scp->mpTextBox->getBounds().i.y - 10.0f);
i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->getBounds().i.x, i_Scp->mpTextBoxSdw->getBounds().i.y - 10.0f);
}
#else
if (dComIfGs_getOptRuby()) {
i_Scp->mpTextBox->move(i_Scp->mpTextBox->mBounds.i.x, i_Scp->mpTextBox->mBounds.i.y - 4.0f);
i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->mBounds.i.x, i_Scp->mpTextBoxSdw->mBounds.i.y - 4.0f);
i_Scp->mpTextBox->move(i_Scp->mpTextBox->getBounds().i.x, i_Scp->mpTextBox->getBounds().i.y - 4.0f);
i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->getBounds().i.x, i_Scp->mpTextBoxSdw->getBounds().i.y - 4.0f);
}
#endif
i_Scp->mpRubyBox->move(i_Scp->mpRubyBox->mBounds.i.x, i_Scp->mpRubyBox->mBounds.i.y - 3.0f);
i_Scp->mpRubyBoxSdw->move(i_Scp->mpRubyBoxSdw->mBounds.i.x, i_Scp->mpRubyBoxSdw->mBounds.i.y - 3.0f);
i_Scp->mpRubyBox->move(i_Scp->mpRubyBox->getBounds().i.x, i_Scp->mpRubyBox->getBounds().i.y - 3.0f);
i_Scp->mpRubyBoxSdw->move(i_Scp->mpRubyBoxSdw->getBounds().i.x, i_Scp->mpRubyBoxSdw->getBounds().i.y - 3.0f);
i_Scp->mpTextBox->setFont(font0);
i_Scp->mpRubyBox->setFont(font1);
+1 -1
View File
@@ -31,7 +31,7 @@ BOOL dWindArrow_c::createHeap() {
void dWindArrow_c::adjustHeap() {
mDoExt_restoreCurrentHeap();
if (mDoExt_adjustSolidHeap(heap) >= 0)
DCStoreRangeNoSync(heap->getStartAddr(), heap->getSize());
DCStoreRangeNoSync(heap->getStartAddr(), heap->getHeapSize());
}
/* 8023E46C-8023E48C .text dWindArrow_Draw__FP12dWindArrow_c */
+12 -13
View File
@@ -332,7 +332,7 @@ bool fopAcM_entrySolidHeap(fopAc_ac_c* i_this, heapCallbackFunc createHeapCB, u3
mDoExt_destroySolidHeap(heap);
heap = NULL;
} else {
u32 allocSize = ALIGN_NEXT(heap->getSize() - heap->getFreeSize(), 0x20);
u32 allocSize = ALIGN_NEXT(heap->getHeapSize() - heap->getFreeSize(), 0x20);
if (estimatedHeapSize < allocSize + 0x40) {
mDoExt_adjustSolidHeap(heap);
i_this->heap = heap;
@@ -380,7 +380,7 @@ bool fopAcM_entrySolidHeap(fopAc_ac_c* i_this, heapCallbackFunc createHeapCB, u3
// If fopAcM::HeapAdjustEntry is set, try to reallocate everything a second time.
// This time we set the estimated maximum heap size to the exact size allocated last time.
JKRSolidHeap * heap1 = NULL;
u32 allocSize = ALIGN_NEXT(heap->getSize() - heap->getFreeSize(), 0x10);
u32 allocSize = ALIGN_NEXT(heap->getHeapSize() - heap->getFreeSize(), 0x10);
if (allocSize + 0x10 + sizeof(JKRSolidHeap) < mDoExt_getGameHeap()->getFreeSize())
heap1 = mDoExt_createSolidHeapFromGameToCurrent(allocSize, 0x20);
@@ -455,7 +455,8 @@ void fopAcM_calcSpeed(fopAc_ac_c* i_this) {
f32 speedF = fopAcM_GetSpeedF(i_this);
f32 gravity = fopAcM_GetGravity(i_this);
f32 xSpeed = speedF * cM_ssin(i_this->current.angle.y);
f32 ySpeed = i_this->speed.y + gravity;
cXyz* speed_p = fopAcM_GetSpeed_p(i_this);
f32 ySpeed = speed_p->y + gravity;
f32 zSpeed = speedF * cM_scos(i_this->current.angle.y);
if (ySpeed < fopAcM_GetMaxFallSpeed(i_this))
@@ -466,9 +467,9 @@ void fopAcM_calcSpeed(fopAc_ac_c* i_this) {
/* 800251A0-8002520C .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */
void fopAcM_posMove(fopAc_ac_c* i_this, const cXyz* move) {
i_this->current.pos.x += i_this->speed.x;
i_this->current.pos.y += i_this->speed.y;
i_this->current.pos.z += i_this->speed.z;
i_this->current.pos.x += fopAcM_GetSpeed_p(i_this)->x;
i_this->current.pos.y += fopAcM_GetSpeed_p(i_this)->y;
i_this->current.pos.z += fopAcM_GetSpeed_p(i_this)->z;
if (move != NULL) {
i_this->current.pos.x += move->x;
@@ -581,10 +582,8 @@ static fopAc_cullSizeSphere l_cullSizeSphere[8] = {
};
static void dummy() {
static Vec dummy_4863;
static Vec min;
static Vec dummy_4899;
static Vec max;
static cXyz min;
static cXyz max;
}
/* 80025660-800259A8 .text fopAcM_cullingCheck__FP10fopAc_ac_c */
@@ -1047,7 +1046,7 @@ fopAc_ac_c* fopAcM_createItemForKP2(cXyz* pos, int i_itemNo, int roomNo, csXyz*
if (ac != NULL) {
fopAcM_SetSpeedF(ac, speedF);
ac->speed.y = speedY;
fopAcM_SetGravity(ac, gravity);
ac->gravity = gravity;
}
return ac;
}
@@ -1071,10 +1070,10 @@ void* fopAcM_fastCreateItem(cXyz* pos, int i_itemNo, int roomNo, csXyz* angle, c
int i;
u8 itemNo = check_itemno(i_itemNo);
u8 itemBitNo = (u8)i_itemBitNo;
int type = daItemType_0_e;
int action = daItemAct_A_e;
int switchNo2 = -1;
u8 itemBitNo = i_itemBitNo;
u32 params = MAKE_ITEM_PARAMS(itemNo, itemBitNo, switchNo2, type, action);
if (isHeart(i_itemNo)) {
@@ -1286,7 +1285,7 @@ fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo) {
scene_class* roomProc = fopScnM_SearchByID(dStage_roomControl_c::getStatusProcID(roomNo));
JUT_ASSERT(DEMO_SELECT(3572, 3594), roomProc != NULL);
fpc_ProcID grabProcID = daPy_getPlayerActorClass()->getGrabActorID();
fpc_ProcID grabProcID = ((daPy_py_c*)dComIfGp_getPlayer(0))->getGrabActorID();
fopAc_ac_c* enemy = fopAcM_SearchByID(grabProcID);
if (enemy != NULL && fopAcM_GetGroup(enemy) == fopAc_ENEMY_e)
return enemy;
+4 -4
View File
@@ -9800,10 +9800,10 @@ fopMsgM_f2d_class fopMsgM_centerPosCalc(fopMsgM_f2d_class param_1, fopMsgM_f2d_c
/* 8003BA40-8003BB34 .text fopMsgM_pane_parts_set__FP18fopMsgM_pane_class */
void fopMsgM_pane_parts_set(fopMsgM_pane_class* i_pane) {
i_pane->mPosTopLeftOrig.x = i_pane->pane->mBounds.i.x;
i_pane->mPosTopLeftOrig.y = i_pane->pane->mBounds.i.y;
i_pane->mSizeOrig.x = i_pane->pane->mBounds.getWidth();
i_pane->mSizeOrig.y = i_pane->pane->mBounds.getHeight();
i_pane->mPosTopLeftOrig.x = i_pane->pane->getBounds().i.x;
i_pane->mPosTopLeftOrig.y = i_pane->pane->getBounds().i.y;
i_pane->mSizeOrig.x = i_pane->pane->getWidth();
i_pane->mSizeOrig.y = i_pane->pane->getHeight();
fopMsgM_f2d_class center = fopMsgM_centerPosCalc(i_pane->mPosTopLeftOrig, i_pane->mSizeOrig);
i_pane->mPosCenterOrig.x = center.x;
i_pane->mPosCenterOrig.y = center.y;
+15 -5
View File
@@ -164,7 +164,7 @@ s32 fpcNdRq_IsPossibleTarget(process_node_class* i_procNode) {
currentNode = (request_node_class*)l_fpcNdRq_Queue.mpHead;
while (currentNode != NULL) {
currentNdCr = currentNode->mNodeCrReq;
if ((currentNdCr->mParameter == 2 || currentNdCr->mParameter == 4 || currentNdCr->mParameter == 1) && currentNdCr->mNodeProc.mProcId == bsPcId)
if ((currentNdCr->mParameter == 2 || currentNdCr->mParameter == DEMO_SELECT(3, 4) || currentNdCr->mParameter == 1) && currentNdCr->mNodeProc.mProcId == bsPcId)
return 0;
currentNode = (request_node_class*)NODE_GET_NEXT((&currentNode->base));
}
@@ -189,9 +189,19 @@ s32 fpcNdRq_IsIng(process_node_class* i_procNode) {
/* 8003F774-8003F8EC .text fpcNdRq_Create__FUl */
node_create_request* fpcNdRq_Create(u32 i_requestSize) {
static node_create_request clear = {
NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL,
0, NULL, NULL, NULL, 0, 0, NULL, 5, 0xFFFFFFFF,
NULL, 0xFFFFFFFE, NULL, 0xFFFFFFFE, 0x7FFF, NULL, 0x7FFF,
/* mCreateTag */ NULL, NULL, NULL, NULL, 0,
/* mProcMthCls */ NULL, NULL, NULL, NULL, 0, NULL, NULL,
/* mReqPhsProc */ NULL, 0,
/* mpPhsHandler */ NULL,
/* mpNodeCrReqMthCls */ NULL,
/* mParameter */ DEMO_SELECT(4, 5),
/* mRequestId */ 0xFFFFFFFF,
/* mNodeProc */ NULL, 0xFFFFFFFE,
/* mpLayerClass */ NULL,
/* mCreatingID */ 0xFFFFFFFE,
/* mProcName */ fpcNm_INVALID_e,
/* mpUserData */ NULL,
/* unk_0x60 */ 0x7FFF,
};
node_create_request* req = (node_create_request*)cMl::memalignB(-4, i_requestSize);
@@ -299,7 +309,7 @@ node_create_request* fpcNdRq_Request(u32 i_requestSize, int i_reqType,
case 2:
req = fpcNdRq_ChangeNode(i_requestSize, i_procNode, i_procName, i_data);
break;
case 4:
case DEMO_SELECT(3, 4):
break;
}
+2 -1
View File
@@ -9,5 +9,6 @@ process_profile_definition** g_fpcPf_ProfileList_p;
/* 8004003C-80040050 .text fpcPf_Get__Fs */
process_profile_definition* fpcPf_Get(s16 i_profName) {
return g_fpcPf_ProfileList_p[i_profName];
int profName = i_profName;
return g_fpcPf_ProfileList_p[profName];
}
+2 -2
View File
@@ -106,7 +106,7 @@ void CheckHeap(JUTGamePad* i_pad) {
static int countUsed(JKRExpHeap* heap) {
OSDisableScheduler();
int counter = 0;
JKRExpHeap::CMemBlock* used_blocks_head = heap->getHeadUsedList();
JKRExpHeap::CMemBlock* used_blocks_head = heap->getUsedFirst();
while (used_blocks_head) {
used_blocks_head = used_blocks_head->getNextBlock();
@@ -124,7 +124,7 @@ s32 HeapCheck::getUsedCount() const {
/* 800058D4-80005B28 .text heapDisplay__9HeapCheckFv */
void HeapCheck::heapDisplay() {
s32 heap_size = mHeap->getSize();
s32 heap_size = mHeap->getHeapSize();
s32 used_count = field_0x14 * mTargetHeapSize;
field_0x10 = used_count;