prime/asm/WorldFormat/CPVSVisAreaSet.s

219 lines
10 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
2022-07-14 05:36:41 +00:00
.section .text, "ax"
2022-07-18 05:20:04 +00:00
# may be i instead of Ui?
.global GetEntityIdByIndex__11CPVSAreaSetCFUi
GetEntityIdByIndex__11CPVSAreaSetCFUi:
/* 802AE3E4 002AB344 80 63 00 18 */ lwz r3, 0x18(r3)
/* 802AE3E8 002AB348 54 80 10 3A */ slwi r0, r4, 2
/* 802AE3EC 002AB34C 7C 63 00 2E */ lwzx r3, r3, r0
2022-07-14 05:48:03 +00:00
/* 802AE3F0 002AB350 4E 80 00 20 */ blr
.global GetLightSet__11CPVSAreaSetCFi
GetLightSet__11CPVSAreaSetCFi:
/* 802AE3F4 002AB354 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802AE3F8 002AB358 7C 08 02 A6 */ mflr r0
/* 802AE3FC 002AB35C 7C 89 23 78 */ mr r9, r4
/* 802AE400 002AB360 90 01 00 24 */ stw r0, 0x24(r1)
/* 802AE404 002AB364 38 00 00 00 */ li r0, 0
/* 802AE408 002AB368 38 C1 00 08 */ addi r6, r1, 8
/* 802AE40C 002AB36C 80 84 00 10 */ lwz r4, 0x10(r4)
/* 802AE410 002AB370 81 09 00 1C */ lwz r8, 0x1c(r9)
/* 802AE414 002AB374 7C E4 29 D6 */ mullw r7, r4, r5
/* 802AE418 002AB378 98 01 00 08 */ stb r0, 8(r1)
/* 802AE41C 002AB37C 80 89 00 38 */ lwz r4, 0x38(r9)
/* 802AE420 002AB380 80 A9 00 3C */ lwz r5, 0x3c(r9)
/* 802AE424 002AB384 7D 08 3A 14 */ add r8, r8, r7
/* 802AE428 002AB388 7C E8 00 D0 */ neg r7, r8
/* 802AE42C 002AB38C 91 01 00 14 */ stw r8, 0x14(r1)
/* 802AE430 002AB390 7C E7 43 78 */ or r7, r7, r8
/* 802AE434 002AB394 54 E7 0F FE */ srwi r7, r7, 0x1f
/* 802AE438 002AB398 91 01 00 0C */ stw r8, 0xc(r1)
/* 802AE43C 002AB39C 98 E1 00 10 */ stb r7, 0x10(r1)
/* 802AE440 002AB3A0 98 01 00 10 */ stb r0, 0x10(r1)
/* 802AE444 002AB3A4 98 01 00 10 */ stb r0, 0x10(r1)
/* 802AE448 002AB3A8 48 06 7F 55 */ bl SetFromMemory__10CPVSVisSetFiiPCc
/* 802AE44C 002AB3AC 88 01 00 08 */ lbz r0, 8(r1)
/* 802AE450 002AB3B0 28 00 00 00 */ cmplwi r0, 0
/* 802AE454 002AB3B4 41 82 00 0C */ beq lbl_802AE460
/* 802AE458 002AB3B8 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802AE45C 002AB3BC 48 06 74 D5 */ bl Free__7CMemoryFPCv
lbl_802AE460:
/* 802AE460 002AB3C0 88 01 00 10 */ lbz r0, 0x10(r1)
/* 802AE464 002AB3C4 28 00 00 00 */ cmplwi r0, 0
/* 802AE468 002AB3C8 41 82 00 0C */ beq lbl_802AE474
/* 802AE46C 002AB3CC 80 61 00 14 */ lwz r3, 0x14(r1)
/* 802AE470 002AB3D0 48 06 74 C1 */ bl Free__7CMemoryFPCv
lbl_802AE474:
/* 802AE474 002AB3D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802AE478 002AB3D8 7C 08 03 A6 */ mtlr r0
/* 802AE47C 002AB3DC 38 21 00 20 */ addi r1, r1, 0x20
2022-07-14 05:48:03 +00:00
/* 802AE480 002AB3E0 4E 80 00 20 */ blr
2022-07-18 05:20:04 +00:00
.global GetVisOctree__11CPVSAreaSetCFUi
GetVisOctree__11CPVSAreaSetCFUi:
/* 802AE484 002AB3E4 38 63 00 20 */ addi r3, r3, 0x20
2022-07-14 05:48:03 +00:00
/* 802AE488 002AB3E8 4E 80 00 20 */ blr
.global __ct__11CPVSAreaSetFPCci
__ct__11CPVSAreaSetFPCci:
/* 802AE48C 002AB3EC 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802AE490 002AB3F0 7C 08 02 A6 */ mflr r0
/* 802AE494 002AB3F4 90 01 00 64 */ stw r0, 0x64(r1)
/* 802AE498 002AB3F8 BE C1 00 38 */ stmw r22, 0x38(r1)
/* 802AE49C 002AB3FC 7C 7B 1B 78 */ mr r27, r3
/* 802AE4A0 002AB400 7C 9C 23 78 */ mr r28, r4
/* 802AE4A4 002AB404 38 61 00 10 */ addi r3, r1, 0x10
/* 802AE4A8 002AB408 48 09 0D 25 */ bl __ct__15CMemoryInStreamFPCvUl
/* 802AE4AC 002AB40C 38 61 00 10 */ addi r3, r1, 0x10
/* 802AE4B0 002AB410 48 09 07 D5 */ bl ReadLong__12CInputStreamFv
/* 802AE4B4 002AB414 7C 60 1B 78 */ mr r0, r3
/* 802AE4B8 002AB418 38 61 00 10 */ addi r3, r1, 0x10
/* 802AE4BC 002AB41C 7C 1F 03 78 */ mr r31, r0
/* 802AE4C0 002AB420 48 09 07 C5 */ bl ReadLong__12CInputStreamFv
/* 802AE4C4 002AB424 7C 60 1B 78 */ mr r0, r3
/* 802AE4C8 002AB428 38 61 00 10 */ addi r3, r1, 0x10
/* 802AE4CC 002AB42C 7C 1E 03 78 */ mr r30, r0
/* 802AE4D0 002AB430 48 09 07 B5 */ bl ReadLong__12CInputStreamFv
/* 802AE4D4 002AB434 7C 60 1B 78 */ mr r0, r3
/* 802AE4D8 002AB438 38 61 00 10 */ addi r3, r1, 0x10
/* 802AE4DC 002AB43C 7C 1D 03 78 */ mr r29, r0
/* 802AE4E0 002AB440 48 09 07 A5 */ bl ReadLong__12CInputStreamFv
/* 802AE4E4 002AB444 7C 60 1B 78 */ mr r0, r3
/* 802AE4E8 002AB448 38 61 00 10 */ addi r3, r1, 0x10
/* 802AE4EC 002AB44C 7C 1A 03 78 */ mr r26, r0
/* 802AE4F0 002AB450 48 09 07 95 */ bl ReadLong__12CInputStreamFv
/* 802AE4F4 002AB454 7C 60 1B 78 */ mr r0, r3
/* 802AE4F8 002AB458 38 61 00 10 */ addi r3, r1, 0x10
/* 802AE4FC 002AB45C 7C 19 03 78 */ mr r25, r0
/* 802AE500 002AB460 48 09 07 85 */ bl ReadLong__12CInputStreamFv
/* 802AE504 002AB464 80 01 00 28 */ lwz r0, 0x28(r1)
/* 802AE508 002AB468 7C 78 1B 78 */ mr r24, r3
/* 802AE50C 002AB46C 3C 80 80 3D */ lis r4, lbl_803D6110@ha
/* 802AE510 002AB470 57 43 10 3A */ slwi r3, r26, 2
/* 802AE514 002AB474 7F 9C 02 14 */ add r28, r28, r0
/* 802AE518 002AB478 38 A0 00 00 */ li r5, 0
/* 802AE51C 002AB47C 7C 18 C9 D6 */ mullw r0, r24, r25
/* 802AE520 002AB480 38 84 61 10 */ addi r4, r4, lbl_803D6110@l
/* 802AE524 002AB484 7E FC 1A 14 */ add r23, r28, r3
/* 802AE528 002AB488 38 60 00 64 */ li r3, 0x64
/* 802AE52C 002AB48C 7E D7 02 14 */ add r22, r23, r0
/* 802AE530 002AB490 48 06 73 3D */ bl __nw__FUlPCcPCc
/* 802AE534 002AB494 7C 66 1B 79 */ or. r6, r3, r3
/* 802AE538 002AB498 41 82 00 30 */ beq lbl_802AE568
/* 802AE53C 002AB49C 92 E1 00 08 */ stw r23, 8(r1)
/* 802AE540 002AB4A0 7F E4 FB 78 */ mr r4, r31
/* 802AE544 002AB4A4 7F C5 F3 78 */ mr r5, r30
/* 802AE548 002AB4A8 7F A6 EB 78 */ mr r6, r29
/* 802AE54C 002AB4AC 92 C1 00 0C */ stw r22, 0xc(r1)
/* 802AE550 002AB4B0 7F 47 D3 78 */ mr r7, r26
/* 802AE554 002AB4B4 7F 28 CB 78 */ mr r8, r25
/* 802AE558 002AB4B8 7F 09 C3 78 */ mr r9, r24
/* 802AE55C 002AB4BC 7F 8A E3 78 */ mr r10, r28
/* 802AE560 002AB4C0 48 00 00 49 */ bl __ct__Q211CPVSAreaSet14CPVSAreaHolderFiiiiiiii
/* 802AE564 002AB4C4 7C 66 1B 78 */ mr r6, r3
lbl_802AE568:
/* 802AE568 002AB4C8 7C 06 00 D0 */ neg r0, r6
/* 802AE56C 002AB4CC 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha
/* 802AE570 002AB4D0 7C 00 33 78 */ or r0, r0, r6
/* 802AE574 002AB4D4 38 61 00 10 */ addi r3, r1, 0x10
/* 802AE578 002AB4D8 54 05 0F FE */ srwi r5, r0, 0x1f
/* 802AE57C 002AB4DC 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l
/* 802AE580 002AB4E0 98 BB 00 00 */ stb r5, 0(r27)
/* 802AE584 002AB4E4 38 80 00 00 */ li r4, 0
/* 802AE588 002AB4E8 90 DB 00 04 */ stw r6, 4(r27)
/* 802AE58C 002AB4EC 90 01 00 10 */ stw r0, 0x10(r1)
/* 802AE590 002AB4F0 48 09 0B 1D */ bl __dt__12CInputStreamFv
/* 802AE594 002AB4F4 BA C1 00 38 */ lmw r22, 0x38(r1)
/* 802AE598 002AB4F8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802AE59C 002AB4FC 7C 08 03 A6 */ mtlr r0
/* 802AE5A0 002AB500 38 21 00 60 */ addi r1, r1, 0x60
2022-07-14 05:48:03 +00:00
/* 802AE5A4 002AB504 4E 80 00 20 */ blr
.global __ct__Q211CPVSAreaSet14CPVSAreaHolderFiiiiiiii
__ct__Q211CPVSAreaSet14CPVSAreaHolderFiiiiiiii:
/* 802AE5A8 002AB508 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802AE5AC 002AB50C 7C 08 02 A6 */ mflr r0
/* 802AE5B0 002AB510 90 01 00 64 */ stw r0, 0x64(r1)
/* 802AE5B4 002AB514 80 01 00 68 */ lwz r0, 0x68(r1)
/* 802AE5B8 002AB518 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 802AE5BC 002AB51C 7C 7F 1B 78 */ mr r31, r3
/* 802AE5C0 002AB520 90 83 00 00 */ stw r4, 0(r3)
/* 802AE5C4 002AB524 38 61 00 08 */ addi r3, r1, 8
/* 802AE5C8 002AB528 80 81 00 6C */ lwz r4, 0x6c(r1)
/* 802AE5CC 002AB52C 90 BF 00 04 */ stw r5, 4(r31)
/* 802AE5D0 002AB530 38 A0 00 44 */ li r5, 0x44
/* 802AE5D4 002AB534 90 DF 00 08 */ stw r6, 8(r31)
/* 802AE5D8 002AB538 90 FF 00 0C */ stw r7, 0xc(r31)
/* 802AE5DC 002AB53C 91 1F 00 10 */ stw r8, 0x10(r31)
/* 802AE5E0 002AB540 91 3F 00 14 */ stw r9, 0x14(r31)
/* 802AE5E4 002AB544 91 5F 00 18 */ stw r10, 0x18(r31)
/* 802AE5E8 002AB548 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 802AE5EC 002AB54C 48 06 7B B9 */ bl MakePVSVisOctree__13CPVSVisOctreeFPCci
/* 802AE5F0 002AB550 38 7F 00 20 */ addi r3, r31, 0x20
/* 802AE5F4 002AB554 38 81 00 08 */ addi r4, r1, 8
/* 802AE5F8 002AB558 48 00 00 39 */ bl sub_802ae630
/* 802AE5FC 002AB55C 34 61 00 28 */ addic. r3, r1, 0x28
/* 802AE600 002AB560 41 82 00 18 */ beq lbl_802AE618
/* 802AE604 002AB564 88 03 00 00 */ lbz r0, 0(r3)
/* 802AE608 002AB568 28 00 00 00 */ cmplwi r0, 0
/* 802AE60C 002AB56C 41 82 00 0C */ beq lbl_802AE618
/* 802AE610 002AB570 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 802AE614 002AB574 48 06 73 1D */ bl Free__7CMemoryFPCv
lbl_802AE618:
/* 802AE618 002AB578 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802AE61C 002AB57C 7F E3 FB 78 */ mr r3, r31
/* 802AE620 002AB580 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 802AE624 002AB584 7C 08 03 A6 */ mtlr r0
/* 802AE628 002AB588 38 21 00 60 */ addi r1, r1, 0x60
2022-07-14 05:48:03 +00:00
/* 802AE62C 002AB58C 4E 80 00 20 */ blr
.global sub_802ae630
sub_802ae630:
/* 802AE630 002AB590 C0 04 00 00 */ lfs f0, 0(r4)
/* 802AE634 002AB594 38 00 00 00 */ li r0, 0
/* 802AE638 002AB598 D0 03 00 00 */ stfs f0, 0(r3)
/* 802AE63C 002AB59C C0 04 00 04 */ lfs f0, 4(r4)
/* 802AE640 002AB5A0 D0 03 00 04 */ stfs f0, 4(r3)
/* 802AE644 002AB5A4 C0 04 00 08 */ lfs f0, 8(r4)
/* 802AE648 002AB5A8 D0 03 00 08 */ stfs f0, 8(r3)
/* 802AE64C 002AB5AC C0 04 00 0C */ lfs f0, 0xc(r4)
/* 802AE650 002AB5B0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AE654 002AB5B4 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 802AE658 002AB5B8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AE65C 002AB5BC C0 04 00 14 */ lfs f0, 0x14(r4)
/* 802AE660 002AB5C0 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802AE664 002AB5C4 80 A4 00 18 */ lwz r5, 0x18(r4)
/* 802AE668 002AB5C8 90 A3 00 18 */ stw r5, 0x18(r3)
/* 802AE66C 002AB5CC 80 A4 00 1C */ lwz r5, 0x1c(r4)
/* 802AE670 002AB5D0 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 802AE674 002AB5D4 88 A4 00 20 */ lbz r5, 0x20(r4)
/* 802AE678 002AB5D8 98 A3 00 20 */ stb r5, 0x20(r3)
/* 802AE67C 002AB5DC 80 A4 00 24 */ lwz r5, 0x24(r4)
/* 802AE680 002AB5E0 90 A3 00 24 */ stw r5, 0x24(r3)
/* 802AE684 002AB5E4 98 04 00 20 */ stb r0, 0x20(r4)
/* 802AE688 002AB5E8 80 04 00 28 */ lwz r0, 0x28(r4)
/* 802AE68C 002AB5EC 90 03 00 28 */ stw r0, 0x28(r3)
/* 802AE690 002AB5F0 C0 04 00 2C */ lfs f0, 0x2c(r4)
/* 802AE694 002AB5F4 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802AE698 002AB5F8 C0 04 00 30 */ lfs f0, 0x30(r4)
/* 802AE69C 002AB5FC D0 03 00 30 */ stfs f0, 0x30(r3)
/* 802AE6A0 002AB600 C0 04 00 34 */ lfs f0, 0x34(r4)
/* 802AE6A4 002AB604 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 802AE6A8 002AB608 C0 04 00 38 */ lfs f0, 0x38(r4)
/* 802AE6AC 002AB60C D0 03 00 38 */ stfs f0, 0x38(r3)
/* 802AE6B0 002AB610 C0 04 00 3C */ lfs f0, 0x3c(r4)
/* 802AE6B4 002AB614 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 802AE6B8 002AB618 C0 04 00 40 */ lfs f0, 0x40(r4)
/* 802AE6BC 002AB61C D0 03 00 40 */ stfs f0, 0x40(r3)
/* 802AE6C0 002AB620 4E 80 00 20 */ blr
2022-07-18 05:21:27 +00:00
.section .rodata
.global lbl_803D6110
lbl_803D6110:
# ROM: 0x3D3110
.asciz "??(??)"
.balign 4