.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 /* NOTE: unused destructor. Maybe __dt__Q34nw4r2ut4FontFv from ut_RomFont func_80363F2C: /* 80363F2C 0035FB8C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363F30 0035FB90 7C 08 02 A6 */ mflr r0 /* 80363F34 0035FB94 2C 03 00 00 */ cmpwi r3, 0 /* 80363F38 0035FB98 90 01 00 14 */ stw r0, 0x14(r1) /* 80363F3C 0035FB9C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80363F40 0035FBA0 7C 7F 1B 78 */ mr r31, r3 /* 80363F44 0035FBA4 41 82 00 10 */ beq lbl_80363F54 /* 80363F48 0035FBA8 2C 04 00 00 */ cmpwi r4, 0 /* 80363F4C 0035FBAC 40 81 00 08 */ ble lbl_80363F54 /* 80363F50 0035FBB0 4B E7 6B 69 */ bl __dl__FPv lbl_80363F54: /* 80363F54 0035FBB4 7F E3 FB 78 */ mr r3, r31 /* 80363F58 0035FBB8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363F5C 0035FBBC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80363F60 0035FBC0 7C 08 03 A6 */ mtlr r0 /* 80363F64 0035FBC4 38 21 00 10 */ addi r1, r1, 0x10 /* 80363F68 0035FBC8 4E 80 00 20 */ blr .global __ct__Q44nw4r2ut6detail11ResFontBaseFv __ct__Q44nw4r2ut6detail11ResFontBaseFv: /* 80363F6C 0035FBCC 3C A0 80 45 */ lis r5, lbl_8044C7F0@ha /* 80363F70 0035FBD0 3C 80 80 45 */ lis r4, lbl_8044C858@ha /* 80363F74 0035FBD4 38 A5 C7 F0 */ addi r5, r5, lbl_8044C7F0@l /* 80363F78 0035FBD8 3C E0 80 45 */ lis r7, lbl_80450004@ha /* 80363F7C 0035FBDC 90 A3 00 00 */ stw r5, 0(r3) /* 80363F80 0035FBE0 38 84 C8 58 */ addi r4, r4, lbl_8044C858@l /* 80363F84 0035FBE4 38 00 00 00 */ li r0, 0 /* 80363F88 0035FBE8 84 C7 C8 48 */ lwzu r6, -0x37b8(r7) /* 80363F8C 0035FBEC 80 A7 00 04 */ lwz r5, lbl_80450004@l(r7) /* 80363F90 0035FBF0 90 C3 00 04 */ stw r6, 4(r3) /* 80363F94 0035FBF4 90 A3 00 08 */ stw r5, 8(r3) /* 80363F98 0035FBF8 80 A7 00 08 */ lwz r5, 8(r7) /* 80363F9C 0035FBFC 90 A3 00 0C */ stw r5, 0xc(r3) /* 80363FA0 0035FC00 90 83 00 00 */ stw r4, 0(r3) /* 80363FA4 0035FC04 90 03 00 10 */ stw r0, 0x10(r3) /* 80363FA8 0035FC08 90 03 00 14 */ stw r0, 0x14(r3) /* 80363FAC 0035FC0C 4E 80 00 20 */ blr .global __dt__Q44nw4r2ut6detail11ResFontBaseFv __dt__Q44nw4r2ut6detail11ResFontBaseFv: /* 80363FB0 0035FC10 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80363FB4 0035FC14 7C 08 02 A6 */ mflr r0 /* 80363FB8 0035FC18 2C 03 00 00 */ cmpwi r3, 0 /* 80363FBC 0035FC1C 90 01 00 14 */ stw r0, 0x14(r1) /* 80363FC0 0035FC20 93 E1 00 0C */ stw r31, 0xc(r1) /* 80363FC4 0035FC24 7C 7F 1B 78 */ mr r31, r3 /* 80363FC8 0035FC28 41 82 00 10 */ beq lbl_80363FD8 /* 80363FCC 0035FC2C 2C 04 00 00 */ cmpwi r4, 0 /* 80363FD0 0035FC30 40 81 00 08 */ ble lbl_80363FD8 /* 80363FD4 0035FC34 4B E7 6A E5 */ bl __dl__FPv lbl_80363FD8: /* 80363FD8 0035FC38 7F E3 FB 78 */ mr r3, r31 /* 80363FDC 0035FC3C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80363FE0 0035FC40 80 01 00 14 */ lwz r0, 0x14(r1) /* 80363FE4 0035FC44 7C 08 03 A6 */ mtlr r0 /* 80363FE8 0035FC48 38 21 00 10 */ addi r1, r1, 0x10 /* 80363FEC 0035FC4C 4E 80 00 20 */ blr .global SetResourceBuffer__Q44nw4r2ut6detail11ResFontBaseFPvPQ34nw4r2ut15FontInformation SetResourceBuffer__Q44nw4r2ut6detail11ResFontBaseFPvPQ34nw4r2ut15FontInformation: /* 80363FF0 0035FC50 90 83 00 10 */ stw r4, 0x10(r3) /* 80363FF4 0035FC54 90 A3 00 14 */ stw r5, 0x14(r3) /* 80363FF8 0035FC58 4E 80 00 20 */ blr GetWidth__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80363FFC 0035FC5C 80 63 00 14 */ lwz r3, 0x14(r3) /* 80364000 0035FC60 88 63 00 15 */ lbz r3, 0x15(r3) /* 80364004 0035FC64 4E 80 00 20 */ blr GetHeight__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364008 0035FC68 80 63 00 14 */ lwz r3, 0x14(r3) /* 8036400C 0035FC6C 88 63 00 14 */ lbz r3, 0x14(r3) /* 80364010 0035FC70 4E 80 00 20 */ blr GetAscent__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364014 0035FC74 80 63 00 14 */ lwz r3, 0x14(r3) /* 80364018 0035FC78 88 63 00 16 */ lbz r3, 0x16(r3) /* 8036401C 0035FC7C 4E 80 00 20 */ blr GetDescent__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364020 0035FC80 80 83 00 14 */ lwz r4, 0x14(r3) /* 80364024 0035FC84 88 64 00 16 */ lbz r3, 0x16(r4) /* 80364028 0035FC88 88 04 00 14 */ lbz r0, 0x14(r4) /* 8036402C 0035FC8C 7C 63 00 50 */ subf r3, r3, r0 /* 80364030 0035FC90 4E 80 00 20 */ blr GetBaselinePos__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364034 0035FC94 80 63 00 14 */ lwz r3, 0x14(r3) /* 80364038 0035FC98 80 63 00 08 */ lwz r3, 8(r3) /* 8036403C 0035FC9C 88 63 00 02 */ lbz r3, 2(r3) /* 80364040 0035FCA0 7C 63 07 74 */ extsb r3, r3 /* 80364044 0035FCA4 4E 80 00 20 */ blr GetCellHeight__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364048 0035FCA8 80 63 00 14 */ lwz r3, 0x14(r3) /* 8036404C 0035FCAC 80 63 00 08 */ lwz r3, 8(r3) /* 80364050 0035FCB0 88 63 00 01 */ lbz r3, 1(r3) /* 80364054 0035FCB4 4E 80 00 20 */ blr GetCellWidth__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364058 0035FCB8 80 63 00 14 */ lwz r3, 0x14(r3) /* 8036405C 0035FCBC 80 63 00 08 */ lwz r3, 8(r3) /* 80364060 0035FCC0 88 63 00 00 */ lbz r3, 0(r3) /* 80364064 0035FCC4 4E 80 00 20 */ blr GetMaxCharWidth__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364068 0035FCC8 80 63 00 14 */ lwz r3, 0x14(r3) /* 8036406C 0035FCCC 80 63 00 08 */ lwz r3, 8(r3) /* 80364070 0035FCD0 88 63 00 03 */ lbz r3, 3(r3) /* 80364074 0035FCD4 4E 80 00 20 */ blr GetType__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364078 0035FCD8 38 60 00 02 */ li r3, 2 /* 8036407C 0035FCDC 4E 80 00 20 */ blr GetTextureFormat__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364080 0035FCE0 80 63 00 14 */ lwz r3, 0x14(r3) /* 80364084 0035FCE4 80 63 00 08 */ lwz r3, 8(r3) /* 80364088 0035FCE8 A0 63 00 0A */ lhz r3, 0xa(r3) /* 8036408C 0035FCEC 4E 80 00 20 */ blr GetLineFeed__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364090 0035FCF0 80 63 00 14 */ lwz r3, 0x14(r3) /* 80364094 0035FCF4 88 63 00 01 */ lbz r3, 1(r3) /* 80364098 0035FCF8 7C 63 07 74 */ extsb r3, r3 /* 8036409C 0035FCFC 4E 80 00 20 */ blr GetDefaultCharWidths__Q44nw4r2ut6detail11ResFontBaseCFv: /* 803640A0 0035FD00 80 83 00 14 */ lwz r4, 0x14(r3) /* 803640A4 0035FD04 A0 04 00 04 */ lhz r0, 4(r4) /* 803640A8 0035FD08 54 03 80 1E */ slwi r3, r0, 0x10 /* 803640AC 0035FD0C 88 04 00 06 */ lbz r0, 6(r4) /* 803640B0 0035FD10 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17 /* 803640B4 0035FD14 4E 80 00 20 */ blr SetDefaultCharWidths__Q44nw4r2ut6detail11ResFontBaseFRCQ34nw4r2ut10CharWidths: /* 803640B8 0035FD18 80 A3 00 14 */ lwz r5, 0x14(r3) /* 803640BC 0035FD1C 88 04 00 00 */ lbz r0, 0(r4) /* 803640C0 0035FD20 88 64 00 01 */ lbz r3, 1(r4) /* 803640C4 0035FD24 98 05 00 04 */ stb r0, 4(r5) /* 803640C8 0035FD28 88 04 00 02 */ lbz r0, 2(r4) /* 803640CC 0035FD2C 98 65 00 05 */ stb r3, 5(r5) /* 803640D0 0035FD30 98 05 00 06 */ stb r0, 6(r5) /* 803640D4 0035FD34 4E 80 00 20 */ blr SetAlternateChar__Q44nw4r2ut6detail11ResFontBaseFUs: /* 803640D8 0035FD38 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803640DC 0035FD3C 7C 08 02 A6 */ mflr r0 /* 803640E0 0035FD40 7C 85 23 78 */ mr r5, r4 /* 803640E4 0035FD44 90 01 00 14 */ stw r0, 0x14(r1) /* 803640E8 0035FD48 93 E1 00 0C */ stw r31, 0xc(r1) /* 803640EC 0035FD4C 7C 7F 1B 78 */ mr r31, r3 /* 803640F0 0035FD50 80 C3 00 14 */ lwz r6, 0x14(r3) /* 803640F4 0035FD54 80 C6 00 10 */ lwz r6, 0x10(r6) /* 803640F8 0035FD58 48 00 00 34 */ b lbl_8036412C lbl_803640FC: /* 803640FC 0035FD5C A0 06 00 00 */ lhz r0, 0(r6) /* 80364100 0035FD60 7C 00 20 40 */ cmplw r0, r4 /* 80364104 0035FD64 41 81 00 24 */ bgt lbl_80364128 /* 80364108 0035FD68 A0 06 00 02 */ lhz r0, 2(r6) /* 8036410C 0035FD6C 7C 04 00 40 */ cmplw r4, r0 /* 80364110 0035FD70 41 81 00 18 */ bgt lbl_80364128 /* 80364114 0035FD74 7F E3 FB 78 */ mr r3, r31 /* 80364118 0035FD78 7C C4 33 78 */ mr r4, r6 /* 8036411C 0035FD7C 48 00 02 49 */ bl FindGlyphIndex__Q44nw4r2ut6detail11ResFontBaseCFPCQ34nw4r2ut11FontCodeMapUs /* 80364120 0035FD80 7C 65 1B 78 */ mr r5, r3 /* 80364124 0035FD84 48 00 00 18 */ b lbl_8036413C lbl_80364128: /* 80364128 0035FD88 80 C6 00 08 */ lwz r6, 8(r6) lbl_8036412C: /* 8036412C 0035FD8C 2C 06 00 00 */ cmpwi r6, 0 /* 80364130 0035FD90 40 82 FF CC */ bne lbl_803640FC /* 80364134 0035FD94 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 80364138 0035FD98 38 A3 FF FF */ addi r5, r3, 0x0000FFFF@l lbl_8036413C: /* 8036413C 0035FD9C 54 A0 04 3E */ clrlwi r0, r5, 0x10 /* 80364140 0035FDA0 28 00 FF FF */ cmplwi r0, 0xffff /* 80364144 0035FDA4 41 82 00 14 */ beq lbl_80364158 /* 80364148 0035FDA8 80 9F 00 14 */ lwz r4, 0x14(r31) /* 8036414C 0035FDAC 38 60 00 01 */ li r3, 1 /* 80364150 0035FDB0 B0 A4 00 02 */ sth r5, 2(r4) /* 80364154 0035FDB4 48 00 00 08 */ b lbl_8036415C lbl_80364158: /* 80364158 0035FDB8 38 60 00 00 */ li r3, 0 lbl_8036415C: /* 8036415C 0035FDBC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80364160 0035FDC0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80364164 0035FDC4 7C 08 03 A6 */ mtlr r0 /* 80364168 0035FDC8 38 21 00 10 */ addi r1, r1, 0x10 /* 8036416C 0035FDCC 4E 80 00 20 */ blr .global SetLineFeed__Q44nw4r2ut6detail11ResFontBaseFi SetLineFeed__Q44nw4r2ut6detail11ResFontBaseFi: /* 80364170 0035FDD0 80 63 00 14 */ lwz r3, 0x14(r3) /* 80364174 0035FDD4 98 83 00 01 */ stb r4, 1(r3) /* 80364178 0035FDD8 4E 80 00 20 */ blr GetCharWidth__Q44nw4r2ut6detail11ResFontBaseCFUs: /* 8036417C 0035FDDC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80364180 0035FDE0 7C 08 02 A6 */ mflr r0 /* 80364184 0035FDE4 90 01 00 14 */ stw r0, 0x14(r1) /* 80364188 0035FDE8 81 83 00 00 */ lwz r12, 0(r3) /* 8036418C 0035FDEC 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 80364190 0035FDF0 7D 89 03 A6 */ mtctr r12 /* 80364194 0035FDF4 4E 80 04 21 */ bctrl /* 80364198 0035FDF8 54 60 46 3E */ srwi r0, r3, 0x18 /* 8036419C 0035FDFC 98 01 00 08 */ stb r0, 8(r1) /* 803641A0 0035FE00 54 60 86 3E */ rlwinm r0, r3, 0x10, 0x18, 0x1f /* 803641A4 0035FE04 98 01 00 09 */ stb r0, 9(r1) /* 803641A8 0035FE08 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f /* 803641AC 0035FE0C 7C 03 03 78 */ mr r3, r0 /* 803641B0 0035FE10 98 01 00 0A */ stb r0, 0xa(r1) /* 803641B4 0035FE14 7C 63 07 74 */ extsb r3, r3 /* 803641B8 0035FE18 80 01 00 14 */ lwz r0, 0x14(r1) /* 803641BC 0035FE1C 7C 08 03 A6 */ mtlr r0 /* 803641C0 0035FE20 38 21 00 10 */ addi r1, r1, 0x10 /* 803641C4 0035FE24 4E 80 00 20 */ blr GetCharWidths__Q44nw4r2ut6detail11ResFontBaseCFUs: /* 803641C8 0035FE28 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803641CC 0035FE2C 7C 08 02 A6 */ mflr r0 /* 803641D0 0035FE30 80 C3 00 14 */ lwz r6, 0x14(r3) /* 803641D4 0035FE34 7C 85 23 78 */ mr r5, r4 /* 803641D8 0035FE38 90 01 00 14 */ stw r0, 0x14(r1) /* 803641DC 0035FE3C 93 E1 00 0C */ stw r31, 0xc(r1) /* 803641E0 0035FE40 7C 7F 1B 78 */ mr r31, r3 /* 803641E4 0035FE44 80 C6 00 10 */ lwz r6, 0x10(r6) /* 803641E8 0035FE48 48 00 00 30 */ b lbl_80364218 lbl_803641EC: /* 803641EC 0035FE4C A0 06 00 00 */ lhz r0, 0(r6) /* 803641F0 0035FE50 7C 00 20 40 */ cmplw r0, r4 /* 803641F4 0035FE54 41 81 00 20 */ bgt lbl_80364214 /* 803641F8 0035FE58 A0 06 00 02 */ lhz r0, 2(r6) /* 803641FC 0035FE5C 7C 04 00 40 */ cmplw r4, r0 /* 80364200 0035FE60 41 81 00 14 */ bgt lbl_80364214 /* 80364204 0035FE64 7F E3 FB 78 */ mr r3, r31 /* 80364208 0035FE68 7C C4 33 78 */ mr r4, r6 /* 8036420C 0035FE6C 48 00 01 59 */ bl FindGlyphIndex__Q44nw4r2ut6detail11ResFontBaseCFPCQ34nw4r2ut11FontCodeMapUs /* 80364210 0035FE70 48 00 00 18 */ b lbl_80364228 lbl_80364214: /* 80364214 0035FE74 80 C6 00 08 */ lwz r6, 8(r6) lbl_80364218: /* 80364218 0035FE78 2C 06 00 00 */ cmpwi r6, 0 /* 8036421C 0035FE7C 40 82 FF D0 */ bne lbl_803641EC /* 80364220 0035FE80 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 80364224 0035FE84 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l lbl_80364228: /* 80364228 0035FE88 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8036422C 0035FE8C 28 00 FF FF */ cmplwi r0, 0xffff /* 80364230 0035FE90 41 82 00 08 */ beq lbl_80364238 /* 80364234 0035FE94 48 00 00 0C */ b lbl_80364240 lbl_80364238: /* 80364238 0035FE98 80 7F 00 14 */ lwz r3, 0x14(r31) /* 8036423C 0035FE9C A0 63 00 02 */ lhz r3, 2(r3) lbl_80364240: /* 80364240 0035FEA0 80 DF 00 14 */ lwz r6, 0x14(r31) /* 80364244 0035FEA4 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80364248 0035FEA8 80 86 00 0C */ lwz r4, 0xc(r6) /* 8036424C 0035FEAC 48 00 00 38 */ b lbl_80364284 lbl_80364250: /* 80364250 0035FEB0 A0 A4 00 00 */ lhz r5, 0(r4) /* 80364254 0035FEB4 7C 05 18 40 */ cmplw r5, r3 /* 80364258 0035FEB8 41 81 00 28 */ bgt lbl_80364280 /* 8036425C 0035FEBC A0 04 00 02 */ lhz r0, 2(r4) /* 80364260 0035FEC0 7C 03 00 40 */ cmplw r3, r0 /* 80364264 0035FEC4 41 81 00 1C */ bgt lbl_80364280 /* 80364268 0035FEC8 7C 65 18 50 */ subf r3, r5, r3 /* 8036426C 0035FECC 54 60 10 3A */ slwi r0, r3, 2 /* 80364270 0035FED0 7C 03 00 50 */ subf r0, r3, r0 /* 80364274 0035FED4 7C 64 02 14 */ add r3, r4, r0 /* 80364278 0035FED8 38 83 00 08 */ addi r4, r3, 8 /* 8036427C 0035FEDC 48 00 00 14 */ b lbl_80364290 lbl_80364280: /* 80364280 0035FEE0 80 84 00 04 */ lwz r4, 4(r4) lbl_80364284: /* 80364284 0035FEE4 2C 04 00 00 */ cmpwi r4, 0 /* 80364288 0035FEE8 40 82 FF C8 */ bne lbl_80364250 /* 8036428C 0035FEEC 38 86 00 04 */ addi r4, r6, 4 lbl_80364290: /* 80364290 0035FEF0 A0 04 00 00 */ lhz r0, 0(r4) /* 80364294 0035FEF4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80364298 0035FEF8 54 03 80 1E */ slwi r3, r0, 0x10 /* 8036429C 0035FEFC 88 04 00 02 */ lbz r0, 2(r4) /* 803642A0 0035FF00 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17 /* 803642A4 0035FF04 80 01 00 14 */ lwz r0, 0x14(r1) /* 803642A8 0035FF08 7C 08 03 A6 */ mtlr r0 /* 803642AC 0035FF0C 38 21 00 10 */ addi r1, r1, 0x10 /* 803642B0 0035FF10 4E 80 00 20 */ blr GetGlyph__Q44nw4r2ut6detail11ResFontBaseCFPQ34nw4r2ut5GlyphUs: /* 803642B4 0035FF14 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803642B8 0035FF18 7C 08 02 A6 */ mflr r0 /* 803642BC 0035FF1C 80 C3 00 14 */ lwz r6, 0x14(r3) /* 803642C0 0035FF20 90 01 00 14 */ stw r0, 0x14(r1) /* 803642C4 0035FF24 93 E1 00 0C */ stw r31, 0xc(r1) /* 803642C8 0035FF28 7C 9F 23 78 */ mr r31, r4 /* 803642CC 0035FF2C 93 C1 00 08 */ stw r30, 8(r1) /* 803642D0 0035FF30 7C 7E 1B 78 */ mr r30, r3 /* 803642D4 0035FF34 80 86 00 10 */ lwz r4, 0x10(r6) /* 803642D8 0035FF38 48 00 00 30 */ b lbl_80364308 lbl_803642DC: /* 803642DC 0035FF3C A0 04 00 00 */ lhz r0, 0(r4) /* 803642E0 0035FF40 7C 00 28 40 */ cmplw r0, r5 /* 803642E4 0035FF44 41 81 00 20 */ bgt lbl_80364304 /* 803642E8 0035FF48 A0 04 00 02 */ lhz r0, 2(r4) /* 803642EC 0035FF4C 7C 05 00 40 */ cmplw r5, r0 /* 803642F0 0035FF50 41 81 00 14 */ bgt lbl_80364304 /* 803642F4 0035FF54 7F C3 F3 78 */ mr r3, r30 /* 803642F8 0035FF58 48 00 00 6D */ bl FindGlyphIndex__Q44nw4r2ut6detail11ResFontBaseCFPCQ34nw4r2ut11FontCodeMapUs /* 803642FC 0035FF5C 7C 65 1B 78 */ mr r5, r3 /* 80364300 0035FF60 48 00 00 18 */ b lbl_80364318 lbl_80364304: /* 80364304 0035FF64 80 84 00 08 */ lwz r4, 8(r4) lbl_80364308: /* 80364308 0035FF68 2C 04 00 00 */ cmpwi r4, 0 /* 8036430C 0035FF6C 40 82 FF D0 */ bne lbl_803642DC /* 80364310 0035FF70 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 80364314 0035FF74 38 A3 FF FF */ addi r5, r3, 0x0000FFFF@l lbl_80364318: /* 80364318 0035FF78 54 A0 04 3E */ clrlwi r0, r5, 0x10 /* 8036431C 0035FF7C 7F C3 F3 78 */ mr r3, r30 /* 80364320 0035FF80 28 00 FF FF */ cmplwi r0, 0xffff /* 80364324 0035FF84 7F E4 FB 78 */ mr r4, r31 /* 80364328 0035FF88 41 82 00 08 */ beq lbl_80364330 /* 8036432C 0035FF8C 48 00 00 0C */ b lbl_80364338 lbl_80364330: /* 80364330 0035FF90 80 BE 00 14 */ lwz r5, 0x14(r30) /* 80364334 0035FF94 A0 A5 00 02 */ lhz r5, 2(r5) lbl_80364338: /* 80364338 0035FF98 54 A5 04 3E */ clrlwi r5, r5, 0x10 /* 8036433C 0035FF9C 48 00 00 FD */ bl GetGlyphFromIndex__Q44nw4r2ut6detail11ResFontBaseCFPQ34nw4r2ut5GlyphUs /* 80364340 0035FFA0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80364344 0035FFA4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80364348 0035FFA8 83 C1 00 08 */ lwz r30, 8(r1) /* 8036434C 0035FFAC 7C 08 03 A6 */ mtlr r0 /* 80364350 0035FFB0 38 21 00 10 */ addi r1, r1, 0x10 /* 80364354 0035FFB4 4E 80 00 20 */ blr .global GetEncoding__Q44nw4r2ut6detail11ResFontBaseCFv GetEncoding__Q44nw4r2ut6detail11ResFontBaseCFv: /* 80364358 0035FFB8 80 63 00 14 */ lwz r3, 0x14(r3) /* 8036435C 0035FFBC 88 63 00 07 */ lbz r3, 7(r3) /* 80364360 0035FFC0 4E 80 00 20 */ blr .global FindGlyphIndex__Q44nw4r2ut6detail11ResFontBaseCFPCQ34nw4r2ut11FontCodeMapUs FindGlyphIndex__Q44nw4r2ut6detail11ResFontBaseCFPCQ34nw4r2ut11FontCodeMapUs: /* 80364364 0035FFC4 A0 04 00 04 */ lhz r0, 4(r4) /* 80364368 0035FFC8 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 8036436C 0035FFCC 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l /* 80364370 0035FFD0 2C 00 00 01 */ cmpwi r0, 1 /* 80364374 0035FFD4 41 82 00 38 */ beq lbl_803643AC /* 80364378 0035FFD8 40 80 00 10 */ bge lbl_80364388 /* 8036437C 0035FFDC 2C 00 00 00 */ cmpwi r0, 0 /* 80364380 0035FFE0 40 80 00 14 */ bge lbl_80364394 /* 80364384 0035FFE4 4E 80 00 20 */ blr lbl_80364388: /* 80364388 0035FFE8 2C 00 00 03 */ cmpwi r0, 3 /* 8036438C 0035FFEC 4C 80 00 20 */ bgelr /* 80364390 0035FFF0 48 00 00 34 */ b lbl_803643C4 lbl_80364394: /* 80364394 0035FFF4 A0 04 00 00 */ lhz r0, 0(r4) /* 80364398 0035FFF8 A0 64 00 0C */ lhz r3, 0xc(r4) /* 8036439C 0035FFFC 7C 00 28 50 */ subf r0, r0, r5 /* 803643A0 00360000 7C 03 02 14 */ add r0, r3, r0 /* 803643A4 00360004 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 803643A8 00360008 4E 80 00 20 */ blr lbl_803643AC: /* 803643AC 0036000C A0 04 00 00 */ lhz r0, 0(r4) /* 803643B0 00360010 7C 00 28 50 */ subf r0, r0, r5 /* 803643B4 00360014 54 00 08 3C */ slwi r0, r0, 1 /* 803643B8 00360018 7C 64 02 14 */ add r3, r4, r0 /* 803643BC 0036001C A0 63 00 0C */ lhz r3, 0xc(r3) /* 803643C0 00360020 4E 80 00 20 */ blr lbl_803643C4: /* 803643C4 00360024 38 C4 00 0C */ addi r6, r4, 0xc /* 803643C8 00360028 A0 84 00 0C */ lhz r4, 0xc(r4) /* 803643CC 0036002C 38 E6 00 02 */ addi r7, r6, 2 /* 803643D0 00360030 38 04 FF FF */ addi r0, r4, -1 /* 803643D4 00360034 54 00 10 3A */ slwi r0, r0, 2 /* 803643D8 00360038 7C 86 02 14 */ add r4, r6, r0 /* 803643DC 0036003C 38 C4 00 02 */ addi r6, r4, 2 /* 803643E0 00360040 48 00 00 4C */ b lbl_8036442C lbl_803643E4: /* 803643E4 00360044 7C 07 30 50 */ subf r0, r7, r6 /* 803643E8 00360048 7C 00 16 70 */ srawi r0, r0, 2 /* 803643EC 0036004C 7C 80 01 94 */ addze r4, r0 /* 803643F0 00360050 54 80 0F FE */ srwi r0, r4, 0x1f /* 803643F4 00360054 7C 00 22 14 */ add r0, r0, r4 /* 803643F8 00360058 54 00 08 3A */ rlwinm r0, r0, 1, 0, 0x1d /* 803643FC 0036005C 7C 87 02 14 */ add r4, r7, r0 /* 80364400 00360060 7C 07 02 2E */ lhzx r0, r7, r0 /* 80364404 00360064 7C 00 28 40 */ cmplw r0, r5 /* 80364408 00360068 40 80 00 0C */ bge lbl_80364414 /* 8036440C 0036006C 38 E4 00 04 */ addi r7, r4, 4 /* 80364410 00360070 48 00 00 1C */ b lbl_8036442C lbl_80364414: /* 80364414 00360074 7C 05 00 40 */ cmplw r5, r0 /* 80364418 00360078 40 80 00 0C */ bge lbl_80364424 /* 8036441C 0036007C 38 C4 FF FC */ addi r6, r4, -4 /* 80364420 00360080 48 00 00 0C */ b lbl_8036442C lbl_80364424: /* 80364424 00360084 A0 64 00 02 */ lhz r3, 2(r4) /* 80364428 00360088 4E 80 00 20 */ blr lbl_8036442C: /* 8036442C 0036008C 7C 07 30 40 */ cmplw r7, r6 /* 80364430 00360090 40 81 FF B4 */ ble lbl_803643E4 /* 80364434 00360094 4E 80 00 20 */ blr .global GetGlyphFromIndex__Q44nw4r2ut6detail11ResFontBaseCFPQ34nw4r2ut5GlyphUs GetGlyphFromIndex__Q44nw4r2ut6detail11ResFontBaseCFPQ34nw4r2ut5GlyphUs: /* 80364438 00360098 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8036443C 0036009C 81 83 00 14 */ lwz r12, 0x14(r3) /* 80364440 003600A0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80364444 003600A4 93 C1 00 08 */ stw r30, 8(r1) /* 80364448 003600A8 80 6C 00 08 */ lwz r3, 8(r12) /* 8036444C 003600AC A3 E3 00 0C */ lhz r31, 0xc(r3) /* 80364450 003600B0 A0 03 00 0E */ lhz r0, 0xe(r3) /* 80364454 003600B4 88 C3 00 00 */ lbz r6, 0(r3) /* 80364458 003600B8 7D 3F 01 D6 */ mullw r9, r31, r0 /* 8036445C 003600BC 88 E3 00 01 */ lbz r7, 1(r3) /* 80364460 003600C0 39 06 00 01 */ addi r8, r6, 1 /* 80364464 003600C4 80 03 00 04 */ lwz r0, 4(r3) /* 80364468 003600C8 80 C3 00 14 */ lwz r6, 0x14(r3) /* 8036446C 003600CC 38 E7 00 01 */ addi r7, r7, 1 /* 80364470 003600D0 7D 65 4B 96 */ divwu r11, r5, r9 /* 80364474 003600D4 7D 2B 49 D6 */ mullw r9, r11, r9 /* 80364478 003600D8 7F C9 28 50 */ subf r30, r9, r5 /* 8036447C 003600DC 7D 5E FB 96 */ divwu r10, r30, r31 /* 80364480 003600E0 7D 2A F9 D6 */ mullw r9, r10, r31 /* 80364484 003600E4 7C 0B 01 D6 */ mullw r0, r11, r0 /* 80364488 003600E8 7D 29 F0 50 */ subf r9, r9, r30 /* 8036448C 003600EC 7C 06 02 14 */ add r0, r6, r0 /* 80364490 003600F0 7D 09 41 D6 */ mullw r8, r9, r8 /* 80364494 003600F4 90 04 00 00 */ stw r0, 0(r4) /* 80364498 003600F8 80 CC 00 0C */ lwz r6, 0xc(r12) /* 8036449C 003600FC 7D 2A 39 D6 */ mullw r9, r10, r7 /* 803644A0 00360100 48 00 00 38 */ b lbl_803644D8 lbl_803644A4: /* 803644A4 00360104 A0 E6 00 00 */ lhz r7, 0(r6) /* 803644A8 00360108 7C 07 28 40 */ cmplw r7, r5 /* 803644AC 0036010C 41 81 00 28 */ bgt lbl_803644D4 /* 803644B0 00360110 A0 06 00 02 */ lhz r0, 2(r6) /* 803644B4 00360114 7C 05 00 40 */ cmplw r5, r0 /* 803644B8 00360118 41 81 00 1C */ bgt lbl_803644D4 /* 803644BC 0036011C 7C A7 28 50 */ subf r5, r7, r5 /* 803644C0 00360120 54 A0 10 3A */ slwi r0, r5, 2 /* 803644C4 00360124 7C 05 00 50 */ subf r0, r5, r0 /* 803644C8 00360128 7C A6 02 14 */ add r5, r6, r0 /* 803644CC 0036012C 38 E5 00 08 */ addi r7, r5, 8 /* 803644D0 00360130 48 00 00 14 */ b lbl_803644E4 lbl_803644D4: /* 803644D4 00360134 80 C6 00 04 */ lwz r6, 4(r6) lbl_803644D8: /* 803644D8 00360138 2C 06 00 00 */ cmpwi r6, 0 /* 803644DC 0036013C 40 82 FF C8 */ bne lbl_803644A4 /* 803644E0 00360140 38 EC 00 04 */ addi r7, r12, 4 lbl_803644E4: /* 803644E4 00360144 88 C7 00 00 */ lbz r6, 0(r7) /* 803644E8 00360148 38 A8 00 01 */ addi r5, r8, 1 /* 803644EC 0036014C 38 09 00 01 */ addi r0, r9, 1 /* 803644F0 00360150 98 C4 00 04 */ stb r6, 4(r4) /* 803644F4 00360154 88 C7 00 01 */ lbz r6, 1(r7) /* 803644F8 00360158 98 C4 00 05 */ stb r6, 5(r4) /* 803644FC 0036015C 88 C7 00 02 */ lbz r6, 2(r7) /* 80364500 00360160 98 C4 00 06 */ stb r6, 6(r4) /* 80364504 00360164 88 C3 00 01 */ lbz r6, 1(r3) /* 80364508 00360168 98 C4 00 07 */ stb r6, 7(r4) /* 8036450C 0036016C A0 C3 00 0A */ lhz r6, 0xa(r3) /* 80364510 00360170 90 C4 00 08 */ stw r6, 8(r4) /* 80364514 00360174 A0 C3 00 10 */ lhz r6, 0x10(r3) /* 80364518 00360178 B0 C4 00 0C */ sth r6, 0xc(r4) /* 8036451C 0036017C A0 63 00 12 */ lhz r3, 0x12(r3) /* 80364520 00360180 B0 64 00 0E */ sth r3, 0xe(r4) /* 80364524 00360184 B0 A4 00 10 */ sth r5, 0x10(r4) /* 80364528 00360188 B0 04 00 12 */ sth r0, 0x12(r4) /* 8036452C 0036018C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80364530 00360190 83 C1 00 08 */ lwz r30, 8(r1) /* 80364534 00360194 38 21 00 10 */ addi r1, r1, 0x10 /* 80364538 00360198 4E 80 00 20 */ blr