mirror of https://github.com/PrimeDecomp/prime.git
216 lines
10 KiB
ArmAsm
216 lines
10 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80003640 - 0x803CB1C0
|
|
|
|
.global CalculateBaseline__13CFontImageDefFv
|
|
CalculateBaseline__13CFontImageDefFv:
|
|
/* 8035943C 0035639C 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 80359440 003563A0 7C 08 02 A6 */ mflr r0
|
|
/* 80359444 003563A4 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 80359448 003563A8 93 E1 00 3C */ stw r31, 0x3c(r1)
|
|
/* 8035944C 003563AC 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80359450 003563B0 38 61 00 08 */ addi r3, r1, 8
|
|
/* 80359454 003563B4 80 9F 00 10 */ lwz r4, 0x10(r31)
|
|
/* 80359458 003563B8 4B FE 7A 51 */ bl __ct__6CTokenFRC6CToken
|
|
/* 8035945C 003563BC 38 61 00 08 */ addi r3, r1, 8
|
|
/* 80359460 003563C0 4B FE 79 AD */ bl GetObj__6CTokenFv
|
|
/* 80359464 003563C4 80 83 00 04 */ lwz r4, 4(r3)
|
|
/* 80359468 003563C8 3C 00 43 30 */ lis r0, 0x4330
|
|
/* 8035946C 003563CC 90 01 00 10 */ stw r0, 0x10(r1)
|
|
/* 80359470 003563D0 38 61 00 08 */ addi r3, r1, 8
|
|
/* 80359474 003563D4 A8 04 00 06 */ lha r0, 6(r4)
|
|
/* 80359478 003563D8 38 80 00 00 */ li r4, 0
|
|
/* 8035947C 003563DC C8 42 CC E8 */ lfd f2, lbl_805AEA08@sda21(r2)
|
|
/* 80359480 003563E0 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 80359484 003563E4 C0 1F 00 18 */ lfs f0, 0x18(r31)
|
|
/* 80359488 003563E8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8035948C 003563EC C8 21 00 10 */ lfd f1, 0x10(r1)
|
|
/* 80359490 003563F0 EC 21 10 28 */ fsubs f1, f1, f2
|
|
/* 80359494 003563F4 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 80359498 003563F8 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 8035949C 003563FC D8 01 00 18 */ stfd f0, 0x18(r1)
|
|
/* 803594A0 00356400 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 803594A4 00356404 4B FE 79 9D */ bl __dt__6CTokenFv
|
|
/* 803594A8 00356408 6F E3 80 00 */ xoris r3, r31, 0x8000
|
|
/* 803594AC 0035640C 3C 00 43 30 */ lis r0, 0x4330
|
|
/* 803594B0 00356410 90 61 00 24 */ stw r3, 0x24(r1)
|
|
/* 803594B4 00356414 C8 42 CC E8 */ lfd f2, lbl_805AEA08@sda21(r2)
|
|
/* 803594B8 00356418 90 01 00 20 */ stw r0, 0x20(r1)
|
|
/* 803594BC 0035641C C0 62 CC E0 */ lfs f3, lbl_805AEA00@sda21(r2)
|
|
/* 803594C0 00356420 C8 21 00 20 */ lfd f1, 0x20(r1)
|
|
/* 803594C4 00356424 C0 02 CC E4 */ lfs f0, lbl_805AEA04@sda21(r2)
|
|
/* 803594C8 00356428 EC 21 10 28 */ fsubs f1, f1, f2
|
|
/* 803594CC 0035642C EC 23 00 72 */ fmuls f1, f3, f1
|
|
/* 803594D0 00356430 EC 01 00 24 */ fdivs f0, f1, f0
|
|
/* 803594D4 00356434 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 803594D8 00356438 D8 01 00 28 */ stfd f0, 0x28(r1)
|
|
/* 803594DC 0035643C 80 61 00 2C */ lwz r3, 0x2c(r1)
|
|
/* 803594E0 00356440 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
|
/* 803594E4 00356444 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 803594E8 00356448 7C 08 03 A6 */ mtlr r0
|
|
/* 803594EC 0035644C 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 803594F0 00356450 4E 80 00 20 */ blr
|
|
|
|
.global IsLoaded__13CFontImageDefCFv
|
|
IsLoaded__13CFontImageDefCFv:
|
|
/* 803594F4 00356454 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 803594F8 00356458 38 A0 00 00 */ li r5, 0
|
|
/* 803594FC 0035645C 7C 09 03 A6 */ mtctr r0
|
|
/* 80359500 00356460 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80359504 00356464 40 81 00 28 */ ble lbl_8035952C
|
|
lbl_80359508:
|
|
/* 80359508 00356468 80 83 00 10 */ lwz r4, 0x10(r3)
|
|
/* 8035950C 0035646C 7C 84 28 2E */ lwzx r4, r4, r5
|
|
/* 80359510 00356470 80 04 00 10 */ lwz r0, 0x10(r4)
|
|
/* 80359514 00356474 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80359518 00356478 40 82 00 0C */ bne lbl_80359524
|
|
/* 8035951C 0035647C 38 60 00 00 */ li r3, 0
|
|
/* 80359520 00356480 4E 80 00 20 */ blr
|
|
lbl_80359524:
|
|
/* 80359524 00356484 38 A5 00 08 */ addi r5, r5, 8
|
|
/* 80359528 00356488 42 00 FF E0 */ bdnz lbl_80359508
|
|
lbl_8035952C:
|
|
/* 8035952C 0035648C 38 60 00 01 */ li r3, 1
|
|
/* 80359530 00356490 4E 80 00 20 */ blr
|
|
|
|
.global "__ct__13CFontImageDefFRCQ24rstl54vector<17TToken<8CTexture>,Q24rstl17rmemory_allocator>fRC9CVector2f"
|
|
"__ct__13CFontImageDefFRCQ24rstl54vector<17TToken<8CTexture>,Q24rstl17rmemory_allocator>fRC9CVector2f":
|
|
/* 80359534 00356494 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80359538 00356498 7C 08 02 A6 */ mflr r0
|
|
/* 8035953C 0035649C 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80359540 003564A0 BF 41 00 08 */ stmw r26, 8(r1)
|
|
/* 80359544 003564A4 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80359548 003564A8 7C 9C 23 78 */ mr r28, r4
|
|
/* 8035954C 003564AC 7C BA 2B 78 */ mr r26, r5
|
|
/* 80359550 003564B0 D0 23 00 00 */ stfs f1, 0(r3)
|
|
/* 80359554 003564B4 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 80359558 003564B8 90 03 00 08 */ stw r0, 8(r3)
|
|
/* 8035955C 003564BC 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 80359560 003564C0 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 80359564 003564C4 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 80359568 003564C8 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8035956C 003564CC 40 82 00 1C */ bne lbl_80359588
|
|
/* 80359570 003564D0 80 1C 00 08 */ lwz r0, 8(r28)
|
|
/* 80359574 003564D4 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80359578 003564D8 40 82 00 10 */ bne lbl_80359588
|
|
/* 8035957C 003564DC 38 00 00 00 */ li r0, 0
|
|
/* 80359580 003564E0 90 1F 00 10 */ stw r0, 0x10(r31)
|
|
/* 80359584 003564E4 48 00 00 6C */ b lbl_803595F0
|
|
lbl_80359588:
|
|
/* 80359588 003564E8 80 1F 00 0C */ lwz r0, 0xc(r31)
|
|
/* 8035958C 003564EC 54 03 18 39 */ rlwinm. r3, r0, 3, 0, 0x1c
|
|
/* 80359590 003564F0 40 82 00 10 */ bne lbl_803595A0
|
|
/* 80359594 003564F4 38 00 00 00 */ li r0, 0
|
|
/* 80359598 003564F8 90 1F 00 10 */ stw r0, 0x10(r31)
|
|
/* 8035959C 003564FC 48 00 00 18 */ b lbl_803595B4
|
|
lbl_803595A0:
|
|
/* 803595A0 00356500 3C 80 80 3E */ lis r4, lbl_803D8348@ha
|
|
/* 803595A4 00356504 38 A0 00 00 */ li r5, 0
|
|
/* 803595A8 00356508 38 84 83 48 */ addi r4, r4, lbl_803D8348@l
|
|
/* 803595AC 0035650C 4B FB C2 6D */ bl __nwa__FUlPCcPCc
|
|
/* 803595B0 00356510 90 7F 00 10 */ stw r3, 0x10(r31)
|
|
lbl_803595B4:
|
|
/* 803595B4 00356514 83 7F 00 08 */ lwz r27, 8(r31)
|
|
/* 803595B8 00356518 3B C0 00 00 */ li r30, 0
|
|
/* 803595BC 0035651C 83 9C 00 0C */ lwz r28, 0xc(r28)
|
|
/* 803595C0 00356520 83 BF 00 10 */ lwz r29, 0x10(r31)
|
|
/* 803595C4 00356524 48 00 00 24 */ b lbl_803595E8
|
|
lbl_803595C8:
|
|
/* 803595C8 00356528 28 1D 00 00 */ cmplwi r29, 0
|
|
/* 803595CC 0035652C 41 82 00 10 */ beq lbl_803595DC
|
|
/* 803595D0 00356530 7F A3 EB 78 */ mr r3, r29
|
|
/* 803595D4 00356534 7F 84 E3 78 */ mr r4, r28
|
|
/* 803595D8 00356538 4B FE 78 D1 */ bl __ct__6CTokenFRC6CToken
|
|
lbl_803595DC:
|
|
/* 803595DC 0035653C 3B BD 00 08 */ addi r29, r29, 8
|
|
/* 803595E0 00356540 3B DE 00 01 */ addi r30, r30, 1
|
|
/* 803595E4 00356544 3B 9C 00 08 */ addi r28, r28, 8
|
|
lbl_803595E8:
|
|
/* 803595E8 00356548 7C 1E D8 00 */ cmpw r30, r27
|
|
/* 803595EC 0035654C 41 80 FF DC */ blt lbl_803595C8
|
|
lbl_803595F0:
|
|
/* 803595F0 00356550 C0 1A 00 00 */ lfs f0, 0(r26)
|
|
/* 803595F4 00356554 D0 1F 00 14 */ stfs f0, 0x14(r31)
|
|
/* 803595F8 00356558 C0 1A 00 04 */ lfs f0, 4(r26)
|
|
/* 803595FC 0035655C D0 1F 00 18 */ stfs f0, 0x18(r31)
|
|
/* 80359600 00356560 83 7F 00 10 */ lwz r27, 0x10(r31)
|
|
/* 80359604 00356564 48 00 00 10 */ b lbl_80359614
|
|
lbl_80359608:
|
|
/* 80359608 00356568 7F 63 DB 78 */ mr r3, r27
|
|
/* 8035960C 0035656C 4B FE 77 79 */ bl Lock__6CTokenFv
|
|
/* 80359610 00356570 3B 7B 00 08 */ addi r27, r27, 8
|
|
lbl_80359614:
|
|
/* 80359614 00356574 80 1F 00 08 */ lwz r0, 8(r31)
|
|
/* 80359618 00356578 80 7F 00 10 */ lwz r3, 0x10(r31)
|
|
/* 8035961C 0035657C 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 80359620 00356580 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80359624 00356584 7C 1B 00 40 */ cmplw r27, r0
|
|
/* 80359628 00356588 40 82 FF E0 */ bne lbl_80359608
|
|
/* 8035962C 0035658C 7F E3 FB 78 */ mr r3, r31
|
|
/* 80359630 00356590 BB 41 00 08 */ lmw r26, 8(r1)
|
|
/* 80359634 00356594 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80359638 00356598 7C 08 03 A6 */ mtlr r0
|
|
/* 8035963C 0035659C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80359640 003565A0 4E 80 00 20 */ blr
|
|
|
|
.global "__ct__13CFontImageDefFRC17TToken<8CTexture>RC9CVector2f"
|
|
"__ct__13CFontImageDefFRC17TToken<8CTexture>RC9CVector2f":
|
|
/* 80359644 003565A4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80359648 003565A8 7C 08 02 A6 */ mflr r0
|
|
/* 8035964C 003565AC C0 02 CC F0 */ lfs f0, lbl_805AEA10@sda21(r2)
|
|
/* 80359650 003565B0 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80359654 003565B4 38 00 00 01 */ li r0, 1
|
|
/* 80359658 003565B8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8035965C 003565BC 7C BF 2B 78 */ mr r31, r5
|
|
/* 80359660 003565C0 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80359664 003565C4 7C 9E 23 78 */ mr r30, r4
|
|
/* 80359668 003565C8 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 8035966C 003565CC 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80359670 003565D0 D0 03 00 00 */ stfs f0, 0(r3)
|
|
/* 80359674 003565D4 90 03 00 08 */ stw r0, 8(r3)
|
|
/* 80359678 003565D8 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 8035967C 003565DC 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 80359680 003565E0 54 03 18 39 */ rlwinm. r3, r0, 3, 0, 0x1c
|
|
/* 80359684 003565E4 40 82 00 10 */ bne lbl_80359694
|
|
/* 80359688 003565E8 38 00 00 00 */ li r0, 0
|
|
/* 8035968C 003565EC 90 1D 00 10 */ stw r0, 0x10(r29)
|
|
/* 80359690 003565F0 48 00 00 18 */ b lbl_803596A8
|
|
lbl_80359694:
|
|
/* 80359694 003565F4 3C 80 80 3E */ lis r4, lbl_803D8348@ha
|
|
/* 80359698 003565F8 38 A0 00 00 */ li r5, 0
|
|
/* 8035969C 003565FC 38 84 83 48 */ addi r4, r4, lbl_803D8348@l
|
|
/* 803596A0 00356600 4B FB C1 79 */ bl __nwa__FUlPCcPCc
|
|
/* 803596A4 00356604 90 7D 00 10 */ stw r3, 0x10(r29)
|
|
lbl_803596A8:
|
|
/* 803596A8 00356608 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 803596AC 0035660C 28 03 00 00 */ cmplwi r3, 0
|
|
/* 803596B0 00356610 41 82 00 0C */ beq lbl_803596BC
|
|
/* 803596B4 00356614 7F C4 F3 78 */ mr r4, r30
|
|
/* 803596B8 00356618 4B FE 77 F1 */ bl __ct__6CTokenFRC6CToken
|
|
lbl_803596BC:
|
|
/* 803596BC 0035661C C0 1F 00 00 */ lfs f0, 0(r31)
|
|
/* 803596C0 00356620 D0 1D 00 14 */ stfs f0, 0x14(r29)
|
|
/* 803596C4 00356624 C0 1F 00 04 */ lfs f0, 4(r31)
|
|
/* 803596C8 00356628 D0 1D 00 18 */ stfs f0, 0x18(r29)
|
|
/* 803596CC 0035662C 83 FD 00 10 */ lwz r31, 0x10(r29)
|
|
/* 803596D0 00356630 48 00 00 10 */ b lbl_803596E0
|
|
lbl_803596D4:
|
|
/* 803596D4 00356634 7F E3 FB 78 */ mr r3, r31
|
|
/* 803596D8 00356638 4B FE 76 AD */ bl Lock__6CTokenFv
|
|
/* 803596DC 0035663C 3B FF 00 08 */ addi r31, r31, 8
|
|
lbl_803596E0:
|
|
/* 803596E0 00356640 80 1D 00 08 */ lwz r0, 8(r29)
|
|
/* 803596E4 00356644 80 7D 00 10 */ lwz r3, 0x10(r29)
|
|
/* 803596E8 00356648 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 803596EC 0035664C 7C 03 02 14 */ add r0, r3, r0
|
|
/* 803596F0 00356650 7C 1F 00 40 */ cmplw r31, r0
|
|
/* 803596F4 00356654 40 82 FF E0 */ bne lbl_803596D4
|
|
/* 803596F8 00356658 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 803596FC 0035665C 7F A3 EB 78 */ mr r3, r29
|
|
/* 80359700 00356660 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80359704 00356664 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80359708 00356668 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8035970C 0035666C 7C 08 03 A6 */ mtlr r0
|
|
/* 80359710 00356670 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80359714 00356674 4E 80 00 20 */ blr
|