mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
Various d_ work (#2968)
* map work * various meter work * d_meter_button ShieldD almost equivalent * error fix
This commit is contained in:
@@ -78,7 +78,7 @@ public:
|
||||
virtual void writeLoop_(const void* pBuffer, s32 size, u32 pos);
|
||||
virtual void writeDone_(s32 len);
|
||||
virtual void waitMessage_();
|
||||
virtual s32 getFileSize() const;
|
||||
virtual s32 getFileSize() const { return mFileLength; }
|
||||
|
||||
/* 0x04 */ u32 mHandle;
|
||||
/* 0x08 */ s32 mFileLength;
|
||||
|
||||
@@ -1112,6 +1112,8 @@ public:
|
||||
|
||||
void CorrectCenter() { setFlag(0x40000000); }
|
||||
|
||||
int Gear() { return mGear; }
|
||||
|
||||
static engine_fn engine_tbl[];
|
||||
|
||||
/* 0x000 */ camera_class* field_0x0;
|
||||
|
||||
@@ -351,7 +351,7 @@ public:
|
||||
u8 getYSetFlagForce() { return mItemInfo.mYSetFlagForce; }
|
||||
u8 getFaceAnimeID() { return mItemInfo.mFaceAnimeID; }
|
||||
u8 getBaseAnimeID() { return mItemInfo.mBaseAnimeID; }
|
||||
bool isCStickSetFlag(u8 flag) { return mItemInfo.mCStickSetFlag & flag; }
|
||||
bool isCStickSetFlag(u8 flag) { return (mItemInfo.mCStickSetFlag & flag) ? true : false; }
|
||||
bool isDoSetFlag(u8 flag) { return (mItemInfo.mDoSetFlag & flag) ? true : false; }
|
||||
bool isASetFlag(u8 flag) { return (mItemInfo.mASetFlag & flag) ? true : false; }
|
||||
bool isRSetFlag(u8 flag) { return (mItemInfo.mRSetFlag & flag) ? true : false; }
|
||||
|
||||
+29
-7
@@ -2,6 +2,11 @@
|
||||
#define D_MAP_D_MAP_H
|
||||
|
||||
#include "d/d_map_path_dmap.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
|
||||
struct dMap_HIO_prm_res_src_s {
|
||||
|
||||
};
|
||||
|
||||
class dMap_HIO_list_c : public dMpath_HIO_n::hioList_c {
|
||||
public:
|
||||
@@ -21,10 +26,11 @@ public:
|
||||
virtual u32 addStringBinary(char*, u32, u32);
|
||||
|
||||
/* 0x04 */ u8 field_0x4[0x08 - 0x04];
|
||||
/* 0x08 */ dMap_HIO_list_c field_0x8;
|
||||
/* 0x08 */ dMap_HIO_list_c mList;
|
||||
|
||||
static dMap_HIO_c* mMySelfPointer;
|
||||
static dMpath_HIO_n::list_s l_list;
|
||||
static dMap_HIO_prm_res_src_s* m_res_src_p;
|
||||
};
|
||||
|
||||
struct dMap_prm_res_s {
|
||||
@@ -114,6 +120,7 @@ public:
|
||||
void setMapPaletteColorAlphaPer(int, int, f32);
|
||||
void resCopy();
|
||||
dMap_c(int, int, int, int);
|
||||
void changeTextureSize(int, int, int);
|
||||
void _remove();
|
||||
void getMapMinMaxXZ(int, f32*, f32*, f32*, f32*);
|
||||
void getPack(int, f32*, f32*);
|
||||
@@ -141,11 +148,15 @@ public:
|
||||
ResTIMG* getResTIMGPointer() { return mResTIMG; }
|
||||
f32 getTopEdgePlus() { return mTopEdgePlus; }
|
||||
f32 getPackPlusZ() { return mPackPlusZ; }
|
||||
f32 getPackZ() { return mPackZ; }
|
||||
f32 getTexelPerCm() { return 1.0f / field_0x58; }
|
||||
u16 getTexSizeY() { return mTexSizeY; }
|
||||
f32 getPackZ() const { return mPackZ; }
|
||||
f32 getTexelPerCm() const { return 1.0f / field_0x58; }
|
||||
u16 getTexSizeY() const { return mTexSizeH; }
|
||||
f32 getRightEdgePlus() { return mRightEdgePlus; }
|
||||
f32 getPackX() { return mPackX; }
|
||||
f32 getPackX() const { return mPackX; }
|
||||
int getStayRoomNo() const { return mStayRoomNo; }
|
||||
f32 getCenterZ() const { return mCenterZ; }
|
||||
|
||||
static dMap_c* m_mySelfPointer;
|
||||
|
||||
private:
|
||||
/* 0x40 */ dMap_prm_res_s* m_res_src;
|
||||
@@ -162,8 +173,8 @@ private:
|
||||
/* 0x6C */ f32 mRightEdgePlus;
|
||||
/* 0x70 */ f32 mTopEdgePlus;
|
||||
/* 0x74 */ int field_0x74;
|
||||
/* 0x78 */ u16 mTexSizeX;
|
||||
/* 0x7A */ u16 mTexSizeY;
|
||||
/* 0x78 */ u16 mTexSizeW;
|
||||
/* 0x7A */ u16 mTexSizeH;
|
||||
/* 0x7C */ int mStayRoomNo;
|
||||
/* 0x80 */ int field_0x80;
|
||||
/* 0x84 */ int field_0x84;
|
||||
@@ -175,4 +186,15 @@ private:
|
||||
/* 0x90 */ u8 field_0x90;
|
||||
}; // Size: 0x94
|
||||
|
||||
#if DEBUG
|
||||
class dMpath_RGBA_c {
|
||||
public:
|
||||
GXColor getGXColor() { return mColor; }
|
||||
|
||||
GXColor mColor;
|
||||
|
||||
virtual ~dMpath_RGBA_c() {}
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* D_MAP_D_MAP_H */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_MAP_D_MAP_PATH_H
|
||||
|
||||
#include "d/d_drawlist.h"
|
||||
#include "JSystem/JHostIO/JORMContext.h"
|
||||
|
||||
namespace dMpath_HIO_n {
|
||||
struct list_s {
|
||||
@@ -11,14 +12,14 @@ namespace dMpath_HIO_n {
|
||||
|
||||
class hioList_c {
|
||||
public:
|
||||
/* 0x00 */ list_s field_0x0;
|
||||
/* 0x00 */ list_s mList;
|
||||
|
||||
virtual ~hioList_c() {}
|
||||
virtual void copySrcToHio() = 0;
|
||||
virtual void copyHioToDst() = 0;
|
||||
virtual void copyBufToHio(const char*) = 0;
|
||||
|
||||
void set(const list_s& param_1) { field_0x0 = param_1; }
|
||||
void set(const list_s& param_1) { mList = param_1; }
|
||||
void gen(JORMContext*);
|
||||
void update(JORMContext*);
|
||||
u32 addString(char*, u32, u32) const;
|
||||
@@ -152,6 +153,7 @@ public:
|
||||
virtual const GXColor* getDecoLineColor(int, int);
|
||||
virtual s32 getDecorationLineWidth(int);
|
||||
|
||||
f32 getCmPerTexel() const { return mCmPerTexel; }
|
||||
bool isDrawAreaCheck(const Vec& param_0) {
|
||||
return (param_0.x >= mPosX - field_0x8 * 2.0f &&
|
||||
param_0.x <= mPosX + field_0x8 * 2.0f) &&
|
||||
|
||||
@@ -96,7 +96,9 @@ public:
|
||||
virtual ~dMenu_Option_c();
|
||||
|
||||
u8 getQuitStatus() { return mQuitStatus; }
|
||||
u8 isUseFlag(u8 i_flag) { return (mUseFlag & i_flag) != 0; }
|
||||
bool isUseFlag(u8 i_flag) {
|
||||
return ((u8)mUseFlag & (u8)i_flag) != 0 ? true : false;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x004 */ J2DScreen* mpBackScreen;
|
||||
|
||||
@@ -261,7 +261,7 @@ public:
|
||||
void setItemParamZ(u8);
|
||||
void setItemParamB(u8);
|
||||
bool getFishingType();
|
||||
bool getCanoeFishing();
|
||||
u8 getCanoeFishing();
|
||||
bool getCameraSubject();
|
||||
bool getItemSubject();
|
||||
bool getPlayerSubject();
|
||||
|
||||
@@ -123,14 +123,14 @@ public:
|
||||
void setPauseStatus(u8 i_status) { mPauseStatus = i_status; }
|
||||
void resetPauseStatus() { mPauseStatus = 0; }
|
||||
u8 getPauseStatus() { return mPauseStatus; }
|
||||
bool isGameStatus(int i_status) { return mGameStatus & i_status; }
|
||||
bool isGameStatus(int i_status) { return (mGameStatus & (u16)i_status) != 0 ? true : false; }
|
||||
bool isTouchKeyCheck(int i_status) { return mTouchKeyCheck & (1 << i_status); }
|
||||
|
||||
// fake function, should be isTouchKeyCheck
|
||||
bool isTouchKeyCheck_alt(int i_status) { return (mTouchKeyCheck >> i_status) & 1; }
|
||||
|
||||
void setMapKeyDirection(u16 i_direction) { mMapKeyDirection = i_direction; }
|
||||
bool isSub2DStatus(int i_flag) { return mSub2DStatus & (1 << i_flag); }
|
||||
bool isSub2DStatus(int i_flag) { return (mSub2DStatus & (u16)(1 << i_flag)) != 0 ? true : false; }
|
||||
void offMenuInForce(int i_flag) { unk_0x98 &= ~(1 << i_flag); }
|
||||
bool isMenuInForce(int i_flag) { return unk_0x98 & (1 << i_flag); }
|
||||
u16 getMapKeyDirection() { return mMapKeyDirection; }
|
||||
@@ -173,7 +173,7 @@ public:
|
||||
u16 getFloatingFlowID() { return mFloatingFlowID; }
|
||||
bool isFloatingMessageWakuVisible() { return mFloatingMessageWakuVisible; }
|
||||
void onBlinkButton(int i_flag) { mBlinkButton |= i_flag; }
|
||||
bool isBlinkButton(int i_flag) { return mBlinkButton & i_flag; }
|
||||
bool isBlinkButton(int i_flag) { return (mBlinkButton & (u16)i_flag) != 0 ? true : false; }
|
||||
void resetBlinkButton() { mBlinkButton = 0; }
|
||||
s16 getFloatingMessageTimer() { return mFloatingMessageTimer; }
|
||||
u16 getFloatingMessageID() { return mFloatingMessageID; }
|
||||
@@ -739,7 +739,7 @@ inline s16 dMeter2Info_getFloatingMessageTimer() {
|
||||
return g_meter2_info.getFloatingMessageTimer();
|
||||
}
|
||||
|
||||
inline u32 dMeter2Info_getFloatingMessageID() {
|
||||
inline u16 dMeter2Info_getFloatingMessageID() {
|
||||
return g_meter2_info.getFloatingMessageID();
|
||||
}
|
||||
|
||||
|
||||
@@ -753,7 +753,7 @@ public:
|
||||
/* 0x2C4 */ f32 mButtonATextSpacing;
|
||||
/* 0x2C8 */ s32 mButtonATextActionID;
|
||||
/* 0x2CC */ u32 field_0x2cc;
|
||||
/* 0x2D0 */ bool mButtonATextDebug;
|
||||
/* 0x2D0 */ u8 mButtonATextDebug;
|
||||
/* 0x2D4 */ f32 mButtonBFontScale;
|
||||
/* 0x2D8 */ f32 mButtonBFontPosX;
|
||||
/* 0x2DC */ f32 mButtonBFontPosY;
|
||||
@@ -840,13 +840,13 @@ public:
|
||||
/* 0x420 */ s16 mButtonCrossMoveFrame;
|
||||
/* 0x422 */ s16 field_0x422;
|
||||
/* 0x424 */ s16 field_0x424;
|
||||
/* 0x426 */ bool mButtonDebug[4];
|
||||
/* 0x426 */ u8 mButtonDebug[4];
|
||||
/* 0x42A */ u8 mButtonXYItemDimAlpha;
|
||||
/* 0x42B */ u8 mButtonXYBaseDimAlpha;
|
||||
/* 0x42C */ u8 field_0x42c;
|
||||
/* 0x42D */ u8 mMaxSpurAmount;
|
||||
/* 0x42E */ bool mSpurDebug;
|
||||
/* 0x42F */ bool field_0x42f;
|
||||
/* 0x42E */ u8 mSpurDebug;
|
||||
/* 0x42F */ u8 field_0x42f;
|
||||
/* 0x430 */ JUtility::TColor mSpurIconPikariFrontInner;
|
||||
/* 0x434 */ JUtility::TColor mSpurIconPikariFrontOuter;
|
||||
/* 0x438 */ JUtility::TColor mSpurIconPikariBackInner;
|
||||
@@ -921,9 +921,9 @@ public:
|
||||
/* 0x55C */ u32 mMessageID;
|
||||
/* 0x560 */ u32 mFlowID;
|
||||
/* 0x564 */ s16 mMessageDuration;
|
||||
/* 0x566 */ bool mMessageDebug;
|
||||
/* 0x567 */ bool mFlowDebug;
|
||||
/* 0x568 */ bool mItemScaleAdjustON;
|
||||
/* 0x566 */ u8 mMessageDebug;
|
||||
/* 0x567 */ u8 mFlowDebug;
|
||||
/* 0x568 */ u8 mItemScaleAdjustON;
|
||||
/* 0x569 */ u8 mItemScalePercent;
|
||||
/* 0x56C */ f32 mTouchAreaUnselectScale[5];
|
||||
/* 0x580 */ f32 mTouchAreaSelectScale[5];
|
||||
@@ -937,7 +937,7 @@ public:
|
||||
/* 0x5F0 */ JUtility::TColor mTouchAreaSelectWhite[3];
|
||||
/* 0x5FC */ JUtility::TColor mTouchAreaSelectBlack[3];
|
||||
/* 0x608 */ s16 mTouchAreaSelectFrameNum;
|
||||
/* 0x60A */ bool field_0x60a;
|
||||
/* 0x60A */ u8 field_0x60a;
|
||||
/* 0x60C */ f32 mLanternIconMeterPosX;
|
||||
/* 0x610 */ f32 mLanternIconMeterPosY;
|
||||
/* 0x614 */ f32 mLanternIconMeterSize;
|
||||
|
||||
@@ -141,8 +141,12 @@ public:
|
||||
|
||||
bool isSetButton(u8 i_no) { return mButtonTimers[i_no] <= 0; }
|
||||
void onButtonShowBit(int i_bit) { field_0x4b0 |= (u16)(1 << i_bit); }
|
||||
#if DEBUG
|
||||
void offButtonShowBit(int i_bit) { field_0x4b0 &= (u16)~(u16)(1 << i_bit); }
|
||||
#else
|
||||
void offButtonShowBit(int i_bit) { field_0x4b0 &= ~(u16)(1 << i_bit); }
|
||||
bool isButtonShowBit(int i_bit) { return field_0x4b0 & (u16)(1 << i_bit); }
|
||||
#endif
|
||||
bool isButtonShowBit(int i_bit) { return field_0x4b0 & (u16)(1 << i_bit) ? true : false; }
|
||||
|
||||
static const int BUTTON_NUM = 22;
|
||||
|
||||
|
||||
+41
-32
@@ -2,6 +2,7 @@
|
||||
#define D_METER_D_METER_MAP_H
|
||||
|
||||
#include "d/d_map_path_dmap.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
|
||||
class J2DPicture;
|
||||
class dMap_c;
|
||||
@@ -12,43 +13,47 @@ public:
|
||||
dMeter_map_HIO_c();
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
virtual ~dMeter_map_HIO_c();
|
||||
virtual ~dMeter_map_HIO_c() {
|
||||
mMySelfPointer = NULL;
|
||||
mAreaMap = NULL;
|
||||
field_0x38 = 0;
|
||||
}
|
||||
|
||||
void update();
|
||||
|
||||
static dMeter_map_HIO_c* mMySelfPointer;
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u8 field_0x6;
|
||||
/* 0x07 */ u8 field_0x7;
|
||||
/* 0x08 */ s16 field_0x8;
|
||||
/* 0x0A */ s16 field_0xa;
|
||||
/* 0x0C */ s16 field_0xc;
|
||||
/* 0x0E */ s16 field_0xe;
|
||||
/* 0x10 */ s16 field_0x10;
|
||||
/* 0x12 */ s16 field_0x12;
|
||||
/* 0x14 */ s16 field_0x14;
|
||||
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x05 */ u8 mDebugMapExpansion;
|
||||
/* 0x06 */ u8 mMapDisplayLocation;
|
||||
/* 0x08 */ s16 mWideBottomLeftX;
|
||||
/* 0x0A */ s16 mWideY;
|
||||
/* 0x0C */ s16 mNormalBottomLeftX;
|
||||
/* 0x0E */ s16 mNormalY;
|
||||
/* 0x10 */ s16 mGcBottomLeftX;
|
||||
/* 0x12 */ s16 mGcY;
|
||||
/* 0x14 */ s16 mHiddenRightX;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
/* 0x17 */ u8 field_0x17;
|
||||
/* 0x17 */ u8 mSizeTypeChange;
|
||||
/* 0x18 */ s16 field_0x18;
|
||||
/* 0x1A */ s16 field_0x1a;
|
||||
/* 0x1C */ s16 field_0x1c;
|
||||
/* 0x1E */ s16 field_0x1e;
|
||||
/* 0x20 */ s16 field_0x20;
|
||||
/* 0x22 */ s16 field_0x22;
|
||||
/* 0x24 */ s16 field_0x24;
|
||||
/* 0x26 */ u8 field_0x26;
|
||||
/* 0x27 */ u8 field_0x27[0x2a - 0x27];
|
||||
/* 0x1A */ s16 mMediumHorizontal;
|
||||
/* 0x1C */ s16 mMediumVertical;
|
||||
/* 0x1E */ s16 mBigHorizontal;
|
||||
/* 0x20 */ s16 mBigVertical;
|
||||
/* 0x22 */ s16 mSmallHorizontal;
|
||||
/* 0x24 */ s16 mSmallVertical;
|
||||
/* 0x26 */ u8 mMapDisplaySize;
|
||||
/* 0x28 */ s16 field_0x28;
|
||||
/* 0x2A */ s16 field_0x2a;
|
||||
/* 0x2C */ u8 field_0x2c;
|
||||
/* 0x2D */ u8 field_0x2d;
|
||||
/* 0x2E */ u8 field_0x2e;
|
||||
/* 0x2F */ u8 field_0x2f;
|
||||
/* 0x2C */ u8 mMapAlphaTest;
|
||||
/* 0x2D */ u8 mAlpha;
|
||||
/* 0x2E */ u8 mTextureResolutionHalved;
|
||||
/* 0x2F */ u8 mForcedMapTopEdgeChange;
|
||||
/* 0x30 */ s16 field_0x30;
|
||||
/* 0x32 */ u8 field_0x32;
|
||||
/* 0x33 */ u8 field_0x33;
|
||||
/* 0x34 */ dMap_HIO_c* field_0x34;
|
||||
/* 0x32 */ u8 mMapDisplayProhibited;
|
||||
/* 0x33 */ u8 mMapRenderingProhibited;
|
||||
/* 0x34 */ dMap_HIO_c* mAreaMap;
|
||||
/* 0x38 */ int field_0x38;
|
||||
};
|
||||
|
||||
class dMeterMap_c : public dDlst_base_c {
|
||||
@@ -68,6 +73,8 @@ public:
|
||||
static bool isMapOpenCheck();
|
||||
dMeterMap_c(J2DScreen*);
|
||||
void _create(J2DScreen*);
|
||||
void setDispPosOutSide();
|
||||
void setDispPosInSide();
|
||||
void _delete();
|
||||
void _move(u32);
|
||||
void _draw();
|
||||
@@ -83,17 +90,19 @@ public:
|
||||
virtual ~dMeterMap_c();
|
||||
|
||||
bool isDispPosInsideFlg() { return field_0x2d != 0; }
|
||||
dMeterMap_c* getMapPointer() { return (dMeterMap_c*)mMap; }
|
||||
void setSizeW(f32 w) { mSizeW = w; }
|
||||
void setSizeH(f32 h) { mSizeH = h; }
|
||||
|
||||
enum { MAP_SIZE_TYPE_BIG = 2, MAP_SIZE_TYPE_SMALL = 3, MAP_SIZE_TYPE_STAGE = 7 };
|
||||
enum { MAP_SIZE_TYPE_BIG = 2, MAP_SIZE_TYPE_SMALL = 3, MAP_SIZE_TYPE_MEDIUM = 4, MAP_SIZE_TYPE_STAGE = 7 };
|
||||
|
||||
static dMeterMap_c* mMySelfPointer;
|
||||
|
||||
private:
|
||||
#if DEBUG
|
||||
/* 0x04 */ u8 field_0x4_debug;
|
||||
/* 0x08 */ int field_0x8_debug;
|
||||
#endif
|
||||
|
||||
private:
|
||||
/* 0x04 */ J2DPicture* mMapJ2DPicture;
|
||||
/* 0x08 */ dMap_c* mMap;
|
||||
/* 0x0C */ s32 mIsCompass;
|
||||
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
void changeGroupLocal(s16);
|
||||
bool getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*,
|
||||
char*, char*, s16*);
|
||||
u8 isGetItemMessage();
|
||||
bool isGetItemMessage();
|
||||
bool isKanbanMessage();
|
||||
bool isHowlMessage();
|
||||
bool isMidonaMessage();
|
||||
@@ -424,7 +424,7 @@ inline void dMsgObject_setTalkActor(fopAc_ac_c* actor) {
|
||||
inline bool dMsgObject_getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* param_2,
|
||||
JUTFont* param_3, COutFont_c* param_4, char* param_5,
|
||||
char* param_6, char* param_7, s16* param_8) {
|
||||
return dMsgObject_c::getString(param_0, param_1, param_2, param_3, param_4, param_5, param_6,
|
||||
return dMsgObject_getMsgObjectClass()->getString(param_0, param_1, param_2, param_3, param_4, param_5, param_6,
|
||||
param_7, param_8);
|
||||
}
|
||||
|
||||
@@ -493,7 +493,7 @@ inline void dMsgObject_onMsgSend() {
|
||||
}
|
||||
|
||||
inline bool dMsgObject_isFukidashiCheck() {
|
||||
return dMsgObject_getMsgObjectClass()->getScrnDrawPtr() != NULL ? true : false;
|
||||
return dMsgObject_getMsgObjectClass()->getScrnDrawPtr() == NULL ? false : true;
|
||||
}
|
||||
|
||||
inline void* dMsgObject_getTalkHeap() {
|
||||
|
||||
+10
-3
@@ -80,6 +80,13 @@ struct stage_stag_info_class {
|
||||
/* 0x2C */ u8 mParticleNo[16];
|
||||
}; // Size: 0x3C
|
||||
|
||||
class dStage_stagInfo_c {
|
||||
public:
|
||||
enum {
|
||||
/* 0x1 */ UB_D_MAP = 1,
|
||||
};
|
||||
};
|
||||
|
||||
// SCLS
|
||||
struct stage_scls_info_class {
|
||||
/* 0x0 */ char mStage[8];
|
||||
@@ -1358,7 +1365,7 @@ inline u32 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info) {
|
||||
return (p_info->field_0x0a >> 0x3) & 0xFF;
|
||||
}
|
||||
|
||||
inline s16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) {
|
||||
inline s32 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) {
|
||||
return p_info->field_0x0a & 7;
|
||||
}
|
||||
|
||||
@@ -1475,11 +1482,11 @@ inline f32 dStage_FileList2_dt_GetRightRmX(dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mRightRmX;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetInnerRmZ(dStage_FileList2_dt_c* p_fList2) {
|
||||
inline f32 dStage_FileList2_dt_GetInnerRmZ(const dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mInnerRmZ;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetFrontRmZ(dStage_FileList2_dt_c* p_fList2) {
|
||||
inline f32 dStage_FileList2_dt_GetFrontRmZ(const dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mFrontRmZ;
|
||||
}
|
||||
|
||||
|
||||
+119
-13
@@ -6,6 +6,7 @@
|
||||
#include "d/dolzel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/d_map.h"
|
||||
#include "JSystem/JHostIO/JORFile.h"
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
@@ -23,18 +24,105 @@ void dMap_HIO_c::genMessage(JORMContext* mctx) {
|
||||
mctx->genButton("バイナリファイル書き出し", 0x4000006, 0, NULL, -1, -1, 512, 24);
|
||||
mctx->genButton("バイナリファイル読み込み", 0x4000007, 0, NULL, -1, -1, 512, 24);
|
||||
mctx->genButton("バイナリダンプ", 0x4000008, 0, NULL, -1, -1, 512, 24);
|
||||
field_0x8.gen(mctx);
|
||||
mList.gen(mctx);
|
||||
mctx->genButton("ID_INFO_ROOM_MAX_TEXEL", 0x4000009, 0, NULL, -1, -1, 512, 24);
|
||||
mctx->genButton("ID_INFO_SWITCH", 0x400000a, 0, NULL, -1, -1, 512, 24);
|
||||
}
|
||||
|
||||
dMap_HIO_c::dMap_HIO_c() {
|
||||
mMySelfPointer = this;
|
||||
field_0x8.set(l_list);
|
||||
mList.set(l_list);
|
||||
}
|
||||
|
||||
void dMap_HIO_c::listenPropertyEvent(const JORPropertyEvent*) {
|
||||
// DEBUG NONMATCHING
|
||||
void dMap_HIO_c::listenPropertyEvent(const JORPropertyEvent* evt) {
|
||||
// NONMATCHING
|
||||
JORReflexible::listenPropertyEvent(evt);
|
||||
|
||||
if (dMap_HIO_prm_res_dst_s::m_res != NULL) {
|
||||
JORFile jorFile;
|
||||
switch ((u32)evt->id) {
|
||||
case 0x4000002:
|
||||
if (dMap_c::m_mySelfPointer != NULL) {
|
||||
f32 packX, packZ;
|
||||
dMap_c::m_mySelfPointer->getPack(dMap_c::m_mySelfPointer->getStayRoomNo(), &packX, &packZ);
|
||||
OS_REPORT("mNowCenterRoomNo<%d>packX<%11.3f>packZ<%11.3f>\n", packX, packZ, dMap_c::m_mySelfPointer->getStayRoomNo());
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x4000004:
|
||||
writeHostioTextFile(NULL);
|
||||
break;
|
||||
|
||||
case 0x4000005:
|
||||
writeBinaryTextFile(NULL);
|
||||
break;
|
||||
|
||||
case 0x4000006:
|
||||
writeBinaryFile(NULL);
|
||||
break;
|
||||
|
||||
case 0x4000007: {
|
||||
readBinaryFile(NULL);
|
||||
JORMContext* ctx_p = attachJORMContext(8);
|
||||
ctx_p->startUpdateNode(this);
|
||||
mList.update(ctx_p);
|
||||
ctx_p->endUpdateNode();
|
||||
releaseJORMContext(ctx_p);
|
||||
break;
|
||||
}
|
||||
|
||||
case 0x4000003: {
|
||||
JORMContext* ctx_p = attachJORMContext(8);
|
||||
ctx_p->startUpdateNode(this);
|
||||
mList.update(ctx_p);
|
||||
ctx_p->endUpdateNode();
|
||||
releaseJORMContext(ctx_p);
|
||||
break;
|
||||
}
|
||||
|
||||
case 0x4000008:
|
||||
binaryDump(dMap_HIO_prm_res_dst_s::m_res, 0x1BC);
|
||||
break;
|
||||
|
||||
case 0x4000009:
|
||||
if (dMap_c::m_mySelfPointer != NULL) {
|
||||
f32 stageTexelMinZ = -3.4028235e38f;
|
||||
f32 stageTexelMaxZ = -3.4028235e38f;
|
||||
for (int i = 0; i < 64; i++) {
|
||||
dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i);
|
||||
if (fileList2_p != NULL) {
|
||||
f32 texelMaxZ = dStage_FileList2_dt_GetInnerRmZ(fileList2_p);
|
||||
f32 frontRmZ = dStage_FileList2_dt_GetFrontRmZ(fileList2_p);
|
||||
f32 cmPerTexel = dMap_c::m_mySelfPointer->getCmPerTexel();
|
||||
f32 texelMinZ = (dMap_c::m_mySelfPointer->getCenterZ() - texelMaxZ) / cmPerTexel;
|
||||
texelMaxZ = dMap_c::m_mySelfPointer->getCmPerTexel();
|
||||
texelMaxZ = (frontRmZ - dMap_c::m_mySelfPointer->getCenterZ()) / texelMaxZ;
|
||||
OS_REPORT("<%2d>texelMinZ<%10.3f>texelMaxZ<%10.3f>\n", texelMinZ, texelMaxZ, i);
|
||||
|
||||
if (texelMinZ > stageTexelMinZ) {
|
||||
stageTexelMinZ = texelMinZ;
|
||||
}
|
||||
|
||||
if (texelMaxZ > stageTexelMaxZ) {
|
||||
stageTexelMaxZ = texelMaxZ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
OS_REPORT("stageTexelMinZ<%10.3f>\n", stageTexelMinZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void dMap_HIO_list_c::copySrcToHio() {
|
||||
// NONMATCHING
|
||||
if (dMap_HIO_c::m_res_src_p != NULL) {
|
||||
dMpath_RGBA_c color;
|
||||
for (int i = 0; i < 51; i++) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -637,8 +725,8 @@ dMap_c::dMap_c(int param_0, int param_1, int param_2, int param_3) {
|
||||
mTopEdgePlus = 0.0f;
|
||||
|
||||
field_0x74 = 0;
|
||||
mTexSizeX = 0;
|
||||
mTexSizeY = 0;
|
||||
mTexSizeW = 0;
|
||||
mTexSizeH = 0;
|
||||
mStayRoomNo = -1;
|
||||
field_0x80 = -1;
|
||||
field_0x84 = -1;
|
||||
@@ -658,8 +746,8 @@ dMap_c::dMap_c(int param_0, int param_1, int param_2, int param_3) {
|
||||
m_res_src = (dMap_prm_res_s*)dComIfG_getObjectRes("Always", 0x45);
|
||||
resCopy();
|
||||
|
||||
mTexSizeX = param_0;
|
||||
mTexSizeY = param_1;
|
||||
mTexSizeW = param_0;
|
||||
mTexSizeH = param_1;
|
||||
|
||||
if (dMap_HIO_prm_res_dst_s::m_res->field_0x1ae > 0) {
|
||||
field_0x74 = dMap_HIO_prm_res_dst_s::m_res->field_0x1b0 / 6;
|
||||
@@ -669,14 +757,32 @@ dMap_c::dMap_c(int param_0, int param_1, int param_2, int param_3) {
|
||||
mImage_p = new (0x20) u8[buffer_size];
|
||||
JUT_ASSERT(0, mImage_p != NULL);
|
||||
|
||||
renderingDAmap_c::init(mImage_p, mTexSizeX, mTexSizeY, mTexSizeX, mTexSizeY);
|
||||
renderingDAmap_c::init(mImage_p, mTexSizeW, mTexSizeH, mTexSizeW, mTexSizeH);
|
||||
|
||||
mResTIMG = new (0x20) ResTIMG;
|
||||
JUT_ASSERT(0, mResTIMG != NULL);
|
||||
|
||||
makeResTIMG(mResTIMG, mTexSizeX, mTexSizeY, mImage_p, (u8*)m_res, 0x33);
|
||||
makeResTIMG(mResTIMG, mTexSizeW, mTexSizeH, mImage_p, (u8*)m_res, 0x33);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMap_c::changeTextureSize(int param_1, int param_2, int param_3) {
|
||||
JUT_ASSERT(2672, mImage_p != NULL);
|
||||
JUT_ASSERT(2673, mResTIMG != NULL);
|
||||
|
||||
mTexSizeW = param_1 >> param_3;
|
||||
mTexSizeH = param_2 >> param_3;
|
||||
|
||||
u32 imageSize = GXGetTexBufferSize(mTexSizeW, mTexSizeH, 9, 0, 0);
|
||||
OS_REPORT("imageSize<%d> <%d kbyte>mTexSizeW<%d>mTexSizeH<%d>\n", imageSize, imageSize * 0.0009765625f, mTexSizeW, mTexSizeH);
|
||||
|
||||
JUT_ASSERT(2682, mImage_p != NULL);
|
||||
|
||||
init(mImage_p, mTexSizeW, mTexSizeH, param_1, param_2);
|
||||
makeResTIMG(mResTIMG, mTexSizeW, mTexSizeH, mImage_p, (u8*)m_res, 0x33);
|
||||
}
|
||||
#endif
|
||||
|
||||
void dMap_c::_remove() {
|
||||
if (mImage_p != NULL) {
|
||||
delete[] mImage_p;
|
||||
@@ -834,7 +940,7 @@ void dMap_c::calcMapCmPerTexel(int i_roomNo, f32* ip_cmPerTexel) {
|
||||
JUT_ASSERT(0, ip_cmPerTexel != NULL);
|
||||
|
||||
f32 cmPerTexel = 0.0f;
|
||||
JUT_ASSERT(0, mTexSizeY != 0);
|
||||
JUT_ASSERT(0, mTexSizeH != 0);
|
||||
|
||||
if (i_roomNo >= 0) {
|
||||
if (getStayType() == 0) {
|
||||
@@ -853,7 +959,7 @@ void dMap_c::calcMapCmPerTexel(int i_roomNo, f32* ip_cmPerTexel) {
|
||||
var_f3 = temp_f0;
|
||||
}
|
||||
|
||||
cmPerTexel = var_f3 / ((f32)mTexSizeY - (f32)(field_0x74 + 4));
|
||||
cmPerTexel = var_f3 / ((f32)mTexSizeH - (f32)(field_0x74 + 4));
|
||||
} else {
|
||||
f32 var_f31 = 0.0f;
|
||||
|
||||
@@ -868,7 +974,7 @@ void dMap_c::calcMapCmPerTexel(int i_roomNo, f32* ip_cmPerTexel) {
|
||||
var_f31 = 10800.0f;
|
||||
}
|
||||
|
||||
cmPerTexel = var_f31 / (f32)mTexSizeY;
|
||||
cmPerTexel = var_f31 / (f32)mTexSizeH;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "d/dolzel.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/JHostIO/JORFile.h"
|
||||
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
||||
#include "JSystem/JHostIO/JORFile.h"
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
|
||||
+82
-18
@@ -103,10 +103,19 @@ void dMenu_Option_c::_create() {
|
||||
|
||||
mpFont = mDoExt_getMesgFont();
|
||||
mpString = new dMsgString_c();
|
||||
JUT_ASSERT(197, mpString != NULL);
|
||||
|
||||
|
||||
mpMeterHaihai = new dMeterHaihai_c(3);
|
||||
JUT_ASSERT(201, mpMeterHaihai);
|
||||
|
||||
field_0x3f6 = 0;
|
||||
mpScreen = new J2DScreen();
|
||||
mpScreen->setPriority("zelda_option_select_menu.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(205, mpScreen != NULL);
|
||||
|
||||
bool fg = mpScreen->setPriority("zelda_option_select_menu.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(210, fg != false);
|
||||
|
||||
mpScreen->search('base_a_n')->hide();
|
||||
mpScreen->search('y_set_p4')->hide();
|
||||
mpScreen->search('y_set_p3')->hide();
|
||||
@@ -120,24 +129,41 @@ void dMenu_Option_c::_create() {
|
||||
field_0x254[i]->setString(0x20, "");
|
||||
}
|
||||
mpBackScreen = new J2DScreen();
|
||||
mpBackScreen->setPriority("zelda_option_base.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(246, mpBackScreen != NULL);
|
||||
fg = mpBackScreen->setPriority("zelda_option_base.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(251, fg != false);
|
||||
mpBackScreen->search('wi_btn_n')->hide();
|
||||
field_0x27c = mpBackScreen->search('let_area');
|
||||
|
||||
mpClipScreen = new J2DScreen();
|
||||
mpClipScreen->setPriority("zelda_option_menu_text.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(265, mpClipScreen != NULL);
|
||||
fg = mpClipScreen->setPriority("zelda_option_menu_text.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(269, fg != false);
|
||||
dPaneClass_showNullPane(mpClipScreen);
|
||||
|
||||
mpClipScreen->setScissor(true);
|
||||
mpShadowScreen = new J2DScreen();
|
||||
mpShadowScreen->setPriority("zelda_option_menu_shadow.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(274, mpShadowScreen != NULL);
|
||||
fg = mpShadowScreen->setPriority("zelda_option_menu_shadow.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(278, fg != false);
|
||||
dPaneClass_showNullPane(mpShadowScreen);
|
||||
mpShadowScreen->search('mw_n_5')->hide();
|
||||
|
||||
mpTVScreen = new J2DScreen();
|
||||
mpTVScreen->setPriority("zelda_option_check.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(287, mpTVScreen != NULL);
|
||||
fg = mpTVScreen->setPriority("zelda_option_check.blo", 0x20000, mpArchive);
|
||||
JUT_ASSERT(291, fg != false);
|
||||
dPaneClass_showNullPane(mpTVScreen);
|
||||
|
||||
mpTVButtonAB = new CPaneMgr(mpTVScreen, 'g_abtn_n', 0, NULL);
|
||||
JUT_ASSERT(295, mpTVButtonAB != NULL);
|
||||
|
||||
mpTVButtonText = new CPaneMgr(mpTVScreen, 'a_text_n', 0, NULL);
|
||||
JUT_ASSERT(298, mpTVButtonText != NULL);
|
||||
mpTVScreen->search('g_abtn_n')->hide();
|
||||
|
||||
mpScreenIcon = new J2DScreen();
|
||||
JUT_ASSERT(325, mpScreenIcon != NULL);
|
||||
mpScreenIcon->setPriority("zelda_collect_soubi_do_icon_parts.blo", 0x20000, mpArchive);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpButtonAB[i] = NULL;
|
||||
@@ -157,24 +183,31 @@ void dMenu_Option_c::_create() {
|
||||
setBButtonString(0x3F9);
|
||||
ResTIMG* timg = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti");
|
||||
mpBlackTex = new J2DPicture(timg);
|
||||
JUT_ASSERT(402, mpBlackTex != NULL);
|
||||
mpBlackTex->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 0xff));
|
||||
mpBlackTex->setAlpha(0);
|
||||
field_0x374 = 0.0f;
|
||||
mpWarning = new dFile_warning_c(mpArchive, 1);
|
||||
JUT_ASSERT(408, mpWarning != NULL);
|
||||
mpWarning->setFontColor(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0xc8, 0xc8, 0xc8, 0xff));
|
||||
mpSelectScreen = new J2DScreen();
|
||||
mpSelectScreen->setPriority("zelda_file_select_yes_no_window.blo", 0x1100000, mpArchive);
|
||||
JUT_ASSERT(412, mpSelectScreen != NULL);
|
||||
fg = mpSelectScreen->setPriority("zelda_file_select_yes_no_window.blo", 0x1100000, mpArchive);
|
||||
JUT_ASSERT(416, fg != false);
|
||||
dPaneClass_showNullPane(mpSelectScreen);
|
||||
void* resource = JKRGetNameResource("zelda_file_select_yes_no_window.bck", mpArchive);
|
||||
field_0x24 = (J2DAnmTransform*)J2DAnmLoaderDataBase::load(resource);
|
||||
field_0x28 = (J2DAnmTransform*)J2DAnmLoaderDataBase::load(resource);
|
||||
field_0x20 = (J2DAnmTransform*)J2DAnmLoaderDataBase::load(resource);
|
||||
|
||||
void* bck = JKRGetNameResource("zelda_file_select_yes_no_window.bck", mpArchive);
|
||||
field_0x24 = (J2DAnmTransform*)J2DAnmLoaderDataBase::load(bck);
|
||||
field_0x28 = (J2DAnmTransform*)J2DAnmLoaderDataBase::load(bck);
|
||||
field_0x20 = (J2DAnmTransform*)J2DAnmLoaderDataBase::load(bck);
|
||||
field_0x24->searchUpdateMaterialID(mpSelectScreen);
|
||||
field_0x28->searchUpdateMaterialID(mpSelectScreen);
|
||||
field_0x20->searchUpdateMaterialID(mpSelectScreen);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpYesNoSelBase_c[i] = new CPaneMgr(mpSelectScreen, l_tagName012[i], 0, NULL);
|
||||
JUT_ASSERT(439, mpYesNoSelBase_c[i] != NULL);
|
||||
mpYesNoTxt_c[i] = new CPaneMgr(mpSelectScreen, l_tagName013[i], 0, NULL);
|
||||
JUT_ASSERT(441, mpYesNoTxt_c[i] != NULL);
|
||||
J2DTextBox* yesNoTxt = (J2DTextBox*)mpYesNoTxt_c[i]->getPanePtr();
|
||||
yesNoTxt->setFont(mDoExt_getMesgFont());
|
||||
char message[24];
|
||||
@@ -182,24 +215,33 @@ void dMenu_Option_c::_create() {
|
||||
J2DTextBox* yesNoTxt2 = (J2DTextBox*)mpYesNoTxt_c[i]->getPanePtr();
|
||||
yesNoTxt2->setString(0x20, message);
|
||||
}
|
||||
resource = JKRGetNameResource("zelda_file_select_yes_no_window.bpk", mpArchive);
|
||||
field_0x2c = (J2DAnmColor*)J2DAnmLoaderDataBase::load(resource);
|
||||
|
||||
void* bpk = JKRGetNameResource("zelda_file_select_yes_no_window.bpk", mpArchive);
|
||||
JUT_ASSERT(449, bpk != NULL);
|
||||
field_0x2c = (J2DAnmColor*)J2DAnmLoaderDataBase::load(bpk);
|
||||
field_0x2c->searchUpdateMaterialID(mpSelectScreen);
|
||||
field_0x3c0 = 0;
|
||||
resource = JKRGetNameResource("zelda_file_select_yes_no_window.btk", mpArchive);
|
||||
field_0x30 = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(resource);
|
||||
|
||||
void* btk = JKRGetNameResource("zelda_file_select_yes_no_window.btk", mpArchive);
|
||||
JUT_ASSERT(459, btk != NULL);
|
||||
field_0x30 = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(btk);
|
||||
field_0x30->searchUpdateMaterialID(mpSelectScreen);
|
||||
field_0x3c4 = 0;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpYesNoCurWaku_c[i] = new CPaneMgr(mpSelectScreen, l_tagName9[i], 0, NULL);
|
||||
JUT_ASSERT(482, mpYesNoCurWaku_c[i] != NULL);
|
||||
mpYesNoCurWakuG0_c[i] = new CPaneMgr(mpSelectScreen, l_tagName10[i], 0, NULL);
|
||||
JUT_ASSERT(484, mpYesNoCurWakuG0_c[i] != NULL);
|
||||
mpYesNoCurWakuG1_c[i] = new CPaneMgr(mpSelectScreen, l_tagName11[i], 0, NULL);
|
||||
JUT_ASSERT(486, mpYesNoCurWakuG1_c[i] != NULL);
|
||||
mpYesNoCurWaku_c[i]->getPanePtr()->setAnimation(field_0x2c);
|
||||
mpYesNoCurWakuG0_c[i]->getPanePtr()->setAnimation(field_0x2c);
|
||||
mpYesNoCurWakuG1_c[i]->getPanePtr()->setAnimation(field_0x2c);
|
||||
mpYesNoCurWakuG0_c[i]->getPanePtr()->setAnimation(field_0x30);
|
||||
mpYesNoCurWakuG1_c[i]->getPanePtr()->setAnimation(field_0x30);
|
||||
}
|
||||
|
||||
field_0x3f9 = 0;
|
||||
field_0x3fa = 0;
|
||||
field_0x401 = 0xff;
|
||||
@@ -209,6 +251,7 @@ void dMenu_Option_c::_create() {
|
||||
field_0x3fd[i] = 0;
|
||||
field_0x3ff[i] = 0;
|
||||
}
|
||||
|
||||
field_0x403 = 0;
|
||||
screenSet();
|
||||
field_0x3e0 = 0;
|
||||
@@ -234,6 +277,7 @@ void dMenu_Option_c::_create() {
|
||||
field_0x384[i] = 0.0f;
|
||||
field_0x39c[i] = 0.0f;
|
||||
}
|
||||
|
||||
field_0x3b8.r = 0xff;
|
||||
field_0x3b8.g = 0xff;
|
||||
field_0x3b8.b = 0xff;
|
||||
@@ -334,7 +378,15 @@ void dMenu_Option_c::_delete() {
|
||||
delete field_0x30;
|
||||
field_0x30 = NULL;
|
||||
|
||||
if (isUseFlag(1)) {
|
||||
if (
|
||||
isUseFlag(
|
||||
#if DEBUG
|
||||
0
|
||||
#else
|
||||
1
|
||||
#endif
|
||||
)
|
||||
) {
|
||||
delete mpStick;
|
||||
mpStick = NULL;
|
||||
}
|
||||
@@ -410,13 +462,13 @@ void dMenu_Option_c::_delete() {
|
||||
}
|
||||
|
||||
if (mpMount != NULL) {
|
||||
mpMount->getArchive()->unmount();
|
||||
delete mpMount;
|
||||
JKRUnmountArchive(mpMount->getArchive());
|
||||
mpMount->destroy();
|
||||
mpMount = NULL;
|
||||
}
|
||||
|
||||
if (mpArchive != NULL) {
|
||||
mpArchive->unmount();
|
||||
JKRUnmountArchive(mpArchive);
|
||||
mpArchive = NULL;
|
||||
}
|
||||
|
||||
@@ -428,6 +480,7 @@ void dMenu_Option_c::_move() {
|
||||
if (field_0x3ea != 0 && !isRumbleSupported()) {
|
||||
field_0x3ea = 0;
|
||||
}
|
||||
|
||||
if (mDoGph_gInf_c::getFader()->getStatus() == 1) {
|
||||
if (mDoCPd_c::getTrigA(PAD_1) != 0 && field_0x3ef != SelectType3 && field_0x3f3 == 5) {
|
||||
if (field_0x3f4 == 5 && field_0x3ef != SelectType4 && field_0x3ef != SelectType5 && field_0x3ef != SelectType6 &&
|
||||
@@ -447,6 +500,7 @@ void dMenu_Option_c::_move() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mDoCPd_c::getTrigB(PAD_1) != 0 && field_0x3ef != SelectType3 && field_0x3f3 == 5 &&
|
||||
field_0x3ef != SelectType4 && field_0x3ef != SelectType5 && field_0x3ef != SelectType6 && field_0x3ef != SelectType7)
|
||||
{
|
||||
@@ -468,6 +522,7 @@ skip:
|
||||
if (field_0x3f3 == 5 && oldValue != SelectType4 && oldValue != SelectType5 && oldValue != SelectType6 && oldValue != SelectType7) {
|
||||
dpdMenuMove();
|
||||
}
|
||||
|
||||
field_0x3f2 = 0;
|
||||
if (field_0x3f1 != 0xff) {
|
||||
if (field_0x3f0 != field_0x3f1 && field_0x3ef != field_0x3f1) {
|
||||
@@ -477,17 +532,26 @@ skip:
|
||||
} else {
|
||||
field_0x3f0 = 0xff;
|
||||
}
|
||||
|
||||
(this->*process[field_0x3ef])();
|
||||
mpSelectScreen->animation();
|
||||
if (oldValue != field_0x3ef) {
|
||||
(this->*init[field_0x3ef])();
|
||||
}
|
||||
|
||||
setHIO(false);
|
||||
}
|
||||
|
||||
void dMenu_Option_c::_draw() {
|
||||
if (mpArchive != NULL) {
|
||||
J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort();
|
||||
#if (PLATFORM_WII || PLATFORM_SHIELD)
|
||||
if (mpCalibration != NULL && field_0x3f4 != 5 && field_0x3f4 != 0 && field_0x3f4 != 4) {
|
||||
mpCalibration->draw();
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
mpBlackTex->setAlpha(0xff);
|
||||
mpBlackTex->draw(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT, 0, 0, 0);
|
||||
mpBackScreen->draw(0.0f, 0.0f, ctx);
|
||||
|
||||
@@ -3886,7 +3886,7 @@ bool dMeter2Draw_c::getFishingType() {
|
||||
static const char* tex_name[] = {"tt_heart_00.bti", "tt_heart_01.bti", "tt_heart_02.bti",
|
||||
"tt_heart_03.bti"};
|
||||
|
||||
bool dMeter2Draw_c::getCanoeFishing() {
|
||||
u8 dMeter2Draw_c::getCanoeFishing() {
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") &&
|
||||
((daPy_py_c*)dComIfGp_getPlayer(0))->checkCanoeRide())
|
||||
{
|
||||
|
||||
+208
-116
File diff suppressed because it is too large
Load Diff
+336
-51
File diff suppressed because it is too large
Load Diff
@@ -1323,7 +1323,7 @@ void dMsgObject_c::talkStartInit() {
|
||||
(((dComIfGp_isHeapLockFlag() == 2 ||
|
||||
(dComIfGp_isHeapLockFlag() == 3 || dComIfGp_isHeapLockFlag() == 1)) &&
|
||||
field_0x4cd == 0 && mpTalkHeap != NULL))) &&
|
||||
(mpScrnDraw == NULL && dMeter2Info_getFloatingMessageID() != 0x13eb))
|
||||
(mpScrnDraw == NULL && (u32)dMeter2Info_getFloatingMessageID() != 0x13eb))
|
||||
{
|
||||
if (!bVar1 && ((dComIfGp_isHeapLockFlag() == 0 || dComIfGp_isHeapLockFlag() == 5))) {
|
||||
dComIfGp_setHeapLockFlag(7);
|
||||
@@ -1743,8 +1743,8 @@ bool dMsgObject_c::getStringLocal(u32 param_1, J2DTextBox* param_2, J2DTextBox*
|
||||
return false;
|
||||
}
|
||||
|
||||
u8 dMsgObject_c::isGetItemMessage() {
|
||||
return mFukiKind == 9;
|
||||
bool dMsgObject_c::isGetItemMessage() {
|
||||
return (u8)(mFukiKind == 9);
|
||||
}
|
||||
|
||||
bool dMsgObject_c::isKanbanMessage() {
|
||||
|
||||
Reference in New Issue
Block a user