mirror of https://github.com/PrimeDecomp/prime.git
Begin CGX/CCubeMaterial; add dolphin headers from aurora
This commit is contained in:
parent
bef7db1748
commit
b28e24862b
3
Makefile
3
Makefile
|
@ -111,7 +111,8 @@ ifeq ($(VERBOSE),0)
|
||||||
# this set of LDFLAGS generates no warnings.
|
# this set of LDFLAGS generates no warnings.
|
||||||
LDFLAGS := $(MAPGEN) -fp fmadd -nodefaults -w off
|
LDFLAGS := $(MAPGEN) -fp fmadd -nodefaults -w off
|
||||||
endif
|
endif
|
||||||
CFLAGS_BASE = -proc gekko -nodefaults -Cpp_exceptions off -RTTI off -fp hard -fp_contract on -O4,p -maxerrors 1 -enum int -inline auto -str reuse -nosyspath -MMD $(INCLUDES)
|
DEFINES = -DPRIME1 -DVERSION=$(VERSION_NUM)
|
||||||
|
CFLAGS_BASE = -proc gekko -nodefaults -Cpp_exceptions off -RTTI off -fp hard -fp_contract on -O4,p -maxerrors 1 -enum int -inline auto -str reuse -nosyspath -MMD $(DEFINES) $(INCLUDES)
|
||||||
CFLAGS = $(CFLAGS_BASE) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,noauto -common on
|
CFLAGS = $(CFLAGS_BASE) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,noauto -common on
|
||||||
CFLAGS_RUNTIME = $(CFLAGS_BASE) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,auto
|
CFLAGS_RUNTIME = $(CFLAGS_BASE) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,auto
|
||||||
CFLAGS_MUSYX = $(CFLAGS_BASE) -str reuse,pool,readonly
|
CFLAGS_MUSYX = $(CFLAGS_BASE) -str reuse,pool,readonly
|
||||||
|
|
|
@ -717,10 +717,10 @@ lbl_80345FFC:
|
||||||
/* 80346004 00342F64 92 A1 00 38 */ stw r21, 0x38(r1)
|
/* 80346004 00342F64 92 A1 00 38 */ stw r21, 0x38(r1)
|
||||||
/* 80346008 00342F68 41 82 00 7C */ beq lbl_80346084
|
/* 80346008 00342F68 41 82 00 7C */ beq lbl_80346084
|
||||||
/* 8034600C 00342F6C 82 C1 00 3C */ lwz r22, 0x3c(r1)
|
/* 8034600C 00342F6C 82 C1 00 3C */ lwz r22, 0x3c(r1)
|
||||||
/* 80346010 00342F70 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346010 00342F70 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346014 00342F74 3A 40 00 00 */ li r18, 0
|
/* 80346014 00342F74 3A 40 00 00 */ li r18, 0
|
||||||
/* 80346018 00342F78 80 16 00 00 */ lwz r0, 0(r22)
|
/* 80346018 00342F78 80 16 00 00 */ lwz r0, 0(r22)
|
||||||
/* 8034601C 00342F7C 3A 83 53 EC */ addi r20, r3, lbl_805A53EC@l
|
/* 8034601C 00342F7C 3A 83 53 EC */ addi r20, r3, sGXState__3CGX@l
|
||||||
/* 80346020 00342F80 90 01 00 38 */ stw r0, 0x38(r1)
|
/* 80346020 00342F80 90 01 00 38 */ stw r0, 0x38(r1)
|
||||||
/* 80346024 00342F84 48 00 00 40 */ b lbl_80346064
|
/* 80346024 00342F84 48 00 00 40 */ b lbl_80346064
|
||||||
lbl_80346028:
|
lbl_80346028:
|
||||||
|
@ -756,8 +756,8 @@ lbl_80346084:
|
||||||
/* 80346090 00342FF0 83 64 00 00 */ lwz r27, 0(r4)
|
/* 80346090 00342FF0 83 64 00 00 */ lwz r27, 0(r4)
|
||||||
/* 80346094 00342FF4 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
|
/* 80346094 00342FF4 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
|
||||||
/* 80346098 00342FF8 41 82 00 40 */ beq lbl_803460D8
|
/* 80346098 00342FF8 41 82 00 40 */ beq lbl_803460D8
|
||||||
/* 8034609C 00342FFC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8034609C 00342FFC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803460A0 00343000 3A 43 53 EC */ addi r18, r3, lbl_805A53EC@l
|
/* 803460A0 00343000 3A 43 53 EC */ addi r18, r3, sGXState__3CGX@l
|
||||||
/* 803460A4 00343004 A0 12 00 56 */ lhz r0, 0x56(r18)
|
/* 803460A4 00343004 A0 12 00 56 */ lhz r0, 0x56(r18)
|
||||||
/* 803460A8 00343008 28 00 00 25 */ cmplwi r0, 0x25
|
/* 803460A8 00343008 28 00 00 25 */ cmplwi r0, 0x25
|
||||||
/* 803460AC 0034300C 41 82 00 3C */ beq lbl_803460E8
|
/* 803460AC 0034300C 41 82 00 3C */ beq lbl_803460E8
|
||||||
|
@ -905,11 +905,11 @@ lbl_8034629C:
|
||||||
/* 803462B8 00343218 41 81 00 08 */ bgt lbl_803462C0
|
/* 803462B8 00343218 41 81 00 08 */ bgt lbl_803462C0
|
||||||
/* 803462BC 0034321C 7E BC AB 78 */ mr r28, r21
|
/* 803462BC 0034321C 7E BC AB 78 */ mr r28, r21
|
||||||
lbl_803462C0:
|
lbl_803462C0:
|
||||||
/* 803462C0 00343220 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803462C0 00343220 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803462C4 00343224 82 C1 00 10 */ lwz r22, 0x10(r1)
|
/* 803462C4 00343224 82 C1 00 10 */ lwz r22, 0x10(r1)
|
||||||
/* 803462C8 00343228 3A 80 00 00 */ li r20, 0
|
/* 803462C8 00343228 3A 80 00 00 */ li r20, 0
|
||||||
/* 803462CC 0034322C 3A 60 00 00 */ li r19, 0
|
/* 803462CC 0034322C 3A 60 00 00 */ li r19, 0
|
||||||
/* 803462D0 00343230 3A 43 53 EC */ addi r18, r3, lbl_805A53EC@l
|
/* 803462D0 00343230 3A 43 53 EC */ addi r18, r3, sGXState__3CGX@l
|
||||||
/* 803462D4 00343234 48 00 00 50 */ b lbl_80346324
|
/* 803462D4 00343234 48 00 00 50 */ b lbl_80346324
|
||||||
lbl_803462D8:
|
lbl_803462D8:
|
||||||
/* 803462D8 00343238 7C 72 9A 14 */ add r3, r18, r19
|
/* 803462D8 00343238 7C 72 9A 14 */ add r3, r18, r19
|
||||||
|
@ -942,11 +942,11 @@ lbl_80346324:
|
||||||
/* 8034633C 0034329C 90 01 00 10 */ stw r0, 0x10(r1)
|
/* 8034633C 0034329C 90 01 00 10 */ stw r0, 0x10(r1)
|
||||||
/* 80346340 003432A0 48 00 00 84 */ b lbl_803463C4
|
/* 80346340 003432A0 48 00 00 84 */ b lbl_803463C4
|
||||||
lbl_80346344:
|
lbl_80346344:
|
||||||
/* 80346344 003432A4 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346344 003432A4 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346348 003432A8 83 93 00 00 */ lwz r28, 0(r19)
|
/* 80346348 003432A8 83 93 00 00 */ lwz r28, 0(r19)
|
||||||
/* 8034634C 003432AC 3A 80 00 00 */ li r20, 0
|
/* 8034634C 003432AC 3A 80 00 00 */ li r20, 0
|
||||||
/* 80346350 003432B0 3A A0 00 00 */ li r21, 0
|
/* 80346350 003432B0 3A A0 00 00 */ li r21, 0
|
||||||
/* 80346354 003432B4 3A 43 53 EC */ addi r18, r3, lbl_805A53EC@l
|
/* 80346354 003432B4 3A 43 53 EC */ addi r18, r3, sGXState__3CGX@l
|
||||||
/* 80346358 003432B8 48 00 00 50 */ b lbl_803463A8
|
/* 80346358 003432B8 48 00 00 50 */ b lbl_803463A8
|
||||||
lbl_8034635C:
|
lbl_8034635C:
|
||||||
/* 8034635C 003432BC 7C 72 AA 14 */ add r3, r18, r21
|
/* 8034635C 003432BC 7C 72 AA 14 */ add r3, r18, r21
|
||||||
|
@ -1077,18 +1077,18 @@ lbl_80346510:
|
||||||
/* 80346524 00343484 48 00 0D 01 */ bl DoModelShadow__FUiUi
|
/* 80346524 00343484 48 00 0D 01 */ bl DoModelShadow__FUiUi
|
||||||
/* 80346528 00343488 3B 9C 00 01 */ addi r28, r28, 1
|
/* 80346528 00343488 3B 9C 00 01 */ addi r28, r28, 1
|
||||||
lbl_8034652C:
|
lbl_8034652C:
|
||||||
/* 8034652C 0034348C 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 8034652C 0034348C 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80346530 00343490 57 A3 06 3E */ clrlwi r3, r29, 0x18
|
/* 80346530 00343490 57 A3 06 3E */ clrlwi r3, r29, 0x18
|
||||||
/* 80346534 00343494 38 84 53 EC */ addi r4, r4, lbl_805A53EC@l
|
/* 80346534 00343494 38 84 53 EC */ addi r4, r4, sGXState__3CGX@l
|
||||||
/* 80346538 00343498 88 04 00 51 */ lbz r0, 0x51(r4)
|
/* 80346538 00343498 88 04 00 51 */ lbz r0, 0x51(r4)
|
||||||
/* 8034653C 0034349C 7C 00 18 40 */ cmplw r0, r3
|
/* 8034653C 0034349C 7C 00 18 40 */ cmplw r0, r3
|
||||||
/* 80346540 003434A0 41 82 00 0C */ beq lbl_8034654C
|
/* 80346540 003434A0 41 82 00 0C */ beq lbl_8034654C
|
||||||
/* 80346544 003434A4 9B A4 00 51 */ stb r29, 0x51(r4)
|
/* 80346544 003434A4 9B A4 00 51 */ stb r29, 0x51(r4)
|
||||||
/* 80346548 003434A8 48 03 4D 71 */ bl GXSetNumIndStages
|
/* 80346548 003434A8 48 03 4D 71 */ bl GXSetNumIndStages
|
||||||
lbl_8034654C:
|
lbl_8034654C:
|
||||||
/* 8034654C 003434AC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8034654C 003434AC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346550 003434B0 80 A1 00 34 */ lwz r5, 0x34(r1)
|
/* 80346550 003434B0 80 A1 00 34 */ lwz r5, 0x34(r1)
|
||||||
/* 80346554 003434B4 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 80346554 003434B4 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 80346558 003434B8 88 04 00 50 */ lbz r0, 0x50(r4)
|
/* 80346558 003434B8 88 04 00 50 */ lbz r0, 0x50(r4)
|
||||||
/* 8034655C 003434BC 54 A3 06 3E */ clrlwi r3, r5, 0x18
|
/* 8034655C 003434BC 54 A3 06 3E */ clrlwi r3, r5, 0x18
|
||||||
/* 80346560 003434C0 7C 00 18 40 */ cmplw r0, r3
|
/* 80346560 003434C0 7C 00 18 40 */ cmplw r0, r3
|
||||||
|
@ -1096,18 +1096,18 @@ lbl_8034654C:
|
||||||
/* 80346568 003434C8 98 64 00 50 */ stb r3, 0x50(r4)
|
/* 80346568 003434C8 98 64 00 50 */ stb r3, 0x50(r4)
|
||||||
/* 8034656C 003434CC 48 03 56 61 */ bl GXSetNumTevStages
|
/* 8034656C 003434CC 48 03 56 61 */ bl GXSetNumTevStages
|
||||||
lbl_80346570:
|
lbl_80346570:
|
||||||
/* 80346570 003434D0 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80346570 003434D0 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80346574 003434D4 57 83 06 3E */ clrlwi r3, r28, 0x18
|
/* 80346574 003434D4 57 83 06 3E */ clrlwi r3, r28, 0x18
|
||||||
/* 80346578 003434D8 38 84 53 EC */ addi r4, r4, lbl_805A53EC@l
|
/* 80346578 003434D8 38 84 53 EC */ addi r4, r4, sGXState__3CGX@l
|
||||||
/* 8034657C 003434DC 88 04 00 4F */ lbz r0, 0x4f(r4)
|
/* 8034657C 003434DC 88 04 00 4F */ lbz r0, 0x4f(r4)
|
||||||
/* 80346580 003434E0 7C 03 00 40 */ cmplw r3, r0
|
/* 80346580 003434E0 7C 03 00 40 */ cmplw r3, r0
|
||||||
/* 80346584 003434E4 41 82 00 0C */ beq lbl_80346590
|
/* 80346584 003434E4 41 82 00 0C */ beq lbl_80346590
|
||||||
/* 80346588 003434E8 9B 84 00 4F */ stb r28, 0x4f(r4)
|
/* 80346588 003434E8 9B 84 00 4F */ stb r28, 0x4f(r4)
|
||||||
/* 8034658C 003434EC 48 03 1C D9 */ bl GXSetNumTexGens
|
/* 8034658C 003434EC 48 03 1C D9 */ bl GXSetNumTexGens
|
||||||
lbl_80346590:
|
lbl_80346590:
|
||||||
/* 80346590 003434F0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346590 003434F0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346594 003434F4 57 06 06 3E */ clrlwi r6, r24, 0x18
|
/* 80346594 003434F4 57 06 06 3E */ clrlwi r6, r24, 0x18
|
||||||
/* 80346598 003434F8 38 A3 53 EC */ addi r5, r3, lbl_805A53EC@l
|
/* 80346598 003434F8 38 A3 53 EC */ addi r5, r3, sGXState__3CGX@l
|
||||||
/* 8034659C 003434FC 88 65 00 4D */ lbz r3, 0x4d(r5)
|
/* 8034659C 003434FC 88 65 00 4D */ lbz r3, 0x4d(r5)
|
||||||
/* 803465A0 00343500 88 05 00 4C */ lbz r0, 0x4c(r5)
|
/* 803465A0 00343500 88 05 00 4C */ lbz r0, 0x4c(r5)
|
||||||
/* 803465A4 00343504 7C 86 18 50 */ subf r4, r6, r3
|
/* 803465A4 00343504 7C 86 18 50 */ subf r4, r6, r3
|
||||||
|
@ -1127,9 +1127,9 @@ lbl_803465BC:
|
||||||
DoPassthru__FUi:
|
DoPassthru__FUi:
|
||||||
/* 803465D0 00343530 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 803465D0 00343530 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 803465D4 00343534 7C 08 02 A6 */ mflr r0
|
/* 803465D4 00343534 7C 08 02 A6 */ mflr r0
|
||||||
/* 803465D8 00343538 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 803465D8 00343538 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 803465DC 0034353C 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 803465DC 0034353C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 803465E0 00343540 38 04 53 EC */ addi r0, r4, lbl_805A53EC@l
|
/* 803465E0 00343540 38 04 53 EC */ addi r0, r4, sGXState__3CGX@l
|
||||||
/* 803465E4 00343544 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 803465E4 00343544 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 803465E8 00343548 93 C1 00 08 */ stw r30, 8(r1)
|
/* 803465E8 00343548 93 C1 00 08 */ stw r30, 8(r1)
|
||||||
/* 803465EC 0034354C 7C 7E 1B 78 */ mr r30, r3
|
/* 803465EC 0034354C 7C 7E 1B 78 */ mr r30, r3
|
||||||
|
@ -1227,10 +1227,10 @@ lbl_80346710:
|
||||||
/* 8034672C 0034368C 38 60 00 01 */ li r3, 1
|
/* 8034672C 0034368C 38 60 00 01 */ li r3, 1
|
||||||
lbl_80346730:
|
lbl_80346730:
|
||||||
/* 80346730 00343690 54 60 0D FC */ rlwinm r0, r3, 1, 0x17, 0x1e
|
/* 80346730 00343690 54 60 0D FC */ rlwinm r0, r3, 1, 0x17, 0x1e
|
||||||
/* 80346734 00343694 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346734 00343694 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346738 00343698 60 00 00 01 */ ori r0, r0, 1
|
/* 80346738 00343698 60 00 00 01 */ ori r0, r0, 1
|
||||||
/* 8034673C 0034369C 7C A5 03 78 */ or r5, r5, r0
|
/* 8034673C 0034369C 7C A5 03 78 */ or r5, r5, r0
|
||||||
/* 80346740 003436A0 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80346740 003436A0 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80346744 003436A4 88 03 00 52 */ lbz r0, 0x52(r3)
|
/* 80346744 003436A4 88 03 00 52 */ lbz r0, 0x52(r3)
|
||||||
/* 80346748 003436A8 54 A5 06 3E */ clrlwi r5, r5, 0x18
|
/* 80346748 003436A8 54 A5 06 3E */ clrlwi r5, r5, 0x18
|
||||||
/* 8034674C 003436AC 7C 05 00 40 */ cmplw r5, r0
|
/* 8034674C 003436AC 7C 05 00 40 */ cmplw r5, r0
|
||||||
|
@ -1267,9 +1267,9 @@ HandleColorChannels__FUiUi:
|
||||||
/* 803467B4 00343714 41 82 01 5C */ beq lbl_80346910
|
/* 803467B4 00343714 41 82 01 5C */ beq lbl_80346910
|
||||||
/* 803467B8 00343718 28 1E 00 00 */ cmplwi r30, 0
|
/* 803467B8 00343718 28 1E 00 00 */ cmplwi r30, 0
|
||||||
/* 803467BC 0034371C 41 82 01 4C */ beq lbl_80346908
|
/* 803467BC 0034371C 41 82 01 4C */ beq lbl_80346908
|
||||||
/* 803467C0 00343720 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803467C0 00343720 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803467C4 00343724 80 A2 CB B8 */ lwz r5, lbl_805AE8D8@sda21(r2)
|
/* 803467C4 00343724 80 A2 CB B8 */ lwz r5, lbl_805AE8D8@sda21(r2)
|
||||||
/* 803467C8 00343728 3B A3 53 EC */ addi r29, r3, lbl_805A53EC@l
|
/* 803467C8 00343728 3B A3 53 EC */ addi r29, r3, sGXState__3CGX@l
|
||||||
/* 803467CC 0034372C 80 1D 00 3C */ lwz r0, 0x3c(r29)
|
/* 803467CC 0034372C 80 1D 00 3C */ lwz r0, 0x3c(r29)
|
||||||
/* 803467D0 00343730 7C 05 00 40 */ cmplw r5, r0
|
/* 803467D0 00343730 7C 05 00 40 */ cmplw r5, r0
|
||||||
/* 803467D4 00343734 41 82 00 18 */ beq lbl_803467EC
|
/* 803467D4 00343734 41 82 00 18 */ beq lbl_803467EC
|
||||||
|
@ -1290,8 +1290,8 @@ lbl_803467EC:
|
||||||
/* 8034680C 0034376C 48 03 32 31 */ bl GXSetChanMatColor
|
/* 8034680C 0034376C 48 03 32 31 */ bl GXSetChanMatColor
|
||||||
lbl_80346810:
|
lbl_80346810:
|
||||||
/* 80346810 00343770 89 2D A9 A1 */ lbz r9, sChannel1EnableLightMask@sda21(r13)
|
/* 80346810 00343770 89 2D A9 A1 */ lbz r9, sChannel1EnableLightMask@sda21(r13)
|
||||||
/* 80346814 00343774 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346814 00343774 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346818 00343778 38 E3 53 EC */ addi r7, r3, lbl_805A53EC@l
|
/* 80346818 00343778 38 E3 53 EC */ addi r7, r3, sGXState__3CGX@l
|
||||||
/* 8034681C 0034377C 38 00 00 01 */ li r0, 1
|
/* 8034681C 0034377C 38 00 00 01 */ li r0, 1
|
||||||
/* 80346820 00343780 2C 09 00 00 */ cmpwi r9, 0
|
/* 80346820 00343780 2C 09 00 00 */ cmpwi r9, 0
|
||||||
/* 80346824 00343784 A1 07 00 32 */ lhz r8, 0x32(r7)
|
/* 80346824 00343784 A1 07 00 32 */ lhz r8, 0x32(r7)
|
||||||
|
@ -1302,10 +1302,10 @@ lbl_80346830:
|
||||||
/* 80346834 00343794 88 6D A8 16 */ lbz r3, mLightActive__9CGraphics@sda21(r13)
|
/* 80346834 00343794 88 6D A8 16 */ lbz r3, mLightActive__9CGraphics@sda21(r13)
|
||||||
/* 80346838 00343798 88 0D A9 A0 */ lbz r0, sChannel0DisableLightMask@sda21(r13)
|
/* 80346838 00343798 88 0D A9 A0 */ lbz r0, sChannel0DisableLightMask@sda21(r13)
|
||||||
/* 8034683C 0034379C 51 25 1D 78 */ rlwimi r5, r9, 3, 0x15, 0x1c
|
/* 8034683C 0034379C 51 25 1D 78 */ rlwimi r5, r9, 3, 0x15, 0x1c
|
||||||
/* 80346840 003437A0 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80346840 003437A0 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80346844 003437A4 60 A5 30 00 */ ori r5, r5, 0x3000
|
/* 80346844 003437A4 60 A5 30 00 */ ori r5, r5, 0x3000
|
||||||
/* 80346848 003437A8 7C 60 00 78 */ andc r0, r3, r0
|
/* 80346848 003437A8 7C 60 00 78 */ andc r0, r3, r0
|
||||||
/* 8034684C 003437AC 38 C4 53 EC */ addi r6, r4, lbl_805A53EC@l
|
/* 8034684C 003437AC 38 C4 53 EC */ addi r6, r4, sGXState__3CGX@l
|
||||||
/* 80346850 003437B0 B0 A7 00 36 */ sth r5, 0x36(r7)
|
/* 80346850 003437B0 B0 A7 00 36 */ sth r5, 0x36(r7)
|
||||||
/* 80346854 003437B4 54 09 06 3F */ clrlwi. r9, r0, 0x18
|
/* 80346854 003437B4 54 09 06 3F */ clrlwi. r9, r0, 0x18
|
||||||
/* 80346858 003437B8 7C 65 40 50 */ subf r3, r5, r8
|
/* 80346858 003437B8 7C 65 40 50 */ subf r3, r5, r8
|
||||||
|
@ -1329,9 +1329,9 @@ lbl_80346884:
|
||||||
/* 8034689C 003437FC B0 A6 00 34 */ sth r5, 0x34(r6)
|
/* 8034689C 003437FC B0 A6 00 34 */ sth r5, 0x34(r6)
|
||||||
/* 803468A0 00343800 98 06 00 4C */ stb r0, 0x4c(r6)
|
/* 803468A0 00343800 98 06 00 4C */ stb r0, 0x4c(r6)
|
||||||
/* 803468A4 00343804 41 82 00 34 */ beq lbl_803468D8
|
/* 803468A4 00343804 41 82 00 34 */ beq lbl_803468D8
|
||||||
/* 803468A8 00343808 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803468A8 00343808 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803468AC 0034380C 80 A2 CB BC */ lwz r5, lbl_805AE8DC@sda21(r2)
|
/* 803468AC 0034380C 80 A2 CB BC */ lwz r5, lbl_805AE8DC@sda21(r2)
|
||||||
/* 803468B0 00343810 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 803468B0 00343810 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 803468B4 00343814 80 03 00 40 */ lwz r0, 0x40(r3)
|
/* 803468B4 00343814 80 03 00 40 */ lwz r0, 0x40(r3)
|
||||||
/* 803468B8 00343818 7C 05 00 40 */ cmplw r5, r0
|
/* 803468B8 00343818 7C 05 00 40 */ cmplw r5, r0
|
||||||
/* 803468BC 0034381C 41 82 00 4C */ beq lbl_80346908
|
/* 803468BC 0034381C 41 82 00 4C */ beq lbl_80346908
|
||||||
|
@ -1342,8 +1342,8 @@ lbl_80346884:
|
||||||
/* 803468D0 00343830 48 03 31 6D */ bl GXSetChanMatColor
|
/* 803468D0 00343830 48 03 31 6D */ bl GXSetChanMatColor
|
||||||
/* 803468D4 00343834 48 00 00 34 */ b lbl_80346908
|
/* 803468D4 00343834 48 00 00 34 */ b lbl_80346908
|
||||||
lbl_803468D8:
|
lbl_803468D8:
|
||||||
/* 803468D8 00343838 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803468D8 00343838 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803468DC 0034383C 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 803468DC 0034383C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 803468E0 00343840 80 A3 00 38 */ lwz r5, 0x38(r3)
|
/* 803468E0 00343840 80 A3 00 38 */ lwz r5, 0x38(r3)
|
||||||
/* 803468E4 00343844 80 03 00 40 */ lwz r0, 0x40(r3)
|
/* 803468E4 00343844 80 03 00 40 */ lwz r0, 0x40(r3)
|
||||||
/* 803468E8 00343848 90 A1 00 2C */ stw r5, 0x2c(r1)
|
/* 803468E8 00343848 90 A1 00 2C */ stw r5, 0x2c(r1)
|
||||||
|
@ -1360,9 +1360,9 @@ lbl_80346908:
|
||||||
lbl_80346910:
|
lbl_80346910:
|
||||||
/* 80346910 00343870 28 1E 00 02 */ cmplwi r30, 2
|
/* 80346910 00343870 28 1E 00 02 */ cmplwi r30, 2
|
||||||
/* 80346914 00343874 40 82 00 58 */ bne lbl_8034696C
|
/* 80346914 00343874 40 82 00 58 */ bne lbl_8034696C
|
||||||
/* 80346918 00343878 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346918 00343878 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 8034691C 0034387C 80 A2 CB B8 */ lwz r5, lbl_805AE8D8@sda21(r2)
|
/* 8034691C 0034387C 80 A2 CB B8 */ lwz r5, lbl_805AE8D8@sda21(r2)
|
||||||
/* 80346920 00343880 3B A3 53 EC */ addi r29, r3, lbl_805A53EC@l
|
/* 80346920 00343880 3B A3 53 EC */ addi r29, r3, sGXState__3CGX@l
|
||||||
/* 80346924 00343884 80 1D 00 3C */ lwz r0, 0x3c(r29)
|
/* 80346924 00343884 80 1D 00 3C */ lwz r0, 0x3c(r29)
|
||||||
/* 80346928 00343888 7C 05 00 40 */ cmplw r5, r0
|
/* 80346928 00343888 7C 05 00 40 */ cmplw r5, r0
|
||||||
/* 8034692C 0034388C 41 82 00 18 */ beq lbl_80346944
|
/* 8034692C 0034388C 41 82 00 18 */ beq lbl_80346944
|
||||||
|
@ -1383,9 +1383,9 @@ lbl_80346944:
|
||||||
/* 80346964 003438C4 48 03 30 D9 */ bl GXSetChanMatColor
|
/* 80346964 003438C4 48 03 30 D9 */ bl GXSetChanMatColor
|
||||||
/* 80346968 003438C8 48 00 00 30 */ b lbl_80346998
|
/* 80346968 003438C8 48 00 00 30 */ b lbl_80346998
|
||||||
lbl_8034696C:
|
lbl_8034696C:
|
||||||
/* 8034696C 003438CC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8034696C 003438CC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346970 003438D0 38 A0 40 00 */ li r5, 0x4000
|
/* 80346970 003438D0 38 A0 40 00 */ li r5, 0x4000
|
||||||
/* 80346974 003438D4 38 C3 53 EC */ addi r6, r3, lbl_805A53EC@l
|
/* 80346974 003438D4 38 C3 53 EC */ addi r6, r3, sGXState__3CGX@l
|
||||||
/* 80346978 003438D8 A0 66 00 32 */ lhz r3, 0x32(r6)
|
/* 80346978 003438D8 A0 66 00 32 */ lhz r3, 0x32(r6)
|
||||||
/* 8034697C 003438DC 88 06 00 4C */ lbz r0, 0x4c(r6)
|
/* 8034697C 003438DC 88 06 00 4C */ lbz r0, 0x4c(r6)
|
||||||
/* 80346980 003438E0 38 83 C0 00 */ addi r4, r3, -16384
|
/* 80346980 003438E0 38 83 C0 00 */ addi r4, r3, -16384
|
||||||
|
@ -1398,8 +1398,8 @@ lbl_80346998:
|
||||||
/* 80346998 003438F8 28 1E 00 01 */ cmplwi r30, 1
|
/* 80346998 003438F8 28 1E 00 01 */ cmplwi r30, 1
|
||||||
/* 8034699C 003438FC 41 80 00 A8 */ blt lbl_80346A44
|
/* 8034699C 003438FC 41 80 00 A8 */ blt lbl_80346A44
|
||||||
/* 803469A0 00343900 88 8D A8 16 */ lbz r4, mLightActive__9CGraphics@sda21(r13)
|
/* 803469A0 00343900 88 8D A8 16 */ lbz r4, mLightActive__9CGraphics@sda21(r13)
|
||||||
/* 803469A4 00343904 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803469A4 00343904 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803469A8 00343908 39 03 53 EC */ addi r8, r3, lbl_805A53EC@l
|
/* 803469A8 00343908 39 03 53 EC */ addi r8, r3, sGXState__3CGX@l
|
||||||
/* 803469AC 0034390C 57 E7 00 3C */ rlwinm r7, r31, 0, 0, 0x1e
|
/* 803469AC 0034390C 57 E7 00 3C */ rlwinm r7, r31, 0, 0, 0x1e
|
||||||
/* 803469B0 00343910 2C 04 00 00 */ cmpwi r4, 0
|
/* 803469B0 00343910 2C 04 00 00 */ cmpwi r4, 0
|
||||||
/* 803469B4 00343914 A1 28 00 30 */ lhz r9, 0x30(r8)
|
/* 803469B4 00343914 A1 28 00 30 */ lhz r9, 0x30(r8)
|
||||||
|
@ -1407,9 +1407,9 @@ lbl_80346998:
|
||||||
/* 803469BC 0034391C 54 80 1D 78 */ rlwinm r0, r4, 3, 0x15, 0x1c
|
/* 803469BC 0034391C 54 80 1D 78 */ rlwinm r0, r4, 3, 0x15, 0x1c
|
||||||
/* 803469C0 00343920 7F E7 03 78 */ or r7, r31, r0
|
/* 803469C0 00343920 7F E7 03 78 */ or r7, r31, r0
|
||||||
lbl_803469C4:
|
lbl_803469C4:
|
||||||
/* 803469C4 00343924 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803469C4 00343924 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803469C8 00343928 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
/* 803469C8 00343928 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||||
/* 803469CC 0034392C 38 C3 53 EC */ addi r6, r3, lbl_805A53EC@l
|
/* 803469CC 0034392C 38 C3 53 EC */ addi r6, r3, sGXState__3CGX@l
|
||||||
/* 803469D0 00343930 7C A7 48 50 */ subf r5, r7, r9
|
/* 803469D0 00343930 7C A7 48 50 */ subf r5, r7, r9
|
||||||
/* 803469D4 00343934 7C 89 38 50 */ subf r4, r9, r7
|
/* 803469D4 00343934 7C 89 38 50 */ subf r4, r9, r7
|
||||||
/* 803469D8 00343938 88 66 00 4C */ lbz r3, 0x4c(r6)
|
/* 803469D8 00343938 88 66 00 4C */ lbz r3, 0x4c(r6)
|
||||||
|
@ -1441,9 +1441,9 @@ lbl_80346A18:
|
||||||
/* 80346A3C 0034399C 48 03 30 01 */ bl GXSetChanMatColor
|
/* 80346A3C 0034399C 48 03 30 01 */ bl GXSetChanMatColor
|
||||||
/* 80346A40 003439A0 48 00 00 30 */ b lbl_80346A70
|
/* 80346A40 003439A0 48 00 00 30 */ b lbl_80346A70
|
||||||
lbl_80346A44:
|
lbl_80346A44:
|
||||||
/* 80346A44 003439A4 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346A44 003439A4 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346A48 003439A8 38 A0 40 00 */ li r5, 0x4000
|
/* 80346A48 003439A8 38 A0 40 00 */ li r5, 0x4000
|
||||||
/* 80346A4C 003439AC 38 C3 53 EC */ addi r6, r3, lbl_805A53EC@l
|
/* 80346A4C 003439AC 38 C3 53 EC */ addi r6, r3, sGXState__3CGX@l
|
||||||
/* 80346A50 003439B0 A0 66 00 30 */ lhz r3, 0x30(r6)
|
/* 80346A50 003439B0 A0 66 00 30 */ lhz r3, 0x30(r6)
|
||||||
/* 80346A54 003439B4 88 06 00 4C */ lbz r0, 0x4c(r6)
|
/* 80346A54 003439B4 88 06 00 4C */ lbz r0, 0x4c(r6)
|
||||||
/* 80346A58 003439B8 38 83 C0 00 */ addi r4, r3, -16384
|
/* 80346A58 003439B8 38 83 C0 00 */ addi r4, r3, -16384
|
||||||
|
@ -1478,8 +1478,8 @@ SetCurrentBlack__13CCubeMaterialCFv:
|
||||||
/* 80346AB8 00343A18 54 00 06 B7 */ rlwinm. r0, r0, 0, 0x1a, 0x1b
|
/* 80346AB8 00343A18 54 00 06 B7 */ rlwinm. r0, r0, 0, 0x1a, 0x1b
|
||||||
/* 80346ABC 00343A1C 83 C3 00 08 */ lwz r30, 8(r3)
|
/* 80346ABC 00343A1C 83 C3 00 08 */ lwz r30, 8(r3)
|
||||||
/* 80346AC0 00343A20 41 82 00 40 */ beq lbl_80346B00
|
/* 80346AC0 00343A20 41 82 00 40 */ beq lbl_80346B00
|
||||||
/* 80346AC4 00343A24 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346AC4 00343A24 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346AC8 00343A28 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 80346AC8 00343A28 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
/* 80346ACC 00343A2C A0 1F 00 56 */ lhz r0, 0x56(r31)
|
/* 80346ACC 00343A2C A0 1F 00 56 */ lhz r0, 0x56(r31)
|
||||||
/* 80346AD0 00343A30 28 00 00 21 */ cmplwi r0, 0x21
|
/* 80346AD0 00343A30 28 00 00 21 */ cmplwi r0, 0x21
|
||||||
/* 80346AD4 00343A34 41 82 00 64 */ beq lbl_80346B38
|
/* 80346AD4 00343A34 41 82 00 64 */ beq lbl_80346B38
|
||||||
|
@ -1494,8 +1494,8 @@ SetCurrentBlack__13CCubeMaterialCFv:
|
||||||
/* 80346AF8 00343A58 48 03 53 B5 */ bl GXSetBlendMode
|
/* 80346AF8 00343A58 48 03 53 B5 */ bl GXSetBlendMode
|
||||||
/* 80346AFC 00343A5C 48 00 00 3C */ b lbl_80346B38
|
/* 80346AFC 00343A5C 48 00 00 3C */ b lbl_80346B38
|
||||||
lbl_80346B00:
|
lbl_80346B00:
|
||||||
/* 80346B00 00343A60 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346B00 00343A60 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346B04 00343A64 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 80346B04 00343A64 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
/* 80346B08 00343A68 A0 1F 00 56 */ lhz r0, 0x56(r31)
|
/* 80346B08 00343A68 A0 1F 00 56 */ lhz r0, 0x56(r31)
|
||||||
/* 80346B0C 00343A6C 28 00 00 05 */ cmplwi r0, 5
|
/* 80346B0C 00343A6C 28 00 00 05 */ cmplwi r0, 5
|
||||||
/* 80346B10 00343A70 41 82 00 28 */ beq lbl_80346B38
|
/* 80346B10 00343A70 41 82 00 28 */ beq lbl_80346B38
|
||||||
|
@ -1517,9 +1517,9 @@ lbl_80346B38:
|
||||||
/* 80346B4C 00343AAC 41 82 00 08 */ beq lbl_80346B54
|
/* 80346B4C 00343AAC 41 82 00 08 */ beq lbl_80346B54
|
||||||
/* 80346B50 00343AB0 38 E0 00 0C */ li r7, 0xc
|
/* 80346B50 00343AB0 38 E0 00 0C */ li r7, 0xc
|
||||||
lbl_80346B54:
|
lbl_80346B54:
|
||||||
/* 80346B54 00343AB4 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346B54 00343AB4 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346B58 00343AB8 54 E4 7B 20 */ rlwinm r4, r7, 0xf, 0xc, 0x10
|
/* 80346B58 00343AB8 54 E4 7B 20 */ rlwinm r4, r7, 0xf, 0xc, 0x10
|
||||||
/* 80346B5C 00343ABC 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 80346B5C 00343ABC 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
/* 80346B60 00343AC0 80 1F 00 68 */ lwz r0, 0x68(r31)
|
/* 80346B60 00343AC0 80 1F 00 68 */ lwz r0, 0x68(r31)
|
||||||
/* 80346B64 00343AC4 60 83 3D EF */ ori r3, r4, 0x3def
|
/* 80346B64 00343AC4 60 83 3D EF */ ori r3, r4, 0x3def
|
||||||
/* 80346B68 00343AC8 7C 03 00 40 */ cmplw r3, r0
|
/* 80346B68 00343AC8 7C 03 00 40 */ cmplw r3, r0
|
||||||
|
@ -1558,8 +1558,8 @@ lbl_80346BC8:
|
||||||
/* 80346BE0 00343B40 38 80 00 00 */ li r4, 0
|
/* 80346BE0 00343B40 38 80 00 00 */ li r4, 0
|
||||||
/* 80346BE4 00343B44 48 03 4B E1 */ bl GXSetTevKAlphaSel
|
/* 80346BE4 00343B44 48 03 4B E1 */ bl GXSetTevKAlphaSel
|
||||||
lbl_80346BE8:
|
lbl_80346BE8:
|
||||||
/* 80346BE8 00343B48 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346BE8 00343B48 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346BEC 00343B4C 38 A3 53 EC */ addi r5, r3, lbl_805A53EC@l
|
/* 80346BEC 00343B4C 38 A3 53 EC */ addi r5, r3, sGXState__3CGX@l
|
||||||
/* 80346BF0 00343B50 80 65 02 28 */ lwz r3, 0x228(r5)
|
/* 80346BF0 00343B50 80 65 02 28 */ lwz r3, 0x228(r5)
|
||||||
/* 80346BF4 00343B54 3C 03 FF E2 */ addis r0, r3, 0xffe2
|
/* 80346BF4 00343B54 3C 03 FF E2 */ addis r0, r3, 0xffe2
|
||||||
/* 80346BF8 00343B58 28 00 94 01 */ cmplwi r0, 0x9401
|
/* 80346BF8 00343B58 28 00 94 01 */ cmplwi r0, 0x9401
|
||||||
|
@ -1590,8 +1590,8 @@ lbl_80346C28:
|
||||||
/* 80346C58 00343BB8 38 C0 00 FF */ li r6, 0xff
|
/* 80346C58 00343BB8 38 C0 00 FF */ li r6, 0xff
|
||||||
/* 80346C5C 00343BBC 48 03 4D 99 */ bl GXSetTevOrder
|
/* 80346C5C 00343BBC 48 03 4D 99 */ bl GXSetTevOrder
|
||||||
lbl_80346C60:
|
lbl_80346C60:
|
||||||
/* 80346C60 00343BC0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346C60 00343BC0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346C64 00343BC4 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 80346C64 00343BC4 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 80346C68 00343BC8 88 04 00 50 */ lbz r0, 0x50(r4)
|
/* 80346C68 00343BC8 88 04 00 50 */ lbz r0, 0x50(r4)
|
||||||
/* 80346C6C 00343BCC 28 00 00 01 */ cmplwi r0, 1
|
/* 80346C6C 00343BCC 28 00 00 01 */ cmplwi r0, 1
|
||||||
/* 80346C70 00343BD0 41 82 00 14 */ beq lbl_80346C84
|
/* 80346C70 00343BD0 41 82 00 14 */ beq lbl_80346C84
|
||||||
|
@ -1600,9 +1600,9 @@ lbl_80346C60:
|
||||||
/* 80346C7C 00343BDC 98 04 00 50 */ stb r0, 0x50(r4)
|
/* 80346C7C 00343BDC 98 04 00 50 */ stb r0, 0x50(r4)
|
||||||
/* 80346C80 00343BE0 48 03 4F 4D */ bl GXSetNumTevStages
|
/* 80346C80 00343BE0 48 03 4F 4D */ bl GXSetNumTevStages
|
||||||
lbl_80346C84:
|
lbl_80346C84:
|
||||||
/* 80346C84 00343BE4 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346C84 00343BE4 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346C88 00343BE8 38 E0 00 00 */ li r7, 0
|
/* 80346C88 00343BE8 38 E0 00 00 */ li r7, 0
|
||||||
/* 80346C8C 00343BEC 38 C3 53 EC */ addi r6, r3, lbl_805A53EC@l
|
/* 80346C8C 00343BEC 38 C3 53 EC */ addi r6, r3, sGXState__3CGX@l
|
||||||
/* 80346C90 00343BF0 88 A6 00 4D */ lbz r5, 0x4d(r6)
|
/* 80346C90 00343BF0 88 A6 00 4D */ lbz r5, 0x4d(r6)
|
||||||
/* 80346C94 00343BF4 88 06 00 4F */ lbz r0, 0x4f(r6)
|
/* 80346C94 00343BF4 88 06 00 4F */ lbz r0, 0x4f(r6)
|
||||||
/* 80346C98 00343BF8 7C 85 00 D0 */ neg r4, r5
|
/* 80346C98 00343BF8 7C 85 00 D0 */ neg r4, r5
|
||||||
|
@ -1618,8 +1618,8 @@ lbl_80346C84:
|
||||||
/* 80346CC0 00343C20 98 06 00 4F */ stb r0, 0x4f(r6)
|
/* 80346CC0 00343C20 98 06 00 4F */ stb r0, 0x4f(r6)
|
||||||
/* 80346CC4 00343C24 48 03 15 A1 */ bl GXSetNumTexGens
|
/* 80346CC4 00343C24 48 03 15 A1 */ bl GXSetNumTexGens
|
||||||
lbl_80346CC8:
|
lbl_80346CC8:
|
||||||
/* 80346CC8 00343C28 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346CC8 00343C28 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346CCC 00343C2C 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 80346CCC 00343C2C 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 80346CD0 00343C30 88 04 00 51 */ lbz r0, 0x51(r4)
|
/* 80346CD0 00343C30 88 04 00 51 */ lbz r0, 0x51(r4)
|
||||||
/* 80346CD4 00343C34 28 00 00 00 */ cmplwi r0, 0
|
/* 80346CD4 00343C34 28 00 00 00 */ cmplwi r0, 0
|
||||||
/* 80346CD8 00343C38 41 82 00 14 */ beq lbl_80346CEC
|
/* 80346CD8 00343C38 41 82 00 14 */ beq lbl_80346CEC
|
||||||
|
@ -1643,8 +1643,8 @@ EnsureTevsDirect__13CCubeMaterialFv:
|
||||||
/* 80346D10 00343C70 80 0D 9D 74 */ lwz r0, lbl_805A8934@sda21(r13)
|
/* 80346D10 00343C70 80 0D 9D 74 */ lwz r0, lbl_805A8934@sda21(r13)
|
||||||
/* 80346D14 00343C74 2C 00 FF FF */ cmpwi r0, -1
|
/* 80346D14 00343C74 2C 00 FF FF */ cmpwi r0, -1
|
||||||
/* 80346D18 00343C78 41 82 00 60 */ beq lbl_80346D78
|
/* 80346D18 00343C78 41 82 00 60 */ beq lbl_80346D78
|
||||||
/* 80346D1C 00343C7C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346D1C 00343C7C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346D20 00343C80 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 80346D20 00343C80 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 80346D24 00343C84 88 04 00 51 */ lbz r0, 0x51(r4)
|
/* 80346D24 00343C84 88 04 00 51 */ lbz r0, 0x51(r4)
|
||||||
/* 80346D28 00343C88 28 00 00 00 */ cmplwi r0, 0
|
/* 80346D28 00343C88 28 00 00 00 */ cmplwi r0, 0
|
||||||
/* 80346D2C 00343C8C 41 82 00 14 */ beq lbl_80346D40
|
/* 80346D2C 00343C8C 41 82 00 14 */ beq lbl_80346D40
|
||||||
|
@ -1654,8 +1654,8 @@ EnsureTevsDirect__13CCubeMaterialFv:
|
||||||
/* 80346D3C 00343C9C 48 03 45 7D */ bl GXSetNumIndStages
|
/* 80346D3C 00343C9C 48 03 45 7D */ bl GXSetNumIndStages
|
||||||
lbl_80346D40:
|
lbl_80346D40:
|
||||||
/* 80346D40 00343CA0 80 6D 9D 74 */ lwz r3, lbl_805A8934@sda21(r13)
|
/* 80346D40 00343CA0 80 6D 9D 74 */ lwz r3, lbl_805A8934@sda21(r13)
|
||||||
/* 80346D44 00343CA4 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80346D44 00343CA4 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80346D48 00343CA8 38 04 53 EC */ addi r0, r4, lbl_805A53EC@l
|
/* 80346D48 00343CA8 38 04 53 EC */ addi r0, r4, sGXState__3CGX@l
|
||||||
/* 80346D4C 00343CAC 1C 83 00 1C */ mulli r4, r3, 0x1c
|
/* 80346D4C 00343CAC 1C 83 00 1C */ mulli r4, r3, 0x1c
|
||||||
/* 80346D50 00343CB0 7C 80 22 14 */ add r4, r0, r4
|
/* 80346D50 00343CB0 7C 80 22 14 */ add r4, r0, r4
|
||||||
/* 80346D54 00343CB4 38 84 00 68 */ addi r4, r4, 0x68
|
/* 80346D54 00343CB4 38 84 00 68 */ addi r4, r4, 0x68
|
||||||
|
@ -1692,9 +1692,9 @@ HandleReflection__13CCubeMaterialFb11_GXTexMapIDiUiUiUiUiRUiRUi:
|
||||||
/* 80346DBC 00343D1C 3B E0 00 00 */ li r31, 0
|
/* 80346DBC 00343D1C 3B E0 00 00 */ li r31, 0
|
||||||
/* 80346DC0 00343D20 41 82 01 1C */ beq lbl_80346EDC
|
/* 80346DC0 00343D20 41 82 01 1C */ beq lbl_80346EDC
|
||||||
/* 80346DC4 00343D24 1C 9D 00 1C */ mulli r4, r29, 0x1c
|
/* 80346DC4 00343D24 1C 9D 00 1C */ mulli r4, r29, 0x1c
|
||||||
/* 80346DC8 00343D28 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346DC8 00343D28 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346DCC 00343D2C 3B C0 00 06 */ li r30, 6
|
/* 80346DCC 00343D2C 3B C0 00 06 */ li r30, 6
|
||||||
/* 80346DD0 00343D30 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 80346DD0 00343D30 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 80346DD4 00343D34 7C 60 22 14 */ add r3, r0, r4
|
/* 80346DD4 00343D34 7C 60 22 14 */ add r3, r0, r4
|
||||||
/* 80346DD8 00343D38 3B E3 00 68 */ addi r31, r3, 0x68
|
/* 80346DD8 00343D38 3B E3 00 68 */ addi r31, r3, 0x68
|
||||||
/* 80346DDC 00343D3C 80 63 00 68 */ lwz r3, 0x68(r3)
|
/* 80346DDC 00343D3C 80 63 00 68 */ lwz r3, 0x68(r3)
|
||||||
|
@ -1781,9 +1781,9 @@ lbl_80346EE0:
|
||||||
/* 80346F04 00343E64 98 81 00 0E */ stb r4, 0xe(r1)
|
/* 80346F04 00343E64 98 81 00 0E */ stb r4, 0xe(r1)
|
||||||
/* 80346F08 00343E68 98 81 00 0F */ stb r4, 0xf(r1)
|
/* 80346F08 00343E68 98 81 00 0F */ stb r4, 0xf(r1)
|
||||||
/* 80346F0C 00343E6C 48 01 C4 91 */ bl Set__6CColorFffff
|
/* 80346F0C 00343E6C 48 01 C4 91 */ bl Set__6CColorFffff
|
||||||
/* 80346F10 00343E70 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346F10 00343E70 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346F14 00343E74 57 64 10 3A */ slwi r4, r27, 2
|
/* 80346F14 00343E74 57 64 10 3A */ slwi r4, r27, 2
|
||||||
/* 80346F18 00343E78 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80346F18 00343E78 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80346F1C 00343E7C 80 01 00 0C */ lwz r0, 0xc(r1)
|
/* 80346F1C 00343E7C 80 01 00 0C */ lwz r0, 0xc(r1)
|
||||||
/* 80346F20 00343E80 7C 63 22 14 */ add r3, r3, r4
|
/* 80346F20 00343E80 7C 63 22 14 */ add r3, r3, r4
|
||||||
/* 80346F24 00343E84 38 83 00 58 */ addi r4, r3, 0x58
|
/* 80346F24 00343E84 38 83 00 58 */ addi r4, r3, 0x58
|
||||||
|
@ -1797,9 +1797,9 @@ lbl_80346EE0:
|
||||||
/* 80346F44 00343EA4 48 03 47 A1 */ bl GXSetTevKColor
|
/* 80346F44 00343EA4 48 03 47 A1 */ bl GXSetTevKColor
|
||||||
lbl_80346F48:
|
lbl_80346F48:
|
||||||
/* 80346F48 00343EA8 1C BD 00 1C */ mulli r5, r29, 0x1c
|
/* 80346F48 00343EA8 1C BD 00 1C */ mulli r5, r29, 0x1c
|
||||||
/* 80346F4C 00343EAC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346F4C 00343EAC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346F50 00343EB0 38 9B 00 0C */ addi r4, r27, 0xc
|
/* 80346F50 00343EB0 38 9B 00 0C */ addi r4, r27, 0xc
|
||||||
/* 80346F54 00343EB4 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 80346F54 00343EB4 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 80346F58 00343EB8 7C 60 2A 14 */ add r3, r0, r5
|
/* 80346F58 00343EB8 7C 60 2A 14 */ add r3, r0, r5
|
||||||
/* 80346F5C 00343EBC 38 63 00 68 */ addi r3, r3, 0x68
|
/* 80346F5C 00343EBC 38 63 00 68 */ addi r3, r3, 0x68
|
||||||
/* 80346F60 00343EC0 88 03 00 18 */ lbz r0, 0x18(r3)
|
/* 80346F60 00343EC0 88 03 00 18 */ lbz r0, 0x18(r3)
|
||||||
|
@ -1822,9 +1822,9 @@ lbl_80346F78:
|
||||||
/* 80346FA0 00343F00 3B 78 00 01 */ addi r27, r24, 1
|
/* 80346FA0 00343F00 3B 78 00 01 */ addi r27, r24, 1
|
||||||
/* 80346FA4 00343F04 38 60 00 00 */ li r3, 0
|
/* 80346FA4 00343F04 38 60 00 00 */ li r3, 0
|
||||||
/* 80346FA8 00343F08 48 03 41 FD */ bl GXSetIndTexOrder
|
/* 80346FA8 00343F08 48 03 41 FD */ bl GXSetIndTexOrder
|
||||||
/* 80346FAC 00343F0C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80346FAC 00343F0C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80346FB0 00343F10 57 04 10 3A */ slwi r4, r24, 2
|
/* 80346FB0 00343F10 57 04 10 3A */ slwi r4, r24, 2
|
||||||
/* 80346FB4 00343F14 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 80346FB4 00343F14 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 80346FB8 00343F18 7C 60 22 14 */ add r3, r0, r4
|
/* 80346FB8 00343F18 7C 60 22 14 */ add r3, r0, r4
|
||||||
/* 80346FBC 00343F1C 38 A3 02 28 */ addi r5, r3, 0x228
|
/* 80346FBC 00343F1C 38 A3 02 28 */ addi r5, r3, 0x228
|
||||||
/* 80346FC0 00343F20 80 63 02 28 */ lwz r3, 0x228(r3)
|
/* 80346FC0 00343F20 80 63 02 28 */ lwz r3, 0x228(r3)
|
||||||
|
@ -1855,8 +1855,8 @@ lbl_80346FF8:
|
||||||
/* 80347020 00343F80 7C 03 E8 00 */ cmpw r3, r29
|
/* 80347020 00343F80 7C 03 E8 00 */ cmpw r3, r29
|
||||||
/* 80347024 00343F84 40 81 00 30 */ ble lbl_80347054
|
/* 80347024 00343F84 40 81 00 30 */ ble lbl_80347054
|
||||||
/* 80347028 00343F88 1C A3 00 1C */ mulli r5, r3, 0x1c
|
/* 80347028 00343F88 1C A3 00 1C */ mulli r5, r3, 0x1c
|
||||||
/* 8034702C 00343F8C 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 8034702C 00343F8C 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80347030 00343F90 38 04 53 EC */ addi r0, r4, lbl_805A53EC@l
|
/* 80347030 00343F90 38 04 53 EC */ addi r0, r4, sGXState__3CGX@l
|
||||||
/* 80347034 00343F94 7C 80 2A 14 */ add r4, r0, r5
|
/* 80347034 00343F94 7C 80 2A 14 */ add r4, r0, r5
|
||||||
/* 80347038 00343F98 38 84 00 68 */ addi r4, r4, 0x68
|
/* 80347038 00343F98 38 84 00 68 */ addi r4, r4, 0x68
|
||||||
/* 8034703C 00343F9C 80 04 00 10 */ lwz r0, 0x10(r4)
|
/* 8034703C 00343F9C 80 04 00 10 */ lwz r0, 0x10(r4)
|
||||||
|
@ -1871,9 +1871,9 @@ lbl_80347054:
|
||||||
lbl_8034705C:
|
lbl_8034705C:
|
||||||
/* 8034705C 00343FBC 7F 1B C3 78 */ mr r27, r24
|
/* 8034705C 00343FBC 7F 1B C3 78 */ mr r27, r24
|
||||||
lbl_80347060:
|
lbl_80347060:
|
||||||
/* 80347060 00343FC0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80347060 00343FC0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80347064 00343FC4 57 64 10 3A */ slwi r4, r27, 2
|
/* 80347064 00343FC4 57 64 10 3A */ slwi r4, r27, 2
|
||||||
/* 80347068 00343FC8 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 80347068 00343FC8 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 8034706C 00343FCC 7C 60 22 14 */ add r3, r0, r4
|
/* 8034706C 00343FCC 7C 60 22 14 */ add r3, r0, r4
|
||||||
/* 80347070 00343FD0 38 A3 02 28 */ addi r5, r3, 0x228
|
/* 80347070 00343FD0 38 A3 02 28 */ addi r5, r3, 0x228
|
||||||
/* 80347074 00343FD4 80 63 02 28 */ lwz r3, 0x228(r3)
|
/* 80347074 00343FD4 80 63 02 28 */ lwz r3, 0x228(r3)
|
||||||
|
@ -1892,9 +1892,9 @@ lbl_80347060:
|
||||||
/* 803470A8 00344008 48 03 0E ED */ bl GXSetTexCoordGen2
|
/* 803470A8 00344008 48 03 0E ED */ bl GXSetTexCoordGen2
|
||||||
lbl_803470AC:
|
lbl_803470AC:
|
||||||
/* 803470AC 0034400C 1C 9D 00 1C */ mulli r4, r29, 0x1c
|
/* 803470AC 0034400C 1C 9D 00 1C */ mulli r4, r29, 0x1c
|
||||||
/* 803470B0 00344010 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803470B0 00344010 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803470B4 00344014 57 C5 2D B4 */ rlwinm r5, r30, 5, 0x16, 0x1a
|
/* 803470B4 00344014 57 C5 2D B4 */ rlwinm r5, r30, 5, 0x16, 0x1a
|
||||||
/* 803470B8 00344018 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 803470B8 00344018 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 803470BC 0034401C 7C 60 22 14 */ add r3, r0, r4
|
/* 803470BC 0034401C 7C 60 22 14 */ add r3, r0, r4
|
||||||
/* 803470C0 00344020 80 03 00 68 */ lwz r0, 0x68(r3)
|
/* 803470C0 00344020 80 03 00 68 */ lwz r0, 0x68(r3)
|
||||||
/* 803470C4 00344024 60 A4 20 0F */ ori r4, r5, 0x200f
|
/* 803470C4 00344024 60 A4 20 0F */ ori r4, r5, 0x200f
|
||||||
|
@ -1958,8 +1958,8 @@ SetTevIndWarp__3CGXF13_GXTevStageID16_GXIndTexStageIDUcUc14_GXIndTexMtxID:
|
||||||
lbl_80347194:
|
lbl_80347194:
|
||||||
/* 80347194 003440F4 1D 23 00 1C */ mulli r9, r3, 0x1c
|
/* 80347194 003440F4 1D 23 00 1C */ mulli r9, r3, 0x1c
|
||||||
/* 80347198 003440F8 54 A0 06 3F */ clrlwi. r0, r5, 0x18
|
/* 80347198 003440F8 54 A0 06 3F */ clrlwi. r0, r5, 0x18
|
||||||
/* 8034719C 003440FC 3C C0 80 5A */ lis r6, lbl_805A53EC@ha
|
/* 8034719C 003440FC 3C C0 80 5A */ lis r6, sGXState__3CGX@ha
|
||||||
/* 803471A0 00344100 38 06 53 EC */ addi r0, r6, lbl_805A53EC@l
|
/* 803471A0 00344100 38 06 53 EC */ addi r0, r6, sGXState__3CGX@l
|
||||||
/* 803471A4 00344104 7C C0 4A 14 */ add r6, r0, r9
|
/* 803471A4 00344104 7C C0 4A 14 */ add r6, r0, r9
|
||||||
/* 803471A8 00344108 54 89 07 BE */ clrlwi r9, r4, 0x1e
|
/* 803471A8 00344108 54 89 07 BE */ clrlwi r9, r4, 0x1e
|
||||||
/* 803471AC 0034410C 39 66 00 68 */ addi r11, r6, 0x68
|
/* 803471AC 0034410C 39 66 00 68 */ addi r11, r6, 0x68
|
||||||
|
@ -2057,9 +2057,9 @@ DoModelShadow__FUiUi:
|
||||||
/* 80347304 00344264 D0 21 00 20 */ stfs f1, 0x20(r1)
|
/* 80347304 00344264 D0 21 00 20 */ stfs f1, 0x20(r1)
|
||||||
/* 80347308 00344268 D0 01 00 24 */ stfs f0, 0x24(r1)
|
/* 80347308 00344268 D0 01 00 24 */ stfs f0, 0x24(r1)
|
||||||
/* 8034730C 0034426C 48 03 51 85 */ bl GXLoadTexMtxImm
|
/* 8034730C 0034426C 48 03 51 85 */ bl GXLoadTexMtxImm
|
||||||
/* 80347310 00344270 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80347310 00344270 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80347314 00344274 57 C4 10 3A */ slwi r4, r30, 2
|
/* 80347314 00344274 57 C4 10 3A */ slwi r4, r30, 2
|
||||||
/* 80347318 00344278 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 80347318 00344278 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 8034731C 0034427C 7C 60 22 14 */ add r3, r0, r4
|
/* 8034731C 0034427C 7C 60 22 14 */ add r3, r0, r4
|
||||||
/* 80347320 00344280 38 A3 02 28 */ addi r5, r3, 0x228
|
/* 80347320 00344280 38 A3 02 28 */ addi r5, r3, 0x228
|
||||||
/* 80347324 00344284 80 63 02 28 */ lwz r3, 0x228(r3)
|
/* 80347324 00344284 80 63 02 28 */ lwz r3, 0x228(r3)
|
||||||
|
@ -2077,8 +2077,8 @@ DoModelShadow__FUiUi:
|
||||||
/* 80347354 003442B4 39 00 00 7D */ li r8, 0x7d
|
/* 80347354 003442B4 39 00 00 7D */ li r8, 0x7d
|
||||||
/* 80347358 003442B8 48 03 0C 3D */ bl GXSetTexCoordGen2
|
/* 80347358 003442B8 48 03 0C 3D */ bl GXSetTexCoordGen2
|
||||||
lbl_8034735C:
|
lbl_8034735C:
|
||||||
/* 8034735C 003442BC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8034735C 003442BC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80347360 003442C0 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 80347360 003442C0 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
/* 80347364 003442C4 80 1F 00 70 */ lwz r0, 0x70(r31)
|
/* 80347364 003442C4 80 1F 00 70 */ lwz r0, 0x70(r31)
|
||||||
/* 80347368 003442C8 28 00 03 00 */ cmplwi r0, 0x300
|
/* 80347368 003442C8 28 00 03 00 */ cmplwi r0, 0x300
|
||||||
/* 8034736C 003442CC 41 82 00 28 */ beq lbl_80347394
|
/* 8034736C 003442CC 41 82 00 28 */ beq lbl_80347394
|
||||||
|
@ -2146,8 +2146,8 @@ lbl_8034742C:
|
||||||
/* 80347454 003443B4 38 C0 00 05 */ li r6, 5
|
/* 80347454 003443B4 38 C0 00 05 */ li r6, 5
|
||||||
/* 80347458 003443B8 48 03 45 9D */ bl GXSetTevOrder
|
/* 80347458 003443B8 48 03 45 9D */ bl GXSetTevOrder
|
||||||
lbl_8034745C:
|
lbl_8034745C:
|
||||||
/* 8034745C 003443BC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8034745C 003443BC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80347460 003443C0 3B A3 53 EC */ addi r29, r3, lbl_805A53EC@l
|
/* 80347460 003443C0 3B A3 53 EC */ addi r29, r3, sGXState__3CGX@l
|
||||||
/* 80347464 003443C4 80 1D 00 8C */ lwz r0, 0x8c(r29)
|
/* 80347464 003443C4 80 1D 00 8C */ lwz r0, 0x8c(r29)
|
||||||
/* 80347468 003443C8 28 00 03 00 */ cmplwi r0, 0x300
|
/* 80347468 003443C8 28 00 03 00 */ cmplwi r0, 0x300
|
||||||
/* 8034746C 003443CC 41 82 00 28 */ beq lbl_80347494
|
/* 8034746C 003443CC 41 82 00 28 */ beq lbl_80347494
|
||||||
|
@ -2251,8 +2251,8 @@ lbl_803475CC:
|
||||||
/* 803475CC 0034452C 2C 00 00 03 */ cmpwi r0, 3
|
/* 803475CC 0034452C 2C 00 00 03 */ cmpwi r0, 3
|
||||||
/* 803475D0 00344530 40 82 02 84 */ bne lbl_80347854
|
/* 803475D0 00344530 40 82 02 84 */ bne lbl_80347854
|
||||||
/* 803475D4 00344534 80 7E 00 00 */ lwz r3, 0(r30)
|
/* 803475D4 00344534 80 7E 00 00 */ lwz r3, 0(r30)
|
||||||
/* 803475D8 00344538 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 803475D8 00344538 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 803475DC 0034453C 38 04 53 EC */ addi r0, r4, lbl_805A53EC@l
|
/* 803475DC 0034453C 38 04 53 EC */ addi r0, r4, sGXState__3CGX@l
|
||||||
/* 803475E0 00344540 1C 83 00 1C */ mulli r4, r3, 0x1c
|
/* 803475E0 00344540 1C 83 00 1C */ mulli r4, r3, 0x1c
|
||||||
/* 803475E4 00344544 7C 7B 1B 78 */ mr r27, r3
|
/* 803475E4 00344544 7C 7B 1B 78 */ mr r27, r3
|
||||||
/* 803475E8 00344548 3B 43 00 01 */ addi r26, r3, 1
|
/* 803475E8 00344548 3B 43 00 01 */ addi r26, r3, 1
|
||||||
|
@ -2340,8 +2340,8 @@ lbl_80347700:
|
||||||
/* 80347718 00344678 48 03 3B C9 */ bl GXSetTevDirect
|
/* 80347718 00344678 48 03 3B C9 */ bl GXSetTevDirect
|
||||||
lbl_8034771C:
|
lbl_8034771C:
|
||||||
/* 8034771C 0034467C 1C 9A 00 1C */ mulli r4, r26, 0x1c
|
/* 8034771C 0034467C 1C 9A 00 1C */ mulli r4, r26, 0x1c
|
||||||
/* 80347720 00344680 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80347720 00344680 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80347724 00344684 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 80347724 00344684 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 80347728 00344688 7C 60 22 14 */ add r3, r0, r4
|
/* 80347728 00344688 7C 60 22 14 */ add r3, r0, r4
|
||||||
/* 8034772C 0034468C 3B 83 00 68 */ addi r28, r3, 0x68
|
/* 8034772C 0034468C 3B 83 00 68 */ addi r28, r3, 0x68
|
||||||
/* 80347730 00344690 80 63 00 68 */ lwz r3, 0x68(r3)
|
/* 80347730 00344690 80 63 00 68 */ lwz r3, 0x68(r3)
|
||||||
|
@ -2403,8 +2403,8 @@ lbl_803477D4:
|
||||||
/* 80347800 00344760 48 03 41 F5 */ bl GXSetTevOrder
|
/* 80347800 00344760 48 03 41 F5 */ bl GXSetTevOrder
|
||||||
lbl_80347804:
|
lbl_80347804:
|
||||||
/* 80347804 00344764 80 7F 00 00 */ lwz r3, 0(r31)
|
/* 80347804 00344764 80 7F 00 00 */ lwz r3, 0(r31)
|
||||||
/* 80347808 00344768 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80347808 00344768 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 8034780C 0034476C 38 04 53 EC */ addi r0, r4, lbl_805A53EC@l
|
/* 8034780C 0034476C 38 04 53 EC */ addi r0, r4, sGXState__3CGX@l
|
||||||
/* 80347810 00344770 80 B9 00 04 */ lwz r5, 4(r25)
|
/* 80347810 00344770 80 B9 00 04 */ lwz r5, 4(r25)
|
||||||
/* 80347814 00344774 54 64 10 3A */ slwi r4, r3, 2
|
/* 80347814 00344774 54 64 10 3A */ slwi r4, r3, 2
|
||||||
/* 80347818 00344778 7C 80 22 14 */ add r4, r0, r4
|
/* 80347818 00344778 7C 80 22 14 */ add r4, r0, r4
|
||||||
|
@ -2439,8 +2439,8 @@ lbl_8034786C:
|
||||||
/* 80347880 003447E0 38 E3 01 8F */ addi r7, r3, 0x0007018F@l
|
/* 80347880 003447E0 38 E3 01 8F */ addi r7, r3, 0x0007018F@l
|
||||||
lbl_80347884:
|
lbl_80347884:
|
||||||
/* 80347884 003447E4 83 5E 00 00 */ lwz r26, 0(r30)
|
/* 80347884 003447E4 83 5E 00 00 */ lwz r26, 0(r30)
|
||||||
/* 80347888 003447E8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80347888 003447E8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 8034788C 003447EC 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 8034788C 003447EC 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 80347890 003447F0 1C 7A 00 1C */ mulli r3, r26, 0x1c
|
/* 80347890 003447F0 1C 7A 00 1C */ mulli r3, r26, 0x1c
|
||||||
/* 80347894 003447F4 7C 60 1A 14 */ add r3, r0, r3
|
/* 80347894 003447F4 7C 60 1A 14 */ add r3, r0, r3
|
||||||
/* 80347898 003447F8 3B 83 00 68 */ addi r28, r3, 0x68
|
/* 80347898 003447F8 3B 83 00 68 */ addi r28, r3, 0x68
|
||||||
|
@ -2493,8 +2493,8 @@ lbl_8034791C:
|
||||||
/* 80347948 003448A8 48 03 40 AD */ bl GXSetTevOrder
|
/* 80347948 003448A8 48 03 40 AD */ bl GXSetTevOrder
|
||||||
lbl_8034794C:
|
lbl_8034794C:
|
||||||
/* 8034794C 003448AC 80 7F 00 00 */ lwz r3, 0(r31)
|
/* 8034794C 003448AC 80 7F 00 00 */ lwz r3, 0(r31)
|
||||||
/* 80347950 003448B0 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80347950 003448B0 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80347954 003448B4 38 04 53 EC */ addi r0, r4, lbl_805A53EC@l
|
/* 80347954 003448B4 38 04 53 EC */ addi r0, r4, sGXState__3CGX@l
|
||||||
/* 80347958 003448B8 80 B9 00 04 */ lwz r5, 4(r25)
|
/* 80347958 003448B8 80 B9 00 04 */ lwz r5, 4(r25)
|
||||||
/* 8034795C 003448BC 54 64 10 3A */ slwi r4, r3, 2
|
/* 8034795C 003448BC 54 64 10 3A */ slwi r4, r3, 2
|
||||||
/* 80347960 003448C0 7C 80 22 14 */ add r4, r0, r4
|
/* 80347960 003448C0 7C 80 22 14 */ add r4, r0, r4
|
||||||
|
@ -2980,10 +2980,10 @@ lbl_8034805C:
|
||||||
/* 80348068 00344FC8 4B FB FC 81 */ bl SetStandardDirectTev_Compressed__3CGXF13_GXTevStageIDUiUiUiUi
|
/* 80348068 00344FC8 4B FB FC 81 */ bl SetStandardDirectTev_Compressed__3CGXF13_GXTevStageIDUiUiUiUi
|
||||||
/* 8034806C 00344FCC 1C BE 00 1C */ mulli r5, r30, 0x1c
|
/* 8034806C 00344FCC 1C BE 00 1C */ mulli r5, r30, 0x1c
|
||||||
/* 80348070 00344FD0 80 DD 00 00 */ lwz r6, 0(r29)
|
/* 80348070 00344FD0 80 DD 00 00 */ lwz r6, 0(r29)
|
||||||
/* 80348074 00344FD4 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80348074 00344FD4 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80348078 00344FD8 83 BF 00 10 */ lwz r29, 0x10(r31)
|
/* 80348078 00344FD8 83 BF 00 10 */ lwz r29, 0x10(r31)
|
||||||
/* 8034807C 00344FDC 54 C4 06 3E */ clrlwi r4, r6, 0x18
|
/* 8034807C 00344FDC 54 C4 06 3E */ clrlwi r4, r6, 0x18
|
||||||
/* 80348080 00344FE0 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 80348080 00344FE0 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 80348084 00344FE4 7C 60 2A 14 */ add r3, r0, r5
|
/* 80348084 00344FE4 7C 60 2A 14 */ add r3, r0, r5
|
||||||
/* 80348088 00344FE8 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f
|
/* 80348088 00344FE8 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f
|
||||||
/* 8034808C 00344FEC 3B E3 00 68 */ addi r31, r3, 0x68
|
/* 8034808C 00344FEC 3B E3 00 68 */ addi r31, r3, 0x68
|
||||||
|
@ -3037,8 +3037,8 @@ SetupBlendMode__13CCubeMaterialFUiRC11CModelFlagsb:
|
||||||
/* 80348134 00345094 8B C4 00 00 */ lbz r30, 0(r4)
|
/* 80348134 00345094 8B C4 00 00 */ lbz r30, 0(r4)
|
||||||
/* 80348138 00345098 7F DE 07 74 */ extsb r30, r30
|
/* 80348138 00345098 7F DE 07 74 */ extsb r30, r30
|
||||||
/* 8034813C 0034509C 41 82 00 4C */ beq lbl_80348188
|
/* 8034813C 0034509C 41 82 00 4C */ beq lbl_80348188
|
||||||
/* 80348140 003450A0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80348140 003450A0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80348144 003450A4 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 80348144 003450A4 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 80348148 003450A8 80 04 02 48 */ lwz r0, 0x248(r4)
|
/* 80348148 003450A8 80 04 02 48 */ lwz r0, 0x248(r4)
|
||||||
/* 8034814C 003450AC 28 00 0A 06 */ cmplwi r0, 0xa06
|
/* 8034814C 003450AC 28 00 0A 06 */ cmplwi r0, 0xa06
|
||||||
/* 80348150 003450B0 41 82 00 2C */ beq lbl_8034817C
|
/* 80348150 003450B0 41 82 00 2C */ beq lbl_8034817C
|
||||||
|
@ -3057,8 +3057,8 @@ lbl_8034817C:
|
||||||
/* 80348180 003450E0 3B 80 00 00 */ li r28, 0
|
/* 80348180 003450E0 3B 80 00 00 */ li r28, 0
|
||||||
/* 80348184 003450E4 48 00 00 48 */ b lbl_803481CC
|
/* 80348184 003450E4 48 00 00 48 */ b lbl_803481CC
|
||||||
lbl_80348188:
|
lbl_80348188:
|
||||||
/* 80348188 003450E8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80348188 003450E8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 8034818C 003450EC 38 A3 53 EC */ addi r5, r3, lbl_805A53EC@l
|
/* 8034818C 003450EC 38 A3 53 EC */ addi r5, r3, sGXState__3CGX@l
|
||||||
/* 80348190 003450F0 80 65 02 48 */ lwz r3, 0x248(r5)
|
/* 80348190 003450F0 80 65 02 48 */ lwz r3, 0x248(r5)
|
||||||
/* 80348194 003450F4 3C 03 FF FF */ addis r0, r3, 0xffff
|
/* 80348194 003450F4 3C 03 FF FF */ addis r0, r3, 0xffff
|
||||||
/* 80348198 003450F8 28 00 C8 07 */ cmplwi r0, 0xc807
|
/* 80348198 003450F8 28 00 C8 07 */ cmplwi r0, 0xc807
|
||||||
|
@ -3089,9 +3089,9 @@ lbl_803481CC:
|
||||||
lbl_803481F8:
|
lbl_803481F8:
|
||||||
/* 803481F8 00345158 7C 1C 03 78 */ mr r28, r0
|
/* 803481F8 00345158 7C 1C 03 78 */ mr r28, r0
|
||||||
lbl_803481FC:
|
lbl_803481FC:
|
||||||
/* 803481FC 0034515C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803481FC 0034515C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80348200 00345160 57 A0 16 FA */ rlwinm r0, r29, 2, 0x1b, 0x1d
|
/* 80348200 00345160 57 A0 16 FA */ rlwinm r0, r29, 2, 0x1b, 0x1d
|
||||||
/* 80348204 00345164 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 80348204 00345164 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
/* 80348208 00345168 60 1E 00 01 */ ori r30, r0, 1
|
/* 80348208 00345168 60 1E 00 01 */ ori r30, r0, 1
|
||||||
/* 8034820C 0034516C A0 1F 00 56 */ lhz r0, 0x56(r31)
|
/* 8034820C 0034516C A0 1F 00 56 */ lhz r0, 0x56(r31)
|
||||||
/* 80348210 00345170 53 9E 2E 34 */ rlwimi r30, r28, 5, 0x18, 0x1a
|
/* 80348210 00345170 53 9E 2E 34 */ rlwimi r30, r28, 5, 0x18, 0x1a
|
||||||
|
|
|
@ -31,9 +31,9 @@ lbl_805A9350:
|
||||||
sub_80306630:
|
sub_80306630:
|
||||||
/* 80306630 00303590 94 21 FF E0 */ stwu r1, -0x20(r1)
|
/* 80306630 00303590 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||||
/* 80306634 00303594 7C 08 02 A6 */ mflr r0
|
/* 80306634 00303594 7C 08 02 A6 */ mflr r0
|
||||||
/* 80306638 00303598 3C E0 80 5A */ lis r7, lbl_805A53EC@ha
|
/* 80306638 00303598 3C E0 80 5A */ lis r7, sGXState__3CGX@ha
|
||||||
/* 8030663C 0030359C 90 01 00 24 */ stw r0, 0x24(r1)
|
/* 8030663C 0030359C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||||
/* 80306640 003035A0 38 E7 53 EC */ addi r7, r7, lbl_805A53EC@l
|
/* 80306640 003035A0 38 E7 53 EC */ addi r7, r7, sGXState__3CGX@l
|
||||||
/* 80306644 003035A4 BF 61 00 0C */ stmw r27, 0xc(r1)
|
/* 80306644 003035A4 BF 61 00 0C */ stmw r27, 0xc(r1)
|
||||||
/* 80306648 003035A8 7C 7C 1B 78 */ mr r28, r3
|
/* 80306648 003035A8 7C 7C 1B 78 */ mr r28, r3
|
||||||
/* 8030664C 003035AC 7C 9D 23 78 */ mr r29, r4
|
/* 8030664C 003035AC 7C 9D 23 78 */ mr r29, r4
|
||||||
|
@ -47,8 +47,8 @@ sub_80306630:
|
||||||
/* 8030666C 003035CC 98 07 00 51 */ stb r0, 0x51(r7)
|
/* 8030666C 003035CC 98 07 00 51 */ stb r0, 0x51(r7)
|
||||||
/* 80306670 003035D0 48 07 4C 49 */ bl GXSetNumIndStages
|
/* 80306670 003035D0 48 07 4C 49 */ bl GXSetNumIndStages
|
||||||
lbl_80306674:
|
lbl_80306674:
|
||||||
/* 80306674 003035D4 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80306674 003035D4 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80306678 003035D8 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 80306678 003035D8 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 8030667C 003035DC 88 04 00 50 */ lbz r0, 0x50(r4)
|
/* 8030667C 003035DC 88 04 00 50 */ lbz r0, 0x50(r4)
|
||||||
/* 80306680 003035E0 28 00 00 01 */ cmplwi r0, 1
|
/* 80306680 003035E0 28 00 00 01 */ cmplwi r0, 1
|
||||||
/* 80306684 003035E4 41 82 00 14 */ beq lbl_80306698
|
/* 80306684 003035E4 41 82 00 14 */ beq lbl_80306698
|
||||||
|
@ -57,8 +57,8 @@ lbl_80306674:
|
||||||
/* 80306690 003035F0 98 04 00 50 */ stb r0, 0x50(r4)
|
/* 80306690 003035F0 98 04 00 50 */ stb r0, 0x50(r4)
|
||||||
/* 80306694 003035F4 48 07 55 39 */ bl GXSetNumTevStages
|
/* 80306694 003035F4 48 07 55 39 */ bl GXSetNumTevStages
|
||||||
lbl_80306698:
|
lbl_80306698:
|
||||||
/* 80306698 003035F8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80306698 003035F8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 8030669C 003035FC 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 8030669C 003035FC 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 803066A0 00303600 88 04 00 4F */ lbz r0, 0x4f(r4)
|
/* 803066A0 00303600 88 04 00 4F */ lbz r0, 0x4f(r4)
|
||||||
/* 803066A4 00303604 28 00 00 01 */ cmplwi r0, 1
|
/* 803066A4 00303604 28 00 00 01 */ cmplwi r0, 1
|
||||||
/* 803066A8 00303608 41 82 00 14 */ beq lbl_803066BC
|
/* 803066A8 00303608 41 82 00 14 */ beq lbl_803066BC
|
||||||
|
@ -67,8 +67,8 @@ lbl_80306698:
|
||||||
/* 803066B4 00303614 98 04 00 4F */ stb r0, 0x4f(r4)
|
/* 803066B4 00303614 98 04 00 4F */ stb r0, 0x4f(r4)
|
||||||
/* 803066B8 00303618 48 07 1B AD */ bl GXSetNumTexGens
|
/* 803066B8 00303618 48 07 1B AD */ bl GXSetNumTexGens
|
||||||
lbl_803066BC:
|
lbl_803066BC:
|
||||||
/* 803066BC 0030361C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803066BC 0030361C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803066C0 00303620 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 803066C0 00303620 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 803066C4 00303624 88 04 00 52 */ lbz r0, 0x52(r4)
|
/* 803066C4 00303624 88 04 00 52 */ lbz r0, 0x52(r4)
|
||||||
/* 803066C8 00303628 28 00 00 0F */ cmplwi r0, 0xf
|
/* 803066C8 00303628 28 00 00 0F */ cmplwi r0, 0xf
|
||||||
/* 803066CC 0030362C 41 82 00 1C */ beq lbl_803066E8
|
/* 803066CC 0030362C 41 82 00 1C */ beq lbl_803066E8
|
||||||
|
@ -79,8 +79,8 @@ lbl_803066BC:
|
||||||
/* 803066E0 00303640 38 A0 00 01 */ li r5, 1
|
/* 803066E0 00303640 38 A0 00 01 */ li r5, 1
|
||||||
/* 803066E4 00303644 48 07 58 75 */ bl GXSetZMode
|
/* 803066E4 00303644 48 07 58 75 */ bl GXSetZMode
|
||||||
lbl_803066E8:
|
lbl_803066E8:
|
||||||
/* 803066E8 00303648 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803066E8 00303648 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803066EC 0030364C 3B 63 53 EC */ addi r27, r3, lbl_805A53EC@l
|
/* 803066EC 0030364C 3B 63 53 EC */ addi r27, r3, sGXState__3CGX@l
|
||||||
/* 803066F0 00303650 80 7B 00 7C */ lwz r3, 0x7c(r27)
|
/* 803066F0 00303650 80 7B 00 7C */ lwz r3, 0x7c(r27)
|
||||||
/* 803066F4 00303654 3C 03 FF 01 */ addis r0, r3, 0xff01
|
/* 803066F4 00303654 3C 03 FF 01 */ addis r0, r3, 0xff01
|
||||||
/* 803066F8 00303658 28 00 FF FF */ cmplwi r0, 0xffff
|
/* 803066F8 00303658 28 00 FF FF */ cmplwi r0, 0xffff
|
||||||
|
@ -124,8 +124,8 @@ lbl_80306754:
|
||||||
lbl_80306788:
|
lbl_80306788:
|
||||||
/* 80306788 003036E8 38 60 00 00 */ li r3, 0
|
/* 80306788 003036E8 38 60 00 00 */ li r3, 0
|
||||||
/* 8030678C 003036EC 48 00 14 C5 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID
|
/* 8030678C 003036EC 48 00 14 C5 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID
|
||||||
/* 80306790 003036F0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80306790 003036F0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80306794 003036F4 3B 63 53 EC */ addi r27, r3, lbl_805A53EC@l
|
/* 80306794 003036F4 3B 63 53 EC */ addi r27, r3, sGXState__3CGX@l
|
||||||
/* 80306798 003036F8 A0 1B 00 56 */ lhz r0, 0x56(r27)
|
/* 80306798 003036F8 A0 1B 00 56 */ lhz r0, 0x56(r27)
|
||||||
/* 8030679C 003036FC 28 00 00 21 */ cmplwi r0, 0x21
|
/* 8030679C 003036FC 28 00 00 21 */ cmplwi r0, 0x21
|
||||||
/* 803067A0 00303700 41 82 00 28 */ beq lbl_803067C8
|
/* 803067A0 00303700 41 82 00 28 */ beq lbl_803067C8
|
||||||
|
@ -321,9 +321,9 @@ lbl_80306A18:
|
||||||
lbl_80306A1C:
|
lbl_80306A1C:
|
||||||
/* 80306A1C 0030397C 2C 1A 00 01 */ cmpwi r26, 1
|
/* 80306A1C 0030397C 2C 1A 00 01 */ cmpwi r26, 1
|
||||||
/* 80306A20 00303980 41 82 00 7C */ beq lbl_80306A9C
|
/* 80306A20 00303980 41 82 00 7C */ beq lbl_80306A9C
|
||||||
/* 80306A24 00303984 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80306A24 00303984 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80306A28 00303988 83 7F 00 38 */ lwz r27, 0x38(r31)
|
/* 80306A28 00303988 83 7F 00 38 */ lwz r27, 0x38(r31)
|
||||||
/* 80306A2C 0030398C 3B C3 53 EC */ addi r30, r3, lbl_805A53EC@l
|
/* 80306A2C 0030398C 3B C3 53 EC */ addi r30, r3, sGXState__3CGX@l
|
||||||
/* 80306A30 00303990 48 00 00 64 */ b lbl_80306A94
|
/* 80306A30 00303990 48 00 00 64 */ b lbl_80306A94
|
||||||
lbl_80306A34:
|
lbl_80306A34:
|
||||||
/* 80306A34 00303994 80 BB 00 0C */ lwz r5, 0xc(r27)
|
/* 80306A34 00303994 80 BB 00 0C */ lwz r5, 0xc(r27)
|
||||||
|
@ -357,9 +357,9 @@ lbl_80306A94:
|
||||||
lbl_80306A9C:
|
lbl_80306A9C:
|
||||||
/* 80306A9C 003039FC 2C 1A 00 00 */ cmpwi r26, 0
|
/* 80306A9C 003039FC 2C 1A 00 00 */ cmpwi r26, 0
|
||||||
/* 80306AA0 00303A00 41 82 00 7C */ beq lbl_80306B1C
|
/* 80306AA0 00303A00 41 82 00 7C */ beq lbl_80306B1C
|
||||||
/* 80306AA4 00303A04 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80306AA4 00303A04 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80306AA8 00303A08 83 7F 00 3C */ lwz r27, 0x3c(r31)
|
/* 80306AA8 00303A08 83 7F 00 3C */ lwz r27, 0x3c(r31)
|
||||||
/* 80306AAC 00303A0C 3B C3 53 EC */ addi r30, r3, lbl_805A53EC@l
|
/* 80306AAC 00303A0C 3B C3 53 EC */ addi r30, r3, sGXState__3CGX@l
|
||||||
/* 80306AB0 00303A10 48 00 00 64 */ b lbl_80306B14
|
/* 80306AB0 00303A10 48 00 00 64 */ b lbl_80306B14
|
||||||
lbl_80306AB4:
|
lbl_80306AB4:
|
||||||
/* 80306AB4 00303A14 80 BB 00 0C */ lwz r5, 0xc(r27)
|
/* 80306AB4 00303A14 80 BB 00 0C */ lwz r5, 0xc(r27)
|
||||||
|
@ -757,8 +757,8 @@ lbl_80306FE8:
|
||||||
/* 80306FF0 00303F50 38 63 73 88 */ addi r3, r3, lbl_803D7388@l
|
/* 80306FF0 00303F50 38 63 73 88 */ addi r3, r3, lbl_803D7388@l
|
||||||
/* 80306FF4 00303F54 54 19 08 3C */ slwi r25, r0, 1
|
/* 80306FF4 00303F54 54 19 08 3C */ slwi r25, r0, 1
|
||||||
/* 80306FF8 00303F58 48 00 0E 31 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList
|
/* 80306FF8 00303F58 48 00 0E 31 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList
|
||||||
/* 80306FFC 00303F5C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80306FFC 00303F5C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307000 00303F60 3A A3 53 EC */ addi r21, r3, lbl_805A53EC@l
|
/* 80307000 00303F60 3A A3 53 EC */ addi r21, r3, sGXState__3CGX@l
|
||||||
/* 80307004 00303F64 80 15 00 78 */ lwz r0, 0x78(r21)
|
/* 80307004 00303F64 80 15 00 78 */ lwz r0, 0x78(r21)
|
||||||
/* 80307008 00303F68 28 00 00 00 */ cmplwi r0, 0
|
/* 80307008 00303F68 28 00 00 00 */ cmplwi r0, 0
|
||||||
/* 8030700C 00303F6C 41 82 00 14 */ beq lbl_80307020
|
/* 8030700C 00303F6C 41 82 00 14 */ beq lbl_80307020
|
||||||
|
@ -767,8 +767,8 @@ lbl_80306FE8:
|
||||||
/* 80307018 00303F78 90 15 00 78 */ stw r0, 0x78(r21)
|
/* 80307018 00303F78 90 15 00 78 */ stw r0, 0x78(r21)
|
||||||
/* 8030701C 00303F7C 48 07 42 C5 */ bl GXSetTevDirect
|
/* 8030701C 00303F7C 48 07 42 C5 */ bl GXSetTevDirect
|
||||||
lbl_80307020:
|
lbl_80307020:
|
||||||
/* 80307020 00303F80 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307020 00303F80 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307024 00303F84 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
|
/* 80307024 00303F84 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
|
||||||
/* 80307028 00303F88 88 04 00 51 */ lbz r0, 0x51(r4)
|
/* 80307028 00303F88 88 04 00 51 */ lbz r0, 0x51(r4)
|
||||||
/* 8030702C 00303F8C 28 00 00 00 */ cmplwi r0, 0
|
/* 8030702C 00303F8C 28 00 00 00 */ cmplwi r0, 0
|
||||||
/* 80307030 00303F90 41 82 00 14 */ beq lbl_80307044
|
/* 80307030 00303F90 41 82 00 14 */ beq lbl_80307044
|
||||||
|
@ -804,9 +804,9 @@ lbl_80307078:
|
||||||
/* 803070A0 00304000 39 00 00 00 */ li r8, 0
|
/* 803070A0 00304000 39 00 00 00 */ li r8, 0
|
||||||
/* 803070A4 00304004 48 07 44 89 */ bl GXSetTevColorOp
|
/* 803070A4 00304004 48 07 44 89 */ bl GXSetTevColorOp
|
||||||
lbl_803070A8:
|
lbl_803070A8:
|
||||||
/* 803070A8 00304008 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803070A8 00304008 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803070AC 0030400C 38 C0 00 00 */ li r6, 0
|
/* 803070AC 0030400C 38 C0 00 00 */ li r6, 0
|
||||||
/* 803070B0 00304010 3B A3 53 EC */ addi r29, r3, lbl_805A53EC@l
|
/* 803070B0 00304010 3B A3 53 EC */ addi r29, r3, sGXState__3CGX@l
|
||||||
/* 803070B4 00304014 88 BD 00 4D */ lbz r5, 0x4d(r29)
|
/* 803070B4 00304014 88 BD 00 4D */ lbz r5, 0x4d(r29)
|
||||||
/* 803070B8 00304018 88 1D 00 4F */ lbz r0, 0x4f(r29)
|
/* 803070B8 00304018 88 1D 00 4F */ lbz r0, 0x4f(r29)
|
||||||
/* 803070BC 0030401C 7C 85 00 D0 */ neg r4, r5
|
/* 803070BC 0030401C 7C 85 00 D0 */ neg r4, r5
|
||||||
|
@ -822,8 +822,8 @@ lbl_803070A8:
|
||||||
/* 803070E4 00304044 98 1D 00 4F */ stb r0, 0x4f(r29)
|
/* 803070E4 00304044 98 1D 00 4F */ stb r0, 0x4f(r29)
|
||||||
/* 803070E8 00304048 48 07 11 7D */ bl GXSetNumTexGens
|
/* 803070E8 00304048 48 07 11 7D */ bl GXSetNumTexGens
|
||||||
lbl_803070EC:
|
lbl_803070EC:
|
||||||
/* 803070EC 0030404C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803070EC 0030404C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803070F0 00304050 3A A3 53 EC */ addi r21, r3, lbl_805A53EC@l
|
/* 803070F0 00304050 3A A3 53 EC */ addi r21, r3, sGXState__3CGX@l
|
||||||
/* 803070F4 00304054 A0 15 00 56 */ lhz r0, 0x56(r21)
|
/* 803070F4 00304054 A0 15 00 56 */ lhz r0, 0x56(r21)
|
||||||
/* 803070F8 00304058 28 00 00 05 */ cmplwi r0, 5
|
/* 803070F8 00304058 28 00 00 05 */ cmplwi r0, 5
|
||||||
/* 803070FC 0030405C 41 82 00 28 */ beq lbl_80307124
|
/* 803070FC 0030405C 41 82 00 28 */ beq lbl_80307124
|
||||||
|
@ -1084,8 +1084,8 @@ lbl_8030749C:
|
||||||
/* 803074A8 00304408 38 61 00 0C */ addi r3, r1, 0xc
|
/* 803074A8 00304408 38 61 00 0C */ addi r3, r1, 0xc
|
||||||
/* 803074AC 0030440C 48 03 E9 B1 */ bl SetCurrent__13CCubeMaterialCFRC11CModelFlagsRC12CCubeSurfaceRC10CCubeModel
|
/* 803074AC 0030440C 48 03 E9 B1 */ bl SetCurrent__13CCubeMaterialCFRC11CModelFlagsRC12CCubeSurfaceRC10CCubeModel
|
||||||
/* 803074B0 00304410 80 BF 00 00 */ lwz r5, 0(r31)
|
/* 803074B0 00304410 80 BF 00 00 */ lwz r5, 0(r31)
|
||||||
/* 803074B4 00304414 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803074B4 00304414 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803074B8 00304418 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 803074B8 00304418 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 803074BC 0030441C 80 85 00 1C */ lwz r4, 0x1c(r5)
|
/* 803074BC 0030441C 80 85 00 1C */ lwz r4, 0x1c(r5)
|
||||||
/* 803074C0 00304420 88 03 00 4C */ lbz r0, 0x4c(r3)
|
/* 803074C0 00304420 88 03 00 4C */ lbz r0, 0x4c(r3)
|
||||||
/* 803074C4 00304424 38 64 00 4B */ addi r3, r4, 0x4b
|
/* 803074C4 00304424 38 64 00 4B */ addi r3, r4, 0x4b
|
||||||
|
@ -1143,8 +1143,8 @@ SetUsingPackedLightmaps__10CCubeModelCFb:
|
||||||
/* 80307570 003044D0 80 83 00 18 */ lwz r4, 0x18(r3)
|
/* 80307570 003044D0 80 83 00 18 */ lwz r4, 0x18(r3)
|
||||||
/* 80307574 003044D4 28 04 00 00 */ cmplwi r4, 0
|
/* 80307574 003044D4 28 04 00 00 */ cmplwi r4, 0
|
||||||
/* 80307578 003044D8 41 82 00 5C */ beq lbl_803075D4
|
/* 80307578 003044D8 41 82 00 5C */ beq lbl_803075D4
|
||||||
/* 8030757C 003044DC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8030757C 003044DC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307580 003044E0 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80307580 003044E0 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307584 003044E4 80 03 00 10 */ lwz r0, 0x10(r3)
|
/* 80307584 003044E4 80 03 00 10 */ lwz r0, 0x10(r3)
|
||||||
/* 80307588 003044E8 7C 00 20 40 */ cmplw r0, r4
|
/* 80307588 003044E8 7C 00 20 40 */ cmplw r0, r4
|
||||||
/* 8030758C 003044EC 41 82 00 48 */ beq lbl_803075D4
|
/* 8030758C 003044EC 41 82 00 48 */ beq lbl_803075D4
|
||||||
|
@ -1157,8 +1157,8 @@ lbl_803075A4:
|
||||||
/* 803075A4 00304504 80 83 00 14 */ lwz r4, 0x14(r3)
|
/* 803075A4 00304504 80 83 00 14 */ lwz r4, 0x14(r3)
|
||||||
/* 803075A8 00304508 28 04 00 00 */ cmplwi r4, 0
|
/* 803075A8 00304508 28 04 00 00 */ cmplwi r4, 0
|
||||||
/* 803075AC 0030450C 41 82 00 28 */ beq lbl_803075D4
|
/* 803075AC 0030450C 41 82 00 28 */ beq lbl_803075D4
|
||||||
/* 803075B0 00304510 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803075B0 00304510 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803075B4 00304514 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 803075B4 00304514 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 803075B8 00304518 80 03 00 10 */ lwz r0, 0x10(r3)
|
/* 803075B8 00304518 80 03 00 10 */ lwz r0, 0x10(r3)
|
||||||
/* 803075BC 0030451C 7C 00 20 40 */ cmplw r0, r4
|
/* 803075BC 0030451C 7C 00 20 40 */ cmplw r0, r4
|
||||||
/* 803075C0 00304520 41 82 00 14 */ beq lbl_803075D4
|
/* 803075C0 00304520 41 82 00 14 */ beq lbl_803075D4
|
||||||
|
@ -1200,8 +1200,8 @@ SetArraysCurrent__10CCubeModelCFv:
|
||||||
/* 80307634 00304594 80 83 00 08 */ lwz r4, 8(r3)
|
/* 80307634 00304594 80 83 00 08 */ lwz r4, 8(r3)
|
||||||
/* 80307638 00304598 28 04 00 00 */ cmplwi r4, 0
|
/* 80307638 00304598 28 04 00 00 */ cmplwi r4, 0
|
||||||
/* 8030763C 0030459C 41 82 00 24 */ beq lbl_80307660
|
/* 8030763C 0030459C 41 82 00 24 */ beq lbl_80307660
|
||||||
/* 80307640 003045A0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307640 003045A0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307644 003045A4 84 03 53 EC */ lwzu r0, lbl_805A53EC@l(r3)
|
/* 80307644 003045A4 84 03 53 EC */ lwzu r0, sGXState__3CGX@l(r3)
|
||||||
/* 80307648 003045A8 7C 00 20 40 */ cmplw r0, r4
|
/* 80307648 003045A8 7C 00 20 40 */ cmplw r0, r4
|
||||||
/* 8030764C 003045AC 41 82 00 14 */ beq lbl_80307660
|
/* 8030764C 003045AC 41 82 00 14 */ beq lbl_80307660
|
||||||
/* 80307650 003045B0 90 83 00 00 */ stw r4, 0(r3)
|
/* 80307650 003045B0 90 83 00 00 */ stw r4, 0(r3)
|
||||||
|
@ -1218,8 +1218,8 @@ lbl_80307674:
|
||||||
/* 80307674 003045D4 80 9F 00 0C */ lwz r4, 0xc(r31)
|
/* 80307674 003045D4 80 9F 00 0C */ lwz r4, 0xc(r31)
|
||||||
/* 80307678 003045D8 28 04 00 00 */ cmplwi r4, 0
|
/* 80307678 003045D8 28 04 00 00 */ cmplwi r4, 0
|
||||||
/* 8030767C 003045DC 41 82 00 28 */ beq lbl_803076A4
|
/* 8030767C 003045DC 41 82 00 28 */ beq lbl_803076A4
|
||||||
/* 80307680 003045E0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307680 003045E0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307684 003045E4 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80307684 003045E4 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307688 003045E8 80 03 00 04 */ lwz r0, 4(r3)
|
/* 80307688 003045E8 80 03 00 04 */ lwz r0, 4(r3)
|
||||||
/* 8030768C 003045EC 7C 00 20 40 */ cmplw r0, r4
|
/* 8030768C 003045EC 7C 00 20 40 */ cmplw r0, r4
|
||||||
/* 80307690 003045F0 41 82 00 14 */ beq lbl_803076A4
|
/* 80307690 003045F0 41 82 00 14 */ beq lbl_803076A4
|
||||||
|
@ -1248,8 +1248,8 @@ SetStaticArraysCurrent__10CCubeModelCFv:
|
||||||
/* 803076DC 0030463C 80 83 00 10 */ lwz r4, 0x10(r3)
|
/* 803076DC 0030463C 80 83 00 10 */ lwz r4, 0x10(r3)
|
||||||
/* 803076E0 00304640 28 04 00 00 */ cmplwi r4, 0
|
/* 803076E0 00304640 28 04 00 00 */ cmplwi r4, 0
|
||||||
/* 803076E4 00304644 41 82 00 28 */ beq lbl_8030770C
|
/* 803076E4 00304644 41 82 00 28 */ beq lbl_8030770C
|
||||||
/* 803076E8 00304648 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803076E8 00304648 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803076EC 0030464C 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 803076EC 0030464C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 803076F0 00304650 80 03 00 08 */ lwz r0, 8(r3)
|
/* 803076F0 00304650 80 03 00 08 */ lwz r0, 8(r3)
|
||||||
/* 803076F4 00304654 7C 00 20 40 */ cmplw r0, r4
|
/* 803076F4 00304654 7C 00 20 40 */ cmplw r0, r4
|
||||||
/* 803076F8 00304658 41 82 00 14 */ beq lbl_8030770C
|
/* 803076F8 00304658 41 82 00 14 */ beq lbl_8030770C
|
||||||
|
@ -1270,8 +1270,8 @@ lbl_80307724:
|
||||||
/* 8030772C 0030468C 41 82 00 34 */ beq lbl_80307760
|
/* 8030772C 0030468C 41 82 00 34 */ beq lbl_80307760
|
||||||
/* 80307730 00304690 28 04 00 00 */ cmplwi r4, 0
|
/* 80307730 00304690 28 04 00 00 */ cmplwi r4, 0
|
||||||
/* 80307734 00304694 41 82 00 5C */ beq lbl_80307790
|
/* 80307734 00304694 41 82 00 5C */ beq lbl_80307790
|
||||||
/* 80307738 00304698 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307738 00304698 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 8030773C 0030469C 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 8030773C 0030469C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307740 003046A0 80 03 00 10 */ lwz r0, 0x10(r3)
|
/* 80307740 003046A0 80 03 00 10 */ lwz r0, 0x10(r3)
|
||||||
/* 80307744 003046A4 7C 00 20 40 */ cmplw r0, r4
|
/* 80307744 003046A4 7C 00 20 40 */ cmplw r0, r4
|
||||||
/* 80307748 003046A8 41 82 00 48 */ beq lbl_80307790
|
/* 80307748 003046A8 41 82 00 48 */ beq lbl_80307790
|
||||||
|
@ -1283,8 +1283,8 @@ lbl_80307724:
|
||||||
lbl_80307760:
|
lbl_80307760:
|
||||||
/* 80307760 003046C0 28 1E 00 00 */ cmplwi r30, 0
|
/* 80307760 003046C0 28 1E 00 00 */ cmplwi r30, 0
|
||||||
/* 80307764 003046C4 41 82 00 2C */ beq lbl_80307790
|
/* 80307764 003046C4 41 82 00 2C */ beq lbl_80307790
|
||||||
/* 80307768 003046C8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307768 003046C8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 8030776C 003046CC 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 8030776C 003046CC 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307770 003046D0 80 03 00 10 */ lwz r0, 0x10(r3)
|
/* 80307770 003046D0 80 03 00 10 */ lwz r0, 0x10(r3)
|
||||||
/* 80307774 003046D4 7C 00 F0 40 */ cmplw r0, r30
|
/* 80307774 003046D4 7C 00 F0 40 */ cmplw r0, r30
|
||||||
/* 80307778 003046D8 41 82 00 18 */ beq lbl_80307790
|
/* 80307778 003046D8 41 82 00 18 */ beq lbl_80307790
|
||||||
|
@ -1296,9 +1296,9 @@ lbl_80307760:
|
||||||
lbl_80307790:
|
lbl_80307790:
|
||||||
/* 80307790 003046F0 28 1E 00 00 */ cmplwi r30, 0
|
/* 80307790 003046F0 28 1E 00 00 */ cmplwi r30, 0
|
||||||
/* 80307794 003046F4 41 82 00 4C */ beq lbl_803077E0
|
/* 80307794 003046F4 41 82 00 4C */ beq lbl_803077E0
|
||||||
/* 80307798 003046F8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307798 003046F8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 8030779C 003046FC 3B A0 00 01 */ li r29, 1
|
/* 8030779C 003046FC 3B A0 00 01 */ li r29, 1
|
||||||
/* 803077A0 00304700 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 803077A0 00304700 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
lbl_803077A4:
|
lbl_803077A4:
|
||||||
/* 803077A4 00304704 28 1E 00 00 */ cmplwi r30, 0
|
/* 803077A4 00304704 28 1E 00 00 */ cmplwi r30, 0
|
||||||
/* 803077A8 00304708 38 7D 00 0D */ addi r3, r29, 0xd
|
/* 803077A8 00304708 38 7D 00 0D */ addi r3, r29, 0xd
|
||||||
|
|
|
@ -8,7 +8,7 @@ lbl_ctor:
|
||||||
.balign 8
|
.balign 8
|
||||||
|
|
||||||
.lcomm lbl_80479BD0, 0xF0, 4
|
.lcomm lbl_80479BD0, 0xF0, 4
|
||||||
.comm lbl_805A53EC, 0x260, 4
|
.comm sGXState__3CGX, 0x260, 4
|
||||||
|
|
||||||
.section .sbss2, "", @nobits
|
.section .sbss2, "", @nobits
|
||||||
.balign 8
|
.balign 8
|
||||||
|
@ -23,43 +23,43 @@ lbl_805AF4A0:
|
||||||
sub_80307bbc:
|
sub_80307bbc:
|
||||||
/* 80307BBC 00304B1C 28 03 00 00 */ cmplwi r3, 0
|
/* 80307BBC 00304B1C 28 03 00 00 */ cmplwi r3, 0
|
||||||
/* 80307BC0 00304B20 41 82 00 14 */ beq lbl_80307BD4
|
/* 80307BC0 00304B20 41 82 00 14 */ beq lbl_80307BD4
|
||||||
/* 80307BC4 00304B24 3D 20 80 5A */ lis r9, lbl_805A53EC@ha
|
/* 80307BC4 00304B24 3D 20 80 5A */ lis r9, sGXState__3CGX@ha
|
||||||
/* 80307BC8 00304B28 39 29 53 EC */ addi r9, r9, lbl_805A53EC@l
|
/* 80307BC8 00304B28 39 29 53 EC */ addi r9, r9, sGXState__3CGX@l
|
||||||
/* 80307BCC 00304B2C 88 09 00 53 */ lbz r0, 0x53(r9)
|
/* 80307BCC 00304B2C 88 09 00 53 */ lbz r0, 0x53(r9)
|
||||||
/* 80307BD0 00304B30 90 03 00 00 */ stw r0, 0(r3)
|
/* 80307BD0 00304B30 90 03 00 00 */ stw r0, 0(r3)
|
||||||
lbl_80307BD4:
|
lbl_80307BD4:
|
||||||
/* 80307BD4 00304B34 28 04 00 00 */ cmplwi r4, 0
|
/* 80307BD4 00304B34 28 04 00 00 */ cmplwi r4, 0
|
||||||
/* 80307BD8 00304B38 41 82 00 14 */ beq lbl_80307BEC
|
/* 80307BD8 00304B38 41 82 00 14 */ beq lbl_80307BEC
|
||||||
/* 80307BDC 00304B3C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307BDC 00304B3C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307BE0 00304B40 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80307BE0 00304B40 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307BE4 00304B44 C0 03 02 4C */ lfs f0, 0x24c(r3)
|
/* 80307BE4 00304B44 C0 03 02 4C */ lfs f0, 0x24c(r3)
|
||||||
/* 80307BE8 00304B48 D0 04 00 00 */ stfs f0, 0(r4)
|
/* 80307BE8 00304B48 D0 04 00 00 */ stfs f0, 0(r4)
|
||||||
lbl_80307BEC:
|
lbl_80307BEC:
|
||||||
/* 80307BEC 00304B4C 28 05 00 00 */ cmplwi r5, 0
|
/* 80307BEC 00304B4C 28 05 00 00 */ cmplwi r5, 0
|
||||||
/* 80307BF0 00304B50 41 82 00 14 */ beq lbl_80307C04
|
/* 80307BF0 00304B50 41 82 00 14 */ beq lbl_80307C04
|
||||||
/* 80307BF4 00304B54 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307BF4 00304B54 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307BF8 00304B58 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80307BF8 00304B58 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307BFC 00304B5C C0 03 02 50 */ lfs f0, 0x250(r3)
|
/* 80307BFC 00304B5C C0 03 02 50 */ lfs f0, 0x250(r3)
|
||||||
/* 80307C00 00304B60 D0 05 00 00 */ stfs f0, 0(r5)
|
/* 80307C00 00304B60 D0 05 00 00 */ stfs f0, 0(r5)
|
||||||
lbl_80307C04:
|
lbl_80307C04:
|
||||||
/* 80307C04 00304B64 28 06 00 00 */ cmplwi r6, 0
|
/* 80307C04 00304B64 28 06 00 00 */ cmplwi r6, 0
|
||||||
/* 80307C08 00304B68 41 82 00 14 */ beq lbl_80307C1C
|
/* 80307C08 00304B68 41 82 00 14 */ beq lbl_80307C1C
|
||||||
/* 80307C0C 00304B6C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307C0C 00304B6C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307C10 00304B70 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80307C10 00304B70 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307C14 00304B74 C0 03 02 54 */ lfs f0, 0x254(r3)
|
/* 80307C14 00304B74 C0 03 02 54 */ lfs f0, 0x254(r3)
|
||||||
/* 80307C18 00304B78 D0 06 00 00 */ stfs f0, 0(r6)
|
/* 80307C18 00304B78 D0 06 00 00 */ stfs f0, 0(r6)
|
||||||
lbl_80307C1C:
|
lbl_80307C1C:
|
||||||
/* 80307C1C 00304B7C 28 07 00 00 */ cmplwi r7, 0
|
/* 80307C1C 00304B7C 28 07 00 00 */ cmplwi r7, 0
|
||||||
/* 80307C20 00304B80 41 82 00 14 */ beq lbl_80307C34
|
/* 80307C20 00304B80 41 82 00 14 */ beq lbl_80307C34
|
||||||
/* 80307C24 00304B84 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307C24 00304B84 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307C28 00304B88 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80307C28 00304B88 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307C2C 00304B8C C0 03 02 58 */ lfs f0, 0x258(r3)
|
/* 80307C2C 00304B8C C0 03 02 58 */ lfs f0, 0x258(r3)
|
||||||
/* 80307C30 00304B90 D0 07 00 00 */ stfs f0, 0(r7)
|
/* 80307C30 00304B90 D0 07 00 00 */ stfs f0, 0(r7)
|
||||||
lbl_80307C34:
|
lbl_80307C34:
|
||||||
/* 80307C34 00304B94 28 08 00 00 */ cmplwi r8, 0
|
/* 80307C34 00304B94 28 08 00 00 */ cmplwi r8, 0
|
||||||
/* 80307C38 00304B98 4D 82 00 20 */ beqlr
|
/* 80307C38 00304B98 4D 82 00 20 */ beqlr
|
||||||
/* 80307C3C 00304B9C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307C3C 00304B9C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307C40 00304BA0 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80307C40 00304BA0 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80307C44 00304BA4 80 03 02 5C */ lwz r0, 0x25c(r3)
|
/* 80307C44 00304BA4 80 03 02 5C */ lwz r0, 0x25c(r3)
|
||||||
/* 80307C48 00304BA8 90 08 00 00 */ stw r0, 0(r8)
|
/* 80307C48 00304BA8 90 08 00 00 */ stw r0, 0(r8)
|
||||||
/* 80307C4C 00304BAC 4E 80 00 20 */ blr
|
/* 80307C4C 00304BAC 4E 80 00 20 */ blr
|
||||||
|
@ -72,8 +72,8 @@ SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID:
|
||||||
/* 80307C5C 00304BBC 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 80307C5C 00304BBC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 80307C60 00304BC0 7C 7F 1B 78 */ mr r31, r3
|
/* 80307C60 00304BC0 7C 7F 1B 78 */ mr r31, r3
|
||||||
/* 80307C64 00304BC4 1C 9F 00 1C */ mulli r4, r31, 0x1c
|
/* 80307C64 00304BC4 1C 9F 00 1C */ mulli r4, r31, 0x1c
|
||||||
/* 80307C68 00304BC8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307C68 00304BC8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307C6C 00304BCC 38 03 53 EC */ addi r0, r3, lbl_805A53EC@l
|
/* 80307C6C 00304BCC 38 03 53 EC */ addi r0, r3, sGXState__3CGX@l
|
||||||
/* 80307C70 00304BD0 7C 60 22 14 */ add r3, r0, r4
|
/* 80307C70 00304BD0 7C 60 22 14 */ add r3, r0, r4
|
||||||
/* 80307C74 00304BD4 80 03 00 70 */ lwz r0, 0x70(r3)
|
/* 80307C74 00304BD4 80 03 00 70 */ lwz r0, 0x70(r3)
|
||||||
/* 80307C78 00304BD8 38 E3 00 68 */ addi r7, r3, 0x68
|
/* 80307C78 00304BD8 38 E3 00 68 */ addi r7, r3, 0x68
|
||||||
|
@ -111,9 +111,9 @@ lbl_80307CD4:
|
||||||
SetStandardDirectTev_Compressed__3CGXF13_GXTevStageIDUiUiUiUi:
|
SetStandardDirectTev_Compressed__3CGXF13_GXTevStageIDUiUiUiUi:
|
||||||
/* 80307CE8 00304C48 94 21 FF E0 */ stwu r1, -0x20(r1)
|
/* 80307CE8 00304C48 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||||
/* 80307CEC 00304C4C 7C 08 02 A6 */ mflr r0
|
/* 80307CEC 00304C4C 7C 08 02 A6 */ mflr r0
|
||||||
/* 80307CF0 00304C50 3D 00 80 5A */ lis r8, lbl_805A53EC@ha
|
/* 80307CF0 00304C50 3D 00 80 5A */ lis r8, sGXState__3CGX@ha
|
||||||
/* 80307CF4 00304C54 90 01 00 24 */ stw r0, 0x24(r1)
|
/* 80307CF4 00304C54 90 01 00 24 */ stw r0, 0x24(r1)
|
||||||
/* 80307CF8 00304C58 38 08 53 EC */ addi r0, r8, lbl_805A53EC@l
|
/* 80307CF8 00304C58 38 08 53 EC */ addi r0, r8, sGXState__3CGX@l
|
||||||
/* 80307CFC 00304C5C BF 41 00 08 */ stmw r26, 8(r1)
|
/* 80307CFC 00304C5C BF 41 00 08 */ stmw r26, 8(r1)
|
||||||
/* 80307D00 00304C60 7C 7A 1B 78 */ mr r26, r3
|
/* 80307D00 00304C60 7C 7A 1B 78 */ mr r26, r3
|
||||||
/* 80307D04 00304C64 1D 3A 00 1C */ mulli r9, r26, 0x1c
|
/* 80307D04 00304C64 1D 3A 00 1C */ mulli r9, r26, 0x1c
|
||||||
|
@ -240,10 +240,10 @@ SetIndexedPositionVtxFmt__14CFluidPlaneCPUFv:
|
||||||
SetAttrFmt__11CFluidPlaneF6GXAttr10GXAttrType:
|
SetAttrFmt__11CFluidPlaneF6GXAttr10GXAttrType:
|
||||||
/* 80307EA4 00304E04 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80307EA4 00304E04 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80307EA8 00304E08 7C 08 02 A6 */ mflr r0
|
/* 80307EA8 00304E08 7C 08 02 A6 */ mflr r0
|
||||||
/* 80307EAC 00304E0C 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 80307EAC 00304E0C 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 80307EB0 00304E10 38 C3 FF F7 */ addi r6, r3, -9
|
/* 80307EB0 00304E10 38 C3 FF F7 */ addi r6, r3, -9
|
||||||
/* 80307EB4 00304E14 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80307EB4 00304E14 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80307EB8 00304E18 38 A5 53 EC */ addi r5, r5, lbl_805A53EC@l
|
/* 80307EB8 00304E18 38 A5 53 EC */ addi r5, r5, sGXState__3CGX@l
|
||||||
/* 80307EBC 00304E1C 54 C7 08 3C */ slwi r7, r6, 1
|
/* 80307EBC 00304E1C 54 C7 08 3C */ slwi r7, r6, 1
|
||||||
/* 80307EC0 00304E20 38 00 00 03 */ li r0, 3
|
/* 80307EC0 00304E20 38 00 00 03 */ li r0, 3
|
||||||
/* 80307EC4 00304E24 80 C5 00 48 */ lwz r6, 0x48(r5)
|
/* 80307EC4 00304E24 80 C5 00 48 */ lwz r6, 0x48(r5)
|
||||||
|
@ -266,12 +266,12 @@ lbl_80307EEC:
|
||||||
SetVtxDescv_Compressed__3CGXFUi:
|
SetVtxDescv_Compressed__3CGXFUi:
|
||||||
/* 80307EFC 00304E5C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80307EFC 00304E5C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80307F00 00304E60 7C 08 02 A6 */ mflr r0
|
/* 80307F00 00304E60 7C 08 02 A6 */ mflr r0
|
||||||
/* 80307F04 00304E64 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80307F04 00304E64 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80307F08 00304E68 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80307F08 00304E68 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80307F0C 00304E6C 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 80307F0C 00304E6C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 80307F10 00304E70 7C 7F 1B 78 */ mr r31, r3
|
/* 80307F10 00304E70 7C 7F 1B 78 */ mr r31, r3
|
||||||
/* 80307F14 00304E74 93 C1 00 08 */ stw r30, 8(r1)
|
/* 80307F14 00304E74 93 C1 00 08 */ stw r30, 8(r1)
|
||||||
/* 80307F18 00304E78 3B C4 53 EC */ addi r30, r4, lbl_805A53EC@l
|
/* 80307F18 00304E78 3B C4 53 EC */ addi r30, r4, sGXState__3CGX@l
|
||||||
/* 80307F1C 00304E7C 80 BE 00 48 */ lwz r5, 0x48(r30)
|
/* 80307F1C 00304E7C 80 BE 00 48 */ lwz r5, 0x48(r30)
|
||||||
/* 80307F20 00304E80 7C 1F 28 40 */ cmplw r31, r5
|
/* 80307F20 00304E80 7C 1F 28 40 */ cmplw r31, r5
|
||||||
/* 80307F24 00304E84 41 82 00 7C */ beq lbl_80307FA0
|
/* 80307F24 00304E84 41 82 00 7C */ beq lbl_80307FA0
|
||||||
|
@ -333,27 +333,27 @@ SetIndTexMtxSTPointFive__3CGXF14_GXIndTexMtxIDSc:
|
||||||
FlushState__3CGXFv:
|
FlushState__3CGXFv:
|
||||||
/* 80307FE4 00304F44 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80307FE4 00304F44 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80307FE8 00304F48 7C 08 02 A6 */ mflr r0
|
/* 80307FE8 00304F48 7C 08 02 A6 */ mflr r0
|
||||||
/* 80307FEC 00304F4C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80307FEC 00304F4C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80307FF0 00304F50 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80307FF0 00304F50 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80307FF4 00304F54 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 80307FF4 00304F54 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 80307FF8 00304F58 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 80307FF8 00304F58 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
/* 80307FFC 00304F5C 93 C1 00 08 */ stw r30, 8(r1)
|
/* 80307FFC 00304F5C 93 C1 00 08 */ stw r30, 8(r1)
|
||||||
/* 80308000 00304F60 88 1F 00 4C */ lbz r0, 0x4c(r31)
|
/* 80308000 00304F60 88 1F 00 4C */ lbz r0, 0x4c(r31)
|
||||||
/* 80308004 00304F64 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
/* 80308004 00304F64 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
||||||
/* 80308008 00304F68 41 82 00 1C */ beq lbl_80308024
|
/* 80308008 00304F68 41 82 00 1C */ beq lbl_80308024
|
||||||
/* 8030800C 00304F6C 88 7F 00 4E */ lbz r3, 0x4e(r31)
|
/* 8030800C 00304F6C 88 7F 00 4E */ lbz r3, 0x4e(r31)
|
||||||
/* 80308010 00304F70 48 07 1B 21 */ bl GXSetNumChans
|
/* 80308010 00304F70 48 07 1B 21 */ bl GXSetNumChans
|
||||||
/* 80308014 00304F74 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80308014 00304F74 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80308018 00304F78 88 1F 00 4E */ lbz r0, 0x4e(r31)
|
/* 80308018 00304F78 88 1F 00 4E */ lbz r0, 0x4e(r31)
|
||||||
/* 8030801C 00304F7C 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 8030801C 00304F7C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80308020 00304F80 98 03 00 4D */ stb r0, 0x4d(r3)
|
/* 80308020 00304F80 98 03 00 4D */ stb r0, 0x4d(r3)
|
||||||
lbl_80308024:
|
lbl_80308024:
|
||||||
/* 80308024 00304F84 88 1F 00 4C */ lbz r0, 0x4c(r31)
|
/* 80308024 00304F84 88 1F 00 4C */ lbz r0, 0x4c(r31)
|
||||||
/* 80308028 00304F88 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
/* 80308028 00304F88 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
||||||
/* 8030802C 00304F8C 41 82 00 40 */ beq lbl_8030806C
|
/* 8030802C 00304F8C 41 82 00 40 */ beq lbl_8030806C
|
||||||
/* 80308030 00304F90 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80308030 00304F90 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80308034 00304F94 38 60 00 00 */ li r3, 0
|
/* 80308034 00304F94 38 60 00 00 */ li r3, 0
|
||||||
/* 80308038 00304F98 3B C4 53 EC */ addi r30, r4, lbl_805A53EC@l
|
/* 80308038 00304F98 3B C4 53 EC */ addi r30, r4, sGXState__3CGX@l
|
||||||
/* 8030803C 00304F9C A0 1E 00 34 */ lhz r0, 0x34(r30)
|
/* 8030803C 00304F9C A0 1E 00 34 */ lhz r0, 0x34(r30)
|
||||||
/* 80308040 00304FA0 54 07 EE 3E */ rlwinm r7, r0, 0x1d, 0x18, 0x1f
|
/* 80308040 00304FA0 54 07 EE 3E */ rlwinm r7, r0, 0x1d, 0x18, 0x1f
|
||||||
/* 80308044 00304FA4 54 04 07 FE */ clrlwi r4, r0, 0x1f
|
/* 80308044 00304FA4 54 04 07 FE */ clrlwi r4, r0, 0x1f
|
||||||
|
@ -362,17 +362,17 @@ lbl_80308024:
|
||||||
/* 80308050 00304FB0 54 08 AF BE */ rlwinm r8, r0, 0x15, 0x1e, 0x1f
|
/* 80308050 00304FB0 54 08 AF BE */ rlwinm r8, r0, 0x15, 0x1e, 0x1f
|
||||||
/* 80308054 00304FB4 54 09 9F BE */ rlwinm r9, r0, 0x13, 0x1e, 0x1f
|
/* 80308054 00304FB4 54 09 9F BE */ rlwinm r9, r0, 0x13, 0x1e, 0x1f
|
||||||
/* 80308058 00304FB8 48 07 1B 1D */ bl GXSetChanCtrl
|
/* 80308058 00304FB8 48 07 1B 1D */ bl GXSetChanCtrl
|
||||||
/* 8030805C 00304FBC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8030805C 00304FBC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80308060 00304FC0 A0 1E 00 34 */ lhz r0, 0x34(r30)
|
/* 80308060 00304FC0 A0 1E 00 34 */ lhz r0, 0x34(r30)
|
||||||
/* 80308064 00304FC4 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80308064 00304FC4 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80308068 00304FC8 B0 03 00 30 */ sth r0, 0x30(r3)
|
/* 80308068 00304FC8 B0 03 00 30 */ sth r0, 0x30(r3)
|
||||||
lbl_8030806C:
|
lbl_8030806C:
|
||||||
/* 8030806C 00304FCC 88 1F 00 4C */ lbz r0, 0x4c(r31)
|
/* 8030806C 00304FCC 88 1F 00 4C */ lbz r0, 0x4c(r31)
|
||||||
/* 80308070 00304FD0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
|
/* 80308070 00304FD0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
|
||||||
/* 80308074 00304FD4 41 82 00 40 */ beq lbl_803080B4
|
/* 80308074 00304FD4 41 82 00 40 */ beq lbl_803080B4
|
||||||
/* 80308078 00304FD8 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80308078 00304FD8 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 8030807C 00304FDC 38 60 00 01 */ li r3, 1
|
/* 8030807C 00304FDC 38 60 00 01 */ li r3, 1
|
||||||
/* 80308080 00304FE0 3B C4 53 EC */ addi r30, r4, lbl_805A53EC@l
|
/* 80308080 00304FE0 3B C4 53 EC */ addi r30, r4, sGXState__3CGX@l
|
||||||
/* 80308084 00304FE4 A0 1E 00 36 */ lhz r0, 0x36(r30)
|
/* 80308084 00304FE4 A0 1E 00 36 */ lhz r0, 0x36(r30)
|
||||||
/* 80308088 00304FE8 54 07 EE 3E */ rlwinm r7, r0, 0x1d, 0x18, 0x1f
|
/* 80308088 00304FE8 54 07 EE 3E */ rlwinm r7, r0, 0x1d, 0x18, 0x1f
|
||||||
/* 8030808C 00304FEC 54 04 07 FE */ clrlwi r4, r0, 0x1f
|
/* 8030808C 00304FEC 54 04 07 FE */ clrlwi r4, r0, 0x1f
|
||||||
|
@ -381,9 +381,9 @@ lbl_8030806C:
|
||||||
/* 80308098 00304FF8 54 08 AF BE */ rlwinm r8, r0, 0x15, 0x1e, 0x1f
|
/* 80308098 00304FF8 54 08 AF BE */ rlwinm r8, r0, 0x15, 0x1e, 0x1f
|
||||||
/* 8030809C 00304FFC 54 09 9F BE */ rlwinm r9, r0, 0x13, 0x1e, 0x1f
|
/* 8030809C 00304FFC 54 09 9F BE */ rlwinm r9, r0, 0x13, 0x1e, 0x1f
|
||||||
/* 803080A0 00305000 48 07 1A D5 */ bl GXSetChanCtrl
|
/* 803080A0 00305000 48 07 1A D5 */ bl GXSetChanCtrl
|
||||||
/* 803080A4 00305004 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803080A4 00305004 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803080A8 00305008 A0 1E 00 36 */ lhz r0, 0x36(r30)
|
/* 803080A8 00305008 A0 1E 00 36 */ lhz r0, 0x36(r30)
|
||||||
/* 803080AC 0030500C 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 803080AC 0030500C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 803080B0 00305010 B0 03 00 32 */ sth r0, 0x32(r3)
|
/* 803080B0 00305010 B0 03 00 32 */ sth r0, 0x32(r3)
|
||||||
lbl_803080B4:
|
lbl_803080B4:
|
||||||
/* 803080B4 00305014 38 00 00 00 */ li r0, 0
|
/* 803080B4 00305014 38 00 00 00 */ li r0, 0
|
||||||
|
@ -399,8 +399,8 @@ lbl_803080B4:
|
||||||
sub_803080d4:
|
sub_803080d4:
|
||||||
/* 803080D4 00305034 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 803080D4 00305034 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 803080D8 00305038 7C 08 02 A6 */ mflr r0
|
/* 803080D8 00305038 7C 08 02 A6 */ mflr r0
|
||||||
/* 803080DC 0030503C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803080DC 0030503C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803080E0 00305040 34 63 53 EC */ addic. r3, r3, lbl_805A53EC@l
|
/* 803080E0 00305040 34 63 53 EC */ addic. r3, r3, sGXState__3CGX@l
|
||||||
/* 803080E4 00305044 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 803080E4 00305044 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 803080E8 00305048 41 82 00 08 */ beq lbl_803080F0
|
/* 803080E8 00305048 41 82 00 08 */ beq lbl_803080F0
|
||||||
/* 803080EC 0030504C 48 00 01 B1 */ bl __ct__Q23CGX8SGXStateFv
|
/* 803080EC 0030504C 48 00 01 B1 */ bl __ct__Q23CGX8SGXStateFv
|
||||||
|
@ -415,17 +415,17 @@ lbl_803080F0:
|
||||||
ResetGXStates__3CGXFv:
|
ResetGXStates__3CGXFv:
|
||||||
/* 80308104 00305064 94 21 FF E0 */ stwu r1, -0x20(r1)
|
/* 80308104 00305064 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||||
/* 80308108 00305068 7C 08 02 A6 */ mflr r0
|
/* 80308108 00305068 7C 08 02 A6 */ mflr r0
|
||||||
/* 8030810C 0030506C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8030810C 0030506C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80308110 00305070 90 01 00 24 */ stw r0, 0x24(r1)
|
/* 80308110 00305070 90 01 00 24 */ stw r0, 0x24(r1)
|
||||||
/* 80308114 00305074 38 00 00 00 */ li r0, 0
|
/* 80308114 00305074 38 00 00 00 */ li r0, 0
|
||||||
/* 80308118 00305078 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80308118 00305078 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 8030811C 0030507C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
/* 8030811C 0030507C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||||
/* 80308120 00305080 93 C1 00 18 */ stw r30, 0x18(r1)
|
/* 80308120 00305080 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||||
/* 80308124 00305084 90 03 00 48 */ stw r0, 0x48(r3)
|
/* 80308124 00305084 90 03 00 48 */ stw r0, 0x48(r3)
|
||||||
/* 80308128 00305088 48 06 F6 2D */ bl GXClearVtxDesc
|
/* 80308128 00305088 48 06 F6 2D */ bl GXClearVtxDesc
|
||||||
/* 8030812C 0030508C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 8030812C 0030508C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80308130 00305090 38 00 00 01 */ li r0, 1
|
/* 80308130 00305090 38 00 00 01 */ li r0, 1
|
||||||
/* 80308134 00305094 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 80308134 00305094 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
/* 80308138 00305098 3B C0 00 00 */ li r30, 0
|
/* 80308138 00305098 3B C0 00 00 */ li r30, 0
|
||||||
/* 8030813C 0030509C 90 1F 00 00 */ stw r0, 0(r31)
|
/* 8030813C 0030509C 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
/* 80308140 003050A0 90 1F 00 04 */ stw r0, 4(r31)
|
/* 80308140 003050A0 90 1F 00 04 */ stw r0, 4(r31)
|
||||||
|
@ -669,10 +669,10 @@ __ct__Q23CGX9STevStateFv:
|
||||||
SetLineWidth__3CGXFUc12_GXTexOffset:
|
SetLineWidth__3CGXFUc12_GXTexOffset:
|
||||||
/* 803084B8 00305418 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 803084B8 00305418 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 803084BC 0030541C 7C 08 02 A6 */ mflr r0
|
/* 803084BC 0030541C 7C 08 02 A6 */ mflr r0
|
||||||
/* 803084C0 00305420 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 803084C0 00305420 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 803084C4 00305424 54 86 40 2E */ slwi r6, r4, 8
|
/* 803084C4 00305424 54 86 40 2E */ slwi r6, r4, 8
|
||||||
/* 803084C8 00305428 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 803084C8 00305428 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 803084CC 0030542C 38 A5 53 EC */ addi r5, r5, lbl_805A53EC@l
|
/* 803084CC 0030542C 38 A5 53 EC */ addi r5, r5, sGXState__3CGX@l
|
||||||
/* 803084D0 00305430 50 66 06 3E */ rlwimi r6, r3, 0, 0x18, 0x1f
|
/* 803084D0 00305430 50 66 06 3E */ rlwimi r6, r3, 0, 0x18, 0x1f
|
||||||
/* 803084D4 00305434 A0 05 00 54 */ lhz r0, 0x54(r5)
|
/* 803084D4 00305434 A0 05 00 54 */ lhz r0, 0x54(r5)
|
||||||
/* 803084D8 00305438 54 C6 04 3E */ clrlwi r6, r6, 0x10
|
/* 803084D8 00305438 54 C6 04 3E */ clrlwi r6, r6, 0x10
|
||||||
|
@ -690,9 +690,9 @@ lbl_803084EC:
|
||||||
SetFog__3CGXF10_GXFogTypeffffRC8_GXColor:
|
SetFog__3CGXF10_GXFogTypeffffRC8_GXColor:
|
||||||
/* 803084FC 0030545C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 803084FC 0030545C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308500 00305460 7C 08 02 A6 */ mflr r0
|
/* 80308500 00305460 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308504 00305464 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 80308504 00305464 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 80308508 00305468 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308508 00305468 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 8030850C 0030546C 38 A5 53 EC */ addi r5, r5, lbl_805A53EC@l
|
/* 8030850C 0030546C 38 A5 53 EC */ addi r5, r5, sGXState__3CGX@l
|
||||||
/* 80308510 00305470 A0 05 00 56 */ lhz r0, 0x56(r5)
|
/* 80308510 00305470 A0 05 00 56 */ lhz r0, 0x56(r5)
|
||||||
/* 80308514 00305474 80 84 00 00 */ lwz r4, 0(r4)
|
/* 80308514 00305474 80 84 00 00 */ lwz r4, 0(r4)
|
||||||
/* 80308518 00305478 54 00 06 34 */ rlwinm r0, r0, 0, 0x18, 0x1a
|
/* 80308518 00305478 54 00 06 34 */ rlwinm r0, r0, 0, 0x18, 0x1a
|
||||||
|
@ -732,7 +732,7 @@ End__3CGXFv:
|
||||||
Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs:
|
Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs:
|
||||||
/* 80308584 003054E4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
/* 80308584 003054E4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||||
/* 80308588 003054E8 7C 08 02 A6 */ mflr r0
|
/* 80308588 003054E8 7C 08 02 A6 */ mflr r0
|
||||||
/* 8030858C 003054EC 3C C0 80 5A */ lis r6, lbl_805A53EC@ha
|
/* 8030858C 003054EC 3C C0 80 5A */ lis r6, sGXState__3CGX@ha
|
||||||
/* 80308590 003054F0 90 01 00 24 */ stw r0, 0x24(r1)
|
/* 80308590 003054F0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||||
/* 80308594 003054F4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
/* 80308594 003054F4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||||
/* 80308598 003054F8 7C BF 2B 78 */ mr r31, r5
|
/* 80308598 003054F8 7C BF 2B 78 */ mr r31, r5
|
||||||
|
@ -740,7 +740,7 @@ Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs:
|
||||||
/* 803085A0 00305500 7C 9E 23 78 */ mr r30, r4
|
/* 803085A0 00305500 7C 9E 23 78 */ mr r30, r4
|
||||||
/* 803085A4 00305504 93 A1 00 14 */ stw r29, 0x14(r1)
|
/* 803085A4 00305504 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||||
/* 803085A8 00305508 7C 7D 1B 78 */ mr r29, r3
|
/* 803085A8 00305508 7C 7D 1B 78 */ mr r29, r3
|
||||||
/* 803085AC 0030550C 38 66 53 EC */ addi r3, r6, lbl_805A53EC@l
|
/* 803085AC 0030550C 38 66 53 EC */ addi r3, r6, sGXState__3CGX@l
|
||||||
/* 803085B0 00305510 88 03 00 4C */ lbz r0, 0x4c(r3)
|
/* 803085B0 00305510 88 03 00 4C */ lbz r0, 0x4c(r3)
|
||||||
/* 803085B4 00305514 28 00 00 00 */ cmplwi r0, 0
|
/* 803085B4 00305514 28 00 00 00 */ cmplwi r0, 0
|
||||||
/* 803085B8 00305518 41 82 00 08 */ beq lbl_803085C0
|
/* 803085B8 00305518 41 82 00 08 */ beq lbl_803085C0
|
||||||
|
@ -762,13 +762,13 @@ lbl_803085C0:
|
||||||
CallDisplayList__3CGXFPCvUl:
|
CallDisplayList__3CGXFPCvUl:
|
||||||
/* 803085EC 0030554C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 803085EC 0030554C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 803085F0 00305550 7C 08 02 A6 */ mflr r0
|
/* 803085F0 00305550 7C 08 02 A6 */ mflr r0
|
||||||
/* 803085F4 00305554 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 803085F4 00305554 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 803085F8 00305558 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 803085F8 00305558 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 803085FC 0030555C 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 803085FC 0030555C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 80308600 00305560 7C 9F 23 78 */ mr r31, r4
|
/* 80308600 00305560 7C 9F 23 78 */ mr r31, r4
|
||||||
/* 80308604 00305564 93 C1 00 08 */ stw r30, 8(r1)
|
/* 80308604 00305564 93 C1 00 08 */ stw r30, 8(r1)
|
||||||
/* 80308608 00305568 7C 7E 1B 78 */ mr r30, r3
|
/* 80308608 00305568 7C 7E 1B 78 */ mr r30, r3
|
||||||
/* 8030860C 0030556C 38 65 53 EC */ addi r3, r5, lbl_805A53EC@l
|
/* 8030860C 0030556C 38 65 53 EC */ addi r3, r5, sGXState__3CGX@l
|
||||||
/* 80308610 00305570 88 03 00 4C */ lbz r0, 0x4c(r3)
|
/* 80308610 00305570 88 03 00 4C */ lbz r0, 0x4c(r3)
|
||||||
/* 80308614 00305574 28 00 00 00 */ cmplwi r0, 0
|
/* 80308614 00305574 28 00 00 00 */ cmplwi r0, 0
|
||||||
/* 80308618 00305578 41 82 00 08 */ beq lbl_80308620
|
/* 80308618 00305578 41 82 00 08 */ beq lbl_80308620
|
||||||
|
@ -792,9 +792,9 @@ SetArray__3CGXF7_GXAttrPCvUc:
|
||||||
/* 80308650 003055B0 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308650 003055B0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308654 003055B4 38 03 FF F7 */ addi r0, r3, -9
|
/* 80308654 003055B4 38 03 FF F7 */ addi r0, r3, -9
|
||||||
/* 80308658 003055B8 41 82 00 28 */ beq lbl_80308680
|
/* 80308658 003055B8 41 82 00 28 */ beq lbl_80308680
|
||||||
/* 8030865C 003055BC 3C C0 80 5A */ lis r6, lbl_805A53EC@ha
|
/* 8030865C 003055BC 3C C0 80 5A */ lis r6, sGXState__3CGX@ha
|
||||||
/* 80308660 003055C0 54 07 10 3A */ slwi r7, r0, 2
|
/* 80308660 003055C0 54 07 10 3A */ slwi r7, r0, 2
|
||||||
/* 80308664 003055C4 38 C6 53 EC */ addi r6, r6, lbl_805A53EC@l
|
/* 80308664 003055C4 38 C6 53 EC */ addi r6, r6, sGXState__3CGX@l
|
||||||
/* 80308668 003055C8 7C 06 38 2E */ lwzx r0, r6, r7
|
/* 80308668 003055C8 7C 06 38 2E */ lwzx r0, r6, r7
|
||||||
/* 8030866C 003055CC 7C 00 20 40 */ cmplw r0, r4
|
/* 8030866C 003055CC 7C 00 20 40 */ cmplw r0, r4
|
||||||
/* 80308670 003055D0 40 82 00 08 */ bne lbl_80308678
|
/* 80308670 003055D0 40 82 00 08 */ bne lbl_80308678
|
||||||
|
@ -812,9 +812,9 @@ lbl_80308680:
|
||||||
SetNumIndStages__3CGXFUc:
|
SetNumIndStages__3CGXFUc:
|
||||||
/* 80308690 003055F0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308690 003055F0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308694 003055F4 7C 08 02 A6 */ mflr r0
|
/* 80308694 003055F4 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308698 003055F8 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80308698 003055F8 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 8030869C 003055FC 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 8030869C 003055FC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 803086A0 00305600 38 A4 53 EC */ addi r5, r4, lbl_805A53EC@l
|
/* 803086A0 00305600 38 A4 53 EC */ addi r5, r4, sGXState__3CGX@l
|
||||||
/* 803086A4 00305604 54 60 06 3E */ clrlwi r0, r3, 0x18
|
/* 803086A4 00305604 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||||
/* 803086A8 00305608 88 85 00 51 */ lbz r4, 0x51(r5)
|
/* 803086A8 00305608 88 85 00 51 */ lbz r4, 0x51(r5)
|
||||||
/* 803086AC 0030560C 7C 04 00 40 */ cmplw r4, r0
|
/* 803086AC 0030560C 7C 04 00 40 */ cmplw r4, r0
|
||||||
|
@ -832,7 +832,7 @@ SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_
|
||||||
/* 803086CC 0030562C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 803086CC 0030562C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 803086D0 00305630 7C 08 02 A6 */ mflr r0
|
/* 803086D0 00305630 7C 08 02 A6 */ mflr r0
|
||||||
/* 803086D4 00305634 3D 20 55 55 */ lis r9, 0x55555556@ha
|
/* 803086D4 00305634 3D 20 55 55 */ lis r9, 0x55555556@ha
|
||||||
/* 803086D8 00305638 3D 80 80 5A */ lis r12, lbl_805A53EC@ha
|
/* 803086D8 00305638 3D 80 80 5A */ lis r12, sGXState__3CGX@ha
|
||||||
/* 803086DC 0030563C 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 803086DC 0030563C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 803086E0 00305640 39 49 55 56 */ addi r10, r9, 0x55555556@l
|
/* 803086E0 00305640 39 49 55 56 */ addi r10, r9, 0x55555556@l
|
||||||
/* 803086E4 00305644 38 06 FF E2 */ addi r0, r6, -30
|
/* 803086E4 00305644 38 06 FF E2 */ addi r0, r6, -30
|
||||||
|
@ -840,7 +840,7 @@ SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_
|
||||||
/* 803086EC 0030564C 7D 4A 00 96 */ mulhw r10, r10, r0
|
/* 803086EC 0030564C 7D 4A 00 96 */ mulhw r10, r10, r0
|
||||||
/* 803086F0 00305650 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 803086F0 00305650 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 803086F4 00305654 54 7F 10 3A */ slwi r31, r3, 2
|
/* 803086F4 00305654 54 7F 10 3A */ slwi r31, r3, 2
|
||||||
/* 803086F8 00305658 38 0C 53 EC */ addi r0, r12, lbl_805A53EC@l
|
/* 803086F8 00305658 38 0C 53 EC */ addi r0, r12, sGXState__3CGX@l
|
||||||
/* 803086FC 0030565C 39 68 FF C0 */ addi r11, r8, -64
|
/* 803086FC 0030565C 39 68 FF C0 */ addi r11, r8, -64
|
||||||
/* 80308700 00305660 7D 80 FA 14 */ add r12, r0, r31
|
/* 80308700 00305660 7D 80 FA 14 */ add r12, r0, r31
|
||||||
/* 80308704 00305664 55 40 0F FE */ srwi r0, r10, 0x1f
|
/* 80308704 00305664 55 40 0F FE */ srwi r0, r10, 0x1f
|
||||||
|
@ -866,9 +866,9 @@ SetTevDirect__3CGXF13_GXTevStageID:
|
||||||
/* 80308744 003056A4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308744 003056A4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308748 003056A8 7C 08 02 A6 */ mflr r0
|
/* 80308748 003056A8 7C 08 02 A6 */ mflr r0
|
||||||
/* 8030874C 003056AC 1C A3 00 1C */ mulli r5, r3, 0x1c
|
/* 8030874C 003056AC 1C A3 00 1C */ mulli r5, r3, 0x1c
|
||||||
/* 80308750 003056B0 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80308750 003056B0 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80308754 003056B4 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308754 003056B4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308758 003056B8 38 04 53 EC */ addi r0, r4, lbl_805A53EC@l
|
/* 80308758 003056B8 38 04 53 EC */ addi r0, r4, sGXState__3CGX@l
|
||||||
/* 8030875C 003056BC 7C 80 2A 14 */ add r4, r0, r5
|
/* 8030875C 003056BC 7C 80 2A 14 */ add r4, r0, r5
|
||||||
/* 80308760 003056C0 38 84 00 68 */ addi r4, r4, 0x68
|
/* 80308760 003056C0 38 84 00 68 */ addi r4, r4, 0x68
|
||||||
/* 80308764 003056C4 80 04 00 10 */ lwz r0, 0x10(r4)
|
/* 80308764 003056C4 80 04 00 10 */ lwz r0, 0x10(r4)
|
||||||
|
@ -888,9 +888,9 @@ SetTevIndirect__3CGXF13_GXTevStageID16_GXIndTexStageID15_GXIndTexFormat16_GXIndT
|
||||||
/* 8030878C 003056EC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
/* 8030878C 003056EC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||||
/* 80308790 003056F0 7C 08 02 A6 */ mflr r0
|
/* 80308790 003056F0 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308794 003056F4 54 AB 17 3A */ rlwinm r11, r5, 2, 0x1c, 0x1d
|
/* 80308794 003056F4 54 AB 17 3A */ rlwinm r11, r5, 2, 0x1c, 0x1d
|
||||||
/* 80308798 003056F8 3D 80 80 5A */ lis r12, lbl_805A53EC@ha
|
/* 80308798 003056F8 3D 80 80 5A */ lis r12, sGXState__3CGX@ha
|
||||||
/* 8030879C 003056FC 90 01 00 24 */ stw r0, 0x24(r1)
|
/* 8030879C 003056FC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||||
/* 803087A0 00305700 38 0C 53 EC */ addi r0, r12, lbl_805A53EC@l
|
/* 803087A0 00305700 38 0C 53 EC */ addi r0, r12, sGXState__3CGX@l
|
||||||
/* 803087A4 00305704 1D 83 00 1C */ mulli r12, r3, 0x1c
|
/* 803087A4 00305704 1D 83 00 1C */ mulli r12, r3, 0x1c
|
||||||
/* 803087A8 00305708 50 8B 07 BE */ rlwimi r11, r4, 0, 0x1e, 0x1f
|
/* 803087A8 00305708 50 8B 07 BE */ rlwimi r11, r4, 0, 0x1e, 0x1f
|
||||||
/* 803087AC 0030570C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
/* 803087AC 0030570C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||||
|
@ -925,10 +925,10 @@ lbl_803087FC:
|
||||||
SetAlphaCompare__3CGXF10_GXCompareUc10_GXAlphaOp10_GXCompareUc:
|
SetAlphaCompare__3CGXF10_GXCompareUc10_GXAlphaOp10_GXCompareUc:
|
||||||
/* 80308814 00305774 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308814 00305774 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308818 00305778 7C 08 02 A6 */ mflr r0
|
/* 80308818 00305778 7C 08 02 A6 */ mflr r0
|
||||||
/* 8030881C 0030577C 3D 00 80 5A */ lis r8, lbl_805A53EC@ha
|
/* 8030881C 0030577C 3D 00 80 5A */ lis r8, sGXState__3CGX@ha
|
||||||
/* 80308820 00305780 54 89 1D 78 */ rlwinm r9, r4, 3, 0x15, 0x1c
|
/* 80308820 00305780 54 89 1D 78 */ rlwinm r9, r4, 3, 0x15, 0x1c
|
||||||
/* 80308824 00305784 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308824 00305784 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308828 00305788 39 08 53 EC */ addi r8, r8, lbl_805A53EC@l
|
/* 80308828 00305788 39 08 53 EC */ addi r8, r8, sGXState__3CGX@l
|
||||||
/* 8030882C 0030578C 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 8030882C 0030578C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 80308830 00305790 7C 7F 1B 78 */ mr r31, r3
|
/* 80308830 00305790 7C 7F 1B 78 */ mr r31, r3
|
||||||
/* 80308834 00305794 53 E9 07 7E */ rlwimi r9, r31, 0, 0x1d, 0x1f
|
/* 80308834 00305794 53 E9 07 7E */ rlwimi r9, r31, 0, 0x1d, 0x1f
|
||||||
|
@ -955,12 +955,12 @@ lbl_80308868:
|
||||||
SetZMode__3CGXFb10_GXCompareb:
|
SetZMode__3CGXFb10_GXCompareb:
|
||||||
/* 8030887C 003057DC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 8030887C 003057DC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308880 003057E0 7C 08 02 A6 */ mflr r0
|
/* 80308880 003057E0 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308884 003057E4 3C C0 80 5A */ lis r6, lbl_805A53EC@ha
|
/* 80308884 003057E4 3C C0 80 5A */ lis r6, sGXState__3CGX@ha
|
||||||
/* 80308888 003057E8 54 63 06 3E */ clrlwi r3, r3, 0x18
|
/* 80308888 003057E8 54 63 06 3E */ clrlwi r3, r3, 0x18
|
||||||
/* 8030888C 003057EC 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 8030888C 003057EC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308890 003057F0 54 A0 0D FC */ rlwinm r0, r5, 1, 0x17, 0x1e
|
/* 80308890 003057F0 54 A0 0D FC */ rlwinm r0, r5, 1, 0x17, 0x1e
|
||||||
/* 80308894 003057F4 54 87 15 BA */ rlwinm r7, r4, 2, 0x16, 0x1d
|
/* 80308894 003057F4 54 87 15 BA */ rlwinm r7, r4, 2, 0x16, 0x1d
|
||||||
/* 80308898 003057F8 38 C6 53 EC */ addi r6, r6, lbl_805A53EC@l
|
/* 80308898 003057F8 38 C6 53 EC */ addi r6, r6, sGXState__3CGX@l
|
||||||
/* 8030889C 003057FC 7C 60 03 78 */ or r0, r3, r0
|
/* 8030889C 003057FC 7C 60 03 78 */ or r0, r3, r0
|
||||||
/* 803088A0 00305800 54 A5 06 3E */ clrlwi r5, r5, 0x18
|
/* 803088A0 00305800 54 A5 06 3E */ clrlwi r5, r5, 0x18
|
||||||
/* 803088A4 00305804 7C E7 03 78 */ or r7, r7, r0
|
/* 803088A4 00305804 7C E7 03 78 */ or r7, r7, r0
|
||||||
|
@ -983,9 +983,9 @@ SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp:
|
||||||
/* 803088D8 00305838 90 01 00 24 */ stw r0, 0x24(r1)
|
/* 803088D8 00305838 90 01 00 24 */ stw r0, 0x24(r1)
|
||||||
/* 803088DC 0030583C BF 41 00 08 */ stmw r26, 8(r1)
|
/* 803088DC 0030583C BF 41 00 08 */ stmw r26, 8(r1)
|
||||||
/* 803088E0 00305840 7C 7A 1B 78 */ mr r26, r3
|
/* 803088E0 00305840 7C 7A 1B 78 */ mr r26, r3
|
||||||
/* 803088E4 00305844 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 803088E4 00305844 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 803088E8 00305848 7C 9B 23 78 */ mr r27, r4
|
/* 803088E8 00305848 7C 9B 23 78 */ mr r27, r4
|
||||||
/* 803088EC 0030584C 3B E3 53 EC */ addi r31, r3, lbl_805A53EC@l
|
/* 803088EC 0030584C 3B E3 53 EC */ addi r31, r3, sGXState__3CGX@l
|
||||||
/* 803088F0 00305850 54 84 16 FA */ rlwinm r4, r4, 2, 0x1b, 0x1d
|
/* 803088F0 00305850 54 84 16 FA */ rlwinm r4, r4, 2, 0x1b, 0x1d
|
||||||
/* 803088F4 00305854 7C BC 2B 78 */ mr r28, r5
|
/* 803088F4 00305854 7C BC 2B 78 */ mr r28, r5
|
||||||
/* 803088F8 00305858 7C DD 33 78 */ mr r29, r6
|
/* 803088F8 00305858 7C DD 33 78 */ mr r29, r6
|
||||||
|
@ -1016,10 +1016,10 @@ SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID:
|
||||||
/* 8030894C 003058AC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 8030894C 003058AC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308950 003058B0 7C 08 02 A6 */ mflr r0
|
/* 80308950 003058B0 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308954 003058B4 1D 23 00 1C */ mulli r9, r3, 0x1c
|
/* 80308954 003058B4 1D 23 00 1C */ mulli r9, r3, 0x1c
|
||||||
/* 80308958 003058B8 3D 00 80 5A */ lis r8, lbl_805A53EC@ha
|
/* 80308958 003058B8 3D 00 80 5A */ lis r8, sGXState__3CGX@ha
|
||||||
/* 8030895C 003058BC 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 8030895C 003058BC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308960 003058C0 54 A7 44 2E */ rlwinm r7, r5, 8, 0x10, 0x17
|
/* 80308960 003058C0 54 A7 44 2E */ rlwinm r7, r5, 8, 0x10, 0x17
|
||||||
/* 80308964 003058C4 38 08 53 EC */ addi r0, r8, lbl_805A53EC@l
|
/* 80308964 003058C4 38 08 53 EC */ addi r0, r8, sGXState__3CGX@l
|
||||||
/* 80308968 003058C8 7D 00 4A 14 */ add r8, r0, r9
|
/* 80308968 003058C8 7D 00 4A 14 */ add r8, r0, r9
|
||||||
/* 8030896C 003058CC 39 08 00 68 */ addi r8, r8, 0x68
|
/* 8030896C 003058CC 39 08 00 68 */ addi r8, r8, 0x68
|
||||||
/* 80308970 003058D0 50 87 06 3E */ rlwimi r7, r4, 0, 0x18, 0x1f
|
/* 80308970 003058D0 50 87 06 3E */ rlwimi r7, r4, 0, 0x18, 0x1f
|
||||||
|
@ -1040,9 +1040,9 @@ SetTevKAlphaSel__3CGXF13_GXTevStageID15_GXTevKAlphaSel:
|
||||||
/* 8030899C 003058FC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 8030899C 003058FC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 803089A0 00305900 7C 08 02 A6 */ mflr r0
|
/* 803089A0 00305900 7C 08 02 A6 */ mflr r0
|
||||||
/* 803089A4 00305904 1C C3 00 1C */ mulli r6, r3, 0x1c
|
/* 803089A4 00305904 1C C3 00 1C */ mulli r6, r3, 0x1c
|
||||||
/* 803089A8 00305908 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 803089A8 00305908 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 803089AC 0030590C 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 803089AC 0030590C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 803089B0 00305910 38 05 53 EC */ addi r0, r5, lbl_805A53EC@l
|
/* 803089B0 00305910 38 05 53 EC */ addi r0, r5, sGXState__3CGX@l
|
||||||
/* 803089B4 00305914 7C A0 32 14 */ add r5, r0, r6
|
/* 803089B4 00305914 7C A0 32 14 */ add r5, r0, r6
|
||||||
/* 803089B8 00305918 38 A5 00 68 */ addi r5, r5, 0x68
|
/* 803089B8 00305918 38 A5 00 68 */ addi r5, r5, 0x68
|
||||||
/* 803089BC 0030591C 88 05 00 19 */ lbz r0, 0x19(r5)
|
/* 803089BC 0030591C 88 05 00 19 */ lbz r0, 0x19(r5)
|
||||||
|
@ -1061,9 +1061,9 @@ SetTevKColorSel__3CGXF13_GXTevStageID15_GXTevKColorSel:
|
||||||
/* 803089E0 00305940 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 803089E0 00305940 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 803089E4 00305944 7C 08 02 A6 */ mflr r0
|
/* 803089E4 00305944 7C 08 02 A6 */ mflr r0
|
||||||
/* 803089E8 00305948 1C C3 00 1C */ mulli r6, r3, 0x1c
|
/* 803089E8 00305948 1C C3 00 1C */ mulli r6, r3, 0x1c
|
||||||
/* 803089EC 0030594C 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 803089EC 0030594C 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 803089F0 00305950 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 803089F0 00305950 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 803089F4 00305954 38 05 53 EC */ addi r0, r5, lbl_805A53EC@l
|
/* 803089F4 00305954 38 05 53 EC */ addi r0, r5, sGXState__3CGX@l
|
||||||
/* 803089F8 00305958 7C A0 32 14 */ add r5, r0, r6
|
/* 803089F8 00305958 7C A0 32 14 */ add r5, r0, r6
|
||||||
/* 803089FC 0030595C 38 A5 00 68 */ addi r5, r5, 0x68
|
/* 803089FC 0030595C 38 A5 00 68 */ addi r5, r5, 0x68
|
||||||
/* 80308A00 00305960 88 05 00 18 */ lbz r0, 0x18(r5)
|
/* 80308A00 00305960 88 05 00 18 */ lbz r0, 0x18(r5)
|
||||||
|
@ -1082,10 +1082,10 @@ SetTevAlphaOp_Compressed__3CGXF13_GXTevStageIDUi:
|
||||||
/* 80308A24 00305984 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308A24 00305984 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308A28 00305988 7C 08 02 A6 */ mflr r0
|
/* 80308A28 00305988 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308A2C 0030598C 1C C3 00 1C */ mulli r6, r3, 0x1c
|
/* 80308A2C 0030598C 1C C3 00 1C */ mulli r6, r3, 0x1c
|
||||||
/* 80308A30 00305990 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 80308A30 00305990 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 80308A34 00305994 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308A34 00305994 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308A38 00305998 7C 88 23 78 */ mr r8, r4
|
/* 80308A38 00305998 7C 88 23 78 */ mr r8, r4
|
||||||
/* 80308A3C 0030599C 38 05 53 EC */ addi r0, r5, lbl_805A53EC@l
|
/* 80308A3C 0030599C 38 05 53 EC */ addi r0, r5, sGXState__3CGX@l
|
||||||
/* 80308A40 003059A0 7C 80 32 14 */ add r4, r0, r6
|
/* 80308A40 003059A0 7C 80 32 14 */ add r4, r0, r6
|
||||||
/* 80308A44 003059A4 38 84 00 68 */ addi r4, r4, 0x68
|
/* 80308A44 003059A4 38 84 00 68 */ addi r4, r4, 0x68
|
||||||
/* 80308A48 003059A8 80 04 00 0C */ lwz r0, 0xc(r4)
|
/* 80308A48 003059A8 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||||
|
@ -1109,10 +1109,10 @@ SetTevAlphaOp__3CGXF13_GXTevStageID8_GXTevOp10_GXTevBias11_GXTevScaleUc11_GXTevR
|
||||||
/* 80308A80 003059E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308A80 003059E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308A84 003059E4 7C 08 02 A6 */ mflr r0
|
/* 80308A84 003059E4 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308A88 003059E8 1D 43 00 1C */ mulli r10, r3, 0x1c
|
/* 80308A88 003059E8 1D 43 00 1C */ mulli r10, r3, 0x1c
|
||||||
/* 80308A8C 003059EC 3D 20 80 5A */ lis r9, lbl_805A53EC@ha
|
/* 80308A8C 003059EC 3D 20 80 5A */ lis r9, sGXState__3CGX@ha
|
||||||
/* 80308A90 003059F0 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308A90 003059F0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308A94 003059F4 54 AB 26 B6 */ rlwinm r11, r5, 4, 0x1a, 0x1b
|
/* 80308A94 003059F4 54 AB 26 B6 */ rlwinm r11, r5, 4, 0x1a, 0x1b
|
||||||
/* 80308A98 003059F8 38 09 53 EC */ addi r0, r9, lbl_805A53EC@l
|
/* 80308A98 003059F8 38 09 53 EC */ addi r0, r9, sGXState__3CGX@l
|
||||||
/* 80308A9C 003059FC 7D 20 52 14 */ add r9, r0, r10
|
/* 80308A9C 003059FC 7D 20 52 14 */ add r9, r0, r10
|
||||||
/* 80308AA0 00305A00 50 8B 07 3E */ rlwimi r11, r4, 0, 0x1c, 0x1f
|
/* 80308AA0 00305A00 50 8B 07 3E */ rlwimi r11, r4, 0, 0x1c, 0x1f
|
||||||
/* 80308AA4 00305A04 80 09 00 74 */ lwz r0, 0x74(r9)
|
/* 80308AA4 00305A04 80 09 00 74 */ lwz r0, 0x74(r9)
|
||||||
|
@ -1136,10 +1136,10 @@ SetTevColorOp_Compressed__3CGXF13_GXTevStageIDUi:
|
||||||
/* 80308ADC 00305A3C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308ADC 00305A3C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308AE0 00305A40 7C 08 02 A6 */ mflr r0
|
/* 80308AE0 00305A40 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308AE4 00305A44 1C C3 00 1C */ mulli r6, r3, 0x1c
|
/* 80308AE4 00305A44 1C C3 00 1C */ mulli r6, r3, 0x1c
|
||||||
/* 80308AE8 00305A48 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 80308AE8 00305A48 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 80308AEC 00305A4C 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308AEC 00305A4C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308AF0 00305A50 7C 88 23 78 */ mr r8, r4
|
/* 80308AF0 00305A50 7C 88 23 78 */ mr r8, r4
|
||||||
/* 80308AF4 00305A54 38 05 53 EC */ addi r0, r5, lbl_805A53EC@l
|
/* 80308AF4 00305A54 38 05 53 EC */ addi r0, r5, sGXState__3CGX@l
|
||||||
/* 80308AF8 00305A58 7C 80 32 14 */ add r4, r0, r6
|
/* 80308AF8 00305A58 7C 80 32 14 */ add r4, r0, r6
|
||||||
/* 80308AFC 00305A5C 38 84 00 68 */ addi r4, r4, 0x68
|
/* 80308AFC 00305A5C 38 84 00 68 */ addi r4, r4, 0x68
|
||||||
/* 80308B00 00305A60 80 04 00 08 */ lwz r0, 8(r4)
|
/* 80308B00 00305A60 80 04 00 08 */ lwz r0, 8(r4)
|
||||||
|
@ -1163,10 +1163,10 @@ SetTevColorOp__3CGXF13_GXTevStageID8_GXTevOp10_GXTevBias11_GXTevScaleUc11_GXTevR
|
||||||
/* 80308B38 00305A98 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308B38 00305A98 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308B3C 00305A9C 7C 08 02 A6 */ mflr r0
|
/* 80308B3C 00305A9C 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308B40 00305AA0 1D 43 00 1C */ mulli r10, r3, 0x1c
|
/* 80308B40 00305AA0 1D 43 00 1C */ mulli r10, r3, 0x1c
|
||||||
/* 80308B44 00305AA4 3D 20 80 5A */ lis r9, lbl_805A53EC@ha
|
/* 80308B44 00305AA4 3D 20 80 5A */ lis r9, sGXState__3CGX@ha
|
||||||
/* 80308B48 00305AA8 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308B48 00305AA8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308B4C 00305AAC 54 AB 26 B6 */ rlwinm r11, r5, 4, 0x1a, 0x1b
|
/* 80308B4C 00305AAC 54 AB 26 B6 */ rlwinm r11, r5, 4, 0x1a, 0x1b
|
||||||
/* 80308B50 00305AB0 38 09 53 EC */ addi r0, r9, lbl_805A53EC@l
|
/* 80308B50 00305AB0 38 09 53 EC */ addi r0, r9, sGXState__3CGX@l
|
||||||
/* 80308B54 00305AB4 7D 20 52 14 */ add r9, r0, r10
|
/* 80308B54 00305AB4 7D 20 52 14 */ add r9, r0, r10
|
||||||
/* 80308B58 00305AB8 50 8B 07 3E */ rlwimi r11, r4, 0, 0x1c, 0x1f
|
/* 80308B58 00305AB8 50 8B 07 3E */ rlwimi r11, r4, 0, 0x1c, 0x1f
|
||||||
/* 80308B5C 00305ABC 80 09 00 70 */ lwz r0, 0x70(r9)
|
/* 80308B5C 00305ABC 80 09 00 70 */ lwz r0, 0x70(r9)
|
||||||
|
@ -1190,10 +1190,10 @@ SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlpha
|
||||||
/* 80308B94 00305AF4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308B94 00305AF4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308B98 00305AF8 7C 08 02 A6 */ mflr r0
|
/* 80308B98 00305AF8 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308B9C 00305AFC 1D 23 00 1C */ mulli r9, r3, 0x1c
|
/* 80308B9C 00305AFC 1D 23 00 1C */ mulli r9, r3, 0x1c
|
||||||
/* 80308BA0 00305B00 3D 00 80 5A */ lis r8, lbl_805A53EC@ha
|
/* 80308BA0 00305B00 3D 00 80 5A */ lis r8, sGXState__3CGX@ha
|
||||||
/* 80308BA4 00305B04 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308BA4 00305B04 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308BA8 00305B08 54 AA 2D B4 */ rlwinm r10, r5, 5, 0x16, 0x1a
|
/* 80308BA8 00305B08 54 AA 2D B4 */ rlwinm r10, r5, 5, 0x16, 0x1a
|
||||||
/* 80308BAC 00305B0C 38 08 53 EC */ addi r0, r8, lbl_805A53EC@l
|
/* 80308BAC 00305B0C 38 08 53 EC */ addi r0, r8, sGXState__3CGX@l
|
||||||
/* 80308BB0 00305B10 7D 00 4A 14 */ add r8, r0, r9
|
/* 80308BB0 00305B10 7D 00 4A 14 */ add r8, r0, r9
|
||||||
/* 80308BB4 00305B14 50 8A 06 FE */ rlwimi r10, r4, 0, 0x1b, 0x1f
|
/* 80308BB4 00305B14 50 8A 06 FE */ rlwimi r10, r4, 0, 0x1b, 0x1f
|
||||||
/* 80308BB8 00305B18 80 08 00 6C */ lwz r0, 0x6c(r8)
|
/* 80308BB8 00305B18 80 08 00 6C */ lwz r0, 0x6c(r8)
|
||||||
|
@ -1216,10 +1216,10 @@ SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColor
|
||||||
/* 80308BEC 00305B4C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308BEC 00305B4C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308BF0 00305B50 7C 08 02 A6 */ mflr r0
|
/* 80308BF0 00305B50 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308BF4 00305B54 1D 23 00 1C */ mulli r9, r3, 0x1c
|
/* 80308BF4 00305B54 1D 23 00 1C */ mulli r9, r3, 0x1c
|
||||||
/* 80308BF8 00305B58 3D 00 80 5A */ lis r8, lbl_805A53EC@ha
|
/* 80308BF8 00305B58 3D 00 80 5A */ lis r8, sGXState__3CGX@ha
|
||||||
/* 80308BFC 00305B5C 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308BFC 00305B5C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308C00 00305B60 54 AA 2D B4 */ rlwinm r10, r5, 5, 0x16, 0x1a
|
/* 80308C00 00305B60 54 AA 2D B4 */ rlwinm r10, r5, 5, 0x16, 0x1a
|
||||||
/* 80308C04 00305B64 38 08 53 EC */ addi r0, r8, lbl_805A53EC@l
|
/* 80308C04 00305B64 38 08 53 EC */ addi r0, r8, sGXState__3CGX@l
|
||||||
/* 80308C08 00305B68 7D 00 4A 14 */ add r8, r0, r9
|
/* 80308C08 00305B68 7D 00 4A 14 */ add r8, r0, r9
|
||||||
/* 80308C0C 00305B6C 50 8A 06 FE */ rlwimi r10, r4, 0, 0x1b, 0x1f
|
/* 80308C0C 00305B6C 50 8A 06 FE */ rlwimi r10, r4, 0, 0x1b, 0x1f
|
||||||
/* 80308C10 00305B70 80 08 00 68 */ lwz r0, 0x68(r8)
|
/* 80308C10 00305B70 80 08 00 68 */ lwz r0, 0x68(r8)
|
||||||
|
@ -1241,10 +1241,10 @@ lbl_80308C34:
|
||||||
SetTevKColor__3CGXF14_GXTevKColorIDRC8_GXColor:
|
SetTevKColor__3CGXF14_GXTevKColorIDRC8_GXColor:
|
||||||
/* 80308C44 00305BA4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308C44 00305BA4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308C48 00305BA8 7C 08 02 A6 */ mflr r0
|
/* 80308C48 00305BA8 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308C4C 00305BAC 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 80308C4C 00305BAC 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 80308C50 00305BB0 54 66 10 3A */ slwi r6, r3, 2
|
/* 80308C50 00305BB0 54 66 10 3A */ slwi r6, r3, 2
|
||||||
/* 80308C54 00305BB4 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308C54 00305BB4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308C58 00305BB8 38 05 53 EC */ addi r0, r5, lbl_805A53EC@l
|
/* 80308C58 00305BB8 38 05 53 EC */ addi r0, r5, sGXState__3CGX@l
|
||||||
/* 80308C5C 00305BBC 80 A4 00 00 */ lwz r5, 0(r4)
|
/* 80308C5C 00305BBC 80 A4 00 00 */ lwz r5, 0(r4)
|
||||||
/* 80308C60 00305BC0 7C 80 32 14 */ add r4, r0, r6
|
/* 80308C60 00305BC0 7C 80 32 14 */ add r4, r0, r6
|
||||||
/* 80308C64 00305BC4 84 04 00 58 */ lwzu r0, 0x58(r4)
|
/* 80308C64 00305BC4 84 04 00 58 */ lwzu r0, 0x58(r4)
|
||||||
|
@ -1264,9 +1264,9 @@ lbl_80308C80:
|
||||||
SetNumTevStages__3CGXFUc:
|
SetNumTevStages__3CGXFUc:
|
||||||
/* 80308C90 00305BF0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308C90 00305BF0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308C94 00305BF4 7C 08 02 A6 */ mflr r0
|
/* 80308C94 00305BF4 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308C98 00305BF8 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80308C98 00305BF8 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80308C9C 00305BFC 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308C9C 00305BFC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308CA0 00305C00 38 A4 53 EC */ addi r5, r4, lbl_805A53EC@l
|
/* 80308CA0 00305C00 38 A4 53 EC */ addi r5, r4, sGXState__3CGX@l
|
||||||
/* 80308CA4 00305C04 54 60 06 3E */ clrlwi r0, r3, 0x18
|
/* 80308CA4 00305C04 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||||
/* 80308CA8 00305C08 88 85 00 50 */ lbz r4, 0x50(r5)
|
/* 80308CA8 00305C08 88 85 00 50 */ lbz r4, 0x50(r5)
|
||||||
/* 80308CAC 00305C0C 7C 04 00 40 */ cmplw r4, r0
|
/* 80308CAC 00305C0C 7C 04 00 40 */ cmplw r4, r0
|
||||||
|
@ -1282,10 +1282,10 @@ lbl_80308CBC:
|
||||||
.global SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn
|
.global SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn
|
||||||
SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn:
|
SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn:
|
||||||
/* 80308CCC 00305C2C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308CCC 00305C2C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308CD0 00305C30 3D 40 80 5A */ lis r10, lbl_805A53EC@ha
|
/* 80308CD0 00305C30 3D 40 80 5A */ lis r10, sGXState__3CGX@ha
|
||||||
/* 80308CD4 00305C34 54 6B 08 3C */ slwi r11, r3, 1
|
/* 80308CD4 00305C34 54 6B 08 3C */ slwi r11, r3, 1
|
||||||
/* 80308CD8 00305C38 2C 07 00 00 */ cmpwi r7, 0
|
/* 80308CD8 00305C38 2C 07 00 00 */ cmpwi r7, 0
|
||||||
/* 80308CDC 00305C3C 38 0A 53 EC */ addi r0, r10, lbl_805A53EC@l
|
/* 80308CDC 00305C3C 38 0A 53 EC */ addi r0, r10, sGXState__3CGX@l
|
||||||
/* 80308CE0 00305C40 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 80308CE0 00305C40 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 80308CE4 00305C44 7D 40 5A 14 */ add r10, r0, r11
|
/* 80308CE4 00305C44 7D 40 5A 14 */ add r10, r0, r11
|
||||||
/* 80308CE8 00305C48 A3 EA 00 30 */ lhz r31, 0x30(r10)
|
/* 80308CE8 00305C48 A3 EA 00 30 */ lhz r31, 0x30(r10)
|
||||||
|
@ -1294,13 +1294,13 @@ SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_G
|
||||||
/* 80308CF4 00305C54 38 80 00 00 */ li r4, 0
|
/* 80308CF4 00305C54 38 80 00 00 */ li r4, 0
|
||||||
lbl_80308CF8:
|
lbl_80308CF8:
|
||||||
/* 80308CF8 00305C58 54 AB 0F BC */ rlwinm r11, r5, 1, 0x1e, 0x1e
|
/* 80308CF8 00305C58 54 AB 0F BC */ rlwinm r11, r5, 1, 0x1e, 0x1e
|
||||||
/* 80308CFC 00305C5C 3D 40 80 5A */ lis r10, lbl_805A53EC@ha
|
/* 80308CFC 00305C5C 3D 40 80 5A */ lis r10, sGXState__3CGX@ha
|
||||||
/* 80308D00 00305C60 50 8B 07 FE */ rlwimi r11, r4, 0, 0x1f, 0x1f
|
/* 80308D00 00305C60 50 8B 07 FE */ rlwimi r11, r4, 0, 0x1f, 0x1f
|
||||||
/* 80308D04 00305C64 38 A3 00 01 */ addi r5, r3, 1
|
/* 80308D04 00305C64 38 A3 00 01 */ addi r5, r3, 1
|
||||||
/* 80308D08 00305C68 50 CB 17 7A */ rlwimi r11, r6, 2, 0x1d, 0x1d
|
/* 80308D08 00305C68 50 CB 17 7A */ rlwimi r11, r6, 2, 0x1d, 0x1d
|
||||||
/* 80308D0C 00305C6C 38 00 00 01 */ li r0, 1
|
/* 80308D0C 00305C6C 38 00 00 01 */ li r0, 1
|
||||||
/* 80308D10 00305C70 50 EB 1D 78 */ rlwimi r11, r7, 3, 0x15, 0x1c
|
/* 80308D10 00305C70 50 EB 1D 78 */ rlwimi r11, r7, 3, 0x15, 0x1c
|
||||||
/* 80308D14 00305C74 39 4A 53 EC */ addi r10, r10, lbl_805A53EC@l
|
/* 80308D14 00305C74 39 4A 53 EC */ addi r10, r10, sGXState__3CGX@l
|
||||||
/* 80308D18 00305C78 51 0B 5C E8 */ rlwimi r11, r8, 0xb, 0x13, 0x14
|
/* 80308D18 00305C78 51 0B 5C E8 */ rlwimi r11, r8, 0xb, 0x13, 0x14
|
||||||
/* 80308D1C 00305C7C 7C 00 28 30 */ slw r0, r0, r5
|
/* 80308D1C 00305C7C 7C 00 28 30 */ slw r0, r0, r5
|
||||||
/* 80308D20 00305C80 7D 63 5B 78 */ mr r3, r11
|
/* 80308D20 00305C80 7D 63 5B 78 */ mr r3, r11
|
||||||
|
@ -1323,10 +1323,10 @@ lbl_80308CF8:
|
||||||
SetChanMatColor__3CGXFQ23CGX10EChannelIdRC8_GXColor:
|
SetChanMatColor__3CGXFQ23CGX10EChannelIdRC8_GXColor:
|
||||||
/* 80308D5C 00305CBC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308D5C 00305CBC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308D60 00305CC0 7C 08 02 A6 */ mflr r0
|
/* 80308D60 00305CC0 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308D64 00305CC4 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 80308D64 00305CC4 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 80308D68 00305CC8 54 66 10 3A */ slwi r6, r3, 2
|
/* 80308D68 00305CC8 54 66 10 3A */ slwi r6, r3, 2
|
||||||
/* 80308D6C 00305CCC 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308D6C 00305CCC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308D70 00305CD0 38 05 53 EC */ addi r0, r5, lbl_805A53EC@l
|
/* 80308D70 00305CD0 38 05 53 EC */ addi r0, r5, sGXState__3CGX@l
|
||||||
/* 80308D74 00305CD4 80 E4 00 00 */ lwz r7, 0(r4)
|
/* 80308D74 00305CD4 80 E4 00 00 */ lwz r7, 0(r4)
|
||||||
/* 80308D78 00305CD8 7C 80 32 14 */ add r4, r0, r6
|
/* 80308D78 00305CD8 7C 80 32 14 */ add r4, r0, r6
|
||||||
/* 80308D7C 00305CDC 84 04 00 40 */ lwzu r0, 0x40(r4)
|
/* 80308D7C 00305CDC 84 04 00 40 */ lwzu r0, 0x40(r4)
|
||||||
|
@ -1345,9 +1345,9 @@ lbl_80308D9C:
|
||||||
|
|
||||||
.global GetChanAmbColor__3CGXFQ23CGX10EChannelId
|
.global GetChanAmbColor__3CGXFQ23CGX10EChannelId
|
||||||
GetChanAmbColor__3CGXFQ23CGX10EChannelId:
|
GetChanAmbColor__3CGXFQ23CGX10EChannelId:
|
||||||
/* 80308DAC 00305D0C 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80308DAC 00305D0C 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80308DB0 00305D10 54 60 10 3A */ slwi r0, r3, 2
|
/* 80308DB0 00305D10 54 60 10 3A */ slwi r0, r3, 2
|
||||||
/* 80308DB4 00305D14 38 64 53 EC */ addi r3, r4, lbl_805A53EC@l
|
/* 80308DB4 00305D14 38 64 53 EC */ addi r3, r4, sGXState__3CGX@l
|
||||||
/* 80308DB8 00305D18 7C 63 02 14 */ add r3, r3, r0
|
/* 80308DB8 00305D18 7C 63 02 14 */ add r3, r3, r0
|
||||||
/* 80308DBC 00305D1C 80 63 00 38 */ lwz r3, 0x38(r3)
|
/* 80308DBC 00305D1C 80 63 00 38 */ lwz r3, 0x38(r3)
|
||||||
/* 80308DC0 00305D20 4E 80 00 20 */ blr
|
/* 80308DC0 00305D20 4E 80 00 20 */ blr
|
||||||
|
@ -1356,10 +1356,10 @@ GetChanAmbColor__3CGXFQ23CGX10EChannelId:
|
||||||
SetChanAmbColor__3CGXFQ23CGX10EChannelIdRC8_GXColor:
|
SetChanAmbColor__3CGXFQ23CGX10EChannelIdRC8_GXColor:
|
||||||
/* 80308DC4 00305D24 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308DC4 00305D24 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308DC8 00305D28 7C 08 02 A6 */ mflr r0
|
/* 80308DC8 00305D28 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308DCC 00305D2C 3C A0 80 5A */ lis r5, lbl_805A53EC@ha
|
/* 80308DCC 00305D2C 3C A0 80 5A */ lis r5, sGXState__3CGX@ha
|
||||||
/* 80308DD0 00305D30 54 66 10 3A */ slwi r6, r3, 2
|
/* 80308DD0 00305D30 54 66 10 3A */ slwi r6, r3, 2
|
||||||
/* 80308DD4 00305D34 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308DD4 00305D34 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308DD8 00305D38 38 05 53 EC */ addi r0, r5, lbl_805A53EC@l
|
/* 80308DD8 00305D38 38 05 53 EC */ addi r0, r5, sGXState__3CGX@l
|
||||||
/* 80308DDC 00305D3C 80 E4 00 00 */ lwz r7, 0(r4)
|
/* 80308DDC 00305D3C 80 E4 00 00 */ lwz r7, 0(r4)
|
||||||
/* 80308DE0 00305D40 7C 80 32 14 */ add r4, r0, r6
|
/* 80308DE0 00305D40 7C 80 32 14 */ add r4, r0, r6
|
||||||
/* 80308DE4 00305D44 84 04 00 38 */ lwzu r0, 0x38(r4)
|
/* 80308DE4 00305D44 84 04 00 38 */ lwzu r0, 0x38(r4)
|
||||||
|
@ -1380,10 +1380,10 @@ lbl_80308E04:
|
||||||
SetNumTexGens__3CGXFUc:
|
SetNumTexGens__3CGXFUc:
|
||||||
/* 80308E14 00305D74 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308E14 00305D74 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308E18 00305D78 7C 08 02 A6 */ mflr r0
|
/* 80308E18 00305D78 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308E1C 00305D7C 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80308E1C 00305D7C 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80308E20 00305D80 54 65 06 3E */ clrlwi r5, r3, 0x18
|
/* 80308E20 00305D80 54 65 06 3E */ clrlwi r5, r3, 0x18
|
||||||
/* 80308E24 00305D84 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308E24 00305D84 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308E28 00305D88 38 84 53 EC */ addi r4, r4, lbl_805A53EC@l
|
/* 80308E28 00305D88 38 84 53 EC */ addi r4, r4, sGXState__3CGX@l
|
||||||
/* 80308E2C 00305D8C 88 04 00 4F */ lbz r0, 0x4f(r4)
|
/* 80308E2C 00305D8C 88 04 00 4F */ lbz r0, 0x4f(r4)
|
||||||
/* 80308E30 00305D90 7C 05 00 40 */ cmplw r5, r0
|
/* 80308E30 00305D90 7C 05 00 40 */ cmplw r5, r0
|
||||||
/* 80308E34 00305D94 41 82 00 0C */ beq lbl_80308E40
|
/* 80308E34 00305D94 41 82 00 0C */ beq lbl_80308E40
|
||||||
|
@ -1397,9 +1397,9 @@ lbl_80308E40:
|
||||||
|
|
||||||
.global SetNumChans__3CGXFUc
|
.global SetNumChans__3CGXFUc
|
||||||
SetNumChans__3CGXFUc:
|
SetNumChans__3CGXFUc:
|
||||||
/* 80308E50 00305DB0 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 80308E50 00305DB0 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 80308E54 00305DB4 54 66 06 3E */ clrlwi r6, r3, 0x18
|
/* 80308E54 00305DB4 54 66 06 3E */ clrlwi r6, r3, 0x18
|
||||||
/* 80308E58 00305DB8 38 E4 53 EC */ addi r7, r4, lbl_805A53EC@l
|
/* 80308E58 00305DB8 38 E4 53 EC */ addi r7, r4, sGXState__3CGX@l
|
||||||
/* 80308E5C 00305DBC 88 87 00 4D */ lbz r4, 0x4d(r7)
|
/* 80308E5C 00305DBC 88 87 00 4D */ lbz r4, 0x4d(r7)
|
||||||
/* 80308E60 00305DC0 88 07 00 4C */ lbz r0, 0x4c(r7)
|
/* 80308E60 00305DC0 88 07 00 4C */ lbz r0, 0x4c(r7)
|
||||||
/* 80308E64 00305DC4 7C A6 20 50 */ subf r5, r6, r4
|
/* 80308E64 00305DC4 7C A6 20 50 */ subf r5, r6, r4
|
||||||
|
@ -1414,9 +1414,9 @@ SetNumChans__3CGXFUc:
|
||||||
__sinit_CGX_cpp:
|
__sinit_CGX_cpp:
|
||||||
/* 80308E80 00305DE0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 80308E80 00305DE0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 80308E84 00305DE4 7C 08 02 A6 */ mflr r0
|
/* 80308E84 00305DE4 7C 08 02 A6 */ mflr r0
|
||||||
/* 80308E88 00305DE8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
|
/* 80308E88 00305DE8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
|
||||||
/* 80308E8C 00305DEC 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 80308E8C 00305DEC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 80308E90 00305DF0 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
|
/* 80308E90 00305DF0 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
|
||||||
/* 80308E94 00305DF4 4B FF F4 09 */ bl __ct__Q23CGX8SGXStateFv
|
/* 80308E94 00305DF4 4B FF F4 09 */ bl __ct__Q23CGX8SGXStateFv
|
||||||
/* 80308E98 00305DF8 80 01 00 14 */ lwz r0, 0x14(r1)
|
/* 80308E98 00305DF8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||||
/* 80308E9C 00305DFC 7C 08 03 A6 */ mtlr r0
|
/* 80308E9C 00305DFC 7C 08 03 A6 */ mtlr r0
|
||||||
|
|
|
@ -4094,8 +4094,8 @@ lbl_800B4350:
|
||||||
|
|
||||||
.global update_fog__3CGXFUi
|
.global update_fog__3CGXFUi
|
||||||
update_fog__3CGXFUi:
|
update_fog__3CGXFUi:
|
||||||
/* 800B4378 000B12D8 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
|
/* 800B4378 000B12D8 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
|
||||||
/* 800B437C 000B12DC 38 A4 53 EC */ addi r5, r4, lbl_805A53EC@l
|
/* 800B437C 000B12DC 38 A4 53 EC */ addi r5, r4, sGXState__3CGX@l
|
||||||
/* 800B4380 000B12E0 88 05 00 53 */ lbz r0, 0x53(r5)
|
/* 800B4380 000B12E0 88 05 00 53 */ lbz r0, 0x53(r5)
|
||||||
/* 800B4384 000B12E4 28 00 00 00 */ cmplwi r0, 0
|
/* 800B4384 000B12E4 28 00 00 00 */ cmplwi r0, 0
|
||||||
/* 800B4388 000B12E8 4D 82 00 20 */ beqlr
|
/* 800B4388 000B12E8 4D 82 00 20 */ beqlr
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
#ifndef _CCUBEMATERIAL_HPP
|
||||||
|
#define _CCUBEMATERIAL_HPP
|
||||||
|
|
||||||
|
#include "types.h"
|
||||||
|
|
||||||
|
#include "Kyoto/Graphics/CModelFlags.hpp"
|
||||||
|
#include "Kyoto/Math/CVector3f.hpp"
|
||||||
|
|
||||||
|
extern CVector3f sPlayerPosition;
|
||||||
|
|
||||||
|
class CCubeMaterial {
|
||||||
|
public:
|
||||||
|
private:
|
||||||
|
void SetupBlendMode(u32 blendFactors, const CModelFlags& flags, bool alphaTest);
|
||||||
|
|
||||||
|
static CVector3f sViewingFrom;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,103 @@
|
||||||
|
#ifndef _CGX_HPP
|
||||||
|
#define _CGX_HPP
|
||||||
|
|
||||||
|
#include "types.h"
|
||||||
|
|
||||||
|
#include "dolphin/gx.h"
|
||||||
|
|
||||||
|
class CGX {
|
||||||
|
public:
|
||||||
|
struct STevState {
|
||||||
|
u32 x0_colorInArgs;
|
||||||
|
u32 x4_alphaInArgs;
|
||||||
|
u32 x8_colorOps;
|
||||||
|
u32 xc_alphaOps;
|
||||||
|
u32 x10_indFlags;
|
||||||
|
u32 x14_tevOrderFlags;
|
||||||
|
u32 x18_kColorSel;
|
||||||
|
u32 x19_kAlphaSel;
|
||||||
|
|
||||||
|
STevState();
|
||||||
|
};
|
||||||
|
|
||||||
|
struct STexState {
|
||||||
|
u32 x0_coordGen;
|
||||||
|
|
||||||
|
STexState();
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SFogParams {
|
||||||
|
f32 x0_fogStartZ;
|
||||||
|
f32 x4_fogEndZ;
|
||||||
|
f32 x8_fogNearZ;
|
||||||
|
f32 xc_fogFarZ;
|
||||||
|
GXColor x10_fogColor;
|
||||||
|
|
||||||
|
SFogParams(); /* {
|
||||||
|
x0_fogStartZ = 0.f;
|
||||||
|
x4_fogEndZ = 1.f;
|
||||||
|
x8_fogNearZ = 0.1f;
|
||||||
|
xc_fogFarZ = 1.f;
|
||||||
|
}*/
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SGXState {
|
||||||
|
void* x0_arrayPtrs[12];
|
||||||
|
u16 x30_prevChanCtrls[2];
|
||||||
|
u16 x34_chanCtrls[2];
|
||||||
|
GXColor x38_chanAmbColors[2];
|
||||||
|
GXColor x40_chanMatColors[2];
|
||||||
|
u32 x48_descList;
|
||||||
|
u8 x4c_ : 5;
|
||||||
|
u8 x4c_dirtyChanCtrl : 2;
|
||||||
|
u8 x4c_numChansDirty : 1;
|
||||||
|
u8 x4d_prevNumChans;
|
||||||
|
u8 x4e_numChans;
|
||||||
|
u8 x4f_numTexGens;
|
||||||
|
u8 x50_numTevStages;
|
||||||
|
u8 x51_numIndStages;
|
||||||
|
u8 x52_zmode;
|
||||||
|
u8 x53_fogType;
|
||||||
|
u16 x54_lineWidthAndOffset;
|
||||||
|
u16 x56_blendMode;
|
||||||
|
GXColor x58_kColors[4];
|
||||||
|
STevState x68_tevStates[16];
|
||||||
|
STexState x228_texStates[8];
|
||||||
|
u32 x248_alphaCompare;
|
||||||
|
SFogParams x24c_fogParams;
|
||||||
|
|
||||||
|
SGXState();
|
||||||
|
};
|
||||||
|
|
||||||
|
enum EChannelId {
|
||||||
|
Channel0, // GX_COLOR0
|
||||||
|
Channel1, // GX_COLOR1
|
||||||
|
};
|
||||||
|
|
||||||
|
static void SetNumChans(u8 num);
|
||||||
|
static void SetNumTexGens(u8 num);
|
||||||
|
static void SetNumTevStages(u8 num);
|
||||||
|
static void SetChanAmbColor(EChannelId channel, const GXColor& color);
|
||||||
|
static void SetChanMatColor(EChannelId channel, const GXColor& color);
|
||||||
|
static void SetChanCtrl(EChannelId channel, GXBool enable, GXColorSrc ambSrc, GXColorSrc matSrc, GXLightID lights, GXDiffuseFn diffFn,
|
||||||
|
GXAttnFn attnFn);
|
||||||
|
static void SetTevKColor(GXTevKColorID id, const GXColor& color);
|
||||||
|
static void SetTevColorIn(GXTevStageID stageId, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, GXTevColorArg d);
|
||||||
|
|
||||||
|
static GXColor GetChanAmbColor(EChannelId channel);
|
||||||
|
|
||||||
|
static inline bool CompareGXColors(const GXColor& lhs, const GXColor& rhs) {
|
||||||
|
return *reinterpret_cast< const u32* >(&lhs) == *reinterpret_cast< const u32* >(&rhs);
|
||||||
|
}
|
||||||
|
static inline void CopyGXColor(GXColor& dst, const GXColor& src) {
|
||||||
|
*reinterpret_cast< u32* >(&dst) = *reinterpret_cast< const u32* >(&src);
|
||||||
|
}
|
||||||
|
static inline u32 MaskAndShiftLeft(u32 a, u32 b, u32 s) {
|
||||||
|
return (a & b) << s;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
static SGXState sGXState;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -89,7 +89,7 @@ public:
|
||||||
CTransform4f& operator*(const CVector3f& vec);
|
CTransform4f& operator*(const CVector3f& vec);
|
||||||
|
|
||||||
static CTransform4f FromColumns(const CVector3f&, const CVector3f&, const CVector3f&, const CVector3f&);
|
static CTransform4f FromColumns(const CVector3f&, const CVector3f&, const CVector3f&, const CVector3f&);
|
||||||
static CTransform4f sIdentity;
|
static const CTransform4f& Identity() { return sIdentity; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CVector3f m0;
|
CVector3f m0;
|
||||||
|
@ -98,6 +98,8 @@ private:
|
||||||
f32 posY;
|
f32 posY;
|
||||||
CVector3f m2;
|
CVector3f m2;
|
||||||
f32 posZ;
|
f32 posZ;
|
||||||
|
|
||||||
|
static CTransform4f sIdentity;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline bool operator==(const CTransform4f& lhs, const CTransform4f& rhs);
|
inline bool operator==(const CTransform4f& lhs, const CTransform4f& rhs);
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
|
|
||||||
#include "MetroidPrime/CEntity.hpp"
|
#include "MetroidPrime/CEntity.hpp"
|
||||||
#include "MetroidPrime/CModelData.hpp"
|
#include "MetroidPrime/CModelData.hpp"
|
||||||
#include "MetroidPrime/CModelFlags.hpp"
|
|
||||||
|
|
||||||
#include "Kyoto/Audio/CSfxHandle.hpp"
|
#include "Kyoto/Audio/CSfxHandle.hpp"
|
||||||
#include "Kyoto/Graphics/CColor.hpp"
|
#include "Kyoto/Graphics/CColor.hpp"
|
||||||
|
#include "Kyoto/Graphics/CModelFlags.hpp"
|
||||||
#include "Kyoto/Math/CAABox.hpp"
|
#include "Kyoto/Math/CAABox.hpp"
|
||||||
#include "Kyoto/Math/CTransform4f.hpp"
|
#include "Kyoto/Math/CTransform4f.hpp"
|
||||||
#include "Kyoto/TToken.hpp"
|
#include "Kyoto/TToken.hpp"
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
#ifndef DOLPHIN_GX_H
|
||||||
|
#define DOLPHIN_GX_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXBump.h>
|
||||||
|
#include <dolphin/gx/GXCommandList.h>
|
||||||
|
#include <dolphin/gx/GXCull.h>
|
||||||
|
#include <dolphin/gx/GXDispList.h>
|
||||||
|
#include <dolphin/gx/GXDraw.h>
|
||||||
|
#include <dolphin/gx/GXExtra.h>
|
||||||
|
#include <dolphin/gx/GXFifo.h>
|
||||||
|
#include <dolphin/gx/GXFrameBuffer.h>
|
||||||
|
#include <dolphin/gx/GXGeometry.h>
|
||||||
|
#include <dolphin/gx/GXGet.h>
|
||||||
|
#include <dolphin/gx/GXLighting.h>
|
||||||
|
#include <dolphin/gx/GXManage.h>
|
||||||
|
#include <dolphin/gx/GXPerf.h>
|
||||||
|
#include <dolphin/gx/GXPixel.h>
|
||||||
|
#include <dolphin/gx/GXStruct.h>
|
||||||
|
#include <dolphin/gx/GXTev.h>
|
||||||
|
#include <dolphin/gx/GXTexture.h>
|
||||||
|
#include <dolphin/gx/GXTransform.h>
|
||||||
|
#include <dolphin/gx/GXVert.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,28 @@
|
||||||
|
#ifndef DOLPHIN_GXBUMP_H
|
||||||
|
#define DOLPHIN_GXBUMP_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXSetTevDirect(GXTevStageID tev_stage);
|
||||||
|
void GXSetNumIndStages(u8 nIndStages);
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
void GXSetIndTexMtx(GXIndTexMtxID mtx_sel, const void* offset, s8 scale_exp);
|
||||||
|
#else
|
||||||
|
void GXSetIndTexMtx(GXIndTexMtxID mtx_sel, f32 offset[2][3], s8 scale_exp);
|
||||||
|
#endif
|
||||||
|
void GXSetIndTexOrder(GXIndTexStageID ind_stage, GXTexCoordID tex_coord, GXTexMapID tex_map);
|
||||||
|
void GXSetTevIndirect(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXIndTexFormat format,
|
||||||
|
GXIndTexBiasSel bias_sel, GXIndTexMtxID matrix_sel, GXIndTexWrap wrap_s, GXIndTexWrap wrap_t,
|
||||||
|
GXBool add_prev, GXBool ind_lod, GXIndTexAlphaSel alpha_sel);
|
||||||
|
void GXSetTevIndWarp(GXTevStageID tev_stage, GXIndTexStageID ind_stage, GXBool signed_offsets, GXBool replace_mode,
|
||||||
|
GXIndTexMtxID matrix_sel);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,35 @@
|
||||||
|
#ifndef DOLPHIN_GXCOMMANDLIST_H
|
||||||
|
#define DOLPHIN_GXCOMMANDLIST_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define GX_NOP 0x00
|
||||||
|
#define GX_DRAW_QUADS 0x80
|
||||||
|
#define GX_DRAW_TRIANGLES 0x90
|
||||||
|
#define GX_DRAW_TRIANGLE_STRIP 0x98
|
||||||
|
#define GX_DRAW_TRIANGLE_FAN 0xA0
|
||||||
|
#define GX_DRAW_LINES 0xA8
|
||||||
|
#define GX_DRAW_LINE_STRIP 0xB0
|
||||||
|
#define GX_DRAW_POINTS 0xB8
|
||||||
|
|
||||||
|
#define GX_LOAD_BP_REG 0x61
|
||||||
|
#define GX_LOAD_CP_REG 0x08
|
||||||
|
#define GX_LOAD_XF_REG 0x10
|
||||||
|
#define GX_LOAD_INDX_A 0x20
|
||||||
|
#define GX_LOAD_INDX_B 0x28
|
||||||
|
#define GX_LOAD_INDX_C 0x30
|
||||||
|
#define GX_LOAD_INDX_D 0x38
|
||||||
|
|
||||||
|
#define GX_CMD_CALL_DL 0x40
|
||||||
|
#define GX_CMD_INVL_VC 0x48
|
||||||
|
|
||||||
|
#define GX_OPCODE_MASK 0xF8
|
||||||
|
#define GX_VAT_MASK 0x07
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef DOLPHIN_GXCULL_H
|
||||||
|
#define DOLPHIN_GXCULL_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXSetScissor(u32 left, u32 top, u32 wd, u32 ht);
|
||||||
|
void GXSetCullMode(GXCullMode mode);
|
||||||
|
void GXSetCoPlanar(GXBool enable);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef DOLPHIN_GXDISPLIST_H
|
||||||
|
#define DOLPHIN_GXDISPLIST_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXBeginDisplayList(void* list, u32 size);
|
||||||
|
u32 GXEndDisplayList(void);
|
||||||
|
void GXCallDisplayList(const void* list, u32 nbytes);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef DOLPHIN_GXDRAW_H
|
||||||
|
#define DOLPHIN_GXDRAW_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXDrawSphere(u8 numMajor, u8 numMinor);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,785 @@
|
||||||
|
#ifndef DOLPHIN_GXENUM_H
|
||||||
|
#define DOLPHIN_GXENUM_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
typedef bool GXBool;
|
||||||
|
#else
|
||||||
|
typedef u8 GXBool;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define GX_FALSE ((GXBool)0)
|
||||||
|
#define GX_TRUE ((GXBool)1)
|
||||||
|
|
||||||
|
#define GX_ENABLE ((GXBool)1)
|
||||||
|
#define GX_DISABLE ((GXBool)0)
|
||||||
|
|
||||||
|
typedef enum _GXProjectionType {
|
||||||
|
GX_PERSPECTIVE,
|
||||||
|
GX_ORTHOGRAPHIC,
|
||||||
|
} GXProjectionType;
|
||||||
|
|
||||||
|
typedef enum _GXCompare {
|
||||||
|
GX_NEVER,
|
||||||
|
GX_LESS,
|
||||||
|
GX_EQUAL,
|
||||||
|
GX_LEQUAL,
|
||||||
|
GX_GREATER,
|
||||||
|
GX_NEQUAL,
|
||||||
|
GX_GEQUAL,
|
||||||
|
GX_ALWAYS,
|
||||||
|
} GXCompare;
|
||||||
|
|
||||||
|
typedef enum _GXAlphaOp {
|
||||||
|
GX_AOP_AND,
|
||||||
|
GX_AOP_OR,
|
||||||
|
GX_AOP_XOR,
|
||||||
|
GX_AOP_XNOR,
|
||||||
|
GX_MAX_ALPHAOP,
|
||||||
|
} GXAlphaOp;
|
||||||
|
|
||||||
|
typedef enum _GXZFmt16 {
|
||||||
|
GX_ZC_LINEAR,
|
||||||
|
GX_ZC_NEAR,
|
||||||
|
GX_ZC_MID,
|
||||||
|
GX_ZC_FAR,
|
||||||
|
} GXZFmt16;
|
||||||
|
|
||||||
|
typedef enum _GXGamma {
|
||||||
|
GX_GM_1_0,
|
||||||
|
GX_GM_1_7,
|
||||||
|
GX_GM_2_2,
|
||||||
|
} GXGamma;
|
||||||
|
|
||||||
|
typedef enum _GXPixelFmt {
|
||||||
|
GX_PF_RGB8_Z24,
|
||||||
|
GX_PF_RGBA6_Z24,
|
||||||
|
GX_PF_RGB565_Z16,
|
||||||
|
GX_PF_Z24,
|
||||||
|
GX_PF_Y8,
|
||||||
|
GX_PF_U8,
|
||||||
|
GX_PF_V8,
|
||||||
|
GX_PF_YUV420,
|
||||||
|
} GXPixelFmt;
|
||||||
|
|
||||||
|
typedef enum _GXPrimitive {
|
||||||
|
GX_QUADS = 0x80,
|
||||||
|
GX_TRIANGLES = 0x90,
|
||||||
|
GX_TRIANGLESTRIP = 0x98,
|
||||||
|
GX_TRIANGLEFAN = 0xA0,
|
||||||
|
GX_LINES = 0xA8,
|
||||||
|
GX_LINESTRIP = 0xB0,
|
||||||
|
GX_POINTS = 0xB8,
|
||||||
|
} GXPrimitive;
|
||||||
|
|
||||||
|
typedef enum _GXVtxFmt {
|
||||||
|
GX_VTXFMT0,
|
||||||
|
GX_VTXFMT1,
|
||||||
|
GX_VTXFMT2,
|
||||||
|
GX_VTXFMT3,
|
||||||
|
GX_VTXFMT4,
|
||||||
|
GX_VTXFMT5,
|
||||||
|
GX_VTXFMT6,
|
||||||
|
GX_VTXFMT7,
|
||||||
|
GX_MAX_VTXFMT,
|
||||||
|
} GXVtxFmt;
|
||||||
|
|
||||||
|
typedef enum _GXAttr {
|
||||||
|
GX_VA_PNMTXIDX,
|
||||||
|
GX_VA_TEX0MTXIDX,
|
||||||
|
GX_VA_TEX1MTXIDX,
|
||||||
|
GX_VA_TEX2MTXIDX,
|
||||||
|
GX_VA_TEX3MTXIDX,
|
||||||
|
GX_VA_TEX4MTXIDX,
|
||||||
|
GX_VA_TEX5MTXIDX,
|
||||||
|
GX_VA_TEX6MTXIDX,
|
||||||
|
GX_VA_TEX7MTXIDX,
|
||||||
|
GX_VA_POS,
|
||||||
|
GX_VA_NRM,
|
||||||
|
GX_VA_CLR0,
|
||||||
|
GX_VA_CLR1,
|
||||||
|
GX_VA_TEX0,
|
||||||
|
GX_VA_TEX1,
|
||||||
|
GX_VA_TEX2,
|
||||||
|
GX_VA_TEX3,
|
||||||
|
GX_VA_TEX4,
|
||||||
|
GX_VA_TEX5,
|
||||||
|
GX_VA_TEX6,
|
||||||
|
GX_VA_TEX7,
|
||||||
|
GX_POS_MTX_ARRAY,
|
||||||
|
GX_NRM_MTX_ARRAY,
|
||||||
|
GX_TEX_MTX_ARRAY,
|
||||||
|
GX_LIGHT_ARRAY,
|
||||||
|
GX_VA_NBT,
|
||||||
|
GX_VA_MAX_ATTR,
|
||||||
|
GX_VA_NULL = 0xFF,
|
||||||
|
} GXAttr;
|
||||||
|
|
||||||
|
typedef enum _GXAttrType {
|
||||||
|
GX_NONE,
|
||||||
|
GX_DIRECT,
|
||||||
|
GX_INDEX8,
|
||||||
|
GX_INDEX16,
|
||||||
|
} GXAttrType;
|
||||||
|
|
||||||
|
#define _GX_TF_CTF 0x20
|
||||||
|
#define _GX_TF_ZTF 0x10
|
||||||
|
|
||||||
|
typedef enum _GXTexFmt {
|
||||||
|
GX_TF_I4 = 0x0,
|
||||||
|
GX_TF_I8 = 0x1,
|
||||||
|
GX_TF_IA4 = 0x2,
|
||||||
|
GX_TF_IA8 = 0x3,
|
||||||
|
GX_TF_RGB565 = 0x4,
|
||||||
|
GX_TF_RGB5A3 = 0x5,
|
||||||
|
GX_TF_RGBA8 = 0x6,
|
||||||
|
GX_TF_CMPR = 0xE,
|
||||||
|
|
||||||
|
GX_CTF_R4 = 0x0 | _GX_TF_CTF,
|
||||||
|
GX_CTF_RA4 = 0x2 | _GX_TF_CTF,
|
||||||
|
GX_CTF_RA8 = 0x3 | _GX_TF_CTF,
|
||||||
|
GX_CTF_YUVA8 = 0x6 | _GX_TF_CTF,
|
||||||
|
GX_CTF_A8 = 0x7 | _GX_TF_CTF,
|
||||||
|
GX_CTF_R8 = 0x8 | _GX_TF_CTF,
|
||||||
|
GX_CTF_G8 = 0x9 | _GX_TF_CTF,
|
||||||
|
GX_CTF_B8 = 0xA | _GX_TF_CTF,
|
||||||
|
GX_CTF_RG8 = 0xB | _GX_TF_CTF,
|
||||||
|
GX_CTF_GB8 = 0xC | _GX_TF_CTF,
|
||||||
|
|
||||||
|
GX_TF_Z8 = 0x1 | _GX_TF_ZTF,
|
||||||
|
GX_TF_Z16 = 0x3 | _GX_TF_ZTF,
|
||||||
|
GX_TF_Z24X8 = 0x6 | _GX_TF_ZTF,
|
||||||
|
|
||||||
|
GX_CTF_Z4 = 0x0 | _GX_TF_ZTF | _GX_TF_CTF,
|
||||||
|
GX_CTF_Z8M = 0x9 | _GX_TF_ZTF | _GX_TF_CTF,
|
||||||
|
GX_CTF_Z8L = 0xA | _GX_TF_ZTF | _GX_TF_CTF,
|
||||||
|
GX_CTF_Z16L = 0xC | _GX_TF_ZTF | _GX_TF_CTF,
|
||||||
|
|
||||||
|
GX_TF_A8 = GX_CTF_A8,
|
||||||
|
} GXTexFmt;
|
||||||
|
|
||||||
|
typedef enum _GXCITexFmt {
|
||||||
|
GX_TF_C4 = 0x8,
|
||||||
|
GX_TF_C8 = 0x9,
|
||||||
|
GX_TF_C14X2 = 0xa,
|
||||||
|
} GXCITexFmt;
|
||||||
|
|
||||||
|
typedef enum _GXTexWrapMode {
|
||||||
|
GX_CLAMP,
|
||||||
|
GX_REPEAT,
|
||||||
|
GX_MIRROR,
|
||||||
|
GX_MAX_TEXWRAPMODE,
|
||||||
|
} GXTexWrapMode;
|
||||||
|
|
||||||
|
typedef enum _GXTexFilter {
|
||||||
|
GX_NEAR,
|
||||||
|
GX_LINEAR,
|
||||||
|
GX_NEAR_MIP_NEAR,
|
||||||
|
GX_LIN_MIP_NEAR,
|
||||||
|
GX_NEAR_MIP_LIN,
|
||||||
|
GX_LIN_MIP_LIN,
|
||||||
|
} GXTexFilter;
|
||||||
|
|
||||||
|
typedef enum _GXAnisotropy {
|
||||||
|
GX_ANISO_1,
|
||||||
|
GX_ANISO_2,
|
||||||
|
GX_ANISO_4,
|
||||||
|
GX_MAX_ANISOTROPY,
|
||||||
|
} GXAnisotropy;
|
||||||
|
|
||||||
|
typedef enum _GXTexMapID {
|
||||||
|
GX_TEXMAP0,
|
||||||
|
GX_TEXMAP1,
|
||||||
|
GX_TEXMAP2,
|
||||||
|
GX_TEXMAP3,
|
||||||
|
GX_TEXMAP4,
|
||||||
|
GX_TEXMAP5,
|
||||||
|
GX_TEXMAP6,
|
||||||
|
GX_TEXMAP7,
|
||||||
|
GX_MAX_TEXMAP,
|
||||||
|
GX_TEXMAP_NULL = 0xFF,
|
||||||
|
GX_TEX_DISABLE = 0x100,
|
||||||
|
} GXTexMapID;
|
||||||
|
|
||||||
|
typedef enum _GXTexCoordID {
|
||||||
|
GX_TEXCOORD0,
|
||||||
|
GX_TEXCOORD1,
|
||||||
|
GX_TEXCOORD2,
|
||||||
|
GX_TEXCOORD3,
|
||||||
|
GX_TEXCOORD4,
|
||||||
|
GX_TEXCOORD5,
|
||||||
|
GX_TEXCOORD6,
|
||||||
|
GX_TEXCOORD7,
|
||||||
|
GX_MAX_TEXCOORD,
|
||||||
|
GX_TEXCOORD_NULL = 0xFF,
|
||||||
|
} GXTexCoordID;
|
||||||
|
|
||||||
|
typedef enum _GXTevStageID {
|
||||||
|
GX_TEVSTAGE0,
|
||||||
|
GX_TEVSTAGE1,
|
||||||
|
GX_TEVSTAGE2,
|
||||||
|
GX_TEVSTAGE3,
|
||||||
|
GX_TEVSTAGE4,
|
||||||
|
GX_TEVSTAGE5,
|
||||||
|
GX_TEVSTAGE6,
|
||||||
|
GX_TEVSTAGE7,
|
||||||
|
GX_TEVSTAGE8,
|
||||||
|
GX_TEVSTAGE9,
|
||||||
|
GX_TEVSTAGE10,
|
||||||
|
GX_TEVSTAGE11,
|
||||||
|
GX_TEVSTAGE12,
|
||||||
|
GX_TEVSTAGE13,
|
||||||
|
GX_TEVSTAGE14,
|
||||||
|
GX_TEVSTAGE15,
|
||||||
|
GX_MAX_TEVSTAGE,
|
||||||
|
} GXTevStageID;
|
||||||
|
|
||||||
|
typedef enum _GXTevMode {
|
||||||
|
GX_MODULATE,
|
||||||
|
GX_DECAL,
|
||||||
|
GX_BLEND,
|
||||||
|
GX_REPLACE,
|
||||||
|
GX_PASSCLR,
|
||||||
|
} GXTevMode;
|
||||||
|
|
||||||
|
typedef enum _GXTexMtxType {
|
||||||
|
GX_MTX3x4,
|
||||||
|
GX_MTX2x4,
|
||||||
|
} GXTexMtxType;
|
||||||
|
|
||||||
|
typedef enum _GXTexGenType {
|
||||||
|
GX_TG_MTX3x4,
|
||||||
|
GX_TG_MTX2x4,
|
||||||
|
GX_TG_BUMP0,
|
||||||
|
GX_TG_BUMP1,
|
||||||
|
GX_TG_BUMP2,
|
||||||
|
GX_TG_BUMP3,
|
||||||
|
GX_TG_BUMP4,
|
||||||
|
GX_TG_BUMP5,
|
||||||
|
GX_TG_BUMP6,
|
||||||
|
GX_TG_BUMP7,
|
||||||
|
GX_TG_SRTG,
|
||||||
|
} GXTexGenType;
|
||||||
|
|
||||||
|
typedef enum _GXPosNrmMtx {
|
||||||
|
GX_PNMTX0 = 0,
|
||||||
|
GX_PNMTX1 = 3,
|
||||||
|
GX_PNMTX2 = 6,
|
||||||
|
GX_PNMTX3 = 9,
|
||||||
|
GX_PNMTX4 = 12,
|
||||||
|
GX_PNMTX5 = 15,
|
||||||
|
GX_PNMTX6 = 18,
|
||||||
|
GX_PNMTX7 = 21,
|
||||||
|
GX_PNMTX8 = 24,
|
||||||
|
GX_PNMTX9 = 27,
|
||||||
|
} GXPosNrmMtx;
|
||||||
|
|
||||||
|
typedef enum _GXTexMtx {
|
||||||
|
GX_TEXMTX0 = 30,
|
||||||
|
GX_TEXMTX1 = 33,
|
||||||
|
GX_TEXMTX2 = 36,
|
||||||
|
GX_TEXMTX3 = 39,
|
||||||
|
GX_TEXMTX4 = 42,
|
||||||
|
GX_TEXMTX5 = 45,
|
||||||
|
GX_TEXMTX6 = 48,
|
||||||
|
GX_TEXMTX7 = 51,
|
||||||
|
GX_TEXMTX8 = 54,
|
||||||
|
GX_TEXMTX9 = 57,
|
||||||
|
GX_IDENTITY = 60,
|
||||||
|
} GXTexMtx;
|
||||||
|
|
||||||
|
typedef enum _GXChannelID {
|
||||||
|
GX_COLOR0,
|
||||||
|
GX_COLOR1,
|
||||||
|
GX_ALPHA0,
|
||||||
|
GX_ALPHA1,
|
||||||
|
GX_COLOR0A0,
|
||||||
|
GX_COLOR1A1,
|
||||||
|
GX_COLOR_ZERO,
|
||||||
|
GX_ALPHA_BUMP,
|
||||||
|
GX_ALPHA_BUMPN,
|
||||||
|
GX_COLOR_NULL = 0xFF,
|
||||||
|
} GXChannelID;
|
||||||
|
|
||||||
|
typedef enum _GXTexGenSrc {
|
||||||
|
GX_TG_POS,
|
||||||
|
GX_TG_NRM,
|
||||||
|
GX_TG_BINRM,
|
||||||
|
GX_TG_TANGENT,
|
||||||
|
GX_TG_TEX0,
|
||||||
|
GX_TG_TEX1,
|
||||||
|
GX_TG_TEX2,
|
||||||
|
GX_TG_TEX3,
|
||||||
|
GX_TG_TEX4,
|
||||||
|
GX_TG_TEX5,
|
||||||
|
GX_TG_TEX6,
|
||||||
|
GX_TG_TEX7,
|
||||||
|
GX_TG_TEXCOORD0,
|
||||||
|
GX_TG_TEXCOORD1,
|
||||||
|
GX_TG_TEXCOORD2,
|
||||||
|
GX_TG_TEXCOORD3,
|
||||||
|
GX_TG_TEXCOORD4,
|
||||||
|
GX_TG_TEXCOORD5,
|
||||||
|
GX_TG_TEXCOORD6,
|
||||||
|
GX_TG_COLOR0,
|
||||||
|
GX_TG_COLOR1,
|
||||||
|
GX_MAX_TEXGENSRC,
|
||||||
|
} GXTexGenSrc;
|
||||||
|
|
||||||
|
typedef enum _GXBlendMode {
|
||||||
|
GX_BM_NONE,
|
||||||
|
GX_BM_BLEND,
|
||||||
|
GX_BM_LOGIC,
|
||||||
|
GX_BM_SUBTRACT,
|
||||||
|
GX_MAX_BLENDMODE,
|
||||||
|
} GXBlendMode;
|
||||||
|
|
||||||
|
typedef enum _GXBlendFactor {
|
||||||
|
GX_BL_ZERO,
|
||||||
|
GX_BL_ONE,
|
||||||
|
GX_BL_SRCCLR,
|
||||||
|
GX_BL_INVSRCCLR,
|
||||||
|
GX_BL_SRCALPHA,
|
||||||
|
GX_BL_INVSRCALPHA,
|
||||||
|
GX_BL_DSTALPHA,
|
||||||
|
GX_BL_INVDSTALPHA,
|
||||||
|
GX_BL_DSTCLR = GX_BL_SRCCLR,
|
||||||
|
GX_BL_INVDSTCLR = GX_BL_INVSRCCLR,
|
||||||
|
} GXBlendFactor;
|
||||||
|
|
||||||
|
typedef enum _GXLogicOp {
|
||||||
|
GX_LO_CLEAR,
|
||||||
|
GX_LO_AND,
|
||||||
|
GX_LO_REVAND,
|
||||||
|
GX_LO_COPY,
|
||||||
|
GX_LO_INVAND,
|
||||||
|
GX_LO_NOOP,
|
||||||
|
GX_LO_XOR,
|
||||||
|
GX_LO_OR,
|
||||||
|
GX_LO_NOR,
|
||||||
|
GX_LO_EQUIV,
|
||||||
|
GX_LO_INV,
|
||||||
|
GX_LO_REVOR,
|
||||||
|
GX_LO_INVCOPY,
|
||||||
|
GX_LO_INVOR,
|
||||||
|
GX_LO_NAND,
|
||||||
|
GX_LO_SET,
|
||||||
|
} GXLogicOp;
|
||||||
|
|
||||||
|
typedef enum _GXCompCnt {
|
||||||
|
GX_POS_XY = 0,
|
||||||
|
GX_POS_XYZ = 1,
|
||||||
|
GX_NRM_XYZ = 0,
|
||||||
|
GX_NRM_NBT = 1,
|
||||||
|
GX_NRM_NBT3 = 2,
|
||||||
|
GX_CLR_RGB = 0,
|
||||||
|
GX_CLR_RGBA = 1,
|
||||||
|
GX_TEX_S = 0,
|
||||||
|
GX_TEX_ST = 1,
|
||||||
|
} GXCompCnt;
|
||||||
|
|
||||||
|
typedef enum _GXCompType {
|
||||||
|
GX_U8 = 0,
|
||||||
|
GX_S8 = 1,
|
||||||
|
GX_U16 = 2,
|
||||||
|
GX_S16 = 3,
|
||||||
|
GX_F32 = 4,
|
||||||
|
GX_RGB565 = 0,
|
||||||
|
GX_RGB8 = 1,
|
||||||
|
GX_RGBX8 = 2,
|
||||||
|
GX_RGBA4 = 3,
|
||||||
|
GX_RGBA6 = 4,
|
||||||
|
GX_RGBA8 = 5,
|
||||||
|
} GXCompType;
|
||||||
|
|
||||||
|
typedef enum _GXPTTexMtx {
|
||||||
|
GX_PTTEXMTX0 = 64,
|
||||||
|
GX_PTTEXMTX1 = 67,
|
||||||
|
GX_PTTEXMTX2 = 70,
|
||||||
|
GX_PTTEXMTX3 = 73,
|
||||||
|
GX_PTTEXMTX4 = 76,
|
||||||
|
GX_PTTEXMTX5 = 79,
|
||||||
|
GX_PTTEXMTX6 = 82,
|
||||||
|
GX_PTTEXMTX7 = 85,
|
||||||
|
GX_PTTEXMTX8 = 88,
|
||||||
|
GX_PTTEXMTX9 = 91,
|
||||||
|
GX_PTTEXMTX10 = 94,
|
||||||
|
GX_PTTEXMTX11 = 97,
|
||||||
|
GX_PTTEXMTX12 = 100,
|
||||||
|
GX_PTTEXMTX13 = 103,
|
||||||
|
GX_PTTEXMTX14 = 106,
|
||||||
|
GX_PTTEXMTX15 = 109,
|
||||||
|
GX_PTTEXMTX16 = 112,
|
||||||
|
GX_PTTEXMTX17 = 115,
|
||||||
|
GX_PTTEXMTX18 = 118,
|
||||||
|
GX_PTTEXMTX19 = 121,
|
||||||
|
GX_PTIDENTITY = 125,
|
||||||
|
} GXPTTexMtx;
|
||||||
|
|
||||||
|
typedef enum _GXTevRegID {
|
||||||
|
GX_TEVPREV,
|
||||||
|
GX_TEVREG0,
|
||||||
|
GX_TEVREG1,
|
||||||
|
GX_TEVREG2,
|
||||||
|
GX_MAX_TEVREG,
|
||||||
|
} GXTevRegID;
|
||||||
|
|
||||||
|
typedef enum _GXDiffuseFn {
|
||||||
|
GX_DF_NONE,
|
||||||
|
GX_DF_SIGN,
|
||||||
|
GX_DF_CLAMP,
|
||||||
|
} GXDiffuseFn;
|
||||||
|
|
||||||
|
typedef enum _GXColorSrc {
|
||||||
|
GX_SRC_REG,
|
||||||
|
GX_SRC_VTX,
|
||||||
|
} GXColorSrc;
|
||||||
|
|
||||||
|
typedef enum _GXAttnFn {
|
||||||
|
GX_AF_SPEC,
|
||||||
|
GX_AF_SPOT,
|
||||||
|
GX_AF_NONE,
|
||||||
|
} GXAttnFn;
|
||||||
|
|
||||||
|
typedef enum _GXLightID {
|
||||||
|
GX_LIGHT0 = 0x001,
|
||||||
|
GX_LIGHT1 = 0x002,
|
||||||
|
GX_LIGHT2 = 0x004,
|
||||||
|
GX_LIGHT3 = 0x008,
|
||||||
|
GX_LIGHT4 = 0x010,
|
||||||
|
GX_LIGHT5 = 0x020,
|
||||||
|
GX_LIGHT6 = 0x040,
|
||||||
|
GX_LIGHT7 = 0x080,
|
||||||
|
GX_MAX_LIGHT = 0x100,
|
||||||
|
GX_LIGHT_NULL = 0,
|
||||||
|
} GXLightID;
|
||||||
|
|
||||||
|
typedef enum _GXTexOffset {
|
||||||
|
GX_TO_ZERO,
|
||||||
|
GX_TO_SIXTEENTH,
|
||||||
|
GX_TO_EIGHTH,
|
||||||
|
GX_TO_FOURTH,
|
||||||
|
GX_TO_HALF,
|
||||||
|
GX_TO_ONE,
|
||||||
|
GX_MAX_TEXOFFSET,
|
||||||
|
} GXTexOffset;
|
||||||
|
|
||||||
|
typedef enum _GXSpotFn {
|
||||||
|
GX_SP_OFF,
|
||||||
|
GX_SP_FLAT,
|
||||||
|
GX_SP_COS,
|
||||||
|
GX_SP_COS2,
|
||||||
|
GX_SP_SHARP,
|
||||||
|
GX_SP_RING1,
|
||||||
|
GX_SP_RING2,
|
||||||
|
} GXSpotFn;
|
||||||
|
|
||||||
|
typedef enum _GXDistAttnFn {
|
||||||
|
GX_DA_OFF,
|
||||||
|
GX_DA_GENTLE,
|
||||||
|
GX_DA_MEDIUM,
|
||||||
|
GX_DA_STEEP,
|
||||||
|
} GXDistAttnFn;
|
||||||
|
|
||||||
|
typedef enum _GXCullMode {
|
||||||
|
GX_CULL_NONE,
|
||||||
|
GX_CULL_FRONT,
|
||||||
|
GX_CULL_BACK,
|
||||||
|
GX_CULL_ALL,
|
||||||
|
} GXCullMode;
|
||||||
|
|
||||||
|
typedef enum _GXTevSwapSel {
|
||||||
|
GX_TEV_SWAP0 = 0,
|
||||||
|
GX_TEV_SWAP1,
|
||||||
|
GX_TEV_SWAP2,
|
||||||
|
GX_TEV_SWAP3,
|
||||||
|
GX_MAX_TEVSWAP,
|
||||||
|
} GXTevSwapSel;
|
||||||
|
|
||||||
|
typedef enum _GXTevColorChan {
|
||||||
|
GX_CH_RED = 0,
|
||||||
|
GX_CH_GREEN,
|
||||||
|
GX_CH_BLUE,
|
||||||
|
GX_CH_ALPHA,
|
||||||
|
} GXTevColorChan;
|
||||||
|
|
||||||
|
typedef enum _GXFogType {
|
||||||
|
GX_FOG_NONE = 0,
|
||||||
|
GX_FOG_PERSP_LIN = 2,
|
||||||
|
GX_FOG_PERSP_EXP = 4,
|
||||||
|
GX_FOG_PERSP_EXP2 = 5,
|
||||||
|
GX_FOG_PERSP_REVEXP = 6,
|
||||||
|
GX_FOG_PERSP_REVEXP2 = 7,
|
||||||
|
GX_FOG_ORTHO_LIN = 10,
|
||||||
|
GX_FOG_ORTHO_EXP = 12,
|
||||||
|
GX_FOG_ORTHO_EXP2 = 13,
|
||||||
|
GX_FOG_ORTHO_REVEXP = 14,
|
||||||
|
GX_FOG_ORTHO_REVEXP2 = 15,
|
||||||
|
GX_FOG_LIN = GX_FOG_PERSP_LIN,
|
||||||
|
GX_FOG_EXP = GX_FOG_PERSP_EXP,
|
||||||
|
GX_FOG_EXP2 = GX_FOG_PERSP_EXP2,
|
||||||
|
GX_FOG_REVEXP = GX_FOG_PERSP_REVEXP,
|
||||||
|
GX_FOG_REVEXP2 = GX_FOG_PERSP_REVEXP2,
|
||||||
|
} GXFogType;
|
||||||
|
|
||||||
|
typedef enum _GXTevColorArg {
|
||||||
|
GX_CC_CPREV,
|
||||||
|
GX_CC_APREV,
|
||||||
|
GX_CC_C0,
|
||||||
|
GX_CC_A0,
|
||||||
|
GX_CC_C1,
|
||||||
|
GX_CC_A1,
|
||||||
|
GX_CC_C2,
|
||||||
|
GX_CC_A2,
|
||||||
|
GX_CC_TEXC,
|
||||||
|
GX_CC_TEXA,
|
||||||
|
GX_CC_RASC,
|
||||||
|
GX_CC_RASA,
|
||||||
|
GX_CC_ONE,
|
||||||
|
GX_CC_HALF,
|
||||||
|
GX_CC_KONST,
|
||||||
|
GX_CC_ZERO,
|
||||||
|
} GXTevColorArg;
|
||||||
|
|
||||||
|
typedef enum _GXTevAlphaArg {
|
||||||
|
GX_CA_APREV,
|
||||||
|
GX_CA_A0,
|
||||||
|
GX_CA_A1,
|
||||||
|
GX_CA_A2,
|
||||||
|
GX_CA_TEXA,
|
||||||
|
GX_CA_RASA,
|
||||||
|
GX_CA_KONST,
|
||||||
|
GX_CA_ZERO,
|
||||||
|
} GXTevAlphaArg;
|
||||||
|
|
||||||
|
typedef enum _GXTevOp {
|
||||||
|
GX_TEV_ADD = 0,
|
||||||
|
GX_TEV_SUB = 1,
|
||||||
|
GX_TEV_COMP_R8_GT = 8,
|
||||||
|
GX_TEV_COMP_R8_EQ = 9,
|
||||||
|
GX_TEV_COMP_GR16_GT = 10,
|
||||||
|
GX_TEV_COMP_GR16_EQ = 11,
|
||||||
|
GX_TEV_COMP_BGR24_GT = 12,
|
||||||
|
GX_TEV_COMP_BGR24_EQ = 13,
|
||||||
|
GX_TEV_COMP_RGB8_GT = 14,
|
||||||
|
GX_TEV_COMP_RGB8_EQ = 15,
|
||||||
|
GX_TEV_COMP_A8_GT = GX_TEV_COMP_RGB8_GT,
|
||||||
|
GX_TEV_COMP_A8_EQ = GX_TEV_COMP_RGB8_EQ,
|
||||||
|
} GXTevOp;
|
||||||
|
|
||||||
|
typedef enum _GXTevBias {
|
||||||
|
GX_TB_ZERO,
|
||||||
|
GX_TB_ADDHALF,
|
||||||
|
GX_TB_SUBHALF,
|
||||||
|
GX_MAX_TEVBIAS,
|
||||||
|
} GXTevBias;
|
||||||
|
|
||||||
|
typedef enum _GXTevScale {
|
||||||
|
GX_CS_SCALE_1,
|
||||||
|
GX_CS_SCALE_2,
|
||||||
|
GX_CS_SCALE_4,
|
||||||
|
GX_CS_DIVIDE_2,
|
||||||
|
GX_MAX_TEVSCALE,
|
||||||
|
} GXTevScale;
|
||||||
|
|
||||||
|
typedef enum _GXTevKColorSel {
|
||||||
|
GX_TEV_KCSEL_8_8 = 0x00,
|
||||||
|
GX_TEV_KCSEL_7_8 = 0x01,
|
||||||
|
GX_TEV_KCSEL_6_8 = 0x02,
|
||||||
|
GX_TEV_KCSEL_5_8 = 0x03,
|
||||||
|
GX_TEV_KCSEL_4_8 = 0x04,
|
||||||
|
GX_TEV_KCSEL_3_8 = 0x05,
|
||||||
|
GX_TEV_KCSEL_2_8 = 0x06,
|
||||||
|
GX_TEV_KCSEL_1_8 = 0x07,
|
||||||
|
GX_TEV_KCSEL_1 = GX_TEV_KCSEL_8_8,
|
||||||
|
GX_TEV_KCSEL_3_4 = GX_TEV_KCSEL_6_8,
|
||||||
|
GX_TEV_KCSEL_1_2 = GX_TEV_KCSEL_4_8,
|
||||||
|
GX_TEV_KCSEL_1_4 = GX_TEV_KCSEL_2_8,
|
||||||
|
GX_TEV_KCSEL_K0 = 0x0C,
|
||||||
|
GX_TEV_KCSEL_K1 = 0x0D,
|
||||||
|
GX_TEV_KCSEL_K2 = 0x0E,
|
||||||
|
GX_TEV_KCSEL_K3 = 0x0F,
|
||||||
|
GX_TEV_KCSEL_K0_R = 0x10,
|
||||||
|
GX_TEV_KCSEL_K1_R = 0x11,
|
||||||
|
GX_TEV_KCSEL_K2_R = 0x12,
|
||||||
|
GX_TEV_KCSEL_K3_R = 0x13,
|
||||||
|
GX_TEV_KCSEL_K0_G = 0x14,
|
||||||
|
GX_TEV_KCSEL_K1_G = 0x15,
|
||||||
|
GX_TEV_KCSEL_K2_G = 0x16,
|
||||||
|
GX_TEV_KCSEL_K3_G = 0x17,
|
||||||
|
GX_TEV_KCSEL_K0_B = 0x18,
|
||||||
|
GX_TEV_KCSEL_K1_B = 0x19,
|
||||||
|
GX_TEV_KCSEL_K2_B = 0x1A,
|
||||||
|
GX_TEV_KCSEL_K3_B = 0x1B,
|
||||||
|
GX_TEV_KCSEL_K0_A = 0x1C,
|
||||||
|
GX_TEV_KCSEL_K1_A = 0x1D,
|
||||||
|
GX_TEV_KCSEL_K2_A = 0x1E,
|
||||||
|
GX_TEV_KCSEL_K3_A = 0x1F,
|
||||||
|
} GXTevKColorSel;
|
||||||
|
|
||||||
|
typedef enum _GXTevKAlphaSel {
|
||||||
|
GX_TEV_KASEL_8_8 = 0x00,
|
||||||
|
GX_TEV_KASEL_7_8 = 0x01,
|
||||||
|
GX_TEV_KASEL_6_8 = 0x02,
|
||||||
|
GX_TEV_KASEL_5_8 = 0x03,
|
||||||
|
GX_TEV_KASEL_4_8 = 0x04,
|
||||||
|
GX_TEV_KASEL_3_8 = 0x05,
|
||||||
|
GX_TEV_KASEL_2_8 = 0x06,
|
||||||
|
GX_TEV_KASEL_1_8 = 0x07,
|
||||||
|
GX_TEV_KASEL_1 = GX_TEV_KASEL_8_8,
|
||||||
|
GX_TEV_KASEL_3_4 = GX_TEV_KASEL_6_8,
|
||||||
|
GX_TEV_KASEL_1_2 = GX_TEV_KASEL_4_8,
|
||||||
|
GX_TEV_KASEL_1_4 = GX_TEV_KASEL_2_8,
|
||||||
|
GX_TEV_KASEL_K0_R = 0x10,
|
||||||
|
GX_TEV_KASEL_K1_R = 0x11,
|
||||||
|
GX_TEV_KASEL_K2_R = 0x12,
|
||||||
|
GX_TEV_KASEL_K3_R = 0x13,
|
||||||
|
GX_TEV_KASEL_K0_G = 0x14,
|
||||||
|
GX_TEV_KASEL_K1_G = 0x15,
|
||||||
|
GX_TEV_KASEL_K2_G = 0x16,
|
||||||
|
GX_TEV_KASEL_K3_G = 0x17,
|
||||||
|
GX_TEV_KASEL_K0_B = 0x18,
|
||||||
|
GX_TEV_KASEL_K1_B = 0x19,
|
||||||
|
GX_TEV_KASEL_K2_B = 0x1A,
|
||||||
|
GX_TEV_KASEL_K3_B = 0x1B,
|
||||||
|
GX_TEV_KASEL_K0_A = 0x1C,
|
||||||
|
GX_TEV_KASEL_K1_A = 0x1D,
|
||||||
|
GX_TEV_KASEL_K2_A = 0x1E,
|
||||||
|
GX_TEV_KASEL_K3_A = 0x1F,
|
||||||
|
} GXTevKAlphaSel;
|
||||||
|
|
||||||
|
typedef enum _GXTevKColorID {
|
||||||
|
GX_KCOLOR0 = 0,
|
||||||
|
GX_KCOLOR1,
|
||||||
|
GX_KCOLOR2,
|
||||||
|
GX_KCOLOR3,
|
||||||
|
GX_MAX_KCOLOR,
|
||||||
|
} GXTevKColorID;
|
||||||
|
|
||||||
|
typedef enum _GXZTexOp {
|
||||||
|
GX_ZT_DISABLE,
|
||||||
|
GX_ZT_ADD,
|
||||||
|
GX_ZT_REPLACE,
|
||||||
|
GX_MAX_ZTEXOP,
|
||||||
|
} GXZTexOp;
|
||||||
|
|
||||||
|
typedef enum _GXIndTexFormat {
|
||||||
|
GX_ITF_8,
|
||||||
|
GX_ITF_5,
|
||||||
|
GX_ITF_4,
|
||||||
|
GX_ITF_3,
|
||||||
|
GX_MAX_ITFORMAT,
|
||||||
|
} GXIndTexFormat;
|
||||||
|
|
||||||
|
typedef enum _GXIndTexBiasSel {
|
||||||
|
GX_ITB_NONE,
|
||||||
|
GX_ITB_S,
|
||||||
|
GX_ITB_T,
|
||||||
|
GX_ITB_ST,
|
||||||
|
GX_ITB_U,
|
||||||
|
GX_ITB_SU,
|
||||||
|
GX_ITB_TU,
|
||||||
|
GX_ITB_STU,
|
||||||
|
GX_MAX_ITBIAS,
|
||||||
|
} GXIndTexBiasSel;
|
||||||
|
|
||||||
|
typedef enum _GXIndTexAlphaSel {
|
||||||
|
GX_ITBA_OFF,
|
||||||
|
GX_ITBA_S,
|
||||||
|
GX_ITBA_T,
|
||||||
|
GX_ITBA_U,
|
||||||
|
GX_MAX_ITBALPHA,
|
||||||
|
} GXIndTexAlphaSel;
|
||||||
|
|
||||||
|
typedef enum _GXIndTexMtxID {
|
||||||
|
GX_ITM_OFF,
|
||||||
|
GX_ITM_0,
|
||||||
|
GX_ITM_1,
|
||||||
|
GX_ITM_2,
|
||||||
|
GX_ITM_S0 = 5,
|
||||||
|
GX_ITM_S1,
|
||||||
|
GX_ITM_S2,
|
||||||
|
GX_ITM_T0 = 9,
|
||||||
|
GX_ITM_T1,
|
||||||
|
GX_ITM_T2,
|
||||||
|
} GXIndTexMtxID;
|
||||||
|
|
||||||
|
typedef enum _GXIndTexWrap {
|
||||||
|
GX_ITW_OFF,
|
||||||
|
GX_ITW_256,
|
||||||
|
GX_ITW_128,
|
||||||
|
GX_ITW_64,
|
||||||
|
GX_ITW_32,
|
||||||
|
GX_ITW_16,
|
||||||
|
GX_ITW_0,
|
||||||
|
GX_MAX_ITWRAP,
|
||||||
|
} GXIndTexWrap;
|
||||||
|
|
||||||
|
typedef enum _GXIndTexStageID {
|
||||||
|
GX_INDTEXSTAGE0,
|
||||||
|
GX_INDTEXSTAGE1,
|
||||||
|
GX_INDTEXSTAGE2,
|
||||||
|
GX_INDTEXSTAGE3,
|
||||||
|
GX_MAX_INDTEXSTAGE,
|
||||||
|
} GXIndTexStageID;
|
||||||
|
|
||||||
|
typedef enum _GXIndTexScale {
|
||||||
|
GX_ITS_1,
|
||||||
|
GX_ITS_2,
|
||||||
|
GX_ITS_4,
|
||||||
|
GX_ITS_8,
|
||||||
|
GX_ITS_16,
|
||||||
|
GX_ITS_32,
|
||||||
|
GX_ITS_64,
|
||||||
|
GX_ITS_128,
|
||||||
|
GX_ITS_256,
|
||||||
|
GX_MAX_ITSCALE,
|
||||||
|
} GXIndTexScale;
|
||||||
|
|
||||||
|
typedef enum _GXClipMode {
|
||||||
|
GX_CLIP_ENABLE = 0,
|
||||||
|
GX_CLIP_DISABLE = 1,
|
||||||
|
} GXClipMode;
|
||||||
|
|
||||||
|
typedef enum _GXTlut {
|
||||||
|
GX_TLUT0 = 0,
|
||||||
|
GX_TLUT1 = 1,
|
||||||
|
GX_TLUT2 = 2,
|
||||||
|
GX_TLUT3 = 3,
|
||||||
|
GX_TLUT4 = 4,
|
||||||
|
GX_TLUT5 = 5,
|
||||||
|
GX_TLUT6 = 6,
|
||||||
|
GX_TLUT7 = 7,
|
||||||
|
GX_TLUT8 = 8,
|
||||||
|
GX_TLUT9 = 9,
|
||||||
|
GX_TLUT10 = 10,
|
||||||
|
GX_TLUT11 = 11,
|
||||||
|
GX_TLUT12 = 12,
|
||||||
|
GX_TLUT13 = 13,
|
||||||
|
GX_TLUT14 = 14,
|
||||||
|
GX_TLUT15 = 15,
|
||||||
|
GX_BIGTLUT0 = 16,
|
||||||
|
GX_BIGTLUT1 = 17,
|
||||||
|
GX_BIGTLUT2 = 18,
|
||||||
|
GX_BIGTLUT3 = 19,
|
||||||
|
} GXTlut;
|
||||||
|
|
||||||
|
typedef enum _GXTlutFmt {
|
||||||
|
GX_TL_IA8,
|
||||||
|
GX_TL_RGB565,
|
||||||
|
GX_TL_RGB5A3,
|
||||||
|
GX_MAX_TLUTFMT,
|
||||||
|
} GXTlutFmt;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,34 @@
|
||||||
|
#ifndef DOLPHIN_GXEXTRA_H
|
||||||
|
#define DOLPHIN_GXEXTRA_H
|
||||||
|
// Extra types for PC
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
#include <dolphin/gx/GXStruct.h>
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
float r;
|
||||||
|
float g;
|
||||||
|
float b;
|
||||||
|
float a;
|
||||||
|
} GXColorF32;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GX_TF_R8_PC = 0x60,
|
||||||
|
GX_TF_RGBA8_PC = 0x61,
|
||||||
|
} GXPCTexFmt;
|
||||||
|
|
||||||
|
void GXDestroyTexObj(GXTexObj* obj);
|
||||||
|
void GXDestroyTlutObj(GXTlutObj* obj);
|
||||||
|
|
||||||
|
void GXColor4f32(float r, float g, float b, float a);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,31 @@
|
||||||
|
#ifndef DOLPHIN_GXFIFO_H
|
||||||
|
#define DOLPHIN_GXFIFO_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u8 pad[128];
|
||||||
|
} GXFifoObj;
|
||||||
|
|
||||||
|
void GXInitFifoBase(GXFifoObj* fifo, void* base, u32 size);
|
||||||
|
void GXInitFifoPtrs(GXFifoObj* fifo, void* readPtr, void* writePtr);
|
||||||
|
void GXGetFifoPtrs(GXFifoObj* fifo, void** readPtr, void** writePtr);
|
||||||
|
GXFifoObj* GXGetCPUFifo(void);
|
||||||
|
GXFifoObj* GXGetGPFifo(void);
|
||||||
|
void GXSetCPUFifo(GXFifoObj* fifo);
|
||||||
|
void GXSetGPFifo(GXFifoObj* fifo);
|
||||||
|
void GXSaveCPUFifo(GXFifoObj* fifo);
|
||||||
|
void GXGetFifoStatus(GXFifoObj* fifo, GXBool* overhi, GXBool* underlow, u32* fifoCount, GXBool* cpu_write,
|
||||||
|
GXBool* gp_read, GXBool* fifowrap);
|
||||||
|
void GXGetGPStatus(GXBool* overhi, GXBool* underlow, GXBool* readIdle, GXBool* cmdIdle, GXBool* brkpt);
|
||||||
|
void GXInitFifoLimits(GXFifoObj* fifo, u32 hiWaterMark, u32 loWaterMark);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef DOLPHIN_GXFRAMEBUFFER_H
|
||||||
|
#define DOLPHIN_GXFRAMEBUFFER_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
#include <dolphin/gx/GXStruct.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define GX_MAX_Z24 0x00FFFFFF
|
||||||
|
|
||||||
|
void GXSetCopyClear(GXColor clear_clr, u32 clear_z);
|
||||||
|
void GXAdjustForOverscan(GXRenderModeObj* rmin, GXRenderModeObj* rmout, u16 hor, u16 ver);
|
||||||
|
void GXCopyDisp(void* dest, GXBool clear);
|
||||||
|
void GXSetDispCopyGamma(GXGamma gamma);
|
||||||
|
void GXSetDispCopySrc(u16 left, u16 top, u16 wd, u16 ht);
|
||||||
|
void GXSetDispCopyDst(u16 wd, u16 ht);
|
||||||
|
u32 GXSetDispCopyYScale(f32 vscale);
|
||||||
|
void GXSetCopyFilter(GXBool aa, u8 sample_pattern[12][2], GXBool vf, u8 vfilter[7]);
|
||||||
|
void GXSetPixelFmt(GXPixelFmt pix_fmt, GXZFmt16 z_fmt);
|
||||||
|
void GXSetTexCopySrc(u16 left, u16 top, u16 wd, u16 ht);
|
||||||
|
void GXSetTexCopyDst(u16 wd, u16 ht, GXTexFmt fmt, GXBool mipmap);
|
||||||
|
void GXCopyTex(void* dest, GXBool clear);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,36 @@
|
||||||
|
#ifndef DOLPHIN_GXGEOMETRY_H
|
||||||
|
#define DOLPHIN_GXGEOMETRY_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXSetVtxDesc(GXAttr attr, GXAttrType type);
|
||||||
|
void GXSetVtxDescv(GXVtxDescList* list);
|
||||||
|
void GXClearVtxDesc(void);
|
||||||
|
void GXSetVtxAttrFmt(GXVtxFmt vtxfmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u8 frac);
|
||||||
|
void GXSetNumTexGens(u8 nTexGens);
|
||||||
|
void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts);
|
||||||
|
void GXSetTexCoordGen2(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx, GXBool normalize,
|
||||||
|
u32 postmtx);
|
||||||
|
void GXSetLineWidth(u8 width, GXTexOffset texOffsets);
|
||||||
|
void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets);
|
||||||
|
void GXEnableTexOffsets(GXTexCoordID coord, GXBool line_enable, GXBool point_enable);
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
void GXSetArray(GXAttr attr, const void* data, u32 size, u8 stride);
|
||||||
|
#else
|
||||||
|
void GXSetArray(GXAttr attr, const void* data, u8 stride);
|
||||||
|
#endif
|
||||||
|
void GXInvalidateVtxCache(void);
|
||||||
|
|
||||||
|
static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, GXTexGenSrc src_param, u32 mtx) {
|
||||||
|
GXSetTexCoordGen2(dst_coord, func, src_param, mtx, GX_FALSE, GX_PTIDENTITY);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,27 @@
|
||||||
|
#ifndef DOLPHIN_GXGET_H
|
||||||
|
#define DOLPHIN_GXGET_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
#include <dolphin/gx/GXStruct.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
GXBool GXGetTexObjMipMap(GXTexObj* tex_obj);
|
||||||
|
GXTexFmt GXGetTexObjFmt(GXTexObj* tex_obj);
|
||||||
|
u16 GXGetTexObjHeight(GXTexObj* tex_obj);
|
||||||
|
u16 GXGetTexObjWidth(GXTexObj* tex_obj);
|
||||||
|
GXTexWrapMode GXGetTexObjWrapS(GXTexObj* tex_obj);
|
||||||
|
GXTexWrapMode GXGetTexObjWrapT(GXTexObj* tex_obj);
|
||||||
|
void* GXGetTexObjData(GXTexObj* tex_obj);
|
||||||
|
void GXGetProjectionv(f32* p);
|
||||||
|
void GXGetLightPos(GXLightObj* lt_obj, f32* x, f32* y, f32* z);
|
||||||
|
void GXGetLightColor(GXLightObj* lt_obj, GXColor* color);
|
||||||
|
void GXGetVtxAttrFmt(GXVtxFmt idx, GXAttr attr, GXCompCnt* compCnt, GXCompType* compType, u8* shift);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,31 @@
|
||||||
|
#ifndef DOLPHIN_GXLIGHTING_H
|
||||||
|
#define DOLPHIN_GXLIGHTING_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
#include <dolphin/gx/GXStruct.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXSetNumChans(u8 nChans);
|
||||||
|
void GXSetChanCtrl(GXChannelID chan, GXBool enable, GXColorSrc amb_src, GXColorSrc mat_src, u32 light_mask,
|
||||||
|
GXDiffuseFn diff_fn, GXAttnFn attn_fn);
|
||||||
|
void GXSetChanAmbColor(GXChannelID chan, GXColor amb_color);
|
||||||
|
void GXSetChanMatColor(GXChannelID chan, GXColor mat_color);
|
||||||
|
|
||||||
|
void GXInitLightSpot(GXLightObj* lt_obj, f32 cutoff, GXSpotFn spot_func);
|
||||||
|
void GXInitLightDistAttn(GXLightObj* lt_obj, f32 ref_distance, f32 ref_brightness, GXDistAttnFn dist_func);
|
||||||
|
void GXInitLightPos(GXLightObj* lt_obj, f32 x, f32 y, f32 z);
|
||||||
|
void GXInitLightDir(GXLightObj* lt_obj, f32 nx, f32 ny, f32 nz);
|
||||||
|
void GXInitLightColor(GXLightObj* lt_obj, GXColor color);
|
||||||
|
void GXInitLightAttn(GXLightObj* lt_obj, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2);
|
||||||
|
void GXInitLightAttnA(GXLightObj* lt_obj, f32 a0, f32 a1, f32 a2);
|
||||||
|
void GXInitLightAttnK(GXLightObj* lt_obj, f32 k0, f32 k1, f32 k2);
|
||||||
|
void GXLoadLightObjImm(GXLightObj* lt_obj, GXLightID light);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,23 @@
|
||||||
|
#ifndef DOLPHIN_GXMANAGE_H
|
||||||
|
#define DOLPHIN_GXMANAGE_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXFifo.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef void (*GXDrawDoneCallback)(void);
|
||||||
|
|
||||||
|
GXFifoObj* GXInit(void* base, u32 size);
|
||||||
|
GXDrawDoneCallback GXSetDrawDoneCallback(GXDrawDoneCallback cb);
|
||||||
|
void GXDrawDone(void);
|
||||||
|
void GXSetDrawDone(void);
|
||||||
|
void GXFlush(void);
|
||||||
|
void GXPixModeSync(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef DOLPHIN_GXPERF_H
|
||||||
|
#define DOLPHIN_GXPERF_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXReadXfRasMetric(u32* xf_wait_in, u32* xf_wait_out, u32* ras_busy, u32* clocks);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,28 @@
|
||||||
|
#ifndef DOLPHIN_GXPIXEL_H
|
||||||
|
#define DOLPHIN_GXPIXEL_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXSetFog(GXFogType type, f32 startz, f32 endz, f32 nearz, f32 farz, GXColor color);
|
||||||
|
void GXSetFogColor(GXColor color);
|
||||||
|
// ? GXSetFogRangeAdj();
|
||||||
|
void GXSetBlendMode(GXBlendMode type, GXBlendFactor src_factor, GXBlendFactor dst_factor, GXLogicOp op);
|
||||||
|
void GXSetColorUpdate(GXBool update_enable);
|
||||||
|
void GXSetAlphaUpdate(GXBool update_enable);
|
||||||
|
void GXSetZMode(GXBool compare_enable, GXCompare func, GXBool update_enable);
|
||||||
|
void GXSetZCompLoc(GXBool before_tex);
|
||||||
|
void GXSetPixelFmt(GXPixelFmt pix_fmt, GXZFmt16 z_fmt);
|
||||||
|
void GXSetDither(GXBool dither);
|
||||||
|
void GXSetDstAlpha(GXBool enable, u8 alpha);
|
||||||
|
// ? GXSetFieldMask();
|
||||||
|
// ? GXSetFieldMode();
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,100 @@
|
||||||
|
#ifndef DOLPHIN_GXSTRUCT_H
|
||||||
|
#define DOLPHIN_GXSTRUCT_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define VI_TVMODE(format, interlace) (((format) << 2) + (interlace))
|
||||||
|
|
||||||
|
#define VI_INTERLACE 0
|
||||||
|
#define VI_NON_INTERLACE 1
|
||||||
|
#define VI_PROGRESSIVE 2
|
||||||
|
|
||||||
|
#define VI_NTSC 0
|
||||||
|
#define VI_PAL 1
|
||||||
|
#define VI_MPAL 2
|
||||||
|
#define VI_DEBUG 3
|
||||||
|
#define VI_DEBUG_PAL 4
|
||||||
|
#define VI_EURGB60 5
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
VI_TVMODE_NTSC_INT = VI_TVMODE(VI_NTSC, VI_INTERLACE),
|
||||||
|
VI_TVMODE_NTSC_DS = VI_TVMODE(VI_NTSC, VI_NON_INTERLACE),
|
||||||
|
VI_TVMODE_NTSC_PROG = VI_TVMODE(VI_NTSC, VI_PROGRESSIVE),
|
||||||
|
VI_TVMODE_PAL_INT = VI_TVMODE(VI_PAL, VI_INTERLACE),
|
||||||
|
VI_TVMODE_PAL_DS = VI_TVMODE(VI_PAL, VI_NON_INTERLACE),
|
||||||
|
VI_TVMODE_EURGB60_INT = VI_TVMODE(VI_EURGB60, VI_INTERLACE),
|
||||||
|
VI_TVMODE_EURGB60_DS = VI_TVMODE(VI_EURGB60, VI_NON_INTERLACE),
|
||||||
|
VI_TVMODE_MPAL_INT = VI_TVMODE(VI_MPAL, VI_INTERLACE),
|
||||||
|
VI_TVMODE_MPAL_DS = VI_TVMODE(VI_MPAL, VI_NON_INTERLACE),
|
||||||
|
VI_TVMODE_DEBUG_INT = VI_TVMODE(VI_DEBUG, VI_INTERLACE),
|
||||||
|
VI_TVMODE_DEBUG_PAL_INT = VI_TVMODE(VI_DEBUG_PAL, VI_INTERLACE),
|
||||||
|
VI_TVMODE_DEBUG_PAL_DS = VI_TVMODE(VI_DEBUG_PAL, VI_NON_INTERLACE)
|
||||||
|
} VITVMode;
|
||||||
|
|
||||||
|
typedef enum { VI_XFBMODE_SF = 0, VI_XFBMODE_DF } VIXFBMode;
|
||||||
|
|
||||||
|
typedef struct _GXRenderModeObj {
|
||||||
|
/*0x00*/ VITVMode viTVmode;
|
||||||
|
/*0x04*/ u16 fbWidth;
|
||||||
|
/*0x06*/ u16 efbHeight;
|
||||||
|
/*0x08*/ u16 xfbHeight;
|
||||||
|
/*0x0A*/ u16 viXOrigin;
|
||||||
|
/*0x0C*/ u16 viYOrigin;
|
||||||
|
/*0x0E*/ u16 viWidth;
|
||||||
|
/*0x10*/ u16 viHeight;
|
||||||
|
/*0x14*/ VIXFBMode xFBmode;
|
||||||
|
/*0x18*/ u8 field_rendering;
|
||||||
|
u8 aa;
|
||||||
|
u8 sample_pattern[12][2];
|
||||||
|
u8 vfilter[7];
|
||||||
|
} GXRenderModeObj;
|
||||||
|
|
||||||
|
typedef struct _GXColor {
|
||||||
|
u8 r;
|
||||||
|
u8 g;
|
||||||
|
u8 b;
|
||||||
|
u8 a;
|
||||||
|
} GXColor;
|
||||||
|
|
||||||
|
typedef struct _GXTexObj {
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
u32 dummy[22];
|
||||||
|
#else
|
||||||
|
u32 dummy[8];
|
||||||
|
#endif
|
||||||
|
} GXTexObj;
|
||||||
|
|
||||||
|
typedef struct _GXTlutObj {
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
u32 dummy[4];
|
||||||
|
#else
|
||||||
|
u32 dummy[3];
|
||||||
|
#endif
|
||||||
|
} GXTlutObj;
|
||||||
|
|
||||||
|
typedef struct _GXLightObj {
|
||||||
|
u32 dummy[16];
|
||||||
|
} GXLightObj;
|
||||||
|
|
||||||
|
typedef struct _GXVtxDescList {
|
||||||
|
GXAttr attr;
|
||||||
|
GXAttrType type;
|
||||||
|
} GXVtxDescList;
|
||||||
|
|
||||||
|
typedef struct _GXColorS10 {
|
||||||
|
s16 r;
|
||||||
|
s16 g;
|
||||||
|
s16 b;
|
||||||
|
s16 a;
|
||||||
|
} GXColorS10;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,35 @@
|
||||||
|
#ifndef DOLPHIN_GXTEV_H
|
||||||
|
#define DOLPHIN_GXTEV_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
#include <dolphin/gx/GXStruct.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXSetTevOp(GXTevStageID id, GXTevMode mode);
|
||||||
|
void GXSetTevColorIn(GXTevStageID stage, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, GXTevColorArg d);
|
||||||
|
void GXSetTevAlphaIn(GXTevStageID stage, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, GXTevAlphaArg d);
|
||||||
|
void GXSetTevColorOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp,
|
||||||
|
GXTevRegID out_reg);
|
||||||
|
void GXSetTevAlphaOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp,
|
||||||
|
GXTevRegID out_reg);
|
||||||
|
void GXSetTevColor(GXTevRegID id, GXColor color);
|
||||||
|
void GXSetTevColorS10(GXTevRegID id, GXColorS10 color);
|
||||||
|
void GXSetTevKColor(GXTevKColorID id, GXColor color);
|
||||||
|
void GXSetTevKColorSel(GXTevStageID stage, GXTevKColorSel sel);
|
||||||
|
void GXSetTevKAlphaSel(GXTevStageID stage, GXTevKAlphaSel sel);
|
||||||
|
void GXSetTevSwapMode(GXTevStageID stage, GXTevSwapSel ras_sel, GXTevSwapSel tex_sel);
|
||||||
|
void GXSetTevSwapModeTable(GXTevSwapSel table, GXTevColorChan red, GXTevColorChan green, GXTevColorChan blue,
|
||||||
|
GXTevColorChan alpha);
|
||||||
|
void GXSetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1);
|
||||||
|
void GXSetZTexture(GXZTexOp op, GXTexFmt fmt, u32 bias);
|
||||||
|
void GXSetTevOrder(GXTevStageID stage, GXTexCoordID coord, GXTexMapID map, GXChannelID color);
|
||||||
|
void GXSetNumTevStages(u8 nStages);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,29 @@
|
||||||
|
#ifndef DOLPHIN_GXTEXTURE_H
|
||||||
|
#define DOLPHIN_GXTEXTURE_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
#include <dolphin/gx/GXStruct.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GXInitTexObj(GXTexObj* obj, const void* data, u16 width, u16 height, u32 format, GXTexWrapMode wrapS,
|
||||||
|
GXTexWrapMode wrapT, GXBool mipmap);
|
||||||
|
void GXInitTexObjCI(GXTexObj* obj, const void* data, u16 width, u16 height, GXCITexFmt format, GXTexWrapMode wrapS,
|
||||||
|
GXTexWrapMode wrapT, GXBool mipmap, u32 tlut);
|
||||||
|
void GXInitTexObjData(GXTexObj* obj, const void* data);
|
||||||
|
void GXInitTexObjLOD(GXTexObj* obj, GXTexFilter min_filt, GXTexFilter mag_filt, f32 min_lod, f32 max_lod, f32 lod_bias,
|
||||||
|
GXBool bias_clamp, GXBool do_edge_lod, GXAnisotropy max_aniso);
|
||||||
|
void GXLoadTexObj(GXTexObj* obj, GXTexMapID id);
|
||||||
|
u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool mipmap, u8 max_lod);
|
||||||
|
void GXInvalidateTexAll();
|
||||||
|
void GXInitTexObjWrapMode(GXTexObj* obj, GXTexWrapMode s, GXTexWrapMode t);
|
||||||
|
void GXInitTlutObj(GXTlutObj* obj, const void* data, GXTlutFmt format, u16 entries);
|
||||||
|
void GXLoadTlut(const GXTlutObj* obj, GXTlut idx);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,33 @@
|
||||||
|
#ifndef DOLPHIN_GXTRANSFORM_H
|
||||||
|
#define DOLPHIN_GXTRANSFORM_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define GX_PROJECTION_SZ 7
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
void GXSetProjection(const void* mtx, GXProjectionType type);
|
||||||
|
void GXLoadPosMtxImm(const void* mtx, u32 id);
|
||||||
|
void GXLoadNrmMtxImm(const void* mtx, u32 id);
|
||||||
|
void GXLoadTexMtxImm(const void* mtx, u32 id, GXTexMtxType type);
|
||||||
|
#else
|
||||||
|
void GXSetProjection(f32 mtx[4][4], GXProjectionType type);
|
||||||
|
void GXLoadPosMtxImm(f32 mtx[3][4], u32 id);
|
||||||
|
void GXLoadNrmMtxImm(f32 mtx[3][4], u32 id);
|
||||||
|
void GXLoadTexMtxImm(f32 mtx[][4], u32 id, GXTexMtxType type);
|
||||||
|
#endif
|
||||||
|
void GXSetViewport(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz);
|
||||||
|
void GXSetCurrentMtx(u32 id);
|
||||||
|
void GXSetViewportJitter(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz, u32 field);
|
||||||
|
void GXSetScissorBoxOffset(s32 x_off, s32 y_off);
|
||||||
|
void GXSetClipMode(GXClipMode mode);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,132 @@
|
||||||
|
#ifndef DOLPHIN_GXVERT_H
|
||||||
|
#define DOLPHIN_GXVERT_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define GXFIFO_ADDR 0xCC008000
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
u8 u8;
|
||||||
|
u16 u16;
|
||||||
|
u32 u32;
|
||||||
|
u64 u64;
|
||||||
|
s8 s8;
|
||||||
|
s16 s16;
|
||||||
|
s32 s32;
|
||||||
|
s64 s64;
|
||||||
|
f32 f32;
|
||||||
|
f64 f64;
|
||||||
|
} PPCWGPipe;
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
volatile PPCWGPipe GXWGFifo : GXFIFO_ADDR;
|
||||||
|
#else
|
||||||
|
#define GXWGFifo (*(volatile PPCWGPipe*)GXFIFO_ADDR)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
|
||||||
|
void GXPosition3f32(f32 x, f32 y, f32 z);
|
||||||
|
void GXPosition3u16(u16 x, u16 y, u16 z);
|
||||||
|
void GXPosition3s16(s16 x, s16 y, s16 z);
|
||||||
|
void GXPosition3u8(u8 x, u8 y, u8 z);
|
||||||
|
void GXPosition3s8(s8 x, s8 y, s8 z);
|
||||||
|
|
||||||
|
void GXPosition2f32(f32 x, f32 y);
|
||||||
|
void GXPosition2u16(u16 x, u16 y);
|
||||||
|
void GXPosition2s16(s16 x, s16 y);
|
||||||
|
void GXPosition2u8(u8 x, u8 y);
|
||||||
|
void GXPosition2s8(s8 x, s8 y);
|
||||||
|
|
||||||
|
void GXPosition1x16(u16 index);
|
||||||
|
void GXPosition1x8(u8 index);
|
||||||
|
|
||||||
|
void GXNormal3f32(f32 x, f32 y, f32 z);
|
||||||
|
void GXNormal3s16(s16 x, s16 y, s16 z);
|
||||||
|
void GXNormal3s8(s8 x, s8 y, s8 z);
|
||||||
|
|
||||||
|
void GXNormal1x16(u16 index);
|
||||||
|
void GXNormal1x8(u8 index);
|
||||||
|
|
||||||
|
void GXColor4u8(u8 r, u8 g, u8 b, u8 a);
|
||||||
|
|
||||||
|
void GXColor3u8(u8 r, u8 g, u8 b);
|
||||||
|
|
||||||
|
void GXColor1u32(u32 clr);
|
||||||
|
void GXColor1u16(u16 clr);
|
||||||
|
|
||||||
|
void GXColor1x16(u16 index);
|
||||||
|
void GXColor1x8(u8 index);
|
||||||
|
|
||||||
|
void GXTexCoord2f32(f32 s, f32 t);
|
||||||
|
void GXTexCoord2u16(u16 s, u16 t);
|
||||||
|
void GXTexCoord2s16(s16 s, s16 t);
|
||||||
|
void GXTexCoord2u8(u8 s, u8 t);
|
||||||
|
void GXTexCoord2s8(s8 s, s8 t);
|
||||||
|
|
||||||
|
void GXTexCoord1f32(f32 s, f32 t);
|
||||||
|
void GXTexCoord1u16(u16 s, u16 t);
|
||||||
|
void GXTexCoord1s16(s16 s, s16 t);
|
||||||
|
void GXTexCoord1u8(u8 s, u8 t);
|
||||||
|
void GXTexCoord1s8(s8 s, s8 t);
|
||||||
|
|
||||||
|
void GXTexCoord1x16(u16 index);
|
||||||
|
void GXTexCoord1x8(u8 index);
|
||||||
|
|
||||||
|
extern void GXEnd(void);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline void GXPosition2f32(const f32 x, const f32 y) {
|
||||||
|
GXWGFifo.f32 = x;
|
||||||
|
GXWGFifo.f32 = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void GXPosition3s16(const s16 x, const s16 y, const s16 z) {
|
||||||
|
GXWGFifo.s16 = x;
|
||||||
|
GXWGFifo.s16 = y;
|
||||||
|
GXWGFifo.s16 = z;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void GXPosition3f32(const f32 x, const f32 y, const f32 z) {
|
||||||
|
GXWGFifo.f32 = x;
|
||||||
|
GXWGFifo.f32 = y;
|
||||||
|
GXWGFifo.f32 = z;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void GXNormal3f32(const f32 x, const f32 y, const f32 z) {
|
||||||
|
GXWGFifo.f32 = x;
|
||||||
|
GXWGFifo.f32 = y;
|
||||||
|
GXWGFifo.f32 = z;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void GXColor4u8(const u8 r, const u8 g, const u8 b, const u8 a) {
|
||||||
|
GXWGFifo.u8 = r;
|
||||||
|
GXWGFifo.u8 = g;
|
||||||
|
GXWGFifo.u8 = b;
|
||||||
|
GXWGFifo.u8 = a;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void GXTexCoord2s16(const s16 u, const s16 v) {
|
||||||
|
GXWGFifo.s16 = u;
|
||||||
|
GXWGFifo.s16 = v;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void GXTexCoord2f32(const f32 u, const f32 v) {
|
||||||
|
GXWGFifo.f32 = u;
|
||||||
|
GXWGFifo.f32 = v;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void GXEnd(void) {}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,115 @@
|
||||||
|
#ifndef DOLPHIN_PAD_H
|
||||||
|
#define DOLPHIN_PAD_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#define PAD_CHAN0 0
|
||||||
|
#define PAD_CHAN1 1
|
||||||
|
#define PAD_CHAN2 2
|
||||||
|
#define PAD_CHAN3 3
|
||||||
|
#define PAD_CHANMAX 4
|
||||||
|
|
||||||
|
#define PAD_MOTOR_STOP 0
|
||||||
|
#define PAD_MOTOR_RUMBLE 1
|
||||||
|
#define PAD_MOTOR_STOP_HARD 2
|
||||||
|
|
||||||
|
#define PAD_ERR_NONE 0
|
||||||
|
#define PAD_ERR_NO_CONTROLLER -1
|
||||||
|
#define PAD_ERR_NOT_READY -2
|
||||||
|
#define PAD_ERR_TRANSFER -3
|
||||||
|
|
||||||
|
#define PAD_BUTTON_LEFT 0x0001
|
||||||
|
#define PAD_BUTTON_RIGHT 0x0002
|
||||||
|
#define PAD_BUTTON_DOWN 0x0004
|
||||||
|
#define PAD_BUTTON_UP 0x0008
|
||||||
|
#define PAD_TRIGGER_Z 0x0010
|
||||||
|
#define PAD_TRIGGER_R 0x0020
|
||||||
|
#define PAD_TRIGGER_L 0x0040
|
||||||
|
#define PAD_BUTTON_A 0x0100
|
||||||
|
#define PAD_BUTTON_B 0x0200
|
||||||
|
#define PAD_BUTTON_X 0x0400
|
||||||
|
#define PAD_BUTTON_Y 0x0800
|
||||||
|
#define PAD_BUTTON_MENU 0x1000
|
||||||
|
#define PAD_BUTTON_START 0x1000
|
||||||
|
|
||||||
|
#define PAD_CHAN0_BIT 0x80000000
|
||||||
|
#define PAD_CHAN1_BIT 0x40000000
|
||||||
|
#define PAD_CHAN2_BIT 0x20000000
|
||||||
|
#define PAD_CHAN3_BIT 0x10000000
|
||||||
|
|
||||||
|
#define PADButtonDown(buttonLast, button) (((buttonLast) ^ (button)) & (button))
|
||||||
|
#define PADButtonUp(buttonLast, button) (((buttonLast) ^ (button)) & (buttonLast))
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct PADStatus {
|
||||||
|
u16 button;
|
||||||
|
s8 stickX;
|
||||||
|
s8 stickY;
|
||||||
|
s8 substickX;
|
||||||
|
s8 substickY;
|
||||||
|
u8 triggerL;
|
||||||
|
u8 triggerR;
|
||||||
|
u8 analogA;
|
||||||
|
u8 analogB;
|
||||||
|
s8 err;
|
||||||
|
} PADStatus;
|
||||||
|
|
||||||
|
BOOL PADInit();
|
||||||
|
u32 PADRead(PADStatus* status);
|
||||||
|
BOOL PADReset(u32 mask);
|
||||||
|
BOOL PADRecalibrate(u32 mask);
|
||||||
|
void PADClamp(PADStatus* status);
|
||||||
|
void PADClampCircle(PADStatus* status);
|
||||||
|
void PADControlMotor(s32 chan, u32 cmd);
|
||||||
|
void PADSetSpec(u32 spec);
|
||||||
|
void PADControlAllMotors(const u32* cmdArr);
|
||||||
|
void PADSetAnalogMode(u32 mode);
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
/* New API to facilitate controller interactions */
|
||||||
|
typedef struct PADDeadZones {
|
||||||
|
bool emulateTriggers;
|
||||||
|
bool useDeadzones;
|
||||||
|
u16 stickDeadZone;
|
||||||
|
u16 substickDeadZone;
|
||||||
|
u16 leftTriggerActivationZone;
|
||||||
|
u16 rightTriggerActivationZone;
|
||||||
|
} PADDeadZones;
|
||||||
|
|
||||||
|
typedef u16 PADButton;
|
||||||
|
|
||||||
|
typedef struct PADButtonMapping {
|
||||||
|
u32 nativeButton;
|
||||||
|
PADButton padButton;
|
||||||
|
} PADButtonMapping;
|
||||||
|
|
||||||
|
/* Returns the total number of controllers */
|
||||||
|
u32 PADCount();
|
||||||
|
/* Returns the controller name for the given index into the controller map */
|
||||||
|
const char* PADGetNameForControllerIndex(u32 idx);
|
||||||
|
void PADSetPortForIndex(u32 index, s32 port);
|
||||||
|
s32 PADGetIndexForPort(u32 port);
|
||||||
|
void PADGetVidPid(u32 port, u32* vid, u32* pid);
|
||||||
|
void PADClearPort(u32 port);
|
||||||
|
const char* PADGetName(u32 port);
|
||||||
|
void PADSetButtonMapping(u32 port, PADButtonMapping mapping);
|
||||||
|
void PADSetAllButtonMappings(u32 port, PADButtonMapping buttons[12]);
|
||||||
|
PADButtonMapping* PADGetButtonMappings(u32 port, u32* buttonCount);
|
||||||
|
void PADSerializeMappings();
|
||||||
|
PADDeadZones* PADGetDeadZones(u32 port);
|
||||||
|
const char* PADGetButtonName(PADButton);
|
||||||
|
const char* PADGetNativeButtonName(u32 button);
|
||||||
|
/* Returns any pressed native button */
|
||||||
|
s32 PADGetNativeButtonPressed(u32 port);
|
||||||
|
void PADRestoreDefaultMapping(u32 port);
|
||||||
|
void PADBlockInput(bool block);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,72 @@
|
||||||
|
#ifndef DOLPHIN_SI_H
|
||||||
|
#define DOLPHIN_SI_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#define SI_CHAN0 0
|
||||||
|
#define SI_CHAN1 1
|
||||||
|
#define SI_CHAN2 2
|
||||||
|
#define SI_CHAN3 3
|
||||||
|
#define SI_MAX_CHAN 4
|
||||||
|
|
||||||
|
#define SI_CHAN0_BIT 0x80000000
|
||||||
|
#define SI_CHAN1_BIT 0x40000000
|
||||||
|
#define SI_CHAN2_BIT 0x20000000
|
||||||
|
#define SI_CHAN3_BIT 0x10000000
|
||||||
|
#define SI_CHAN_BIT(chn) (SI_CHAN0_BIT >> (chn))
|
||||||
|
|
||||||
|
#define SI_ERROR_UNDER_RUN 0x0001
|
||||||
|
#define SI_ERROR_OVER_RUN 0x0002
|
||||||
|
#define SI_ERROR_COLLISION 0x0004
|
||||||
|
#define SI_ERROR_NO_RESPONSE 0x0008
|
||||||
|
#define SI_ERROR_WRST 0x0010
|
||||||
|
#define SI_ERROR_RDST 0x0020
|
||||||
|
#define SI_ERROR_UNKNOWN 0x0040
|
||||||
|
#define SI_ERROR_BUSY 0x0080
|
||||||
|
|
||||||
|
#define SI_TYPE_MASK 0x18000000u
|
||||||
|
#define SI_TYPE_N64 0x00000000u
|
||||||
|
#define SI_TYPE_DOLPHIN 0x08000000u
|
||||||
|
#define SI_TYPE_GC SI_TYPE_DOLPHIN
|
||||||
|
|
||||||
|
// GameCube specific
|
||||||
|
#define SI_GC_WIRELESS 0x80000000u
|
||||||
|
#define SI_GC_NOMOTOR 0x20000000u // no rumble motor
|
||||||
|
#define SI_GC_STANDARD 0x01000000u // dolphin standard controller
|
||||||
|
|
||||||
|
// WaveBird specific
|
||||||
|
#define SI_WIRELESS_RECEIVED 0x40000000u // 0: no wireless unit
|
||||||
|
#define SI_WIRELESS_IR 0x04000000u // 0: IR 1: RF
|
||||||
|
#define SI_WIRELESS_STATE 0x02000000u // 0: variable 1: fixed
|
||||||
|
#define SI_WIRELESS_ORIGIN 0x00200000u // 0: invalid 1: valid
|
||||||
|
#define SI_WIRELESS_FIX_ID 0x00100000u // 0: not fixed 1: fixed
|
||||||
|
#define SI_WIRELESS_TYPE 0x000f0000u
|
||||||
|
#define SI_WIRELESS_LITE_MASK 0x000c0000u // 0: normal 1: lite controller
|
||||||
|
#define SI_WIRELESS_LITE 0x00040000u // 0: normal 1: lite controller
|
||||||
|
#define SI_WIRELESS_CONT_MASK 0x00080000u // 0: non-controller 1: non-controller
|
||||||
|
#define SI_WIRELESS_CONT 0x00000000u
|
||||||
|
#define SI_WIRELESS_ID 0x00c0ff00u
|
||||||
|
#define SI_WIRELESS_TYPE_ID (SI_WIRELESS_TYPE | SI_WIRELESS_ID)
|
||||||
|
|
||||||
|
#define SI_N64_CONTROLLER (SI_TYPE_N64 | 0x05000000)
|
||||||
|
#define SI_N64_MIC (SI_TYPE_N64 | 0x00010000)
|
||||||
|
#define SI_N64_KEYBOARD (SI_TYPE_N64 | 0x00020000)
|
||||||
|
#define SI_N64_MOUSE (SI_TYPE_N64 | 0x02000000)
|
||||||
|
#define SI_GBA (SI_TYPE_N64 | 0x00040000)
|
||||||
|
#define SI_GC_CONTROLLER (SI_TYPE_GC | SI_GC_STANDARD)
|
||||||
|
#define SI_GC_RECEIVER (SI_TYPE_GC | SI_GC_WIRELESS)
|
||||||
|
#define SI_GC_WAVEBIRD (SI_TYPE_GC | SI_GC_WIRELESS | SI_GC_STANDARD | SI_WIRELESS_STATE | SI_WIRELESS_FIX_ID)
|
||||||
|
#define SI_GC_KEYBOARD (SI_TYPE_GC | 0x00200000)
|
||||||
|
#define SI_GC_STEERING (SI_TYPE_GC | 0x00000000)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
u32 SIProbe(s32 chan);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,83 @@
|
||||||
|
#ifndef DOLPHIN_TYPES_H
|
||||||
|
#define DOLPHIN_TYPES_H
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
#include <stdint.h>
|
||||||
|
typedef int8_t s8;
|
||||||
|
typedef int16_t s16;
|
||||||
|
typedef int32_t s32;
|
||||||
|
typedef int64_t s64;
|
||||||
|
typedef uint8_t u8;
|
||||||
|
typedef uint16_t u16;
|
||||||
|
typedef uint32_t u32;
|
||||||
|
typedef uint64_t u64;
|
||||||
|
#else
|
||||||
|
typedef signed char s8;
|
||||||
|
typedef signed short int s16;
|
||||||
|
typedef signed int s32;
|
||||||
|
typedef signed long long int s64;
|
||||||
|
typedef unsigned char u8;
|
||||||
|
typedef unsigned short int u16;
|
||||||
|
typedef unsigned int u32;
|
||||||
|
typedef unsigned long long int u64;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef volatile u8 vu8;
|
||||||
|
typedef volatile u16 vu16;
|
||||||
|
typedef volatile u32 vu32;
|
||||||
|
typedef volatile u64 vu64;
|
||||||
|
|
||||||
|
typedef volatile s8 vs8;
|
||||||
|
typedef volatile s16 vs16;
|
||||||
|
typedef volatile s32 vs32;
|
||||||
|
typedef volatile s64 vs64;
|
||||||
|
|
||||||
|
typedef float f32;
|
||||||
|
typedef double f64;
|
||||||
|
|
||||||
|
typedef volatile f32 vf32;
|
||||||
|
typedef volatile f64 vf64;
|
||||||
|
|
||||||
|
#if defined(TARGET_PC) && !defined(_WIN32)
|
||||||
|
#include <stdbool.h>
|
||||||
|
typedef bool BOOL;
|
||||||
|
#ifndef FALSE
|
||||||
|
#define FALSE false
|
||||||
|
#endif
|
||||||
|
#ifndef TRUE
|
||||||
|
#define TRUE true
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
typedef int BOOL;
|
||||||
|
#ifndef FALSE
|
||||||
|
#define FALSE 0
|
||||||
|
#endif
|
||||||
|
#ifndef TRUE
|
||||||
|
#define TRUE 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
#include <stddef.h>
|
||||||
|
#else
|
||||||
|
#ifndef NULL
|
||||||
|
#define NULL 0
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifndef __cplusplus
|
||||||
|
#ifndef nullptr
|
||||||
|
#define nullptr NULL
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ATTRIBUTE_ALIGN
|
||||||
|
#if defined(__MWERKS__) || defined(__GNUC__)
|
||||||
|
#define ATTRIBUTE_ALIGN(num) __attribute__((aligned(num)))
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
#define ATTRIBUTE_ALIGN(num)
|
||||||
|
#else
|
||||||
|
#error unknown compiler
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,29 @@
|
||||||
|
#ifndef DOLPHIN_VI_H
|
||||||
|
#define DOLPHIN_VI_H
|
||||||
|
|
||||||
|
#include <dolphin/gx/GXStruct.h>
|
||||||
|
#include <dolphin/vifuncs.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void VIInit(void);
|
||||||
|
void VIConfigure(GXRenderModeObj *rm);
|
||||||
|
void VIFlush(void);
|
||||||
|
u32 VIGetTvFormat(void);
|
||||||
|
void VISetNextFrameBuffer(void *fb);
|
||||||
|
void VIWaitForRetrace(void);
|
||||||
|
void VISetBlack(BOOL black);
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
void VISetWindowTitle(const char* title);
|
||||||
|
void VISetWindowFullscreen(bool fullscreen);
|
||||||
|
bool VIGetWindowFullscreen();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef DOLPHIN_VIFUNCS_H
|
||||||
|
#define DOLPHIN_VIFUNCS_H
|
||||||
|
|
||||||
|
#include <dolphin/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
u32 VIGetNextField(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -12,10 +12,10 @@ typedef unsigned short u16;
|
||||||
typedef unsigned int u32;
|
typedef unsigned int u32;
|
||||||
typedef unsigned long long u64;
|
typedef unsigned long long u64;
|
||||||
|
|
||||||
typedef char s8;
|
typedef signed char s8;
|
||||||
typedef short s16;
|
typedef signed short s16;
|
||||||
typedef int s32;
|
typedef signed int s32;
|
||||||
typedef long long s64;
|
typedef signed long long s64;
|
||||||
|
|
||||||
typedef volatile u8 vu8;
|
typedef volatile u8 vu8;
|
||||||
typedef volatile u16 vu16;
|
typedef volatile u16 vu16;
|
||||||
|
@ -50,16 +50,12 @@ typedef void* unkptr;
|
||||||
#define override
|
#define override
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef BOOL
|
typedef int BOOL;
|
||||||
#ifdef __cplusplus
|
#ifndef TRUE
|
||||||
#define BOOL bool
|
|
||||||
#define TRUE true
|
|
||||||
#define FALSE false
|
|
||||||
#else
|
|
||||||
#define BOOL u8
|
|
||||||
#define TRUE 1
|
#define TRUE 1
|
||||||
#define FALSE 0
|
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef FALSE
|
||||||
|
#define FALSE 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ATTRIBUTE_ALIGN
|
#ifndef ATTRIBUTE_ALIGN
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
#include "Kyoto/Graphics/CCubeMaterial.hpp"
|
||||||
|
|
||||||
|
#include "Kyoto/Math/CTransform4f.hpp"
|
||||||
|
|
||||||
|
CVector3f sPlayerPosition;
|
||||||
|
CVector3f CCubeMaterial::sViewingFrom;
|
||||||
|
static CTransform4f sTextureProjectionTransform = CTransform4f::Identity();
|
||||||
|
|
||||||
|
void CCubeMaterial::SetupBlendMode(u32 blendFactors, const CModelFlags& flags, bool alphaTest) {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,73 @@
|
||||||
|
#include "Kyoto/Graphics/CGX.hpp"
|
||||||
|
|
||||||
|
CGX::SGXState CGX::sGXState;
|
||||||
|
|
||||||
|
void CGX::SetNumChans(u8 num) {
|
||||||
|
sGXState.x4e_numChans = num;
|
||||||
|
sGXState.x4c_numChansDirty = sGXState.x4e_numChans != sGXState.x4d_prevNumChans;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CGX::SetNumTexGens(u8 num) {
|
||||||
|
if (num != sGXState.x4f_numTexGens) {
|
||||||
|
sGXState.x4f_numTexGens = num;
|
||||||
|
GXSetNumTexGens(num);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CGX::SetChanAmbColor(EChannelId channel, const GXColor& color) {
|
||||||
|
if (!CompareGXColors(color, sGXState.x38_chanAmbColors[channel])) {
|
||||||
|
CopyGXColor(sGXState.x38_chanAmbColors[channel], color);
|
||||||
|
GXSetChanAmbColor(static_cast< GXChannelID >(GX_COLOR0A0 + channel), color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GXColor CGX::GetChanAmbColor(EChannelId channel) { return sGXState.x38_chanAmbColors[channel]; }
|
||||||
|
|
||||||
|
void CGX::SetChanMatColor(EChannelId channel, const GXColor& color) {
|
||||||
|
if (!CompareGXColors(color, sGXState.x40_chanMatColors[channel])) {
|
||||||
|
CopyGXColor(sGXState.x40_chanMatColors[channel], color);
|
||||||
|
GXSetChanMatColor(static_cast< GXChannelID >(GX_COLOR0A0 + channel), color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO non-matching
|
||||||
|
void CGX::SetChanCtrl(EChannelId channel, GXBool enable, GXColorSrc ambSrc, GXColorSrc matSrc, GXLightID lights, GXDiffuseFn diffFn,
|
||||||
|
GXAttnFn attnFn) {
|
||||||
|
u16 flags = (lights == GX_LIGHT_NULL ? 0 : enable) & 1 | (ambSrc & 1) << 1 | (matSrc & 1) << 2 | (lights & 0xFF) << 3 |
|
||||||
|
(diffFn & 3) << 11 | (attnFn & 3) << 13;
|
||||||
|
sGXState.x34_chanCtrls[channel] = flags;
|
||||||
|
sGXState.x4c_dirtyChanCtrl = (((sGXState.x34_chanCtrls[channel] != sGXState.x30_prevChanCtrls[channel]) & 1) << channel) &
|
||||||
|
(sGXState.x4c_dirtyChanCtrl & ~(1 << channel));
|
||||||
|
// if (channel == Channel0) {
|
||||||
|
// sGXState.x4c_dirtyChanCtrl0 = (sGXState.x34_chanCtrls[channel] != sGXState.x30_prevChanCtrls[channel]);
|
||||||
|
// } else {
|
||||||
|
// sGXState.x4c_dirtyChanCtrl1 = (sGXState.x34_chanCtrls[channel] != sGXState.x30_prevChanCtrls[channel]);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
void CGX::SetNumTevStages(u8 num) {
|
||||||
|
if (sGXState.x50_numTevStages != num) {
|
||||||
|
sGXState.x50_numTevStages = num;
|
||||||
|
GXSetNumTevStages(num);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CGX::SetTevKColor(GXTevKColorID id, const GXColor& color) {
|
||||||
|
if (!CompareGXColors(sGXState.x58_kColors[id], color)) {
|
||||||
|
CopyGXColor(sGXState.x58_kColors[id], color);
|
||||||
|
GXSetTevKColor(id, color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO non-matching
|
||||||
|
void CGX::SetTevColorIn(GXTevStageID stageId, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, GXTevColorArg d) {
|
||||||
|
u32 ma = MaskAndShiftLeft(a, 0x1F, 0);
|
||||||
|
u32 mb = MaskAndShiftLeft(b, 0x1F, 5);
|
||||||
|
u32 mc = MaskAndShiftLeft(c, 0x1F, 10);
|
||||||
|
u32 md = MaskAndShiftLeft(d, 0x1F, 15);
|
||||||
|
u32 flags = ma | mb | mc | md;
|
||||||
|
if (flags != sGXState.x68_tevStates[stageId].x0_colorInArgs) {
|
||||||
|
sGXState.x68_tevStates[stageId].x0_colorInArgs = flags;
|
||||||
|
GXSetTevColorIn(stageId, a, b, c, d);
|
||||||
|
}
|
||||||
|
}
|
|
@ -64,7 +64,7 @@ double x;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double z, p, q, r, w, s, c, df;
|
double z, p, q, r, w, s, c, df;
|
||||||
_INT32 hx, ix; /*- cc 020130 -*/
|
_INT32 hx, ix;
|
||||||
hx = __HI(x);
|
hx = __HI(x);
|
||||||
ix = hx & 0x7fffffff;
|
ix = hx & 0x7fffffff;
|
||||||
if (ix >= 0x3ff00000) { /* |x| >= 1 */
|
if (ix >= 0x3ff00000) { /* |x| >= 1 */
|
||||||
|
|
|
@ -71,7 +71,7 @@ double x;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double t, w, p, q, c, r, s;
|
double t, w, p, q, c, r, s;
|
||||||
_INT32 hx, ix; /*- cc 020130 -*/
|
_INT32 hx, ix;
|
||||||
hx = __HI(x);
|
hx = __HI(x);
|
||||||
ix = hx & 0x7fffffff;
|
ix = hx & 0x7fffffff;
|
||||||
if (ix >= 0x3ff00000) { /* |x|>= 1 */
|
if (ix >= 0x3ff00000) { /* |x|>= 1 */
|
||||||
|
|
|
@ -59,8 +59,8 @@ double y, x;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double z;
|
double z;
|
||||||
_INT32 k, m, hx, hy, ix, iy; /*- cc 020130 -*/
|
_INT32 k, m, hx, hy, ix, iy;
|
||||||
_UINT32 lx, ly; /*- cc 020130 -*/
|
_UINT32 lx, ly;
|
||||||
|
|
||||||
hx = __HI(x);
|
hx = __HI(x);
|
||||||
ix = hx & 0x7fffffff;
|
ix = hx & 0x7fffffff;
|
||||||
|
|
|
@ -114,8 +114,8 @@ double x;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double y, hi, lo, c, t;
|
double y, hi, lo, c, t;
|
||||||
_INT32 k, xsb; /*- cc 020130 -*/
|
_INT32 k, xsb;
|
||||||
_UINT32 hx; /*- cc 020130 -*/
|
_UINT32 hx;
|
||||||
|
|
||||||
hx = __HI(x); /* high word of x */
|
hx = __HI(x); /* high word of x */
|
||||||
xsb = (hx >> 31) & 1; /* sign bit of x */
|
xsb = (hx >> 31) & 1; /* sign bit of x */
|
||||||
|
|
|
@ -37,8 +37,8 @@ double __ieee754_fmod(x, y)
|
||||||
double x, y;
|
double x, y;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
_INT32 n, hx, hy, hz, ix, iy, sx, i; /*- cc 020130 -*/
|
_INT32 n, hx, hy, hz, ix, iy, sx, i;
|
||||||
_UINT32 lx, ly, lz; /*- cc 020130 -*/
|
_UINT32 lx, ly, lz;
|
||||||
|
|
||||||
hx = __HI(x); /* high word of x */
|
hx = __HI(x); /* high word of x */
|
||||||
lx = __LO(x); /* low word of x */
|
lx = __LO(x); /* low word of x */
|
||||||
|
@ -56,7 +56,7 @@ double x, y;
|
||||||
if ((hx < hy) || (lx < ly))
|
if ((hx < hy) || (lx < ly))
|
||||||
return x; /* |x|<|y| return x */
|
return x; /* |x|<|y| return x */
|
||||||
if (lx == ly)
|
if (lx == ly)
|
||||||
return Zero[(_UINT32)sx >> 31]; /* |x|=|y| return x*0*/ /*- cc 020130 -*/
|
return Zero[(_UINT32)sx >> 31]; /* |x|=|y| return x*0*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* determine ix = ilogb(x) */
|
/* determine ix = ilogb(x) */
|
||||||
|
@ -121,7 +121,7 @@ double x, y;
|
||||||
lx = lx + lx;
|
lx = lx + lx;
|
||||||
} else {
|
} else {
|
||||||
if ((hz | lz) == 0) /* return sign(x)*0 */
|
if ((hz | lz) == 0) /* return sign(x)*0 */
|
||||||
return Zero[(_UINT32)sx >> 31]; /*- cc 020130 -*/
|
return Zero[(_UINT32)sx >> 31];
|
||||||
hx = hz + hz + (lz >> 31);
|
hx = hz + hz + (lz >> 31);
|
||||||
lx = lz + lz;
|
lx = lz + lz;
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ double x, y;
|
||||||
|
|
||||||
/* convert back to floating value and restore the sign */
|
/* convert back to floating value and restore the sign */
|
||||||
if ((hx | lx) == 0) /* return sign(x)*0 */
|
if ((hx | lx) == 0) /* return sign(x)*0 */
|
||||||
return Zero[(_UINT32)sx >> 31]; /*- cc 020130 -*/
|
return Zero[(_UINT32)sx >> 31];
|
||||||
while (hx < 0x00100000) { /* normalize x */
|
while (hx < 0x00100000) { /* normalize x */
|
||||||
hx = hx + hx + (lx >> 31);
|
hx = hx + hx + (lx >> 31);
|
||||||
lx = lx + lx;
|
lx = lx + lx;
|
||||||
|
@ -150,7 +150,7 @@ double x, y;
|
||||||
} else { /* subnormal output */
|
} else { /* subnormal output */
|
||||||
n = -1022 - iy;
|
n = -1022 - iy;
|
||||||
if (n <= 20) {
|
if (n <= 20) {
|
||||||
lx = (lx >> n) | ((_UINT32)hx << (32 - n)); /*- cc 020130 -*/
|
lx = (lx >> n) | ((_UINT32)hx << (32 - n));
|
||||||
hx >>= n;
|
hx >>= n;
|
||||||
} else if (n <= 31) {
|
} else if (n <= 31) {
|
||||||
lx = (hx << (32 - n)) | (lx >> n);
|
lx = (hx << (32 - n)) | (lx >> n);
|
||||||
|
|
|
@ -89,8 +89,8 @@ double x;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double hfsq, f, s, z, R, w, t1, t2, dk;
|
double hfsq, f, s, z, R, w, t1, t2, dk;
|
||||||
_INT32 k, hx, i, j; /*- cc 020130 -*/
|
_INT32 k, hx, i, j;
|
||||||
_UINT32 lx; /*- cc 020130 -*/
|
_UINT32 lx;
|
||||||
|
|
||||||
hx = __HI(x); /* high word of x */
|
hx = __HI(x); /* high word of x */
|
||||||
lx = __LO(x); /* low word of x */
|
lx = __LO(x); /* low word of x */
|
||||||
|
|
|
@ -111,9 +111,9 @@ double x, y;
|
||||||
{
|
{
|
||||||
double z, ax, z_h, z_l, p_h, p_l;
|
double z, ax, z_h, z_l, p_h, p_l;
|
||||||
double y1, t1, t2, r, s, t, u, v, w;
|
double y1, t1, t2, r, s, t, u, v, w;
|
||||||
_INT32 i, j, k, yisint, n; /*- cc 020130 -*/
|
_INT32 i, j, k, yisint, n;
|
||||||
_INT32 hx, hy, ix, iy; /*- cc 020130 -*/
|
_INT32 hx, hy, ix, iy;
|
||||||
_UINT32 lx, ly; /*- cc 020130 -*/
|
_UINT32 lx, ly;
|
||||||
|
|
||||||
hx = __HI(x);
|
hx = __HI(x);
|
||||||
lx = __LO(x);
|
lx = __LO(x);
|
||||||
|
|
|
@ -73,15 +73,15 @@ static double
|
||||||
pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
|
pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
|
||||||
|
|
||||||
#ifdef __STDC__
|
#ifdef __STDC__
|
||||||
_INT32 __ieee754_rem_pio2(double x, double* y) /*- cc 020130 -*/
|
_INT32 __ieee754_rem_pio2(double x, double* y)
|
||||||
#else
|
#else
|
||||||
_INT32 __ieee754_rem_pio2(x, y) /*- cc 020130 -*/
|
_INT32 __ieee754_rem_pio2(x, y)
|
||||||
double x, y[];
|
double x, y[];
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double z, w, t, r, fn;
|
double z, w, t, r, fn;
|
||||||
double tx[3];
|
double tx[3];
|
||||||
_INT32 e0, i, j, nx, n, ix, hx; /*- cc 020130 -*/
|
_INT32 e0, i, j, nx, n, ix, hx;
|
||||||
|
|
||||||
hx = __HI(x); /* high word of x */
|
hx = __HI(x); /* high word of x */
|
||||||
ix = hx & 0x7fffffff;
|
ix = hx & 0x7fffffff;
|
||||||
|
@ -118,7 +118,7 @@ double x, y[];
|
||||||
}
|
}
|
||||||
if (ix <= 0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */
|
if (ix <= 0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */
|
||||||
t = fabs(x);
|
t = fabs(x);
|
||||||
n = (_INT32)(t * invpio2 + half); /*- cc 020130 -*/
|
n = (_INT32)(t * invpio2 + half);
|
||||||
fn = (double)n;
|
fn = (double)n;
|
||||||
r = t - fn * pio2_1;
|
r = t - fn * pio2_1;
|
||||||
w = fn * pio2_1t; /* 1st round good to 85 bit */
|
w = fn * pio2_1t; /* 1st round good to 85 bit */
|
||||||
|
@ -164,7 +164,7 @@ double x, y[];
|
||||||
e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */
|
e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */
|
||||||
__HI(z) = ix - (e0 << 20);
|
__HI(z) = ix - (e0 << 20);
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
tx[i] = (double)((_INT32)(z)); /*- cc 020130 -*/
|
tx[i] = (double)((_INT32)(z));
|
||||||
z = (z - tx[i]) * two24;
|
z = (z - tx[i]) * two24;
|
||||||
}
|
}
|
||||||
tx[2] = z;
|
tx[2] = z;
|
||||||
|
|
|
@ -17,11 +17,11 @@
|
||||||
#define _IEEE_LIBM
|
#define _IEEE_LIBM
|
||||||
|
|
||||||
#if __option(little_endian)
|
#if __option(little_endian)
|
||||||
#define __HIp(x) *(1 + (_INT32*)x) /*- cc 020130 -*/
|
#define __HIp(x) *(1 + (_INT32*)x)
|
||||||
#define __LOp(x) *(_INT32*)x /*- cc 020130 -*/
|
#define __LOp(x) *(_INT32*)x
|
||||||
#else
|
#else
|
||||||
#define __HIp(x) *(_INT32*)x /*- cc 020130 -*/
|
#define __HIp(x) *(_INT32*)x
|
||||||
#define __LOp(x) *(1 + (_INT32*)x) /*- cc 020130 -*/
|
#define __LOp(x) *(1 + (_INT32*)x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __STDC__
|
#ifdef __STDC__
|
||||||
|
|
|
@ -128,9 +128,9 @@
|
||||||
#include "fdlibm.h"
|
#include "fdlibm.h"
|
||||||
|
|
||||||
#ifdef __STDC__
|
#ifdef __STDC__
|
||||||
static const _INT32 init_jk[] = {2, 3, 4, 6}; /* initial value for jk */ /*- cc 020130 -*/
|
static const _INT32 init_jk[] = {2, 3, 4, 6}; /* initial value for jk */
|
||||||
#else
|
#else
|
||||||
static _INT32 init_jk[] = {2, 3, 4, 6}; /*- cc 020130 -*/
|
static _INT32 init_jk[] = {2, 3, 4, 6};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __STDC__
|
#ifdef __STDC__
|
||||||
|
@ -158,15 +158,15 @@ static double
|
||||||
twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */
|
twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */
|
||||||
|
|
||||||
#ifdef __STDC__
|
#ifdef __STDC__
|
||||||
_INT32 __kernel_rem_pio2(double* x, double* y, _INT32 e0, _INT32 nx, _INT32 prec, const _INT32* ipio2) /*- cc 020130 -*/
|
_INT32 __kernel_rem_pio2(double* x, double* y, _INT32 e0, _INT32 nx, _INT32 prec, const _INT32* ipio2)
|
||||||
#else
|
#else
|
||||||
_INT32 __kernel_rem_pio2(x, y, e0, nx, prec, ipio2) /*- cc 020130 -*/
|
_INT32 __kernel_rem_pio2(x, y, e0, nx, prec, ipio2)
|
||||||
double x[], y[];
|
double x[], y[];
|
||||||
_INT32 e0, nx, prec;
|
_INT32 e0, nx, prec;
|
||||||
_INT32 ipio2[]; /*- cc 020130 -*/
|
_INT32 ipio2[];
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
_INT32 jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; /*- cc 020130 -*/
|
_INT32 jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih;
|
||||||
double z, fw, f[20], fq[20], q[20];
|
double z, fw, f[20], fq[20], q[20];
|
||||||
|
|
||||||
/* initialize jk*/
|
/* initialize jk*/
|
||||||
|
@ -197,15 +197,15 @@ _INT32 ipio2[]; /*- cc 020130 -*/
|
||||||
recompute:
|
recompute:
|
||||||
/* distill q[] into iq[] reversingly */
|
/* distill q[] into iq[] reversingly */
|
||||||
for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) {
|
for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) {
|
||||||
fw = (double)((_INT32)(twon24 * z)); /*- cc 020130 -*/
|
fw = (double)((_INT32)(twon24 * z));
|
||||||
iq[i] = (_INT32)(z - two24 * fw); /*- cc 020130 -*/
|
iq[i] = (_INT32)(z - two24 * fw);
|
||||||
z = q[j - 1] + fw;
|
z = q[j - 1] + fw;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* compute n */
|
/* compute n */
|
||||||
z = scalbn(z, q0); /* actual value of z */
|
z = scalbn(z, q0); /* actual value of z */
|
||||||
z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */
|
z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */
|
||||||
n = (_INT32)z; /*- cc 020130 -*/
|
n = (_INT32)z;
|
||||||
z -= (double)n;
|
z -= (double)n;
|
||||||
ih = 0;
|
ih = 0;
|
||||||
if (q0 > 0) { /* need iq[jz-1] to determine n */
|
if (q0 > 0) { /* need iq[jz-1] to determine n */
|
||||||
|
@ -279,13 +279,13 @@ recompute:
|
||||||
} else { /* break z into 24-bit if necessary */
|
} else { /* break z into 24-bit if necessary */
|
||||||
z = scalbn(z, -q0);
|
z = scalbn(z, -q0);
|
||||||
if (z >= two24) {
|
if (z >= two24) {
|
||||||
fw = (double)((_INT32)(twon24 * z)); /*- cc 020130 -*/
|
fw = (double)((_INT32)(twon24 * z));
|
||||||
iq[jz] = (_INT32)(z - two24 * fw); /*- cc 020130 -*/
|
iq[jz] = (_INT32)(z - two24 * fw);
|
||||||
jz += 1;
|
jz += 1;
|
||||||
q0 += 24;
|
q0 += 24;
|
||||||
iq[jz] = (_INT32)fw; /*- cc 020130 -*/
|
iq[jz] = (_INT32)fw;
|
||||||
} else
|
} else
|
||||||
iq[jz] = (_INT32)z; /*- cc 020130 -*/
|
iq[jz] = (_INT32)z;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* convert integer "bit" chunk to floating-point value */
|
/* convert integer "bit" chunk to floating-point value */
|
||||||
|
|
|
@ -71,20 +71,20 @@ static double
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __STDC__
|
#ifdef __STDC__
|
||||||
double __kernel_tan(double x, double y, _INT32 iy) /*- cc 020130 -*/
|
double __kernel_tan(double x, double y, _INT32 iy)
|
||||||
#else
|
#else
|
||||||
double __kernel_tan(x, y, iy)
|
double __kernel_tan(x, y, iy)
|
||||||
double x, y;
|
double x, y;
|
||||||
_INT32 iy; /*- cc 020130 -*/
|
_INT32 iy;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double z, r, v, w, s;
|
double z, r, v, w, s;
|
||||||
_INT32 ix, hx; /*- cc 020130 -*/
|
_INT32 ix, hx;
|
||||||
hx = __HI(x); /* high word of x */
|
hx = __HI(x); /* high word of x */
|
||||||
ix = hx & 0x7fffffff; /* high word of |x| */
|
ix = hx & 0x7fffffff; /* high word of |x| */
|
||||||
if (ix < 0x3e300000) /* x < 2**-28 */
|
if (ix < 0x3e300000) /* x < 2**-28 */
|
||||||
{
|
{
|
||||||
if ((_INT32)x == 0) { /* generate inexact */ /*- cc 020130 -*/
|
if ((_INT32)x == 0) { /* generate inexact */
|
||||||
if (((ix | __LO(x)) | (iy + 1)) == 0)
|
if (((ix | __LO(x)) | (iy + 1)) == 0)
|
||||||
return one / fabs(x);
|
return one / fabs(x);
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "mem_funcs.h"
|
#include "mem_funcs.h"
|
||||||
|
|
||||||
// #pragma ANSI_strict off
|
#pragma ANSI_strict off
|
||||||
|
|
||||||
#define cps ((unsigned char*)src)
|
#define cps ((unsigned char*)src)
|
||||||
#define cpd ((unsigned char*)dst)
|
#define cpd ((unsigned char*)dst)
|
||||||
|
@ -51,8 +51,11 @@ void __copy_longs_aligned(void* dst, const void* src, unsigned long n) {
|
||||||
cps = ((unsigned char*)(lps + 1)) - 1;
|
cps = ((unsigned char*)(lps + 1)) - 1;
|
||||||
cpd = ((unsigned char*)(lpd + 1)) - 1;
|
cpd = ((unsigned char*)(lpd + 1)) - 1;
|
||||||
|
|
||||||
// TODO longlong required to match?
|
#ifdef PRIME1
|
||||||
n &= 3ULL;
|
n &= 3ULL;
|
||||||
|
#else
|
||||||
|
n &= 3;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (n)
|
if (n)
|
||||||
do
|
do
|
||||||
|
@ -99,8 +102,11 @@ void __copy_longs_rev_aligned(void* dst, const void* src, unsigned long n) {
|
||||||
*--lpd = *--lps;
|
*--lpd = *--lps;
|
||||||
while (--i);
|
while (--i);
|
||||||
|
|
||||||
// TODO longlong required to match?
|
#ifdef PRIME1
|
||||||
n &= 3ULL;
|
n &= 3ULL;
|
||||||
|
#else
|
||||||
|
n &= 3;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (n)
|
if (n)
|
||||||
do
|
do
|
||||||
|
@ -156,8 +162,11 @@ void __copy_longs_unaligned(void* dst, const void* src, unsigned long n) {
|
||||||
cps = ((unsigned char*)(lps + 1)) - 1;
|
cps = ((unsigned char*)(lps + 1)) - 1;
|
||||||
cpd = ((unsigned char*)(lpd + 1)) - 1;
|
cpd = ((unsigned char*)(lpd + 1)) - 1;
|
||||||
|
|
||||||
// TODO longlong required to match?
|
#ifdef PRIME1
|
||||||
n &= 3ULL;
|
n &= 3ULL;
|
||||||
|
#else
|
||||||
|
n &= 3;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (n) {
|
if (n) {
|
||||||
cps -= 4 - src_offset;
|
cps -= 4 - src_offset;
|
||||||
|
@ -209,8 +218,11 @@ void __copy_longs_rev_unaligned(void* dst, const void* src, unsigned long n) {
|
||||||
*--lpd = (v2 << left_shift) | (v1 >> right_shift);
|
*--lpd = (v2 << left_shift) | (v1 >> right_shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO longlong required to match?
|
#ifdef PRIME1
|
||||||
n &= 3ULL;
|
n &= 3ULL;
|
||||||
|
#else
|
||||||
|
n &= 3;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (n) {
|
if (n) {
|
||||||
cps += src_offset;
|
cps += src_offset;
|
||||||
|
|
|
@ -89,7 +89,7 @@ double x;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double w, s1, s2, z;
|
double w, s1, s2, z;
|
||||||
_INT32 ix, hx, id; /*- cc 020130 -*/
|
_INT32 ix, hx, id;
|
||||||
|
|
||||||
hx = __HI(x);
|
hx = __HI(x);
|
||||||
ix = hx & 0x7fffffff;
|
ix = hx & 0x7fffffff;
|
||||||
|
|
|
@ -17,7 +17,7 @@ static const double two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x0000000
|
||||||
big = 1.0e+300, tiny = 1.0e-300;
|
big = 1.0e+300, tiny = 1.0e-300;
|
||||||
|
|
||||||
double ldexp(double x, int n) {
|
double ldexp(double x, int n) {
|
||||||
_INT32 k, hx, lx; /*- cc 020130 -*/
|
_INT32 k, hx, lx;
|
||||||
if (!isfinite(x) || x == 0.0)
|
if (!isfinite(x) || x == 0.0)
|
||||||
return x;
|
return x;
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@ double modf(x, iptr)
|
||||||
double x, *iptr;
|
double x, *iptr;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
_INT32 i0, i1, j0; /*- cc 020130 -*/
|
_INT32 i0, i1, j0;
|
||||||
_UINT32 i; /*- cc 020130 -*/
|
_UINT32 i;
|
||||||
i0 = __HI(x); /* high x */
|
i0 = __HI(x); /* high x */
|
||||||
i1 = __LO(x); /* low x */
|
i1 = __LO(x); /* low x */
|
||||||
j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; /* exponent of x */
|
j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; /* exponent of x */
|
||||||
|
@ -64,7 +64,7 @@ double x, *iptr;
|
||||||
__LO(x) = 0; /* return +-0 */
|
__LO(x) = 0; /* return +-0 */
|
||||||
return x;
|
return x;
|
||||||
} else { /* fraction part in low x */
|
} else { /* fraction part in low x */
|
||||||
i = ((_UINT32)(0xffffffff)) >> (j0 - 20); /*- cc 020130 -*/
|
i = ((_UINT32)(0xffffffff)) >> (j0 - 20);
|
||||||
if ((i1 & i) == 0) { /* x is integral */
|
if ((i1 & i) == 0) { /* x is integral */
|
||||||
*iptr = x;
|
*iptr = x;
|
||||||
__HI(x) &= 0x80000000;
|
__HI(x) &= 0x80000000;
|
||||||
|
|
|
@ -26,8 +26,8 @@ double nextafter(x, y)
|
||||||
double x, y;
|
double x, y;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
_INT32 hx, hy, ix, iy; /*- cc 020130 -*/
|
_INT32 hx, hy, ix, iy;
|
||||||
_UINT32 lx, ly; /*- cc 020130 -*/
|
_UINT32 lx, ly;
|
||||||
|
|
||||||
hx = __HI(x); /* high word of x */
|
hx = __HI(x); /* high word of x */
|
||||||
lx = __LO(x); /* low word of x */
|
lx = __LO(x); /* low word of x */
|
||||||
|
|
|
@ -50,7 +50,7 @@ double x;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double y[2], z = 0.0;
|
double y[2], z = 0.0;
|
||||||
_INT32 n, ix; /*- cc 020130 -*/
|
_INT32 n, ix;
|
||||||
|
|
||||||
/* High word of x. */
|
/* High word of x. */
|
||||||
ix = __HI(x);
|
ix = __HI(x);
|
||||||
|
|
Loading…
Reference in New Issue