Compare commits

...

152 Commits

Author SHA1 Message Date
Fazana
20f549e2cb Fix conflicts 2021-10-08 14:12:02 +01:00
Fazana
65a7b2dedc Merge branch 'master' into segmented-actor-code-experimental 2021-10-08 14:03:53 +01:00
Reonu
8147d08727 Merge pull request #65 from Reonu/nightly
Merge Nightly (ay lmao)
2021-10-08 02:24:02 +03:00
thecozies
a20e9210f9 Merge pull request #72 from Reonu/fix_geo_bone
Fixed geo_bone
2021-10-06 13:51:47 -05:00
thecozies
8601d3f516 Merge pull request #71 from Reonu/revert_execute_mario_action_for_merge_nightly
Revert execute_mario_action
2021-10-06 10:28:26 -05:00
thecozies
d2590352af Fixed geo_bone 2021-10-06 10:24:07 -05:00
Reonu
a3c233004f dpad down in aglabcam snaps to nearest axis instead of always going left 2021-10-05 21:55:24 +03:00
Reonu
2879456dbd Added Made with HackerSM64 msg (thanks to PyroJay) 2021-10-05 21:34:34 +03:00
Arceveti
708980de21 Revert execute_mario_action 2021-10-05 10:24:37 -07:00
Arceveti
24bbeaabf1 Merge pull request #70 from Reonu/revert_levelscript_changes
Revert "Name some HMC geolayouts + some demo fixes"
2021-10-05 10:12:52 -07:00
thecozies
fec149b238 Revert "Name some HMC geolayouts + some demo fixes"
This reverts commit 72be706ec7.
2021-10-05 09:23:52 -05:00
thecozies
febc16cacb Merge pull request #69 from Reonu/merge_nightly_fixes
Fixes for merging nightly
2021-10-05 06:47:17 -05:00
Arceveti
da285a1457 Fix pokey distance 2021-10-04 12:14:02 -07:00
Fazana
77bf073449 Make layer 0 zex render first 2021-10-04 18:37:19 +01:00
Fazana
ea32e1ea70 Moved hitbox visualisation into its own func
Saves around 500us in the graph
2021-10-03 21:05:46 +01:00
Arceveti
9721960d80 Fixes for merging nightly 2021-10-03 12:56:45 -07:00
Arceveti
d76ca3ac71 Some requested changes + fix build 2021-10-03 11:37:44 -07:00
someone2639
51bced5d3c dont need this line either [math.s] 2021-10-03 13:24:07 -05:00
someone2639
2d7aa1e514 changed div to mul, it always runs now 2021-10-03 13:24:07 -05:00
Fazana
ab67e9be4d gWorldScalen't 2021-10-03 13:24:05 -05:00
someone2639
3cc9fe8633 let the scheduler handle the bc1f 2021-10-03 13:21:58 -05:00
someone2639
a4f6151364 i hate the c preprocessor 2021-10-03 13:21:58 -05:00
someone2639
3887ac46e0 big brain optimization 2021-10-03 13:21:58 -05:00
someone2639
697492d1e1 add some logic for gWorldScale; only div on scales higher than 1 2021-10-03 13:21:58 -05:00
someone2639
f4ffcc3ea1 make this asm file a lot easier to read (not documented though) 2021-10-03 13:21:58 -05:00
Reonu
5f744d94ad Merge pull request #68 from Reonu/revert_plus_plus
Revert "Some more cleanup"
2021-10-03 19:02:18 +03:00
thecozies
1e1aa3754f Revert "Some more cleanup"
This reverts commit ea0fd25a73.
2021-10-03 10:34:42 -05:00
Fazana
6052ed8cdf Revert some camera "optimisations" 2021-10-03 14:56:16 +01:00
Fazana
6dde1e9026 semi colon 2021-10-01 17:58:39 +01:00
Reonu
2daf766901 fixed camera memes 2021-10-01 16:57:45 +03:00
Fazana
39318ec6a2 Further makerule tweaks 2021-10-01 11:32:58 +01:00
Fazana
5206fdbe2e Revert macros struct funnies
sausage
2021-10-01 11:02:29 +01:00
Arceveti
50941e0559 math_util.c optimizations by Kaze Emanuar 2021-09-30 15:42:36 -07:00
Arceveti
df14e88d37 Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into nightly 2021-09-30 15:09:31 -07:00
Arceveti
ff43340b0b Configurable number of segments for Chain Chomp, Pokey, and Wiggler 2021-09-30 15:09:01 -07:00
Arceveti
3a3637723d macro_special_objects.c improvements 2021-09-30 15:07:18 -07:00
Fazana
02aa70559a Further make flag tweaks
Performance go wheeee
2021-09-30 23:04:43 +01:00
Arceveti
362a46479e spawn_star.inc.c improvements 2021-09-30 14:43:10 -07:00
Arceveti
9e2726606b fix funny typo 2021-09-30 14:04:09 -07:00
Arceveti
0d427d3f25 Initialize objListIndex 2021-09-30 12:52:48 -07:00
Arceveti
60392fb4ef Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into nightly 2021-09-30 12:37:39 -07:00
Arceveti
4f3e84c2ad Update play_mode_change_area 2021-09-30 12:37:25 -07:00
Arceveti
83e727400e Update src/game/behaviors/king_bobomb.inc.c
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2021-09-30 12:35:46 -07:00
Fazana
a8fd8c5172 fix memory.c and add ucode_small flag 2021-09-30 15:24:44 +01:00
Fazana
d79dd5a51f Make collision build with Ofast
😔

nothing makes sense anymore.
2021-09-30 12:17:54 +01:00
Fazana
4448273b14 Move raycasts back to math_util 2021-09-30 10:40:37 +01:00
Fazana
be79ded91e Fix build error with debug_box.c 2021-09-30 10:31:31 +01:00
Arceveti
fdd81f5e14 Fix rotate_in_xz 2021-09-30 00:21:58 -07:00
Arceveti
cfa6e6dc9f Fix squishy doors on LLE 2021-09-29 23:43:14 -07:00
Arceveti
b8804bba87 Fix teleporting on poles 2021-09-29 21:25:36 -07:00
Arceveti
4fe6b323e7 Automatically calculate SURFACE_POOL_SIZE and SURFACE_NODE_POOL_SIZE 2021-09-29 16:38:36 -07:00
Arceveti
d1ed598480 Whoops, lowercase absf already exists 2021-09-29 16:37:20 -07:00
Arceveti
ef4ffdc71f #define floorAngle floorYaw for compatibility 2021-09-29 16:32:23 -07:00
Arceveti
824056390f Lowercase abs and signum_positive defines 2021-09-29 16:22:34 -07:00
Arceveti
50d180134f ok 2021-09-29 15:18:28 -07:00
Arceveti
3bfb394b70 Fix compiler warnings 2021-09-29 13:28:49 -07:00
Arceveti
a8afa914cd some surface_terrains.h defines 2021-09-29 12:59:49 -07:00
Arceveti
9b4b9d9c03 Add ENABLE_DEBUG_FREE_MOVE + improve debug free move controls 2021-09-29 12:35:46 -07:00
Arceveti
f68c63703e Improve debug level select controls 2021-09-29 12:00:37 -07:00
Arceveti
911246541e Merge https://github.com/CrashOveride95/ultrasm64 into nightly 2021-09-29 11:51:43 -07:00
Arceveti
66932d84a4 Add DISABLE_LEVEL_SPECIFIC_CHECKS 2021-09-29 11:30:07 -07:00
Arceveti
c203e8a17d Add find_room_floor 2021-09-29 10:35:27 -07:00
Arceveti
c9d48d3c43 Fix BBH crash 2021-09-29 10:19:34 -07:00
Arceveti
f10955b785 Move some structs/data into proper behavior files 2021-09-29 10:10:14 -07:00
Fazana
510e5c137f Revert some changes
Something amongst these remaining changes is a substantial decrease in game performance. I've taken out stuff that's confirmed not to, whilst something left is part of the problem.
2021-09-29 11:59:19 +01:00
Arceveti
67ee6b395b callContext arg name in geo functions 2021-09-29 00:09:11 -07:00
Arceveti
565af70485 Fix alloc_display_list in intro_draw_face 2021-09-28 23:55:49 -07:00
Arceveti
f8a9eaea4b Fix GRAPH_RENDER_FLAGS_SIZE + Add OBJ_FLAG_OCCLUDE_SILHOUETTE + name Bowser 1 painting dl's 2021-09-28 23:43:44 -07:00
Arceveti
3af946e2bd Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into nightly 2021-09-28 22:43:48 -07:00
Arceveti
8e398008d8 Optimize out a bunch of sqrtf 2021-09-28 22:43:29 -07:00
Arceveti
28e8d99707 Some optimizations + cleanup 2021-09-28 21:13:26 -07:00
gheskett
705d44e034 Fix WDW cannon bob-omb placement 2021-09-29 00:00:00 -04:00
Arceveti
868dd8f97b Some small fixes + cleanup 2021-09-28 19:08:34 -07:00
Arceveti
82edc20696 Fix insn_disasm build warnings 2021-09-28 17:35:12 -07:00
Arceveti
4adf87f622 Some cleanup/fixes 2021-09-28 17:33:18 -07:00
Arceveti
4ec50b8123 #define o gCurrentObject in object_list_processor.h 2021-09-28 15:42:41 -07:00
Fazana
51f7679208 pragma'd 2021-09-28 22:57:37 +01:00
Arceveti
f03d21fd04 Fix png formats 2021-09-28 14:36:54 -07:00
Arceveti
6e2c13459b Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into nightly 2021-09-28 14:28:22 -07:00
Arceveti
65e8369d1c Puppyprint debug font improvements 2021-09-28 14:28:14 -07:00
Fazana
beee3c0562 Puppyprint debugging now supports nonstandard resolutions
Isn't that nice?
2021-09-28 22:26:14 +01:00
Arceveti
04b6089d72 Fix puppyprint font kerning 2021-09-28 14:14:48 -07:00
Arceveti
5b43bc3b03 Fix typo 2021-09-28 14:04:26 -07:00
Arceveti
baceb79c89 Dirt particle & cartoon star particle dl names 2021-09-28 14:02:13 -07:00
Arceveti
3e8aa7fada Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into nightly 2021-09-28 13:57:00 -07:00
Arceveti
81a64e59d7 Fix held objects + some cleanup 2021-09-28 13:54:34 -07:00
Fazana
cefd4b62ab Held object fix 2021-09-28 21:52:00 +01:00
Arceveti
79d7b7e4b9 Add COS defines 2021-09-28 12:36:26 -07:00
Arceveti
92ae326cf6 Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into nightly 2021-09-28 12:18:04 -07:00
Arceveti
c89858ebd2 Make obj_set_opacity_from_cam_dist its own function 2021-09-28 12:17:53 -07:00
Fazana
6bad22d98c Specific cflags 2021-09-28 18:44:57 +01:00
Fazana
501a0caec0 Update Makefile 2021-09-28 18:03:24 +01:00
Fazana
e562c6543b Remove profiler.c
It's in its own commit, so if you for some reason disagree with this, reverting it is super easy.
2021-09-28 17:52:42 +01:00
Fazana
4ba2285969 Graph optimisations
that actually work now
2021-09-28 17:39:49 +01:00
Fazana
997d481e3a Update rendering_graph_node.c 2021-09-28 13:50:40 +01:00
Fazana
102e49b5e7 Puppytext font support + visual debug colour tweak 2021-09-28 12:41:27 +01:00
Arceveti
5b198635ad Improve puppyprint font a bit more 2021-09-27 22:33:00 -07:00
Arceveti
ec31997ba0 Improved puppyprint font 2021-09-27 21:39:45 -07:00
Arceveti
56fa02ec87 COND_BIT + fix transparent tree layer + asymptitic turn 2021-09-27 18:03:06 -07:00
Arceveti
87cdbc8ceb Merge https://github.com/Reonu/HackerSM64 into nightly 2021-09-27 16:43:42 -07:00
Arceveti
62cc178545 Object constants and new typedefs 2021-09-27 16:41:43 -07:00
Reonu
7c8a876890 Merge pull request #64 from thecozies/fix_broken_water
fixed find_water_floor height variable
2021-09-28 02:07:18 +03:00
thecozies
2ac47bd4f1 fixed find_water_floor height variable 2021-09-27 17:56:28 -05:00
Arceveti
1e81412c4b Combine shadow flags into gShadowFlags 2021-09-27 15:45:28 -07:00
Arceveti
a5c1aef42b Convert some doubles to floats + remove some unused Goddard functions 2021-09-27 15:01:44 -07:00
Arceveti
3f4728e337 Configurable wall kick angle in degrees 2021-09-27 14:00:10 -07:00
Arceveti
ae91a98422 Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into nightly 2021-09-27 13:36:05 -07:00
Arceveti
ea0fd25a73 Some more cleanup 2021-09-27 13:35:55 -07:00
Fazana
f0bd8a1fa5 I hate github I hate github I hate github I hate github I hate github I hate github 2021-09-27 21:21:20 +01:00
Fazana
d0a9834f39 E 2021-09-27 21:17:10 +01:00
Arceveti
6155b6416a Some cleanup & fixes 2021-09-27 12:28:47 -07:00
Arceveti
e71ba07b22 Add some fields to MarioState 2021-09-27 10:21:25 -07:00
Fazana
abb6fd286d Farclip failsafe 2021-09-27 17:21:23 +01:00
Fazana
c69a7e1233 shadow 2021-09-27 14:14:23 +01:00
Fazana
39f92391f8 Matrix optimisation
Courtesy of Kaze, creator of all existing romhacks
2021-09-27 13:16:04 +01:00
Reonu
04702ff466 Create CODEOWNERS 2021-09-27 13:49:30 +03:00
Arceveti
00ae43cc99 Get world scale by distance to origin on one axis 2021-09-27 02:32:41 -07:00
Arceveti
c3a68d48a7 Some refactoring 2021-09-26 20:47:23 -07:00
Arceveti
7da55b1456 Fix build 2021-09-26 17:36:12 -07:00
Arceveti
13d7d2caff Whoops left debug level select on 2021-09-26 17:13:33 -07:00
Arceveti
76d049d8ee Merge pull request #63 from someone2639/master
Crash Screen has disasm view now
2021-09-26 17:10:53 -07:00
Arceveti
72be706ec7 Name some HMC geolayouts + some demo fixes 2021-09-26 17:10:10 -07:00
Arceveti
be8a27f79f Some optimizations 2021-09-26 16:43:55 -07:00
someone2639
72d03f27c0 Merge branch 'master' of https://github.com/Reonu/HackerSM64 2021-09-26 18:02:52 -04:00
Arceveti
419c88d615 OBJ_FLAG_UCODE_LARGE for JRB rocks 2021-09-26 14:52:55 -07:00
Arceveti
1110c281bb Merge branch 'master' of https://github.com/Reonu/HackerSM64 2021-09-26 14:51:33 -07:00
Arceveti
833cc9082c Add breath meter 2021-09-26 14:49:21 -07:00
someone2639
2d729ea42f idk what i changed but it should be ready now 2021-09-26 16:01:08 -04:00
Arceveti
f0e4dd964b Add option to display puppyprint debug values as cycles 2021-09-26 12:33:02 -07:00
Arceveti
499fc33d7e Fix spindrift actor model file 2021-09-26 12:02:26 -07:00
Fazana
f902e0173d Merge branch 'master' into segmented-actor-code-experimental 2021-09-26 18:05:07 +01:00
Fazana
4e2fdcc3b8 Merge branch 'master' into segmented-actor-code-experimental 2021-09-25 14:10:10 +01:00
Fazana
740325bb27 Fix conflicts 2021-09-24 14:55:49 +01:00
Fazana
74bb98facf Merge branch 'master' into segmented-actor-code-experimental 2021-09-24 14:10:32 +01:00
Fazana
91027d5b4c Fix conflicts 2021-09-21 21:41:14 +01:00
Fazana
96fa795cba Merge branch 'master' into segmented-actor-code-experimental 2021-09-21 21:27:06 +01:00
CrashOveride95
f8ab64a71a Merge pull request #23 from thecozies/new_GEO_BONE
Added GEO_BONE geolayout command
2021-09-20 11:11:12 -04:00
thecozies
808106ae2f Added GEO_BONE geolayout command 2021-09-20 10:06:33 -05:00
Fazana
a94613c001 Merge branch 'master' into segmented-actor-code-experimental 2021-09-13 18:38:36 +01:00
Fazana
62070c6f44 Boo 2021-09-09 14:20:55 +01:00
Fazana
441e5ced55 Merge branch 'master' into segmented-actor-code-experimental 2021-09-09 14:16:35 +01:00
Fazana
ec01728f9a Merge branch 'master' into segmented-actor-code-experimental 2021-09-05 21:11:59 +01:00
Fazana
6dbb332269 Merge branch 'master' into segmented-actor-code-experimental 2021-09-05 12:00:34 +01:00
Fazana
5954fed184 Finished moving camera data
Camera.c do be almost 100KB smaller now 😳
2021-08-26 12:32:32 +01:00
Fazana
4433a44c13 Merge branch 'master' into segmented-actor-code-experimental 2021-08-26 10:55:30 +01:00
Fazana
43a86191ea Moving some Camera data to levels
will do more later
2021-08-25 15:53:11 +01:00
Fazana
0f43c4d43b Merge branch 'master' into segmented-actor-code-experimental 2021-08-25 14:30:16 +01:00
Fazana
d6c7665e9a Merge branch 'master' into segmented-actor-code-experimental 2021-08-25 12:33:13 +01:00
Fazana
6ecdebe86e Add camera objects too 2021-08-24 15:07:51 +01:00
Fazana
4be7da3248 Merge branch 'master' into segmented-actor-code-experimental 2021-08-24 14:16:23 +01:00
Fazana
6436f59cf9 epic 2021-08-24 13:43:42 +01:00
Fazana
06dafeb027 Actor Code now stored in segments
Main segment size reduced by around 256KB
Very messy code layout though, made no attempt to organise it.
2021-08-23 22:08:17 +01:00
357 changed files with 13699 additions and 14202 deletions

1
.gitignore vendored
View File

@@ -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
View 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.

View File

@@ -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 #
#==============================================================================#

View File

@@ -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

View File

@@ -1,4 +1,7 @@
# ![](https://i.imgur.com/CeOukzk.gif) HackerSM64 ![](https://i.imgur.com/s0LUbTo.gif)
**[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

View File

@@ -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(),

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

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