Begin CGX/CCubeMaterial; add dolphin headers from aurora

This commit is contained in:
Luke Street
2022-08-30 00:05:16 -04:00
parent bef7db1748
commit b28e24862b
67 changed files with 2363 additions and 314 deletions
+2 -1
View File
@@ -111,7 +111,8 @@ ifeq ($(VERBOSE),0)
# this set of LDFLAGS generates no warnings.
LDFLAGS := $(MAPGEN) -fp fmadd -nodefaults -w off
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_RUNTIME = $(CFLAGS_BASE) -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,auto
CFLAGS_MUSYX = $(CFLAGS_BASE) -str reuse,pool,readonly
File diff suppressed because it is too large Load Diff
+42 -42
View File
@@ -31,9 +31,9 @@ lbl_805A9350:
sub_80306630:
/* 80306630 00303590 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 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)
/* 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)
/* 80306648 003035A8 7C 7C 1B 78 */ mr r28, r3
/* 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)
/* 80306670 003035D0 48 07 4C 49 */ bl GXSetNumIndStages
lbl_80306674:
/* 80306674 003035D4 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 80306678 003035D8 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
/* 80306674 003035D4 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80306678 003035D8 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
/* 8030667C 003035DC 88 04 00 50 */ lbz r0, 0x50(r4)
/* 80306680 003035E0 28 00 00 01 */ cmplwi r0, 1
/* 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)
/* 80306694 003035F4 48 07 55 39 */ bl GXSetNumTevStages
lbl_80306698:
/* 80306698 003035F8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 8030669C 003035FC 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
/* 80306698 003035F8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 8030669C 003035FC 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
/* 803066A0 00303600 88 04 00 4F */ lbz r0, 0x4f(r4)
/* 803066A4 00303604 28 00 00 01 */ cmplwi r0, 1
/* 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)
/* 803066B8 00303618 48 07 1B AD */ bl GXSetNumTexGens
lbl_803066BC:
/* 803066BC 0030361C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 803066C0 00303620 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
/* 803066BC 0030361C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803066C0 00303620 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
/* 803066C4 00303624 88 04 00 52 */ lbz r0, 0x52(r4)
/* 803066C8 00303628 28 00 00 0F */ cmplwi r0, 0xf
/* 803066CC 0030362C 41 82 00 1C */ beq lbl_803066E8
@@ -79,8 +79,8 @@ lbl_803066BC:
/* 803066E0 00303640 38 A0 00 01 */ li r5, 1
/* 803066E4 00303644 48 07 58 75 */ bl GXSetZMode
lbl_803066E8:
/* 803066E8 00303648 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 803066EC 0030364C 3B 63 53 EC */ addi r27, r3, lbl_805A53EC@l
/* 803066E8 00303648 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803066EC 0030364C 3B 63 53 EC */ addi r27, r3, sGXState__3CGX@l
/* 803066F0 00303650 80 7B 00 7C */ lwz r3, 0x7c(r27)
/* 803066F4 00303654 3C 03 FF 01 */ addis r0, r3, 0xff01
/* 803066F8 00303658 28 00 FF FF */ cmplwi r0, 0xffff
@@ -124,8 +124,8 @@ lbl_80306754:
lbl_80306788:
/* 80306788 003036E8 38 60 00 00 */ li r3, 0
/* 8030678C 003036EC 48 00 14 C5 */ bl SetStandardTevColorAlphaOp__3CGXF13_GXTevStageID
/* 80306790 003036F0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 80306794 003036F4 3B 63 53 EC */ addi r27, r3, lbl_805A53EC@l
/* 80306790 003036F0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80306794 003036F4 3B 63 53 EC */ addi r27, r3, sGXState__3CGX@l
/* 80306798 003036F8 A0 1B 00 56 */ lhz r0, 0x56(r27)
/* 8030679C 003036FC 28 00 00 21 */ cmplwi r0, 0x21
/* 803067A0 00303700 41 82 00 28 */ beq lbl_803067C8
@@ -321,9 +321,9 @@ lbl_80306A18:
lbl_80306A1C:
/* 80306A1C 0030397C 2C 1A 00 01 */ cmpwi r26, 1
/* 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)
/* 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
lbl_80306A34:
/* 80306A34 00303994 80 BB 00 0C */ lwz r5, 0xc(r27)
@@ -357,9 +357,9 @@ lbl_80306A94:
lbl_80306A9C:
/* 80306A9C 003039FC 2C 1A 00 00 */ cmpwi r26, 0
/* 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)
/* 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
lbl_80306AB4:
/* 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
/* 80306FF4 00303F54 54 19 08 3C */ slwi r25, r0, 1
/* 80306FF8 00303F58 48 00 0E 31 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList
/* 80306FFC 00303F5C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 80307000 00303F60 3A A3 53 EC */ addi r21, r3, lbl_805A53EC@l
/* 80306FFC 00303F5C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307000 00303F60 3A A3 53 EC */ addi r21, r3, sGXState__3CGX@l
/* 80307004 00303F64 80 15 00 78 */ lwz r0, 0x78(r21)
/* 80307008 00303F68 28 00 00 00 */ cmplwi r0, 0
/* 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)
/* 8030701C 00303F7C 48 07 42 C5 */ bl GXSetTevDirect
lbl_80307020:
/* 80307020 00303F80 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 80307024 00303F84 38 83 53 EC */ addi r4, r3, lbl_805A53EC@l
/* 80307020 00303F80 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307024 00303F84 38 83 53 EC */ addi r4, r3, sGXState__3CGX@l
/* 80307028 00303F88 88 04 00 51 */ lbz r0, 0x51(r4)
/* 8030702C 00303F8C 28 00 00 00 */ cmplwi r0, 0
/* 80307030 00303F90 41 82 00 14 */ beq lbl_80307044
@@ -804,9 +804,9 @@ lbl_80307078:
/* 803070A0 00304000 39 00 00 00 */ li r8, 0
/* 803070A4 00304004 48 07 44 89 */ bl GXSetTevColorOp
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
/* 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)
/* 803070B8 00304018 88 1D 00 4F */ lbz r0, 0x4f(r29)
/* 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)
/* 803070E8 00304048 48 07 11 7D */ bl GXSetNumTexGens
lbl_803070EC:
/* 803070EC 0030404C 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 803070F0 00304050 3A A3 53 EC */ addi r21, r3, lbl_805A53EC@l
/* 803070EC 0030404C 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803070F0 00304050 3A A3 53 EC */ addi r21, r3, sGXState__3CGX@l
/* 803070F4 00304054 A0 15 00 56 */ lhz r0, 0x56(r21)
/* 803070F8 00304058 28 00 00 05 */ cmplwi r0, 5
/* 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
/* 803074AC 0030440C 48 03 E9 B1 */ bl SetCurrent__13CCubeMaterialCFRC11CModelFlagsRC12CCubeSurfaceRC10CCubeModel
/* 803074B0 00304410 80 BF 00 00 */ lwz r5, 0(r31)
/* 803074B4 00304414 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 803074B8 00304418 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
/* 803074B4 00304414 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803074B8 00304418 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 803074BC 0030441C 80 85 00 1C */ lwz r4, 0x1c(r5)
/* 803074C0 00304420 88 03 00 4C */ lbz r0, 0x4c(r3)
/* 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)
/* 80307574 003044D4 28 04 00 00 */ cmplwi r4, 0
/* 80307578 003044D8 41 82 00 5C */ beq lbl_803075D4
/* 8030757C 003044DC 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 80307580 003044E0 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
/* 8030757C 003044DC 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307580 003044E0 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 80307584 003044E4 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80307588 003044E8 7C 00 20 40 */ cmplw r0, r4
/* 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)
/* 803075A8 00304508 28 04 00 00 */ cmplwi r4, 0
/* 803075AC 0030450C 41 82 00 28 */ beq lbl_803075D4
/* 803075B0 00304510 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 803075B4 00304514 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
/* 803075B0 00304510 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803075B4 00304514 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 803075B8 00304518 80 03 00 10 */ lwz r0, 0x10(r3)
/* 803075BC 0030451C 7C 00 20 40 */ cmplw r0, r4
/* 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)
/* 80307638 00304598 28 04 00 00 */ cmplwi r4, 0
/* 8030763C 0030459C 41 82 00 24 */ beq lbl_80307660
/* 80307640 003045A0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 80307644 003045A4 84 03 53 EC */ lwzu r0, lbl_805A53EC@l(r3)
/* 80307640 003045A0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307644 003045A4 84 03 53 EC */ lwzu r0, sGXState__3CGX@l(r3)
/* 80307648 003045A8 7C 00 20 40 */ cmplw r0, r4
/* 8030764C 003045AC 41 82 00 14 */ beq lbl_80307660
/* 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)
/* 80307678 003045D8 28 04 00 00 */ cmplwi r4, 0
/* 8030767C 003045DC 41 82 00 28 */ beq lbl_803076A4
/* 80307680 003045E0 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 80307684 003045E4 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
/* 80307680 003045E0 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 80307684 003045E4 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 80307688 003045E8 80 03 00 04 */ lwz r0, 4(r3)
/* 8030768C 003045EC 7C 00 20 40 */ cmplw r0, r4
/* 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)
/* 803076E0 00304640 28 04 00 00 */ cmplwi r4, 0
/* 803076E4 00304644 41 82 00 28 */ beq lbl_8030770C
/* 803076E8 00304648 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 803076EC 0030464C 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
/* 803076E8 00304648 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 803076EC 0030464C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 803076F0 00304650 80 03 00 08 */ lwz r0, 8(r3)
/* 803076F4 00304654 7C 00 20 40 */ cmplw r0, r4
/* 803076F8 00304658 41 82 00 14 */ beq lbl_8030770C
@@ -1270,8 +1270,8 @@ lbl_80307724:
/* 8030772C 0030468C 41 82 00 34 */ beq lbl_80307760
/* 80307730 00304690 28 04 00 00 */ cmplwi r4, 0
/* 80307734 00304694 41 82 00 5C */ beq lbl_80307790
/* 80307738 00304698 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 8030773C 0030469C 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
/* 80307738 00304698 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 8030773C 0030469C 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 80307740 003046A0 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80307744 003046A4 7C 00 20 40 */ cmplw r0, r4
/* 80307748 003046A8 41 82 00 48 */ beq lbl_80307790
@@ -1283,8 +1283,8 @@ lbl_80307724:
lbl_80307760:
/* 80307760 003046C0 28 1E 00 00 */ cmplwi r30, 0
/* 80307764 003046C4 41 82 00 2C */ beq lbl_80307790
/* 80307768 003046C8 3C 60 80 5A */ lis r3, lbl_805A53EC@ha
/* 8030776C 003046CC 38 63 53 EC */ addi r3, r3, lbl_805A53EC@l
/* 80307768 003046C8 3C 60 80 5A */ lis r3, sGXState__3CGX@ha
/* 8030776C 003046CC 38 63 53 EC */ addi r3, r3, sGXState__3CGX@l
/* 80307770 003046D0 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80307774 003046D4 7C 00 F0 40 */ cmplw r0, r30
/* 80307778 003046D8 41 82 00 18 */ beq lbl_80307790
@@ -1296,9 +1296,9 @@ lbl_80307760:
lbl_80307790:
/* 80307790 003046F0 28 1E 00 00 */ cmplwi r30, 0
/* 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
/* 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:
/* 803077A4 00304704 28 1E 00 00 */ cmplwi r30, 0
/* 803077A8 00304708 38 7D 00 0D */ addi r3, r29, 0xd
+101 -101
View File
File diff suppressed because it is too large Load Diff
@@ -4094,8 +4094,8 @@ lbl_800B4350:
.global update_fog__3CGXFUi
update_fog__3CGXFUi:
/* 800B4378 000B12D8 3C 80 80 5A */ lis r4, lbl_805A53EC@ha
/* 800B437C 000B12DC 38 A4 53 EC */ addi r5, r4, lbl_805A53EC@l
/* 800B4378 000B12D8 3C 80 80 5A */ lis r4, sGXState__3CGX@ha
/* 800B437C 000B12DC 38 A4 53 EC */ addi r5, r4, sGXState__3CGX@l
/* 800B4380 000B12E0 88 05 00 53 */ lbz r0, 0x53(r5)
/* 800B4384 000B12E4 28 00 00 00 */ cmplwi r0, 0
/* 800B4388 000B12E8 4D 82 00 20 */ beqlr
+19
View File
@@ -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
+103
View File
@@ -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
+3 -1
View File
@@ -89,7 +89,7 @@ public:
CTransform4f& operator*(const CVector3f& vec);
static CTransform4f FromColumns(const CVector3f&, const CVector3f&, const CVector3f&, const CVector3f&);
static CTransform4f sIdentity;
static const CTransform4f& Identity() { return sIdentity; }
private:
CVector3f m0;
@@ -98,6 +98,8 @@ private:
f32 posY;
CVector3f m2;
f32 posZ;
static CTransform4f sIdentity;
};
inline bool operator==(const CTransform4f& lhs, const CTransform4f& rhs);
+1 -1
View File
@@ -8,10 +8,10 @@
#include "MetroidPrime/CEntity.hpp"
#include "MetroidPrime/CModelData.hpp"
#include "MetroidPrime/CModelFlags.hpp"
#include "Kyoto/Audio/CSfxHandle.hpp"
#include "Kyoto/Graphics/CColor.hpp"
#include "Kyoto/Graphics/CModelFlags.hpp"
#include "Kyoto/Math/CAABox.hpp"
#include "Kyoto/Math/CTransform4f.hpp"
#include "Kyoto/TToken.hpp"
+32
View File
@@ -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

Some files were not shown because too many files have changed in this diff Show More