Compare commits
152 Commits
pragma
...
segmented-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
20f549e2cb | ||
|
|
65a7b2dedc | ||
|
|
8147d08727 | ||
|
|
a20e9210f9 | ||
|
|
8601d3f516 | ||
|
|
d2590352af | ||
|
|
a3c233004f | ||
|
|
2879456dbd | ||
|
|
708980de21 | ||
|
|
24bbeaabf1 | ||
|
|
fec149b238 | ||
|
|
febc16cacb | ||
|
|
da285a1457 | ||
|
|
77bf073449 | ||
|
|
ea32e1ea70 | ||
|
|
9721960d80 | ||
|
|
d76ca3ac71 | ||
|
|
51bced5d3c | ||
|
|
2d7aa1e514 | ||
|
|
ab67e9be4d | ||
|
|
3cc9fe8633 | ||
|
|
a4f6151364 | ||
|
|
3887ac46e0 | ||
|
|
697492d1e1 | ||
|
|
f4ffcc3ea1 | ||
|
|
5f744d94ad | ||
|
|
1e1aa3754f | ||
|
|
6052ed8cdf | ||
|
|
6dde1e9026 | ||
|
|
2daf766901 | ||
|
|
39318ec6a2 | ||
|
|
5206fdbe2e | ||
|
|
50941e0559 | ||
|
|
df14e88d37 | ||
|
|
ff43340b0b | ||
|
|
3a3637723d | ||
|
|
02aa70559a | ||
|
|
362a46479e | ||
|
|
9e2726606b | ||
|
|
0d427d3f25 | ||
|
|
60392fb4ef | ||
|
|
4f3e84c2ad | ||
|
|
83e727400e | ||
|
|
a8fd8c5172 | ||
|
|
d79dd5a51f | ||
|
|
4448273b14 | ||
|
|
be79ded91e | ||
|
|
fdd81f5e14 | ||
|
|
cfa6e6dc9f | ||
|
|
b8804bba87 | ||
|
|
4fe6b323e7 | ||
|
|
d1ed598480 | ||
|
|
ef4ffdc71f | ||
|
|
824056390f | ||
|
|
50d180134f | ||
|
|
3bfb394b70 | ||
|
|
a8afa914cd | ||
|
|
9b4b9d9c03 | ||
|
|
f68c63703e | ||
|
|
911246541e | ||
|
|
66932d84a4 | ||
|
|
c203e8a17d | ||
|
|
c9d48d3c43 | ||
|
|
f10955b785 | ||
|
|
510e5c137f | ||
|
|
67ee6b395b | ||
|
|
565af70485 | ||
|
|
f8a9eaea4b | ||
|
|
3af946e2bd | ||
|
|
8e398008d8 | ||
|
|
28e8d99707 | ||
|
|
705d44e034 | ||
|
|
868dd8f97b | ||
|
|
82edc20696 | ||
|
|
4adf87f622 | ||
|
|
4ec50b8123 | ||
|
|
51f7679208 | ||
|
|
f03d21fd04 | ||
|
|
6e2c13459b | ||
|
|
65e8369d1c | ||
|
|
beee3c0562 | ||
|
|
04b6089d72 | ||
|
|
5b43bc3b03 | ||
|
|
baceb79c89 | ||
|
|
3e8aa7fada | ||
|
|
81a64e59d7 | ||
|
|
cefd4b62ab | ||
|
|
79d7b7e4b9 | ||
|
|
92ae326cf6 | ||
|
|
c89858ebd2 | ||
|
|
6bad22d98c | ||
|
|
501a0caec0 | ||
|
|
e562c6543b | ||
|
|
4ba2285969 | ||
|
|
997d481e3a | ||
|
|
102e49b5e7 | ||
|
|
5b198635ad | ||
|
|
ec31997ba0 | ||
|
|
56fa02ec87 | ||
|
|
87cdbc8ceb | ||
|
|
62cc178545 | ||
|
|
7c8a876890 | ||
|
|
2ac47bd4f1 | ||
|
|
1e81412c4b | ||
|
|
a5c1aef42b | ||
|
|
3f4728e337 | ||
|
|
ae91a98422 | ||
|
|
ea0fd25a73 | ||
|
|
f0bd8a1fa5 | ||
|
|
d0a9834f39 | ||
|
|
6155b6416a | ||
|
|
e71ba07b22 | ||
|
|
abb6fd286d | ||
|
|
c69a7e1233 | ||
|
|
39f92391f8 | ||
|
|
04702ff466 | ||
|
|
00ae43cc99 | ||
|
|
c3a68d48a7 | ||
|
|
7da55b1456 | ||
|
|
13d7d2caff | ||
|
|
76d049d8ee | ||
|
|
72be706ec7 | ||
|
|
be8a27f79f | ||
|
|
72d03f27c0 | ||
|
|
419c88d615 | ||
|
|
1110c281bb | ||
|
|
833cc9082c | ||
|
|
2d729ea42f | ||
|
|
f0e4dd964b | ||
|
|
499fc33d7e | ||
|
|
f902e0173d | ||
|
|
4e2fdcc3b8 | ||
|
|
740325bb27 | ||
|
|
74bb98facf | ||
|
|
91027d5b4c | ||
|
|
96fa795cba | ||
|
|
f8ab64a71a | ||
|
|
808106ae2f | ||
|
|
a94613c001 | ||
|
|
62070c6f44 | ||
|
|
441e5ced55 | ||
|
|
ec01728f9a | ||
|
|
6dbb332269 | ||
|
|
5954fed184 | ||
|
|
4433a44c13 | ||
|
|
43a86191ea | ||
|
|
0f43c4d43b | ||
|
|
d6c7665e9a | ||
|
|
6ecdebe86e | ||
|
|
4be7da3248 | ||
|
|
6436f59cf9 | ||
|
|
06dafeb027 |
1
.gitignore
vendored
@@ -71,6 +71,7 @@ build/*
|
||||
!/assets/**/*custom*.bin
|
||||
!/assets/**/*custom*/**/*.bin
|
||||
!/textures/crash_custom/*.png
|
||||
!/actors/breath_meter/breath_meter_*.png
|
||||
# libultra
|
||||
|
||||
!/lib/*.a
|
||||
|
||||
12
CODEOWNERS
Normal file
@@ -0,0 +1,12 @@
|
||||
# Lines starting with '#' are comments.
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
* @Reonu
|
||||
* @thecozies
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
# will be requested to review.
|
||||
|
||||
# You can also use email addresses if you prefer.
|
||||
14
Makefile
@@ -153,12 +153,12 @@ LINK_LIBRARIES = $(foreach i,$(LIBRARIES),-l$(i))
|
||||
ifeq ($(COMPILER),gcc)
|
||||
NON_MATCHING := 1
|
||||
MIPSISET := -mips3
|
||||
OPT_FLAGS := -Os
|
||||
OPT_FLAGS := -Ofast
|
||||
else ifeq ($(COMPILER),clang)
|
||||
NON_MATCHING := 1
|
||||
# clang doesn't support ABI 'o32' for 'mips3'
|
||||
MIPSISET := -mips2
|
||||
OPT_FLAGS := -Os
|
||||
OPT_FLAGS := -Ofast
|
||||
endif
|
||||
|
||||
|
||||
@@ -394,8 +394,8 @@ export LD_LIBRARY_PATH=./tools
|
||||
AS := $(CROSS)as
|
||||
ifeq ($(COMPILER),gcc)
|
||||
CC := $(CROSS)gcc
|
||||
$(BUILD_DIR)/actors/%.o: OPT_FLAGS := -Os -mlong-calls
|
||||
$(BUILD_DIR)/levels/%.o: OPT_FLAGS := -Os -mlong-calls
|
||||
$(BUILD_DIR)/actors/%.o: OPT_FLAGS := -Ofast -mlong-calls
|
||||
$(BUILD_DIR)/levels/%.o: OPT_FLAGS := -Ofast -mlong-calls
|
||||
else ifeq ($(COMPILER),clang)
|
||||
CC := clang
|
||||
endif
|
||||
@@ -430,7 +430,7 @@ DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES)
|
||||
# C compiler options
|
||||
CFLAGS = -G 0 $(OPT_FLAGS) $(TARGET_CFLAGS) $(MIPSISET) $(DEF_INC_CFLAGS)
|
||||
ifeq ($(COMPILER),gcc)
|
||||
CFLAGS += -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces -fno-jump-tables
|
||||
CFLAGS += -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces -fno-jump-tables -Werror=implicit-function-declaration
|
||||
else ifeq ($(COMPILER),clang)
|
||||
CFLAGS += -target mips -mabi=32 -G 0 -mhard-float -fomit-frame-pointer -fno-stack-protector -fno-common -I include -I src/ -I $(BUILD_DIR)/include -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces -fno-jump-tables
|
||||
else
|
||||
@@ -576,6 +576,9 @@ $(BUILD_DIR)/src/usb/usb.o: OPT_FLAGS := -O0
|
||||
$(BUILD_DIR)/src/usb/usb.o: CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wno-unused-function
|
||||
$(BUILD_DIR)/src/usb/debug.o: OPT_FLAGS := -O0
|
||||
$(BUILD_DIR)/src/usb/debug.o: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized
|
||||
$(BUILD_DIR)/src/audio/*.o: OPT_FLAGS := -Os -fno-jump-tables
|
||||
$(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := -Ofast -fno-unroll-loops -fno-peel-loops --param case-values-threshold=20
|
||||
$(BUILD_DIR)/src/game/rendering_graph_node.o: OPT_FLAGS := -Ofast --param case-values-threshold=20
|
||||
|
||||
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) asm/debug $(GODDARD_SRC_DIRS) $(LIBZ_SRC_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(TEXT_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) rsp include) $(YAY0_DIR) $(addprefix $(YAY0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
|
||||
|
||||
@@ -589,6 +592,7 @@ $(BUILD_DIR)/src/game/ingame_menu.o: $(BUILD_DIR)/include/text_strings.h
|
||||
$(BUILD_DIR)/src/game/puppycam2.o: $(BUILD_DIR)/include/text_strings.h
|
||||
|
||||
|
||||
|
||||
#==============================================================================#
|
||||
# Texture Generation #
|
||||
#==============================================================================#
|
||||
|
||||
@@ -66,7 +66,7 @@ KING_BOBOMB_DIRS := king_bobomb water_bubble
|
||||
BOO_DIRS := bookend book chair small_key mad_piano boo haunted_cage
|
||||
MR_I_DIRS := mr_i_eyeball mr_i_iris swoop snufit dorrie scuttlebug
|
||||
HOOT_DIRS := yellow_sphere_small hoot yoshi_egg thwomp bullet_bill heave_ho
|
||||
COINS_DIRS := mist explosion butterfly coin warp_pipe door bowser_key flame blue_fish pebble leaves warp_collision mario_cap power_meter mushroom_1up star sand dirt transparent_star white_particle wooden_signpost tree
|
||||
COINS_DIRS := mist explosion butterfly coin warp_pipe door bowser_key flame blue_fish pebble leaves mario_cap breath_meter power_meter mushroom_1up star sand dirt transparent_star white_particle wooden_signpost tree
|
||||
BUBBA_DIRS := bubba wiggler wiggler_body_part lakitu_enemy spiny_egg spiny
|
||||
SKEETER_DIRS := skeeter seaweed water_mine cyan_fish bub water_ring treasure_chest
|
||||
KLEPTO_DIRS := klepto eyerok pokey tornado
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#  HackerSM64 
|
||||
|
||||
**[Thank you to Kaze Emanuar for these major optimizations!](https://www.youtube.com/watch?v=uYPH-NH3B6k)
|
||||
|
||||
**AFTER CLONING THE REPO, CHECK OUT THE `include/config.h` FILE BEFORE ANYTHING ELSE! IT THERE'S A LOT OF STUFF IN THIS REPO THAT CAN BE TOGGLED THERE.**
|
||||
|
||||
HackerSM64 now has a discord server! https://discord.gg/brETAakcXr
|
||||
|
||||
@@ -120,7 +120,7 @@ const Gfx flame_seg6_dl_0601C108[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06000000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06000000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06000000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -132,7 +132,7 @@ const Gfx flame_seg6_dl_0601C1A8[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06002000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06002000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06002000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -144,7 +144,7 @@ const Gfx flame_seg6_dl_0601C248[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06004000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06004000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06004000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -156,7 +156,7 @@ const Gfx flame_seg6_dl_0601C2E8[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06006000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06006000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06006000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -168,7 +168,7 @@ const Gfx flame_seg6_dl_0601C388[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06008000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06008000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06008000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -180,7 +180,7 @@ const Gfx flame_seg6_dl_0601C428[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_0600A000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_0600A000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_0600A000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -192,7 +192,7 @@ const Gfx flame_seg6_dl_0601C4C8[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_0600C000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_0600C000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_0600C000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -204,7 +204,7 @@ const Gfx flame_seg6_dl_0601C568[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_0600E000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_0600E000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_0600E000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -216,7 +216,7 @@ const Gfx flame_seg6_dl_0601C608[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06010000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06010000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06010000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -228,7 +228,7 @@ const Gfx flame_seg6_dl_0601C6A8[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06012000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06012000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06012000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -240,7 +240,7 @@ const Gfx flame_seg6_dl_0601C748[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06014000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06014000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06014000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -252,7 +252,7 @@ const Gfx flame_seg6_dl_0601C7E8[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06016000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06016000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06016000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -264,7 +264,7 @@ const Gfx flame_seg6_dl_0601C888[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_06018000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_06018000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_06018000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
@@ -276,7 +276,7 @@ const Gfx flame_seg6_dl_0601C928[] = {
|
||||
gsDPLoadTextureBlock(flame_seg6_texture_0601A000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
||||
gsDPLoadTextureBlock((u8*)flame_seg6_texture_0601A000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPLoadTextureBlock((Texture*)flame_seg6_texture_0601A000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
||||
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
||||
gsSPEndDisplayList(),
|
||||
|
||||
BIN
actors/breath_meter/breath_meter_five_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
actors/breath_meter/breath_meter_four_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
actors/breath_meter/breath_meter_full.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
actors/breath_meter/breath_meter_left_side.rgba16.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
actors/breath_meter/breath_meter_one_segment.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
actors/breath_meter/breath_meter_right_side.rgba16.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
actors/breath_meter/breath_meter_seven_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
actors/breath_meter/breath_meter_six_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
actors/breath_meter/breath_meter_three_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
actors/breath_meter/breath_meter_two_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
130
actors/breath_meter/model.inc.c
Normal file
@@ -0,0 +1,130 @@
|
||||
#ifdef BREATH_METER
|
||||
// Breath Meter HUD
|
||||
|
||||
// 0x030233E0
|
||||
ALIGNED8 static const Texture texture_breath_meter_left_side[] = {
|
||||
#include "actors/breath_meter/breath_meter_left_side.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x030243E0
|
||||
ALIGNED8 static const Texture texture_breath_meter_right_side[] = {
|
||||
#include "actors/breath_meter/breath_meter_right_side.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x030253E0
|
||||
ALIGNED8 static const Texture texture_breath_meter_full[] = {
|
||||
#include "actors/breath_meter/breath_meter_full.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03025BE0
|
||||
ALIGNED8 static const Texture texture_breath_meter_seven_segments[] = {
|
||||
#include "actors/breath_meter/breath_meter_seven_segments.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x030263E0
|
||||
ALIGNED8 static const Texture texture_breath_meter_six_segments[] = {
|
||||
#include "actors/breath_meter/breath_meter_six_segments.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03026BE0
|
||||
ALIGNED8 static const Texture texture_breath_meter_five_segments[] = {
|
||||
#include "actors/breath_meter/breath_meter_five_segments.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x030273E0
|
||||
ALIGNED8 static const Texture texture_breath_meter_four_segments[] = {
|
||||
#include "actors/breath_meter/breath_meter_four_segments.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03027BE0
|
||||
ALIGNED8 static const Texture texture_breath_meter_three_segments[] = {
|
||||
#include "actors/breath_meter/breath_meter_three_segments.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x030283E0
|
||||
ALIGNED8 static const Texture texture_breath_meter_two_segments[] = {
|
||||
#include "actors/breath_meter/breath_meter_two_segments.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03028BE0
|
||||
ALIGNED8 static const Texture texture_breath_meter_one_segments[] = {
|
||||
#include "actors/breath_meter/breath_meter_one_segment.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x030293E0
|
||||
const Texture *const breath_meter_segments_lut[] = {
|
||||
texture_breath_meter_one_segments,
|
||||
texture_breath_meter_two_segments,
|
||||
texture_breath_meter_three_segments,
|
||||
texture_breath_meter_four_segments,
|
||||
texture_breath_meter_five_segments,
|
||||
texture_breath_meter_six_segments,
|
||||
texture_breath_meter_seven_segments,
|
||||
texture_breath_meter_full,
|
||||
};
|
||||
|
||||
// 0x03029400
|
||||
static const Vtx vertex_breath_meter_base[] = {
|
||||
{{{ -32, -32, 0}, 0, { 0, 2016}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 0, -32, 0}, 0, { 992, 2016}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 0, 32, 0}, 0, { 992, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ -32, 32, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 0, -32, 0}, 0, { 1, 2016}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 32, -32, 0}, 0, { 1024, 2016}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 32, 32, 0}, 0, { 1024, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 0, 32, 0}, 0, { 1, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x03029480 - 0x03029530
|
||||
const Gfx dl_breath_meter_base[] = {
|
||||
gsDPPipeSync(),
|
||||
gsSPClearGeometryMode(G_LIGHTING),
|
||||
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
||||
gsDPSetRenderMode(G_RM_TEX_EDGE, G_RM_TEX_EDGE2),
|
||||
gsDPSetTextureFilter(G_TF_POINT),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsSPVertex(vertex_breath_meter_base, 8, 0),
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, (G_TX_WRAP | G_TX_NOMIRROR), G_TX_NOMASK, G_TX_NOLOD, (G_TX_WRAP | G_TX_NOMIRROR), G_TX_NOMASK, G_TX_NOLOD),
|
||||
gsDPTileSync(),
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
|
||||
gsDPSetTileSize(0, 0, 0, ((32 - 1) << G_TEXTURE_IMAGE_FRAC), ((64 - 1) << G_TEXTURE_IMAGE_FRAC)),
|
||||
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, texture_breath_meter_left_side),
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
|
||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, texture_breath_meter_right_side),
|
||||
gsDPLoadSync(),
|
||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
|
||||
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
// 0x03029530
|
||||
static const Vtx vertex_breath_meter_health_segments[] = {
|
||||
{{{ -16, -16, 0}, 0, { 0, 992}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 16, -16, 0}, 0, { 992, 992}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ 16, 16, 0}, 0, { 992, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
{{{ -16, 16, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x03029570 - 0x030295A0
|
||||
const Gfx dl_breath_meter_health_segments_begin[] = {
|
||||
gsDPPipeSync(),
|
||||
gsSPVertex(vertex_breath_meter_health_segments, 4, 0),
|
||||
gsDPTileSync(),
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
|
||||
gsDPSetTileSize(0, 0, 0, ((32 - 1) << G_TEXTURE_IMAGE_FRAC), ((32 - 1) << G_TEXTURE_IMAGE_FRAC)),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
// 0x030295A0 - 0x030295D8
|
||||
const Gfx dl_breath_meter_health_segments_end[] = {
|
||||
gsDPPipeSync(),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsSPSetGeometryMode(G_LIGHTING),
|
||||
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
#endif
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 1007 B |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 2.7 KiB |