mirror of https://github.com/zeldaret/tp.git
JUTResFont OK (#1948)
This commit is contained in:
parent
4a424534a5
commit
f5f0e57116
|
|
@ -1,111 +0,0 @@
|
|||
lbl_802DFDD8:
|
||||
/* 802DFDD8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802DFDDC 7C 08 02 A6 */ mflr r0
|
||||
/* 802DFDE0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802DFDE4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DFDE8 48 08 23 F5 */ bl _savegpr_29
|
||||
/* 802DFDEC 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802DFDF0 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802DFDF4 80 83 00 4C */ lwz r4, 0x4c(r3)
|
||||
/* 802DFDF8 A3 E4 00 12 */ lhz r31, 0x12(r4)
|
||||
/* 802DFDFC 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802DFE00 81 8C 00 38 */ lwz r12, 0x38(r12)
|
||||
/* 802DFE04 7D 89 03 A6 */ mtctr r12
|
||||
/* 802DFE08 4E 80 04 21 */ bctrl
|
||||
/* 802DFE0C 2C 03 00 02 */ cmpwi r3, 2
|
||||
/* 802DFE10 40 82 00 34 */ bne lbl_802DFE44
|
||||
/* 802DFE14 A0 1D 00 68 */ lhz r0, 0x68(r29)
|
||||
/* 802DFE18 28 00 80 00 */ cmplwi r0, 0x8000
|
||||
/* 802DFE1C 41 80 00 28 */ blt lbl_802DFE44
|
||||
/* 802DFE20 2C 1E 00 20 */ cmpwi r30, 0x20
|
||||
/* 802DFE24 41 80 00 20 */ blt lbl_802DFE44
|
||||
/* 802DFE28 28 1E 00 7F */ cmplwi r30, 0x7f
|
||||
/* 802DFE2C 40 80 00 18 */ bge lbl_802DFE44
|
||||
/* 802DFE30 3C 60 80 3A */ lis r3, halftofull@ha /* 0x8039D39C@ha */
|
||||
/* 802DFE34 38 63 D3 9C */ addi r3, r3, halftofull@l /* 0x8039D39C@l */
|
||||
/* 802DFE38 57 C0 08 3C */ slwi r0, r30, 1
|
||||
/* 802DFE3C 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 802DFE40 A3 C3 FF C0 */ lhz r30, -0x40(r3)
|
||||
lbl_802DFE44:
|
||||
/* 802DFE44 38 60 00 00 */ li r3, 0
|
||||
/* 802DFE48 A0 1D 00 64 */ lhz r0, 0x64(r29)
|
||||
/* 802DFE4C 80 9D 00 5C */ lwz r4, 0x5c(r29)
|
||||
/* 802DFE50 7C 09 03 A6 */ mtctr r0
|
||||
/* 802DFE54 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 802DFE58 40 81 00 EC */ ble lbl_802DFF44
|
||||
lbl_802DFE5C:
|
||||
/* 802DFE5C 7C C4 18 2E */ lwzx r6, r4, r3
|
||||
/* 802DFE60 A0 A6 00 0A */ lhz r5, 0xa(r6)
|
||||
/* 802DFE64 7C 05 F0 00 */ cmpw r5, r30
|
||||
/* 802DFE68 41 81 00 D4 */ bgt lbl_802DFF3C
|
||||
/* 802DFE6C A0 06 00 0C */ lhz r0, 0xc(r6)
|
||||
/* 802DFE70 7C 1E 00 00 */ cmpw r30, r0
|
||||
/* 802DFE74 41 81 00 C8 */ bgt lbl_802DFF3C
|
||||
/* 802DFE78 A0 06 00 08 */ lhz r0, 8(r6)
|
||||
/* 802DFE7C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DFE80 40 82 00 0C */ bne lbl_802DFE8C
|
||||
/* 802DFE84 7F E5 F0 50 */ subf r31, r5, r30
|
||||
/* 802DFE88 48 00 00 BC */ b lbl_802DFF44
|
||||
lbl_802DFE8C:
|
||||
/* 802DFE8C 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 802DFE90 40 82 00 18 */ bne lbl_802DFEA8
|
||||
/* 802DFE94 7C 05 F0 50 */ subf r0, r5, r30
|
||||
/* 802DFE98 54 00 08 3C */ slwi r0, r0, 1
|
||||
/* 802DFE9C 7C 66 02 14 */ add r3, r6, r0
|
||||
/* 802DFEA0 A3 E3 00 10 */ lhz r31, 0x10(r3)
|
||||
/* 802DFEA4 48 00 00 A0 */ b lbl_802DFF44
|
||||
lbl_802DFEA8:
|
||||
/* 802DFEA8 28 00 00 03 */ cmplwi r0, 3
|
||||
/* 802DFEAC 40 82 00 60 */ bne lbl_802DFF0C
|
||||
/* 802DFEB0 38 86 00 10 */ addi r4, r6, 0x10
|
||||
/* 802DFEB4 38 A0 00 00 */ li r5, 0
|
||||
/* 802DFEB8 A0 66 00 0E */ lhz r3, 0xe(r6)
|
||||
/* 802DFEBC 38 C3 FF FF */ addi r6, r3, -1
|
||||
/* 802DFEC0 48 00 00 40 */ b lbl_802DFF00
|
||||
lbl_802DFEC4:
|
||||
/* 802DFEC4 7C 06 2A 14 */ add r0, r6, r5
|
||||
/* 802DFEC8 7C 00 0E 70 */ srawi r0, r0, 1
|
||||
/* 802DFECC 7C E0 01 94 */ addze r7, r0
|
||||
/* 802DFED0 54 E3 10 3A */ slwi r3, r7, 2
|
||||
/* 802DFED4 7C 04 1A 2E */ lhzx r0, r4, r3
|
||||
/* 802DFED8 7C 1E 00 00 */ cmpw r30, r0
|
||||
/* 802DFEDC 40 80 00 0C */ bge lbl_802DFEE8
|
||||
/* 802DFEE0 38 C7 FF FF */ addi r6, r7, -1
|
||||
/* 802DFEE4 48 00 00 1C */ b lbl_802DFF00
|
||||
lbl_802DFEE8:
|
||||
/* 802DFEE8 40 81 00 0C */ ble lbl_802DFEF4
|
||||
/* 802DFEEC 38 A7 00 01 */ addi r5, r7, 1
|
||||
/* 802DFEF0 48 00 00 10 */ b lbl_802DFF00
|
||||
lbl_802DFEF4:
|
||||
/* 802DFEF4 7C 64 1A 14 */ add r3, r4, r3
|
||||
/* 802DFEF8 A3 E3 00 02 */ lhz r31, 2(r3)
|
||||
/* 802DFEFC 48 00 00 48 */ b lbl_802DFF44
|
||||
lbl_802DFF00:
|
||||
/* 802DFF00 7C 06 28 00 */ cmpw r6, r5
|
||||
/* 802DFF04 40 80 FF C0 */ bge lbl_802DFEC4
|
||||
/* 802DFF08 48 00 00 3C */ b lbl_802DFF44
|
||||
lbl_802DFF0C:
|
||||
/* 802DFF0C 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802DFF10 40 82 00 34 */ bne lbl_802DFF44
|
||||
/* 802DFF14 38 A0 00 00 */ li r5, 0
|
||||
/* 802DFF18 A0 06 00 0E */ lhz r0, 0xe(r6)
|
||||
/* 802DFF1C 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802DFF20 40 82 00 08 */ bne lbl_802DFF28
|
||||
/* 802DFF24 38 A6 00 10 */ addi r5, r6, 0x10
|
||||
lbl_802DFF28:
|
||||
/* 802DFF28 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802DFF2C 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802DFF30 48 00 01 95 */ bl convertSjis__10JUTResFontCFiPUs
|
||||
/* 802DFF34 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802DFF38 48 00 00 0C */ b lbl_802DFF44
|
||||
lbl_802DFF3C:
|
||||
/* 802DFF3C 38 63 00 04 */ addi r3, r3, 4
|
||||
/* 802DFF40 42 00 FF 1C */ bdnz lbl_802DFE5C
|
||||
lbl_802DFF44:
|
||||
/* 802DFF44 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DFF48 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DFF4C 48 08 22 DD */ bl _restgpr_29
|
||||
/* 802DFF50 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802DFF54 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DFF58 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802DFF5C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
lbl_802E0118:
|
||||
/* 802E0118 38 00 00 00 */ li r0, 0
|
||||
/* 802E011C 2C 03 00 81 */ cmpwi r3, 0x81
|
||||
/* 802E0120 41 80 00 0C */ blt lbl_802E012C
|
||||
/* 802E0124 2C 03 00 9F */ cmpwi r3, 0x9f
|
||||
/* 802E0128 40 81 00 14 */ ble lbl_802E013C
|
||||
lbl_802E012C:
|
||||
/* 802E012C 2C 03 00 E0 */ cmpwi r3, 0xe0
|
||||
/* 802E0130 41 80 00 10 */ blt lbl_802E0140
|
||||
/* 802E0134 2C 03 00 FC */ cmpwi r3, 0xfc
|
||||
/* 802E0138 41 81 00 08 */ bgt lbl_802E0140
|
||||
lbl_802E013C:
|
||||
/* 802E013C 38 00 00 01 */ li r0, 1
|
||||
lbl_802E0140:
|
||||
/* 802E0140 7C 03 03 78 */ mr r3, r0
|
||||
/* 802E0144 4E 80 00 20 */ blr
|
||||
|
|
@ -8,98 +8,10 @@
|
|||
#include "JSystem/JSupport/JSupport.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "JSystem/JUtility/JUTConsole.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
#define suAboutEncoding_ 3
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10JUTResFontFv();
|
||||
extern "C" void __ct__10JUTResFontFPC7ResFONTP7JKRHeap();
|
||||
extern "C" void __dt__10JUTResFontFv();
|
||||
extern "C" void deleteMemBlocks_ResFont__10JUTResFontFv();
|
||||
extern "C" void initialize_state__10JUTResFontFv();
|
||||
extern "C" void initiate__10JUTResFontFPC7ResFONTP7JKRHeap();
|
||||
extern "C" void protected_initiate__10JUTResFontFPC7ResFONTP7JKRHeap();
|
||||
extern "C" void countBlock__10JUTResFontFv();
|
||||
extern "C" void setBlock__10JUTResFontFv();
|
||||
extern "C" void setGX__10JUTResFontFv();
|
||||
extern "C" void setGX__10JUTResFontFQ28JUtility6TColorQ28JUtility6TColor();
|
||||
extern "C" void drawChar_scale__10JUTResFontFffffib();
|
||||
extern "C" void loadFont__10JUTResFontFi11_GXTexMapIDPQ27JUTFont6TWidth();
|
||||
extern "C" void getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth();
|
||||
extern "C" void getCellWidth__10JUTResFontCFv();
|
||||
extern "C" void getCellHeight__10JUTResFontCFv();
|
||||
extern "C" void isLeadByte__10JUTResFontCFi();
|
||||
extern "C" void getFontCode__10JUTResFontCFi();
|
||||
extern "C" void loadImage__10JUTResFontFi11_GXTexMapID();
|
||||
extern "C" void convertSjis__10JUTResFontCFiPUs();
|
||||
extern "C" bool isLeadByte_1Byte__7JUTFontFi();
|
||||
extern "C" bool isLeadByte_2Byte__7JUTFontFi();
|
||||
extern "C" void isLeadByte_ShiftJIS__7JUTFontFi();
|
||||
extern "C" void* const saoAboutEncoding___10JUTResFont[3];
|
||||
extern "C" extern char const* const JUTResFont__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void* __nwa__FUlP7JKRHeapi();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __dla__FPv();
|
||||
extern "C" void getResFont__10JUTResFontCFv();
|
||||
extern "C" void getFontType__10JUTResFontCFv();
|
||||
extern "C" void getLeading__10JUTResFontCFv();
|
||||
extern "C" void getWidth__10JUTResFontCFv();
|
||||
extern "C" void getAscent__10JUTResFontCFv();
|
||||
extern "C" void getDescent__10JUTResFontCFv();
|
||||
extern "C" void getHeight__10JUTResFontCFv();
|
||||
extern "C" void __ct__7JUTFontFv();
|
||||
extern "C" void initialize_state__7JUTFontFv();
|
||||
extern "C" void GXClearVtxDesc();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__7JUTFont[17];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CC5A0-803CC5F0 0296C0 004C+04 3/3 0/0 0/0 .data __vt__10JUTResFont */
|
||||
SECTION_DATA extern void* __vt__10JUTResFont[19 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10JUTResFontFv,
|
||||
(void*)setGX__10JUTResFontFv,
|
||||
(void*)setGX__10JUTResFontFQ28JUtility6TColorQ28JUtility6TColor,
|
||||
(void*)drawChar_scale__10JUTResFontFffffib,
|
||||
(void*)getLeading__10JUTResFontCFv,
|
||||
(void*)getAscent__10JUTResFontCFv,
|
||||
(void*)getDescent__10JUTResFontCFv,
|
||||
(void*)getHeight__10JUTResFontCFv,
|
||||
(void*)getWidth__10JUTResFontCFv,
|
||||
(void*)getWidthEntry__10JUTResFontCFiPQ27JUTFont6TWidth,
|
||||
(void*)getCellWidth__10JUTResFontCFv,
|
||||
(void*)getCellHeight__10JUTResFontCFv,
|
||||
(void*)getFontType__10JUTResFontCFv,
|
||||
(void*)getResFont__10JUTResFontCFv,
|
||||
(void*)isLeadByte__10JUTResFontCFi,
|
||||
(void*)loadImage__10JUTResFontFi11_GXTexMapID,
|
||||
(void*)setBlock__10JUTResFontFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 802DEF48-802DEF94 2D9888 004C+00 0/0 1/1 0/0 .text __ct__10JUTResFontFv */
|
||||
JUTResFont::JUTResFont() {
|
||||
initialize_state();
|
||||
|
|
@ -223,12 +135,6 @@ IsLeadByte_func const JUTResFont::saoAboutEncoding_[3] = {
|
|||
JUTFont::isLeadByte_ShiftJIS,
|
||||
};
|
||||
|
||||
/* 8039D45C-8039D45C 029ABC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8039D47C = "Unknown data block\n";
|
||||
#pragma pop
|
||||
|
||||
/* 802DF344-802DF48C 2D9C84 0148+00 1/0 0/0 0/0 .text setBlock__10JUTResFontFv */
|
||||
void JUTResFont::setBlock() {
|
||||
s32 widthNum, glyphNum, mapNum;
|
||||
|
|
@ -461,8 +367,6 @@ static const u16 halftofull[95] = {
|
|||
};
|
||||
|
||||
/* 802DFDD8-802DFF60 2DA718 0188+00 2/2 0/0 0/0 .text getFontCode__10JUTResFontCFi */
|
||||
#ifdef NONMATCHING
|
||||
// regalloc
|
||||
int JUTResFont::getFontCode(int chr) const {
|
||||
int ret = mInf1Ptr->defaultCode;
|
||||
if ((getFontType() == 2) && (mMaxCode >= 0x8000U) && (chr >= 0x20) && (chr < 0x7FU)) {
|
||||
|
|
@ -471,10 +375,10 @@ int JUTResFont::getFontCode(int chr) const {
|
|||
for (int i = 0; i < mMap1BlockNum; i++) {
|
||||
if ((mpMapBlocks[i]->startCode <= chr) && (chr <= mpMapBlocks[i]->endCode)) {
|
||||
if (mpMapBlocks[i]->mappingMethod == 0) {
|
||||
ret = chr - mpMapBlocks[i]->endCode;
|
||||
ret = chr - mpMapBlocks[i]->startCode;
|
||||
break;
|
||||
} else if (mpMapBlocks[i]->mappingMethod == 2) {
|
||||
ret = *(&mpMapBlocks[i]->mLeading + (chr - mpMapBlocks[i]->endCode));
|
||||
ret = *(&mpMapBlocks[i]->mLeading + (chr - mpMapBlocks[i]->startCode));
|
||||
break;
|
||||
} else if (mpMapBlocks[i]->mappingMethod == 3) {
|
||||
u16* leading_temp = &mpMapBlocks[i]->mLeading;
|
||||
|
|
@ -510,16 +414,6 @@ int JUTResFont::getFontCode(int chr) const {
|
|||
}
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int JUTResFont::getFontCode(int param_0) const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTResFont/getFontCode__10JUTResFontCFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802DFF60-802E00C4 2DA8A0 0164+00 1/0 0/0 0/0 .text loadImage__10JUTResFontFi11_GXTexMapID */
|
||||
void JUTResFont::loadImage(int code, GXTexMapID id){
|
||||
|
|
@ -586,13 +480,8 @@ bool JUTFont::isLeadByte_2Byte(int param_0) {
|
|||
}
|
||||
|
||||
/* 802E0118-802E0148 2DAA58 0030+00 1/0 0/0 0/0 .text isLeadByte_ShiftJIS__7JUTFontFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool JUTFont::isLeadByte_ShiftJIS(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTResFont/isLeadByte_ShiftJIS__7JUTFontFi.s"
|
||||
bool JUTFont::isLeadByte_ShiftJIS(int param_0) {
|
||||
return (param_0 >= 0x81 && param_0 <= 0x9f) || (param_0 >= 0xe0 && param_0 <= 0xfc);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8039D45C-8039D45C 029ABC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
|||
Loading…
Reference in New Issue