d_meter_HIO OK + misc (#2009)

This commit is contained in:
hatal175
2023-12-22 12:56:56 +02:00
committed by GitHub
parent 064f444c0f
commit 3fb456635b
27 changed files with 359 additions and 957 deletions
+22 -32
View File
@@ -439,21 +439,21 @@ void dMenu_Fishing_c::screenSetBase() {
textBox->setString(0x200, "");
mpString->getString(0x5a1, textBox, NULL, NULL, NULL, 0);
for (int i = 0; i < 6; i++) {
field_0x124[i] = (J2DTextBox*)mpScreen->search(size_1[i]);
field_0x124[i]->setFont(mDoExt_getSubFont());
field_0x124[i]->setString(0x20, "");
field_0x10c[1][i] = (J2DTextBox*)mpScreen->search(size_1[i]);
field_0x10c[1][i]->setFont(mDoExt_getSubFont());
field_0x10c[1][i]->setString(0x20, "");
field_0x184[i] = (J2DTextBox*)mpScreen->search(size_unit_1[i]);
field_0x184[i]->setFont(mDoExt_getSubFont());
field_0x184[i]->setString(0x20, "");
field_0x16c[1][i] = (J2DTextBox*)mpScreen->search(size_unit_1[i]);
field_0x16c[1][i]->setFont(mDoExt_getSubFont());
field_0x16c[1][i]->setString(0x20, "");
field_0x154[i] = (J2DTextBox*)mpScreen->search(count_1[i]);
field_0x154[i]->setFont(mDoExt_getSubFont());
field_0x154[i]->setString(0x20, "");
field_0x13c[1][i] = (J2DTextBox*)mpScreen->search(count_1[i]);
field_0x13c[1][i]->setFont(mDoExt_getSubFont());
field_0x13c[1][i]->setString(0x20, "");
field_0x1b4[i] = (J2DTextBox*)mpScreen->search(count_unit_1[i]);
field_0x1b4[i]->setFont(mDoExt_getSubFont());
field_0x1b4[i]->setString(0x20, "");
field_0x19c[1][i] = (J2DTextBox*)mpScreen->search(count_unit_1[i]);
field_0x19c[1][i]->setFont(mDoExt_getSubFont());
field_0x19c[1][i]->setString(0x20, "");
field_0x1cc[i] = (J2DTextBox*)mpScreen->search(name_0[i]);
mpScreen->search(fname_0[i])->hide();
@@ -540,8 +540,6 @@ u8 dMenu_Fishing_c::getFigure(int param_0) {
}
/* 801C605C-801C6210 1C099C 01B4+00 1/1 0/0 0/0 .text setFishParam__15dMenu_Fishing_cFiUsUc */
#ifdef NONMATCHING
// regalloc
void dMenu_Fishing_c::setFishParam(int param_0, u16 param_1, u8 param_2) {
u8 figure1 = getFigure(param_1);
u8 figure2 = getFigure(param_2);
@@ -550,41 +548,33 @@ void dMenu_Fishing_c::setFishParam(int param_0, u16 param_1, u8 param_2) {
for (int j = 1; j < 2; j++) {
// part one, param_2
dComIfGp_setMessageCountNumber(param_2);
mpString->getString(0x597, field_0x124[param_0], NULL, NULL, NULL, 0);
strcpy(strBuff1, field_0x124[param_0]->getStringPtr());
mpString->getString(0x597, field_0x10c[j][param_0], NULL, NULL, NULL, 0);
char* x = field_0x10c[j][param_0]->getStringPtr();
strcpy(strBuff1, x);
int i;
for (i = 0; strBuff1[i + figure2] != 0; i++) {
strBuff2[i] = strBuff1[i + figure2];
}
strBuff2[i] = 0;
strBuff1[figure2] = 0;
strcpy(field_0x124[param_0]->getStringPtr(), strBuff1);
strcpy(field_0x184[param_0]->getStringPtr(), strBuff2);
strcpy(field_0x10c[j][param_0]->getStringPtr(), strBuff1);
strcpy(field_0x16c[j][param_0]->getStringPtr(), strBuff2);
// part two, param_1
dComIfGp_setMessageCountNumber(param_1);
mpString->getString(0x598, field_0x154[param_0], NULL, NULL, NULL, 0);
strcpy(strBuff1, field_0x154[param_0]->getStringPtr());
mpString->getString(0x598, field_0x13c[j][param_0], NULL, NULL, NULL, 0);
x = field_0x13c[j][param_0]->getStringPtr();
strcpy(strBuff1, x);
int k;
for (k = 0; strBuff1[k + figure1] != 0; k++) {
strBuff2[k] = strBuff1[k + figure1];
}
strBuff2[k] = 0;
strBuff1[figure1] = 0;
strcpy(field_0x154[param_0]->getStringPtr(), strBuff1);
strcpy(field_0x1b4[param_0]->getStringPtr(), strBuff2);
strcpy(field_0x13c[j][param_0]->getStringPtr(), strBuff1);
strcpy(field_0x19c[j][param_0]->getStringPtr(), strBuff2);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Fishing_c::setFishParam(int param_0, u16 param_1, u8 param_2) {
nofralloc
#include "asm/d/menu/d_menu_fishing/setFishParam__15dMenu_Fishing_cFiUsUc.s"
}
#pragma pop
#endif
/* 801C6210-801C659C 1C0B50 038C+00 2/2 0/0 0/0 .text setHIO__15dMenu_Fishing_cFb */
void dMenu_Fishing_c::setHIO(bool param_0) {
+1 -358
View File
@@ -5,189 +5,11 @@
#include "d/meter/d_meter_HIO.h"
#include "d/save/d_save.h"
#include "dol2asm.h"
#include "JSystem/JKernel/JKRArchive.h"
#include "m_Do/m_Do_ext.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "m_Do/m_Do_ext.h"
#include "global.h"
//
// Forward References:
//
extern "C" void __ct__16dMeter_menuHIO_cFv();
extern "C" void __ct__23dMeter_drawCollectHIO_cFv();
extern "C" void __ct__22dMeter_drawOptionHIO_cFv();
extern "C" void __ct__22dMeter_drawLetterHIO_cFv();
extern "C" void __ct__23dMeter_drawFishingHIO_cFv();
extern "C" void __ct__22dMeter_drawInsectHIO_cFv();
extern "C" void __ct__27dMeter_drawCalibrationHIO_cFv();
extern "C" void __ct__21dMeter_drawSkillHIO_cFv();
extern "C" void __ct__25dMeter_drawEmpButtonHIO_cFv();
extern "C" void __ct__24dMeter_drawMiniGameHIO_cFv();
extern "C" void __ct__25dMeter_drawLightDropHIO_cFv();
extern "C" void __ct__16dMeter_drawHIO_cFv();
extern "C" void __ct__16dMeter_ringHIO_cFv();
extern "C" void __ct__19dMeter_mapIconHIO_cFv();
extern "C" void __ct__16dMeter_fmapHIO_cFv();
extern "C" void __dt__16dMeter_fmapHIO_cFv();
extern "C" void __ct__18dMeter_cursorHIO_cFv();
extern "C" void __dt__25dMeter_drawLightDropHIO_cFv();
extern "C" void __dt__25dMeter_drawEmpButtonHIO_cFv();
extern "C" void __dt__24dMeter_drawMiniGameHIO_cFv();
extern "C" void __dt__21dMeter_drawSkillHIO_cFv();
extern "C" void __dt__27dMeter_drawCalibrationHIO_cFv();
extern "C" void __dt__22dMeter_drawInsectHIO_cFv();
extern "C" void __dt__23dMeter_drawFishingHIO_cFv();
extern "C" void __dt__22dMeter_drawLetterHIO_cFv();
extern "C" void __dt__22dMeter_drawOptionHIO_cFv();
extern "C" void __dt__23dMeter_drawCollectHIO_cFv();
extern "C" void __dt__19dMeter_mapIconHIO_cFv();
extern "C" void __ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv();
extern "C" void __dt__18dMeter_cursorHIO_cFv();
extern "C" void __dt__16dMeter_ringHIO_cFv();
extern "C" void __dt__16dMeter_drawHIO_cFv();
extern "C" void __dt__16dMeter_menuHIO_cFv();
extern "C" void __sinit_d_meter_HIO_cpp();
//
// External References:
//
extern "C" void __dt__4cXyzFv();
extern "C" void mDoExt_getGameHeap__Fv();
extern "C" void __ct__4cXyzFv();
extern "C" void __ct__Q28JUtility6TColorFv();
extern "C" void free__7JKRHeapFPv();
extern "C" void __dl__FPv();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_18();
extern "C" void _savegpr_29();
extern "C" void _restgpr_18();
extern "C" void _restgpr_29();
//
// Declarations:
//
/* ############################################################################################## */
/* 803BF0E8-803BF0F4 01C208 000C+00 2/2 0/0 0/0 .data __vt__18dMeter_cursorHIO_c */
SECTION_DATA extern void* __vt__18dMeter_cursorHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__18dMeter_cursorHIO_cFv,
};
/* 803BF0F4-803BF100 01C214 000C+00 2/2 0/0 0/0 .data __vt__16dMeter_fmapHIO_c */
SECTION_DATA extern void* __vt__16dMeter_fmapHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__16dMeter_fmapHIO_cFv,
};
/* 803BF100-803BF10C 01C220 000C+00 3/3 0/0 0/0 .data __vt__19dMeter_mapIconHIO_c */
SECTION_DATA extern void* __vt__19dMeter_mapIconHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__19dMeter_mapIconHIO_cFv,
};
/* 803BF10C-803BF118 01C22C 000C+00 2/2 0/0 0/0 .data __vt__16dMeter_ringHIO_c */
SECTION_DATA extern void* __vt__16dMeter_ringHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__16dMeter_ringHIO_cFv,
};
/* 803BF118-803BF124 01C238 000C+00 2/2 0/0 0/0 .data __vt__16dMeter_drawHIO_c */
SECTION_DATA extern void* __vt__16dMeter_drawHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__16dMeter_drawHIO_cFv,
};
/* 803BF124-803BF130 01C244 000C+00 3/3 0/0 0/0 .data __vt__25dMeter_drawLightDropHIO_c
*/
SECTION_DATA extern void* __vt__25dMeter_drawLightDropHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__25dMeter_drawLightDropHIO_cFv,
};
/* 803BF130-803BF13C 01C250 000C+00 3/3 0/0 0/0 .data __vt__24dMeter_drawMiniGameHIO_c */
SECTION_DATA extern void* __vt__24dMeter_drawMiniGameHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__24dMeter_drawMiniGameHIO_cFv,
};
/* 803BF13C-803BF148 01C25C 000C+00 3/3 0/0 0/0 .data __vt__25dMeter_drawEmpButtonHIO_c
*/
SECTION_DATA extern void* __vt__25dMeter_drawEmpButtonHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__25dMeter_drawEmpButtonHIO_cFv,
};
/* 803BF148-803BF154 01C268 000C+00 3/3 0/0 0/0 .data __vt__21dMeter_drawSkillHIO_c */
SECTION_DATA extern void* __vt__21dMeter_drawSkillHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__21dMeter_drawSkillHIO_cFv,
};
/* 803BF154-803BF160 01C274 000C+00 3/3 0/0 0/0 .data __vt__27dMeter_drawCalibrationHIO_c
*/
SECTION_DATA extern void* __vt__27dMeter_drawCalibrationHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__27dMeter_drawCalibrationHIO_cFv,
};
/* 803BF160-803BF16C 01C280 000C+00 3/3 0/0 0/0 .data __vt__22dMeter_drawInsectHIO_c */
SECTION_DATA extern void* __vt__22dMeter_drawInsectHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__22dMeter_drawInsectHIO_cFv,
};
/* 803BF16C-803BF178 01C28C 000C+00 3/3 0/0 0/0 .data __vt__23dMeter_drawFishingHIO_c */
SECTION_DATA extern void* __vt__23dMeter_drawFishingHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__23dMeter_drawFishingHIO_cFv,
};
/* 803BF178-803BF184 01C298 000C+00 3/3 0/0 0/0 .data __vt__22dMeter_drawLetterHIO_c */
SECTION_DATA extern void* __vt__22dMeter_drawLetterHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__22dMeter_drawLetterHIO_cFv,
};
/* 803BF184-803BF190 01C2A4 000C+00 3/3 0/0 0/0 .data __vt__22dMeter_drawOptionHIO_c */
SECTION_DATA extern void* __vt__22dMeter_drawOptionHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__22dMeter_drawOptionHIO_cFv,
};
/* 803BF190-803BF19C 01C2B0 000C+00 3/3 0/0 0/0 .data __vt__23dMeter_drawCollectHIO_c */
SECTION_DATA extern void* __vt__23dMeter_drawCollectHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__23dMeter_drawCollectHIO_cFv,
};
/* 803BF19C-803BF1A8 01C2BC 000C+00 2/2 0/0 0/0 .data __vt__16dMeter_menuHIO_c */
SECTION_DATA extern void* __vt__16dMeter_menuHIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__16dMeter_menuHIO_cFv,
};
/* 801FE330-801FE348 1F8C70 0018+00 1/1 0/0 0/0 .text __ct__16dMeter_menuHIO_cFv */
dMeter_menuHIO_c::dMeter_menuHIO_c() {
mGameover = 70;
@@ -1688,8 +1510,6 @@ dMeter_fmapHIO_c::dMeter_fmapHIO_c() {
}
/* 80200BCC-80200CD4 1FB50C 0108+00 2/1 0/0 0/0 .text __dt__16dMeter_fmapHIO_cFv */
// Matches with dMeter_mapIconHIO_c dtor defined instead of declared in the header
#ifdef NONMATCHING
dMeter_fmapHIO_c::~dMeter_fmapHIO_c() {
if (field_0xc != NULL) {
mDoExt_getGameHeap()->free(field_0xc);
@@ -1707,17 +1527,6 @@ dMeter_fmapHIO_c::~dMeter_fmapHIO_c() {
field_0x8 = NULL;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_fmapHIO_c::~dMeter_fmapHIO_c() {
extern "C" asm void __dt__16dMeter_fmapHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__16dMeter_fmapHIO_cFv.s"
}
#pragma pop
#endif
/* 80200CD4-80200D58 1FB614 0084+00 1/1 0/0 0/0 .text __ct__18dMeter_cursorHIO_cFv */
dMeter_cursorHIO_c::dMeter_cursorHIO_c() {
@@ -1733,172 +1542,6 @@ dMeter_cursorHIO_c::dMeter_cursorHIO_c() {
mMagicArmorObjZoomAngleX = -500;
}
/* 80200D58-80200DA0 1FB698 0048+00 1/0 0/0 0/0 .text __dt__25dMeter_drawLightDropHIO_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawLightDropHIO_c::~dMeter_drawLightDropHIO_c() {
extern "C" asm void __dt__25dMeter_drawLightDropHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__25dMeter_drawLightDropHIO_cFv.s"
}
#pragma pop
/* 80200DA0-80200DE8 1FB6E0 0048+00 1/0 0/0 0/0 .text __dt__25dMeter_drawEmpButtonHIO_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawEmpButtonHIO_c::~dMeter_drawEmpButtonHIO_c() {
extern "C" asm void __dt__25dMeter_drawEmpButtonHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__25dMeter_drawEmpButtonHIO_cFv.s"
}
#pragma pop
/* 80200DE8-80200E30 1FB728 0048+00 1/0 0/0 0/0 .text __dt__24dMeter_drawMiniGameHIO_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawMiniGameHIO_c::~dMeter_drawMiniGameHIO_c() {
extern "C" asm void __dt__24dMeter_drawMiniGameHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__24dMeter_drawMiniGameHIO_cFv.s"
}
#pragma pop
/* 80200E30-80200E78 1FB770 0048+00 1/0 0/0 0/0 .text __dt__21dMeter_drawSkillHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawSkillHIO_c::~dMeter_drawSkillHIO_c() {
extern "C" asm void __dt__21dMeter_drawSkillHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__21dMeter_drawSkillHIO_cFv.s"
}
#pragma pop
/* 80200E78-80200EC0 1FB7B8 0048+00 1/0 0/0 0/0 .text __dt__27dMeter_drawCalibrationHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawCalibrationHIO_c::~dMeter_drawCalibrationHIO_c() {
extern "C" asm void __dt__27dMeter_drawCalibrationHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__27dMeter_drawCalibrationHIO_cFv.s"
}
#pragma pop
/* 80200EC0-80200F08 1FB800 0048+00 1/0 0/0 0/0 .text __dt__22dMeter_drawInsectHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawInsectHIO_c::~dMeter_drawInsectHIO_c() {
extern "C" asm void __dt__22dMeter_drawInsectHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__22dMeter_drawInsectHIO_cFv.s"
}
#pragma pop
/* 80200F08-80200F50 1FB848 0048+00 1/0 0/0 0/0 .text __dt__23dMeter_drawFishingHIO_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawFishingHIO_c::~dMeter_drawFishingHIO_c() {
extern "C" asm void __dt__23dMeter_drawFishingHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__23dMeter_drawFishingHIO_cFv.s"
}
#pragma pop
/* 80200F50-80200F98 1FB890 0048+00 1/0 0/0 0/0 .text __dt__22dMeter_drawLetterHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawLetterHIO_c::~dMeter_drawLetterHIO_c() {
extern "C" asm void __dt__22dMeter_drawLetterHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__22dMeter_drawLetterHIO_cFv.s"
}
#pragma pop
/* 80200F98-80200FE0 1FB8D8 0048+00 1/0 0/0 0/0 .text __dt__22dMeter_drawOptionHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawOptionHIO_c::~dMeter_drawOptionHIO_c() {
extern "C" asm void __dt__22dMeter_drawOptionHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__22dMeter_drawOptionHIO_cFv.s"
}
#pragma pop
/* 80200FE0-80201028 1FB920 0048+00 1/0 0/0 0/0 .text __dt__23dMeter_drawCollectHIO_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawCollectHIO_c::~dMeter_drawCollectHIO_c() {
extern "C" asm void __dt__23dMeter_drawCollectHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__23dMeter_drawCollectHIO_cFv.s"
}
#pragma pop
/* 80201028-80201070 1FB968 0048+00 1/0 0/0 0/0 .text __dt__19dMeter_mapIconHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_mapIconHIO_c::~dMeter_mapIconHIO_c() {
extern "C" asm void __dt__19dMeter_mapIconHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__19dMeter_mapIconHIO_cFv.s"
}
#pragma pop
/* 80201070-80201098 1FB9B0 0028+00 1/1 0/0 0/0 .text __ct__Q216dMeter_fmapHIO_c13MapBlinkAnimeFv
*/
dMeter_fmapHIO_c::MapBlinkAnime::MapBlinkAnime() {}
/* 80201098-802010E0 1FB9D8 0048+00 2/1 0/0 0/0 .text __dt__18dMeter_cursorHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_cursorHIO_c::~dMeter_cursorHIO_c() {
extern "C" asm void __dt__18dMeter_cursorHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__18dMeter_cursorHIO_cFv.s"
}
#pragma pop
/* 802010E0-80201128 1FBA20 0048+00 2/1 0/0 0/0 .text __dt__16dMeter_ringHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_ringHIO_c::~dMeter_ringHIO_c() {
extern "C" asm void __dt__16dMeter_ringHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__16dMeter_ringHIO_cFv.s"
}
#pragma pop
/* 80201128-8020123C 1FBA68 0114+00 2/1 0/0 0/0 .text __dt__16dMeter_drawHIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dMeter_drawHIO_c::~dMeter_drawHIO_c() {
extern "C" asm void __dt__16dMeter_drawHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__16dMeter_drawHIO_cFv.s"
}
#pragma pop
/* 8020123C-80201284 1FBB7C 0048+00 2/1 0/0 0/0 .text __dt__16dMeter_menuHIO_cFv */
dMeter_menuHIO_c::~dMeter_menuHIO_c() {}
/* 804510B0-804510B8 0005B0 0008+00 1/1 1/1 0/0 .sbss g_menuHIO */
dMeter_menuHIO_c g_menuHIO;
+181 -11
View File
@@ -9,6 +9,8 @@
#include "dol2asm.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_msg_mng.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "JSystem/JUtility/JUTTexture.h"
//
// Forward References:
@@ -359,6 +361,170 @@ void COutFont_c::setPane(J2DPicture* p_pic) {
SECTION_SDATA2 static f64 lit_4397 = 4503599627370496.0 /* cast u32 to float */;
/* 80225EA8-80226CF8 2207E8 0E50+00 2/0 0/0 0/0 .text createPane__10COutFont_cFv */
#ifdef NONMATCHING
void COutFont_c::createPane() {
ResTIMG* local_30;
for (int iVar5 = 0; iVar5 < 70; iVar5++) {
if (iVar5 == 41) {
local_30 = (ResTIMG*)dComIfGp_getItemIconArchive()->getResource('TIMG', getBtiName(iVar5));
} else {
local_30 = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', getBtiName(iVar5));
}
mpPane[iVar5] = new J2DPicture(local_30);
switch (iVar5) {
case 0:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(255, 255, 255, 0), JUtility::TColor(98, 163, 46, 255));
break;
case 1:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(255, 255, 255, 0), JUtility::TColor(200, 39, 39, 255));
break;
case 2:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 200, 50, 255));
break;
case 3:
case 4:
case 5:
case 6:
case 8:
if (field_0x242 == 0x1) {
mpPane[iVar5]->setBlackWhite(JUtility::TColor(255, 255, 255, 0), JUtility::TColor(120, 120, 120, 255));
} else {
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(200, 200, 200, 255));
}
break;
case 7:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(255, 255, 255, 0), JUtility::TColor(80, 70, 165, 255));
break;
case 9:
case 0xe:
case 0xf:
case 0x10:
case 0x11:
case 0x12:
case 0x13:
local_30 = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_07_02.bti");
mpPane[iVar5]->append(local_30, 1.0f);
mpPane[iVar5]->setBlendRatio(1.0f, 0.0f);
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(200, 200, 200, 255));
break;
case 0x14:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(220, 50, 50, 255));
break;
case 0x15:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 200, 50, 255));
break;
case 0x16:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 100, 0, 255));
break;
case 0x17:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 255, 180, 255));
break;
case 0x18:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x19:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(170, 255, 255, 255));
break;
case 0x1a:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 255, 0), JUtility::TColor(30, 50, 120, 255));
break;
case 0x1b:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 50, 50, 255));
break;
case 0x1c:
case 0x2b:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x1d:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
break;
case 0x1f:
case 0x20:
case 0x21:
case 0x22:
case 0x23:
case 0x24:
case 0x25:
case 0x26:
case 0x27:
case 0x28:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 80, 80, 255));
break;
case 0x1e:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
field_0x1ac = (f32)local_30->width / (f32)local_30->height;
field_0x1b0 = 1.0f;
break;
case 0x29:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x2a:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x2c:
case 0x2d:
case 0x2e:
case 0x2f:
case 0x37:
case 0x38:
case 0x39:
case 0x3a:
case 0x3d:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x30:
local_30 = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_20.bti");
mpPane[iVar5]->append(local_30, 1.0f);
mpPane[iVar5]->setBlendRatio(1.0f, 0.0f);
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x31:
case 0x32:
case 0x41:
case 0x42:
case 0x43:
case 0x44:
local_30 = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_21.bti");
mpPane[iVar5]->append(local_30, 1.0f);
mpPane[iVar5]->setBlendRatio(1.0f, 0.0f);
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x33:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(190, 190, 190, 255));
break;
case 0x34:
case 0x35:
case 0x36:
case 0x3f:
case 0x40:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x3b:
local_30 = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_30.bti");
mpPane[iVar5]->append(local_30, 1.0f);
mpPane[iVar5]->setBlendRatio(1.0f, 0.0f);
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x3c:
local_30 = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_31.bti");
mpPane[iVar5]->append(local_30, 1.0f);
mpPane[iVar5]->setBlendRatio(1.0f, 0.0f);
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x3e:
local_30 = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "font_34.bti");
mpPane[iVar5]->append(local_30, 1.0f);
mpPane[iVar5]->setBlendRatio(1.0f, 0.0f);
mpPane[iVar5]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
case 0x45:
mpPane[iVar5]->setBlackWhite(JUtility::TColor(166, 12, 0, 0), JUtility::TColor(255, 255, 255, 255));
break;
}
}
field_0x240 = true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -367,6 +533,7 @@ asm void COutFont_c::createPane() {
#include "asm/d/msg/d_msg_out_font/createPane__10COutFont_cFv.s"
}
#pragma pop
#endif
/* 80226CF8-80226D4C 221638 0054+00 0/0 2/2 0/0 .text initialize__10COutFont_cFv */
void COutFont_c::initialize() {
@@ -435,6 +602,7 @@ SECTION_SDATA2 static f64 lit_5001 = 4503601774854144.0 /* cast s32 to float */;
/* 80226DB0-80228448 2216F0 1698+00 2/0 0/0 0/0 .text draw__10COutFont_cFP10J2DTextBoxfff
*/
// Matches with literals
#ifdef NONMATCHING
void COutFont_c::draw(J2DTextBox* p_textBox, f32 param_1, f32 param_2, f32 param_3) {
s16 sp256[70];
@@ -464,7 +632,7 @@ void COutFont_c::draw(J2DTextBox* p_textBox, f32 param_1, f32 param_2, f32 param
f32 sizeY = local_110 * mpOfs[i]->getSizeY();
if (mpPane[type] != NULL) {
mpPane[type]->setAlpha(mAlphaRatio * mpPane[i]->getAlpha());
mpPane[type]->setAlpha(mAlphaRatio * mpOfs[i]->getAlpha());
switch (type) {
case 10:
@@ -630,7 +798,7 @@ void COutFont_c::draw(J2DTextBox* p_textBox, f32 param_1, f32 param_2, f32 param
field_0x1b4[type] = 0;
}
mpPane[type]->rotate(0.5f * posX, 0.5f * posY, ROTATE_Z, (360.0f * (f32)field_0x1b4[type]) / 28.0f);
mpPane[type]->rotate(0.5f * sizeX, 0.5f * sizeY, ROTATE_Z, (360.0f * (f32)field_0x1b4[type]) / 28.0f);
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
break;
case 25: // some issues in here, 2020
@@ -644,15 +812,17 @@ void COutFont_c::draw(J2DTextBox* p_textBox, f32 param_1, f32 param_2, f32 param
f32 alpha;
if (field_0x1b4[type] < 9) {
alpha = field_0x1b4[type];
alpha = 50.0f + 205.0f * (field_0x1b4[type] / 9.0f);
} else {
alpha = 18.0f - field_0x1b4[type];
alpha = 50.0f + 205.0f * ((18.0f - field_0x1b4[type]) / 9.0f);
}
mpPane[26]->setAlpha(((alpha / 9.0f) * 205.0f + 50.0f) * mAlphaRatio);
f32 tmpX = 0.5f * (g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeX;
f32 tmpY = 0.5f * (g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeY;
mpPane[26]->draw(posX - tmpX, posY - tmpY, g_MsgObject_HIO_c.mPortalIconScale * sizeX, g_MsgObject_HIO_c.mPortalIconScale * sizeY, false, false, false);
mpPane[26]->setAlpha(alpha * mAlphaRatio);
mpPane[26]->draw(
posX - 0.5f * ((g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeX),
posY - 0.5f * ((g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeY),
sizeX * g_MsgObject_HIO_c.mPortalIconScale,
sizeY * g_MsgObject_HIO_c.mPortalIconScale, false, false, false);
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
break;
case 26:
@@ -660,7 +830,7 @@ void COutFont_c::draw(J2DTextBox* p_textBox, f32 param_1, f32 param_2, f32 param
break;
case 30:
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
mpPane[type]->draw(posX + (0.5f * (sizeX * (field_0x1ac - 1.0f))), posY + (0.5f * (sizeY * (field_0x1b0 - 1.0f))), sizeX * field_0x1ac, sizeY * field_0x1b0, false, false, false);
mpPane[type]->draw(posX + (0.5f * (sizeX * (1.0f - field_0x1ac))), posY + (0.5f * (sizeY * (1.0f - field_0x1b0))), sizeX * field_0x1ac, sizeY * field_0x1b0, false, false, false);
break;
case 31:
case 32:
@@ -682,8 +852,8 @@ void COutFont_c::draw(J2DTextBox* p_textBox, f32 param_1, f32 param_2, f32 param
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
mpPane[type]->draw(2.0f + posX, 2.0f + ((posY + -3.0f) - 4.0f), sizeX, sizeY * 1.25f, false, false, false);
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor());
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
mpPane[type]->draw(posX, (posY + -3.0f) - 4.0f, sizeX, sizeY * 1.25f, false, false, false);
break;
case 45:
mpPane[type]->draw(posX, (posY + -3.0f) - 4.0f, sizeX, sizeY * 1.25f, false, false, false);
+80
View File
@@ -72,6 +72,85 @@ SECTION_SDATA2 static f32 lit_3704[1 + 1 /* padding */] = {
SECTION_SDATA2 static f64 lit_3707 = 4503601774854144.0 /* cast s32 to float */;
/* 80238CEC-8023907C 23362C 0390+00 0/0 5/5 0/0 .text setTag__10dMsgUnit_cFiiPcb */
// regalloc + mulli issue
#ifdef NONMATCHING
void dMsgUnit_c::setTag(int param_1, int param_2, char* param_3, bool param_4) {
*param_3 = 0;
if (param_1 == 0x10000) {
sprintf(param_3, "%d", param_2);
} else if (param_1 == 0x10001) {
sprintf(param_3, "%d-%d", param_2 / 10, param_2 % 10);
} else if (param_1 == 4 && param_4 == true) {
int r6 = param_2 / 1000;
int r5 = r6 / 60;
r6 %= 60;
if (r5 > 99) {
r5 = 99;
r6 = 59;
}
if (r5 != 0 || r6 != 0) {
sprintf(param_3, "%d:%02d", r5, r6);
}
} else if (param_1 == 3 && param_4 == true) {
f32 dayTime = g_env_light.getDaytime();
f32 iVar8 = 1000000.0f * dayTime;
iVar8 = ((s32)iVar8 % 15000000) / 1000000.0f;
iVar8 = 60.0f * (iVar8 / 15.0f);
sprintf(param_3, "%d:%02d", (s32)(dayTime / 15.0f), (s32)iVar8);
} else {
if (param_1 == 9 && param_4 == true) {
sprintf(param_3, "%d", param_2);
}
bmg_header_t* iVar9 = (bmg_header_t*)dMeter2Info_getMsgUnitResource();
inf1_section_t* inf1 = NULL;
str1_section_t* str1 = NULL;
int local_114 = sizeof(bmg_header_t);
u32 size = iVar9->size;
bmg_section_t* piVar12 = iVar9->section;
for (; local_114 < size; local_114 += piVar12->size) {
switch(piVar12->msgType) {
case 'FLW1':
break;
case 'FLI1':
break;
case 'DAT1':
break;
case 'INF1':
inf1 = (inf1_section_t*)piVar12;
break;
case 'STR1':
str1 = (str1_section_t*)piVar12;
break;
}
piVar12 = (bmg_section_t*)((u8*)piVar12 + piVar12->size);
}
u32 uVar1 = inf1->entries[param_1].startFrame;
u32 uVar2 = inf1->entries[param_1].endFrame;
const char* uVar5;
if (param_2 == 1) {
uVar5 = str1->entries->str + uVar1;
} else {
uVar5 = str1->entries->str + uVar2;
}
if (strcmp(uVar5, "") == 0) {
sprintf(param_3, "%d%s", param_2, uVar5);
} else {
sprintf(param_3, "%d %s", param_2, uVar5);
}
if (param_1 == 3 && param_4 == true) {
char acStack_d8[20];
setTag(4, 0, acStack_d8, false);
strcat(param_3, acStack_d8);
}
if (param_1 == 4 && param_4 == true) {
char acStack_ec[20];
setTag(5, param_2, acStack_ec, false);
strcat(param_3, acStack_ec);
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -80,6 +159,7 @@ asm void dMsgUnit_c::setTag(int param_0, int param_1, char* param_2, bool param_
#include "asm/d/msg/d_msg_unit/setTag__10dMsgUnit_cFiiPcb.s"
}
#pragma pop
#endif
/* 804510D0-804510D8 0005D0 0004+04 1/1 5/5 0/0 .sbss g_msg_unit */
dMsgUnit_c g_msg_unit;