donut-decomp/asm/libnw4r_g3d/g3d_resvtx_800ce3f0.s

187 lines
8 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global SetArray__Q34nw4r3g3d9ResVtxPosFv
SetArray__Q34nw4r3g3d9ResVtxPosFv:
/* 800CE3F0 000CA230 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 800CE3F4 000CA234 2C 05 00 00 */ cmpwi r5, 0x0
/* 800CE3F8 000CA238 4D 82 00 20 */ beqlr
/* 800CE3FC 000CA23C 80 05 00 08 */ lwz r0, 0x8(r5)
/* 800CE400 000CA240 38 60 00 09 */ li r3, 0x9
/* 800CE404 000CA244 2C 00 00 00 */ cmpwi r0, 0x0
/* 800CE408 000CA248 41 82 00 0C */ beq lbl_800CE414
/* 800CE40C 000CA24C 7C 85 02 14 */ add r4, r5, r0
/* 800CE410 000CA250 48 00 00 08 */ b lbl_800CE418
.global lbl_800CE414
lbl_800CE414:
/* 800CE414 000CA254 38 80 00 00 */ li r4, 0x0
.global lbl_800CE418
lbl_800CE418:
/* 800CE418 000CA258 88 A5 00 1D */ lbz r5, 0x1d(r5)
/* 800CE41C 000CA25C 4B F6 60 24 */ b GXSetArray
/* 800CE420 000CA260 4E 80 00 20 */ blr
/* 800CE424 000CA264 00 00 00 00 */ .4byte 0x00000000
/* 800CE428 000CA268 00 00 00 00 */ .4byte 0x00000000
/* 800CE42C 000CA26C 00 00 00 00 */ .4byte 0x00000000
.global GetArray__Q34nw4r3g3d9ResVtxPosCFPPCvPUc
GetArray__Q34nw4r3g3d9ResVtxPosCFPPCvPUc:
/* 800CE430 000CA270 2C 04 00 00 */ cmpwi r4, 0x0
/* 800CE434 000CA274 41 82 00 24 */ beq lbl_800CE458
/* 800CE438 000CA278 80 C3 00 00 */ lwz r6, 0x0(r3)
/* 800CE43C 000CA27C 80 06 00 08 */ lwz r0, 0x8(r6)
/* 800CE440 000CA280 2C 00 00 00 */ cmpwi r0, 0x0
/* 800CE444 000CA284 41 82 00 0C */ beq lbl_800CE450
/* 800CE448 000CA288 7C 06 02 14 */ add r0, r6, r0
/* 800CE44C 000CA28C 48 00 00 08 */ b lbl_800CE454
.global lbl_800CE450
lbl_800CE450:
/* 800CE450 000CA290 38 00 00 00 */ li r0, 0x0
.global lbl_800CE454
lbl_800CE454:
/* 800CE454 000CA294 90 04 00 00 */ stw r0, 0x0(r4)
.global lbl_800CE458
lbl_800CE458:
/* 800CE458 000CA298 2C 05 00 00 */ cmpwi r5, 0x0
/* 800CE45C 000CA29C 4D 82 00 20 */ beqlr
/* 800CE460 000CA2A0 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800CE464 000CA2A4 88 03 00 1D */ lbz r0, 0x1d(r3)
/* 800CE468 000CA2A8 98 05 00 00 */ stb r0, 0x0(r5)
/* 800CE46C 000CA2AC 4E 80 00 20 */ blr
.global CopyTo__Q34nw4r3g3d9ResVtxPosCFPv
CopyTo__Q34nw4r3g3d9ResVtxPosCFPv:
/* 800CE470 000CA2B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800CE474 000CA2B4 7C 08 02 A6 */ mflr r0
/* 800CE478 000CA2B8 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 800CE47C 000CA2BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800CE480 000CA2C0 2C 05 00 00 */ cmpwi r5, 0x0
/* 800CE484 000CA2C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800CE488 000CA2C8 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800CE48C 000CA2CC 7C 9E 23 78 */ mr r30, r4
/* 800CE490 000CA2D0 41 82 00 24 */ beq lbl_800CE4B4
/* 800CE494 000CA2D4 83 E5 00 00 */ lwz r31, 0x0(r5)
/* 800CE498 000CA2D8 7C A4 2B 78 */ mr r4, r5
/* 800CE49C 000CA2DC 7F C3 F3 78 */ mr r3, r30
/* 800CE4A0 000CA2E0 7F E5 FB 78 */ mr r5, r31
/* 800CE4A4 000CA2E4 48 00 E3 2D */ bl Copy32ByteBlocks__Q34nw4r3g3d6detailFPvPCvUl
/* 800CE4A8 000CA2E8 7F C3 F3 78 */ mr r3, r30
/* 800CE4AC 000CA2EC 7F E4 FB 78 */ mr r4, r31
/* 800CE4B0 000CA2F0 4B F4 E5 01 */ bl DCStoreRange
.global lbl_800CE4B4
lbl_800CE4B4:
/* 800CE4B4 000CA2F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800CE4B8 000CA2F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800CE4BC 000CA2FC 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800CE4C0 000CA300 7C 08 03 A6 */ mtlr r0
/* 800CE4C4 000CA304 38 21 00 10 */ addi r1, r1, 0x10
/* 800CE4C8 000CA308 4E 80 00 20 */ blr
/* 800CE4CC 000CA30C 00 00 00 00 */ .4byte 0x00000000
.global SetArray__Q34nw4r3g3d9ResVtxNrmFv
SetArray__Q34nw4r3g3d9ResVtxNrmFv:
/* 800CE4D0 000CA310 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 800CE4D4 000CA314 2C 05 00 00 */ cmpwi r5, 0x0
/* 800CE4D8 000CA318 4D 82 00 20 */ beqlr
/* 800CE4DC 000CA31C 80 05 00 08 */ lwz r0, 0x8(r5)
/* 800CE4E0 000CA320 38 60 00 0A */ li r3, 0xa
/* 800CE4E4 000CA324 2C 00 00 00 */ cmpwi r0, 0x0
/* 800CE4E8 000CA328 41 82 00 0C */ beq lbl_800CE4F4
/* 800CE4EC 000CA32C 7C 85 02 14 */ add r4, r5, r0
/* 800CE4F0 000CA330 48 00 00 08 */ b lbl_800CE4F8
.global lbl_800CE4F4
lbl_800CE4F4:
/* 800CE4F4 000CA334 38 80 00 00 */ li r4, 0x0
.global lbl_800CE4F8
lbl_800CE4F8:
/* 800CE4F8 000CA338 88 A5 00 1D */ lbz r5, 0x1d(r5)
/* 800CE4FC 000CA33C 4B F6 5F 44 */ b GXSetArray
/* 800CE500 000CA340 4E 80 00 20 */ blr
/* 800CE504 000CA344 00 00 00 00 */ .4byte 0x00000000
/* 800CE508 000CA348 00 00 00 00 */ .4byte 0x00000000
/* 800CE50C 000CA34C 00 00 00 00 */ .4byte 0x00000000
.global SetArray__Q34nw4r3g3d9ResVtxClrF7_GXAttr
SetArray__Q34nw4r3g3d9ResVtxClrF7_GXAttr:
/* 800CE510 000CA350 80 A3 00 00 */ lwz r5, 0x0(r3)
/* 800CE514 000CA354 2C 05 00 00 */ cmpwi r5, 0x0
/* 800CE518 000CA358 4D 82 00 20 */ beqlr
/* 800CE51C 000CA35C 38 04 FF F5 */ addi r0, r4, -0xb
/* 800CE520 000CA360 28 00 00 01 */ cmplwi r0, 0x1
/* 800CE524 000CA364 4D 81 00 20 */ bgtlr
/* 800CE528 000CA368 80 05 00 08 */ lwz r0, 0x8(r5)
/* 800CE52C 000CA36C 7C 83 23 78 */ mr r3, r4
/* 800CE530 000CA370 2C 00 00 00 */ cmpwi r0, 0x0
/* 800CE534 000CA374 41 82 00 0C */ beq lbl_800CE540
/* 800CE538 000CA378 7C 85 02 14 */ add r4, r5, r0
/* 800CE53C 000CA37C 48 00 00 08 */ b lbl_800CE544
.global lbl_800CE540
lbl_800CE540:
/* 800CE540 000CA380 38 80 00 00 */ li r4, 0x0
.global lbl_800CE544
lbl_800CE544:
/* 800CE544 000CA384 88 A5 00 1C */ lbz r5, 0x1c(r5)
/* 800CE548 000CA388 4B F6 5E F8 */ b GXSetArray
/* 800CE54C 000CA38C 4E 80 00 20 */ blr
.global GetArray__Q34nw4r3g3d9ResVtxClrCFPPCvPUc
GetArray__Q34nw4r3g3d9ResVtxClrCFPPCvPUc:
/* 800CE550 000CA390 2C 04 00 00 */ cmpwi r4, 0x0
/* 800CE554 000CA394 41 82 00 24 */ beq lbl_800CE578
/* 800CE558 000CA398 80 C3 00 00 */ lwz r6, 0x0(r3)
/* 800CE55C 000CA39C 80 06 00 08 */ lwz r0, 0x8(r6)
/* 800CE560 000CA3A0 2C 00 00 00 */ cmpwi r0, 0x0
/* 800CE564 000CA3A4 41 82 00 0C */ beq lbl_800CE570
/* 800CE568 000CA3A8 7C 06 02 14 */ add r0, r6, r0
/* 800CE56C 000CA3AC 48 00 00 08 */ b lbl_800CE574
.global lbl_800CE570
lbl_800CE570:
/* 800CE570 000CA3B0 38 00 00 00 */ li r0, 0x0
.global lbl_800CE574
lbl_800CE574:
/* 800CE574 000CA3B4 90 04 00 00 */ stw r0, 0x0(r4)
.global lbl_800CE578
lbl_800CE578:
/* 800CE578 000CA3B8 2C 05 00 00 */ cmpwi r5, 0x0
/* 800CE57C 000CA3BC 4D 82 00 20 */ beqlr
/* 800CE580 000CA3C0 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800CE584 000CA3C4 88 03 00 1C */ lbz r0, 0x1c(r3)
/* 800CE588 000CA3C8 98 05 00 00 */ stb r0, 0x0(r5)
/* 800CE58C 000CA3CC 4E 80 00 20 */ blr
.global SetArray__Q34nw4r3g3d12ResVtxFurPosFUs
SetArray__Q34nw4r3g3d12ResVtxFurPosFUs:
/* 800CE590 000CA3D0 80 C3 00 00 */ lwz r6, 0x0(r3)
/* 800CE594 000CA3D4 2C 06 00 00 */ cmpwi r6, 0x0
/* 800CE598 000CA3D8 4D 82 00 20 */ beqlr
/* 800CE59C 000CA3DC 80 E6 00 08 */ lwz r7, 0x8(r6)
/* 800CE5A0 000CA3E0 38 60 00 00 */ li r3, 0x0
/* 800CE5A4 000CA3E4 38 A0 00 00 */ li r5, 0x0
/* 800CE5A8 000CA3E8 2C 07 00 00 */ cmpwi r7, 0x0
/* 800CE5AC 000CA3EC 41 82 00 14 */ beq lbl_800CE5C0
/* 800CE5B0 000CA3F0 80 06 00 20 */ lwz r0, 0x20(r6)
/* 800CE5B4 000CA3F4 7C 04 00 00 */ cmpw r4, r0
/* 800CE5B8 000CA3F8 40 80 00 08 */ bge lbl_800CE5C0
/* 800CE5BC 000CA3FC 38 A0 00 01 */ li r5, 0x1
.global lbl_800CE5C0
lbl_800CE5C0:
/* 800CE5C0 000CA400 2C 05 00 00 */ cmpwi r5, 0x0
/* 800CE5C4 000CA404 41 82 00 10 */ beq lbl_800CE5D4
/* 800CE5C8 000CA408 2C 04 00 00 */ cmpwi r4, 0x0
/* 800CE5CC 000CA40C 41 80 00 08 */ blt lbl_800CE5D4
/* 800CE5D0 000CA410 38 60 00 01 */ li r3, 0x1
.global lbl_800CE5D4
lbl_800CE5D4:
/* 800CE5D4 000CA414 2C 03 00 00 */ cmpwi r3, 0x0
/* 800CE5D8 000CA418 38 60 00 09 */ li r3, 0x9
/* 800CE5DC 000CA41C 41 82 00 18 */ beq lbl_800CE5F4
/* 800CE5E0 000CA420 80 A6 00 24 */ lwz r5, 0x24(r6)
/* 800CE5E4 000CA424 7C 06 3A 14 */ add r0, r6, r7
/* 800CE5E8 000CA428 7C 84 29 D6 */ mullw r4, r4, r5
/* 800CE5EC 000CA42C 7C 84 02 14 */ add r4, r4, r0
/* 800CE5F0 000CA430 48 00 00 08 */ b lbl_800CE5F8
.global lbl_800CE5F4
lbl_800CE5F4:
/* 800CE5F4 000CA434 38 80 00 00 */ li r4, 0x0
.global lbl_800CE5F8
lbl_800CE5F8:
/* 800CE5F8 000CA438 88 A6 00 1D */ lbz r5, 0x1d(r6)
/* 800CE5FC 000CA43C 4B F6 5E 44 */ b GXSetArray
/* 800CE600 000CA440 4E 80 00 20 */ blr
/* 800CE604 000CA444 00 00 00 00 */ .4byte 0x00000000
/* 800CE608 000CA448 00 00 00 00 */ .4byte 0x00000000
/* 800CE60C 000CA44C 00 00 00 00 */ .4byte 0x00000000