donut-decomp/asm/nrel/Render2D.s
2022-10-17 10:02:14 +01:00

151 lines
7.4 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global setupGX__Q34nrel8ezrender8Render2DFRCQ34nrel8ezrender14GXSettingFor2D
setupGX__Q34nrel8ezrender8Render2DFRCQ34nrel8ezrender14GXSettingFor2D:
/* 8014C4AC 001482EC 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 8014C4B0 001482F0 7C 08 02 A6 */ mflr r0
/* 8014C4B4 001482F4 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 8014C4B8 001482F8 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 8014C4BC 001482FC 7C 7F 1B 78 */ mr r31, r3
/* 8014C4C0 00148300 4B EE 78 F1 */ bl GXClearVtxDesc
/* 8014C4C4 00148304 38 60 00 09 */ li r3, 0x9
/* 8014C4C8 00148308 38 80 00 01 */ li r4, 0x1
/* 8014C4CC 0014830C 4B EE 72 D5 */ bl GXSetVtxDesc
/* 8014C4D0 00148310 38 60 00 00 */ li r3, 0x0
/* 8014C4D4 00148314 38 80 00 09 */ li r4, 0x9
/* 8014C4D8 00148318 38 A0 00 00 */ li r5, 0x0
/* 8014C4DC 0014831C 38 C0 00 04 */ li r6, 0x4
/* 8014C4E0 00148320 38 E0 00 00 */ li r7, 0x0
/* 8014C4E4 00148324 4B EE 79 0D */ bl GXSetVtxAttrFmt
/* 8014C4E8 00148328 38 61 00 80 */ addi r3, r1, 0x80
/* 8014C4EC 0014832C 4B EE 3F F5 */ bl PSMTXIdentity
/* 8014C4F0 00148330 38 61 00 80 */ addi r3, r1, 0x80
/* 8014C4F4 00148334 38 80 00 00 */ li r4, 0x0
/* 8014C4F8 00148338 4B EE C7 29 */ bl GXLoadPosMtxImm
/* 8014C4FC 0014833C 38 60 00 00 */ li r3, 0x0
/* 8014C500 00148340 4B EE C8 41 */ bl GXSetCurrentMtx
/* 8014C504 00148344 38 61 00 28 */ addi r3, r1, 0x28
/* 8014C508 00148348 7F E4 FB 78 */ mr r4, r31
/* 8014C50C 0014834C 4B FF FF 05 */ bl viewportSetting__Q34nrel8ezrender14GXSettingFor2DCFv
/* 8014C510 00148350 38 61 00 28 */ addi r3, r1, 0x28
/* 8014C514 00148354 48 00 01 A9 */ bl execute__Q34nrel8ezrender15ViewportSettingCFv
/* 8014C518 00148358 38 61 00 10 */ addi r3, r1, 0x10
/* 8014C51C 0014835C 7F E4 FB 78 */ mr r4, r31
/* 8014C520 00148360 4B FF FE 91 */ bl orthoCameraSetting__Q34nrel8ezrender14GXSettingFor2DCFv
/* 8014C524 00148364 38 61 00 10 */ addi r3, r1, 0x10
/* 8014C528 00148368 38 81 00 40 */ addi r4, r1, 0x40
/* 8014C52C 0014836C 4B FF FF 5D */ bl setupMatrix__Q34nrel8ezrender18OrthoCameraSettingCFRA4_A4_f
/* 8014C530 00148370 38 61 00 40 */ addi r3, r1, 0x40
/* 8014C534 00148374 38 80 00 01 */ li r4, 0x1
/* 8014C538 00148378 4B EE C5 E9 */ bl GXSetProjection
/* 8014C53C 0014837C 38 60 00 01 */ li r3, 0x1
/* 8014C540 00148380 4B EE 9F A1 */ bl GXSetNumChans
/* 8014C544 00148384 38 60 00 04 */ li r3, 0x4
/* 8014C548 00148388 38 80 00 00 */ li r4, 0x0
/* 8014C54C 0014838C 38 A0 00 00 */ li r5, 0x0
/* 8014C550 00148390 38 C0 00 00 */ li r6, 0x0
/* 8014C554 00148394 38 E0 00 00 */ li r7, 0x0
/* 8014C558 00148398 39 00 00 00 */ li r8, 0x0
/* 8014C55C 0014839C 39 20 00 02 */ li r9, 0x2
/* 8014C560 001483A0 4B EE 9F B1 */ bl GXSetChanCtrl
/* 8014C564 001483A4 80 02 95 F8 */ lwz r0, "@4710"@sda21(r2)
/* 8014C568 001483A8 90 01 00 08 */ stw r0, 0x8(r1)
/* 8014C56C 001483AC 38 60 00 04 */ li r3, 0x4
/* 8014C570 001483B0 38 81 00 08 */ addi r4, r1, 0x8
/* 8014C574 001483B4 4B EE 9E 8D */ bl GXSetChanMatColor
/* 8014C578 001483B8 38 60 00 00 */ li r3, 0x0
/* 8014C57C 001483BC 4B EE 81 65 */ bl GXSetNumTexGens
/* 8014C580 001483C0 38 60 00 01 */ li r3, 0x1
/* 8014C584 001483C4 4B EE BC DD */ bl GXSetNumTevStages
/* 8014C588 001483C8 38 60 00 00 */ li r3, 0x0
/* 8014C58C 001483CC 38 80 00 FF */ li r4, 0xff
/* 8014C590 001483D0 38 A0 00 FF */ li r5, 0xff
/* 8014C594 001483D4 38 C0 00 04 */ li r6, 0x4
/* 8014C598 001483D8 4B EE BB 69 */ bl GXSetTevOrder
/* 8014C59C 001483DC 38 60 00 00 */ li r3, 0x0
/* 8014C5A0 001483E0 38 80 00 04 */ li r4, 0x4
/* 8014C5A4 001483E4 4B EE B6 1D */ bl GXSetTevOp
/* 8014C5A8 001483E8 3B E0 00 00 */ li r31, 0x0
.global lbl_8014C5AC
lbl_8014C5AC:
/* 8014C5AC 001483EC 7F E3 FB 78 */ mr r3, r31
/* 8014C5B0 001483F0 38 80 00 06 */ li r4, 0x6
/* 8014C5B4 001483F4 4B EE B9 1D */ bl GXSetTevKColorSel
/* 8014C5B8 001483F8 7F E3 FB 78 */ mr r3, r31
/* 8014C5BC 001483FC 38 80 00 00 */ li r4, 0x0
/* 8014C5C0 00148400 4B EE B9 61 */ bl GXSetTevKAlphaSel
/* 8014C5C4 00148404 7F E3 FB 78 */ mr r3, r31
/* 8014C5C8 00148408 38 80 00 00 */ li r4, 0x0
/* 8014C5CC 0014840C 38 A0 00 00 */ li r5, 0x0
/* 8014C5D0 00148410 4B EE B9 A1 */ bl GXSetTevSwapMode
/* 8014C5D4 00148414 3B FF 00 01 */ addi r31, r31, 0x1
/* 8014C5D8 00148418 2C 1F 00 10 */ cmpwi r31, 0x10
/* 8014C5DC 0014841C 41 80 FF D0 */ blt lbl_8014C5AC
/* 8014C5E0 00148420 38 60 00 00 */ li r3, 0x0
/* 8014C5E4 00148424 4B EE 8F 7D */ bl GXSetCullMode
/* 8014C5E8 00148428 38 60 00 00 */ li r3, 0x0
/* 8014C5EC 0014842C 38 80 00 07 */ li r4, 0x7
/* 8014C5F0 00148430 38 A0 00 01 */ li r5, 0x1
/* 8014C5F4 00148434 4B EE C2 2D */ bl GXSetZMode
/* 8014C5F8 00148438 38 60 00 01 */ li r3, 0x1
/* 8014C5FC 0014843C 38 80 00 04 */ li r4, 0x4
/* 8014C600 00148440 38 A0 00 05 */ li r5, 0x5
/* 8014C604 00148444 38 C0 00 00 */ li r6, 0x0
/* 8014C608 00148448 4B EE C1 29 */ bl GXSetBlendMode
/* 8014C60C 0014844C 38 60 00 01 */ li r3, 0x1
/* 8014C610 00148450 38 80 00 08 */ li r4, 0x8
/* 8014C614 00148454 4B EE 80 FD */ bl GXSetMisc
/* 8014C618 00148458 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 8014C61C 0014845C 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 8014C620 00148460 7C 08 03 A6 */ mtlr r0
/* 8014C624 00148464 38 21 00 C0 */ addi r1, r1, 0xc0
/* 8014C628 00148468 4E 80 00 20 */ blr
.global GXPosition2f32
GXPosition2f32:
/* 8014C62C 0014846C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8014C630 00148470 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3)
/* 8014C634 00148474 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 8014C638 00148478 4E 80 00 20 */ blr
.global renderRect__Q34nrel8ezrender8Render2DFRCQ34nw4r2ut4RectRC8_GXColor
renderRect__Q34nrel8ezrender8Render2DFRCQ34nw4r2ut4RectRC8_GXColor:
/* 8014C63C 0014847C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8014C640 00148480 7C 08 02 A6 */ mflr r0
/* 8014C644 00148484 90 01 00 24 */ stw r0, 0x24(r1)
/* 8014C648 00148488 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8014C64C 0014848C 7C 7F 1B 78 */ mr r31, r3
/* 8014C650 00148490 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8014C654 00148494 90 01 00 08 */ stw r0, 0x8(r1)
/* 8014C658 00148498 38 60 00 04 */ li r3, 0x4
/* 8014C65C 0014849C 38 81 00 08 */ addi r4, r1, 0x8
/* 8014C660 001484A0 4B EE 9D A1 */ bl GXSetChanMatColor
/* 8014C664 001484A4 38 60 00 80 */ li r3, 0x80
/* 8014C668 001484A8 38 80 00 00 */ li r4, 0x0
/* 8014C66C 001484AC 38 A0 00 04 */ li r5, 0x4
/* 8014C670 001484B0 4B EE 8C 01 */ bl GXBegin
/* 8014C674 001484B4 C0 3F 00 00 */ lfs f1, 0x0(r31)
/* 8014C678 001484B8 C0 5F 00 04 */ lfs f2, 0x4(r31)
/* 8014C67C 001484BC 4B FF FF B1 */ bl GXPosition2f32
/* 8014C680 001484C0 C0 3F 00 08 */ lfs f1, 0x8(r31)
/* 8014C684 001484C4 C0 5F 00 04 */ lfs f2, 0x4(r31)
/* 8014C688 001484C8 4B FF FF A5 */ bl GXPosition2f32
/* 8014C68C 001484CC C0 3F 00 08 */ lfs f1, 0x8(r31)
/* 8014C690 001484D0 C0 5F 00 0C */ lfs f2, 0xc(r31)
/* 8014C694 001484D4 4B FF FF 99 */ bl GXPosition2f32
/* 8014C698 001484D8 C0 3F 00 00 */ lfs f1, 0x0(r31)
/* 8014C69C 001484DC C0 5F 00 0C */ lfs f2, 0xc(r31)
/* 8014C6A0 001484E0 4B FF FF 8D */ bl GXPosition2f32
/* 8014C6A4 001484E4 4B ED 7D FD */ bl DefaultSwitchThreadCallback
/* 8014C6A8 001484E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8014C6AC 001484EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8014C6B0 001484F0 7C 08 03 A6 */ mtlr r0
/* 8014C6B4 001484F4 38 21 00 20 */ addi r1, r1, 0x20
/* 8014C6B8 001484F8 4E 80 00 20 */ blr
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@4710"
"@4710":
.4byte 0x808080FF
.4byte 0