.include "macros.inc" .section .data .balign 8 .global lbl_803ED6F8 lbl_803ED6F8: # ROM: 0x3EA6F8 .4byte 0 .4byte 0 .4byte __dt__16CTextInstructionFv .4byte Invoke__16CTextInstructionCFR16CFontRenderStateP17CTextRenderBuffer .4byte PageInvoke__12CInstructionCFR16CFontRenderStateP17CTextRenderBuffer .4byte "GetAssets__12CInstructionCFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>" .4byte GetAssetCount__12CInstructionCFv .4byte 0 .section .text, "ax" .global __dt__16CTextInstructionFv __dt__16CTextInstructionFv: /* 80304064 00300FC4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80304068 00300FC8 7C 08 02 A6 */ mflr r0 /* 8030406C 00300FCC 90 01 00 14 */ stw r0, 0x14(r1) /* 80304070 00300FD0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80304074 00300FD4 7C 7F 1B 79 */ or. r31, r3, r3 /* 80304078 00300FD8 41 82 00 30 */ beq lbl_803040A8 /* 8030407C 00300FDC 3C 60 80 3F */ lis r3, lbl_803ED6F8@ha /* 80304080 00300FE0 38 03 D6 F8 */ addi r0, r3, lbl_803ED6F8@l /* 80304084 00300FE4 90 1F 00 00 */ stw r0, 0(r31) /* 80304088 00300FE8 41 82 00 10 */ beq lbl_80304098 /* 8030408C 00300FEC 3C 60 80 3E */ lis r3, lbl_803D9A6C@ha /* 80304090 00300FF0 38 03 9A 6C */ addi r0, r3, lbl_803D9A6C@l /* 80304094 00300FF4 90 1F 00 00 */ stw r0, 0(r31) lbl_80304098: /* 80304098 00300FF8 7C 80 07 35 */ extsh. r0, r4 /* 8030409C 00300FFC 40 81 00 0C */ ble lbl_803040A8 /* 803040A0 00301000 7F E3 FB 78 */ mr r3, r31 /* 803040A4 00301004 48 01 18 8D */ bl Free__7CMemoryFPCv lbl_803040A8: /* 803040A8 00301008 80 01 00 14 */ lwz r0, 0x14(r1) /* 803040AC 0030100C 7F E3 FB 78 */ mr r3, r31 /* 803040B0 00301010 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803040B4 00301014 7C 08 03 A6 */ mtlr r0 /* 803040B8 00301018 38 21 00 10 */ addi r1, r1, 0x10 /* 803040BC 0030101C 4E 80 00 20 */ blr .global __ct__16CTextInstructionFPCwi __ct__16CTextInstructionFPCwi: /* 803040C0 00301020 3C E0 80 3E */ lis r7, lbl_803D9A6C@ha /* 803040C4 00301024 3C C0 80 3F */ lis r6, lbl_803ED6F8@ha /* 803040C8 00301028 38 E7 9A 6C */ addi r7, r7, lbl_803D9A6C@l /* 803040CC 0030102C 2C 05 00 00 */ cmpwi r5, 0 /* 803040D0 00301030 90 E3 00 00 */ stw r7, 0(r3) /* 803040D4 00301034 38 06 D6 F8 */ addi r0, r6, lbl_803ED6F8@l /* 803040D8 00301038 39 20 00 00 */ li r9, 0 /* 803040DC 0030103C 90 03 00 00 */ stw r0, 0(r3) /* 803040E0 00301040 90 A3 00 04 */ stw r5, 4(r3) /* 803040E4 00301044 4C 81 00 20 */ blelr /* 803040E8 00301048 2C 05 00 08 */ cmpwi r5, 8 /* 803040EC 0030104C 38 C5 FF F8 */ addi r6, r5, -8 /* 803040F0 00301050 40 81 00 70 */ ble lbl_80304160 /* 803040F4 00301054 38 06 00 07 */ addi r0, r6, 7 /* 803040F8 00301058 7C 87 23 78 */ mr r7, r4 /* 803040FC 0030105C 54 00 E8 FE */ srwi r0, r0, 3 /* 80304100 00301060 7C 68 1B 78 */ mr r8, r3 /* 80304104 00301064 7C 09 03 A6 */ mtctr r0 /* 80304108 00301068 2C 06 00 00 */ cmpwi r6, 0 /* 8030410C 0030106C 40 81 00 54 */ ble lbl_80304160 lbl_80304110: /* 80304110 00301070 A0 07 00 00 */ lhz r0, 0(r7) /* 80304114 00301074 39 29 00 08 */ addi r9, r9, 8 /* 80304118 00301078 B0 08 00 08 */ sth r0, 8(r8) /* 8030411C 0030107C A0 07 00 02 */ lhz r0, 2(r7) /* 80304120 00301080 B0 08 00 0A */ sth r0, 0xa(r8) /* 80304124 00301084 A0 07 00 04 */ lhz r0, 4(r7) /* 80304128 00301088 B0 08 00 0C */ sth r0, 0xc(r8) /* 8030412C 0030108C A0 07 00 06 */ lhz r0, 6(r7) /* 80304130 00301090 B0 08 00 0E */ sth r0, 0xe(r8) /* 80304134 00301094 A0 07 00 08 */ lhz r0, 8(r7) /* 80304138 00301098 B0 08 00 10 */ sth r0, 0x10(r8) /* 8030413C 0030109C A0 07 00 0A */ lhz r0, 0xa(r7) /* 80304140 003010A0 B0 08 00 12 */ sth r0, 0x12(r8) /* 80304144 003010A4 A0 07 00 0C */ lhz r0, 0xc(r7) /* 80304148 003010A8 B0 08 00 14 */ sth r0, 0x14(r8) /* 8030414C 003010AC A0 07 00 0E */ lhz r0, 0xe(r7) /* 80304150 003010B0 38 E7 00 10 */ addi r7, r7, 0x10 /* 80304154 003010B4 B0 08 00 16 */ sth r0, 0x16(r8) /* 80304158 003010B8 39 08 00 10 */ addi r8, r8, 0x10 /* 8030415C 003010BC 42 00 FF B4 */ bdnz lbl_80304110 lbl_80304160: /* 80304160 003010C0 55 26 08 3C */ slwi r6, r9, 1 /* 80304164 003010C4 7C 09 28 50 */ subf r0, r9, r5 /* 80304168 003010C8 7C 84 32 14 */ add r4, r4, r6 /* 8030416C 003010CC 7C C3 32 14 */ add r6, r3, r6 /* 80304170 003010D0 7C 09 03 A6 */ mtctr r0 /* 80304174 003010D4 7C 09 28 00 */ cmpw r9, r5 /* 80304178 003010D8 4C 80 00 20 */ bgelr lbl_8030417C: /* 8030417C 003010DC A0 04 00 00 */ lhz r0, 0(r4) /* 80304180 003010E0 38 84 00 02 */ addi r4, r4, 2 /* 80304184 003010E4 B0 06 00 08 */ sth r0, 8(r6) /* 80304188 003010E8 38 C6 00 02 */ addi r6, r6, 2 /* 8030418C 003010EC 42 00 FF F0 */ bdnz lbl_8030417C /* 80304190 003010F0 4E 80 00 20 */ blr .global Invoke__16CTextInstructionCFR16CFontRenderStateP17CTextRenderBuffer Invoke__16CTextInstructionCFR16CFontRenderStateP17CTextRenderBuffer: /* 80304194 003010F4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80304198 003010F8 7C 08 02 A6 */ mflr r0 /* 8030419C 003010FC 90 01 00 44 */ stw r0, 0x44(r1) /* 803041A0 00301100 BF 41 00 28 */ stmw r26, 0x28(r1) /* 803041A4 00301104 7C 7D 1B 78 */ mr r29, r3 /* 803041A8 00301108 7C 9E 23 78 */ mr r30, r4 /* 803041AC 0030110C 7C BF 2B 78 */ mr r31, r5 /* 803041B0 00301110 80 64 00 88 */ lwz r3, 0x88(r4) /* 803041B4 00301114 80 03 00 14 */ lwz r0, 0x14(r3) /* 803041B8 00301118 2C 00 00 00 */ cmpwi r0, 0 /* 803041BC 0030111C 40 82 00 58 */ bne lbl_80304214 /* 803041C0 00301120 80 7E 00 DC */ lwz r3, 0xdc(r30) /* 803041C4 00301124 4B FF B7 39 */ bl GetBaseline__16CLineInstructionFv /* 803041C8 00301128 83 7E 00 D8 */ lwz r27, 0xd8(r30) /* 803041CC 0030112C 7C 7C 1B 78 */ mr r28, r3 /* 803041D0 00301130 83 5E 00 D4 */ lwz r26, 0xd4(r30) /* 803041D4 00301134 38 7E 00 48 */ addi r3, r30, 0x48 /* 803041D8 00301138 48 03 CC 35 */ bl GetObj__6CTokenFv /* 803041DC 0030113C 80 1D 00 04 */ lwz r0, 4(r29) /* 803041E0 00301140 7F C4 F3 78 */ mr r4, r30 /* 803041E4 00301144 7F 45 D3 78 */ mr r5, r26 /* 803041E8 00301148 7F E9 FB 78 */ mr r9, r31 /* 803041EC 0030114C 90 01 00 08 */ stw r0, 8(r1) /* 803041F0 00301150 7C DC DA 14 */ add r6, r28, r27 /* 803041F4 00301154 38 E1 00 1C */ addi r7, r1, 0x1c /* 803041F8 00301158 39 01 00 18 */ addi r8, r1, 0x18 /* 803041FC 0030115C 80 63 00 04 */ lwz r3, 4(r3) /* 80304200 00301160 39 5D 00 08 */ addi r10, r29, 8 /* 80304204 00301164 4B FF C3 6D */ bl DrawString__11CRasterFontCFRC18CDrawStringOptionsiiRiRiP17CTextRenderBufferPCwi /* 80304208 00301168 80 01 00 1C */ lwz r0, 0x1c(r1) /* 8030420C 0030116C 90 1E 00 D4 */ stw r0, 0xd4(r30) /* 80304210 00301170 48 00 00 70 */ b lbl_80304280 lbl_80304214: /* 80304214 00301174 38 7E 00 48 */ addi r3, r30, 0x48 /* 80304218 00301178 48 03 CB F5 */ bl GetObj__6CTokenFv /* 8030421C 0030117C 80 9E 00 DC */ lwz r4, 0xdc(r30) /* 80304220 00301180 80 63 00 04 */ lwz r3, 4(r3) /* 80304224 00301184 83 44 00 08 */ lwz r26, 8(r4) /* 80304228 00301188 4B FF C4 DD */ bl GetMonoWidth__11CRasterFontCFv /* 8030422C 0030118C 7C 63 D0 50 */ subf r3, r3, r26 /* 80304230 00301190 83 5E 00 D8 */ lwz r26, 0xd8(r30) /* 80304234 00301194 54 60 0F FE */ srwi r0, r3, 0x1f /* 80304238 00301198 83 7E 00 D4 */ lwz r27, 0xd4(r30) /* 8030423C 0030119C 7C 00 1A 14 */ add r0, r0, r3 /* 80304240 003011A0 38 7E 00 48 */ addi r3, r30, 0x48 /* 80304244 003011A4 7C 1C 0E 70 */ srawi r28, r0, 1 /* 80304248 003011A8 48 03 CB C5 */ bl GetObj__6CTokenFv /* 8030424C 003011AC 80 1D 00 04 */ lwz r0, 4(r29) /* 80304250 003011B0 7F C4 F3 78 */ mr r4, r30 /* 80304254 003011B4 7F 46 D3 78 */ mr r6, r26 /* 80304258 003011B8 7F E9 FB 78 */ mr r9, r31 /* 8030425C 003011BC 90 01 00 08 */ stw r0, 8(r1) /* 80304260 003011C0 7C BC DA 14 */ add r5, r28, r27 /* 80304264 003011C4 38 E1 00 14 */ addi r7, r1, 0x14 /* 80304268 003011C8 39 01 00 10 */ addi r8, r1, 0x10 /* 8030426C 003011CC 80 63 00 04 */ lwz r3, 4(r3) /* 80304270 003011D0 39 5D 00 08 */ addi r10, r29, 8 /* 80304274 003011D4 4B FF C2 FD */ bl DrawString__11CRasterFontCFRC18CDrawStringOptionsiiRiRiP17CTextRenderBufferPCwi /* 80304278 003011D8 80 01 00 10 */ lwz r0, 0x10(r1) /* 8030427C 003011DC 90 1E 00 D8 */ stw r0, 0xd8(r30) lbl_80304280: /* 80304280 003011E0 BB 41 00 28 */ lmw r26, 0x28(r1) /* 80304284 003011E4 80 01 00 44 */ lwz r0, 0x44(r1) /* 80304288 003011E8 7C 08 03 A6 */ mtlr r0 /* 8030428C 003011EC 38 21 00 40 */ addi r1, r1, 0x40 /* 80304290 003011F0 4E 80 00 20 */ blr .global Create__16CTextInstructionFPCwi Create__16CTextInstructionFPCwi: /* 80304294 003011F4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80304298 003011F8 7C 08 02 A6 */ mflr r0 /* 8030429C 003011FC 38 A0 00 00 */ li r5, 0 /* 803042A0 00301200 90 01 00 14 */ stw r0, 0x14(r1) /* 803042A4 00301204 93 E1 00 0C */ stw r31, 0xc(r1) /* 803042A8 00301208 7C 9F 23 78 */ mr r31, r4 /* 803042AC 0030120C 3C 80 80 3D */ lis r4, lbl_803D6E98@ha /* 803042B0 00301210 93 C1 00 08 */ stw r30, 8(r1) /* 803042B4 00301214 7C 7E 1B 78 */ mr r30, r3 /* 803042B8 00301218 57 E3 08 3C */ slwi r3, r31, 1 /* 803042BC 0030121C 38 84 6E 98 */ addi r4, r4, lbl_803D6E98@l /* 803042C0 00301220 38 63 00 0E */ addi r3, r3, 0xe /* 803042C4 00301224 48 01 15 55 */ bl __nwa__FUlPCcPCc /* 803042C8 00301228 7C 60 1B 79 */ or. r0, r3, r3 /* 803042CC 0030122C 41 82 00 14 */ beq lbl_803042E0 /* 803042D0 00301230 7F C4 F3 78 */ mr r4, r30 /* 803042D4 00301234 7F E5 FB 78 */ mr r5, r31 /* 803042D8 00301238 4B FF FD E9 */ bl __ct__16CTextInstructionFPCwi /* 803042DC 0030123C 7C 60 1B 78 */ mr r0, r3 lbl_803042E0: /* 803042E0 00301240 7C 03 03 78 */ mr r3, r0 /* 803042E4 00301244 80 01 00 14 */ lwz r0, 0x14(r1) /* 803042E8 00301248 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803042EC 0030124C 83 C1 00 08 */ lwz r30, 8(r1) /* 803042F0 00301250 7C 08 03 A6 */ mtlr r0 /* 803042F4 00301254 38 21 00 10 */ addi r1, r1, 0x10 /* 803042F8 00301258 4E 80 00 20 */ blr .section .rodata .balign 8 .global lbl_803D6E98 lbl_803D6E98: # ROM: 0x3D3E98 .asciz "??(??)" .balign 4