Some work on m_do_ext (#1988)

* Some work on m_do_ext

* Work on m_do_ext
This commit is contained in:
hatal175
2023-11-18 09:02:12 +02:00
committed by GitHub
parent 645fd37c13
commit 37c58aaa2d
12 changed files with 280 additions and 455 deletions
+251 -72
View File
@@ -9,6 +9,8 @@
#include "JSystem/JKernel/JKRAssertHeap.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
//#include "JSystem/JUtility/JUTResFont.h"
//#include "JSystem/JUtility/JUTCacheFont.h"
#include "MSL_C/stdio.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/com/d_com_inf_game.h"
@@ -330,6 +332,10 @@ extern "C" void func_80015084(void* _this);
extern "C" void func_800150AC(void* _this);
extern "C" extern char const* const m_Do_m_Do_ext__stringBase0;
static void mDoExt_initFontCommon(JUTFont** param_0, ResFONT** param_1, JKRHeap* param_2,
char const* param_3, JKRArchive* param_4, u8 param_5, u32 param_6,
u32 param_7);
//
// External References:
//
@@ -2158,7 +2164,6 @@ void mDoExt_invisibleModel::entryDL(cXyz* param_0) {
/* 8000E834-8000EA80 009174 024C+00 0/0 0/0 7/7 .text
* mDoExt_setupShareTexture__FP12J3DModelDataP12J3DModelData */
#ifdef NONMATCHING
void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareModelData) {
JUT_ASSERT(1547, i_modelData != 0 && i_shareModelData != 0);
J3DTexture* texture = i_modelData->getTexture();
@@ -2172,7 +2177,8 @@ void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareMo
bool bvar = false;
for (u16 i = 0; i < texture->getNum(); i++) {
if (texture->getResTIMG(i)->imageOffset == 0) {
ResTIMG* res = texture->getResTIMG(i);
if (res->imageOffset == 0) {
for (u16 j = 0; j < shareTexture->getNum(); j++) {
if (!strcmp(textureName->getName(i), shareTextureName->getName(j))) {
JUT_ASSERT(1564, shareTexture->getResTIMG(j)->imageOffset != 0);
@@ -2202,16 +2208,6 @@ void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareMo
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareModelData) {
nofralloc
#include "asm/m_Do/m_Do_ext/mDoExt_setupShareTexture__FP12J3DModelDataP12J3DModelData.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -2676,6 +2672,28 @@ asm void mDoExt_MtxCalcAnmBlendTblOld::calc() {
/* 8000F848-8000F8CC 00A188 0084+00 0/0 26/26 8/8 .text
* initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs */
// Matches with literals
#ifdef NONMATCHING
void mDoExt_MtxCalcOldFrame::initOldFrameMorf(f32 param_0, u16 frameStartJoint, u16 frameEndJoint) {
if (param_0 > 0.0f) {
mOldFrameMorfCounter = param_0;
field_0x8 = 1.0f / param_0;
mOldFrameRate = 1.0f;
field_0x10 = 1.0f;
field_0x14 = 1.0f;
decOldFrameMorfCounter();
} else {
mOldFrameMorfCounter = 0.0f;
field_0x8 = 0.0f;
mOldFrameRate = 0.0f;
field_0x10 = 0.0f;
field_0x14 = 0.0f;
}
mOldFrameStartJoint = frameStartJoint;
mOldFrameEndJoint = frameEndJoint;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2684,9 +2702,32 @@ asm void mDoExt_MtxCalcOldFrame::initOldFrameMorf(f32 param_0, u16 param_1, u16
#include "asm/m_Do/m_Do_ext/initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs.s"
}
#pragma pop
#endif
/* 8000F8CC-8000F950 00A20C 0084+00 2/2 0/0 0/0 .text
* decOldFrameMorfCounter__22mDoExt_MtxCalcOldFrameFv */
#ifdef NONMATCHING
void mDoExt_MtxCalcOldFrame::decOldFrameMorfCounter() {
if (mOldFrameMorfCounter > 0.0f) {
mOldFrameMorfCounter -= 1.0f;
if (mOldFrameMorfCounter <= 0.0f) {
mOldFrameMorfCounter = 0.0f;
field_0x8 = 0.0f;
mOldFrameRate = 0.0f;
}
field_0x14 = field_0x10;
field_0x10 = mOldFrameMorfCounter * field_0x8;
if (field_0x14 > 0.0f) {
mOldFrameRate = 1.0f - (field_0x14 - field_0x10) / field_0x14;
} else {
mOldFrameRate = 0.0f;
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2695,8 +2736,18 @@ asm void mDoExt_MtxCalcOldFrame::decOldFrameMorfCounter() {
#include "asm/m_Do/m_Do_ext/decOldFrameMorfCounter__22mDoExt_MtxCalcOldFrameFv.s"
}
#pragma pop
#endif
/* 8000F950-8000F9D8 00A290 0088+00 3/3 0/0 0/0 .text __ct__13mDoExt_morf_cFv */
// vtable issues
#ifdef NONMATCHING
mDoExt_morf_c::mDoExt_morf_c() {
mpModel = NULL;
mpAnm = NULL;
mpTransformInfo = NULL;
mpQuat = NULL;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2705,6 +2756,7 @@ asm mDoExt_morf_c::mDoExt_morf_c() {
#include "asm/m_Do/m_Do_ext/__ct__13mDoExt_morf_cFv.s"
}
#pragma pop
#endif
/* 8000F9D8-8000FA20 00A318 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
#pragma push
@@ -3059,14 +3111,27 @@ asm void mDoExt_McaMorf::setAnm(J3DAnmTransform* param_0, int param_1, f32 param
/* 800105C8-80010680 00AF08 00B8+00 0/0 1/1 37/37 .text play__14mDoExt_McaMorfFP3VecUlSc
*/
// Matches with literals
#ifdef NONMATCHING
u32 mDoExt_McaMorf::play(Vec* param_0, u32 param_1, s8 param_2) {
frameUpdate();
if (mpSound != NULL && mpSound->field_0x48 != NULL && param_0 != NULL) {
mpSound->updateAnime(getFrame(), getPlaySpeed());
mpSound->framework(param_1, param_2);
field_0x50 = true;
}
return isStop();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoExt_McaMorf::play(Vec* param_0, u32 param_1, s8 param_2) {
asm u32 mDoExt_McaMorf::play(Vec* param_0, u32 param_1, s8 param_2) {
nofralloc
#include "asm/m_Do/m_Do_ext/play__14mDoExt_McaMorfFP3VecUlSc.s"
}
#pragma pop
#endif
/* 80010680-800106AC 00AFC0 002C+00 0/0 0/0 33/33 .text entryDL__14mDoExt_McaMorfFv */
void mDoExt_McaMorf::entryDL() {
@@ -3089,14 +3154,21 @@ void mDoExt_McaMorf::modelCalc() {
/* 80010710-800107D0 00B050 00C0+00 1/1 0/0 0/0 .text
* getTransform__14mDoExt_McaMorfFUsP16J3DTransformInfo */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoExt_McaMorf::getTransform(u16 param_0, J3DTransformInfo* param_1) {
nofralloc
#include "asm/m_Do/m_Do_ext/getTransform__14mDoExt_McaMorfFUsP16J3DTransformInfo.s"
void mDoExt_McaMorf::getTransform(u16 param_0, J3DTransformInfo* param_1) {
mpAnm->getTransform(param_0, param_1);
if (field_0x51) {
if (param_0 == 0) {
param_1->mTranslate.x *= mTranslateScale.x;
param_1->mTranslate.y *= mTranslateScale.y;
param_1->mTranslate.z *= mTranslateScale.z;
} else {
J3DTransformInfo& info = mpModel->getModelData()->getJointNodePointer(param_0)->getTransformInfo();
param_1->mTranslate.x = info.mTranslate.x;
param_1->mTranslate.y = info.mTranslate.y;
param_1->mTranslate.z = info.mTranslate.z;
}
}
}
#pragma pop
/* 800107D0-80010888 00B110 00B8+00 0/0 2/2 222/222 .text
* __ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl
@@ -3125,6 +3197,7 @@ extern "C" asm void __dt__16mDoExt_McaMorfSOFv() {
/* 800108F0-80010B68 00B230 0278+00 1/1 0/0 0/0 .text
* create__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl
*/
// Matches with literals
#ifdef NONMATCHING
int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_c* param_1,
mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3,
@@ -3141,9 +3214,9 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_
if (i_modelData->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL && param_9 == 0) {
if (i_modelData->isLocked()) {
param_10 = 0x20000;
param_9 = 0x20000;
} else {
param_10 = 0x80000;
param_9 = 0x80000;
}
}
@@ -3173,9 +3246,10 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_
J3DTransformInfo* transInfo = mpTransformInfo;
Quaternion* quat = mpQuat;
J3DModelData* modelData = mpModel->getModelData();
u16 jointNum = modelData->getJointNum();
for (int i = 0; i < modelData->getJointNum(); i++) {
transInfo = &modelData->getJointNodePointer(i)->getTransformInfo();
for (int i = 0; i < jointNum; i++) {
*transInfo = modelData->getJointNodePointer(i)->getTransformInfo();
JMAEulerToQuat(transInfo->mRotation.x, transInfo->mRotation.y,
transInfo->mRotation.z, quat);
@@ -3303,14 +3377,21 @@ void mDoExt_McaMorfSO::modelCalc() {
/* 80011250-80011310 00BB90 00C0+00 1/1 0/0 1/1 .text
* getTransform__16mDoExt_McaMorfSOFUsP16J3DTransformInfo */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoExt_McaMorfSO::getTransform(u16 param_0, J3DTransformInfo* param_1) {
nofralloc
#include "asm/m_Do/m_Do_ext/getTransform__16mDoExt_McaMorfSOFUsP16J3DTransformInfo.s"
void mDoExt_McaMorfSO::getTransform(u16 param_0, J3DTransformInfo* param_1) {
mpAnm->getTransform(param_0, param_1);
if (mTranslate) {
if (param_0 == 0) {
param_1->mTranslate.x *= mTranslateScale.x;
param_1->mTranslate.y *= mTranslateScale.y;
param_1->mTranslate.z *= mTranslateScale.z;
} else {
J3DTransformInfo& info = mpModel->getModelData()->getJointNodePointer(param_0)->getTransformInfo();
param_1->mTranslate.x = info.mTranslate.x;
param_1->mTranslate.y = info.mTranslate.y;
param_1->mTranslate.z = info.mTranslate.z;
}
}
}
#pragma pop
/* 80011310-80011348 00BC50 0038+00 1/1 2/2 260/260 .text stopZelAnime__16mDoExt_McaMorfSOFv */
void mDoExt_McaMorfSO::stopZelAnime() {
@@ -3322,18 +3403,13 @@ void mDoExt_McaMorfSO::stopZelAnime() {
/* 80011348-800113FC 00BC88 00B4+00 0/0 0/0 1/1 .text
* __ct__15mDoExt_McaMorf2FP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformP15J3DAnmTransformifiiP10Z2CreatureUlUl
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm mDoExt_McaMorf2::mDoExt_McaMorf2(J3DModelData* param_0, mDoExt_McaMorfCallBack1_c* param_1,
mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3,
J3DAnmTransform* param_4, int param_5, f32 param_6,
int param_7, int param_8, Z2Creature* param_9, u32 param_10,
u32 param_11) {
nofralloc
#include "asm/m_Do/m_Do_ext/func_80011348.s"
mDoExt_McaMorf2::mDoExt_McaMorf2(J3DModelData* param_0, mDoExt_McaMorfCallBack1_c* param_1,
mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3,
J3DAnmTransform* param_4, int param_5, f32 param_6, int param_7,
int param_8, Z2Creature* param_9, u32 param_10, u32 param_11) {
create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9,
param_10, param_11);
}
#pragma pop
/* 800113FC-80011464 00BD3C 0068+00 1/0 0/0 0/0 .text __dt__15mDoExt_McaMorf2Fv */
#pragma push
@@ -3403,6 +3479,30 @@ asm void mDoExt_McaMorf2::setAnm(J3DAnmTransform* param_0, J3DAnmTransform* para
#pragma pop
/* 80011FCC-800120A0 00C90C 00D4+00 0/0 0/0 2/2 .text setAnmRate__15mDoExt_McaMorf2Ff */
// Matches with literals
#ifdef NONMATCHING
void mDoExt_McaMorf2::setAnmRate(f32 param_0) {
void* pBas = NULL;
field_0x44 = param_0;
if (mpSound != NULL) {
if (field_0x44 < 0.5f) {
if (mpAnm != NULL) {
pBas = ((mDoExt_transAnmBas*)mpAnm)->getBas();
}
} else if (field_0x40 != NULL) {
pBas = ((mDoExt_transAnmBas*)field_0x40)->getBas();
}
if (pBas != mpBas) {
if (pBas != NULL) {
mpBas = pBas;
mpSound->initAnime(mpBas, getPlaySpeed() >= 0.0f, getLoopFrame(), getFrame());
} else {
mpBas = NULL;
}
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -3411,6 +3511,7 @@ asm void mDoExt_McaMorf2::setAnmRate(f32 param_0) {
#include "asm/m_Do/m_Do_ext/setAnmRate__15mDoExt_McaMorf2Ff.s"
}
#pragma pop
#endif
/* 800120A0-80012144 00C9E0 00A4+00 0/0 0/0 1/1 .text play__15mDoExt_McaMorf2FUlSc */
// matches with literals
@@ -3679,6 +3780,18 @@ asm void mDoExt_3DlineMatSortPacket::setMat(mDoExt_3DlineMat_c* param_0) {
#pragma pop
/* 8001479C-80014804 00F0DC 0068+00 1/0 0/0 0/0 .text draw__26mDoExt_3DlineMatSortPacketFv */
// Matches with mDoExt_3DlineMat_c virtual function defs
#ifdef NONMATCHING
void mDoExt_3DlineMatSortPacket::draw() {
mp3DlineMat->setMaterial();
mDoExt_3DlineMat_c* lineMat = mp3DlineMat;
do {
lineMat->draw();
lineMat = lineMat->field_0x4;
} while (lineMat != NULL);
J3DShape::resetVcdVatCache();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -3688,6 +3801,7 @@ extern "C" asm void draw__26mDoExt_3DlineMatSortPacketFv() {
#include "asm/m_Do/m_Do_ext/draw__26mDoExt_3DlineMatSortPacketFv.s"
}
#pragma pop
#endif
void drawCube(MtxP mtx, cXyz* pos, const GXColor& color) {
GXSetArray(GX_VA_POS, pos, sizeof(cXyz));
@@ -3791,6 +3905,37 @@ SECTION_DEAD static char const* const stringBase_8037416B =
/* 80014804-8001494C 00F144 0148+00 3/3 0/0 0/0 .text
* mDoExt_initFontCommon__FPP7JUTFontPP7ResFONTP7JKRHeapPCcP10JKRArchiveUcUlUl */
// Matches with FontCache include
#ifdef NONMATCHING
static void mDoExt_initFontCommon(JUTFont** mDoExt_font, ResFONT** mDoExt_resfont, JKRHeap* param_2,
char const* param_3, JKRArchive* param_4, u8 param_5,
u32 param_6, u32 param_7) {
JUT_ASSERT(7141, mDoExt_font == 0);
JUT_ASSERT(7142, mDoExt_resfont == 0);
*mDoExt_resfont = (ResFONT*)JKRGetResource('ROOT', param_3, param_4);
JUT_ASSERT(7144, *mDoExt_resfont != 0);
if (param_5 == 0) {
u32 cacheSize = JUTCacheFont::calcCacheSize(param_7, param_6);
JUTCacheFont* cacheFont = new (param_2, 0) JUTCacheFont(*mDoExt_resfont, cacheSize, param_2);
if (cacheFont->isValid()) {
*mDoExt_font = cacheFont;
cacheFont->setPagingType(JUTCacheFont::PAGE_TYPE_1);
}
JKRRemoveResource(*mDoExt_resfont, NULL);
*mDoExt_resfont = NULL;
} else {
JUTResFont* local_28 = new JUTResFont(*mDoExt_resfont, param_2);
*mDoExt_font = local_28;
}
if (*mDoExt_font != NULL && !(*mDoExt_font)->isValid()) {
// Failed to create cache font class
OSReport_FatalError("\nキャッシュフォントクラス作成に失敗しました\n");
delete *mDoExt_font;
*mDoExt_font = NULL;
}
JUT_ASSERT(7183, mDoExt_font != 0);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -3801,12 +3946,14 @@ static asm void mDoExt_initFontCommon(JUTFont** param_0, ResFONT** param_1, JKRH
#include "asm/m_Do/m_Do_ext/mDoExt_initFontCommon__FPP7JUTFontPP7ResFONTP7JKRHeapPCcP10JKRArchiveUcUlUl.s"
}
#pragma pop
#endif
/* 8001494C-80014994 00F28C 0048+00 1/0 0/0 0/0 .text __dt__7JUTFontFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JUTFont::~JUTFont() {
//asm JUTFont::~JUTFont() {
extern "C" asm void __dt__7JUTFontFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/__dt__7JUTFontFv.s"
}
@@ -3814,8 +3961,7 @@ asm JUTFont::~JUTFont() {
/* ############################################################################################## */
/* 803740C0-803740D4 000720 0012+02 1/1 0/0 0/0 .rodata fontdata$8224 */
SECTION_RODATA static char const fontdata_8224[] = "rodan_b_24_22.bfn";
COMPILER_STRIP_GATE(0x803740C0, &fontdata_8224);
static char const fontdata_8224[] = "rodan_b_24_22.bfn";
/* 80450C44-80450C48 000144 0004+00 3/3 0/0 0/0 .sbss mDoExt_font0 */
static JUTFont* mDoExt_font0;
@@ -3827,14 +3973,10 @@ static int mDoExt_font0_getCount;
static ResFONT* mDoExt_resfont0;
/* 80014994-800149F0 00F2D4 005C+00 1/1 0/0 0/0 .text mDoExt_initFont0__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void mDoExt_initFont0() {
nofralloc
#include "asm/m_Do/m_Do_ext/mDoExt_initFont0__Fv.s"
static void mDoExt_initFont0() {
mDoExt_initFontCommon(&mDoExt_font0, &mDoExt_resfont0, mDoExt_getZeldaHeap(),
fontdata_8224, dComIfGp_getFontArchive(), 1, 0, 0);
}
#pragma pop
/* 800149F0-80014A2C 00F330 003C+00 0/0 51/51 2/2 .text mDoExt_getMesgFont__Fv */
JUTFont* mDoExt_getMesgFont() {
@@ -3847,6 +3989,24 @@ JUTFont* mDoExt_getMesgFont() {
}
/* 80014A2C-80014AA4 00F36C 0078+00 0/0 6/6 0/0 .text mDoExt_removeMesgFont__Fv */
// Matches with JUTFont include
#ifdef NONMATCHING
void mDoExt_removeMesgFont() {
JUT_ASSERT(7238, mDoExt_font0_getCount > 0);
if (mDoExt_font0_getCount > 0) {
mDoExt_font0_getCount--;
JUT_ASSERT(7241, mDoExt_font0_getCount > 0);
if (mDoExt_font0_getCount == 0) {
delete mDoExt_font0;
mDoExt_font0 = NULL;
if (mDoExt_resfont0 != NULL) {
i_JKRFree(mDoExt_resfont0);
mDoExt_resfont0 = NULL;
}
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -3855,11 +4015,11 @@ asm void mDoExt_removeMesgFont() {
#include "asm/m_Do/m_Do_ext/mDoExt_removeMesgFont__Fv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803740D4-803740E8 000734 0014+00 1/1 0/0 0/0 .rodata fontdata$8253 */
SECTION_RODATA static char const fontdata_8253[] = "reishotai_24_22.bfn";
COMPILER_STRIP_GATE(0x803740D4, &fontdata_8253);
static char const fontdata_8253[] = "reishotai_24_22.bfn";
/* 80450C50-80450C54 000150 0004+00 2/2 0/0 0/0 .sbss mDoExt_font1 */
static JUTFont* mDoExt_font1;
@@ -3871,14 +4031,10 @@ static int mDoExt_font1_getCount;
static ResFONT* mDoExt_resfont1;
/* 80014AA4-80014B04 00F3E4 0060+00 1/1 0/0 0/0 .text mDoExt_initFont1__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void mDoExt_initFont1() {
nofralloc
#include "asm/m_Do/m_Do_ext/mDoExt_initFont1__Fv.s"
static void mDoExt_initFont1() {
mDoExt_initFontCommon(&mDoExt_font1, &mDoExt_resfont1, mDoExt_getZeldaHeap(),
fontdata_8253, dComIfGp_getRubyArchive(), 1, 1, 0x8000);
}
#pragma pop
/* 80014B04-80014B40 00F444 003C+00 0/0 8/8 0/0 .text mDoExt_getRubyFont__Fv */
JUTFont* mDoExt_getRubyFont() {
@@ -3892,8 +4048,7 @@ JUTFont* mDoExt_getRubyFont() {
/* ############################################################################################## */
/* 803740E8-803740FC 000748 0014+00 1/1 0/0 0/0 .rodata fontdata$8287 */
SECTION_RODATA static char const fontdata_8287[] = "reishotai_24_22.bfn";
COMPILER_STRIP_GATE(0x803740E8, &fontdata_8287);
static char const fontdata_8287[] = "reishotai_24_22.bfn";
/* 80450C5C-80450C60 00015C 0004+00 3/3 0/0 0/0 .sbss mDoExt_font2 */
static JUTFont* mDoExt_font2;
@@ -3905,14 +4060,10 @@ static int mDoExt_font2_getCount;
static ResFONT* mDoExt_resfont2;
/* 80014B40-80014BA0 00F480 0060+00 1/1 0/0 0/0 .text mDoExt_initFont2__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void mDoExt_initFont2() {
nofralloc
#include "asm/m_Do/m_Do_ext/mDoExt_initFont2__Fv.s"
static void mDoExt_initFont2() {
mDoExt_initFontCommon(&mDoExt_font2, &mDoExt_resfont2, mDoExt_getZeldaHeap(),
fontdata_8287, dComIfGp_getRubyArchive(), 1, 1, 0x8000);
}
#pragma pop
/* 80014BA0-80014BDC 00F4E0 003C+00 0/0 11/11 0/0 .text mDoExt_getSubFont__Fv */
JUTFont* mDoExt_getSubFont() {
@@ -3925,6 +4076,24 @@ JUTFont* mDoExt_getSubFont() {
}
/* 80014BDC-80014C54 00F51C 0078+00 0/0 2/2 0/0 .text mDoExt_removeSubFont__Fv */
// Matches with JUTFont
#ifdef NONMATCHING
void mDoExt_removeSubFont() {
JUT_ASSERT(7354, mDoExt_font2_getCount > 0);
if (mDoExt_font2_getCount > 0) {
mDoExt_font2_getCount--;
JUT_ASSERT(7357, mDoExt_font2_getCount > 0);
if (mDoExt_font2_getCount == 0) {
delete mDoExt_font2;
mDoExt_font2 = NULL;
if (mDoExt_resfont2 != NULL) {
i_JKRFree(mDoExt_resfont2);
mDoExt_resfont2 = NULL;
}
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -3933,6 +4102,7 @@ asm void mDoExt_removeSubFont() {
#include "asm/m_Do/m_Do_ext/mDoExt_removeSubFont__Fv.s"
}
#pragma pop
#endif
/* 80014C54-80014D5C 00F594 0108+00 3/3 14/14 445/445 .text
* mDoExt_J3DModel__create__FP12J3DModelDataUlUl */
@@ -4004,7 +4174,8 @@ asm void JUTFont::setGX(JUtility::TColor param_0, JUtility::TColor param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTFont::getCellWidth() const {
//asm void JUTFont::getCellWidth() const {
asm void getCellWidth__7JUTFontCFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/getCellWidth__7JUTFontCFv.s"
}
@@ -4014,7 +4185,8 @@ asm void JUTFont::getCellWidth() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTFont::getCellHeight() const {
//asm void JUTFont::getCellHeight() const {
asm void getCellHeight__7JUTFontCFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/getCellHeight__7JUTFontCFv.s"
}
@@ -4158,6 +4330,12 @@ void J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya>::cal
/* 800150AC-8001513C 00F9EC 0090+00 1/0 0/0 0/0 .text
* calc__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>Fv
*/
// Matching with J3DMtxCalcAnmBase inheritance
#ifdef NONMATCHING
void J3DMtxCalcAnimation<J3DMtxCalcAnimationAdaptorDefault<J3DMtxCalcCalcTransformMaya>, J3DMtxCalcJ3DSysInitMaya>::calc() {
J3DMtxCalcCalcTransformMaya::calcTransform(getJoint()->getTransformInfo());
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -4166,5 +4344,6 @@ extern "C" asm void func_800150AC(void* _this) {
#include "asm/m_Do/m_Do_ext/func_800150AC.s"
}
#pragma pop
#endif
/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */