getDemoIDData matched, fix up various inlines and template classes (#2489)

* Fix debug build

* getDemoIDData matched, fix up various inlines and template classes

* Remove nonmatching comments
This commit is contained in:
LagoLunatic
2025-06-18 01:11:53 -04:00
committed by GitHub
parent 5a13ca438a
commit 23cba4d117
19 changed files with 178 additions and 103 deletions
+9 -9
View File
@@ -216,11 +216,11 @@ void JMessage::TProcessor::do_tag_(u32 uTag, void const* pData, u32 uSize) {
switch (uCode & 0xFFFF) {
case 4:
JUT_ASSERT(331, uSize==4);
stack_pushCurrent(on_word(JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(pData)));
stack_pushCurrent(on_word(JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u32> >::parse(pData)));
break;
case 5:
JUT_ASSERT(341, uSize==4);
stack_pushCurrent(on_message(JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(pData)));
stack_pushCurrent(on_message(JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u32> >::parse(pData)));
break;
default:
JGADGET_WARNMSG1(351, "unknown system-tag-code : ", uCode & 0xFFFF);
@@ -315,7 +315,7 @@ const char* JMessage::TProcessor::process_onSelect_limited_(JMessage::TProcessor
JUT_ASSERT(457, rData.uRest>0);
u16* puOffset = (u16*)rData.pOffset;
u16 uData = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(puOffset);
u16 uData = JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u16> >::parse(puOffset);
rData.pOffset = (void*)(puOffset + 1);
return &rData.pcBase[uData];
@@ -331,7 +331,7 @@ const char* JMessage::TProcessor::process_onSelect_(JMessage::TProcessor* pThis)
JUT_ASSERT(474, rData.uRest>0);
u32* puOffset = (u32*)rData.pOffset;
u32 uData = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(puOffset);
u32 uData = JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u32> >::parse(puOffset);
rData.pOffset = (void*)(puOffset + 1);
return &rData.pcBase[uData];
@@ -574,7 +574,7 @@ void JMessage::TSequenceProcessor::do_tag_(u32 uTag, void const* pData, u32 uSiz
break;
case 6: {
JUT_ASSERT(807, uSize==4);
u32 u32Target = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(pData);
u32 u32Target = JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u32> >::parse(pData);
on_jump_register(process_onJump_, u32Target);
break;
}
@@ -610,7 +610,7 @@ void JMessage::TSequenceProcessor::do_tag_(u32 uTag, void const* pData, u32 uSiz
}
case 0xF8: {
u16* pu16Data = (u16*)pData;
u32 uNumber = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(pu16Data);
u32 uNumber = JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u16> >::parse(pu16Data);
JUT_ASSERT(859, uSize==2+2*uNumber);
on_branch_register(process_onBranch_limited_, pu16Data + 1, uNumber);
on_branch_query(uCode & 0xFFFF);
@@ -618,7 +618,7 @@ void JMessage::TSequenceProcessor::do_tag_(u32 uTag, void const* pData, u32 uSiz
}
case 0xF7: {
u16* pu16Data = (u16*)pData;
u32 uNumber = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(pu16Data);
u32 uNumber = JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u16> >::parse(pu16Data);
JUT_ASSERT(871, uSize==2+4*uNumber);
on_branch_register(process_onBranch_, pu16Data + 1, uNumber);
on_branch_query(uCode & 0xFFFF);
@@ -689,7 +689,7 @@ JMessage::TSequenceProcessor::process_onBranch_limited_(JMessage::TSequenceProce
JUT_ASSERT(942, rData.pTarget!=0);
JUT_ASSERT(943, uTargetIndex<rData.uTarget);
u16 u16Index = JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(rData.pTarget, uTargetIndex);
u16 u16Index = JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u16> >::parse(rData.pTarget, uTargetIndex);
return process_setMessageIndex_(pProcessor, u16Index);
}
@@ -702,7 +702,7 @@ JMessage::TSequenceProcessor::process_onBranch_(JMessage::TSequenceProcessor con
JUT_ASSERT(957, rData.pTarget!=0);
JUT_ASSERT(958, uTargetIndex<rData.uTarget);
u32 uCode = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(rData.pTarget, uTargetIndex);
u32 uCode = JGadget::binary::TParseValue<JGadget::binary::TParseValue_endian_big_<u32> >::parse(rData.pTarget, uTargetIndex);
return process_setMessageCode_(pProcessor, uCode);
}
+30 -29
View File
@@ -4,6 +4,7 @@
//
#include "JSystem/JStudio/JStudio/stb-data-parse.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "dolphin/os.h"
namespace JStudio {
@@ -47,37 +48,37 @@ void TParse_TParagraph::getData(TData* pData) const {
}
}
void TParse_TParagraph_data::getData(data::TParse_TParagraph_data::TData* pData) const {
u8* set2;
void TParse_TParagraph_data::getData(TParse_TParagraph_data::TData* pData) const {
JUT_ASSERT(104, pData!=0);
pData->entrySize = 0;
pData->entryCount = 0;
pData->content = NULL;
pData->next = NULL;
u8* temp = (u8*)getRaw();
u8* filedata = temp;
if (filedata == NULL)
return;
u8 r29 = *filedata;
pData->status = r29 & ~0x8;
if (!r29)
return;
filedata++;
u32 r28 = 1;
if (r29 & 8) {
r28 = *filedata;
filedata++;
}
pData->entryCount = r28;
pData->content = filedata;
int dSize = pData->dataSize = 0;
pData->_8 = 0;
pData->fileCount = NULL;
pData->_10 = NULL;
u8* filedata = (u8*)getRaw();
if (filedata == NULL)
return;
u8 set = *filedata;
pData->status = set & ~0x8;
if (!set)
return;
int is8;
int set3 = 1;
is8 = set & 8;
// Probably fake match
if (set2 = (filedata + 1), is8) {
set3 = *set2++;
}
pData->_8 = set3;
pData->fileCount = set2;
if (!(set & 7))
return;
dSize = (gauDataSize_TEParagraph_data)[set &= 7];
pData->dataSize = dSize;
pData->_10 = (u8*)set2 + (dSize * set3);
u8 r27 = r29 & 7;
if (r27 == 0)
return;
u32 dataSize = (gauDataSize_TEParagraph_data)[r27];
pData->entrySize = dataSize;
pData->next = filedata + (dataSize * r28);
}
} // namespace data
} // namespace stb
} // namespace JStudio
} // namespace JStudio
-1
View File
@@ -1441,7 +1441,6 @@ f32 daAlink_c::setStickAnmData(J3DAnmBase* i_anm, int param_1, int param_2, u16
/* 80119464-801195C0 113DA4 015C+00 1/1 0/0 0/0 .text
* daAlink_c_getDemoIDData__FP13dDemo_actor_cPiPiPiPUsPiPi */
// NONMATCHING - some stack issues
static int daAlink_c_getDemoIDData(dDemo_actor_c* param_0, int* param_1, int* param_2,
int* param_3, u16* param_4, int* param_5, int* param_6) {
JStudio::stb::TParseData_fixed<51, TValueIterator_misaligned<u32> > sp30(param_0->getPrm()->getData());
+1 -1
View File
@@ -1591,7 +1591,7 @@ static cPhs__Step daE_GB_Create(fopAc_ac_c* a_this) {
u8 swBit = fopAcM_GetParam(a_this) >> 16;
if (swBit != 0xFF) {
if (dComIfGs_isSwitch(swBit, fopAcM_GetRoomNo(a_this))) {
OS_REPORT("E_gb やられ後なので再セットしません\n")
OS_REPORT("E_gb やられ後なので再セットしません\n");
return cPhs_ERROR_e;
}
}
+5 -1
View File
@@ -8,9 +8,11 @@
#include "d/actor/d_a_set_bgobj.h"
#include "d/d_com_inf_game.h"
#include "dol2asm.h"
#include "d/d_a_obj.h"
#ifdef DEBUG
class daObjFlag3_Hio_c : public JORReflexible {
public:
daObjFlag3_Hio_c() {
mCount = 0;
default_set();
@@ -23,7 +25,7 @@ class daObjFlag3_Hio_c : public JORReflexible {
ctx->genSlider("重力", &mAttr.mGravity, -10.0f, 0.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18);
ctx->genSlider("バネ係数", &mAttr.mSpringCoeeficient, 0.0f, 10.0f, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("減衰率", &mAttr.mAttenuationRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff,
ctx->genSlider("減衰率", &mAttr.mDecayRate, 0.0f, 1.0f, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
ctx->genSlider("風係数", &mAttr.mWindCoefficient, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff,
0x200, 0x18);
@@ -45,6 +47,8 @@ class daObjFlag3_Hio_c : public JORReflexible {
/* 0x4 */ int mCount;
/* 0x8 */ daObjFlag3_Attr_c mAttr;
};
daObjFlag3_Hio_c M_hio;
#endif
/* 80BF0458-80BF046C 000000 0014+00 3/3 0/0 0/0 .rodata M_attr__12daObjFlag3_c */
+3
View File
@@ -241,8 +241,11 @@ void daTitle_c::nextScene_init() {
void daTitle_c::nextScene_proc() {
if (!fopOvlpM_IsPeek() && !mDoRst::isReset()) {
scene_class* playScene = fopScnM_SearchByID(dStage_roomControl_c::getProcID());
JUT_ASSERT(706, playScene != 0);
fopScnM_ChangeReq(playScene, 13, 0, 5);
#if VERSION != VERSION_SHIELD_DEBUG
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
#endif
}
}
-1
View File
@@ -225,7 +225,6 @@ const u8* dDemo_c::m_branchData;
/* 80038338-80038490 032C78 0158+00 0/0 1/1 5/5 .text getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc
*/
// NONMATCHING - some stack issues
int dDemo_actor_c::getDemoIDData(int* param_0, int* param_1, int* param_2, u16* param_3,
u8* param_4) {
JStudio::stb::TParseData_fixed<51, TValueIterator_misaligned<u32> > data(getPrm()->getData());
+4 -3
View File
@@ -432,7 +432,7 @@ dScnLogo_c::~dScnLogo_c() {
field_0x1d4->destroy();
field_0x1d0->destroy();
JKRFree(buffer);
JKRFree(dummyGameAlloc);
dComIfGp_particle_createCommon(mParticleCommand->getMemAddress());
dComIfGp_setFieldMapArchive2(mpField0Command->getArchive());
@@ -508,8 +508,9 @@ static int phase_0(dScnLogo_c* i_this) {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
dComIfGp_particle_create();
i_this->buffer = mDoExt_getGameHeap()->alloc(0x340000, -0x10);
i_this->field_0x1d0 = JKRExpHeap::create(i_this->buffer, 0x340000, NULL, false);
i_this->dummyGameAlloc = mDoExt_getGameHeap()->alloc(0x340000, -0x10);
JUT_ASSERT(1523, i_this->dummyGameAlloc != 0);
i_this->field_0x1d0 = JKRExpHeap::create(i_this->dummyGameAlloc, 0x340000, NULL, false);
i_this->field_0x1d4 = JKRExpHeap::create(0x130000, i_this->field_0x1d0, false);
return cPhs_NEXT_e;