d_msg_class mostly equivalent (#2403)

This commit is contained in:
hatal175 2025-04-21 03:46:09 +03:00 committed by GitHub
parent 9194774985
commit b2d665c911
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 2397 additions and 636 deletions

View File

@ -316,7 +316,7 @@ cflags_rel = [
"-sdata2 0",
]
def MWVersion(cfg_version: str):
def MWVersion(cfg_version: str) -> str:
match cfg_version:
case "GZ2E01":
return "GC/2.7"
@ -375,7 +375,7 @@ Equivalent = config.non_matching # Object should be linked when configured with
# Object is only matching for specific versions
def MatchingFor(*versions):
def MatchingFor(*versions) -> bool:
return config.version in versions
@ -2213,7 +2213,7 @@ out_dir = config.build_dir / version
# This generates the build steps needed for preprocessing
def emit_build_rule(asset):
def emit_build_rule(asset: Dict[str, Any]) -> None:
steps = config.custom_build_steps.setdefault("pre-compile", [])
custom_data = asset.get("custom_data") or {}

View File

@ -169,6 +169,7 @@ public:
bool isConnectParent() const { return mConnected; }
u64 getUserInfo() const { return mUserInfoTag; }
void setUserInfo(u64 info) { mUserInfoTag = info; }
const Mtx* getMtx() const { return &mPositionMtx; }

View File

@ -132,6 +132,11 @@ public:
bool isValid() const { return mValid; }
bool isFixed() const { return mFixed; }
int getFixedWidth() const { return mFixedWidth; }
int getOffset(int i_no) const {
JUTFont::TWidth width;
getWidthEntry(i_no, &width);
return width.field_0x0;
}
/* 0x04 */ bool mValid;
/* 0x05 */ bool mFixed;

View File

@ -180,6 +180,10 @@ public:
return ret;
}
u32 checkPlayingSubBgmFlag() {
return getSubBgmID();
}
JAISoundHandle* getMainBgmHandle() { return &mMainBgmHandle; }
JAISoundHandle* getSubBgmHandle() { return &mSubBgmHandle; }

View File

@ -297,6 +297,8 @@ public:
void setCurrentWindow(dDlst_window_c* i_window) { mCurrentWindow = i_window; }
void setCurrentView(view_class* i_view) { mCurrentView = i_view; }
void setCurrentViewport(view_port_class* i_viewport) { mCurrentViewport = i_viewport; }
void setBaseAnimeID(u8 id) { mItemInfo.mBaseAnimeID = id; }
void setFaceAnimeID(u8 id) { mItemInfo.mFaceAnimeID = id; }
void setSelectItem(int idx, u8 i_itemNo) { mItemInfo.mSelectItem[idx] = i_itemNo; }
u8 getSelectItem(int idx) { return mItemInfo.mSelectItem[idx]; }
@ -717,6 +719,7 @@ public:
u8 checkMesgCancelButton() { return mItemInfo.mMesgCancelButton; }
void setMesgCancelButton(u8 button) { mItemInfo.mMesgCancelButton = button; }
void setMesgBgm(u8 param_0) { mItemInfo.mMesgBgm = param_0; }
u8 checkMesgBgm() { return mItemInfo.mMesgBgm; }
int getMessageCountNumber() { return mItemInfo.mMessageCountNum; }
void setMessageCountNumber(u32 number) { mItemInfo.mMessageCountNum = number; }
@ -1936,6 +1939,10 @@ inline void dComIfGs_setOptPointer(u8 i_pointer) {
g_dComIfG_gameInfo.info.getPlayer().getConfig().setPointer(i_pointer);
}
inline u8 dComIfGs_getOptPointer() {
return g_dComIfG_gameInfo.info.getPlayer().getConfig().getPointer();
}
inline u8 dComIfGs_getNewFile() {
return g_dComIfG_gameInfo.info.getNewFile();
}
@ -3038,6 +3045,13 @@ inline void dComIfGp_setMesgBgmOn() {
g_dComIfG_gameInfo.play.setMesgBgm(1);
}
inline void dComIfGp_setMesgBgmOff() {
g_dComIfG_gameInfo.play.setMesgBgm(0);
}
inline bool dComIfGp_checkMesgBgm() {
return g_dComIfG_gameInfo.play.checkMesgBgm(); }
inline void dComIfGp_setMessageCountNumber(u32 number) {
g_dComIfG_gameInfo.play.setMessageCountNumber(number);
}
@ -3166,10 +3180,18 @@ inline int dComIfGp_getMessageCountNumber() {
return g_dComIfG_gameInfo.play.getMessageCountNumber();
}
inline void dComIfGp_setMesgFaceAnimeAttrInfo(u8 id) {
g_dComIfG_gameInfo.play.setFaceAnimeID(id);
}
inline u8 dComIfGp_getMesgFaceAnimeAttrInfo() {
return g_dComIfG_gameInfo.play.getFaceAnimeID();
}
inline void dComIfGp_setMesgAnimeAttrInfo(u8 param_1) {
g_dComIfG_gameInfo.play.setBaseAnimeID(param_1);
}
inline u8 dComIfGp_getMesgAnimeAttrInfo() {
return g_dComIfG_gameInfo.play.getBaseAnimeID();
}

View File

@ -78,6 +78,7 @@ struct jmessage_tReference : public JMessage::TReference {
return var_r31;
}
bool isBatchFlag() { return mBatchFlag; }
bool isLightBatchFlag() { return mLightBatchFlag; }
void setAddCharAllAlphaRate(f32 i_alphaRate) { mAddCharAllAlphaRate = i_alphaRate; }
void setCharAllAlphaRate(f32 i_alphaRate) { mCharAllAlphaRate = i_alphaRate; }
@ -91,7 +92,9 @@ struct jmessage_tReference : public JMessage::TReference {
void resetInputFigure() { mInputFigure = 0; }
void onButtonTagStopFlag() { mButtonTagStopFlag = 1; }
void setDemoFrame(u32 i_frame) { mDemoFrame = i_frame; }
void setTopColorType(u8 i_colorType) { mTopColorType = i_colorType; }
void setNowColorType(u8 i_colorType) { mNowColorType = i_colorType; }
void setTopTagScale(u16 i_tagScale) { mTopTagScale = i_tagScale; }
void setNowTagScale(u16 i_tagScale) { mNowTagScale = i_tagScale; }
void setRevoMessageID(u32 i_msgID) { mRevoMessageID = i_msgID; }
void setPageLine(int i_no, s8 i_pageLine) { mPageLine[i_no] = i_pageLine; }
@ -100,6 +103,7 @@ struct jmessage_tReference : public JMessage::TReference {
void setLineArrange(int i_no, u8 i_arrange) { mLineArrange[i_no] = i_arrange; }
void setLineScale(int i_no, u16 i_lineScale) { mLineScale[i_no] = i_lineScale; }
void setSelLength(int i_no, f32 i_selLength) { mSelLength[i_no] = i_selLength; }
void setTopWordCount(s8 wordCount) { mTopWordCount = wordCount; }
void setNowWordCount(s8 wordCount) { mNowWordCount = wordCount; }
void offSelectRubyFlag(int i_flag) { mSelectRubyFlag &= ~(u8)(1 << i_flag); }
void setPageEndCount(s16 i_endCount) { mPageEndCount = i_endCount; }
@ -127,6 +131,31 @@ struct jmessage_tReference : public JMessage::TReference {
void setSelCharSpace(f32 space) { mSelCharSpace = space; }
void setSelRubyCharSpace(f32 space) { mSelRubyCharSpace = space; }
void decSendTimer() { mSendTimer--; }
void resetCharCnt() { mCharCnt = 0; }
void setFukiPosType(u8 type) { mFukiPosType = type; }
void setFukiKind(u8 kind) { mFukiKind = kind; }
void setForm(u8 form) { mForm = form; }
void setArrange(u8 arrange) { mArrange = arrange; }
void setMsgID(u16 id) { mMsgID = id; }
void offBombNameUseFlag() { mBombNameUseFlag = false; }
void setNowLightCount(u8 count) { mNowLightCount = count; }
void setCharCnt(s16 cnt) { mCharCnt = cnt; }
void offButtonTagStopFlag() { mButtonTagStopFlag = false; }
void onLightBatchFlag() { mLightBatchFlag = true; }
void addNowLightCount() { mNowLightCount++; }
void addLineCount() { mLineCount++; }
void addEndLineCount() { mEndLineCount++; }
void onSelectSetCancelFlag() { mSelectSetCancelFlag = true; }
void offSelectSetCancelFlag() { mSelectSetCancelFlag = false; }
void addDrawLightCount() { mDrawLightCount++; }
void setCharAlpha(f32 alpha) { mCharAlpha = alpha; }
void addCharAlpha() {
mCharAlpha += mAddCharAlpha;
if (mCharAlpha > 255.0f) {
mCharAlpha = 255.0f;
}
}
void setLineLength(int i_no, f32 i_strLen, f32 i_spaceLen) {
mStrLength[i_no] = i_strLen;
@ -194,9 +223,30 @@ struct jmessage_tReference : public JMessage::TReference {
u8 getFukiPosType() { return mFukiPosType; }
u16 getStatus() { return *mpStatus; }
u8 getArrange() { return mArrange; }
u8 getLineArrange(int idx) { return mLineArrange[idx]; }
f32 getSelFontSize() { return mSelFontSize; }
f32 getSelCharSpace() { return mSelCharSpace; }
u16 getLineScale(int i_no) { return mLineScale[i_no]; }
bool isBombNameUseFlag() { return mBombNameUseFlag; }
f32 getSelLength(int idx) { return mSelLength[idx]; }
void setAddCharAlpha(f32 alpha) { mAddCharAlpha = alpha; }
s8 getNowPageLineMax() { return mPageLineMax[field_0x5d2]; }
s16 getLineCount() { return mLineCount; }
void onBatchFlag() { mBatchFlag = true; }
s16 getPageNum() { return mPageNum; }
s16 getPageEndCount() { return mPageEndCount; }
s8 getTopWordCount() { return mTopWordCount; }
u8 getTopColorType() { return mTopColorType; }
u16 getTopTagScale() { return mTopTagScale; }
u8 getBatchColorFlag() { return mBatchColorFlag; }
f32 getLineSpace() { return mLineSpace; }
u8 getNowPageType() { return mPageType[field_0x5d2]; }
f32 getTBoxWidth() { return mTBoxWidth;}
f32 getTBoxHeight() { return mTBoxHeight;}
s8 getNowPageLine() { return mPageLine[field_0x5d2]; }
u8 getOutFontRupeeColor() { return mOutFontRupeeColor; }
f32 getCharAlpha() { return mCharAlpha; }
s16 getCharCnt() { return mCharCnt; }
struct CharSoundInfo {
u16 data[0x200];
@ -243,7 +293,7 @@ struct jmessage_tReference : public JMessage::TReference {
/* 0x05C8 */ JUTFont* mpFont;
/* 0x05CC */ s16 mStartLineCount;
/* 0x05CE */ s16 mEndLineCount;
/* 0x05D0 */ u16 mLineCount;
/* 0x05D0 */ s16 mLineCount;
/* 0x05D2 */ s16 field_0x5d2;
/* 0x05D4 */ s16 mPageEndCount;
/* 0x05D6 */ s16 mSendTimer;
@ -299,7 +349,7 @@ struct jmessage_tMeasureProcessor : public JMessage::TRenderingProcessor {
/* 8022B458 */ void do_rubyset(void const*, u32);
/* 8022B4E0 */ void push_word(char*);
/* 8022B5F4 */ virtual ~jmessage_tMeasureProcessor();
/* 8022B5F4 */ virtual ~jmessage_tMeasureProcessor() {}
/* 80229AC4 */ virtual void do_begin(void const*, char const*);
/* 80229CB4 */ virtual void do_end();
/* 80229E3C */ virtual void do_character(int);
@ -323,8 +373,7 @@ struct jmessage_tMeasureProcessor : public JMessage::TRenderingProcessor {
}; // Size: 0x50
struct jmessage_tControl;
struct jmessage_tSequenceProcessor : public JMessage::TSequenceProcessor,
public jmessage_tMeasureProcessor {
struct jmessage_tSequenceProcessor : public JMessage::TSequenceProcessor {
/* 8022B558 */ jmessage_tSequenceProcessor(jmessage_tReference const*, jmessage_tControl*);
/* 8022C904 */ void do_name1();
/* 8022C908 */ void do_space(u32);
@ -346,13 +395,13 @@ struct jmessage_tSequenceProcessor : public JMessage::TSequenceProcessor,
u8 getMouthCheck() { return mMouthCheck; }
void setForceForm(u8 forceForm) { mForceForm = forceForm; }
/* 0x4C jmessage_tMeasureProcessor */
/* 0x4C */ jmessage_tMeasureProcessor mMeasureProcessor;
/* 0x9C */ const void* field_0x9c;
/* 0xA0 */ const char* field_0xa0;
/* 0xA4 */ u16 field_0xa4;
/* 0xA6 */ u16 field_0xa6;
/* 0xA4 */ s16 field_0xa4;
/* 0xA6 */ s16 field_0xa6;
/* 0xA8 */ s16 field_0xa8;
/* 0xAA */ u16 field_0xaa;
/* 0xAA */ s16 field_0xaa;
/* 0xAC */ u8 field_0xac;
/* 0xAD */ u8 field_0xad;
/* 0xAE */ u8 field_0xae;
@ -446,11 +495,11 @@ struct jmessage_tRenderingProcessor : public JMessage::TRenderingProcessor {
/* 0x134 */ f32 field_0x134;
/* 0x138 */ f32 field_0x138;
/* 0x13C */ u16 field_0x13c;
/* 0x13E */ u16 field_0x13e;
/* 0x140 */ u16 field_0x140;
/* 0x142 */ u16 field_0x142;
/* 0x13E */ s16 field_0x13e;
/* 0x140 */ s16 field_0x140;
/* 0x142 */ s16 field_0x142;
/* 0x144 */ u16 field_0x144;
/* 0x146 */ u16 field_0x146;
/* 0x146 */ s16 field_0x146;
/* 0x148 */ u16 field_0x148;
/* 0x14A */ u16 field_0x14a;
/* 0x14C */ u8 field_0x14c;
@ -460,9 +509,7 @@ struct jmessage_tRenderingProcessor : public JMessage::TRenderingProcessor {
/* 0x150 */ u8 mColorNo;
/* 0x151 */ u8 field_0x151;
/* 0x152 */ char field_0x152[0x184 - 0x152];
/* 0x184 */ u8 field_0x184;
/* 0x185 */ u8 field_0x185;
/* 0x186 */ u8 field_0x186;
/* 0x184 */ char field_0x184[3];
/* 0x187 */ u8 field_0x187;
};
@ -494,15 +541,24 @@ struct jmessage_string_tReference : public JMessage::TReference {
s16 getLineCount() { return mLineCount; }
void setLineCount(s16 lineCount) { mLineCount = lineCount; }
void addLineCount() { mLineCount++; }
u8 isFlag(u8 flag) { return mFlags & flag; }
BOOL isFlag(u8 flag) {
BOOL rv;
if (mFlags & flag) {
rv = 1;
} else {
rv = 0;
}
return rv;
}
void setColor(u32 ccColor, u32 gcColor) {
mCCColor = ccColor;
mGCColor = gcColor;
}
void setNowPage(u8 nowPage) { mNowPage = nowPage; }
void setLineMax(u8 lineMax) { mLineMax = lineMax; }
COutFont_c* getOutFontPtr() { return mOutFontPtr; }
/* 8022F94C */ virtual ~jmessage_string_tReference();
/* 8022F94C */ virtual ~jmessage_string_tReference() {}
/* 0x08 */ J2DTextBox* mPanePtr;
/* 0x0C */ J2DTextBox* mRubyPanePtr;
@ -522,7 +578,7 @@ struct jmessage_string_tMeasureProcessor : public JMessage::TRenderingProcessor
/* 8022FB98 */ jmessage_string_tMeasureProcessor(jmessage_string_tReference const*);
/* 8023098C */ void do_rubyset(void const*, u32);
/* 80230A5C */ virtual ~jmessage_string_tMeasureProcessor();
/* 80230A5C */ virtual ~jmessage_string_tMeasureProcessor() {}
/* 8022FBE4 */ virtual void do_begin(void const*, char const*);
/* 8022FC14 */ virtual void do_end();
/* 8022FC28 */ virtual void do_character(int);
@ -531,7 +587,7 @@ struct jmessage_string_tMeasureProcessor : public JMessage::TRenderingProcessor
/* 0x38 */ jmessage_string_tReference* mpReference;
};
struct jmessage_string_tSequenceProcessor : public JMessage::TSequenceProcessor, public jmessage_string_tMeasureProcessor {
struct jmessage_string_tSequenceProcessor : public JMessage::TSequenceProcessor {
/* 80230A08 */ jmessage_string_tSequenceProcessor(jmessage_string_tReference const*,
jmessage_string_tControl*);
@ -545,6 +601,7 @@ struct jmessage_string_tSequenceProcessor : public JMessage::TSequenceProcessor,
/* 80230BBC */ virtual bool do_jump_isReady();
/* 80230BC4 */ virtual void do_jump(void const*, char const*);
/* 0x4C */ jmessage_string_tMeasureProcessor mMeasureProcessor;
/* 0x88 */ jmessage_string_tReference* mpSeqReference;
};

View File

@ -153,7 +153,7 @@ public:
/* 802385B4 */ static u8 getSelectBombBagID();
/* 802385E0 */ static s16 getSelectBombPrice();
/* 8023860C */ static void setEquipBombInfo();
/* 80238638 */ u8 getItemEquipButton();
/* 80238638 */ static u8 getItemEquipButton();
/* 8023864C */ static void setSelectCancelPos(u8);
void setShopWaitTimerLocal(u8 timer) { mShopWaitTimer = timer; }
@ -237,6 +237,7 @@ public:
u16 getBombMessageIDLocal(int idx) { return mBombMessageID[idx]; }
u8 getBombBagIDLocal(int idx) { return mBombBagID[idx]; }
u8 getArrowNumLocal() { return mArrowNum; }
u8 isNoDemoFlag() { return mNoDemoFlag; }
jmessage_tSequenceProcessor* getSequenceProcessor() { return mpSeqProc; }
@ -452,6 +453,18 @@ inline void dMsgObject_setSelectWordFlag(u8 flag) {
dMsgObject_getMsgObjectClass()->setSelectWordFlag(flag);
}
inline u8 dMsgObject_getSelectWordFlag() {
return dMsgObject_getMsgObjectClass()->getSelectWordFlag();
}
inline const char* dMsgObject_getSelectWord(int idx) {
return dMsgObject_getMsgObjectClass()->getSelectWord(idx);
}
inline u8 dMsgObject_getItemEquipButton() {
return dMsgObject_getMsgObjectClass()->getItemEquipButton();
}
inline void dMsgObject_setNowTalkFlowNo(s16 nowTalkFlowNo) {
dMsgObject_c::setNowTalkFlowNo(nowTalkFlowNo);
}
@ -480,6 +493,10 @@ inline void dMsgObject_setTalkHeap(void* heap) {
dMsgObject_c::setTalkHeap(heap);
}
inline u8 dMsgObject_getMsgOutputType() {
return dMsgObject_getMsgObjectClass()->getMsgOutputType();
}
inline void dMsgObject_setMsgOutputType(u8 outputType) {
dMsgObject_getMsgObjectClass()->setMsgOutputType(outputType);
}
@ -657,8 +674,8 @@ public:
/* 0x30C */ s16 mBossNameFadeOut;
/* 0x30E */ u16 mStageTitleDisplayTime;
/* 0x310 */ u16 mBossNameDisplayTime;
/* 0x312 */ u16 mBatchDisplayWeight_3;
/* 0x314 */ u16 mCharDisplayWeight_5;
/* 0x312 */ s16 mBatchDisplayWeight_3;
/* 0x314 */ s16 mCharDisplayWeight_5;
/* 0x316 */ s16 mBatchDisplayWeight_8;
/* 0x318 */ s16 mBatchDisplayWeight_9;
/* 0x31A */ s16 mHaloDelayFrame;

View File

@ -51,6 +51,8 @@ public:
/* 80226D4C */ virtual void drawFont(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8);
/* 80226DA8 */ virtual void setAlphaRatio(f32);
void setRupeeColor(u8 color) { mRupeeColor = color; }
private:
/* 0x004 */ COutFontSet_c* mpOfs[35];
/* 0x090 */ J2DPicture* mpPane[70];

View File

@ -63,6 +63,10 @@ inline void mDoAud_subBgmStop() {
Z2AudioMgr::getInterface()->subBgmStop();
}
inline u32 mDoAud_checkPlayingSubBgmFlag() {
return Z2AudioMgr::getInterface()->checkPlayingSubBgmFlag();
}
inline void mDoAud_bgmNowBattle(f32 param_0) {
Z2AudioMgr::getInterface()->bgmNowBattle(param_0);
}

File diff suppressed because it is too large Load Diff