Compare commits

..

618 Commits

Author SHA1 Message Date
Arceveti
3a38121139 Fix FIX_REFLECT_MTX and improve create_transformation_from_matrices() 2021-11-16 21:41:39 -08:00
Arceveti
11ace63da5 Add scale to mtxf_billboard 2021-11-16 20:41:46 -08:00
Arceveti
524e3f052c Revert a bunch of formatting/misc. changes 2021-11-16 20:38:27 -08:00
Arceveti
3793d9ac5a Add .diff files to gitignore 2021-11-16 19:44:42 -08:00
Arceveti
aaeeea12d4 Improve burn smoke animation timing 2021-11-14 21:41:27 -08:00
Arceveti
8f910e8f1d Some formatting fixes 2021-11-14 21:14:39 -08:00
Arceveti
1761fc6faf Make all trees work with silhouette 2021-11-14 19:41:55 -08:00
Arceveti
0a75e483d5 Make some holdable objects able to have silhouette 2021-11-14 19:39:17 -08:00
Arceveti
fa112ccf44 Improve burn smoke animation 2021-11-14 18:43:05 -08:00
Arceveti
951bf21dba Remove unused models from level_main_scripts_entry 2021-11-14 18:10:34 -08:00
Arceveti
f47b9bc1a1 Use bparam defines in macro_presets.h 2021-11-14 18:04:34 -08:00
Arceveti
d8ab1be8fa Move create_transformation_from_matrices to math_util.c 2021-11-14 17:09:22 -08:00
Arceveti
4cc5323962 Small obj_is_in_view optimization 2021-11-14 17:09:01 -08:00
Arceveti
504ca7a62a Fix build 2021-11-14 16:52:07 -08:00
Arceveti
c3fb6b19e9 Improve ray_surface_intersect documentation 2021-11-14 16:29:29 -08:00
Arceveti
11da2ddd1e Enable lives by default 2021-11-14 14:47:56 -08:00
Arceveti
45ce38343f Add surface_normal_to_vec3f 2021-11-14 14:32:43 -08:00
Arceveti
42c04ce127 shadow.c uses pointer 2021-11-14 14:25:37 -08:00
Arceveti
752632a507 Fix vector arithmetic functions 2021-11-14 13:55:53 -08:00
Arceveti
bb0f78f61f Some math_util.c optimization 2021-11-14 13:13:12 -08:00
Arceveti
8b5717d0c9 Fix Puppycam 2021-11-14 13:12:58 -08:00
Arceveti
fe07ecb773 Fix held object shadows on slopes 2021-11-13 23:06:17 -08:00
Arceveti
5591f995b9 Add vec3_mul, vec3_prod, vec3_div, and vec3_quot functions 2021-11-13 22:50:54 -08:00
Arceveti
2c69722607 Add mtxf_shadow 2021-11-13 22:31:21 -08:00
Arceveti
ea6ce08131 Formatting changes 2021-11-13 18:59:05 -08:00
Arceveti
63134a3f6a Fix build 2021-11-13 18:58:22 -08:00
Arceveti
672cc94f53 Add colorRGB_to_colorRGBf and colorRGBf_to_colorRGB to colors.c 2021-11-13 18:58:06 -08:00
Arceveti
cdd0cb3827 obj_set_throw_matrix_from_transform fix 2021-11-13 18:53:48 -08:00
Arceveti
dfa9e7ad99 A few small fixes 2021-11-12 21:32:04 -08:00
Arceveti
1636fbe471 Revert default oDrawingDistance to vanilla 2021-11-12 19:57:21 -08:00
Arceveti
b9404bc198 create_object fix 2021-11-12 19:57:01 -08:00
Arceveti
2bf1768271 shadows semi-rewrite 2021-11-12 18:50:59 -08:00
Arceveti
f4a38cd018 A couple small changes 2021-11-11 21:51:24 -08:00
Arceveti
a61073312f Merge branch 'better-reverb-patch' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-11-11 21:18:12 -08:00
Arceveti
dd624c23b5 Formatting fix 2021-11-11 21:16:13 -08:00
gheskett
a45063261d Alignment memes (not even mandatory here) 2021-11-11 23:48:40 -05:00
Arceveti
0b93f6d731 Merge branch 'better-reverb-patch' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-11-11 20:42:33 -08:00
Arceveti
772130c4d9 More shadow changes 2021-11-11 20:39:36 -08:00
gheskett
1ac65d19fc Oops 2021-11-11 23:30:38 -05:00
gheskett
d55bfcdf43 Fix a BETTER_REVERB crash + restructure some audio elements for safer buffer changes 2021-11-11 23:16:58 -05:00
Arceveti
e007332ef6 Change how DEBUG_LEVEL_SELECT define works 2021-11-11 20:13:42 -08:00
Arceveti
d8091017a4 Slight geo_process_node_and_siblings optimization 2021-11-11 18:38:08 -08:00
Arceveti
3ad1f38cc7 Add defines for tans() and cots() 2021-11-11 18:17:31 -08:00
Arceveti
5685660c8b Move some static variables outside of functions 2021-11-10 20:26:11 -08:00
Arceveti
349f54d52e missed one 2021-11-10 19:00:30 -08:00
Arceveti
9cee33cd26 Put more stuff under VANILLA_DEBUG ifdef 2021-11-10 18:57:33 -08:00
Arceveti
4816561e71 Use guMtxF2L for mtxf_to_mtx 2021-11-10 15:22:39 -08:00
Arceveti
358a4a09c9 set_obj_anim_with_accel_and_sound() optimization 2021-11-09 18:31:42 -08:00
Arceveti
888f384300 m->actionTimer enum for anim_and_audio_for_walk() and anim_and_audio_for_hold_walk() 2021-11-09 15:57:35 -08:00
Arceveti
2d7bca6b4e "fall through" -> "fallthrough" for r15 consistency 2021-11-09 15:27:07 -08:00
Arceveti
726ce9075b vec3f_normalize optimization 2021-11-09 15:26:31 -08:00
Arceveti
3a264f57e3 Some bparam defines 2021-11-09 15:01:42 -08:00
Arceveti
64d39e516f Move RNG functions to math_util 2021-11-09 13:47:23 -08:00
Arceveti
49f5befae3 check_ledge_grab cleanup 2021-11-09 13:43:36 -08:00
Arceveti
89a15ce885 Small read_surface_data change 2021-11-09 13:14:53 -08:00
Arceveti
235e8a950c struct Normal 2021-11-09 12:56:51 -08:00
Arceveti
da0ca0bff6 Fix tree transparency 2021-11-09 12:50:10 -08:00
Arceveti
54844e0a41 os_convert.h formatting 2021-11-09 12:43:48 -08:00
Arceveti
a178a2106a Some puppyprint improvements 2021-11-09 12:30:30 -08:00
Arceveti
737820e668 Fix Puppycam build with VISUAL_DEBUG 2021-11-09 11:59:06 -08:00
Arceveti
7c018a6a11 Fix puppylights build 2021-11-09 11:57:14 -08:00
Arceveti
6b7a38a335 Fix puppycam build 2021-11-09 11:57:02 -08:00
Arceveti
ca99245856 Command ID enums 2021-11-09 11:53:58 -08:00
Arceveti
b5cb9dbddd Add COMPLETE_SAVE_FILE config define 2021-11-08 22:50:50 -08:00
Arceveti
88a3dd76da Add DISABLE_GRAPH_NODE_TYPE_FUNCTIONAL config define 2021-11-08 22:09:01 -08:00
Arceveti
7af6e44099 Use AREA_COUNT for gAreaData 2021-11-08 22:06:17 -08:00
Arceveti
4d6e3ae2a1 Fix build 2021-11-08 21:55:24 -08:00
Arceveti
662542b59c what 2021-11-08 21:52:36 -08:00
Arceveti
b2f0471dd4 Move geo_layout_cmd_bone to other geo_layout_cmd_ functions 2021-11-08 21:35:52 -08:00
Arceveti
d2d258a7ca Disable OBJECTS_REJ by default 2021-11-08 20:57:33 -08:00
Arceveti
186c69de77 Add GeoLayoutCommandIDs enum and fix IDs 2021-11-08 20:57:03 -08:00
Arceveti
aa6e175509 Flamethrower.inc.c small formatting change 2021-11-08 20:33:12 -08:00
Arceveti
4b6575fe05 Add OBJ_MOVE_NONE 2021-11-08 20:27:46 -08:00
Arceveti
f59f0d892b Remove some redundant functions and find_floor calls 2021-11-08 20:07:36 -08:00
Arceveti
9059813bc1 Small find_floor_from_list optimization 2021-11-08 19:50:08 -08:00
Arceveti
951a1f0f9c Add OBJECTS_REJ config define 2021-11-08 19:22:59 -08:00
Arceveti
f49d29ac4e Small formatting change 2021-11-08 18:32:53 -08:00
Arceveti
d7e0aff39c re-implpement puppyprint graph profiling "fix" 2021-11-08 18:23:22 -08:00
Arceveti
e6ec840176 Improve ending cutscene objects 2021-11-08 18:19:49 -08:00
Arceveti
0fbf07c34a DEGREES() usage 2021-11-08 17:07:40 -08:00
Arceveti
649a26ab7e snowman.imc.c improvements 2021-11-08 17:01:33 -08:00
Arceveti
340d3a6c1b math_util const inputs 2021-11-08 16:50:48 -08:00
Arceveti
9f6c8dd8d7 Use UPDATE_OBJECTS() for Floombas in level_intro_splash_screen to avoid UB 2021-11-08 16:24:17 -08:00
Arceveti
b57fdd483e Fix bhvPlatformOnTrack bparam setup 2021-11-08 15:49:13 -08:00
Arceveti
e95f4ca96f Fix bhvSlidingPlatform2 bparam setup 2021-11-08 14:53:47 -08:00
Arceveti
bf2b44597b GET_BPARAM usage 2021-11-07 22:37:00 -08:00
Arceveti
9826432170 segment_names.h comment capitalization 2021-11-07 22:34:25 -08:00
gheskett
834055c06a Custom color merge conflict 2021-11-07 23:02:40 -05:00
gheskett
1ee167e80b Bugfix: Dialog color not set if right before terminator 2021-11-07 23:00:37 -05:00
Arceveti
420ede64a3 CUTSCENE_NONE usage 2021-11-07 17:26:52 -08:00
Arceveti
f5ef22afa6 Whitespace fix 3 2021-11-07 17:25:17 -08:00
Arceveti
a70fb1b28e Whitespace fix 2 2021-11-07 17:18:59 -08:00
Arceveti
4fdb958492 Whitespace fix 2021-11-07 17:17:24 -08:00
Arceveti
0a454773e5 Some camera.c cleanup 2021-11-07 17:16:25 -08:00
Arceveti
b9d5170377 Some small camera optimizations 2021-11-07 16:43:03 -08:00
Arceveti
549f07b634 gd_mat4f_lookat optimization 2021-11-07 16:25:21 -08:00
Arceveti
476b5de97c Goddard roll is always 0 2021-11-07 16:09:35 -08:00
Arceveti
a9084ede68 Goddard optimizations 2021-11-07 16:07:19 -08:00
Arceveti
042104ab68 cosf to coss in calculate_ripple_at_point() 2021-11-07 14:49:24 -08:00
Arceveti
dab1db181e Clean up spawn_macro_objects() 2021-11-07 14:00:20 -08:00
Arceveti
c93156fc3e Various cleanup 2021-11-07 13:48:49 -08:00
Arceveti
d4185210e2 Remove duplicate struct 2021-11-07 13:12:12 -08:00
Arceveti
7bcd96c9c1 Some macro_special_objects cleanup 2021-11-07 13:06:46 -08:00
Arceveti
074c2a68f8 Small surface_load.c optimization 2021-11-07 12:56:16 -08:00
Arceveti
32d849df59 Some surface_load.c cleanup 2021-11-07 11:16:59 -08:00
Arceveti
f891c0ec44 Remove duplicate gSPPopMatrix call 2021-11-07 11:08:29 -08:00
Arceveti
f2bd69e0e0 Some ingame_menu.c formatting changes 2021-11-07 11:08:10 -08:00
Arceveti
865b6a592a Fix customColor, probably 2021-11-07 10:52:55 -08:00
Arceveti
f0fc8f653e Fix puppycam_evaluate_spline 2021-11-07 10:50:48 -08:00
Arceveti
c2169629b9 Merge branch 'camera-jerk-fix' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-11-07 10:50:30 -08:00
gheskett
34fdd2d51f Fix jerky camera meme 2021-11-07 13:42:53 -05:00
Arceveti
d0794110e5 Fix customColor bug 2021-11-06 23:47:44 -07:00
Arceveti
c8a713a345 Some formatting changes 2021-11-06 21:10:56 -07:00
Arceveti
a0786f33fa Fix geolayout hardcoded numbers + formatting 2021-11-06 18:40:20 -07:00
Arceveti
2aaa897cb7 Sort WF macro objects for easier debugging 2021-11-06 17:14:18 -07:00
Arceveti
49db267b20 A few small changes 2021-11-06 16:19:34 -07:00
Arceveti
07f20e7687 Improve VANILLA_DEBUG define 2021-11-06 15:55:01 -07:00
Arceveti
f5b167df9d Add VANILLA_DEBUG define 2021-11-06 15:48:59 -07:00
Arceveti
e954899da5 Some collision optimizations 2021-11-06 15:34:32 -07:00
Arceveti
e362d430a6 Change EXTENDED_BOUNDS_MODE 2021-11-05 17:32:41 -07:00
Arceveti
c1e9cb6dae Fix COND_BIT 2021-11-05 13:40:45 -07:00
Arceveti
7ef2e300bc bhvFireSpitter ordering 2021-11-04 14:15:31 -07:00
Arceveti
c3aebc4b77 Clean up some behavior files 2021-11-04 14:13:59 -07:00
Arceveti
0a6ca89318 ok 2021-11-04 13:41:39 -07:00
Arceveti
07b29711a3 Small formatting change 2021-11-03 23:19:29 -07:00
Arceveti
48da6beac4 Merge branch 'shadow_changes' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-11-03 17:31:16 -07:00
Arceveti
645258b66d Some shadow optimizations 2021-11-03 17:30:26 -07:00
Arceveti
4910ef7bcb Fix shadow pointer bug 2021-11-03 16:39:02 -07:00
Arceveti
24243ae905 OBJ_FLAG_UCODE_LARGE for bhvWfBreakableWallLeft/Right 2021-11-03 14:55:19 -07:00
Arceveti
9c58299d0a Fix bhv_cmd_set_int_random_from_table 2021-11-03 14:53:00 -07:00
Arceveti
1ef949fab6 Remove lowercase min/max due to name conflict 2021-11-03 14:47:25 -07:00
Arceveti
89e28d5d90 OBJ_FLAG_UCODE_LARGE for bhvOpenableCageDoor 2021-11-03 14:28:13 -07:00
Arceveti
0fdb7b2a95 Merge branch 'shadow_changes' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-11-03 14:24:35 -07:00
Arceveti
f576e98243 Combine dl_shadow_4_verts into dl_shadow_end and use gMarioState->floor/floorHeight 2021-11-03 14:20:42 -07:00
Arceveti
5ea8f704ec Goddard improvements 2021-11-03 14:05:13 -07:00
Arceveti
404421c73f Fix DDD painting with UNLOCK_ALL 2021-11-03 13:06:27 -07:00
Arceveti
c7f14f0d39 Merge branch 'master' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-11-03 12:55:22 -07:00
Arceveti
90df5f6980 Slight memory optimization 2021-11-03 12:51:41 -07:00
Arceveti
26c2c5ab2c Make shadows use s16 angles 2021-11-03 12:35:12 -07:00
Arceveti
bed0ceb63f Remove 9 vertex shadows and combine all shadow find_floor calls into one 2021-11-03 12:27:28 -07:00
Arceveti
5d34ddbb5e Add COLLISION_FLAG_RETURN_FIRST 2021-11-02 21:07:37 -07:00
Arceveti
d6863ae59d Add DISABLE_SHADOWS define 2021-11-02 20:04:13 -07:00
Arceveti
422f234010 More small cleanup 2021-11-02 19:37:45 -07:00
Arceveti
f47357ce12 Rename FLT_NONZERO to FLT_IS_NONZERO 2021-11-02 19:08:58 -07:00
Arceveti
7eb4c96aa3 Small cleanup 2021-11-02 19:07:52 -07:00
Arceveti
0e1f9f6474 seaweed.inc.c cleanup 2021-11-02 19:07:31 -07:00
Arceveti
4727ef63ab object_collision.c cleanup 2021-11-02 18:08:19 -07:00
Arceveti
93f6d988b5 Some geo_layout.c cleanup 2021-11-02 17:54:59 -07:00
Arceveti
5427bdfbc2 Some behavior_script.c cleanup 2021-11-02 17:54:21 -07:00
Arceveti
38e66e92f8 Fix typo 2021-11-02 17:32:19 -07:00
Arceveti
03e5c4b997 Some camera.c formatting 2021-11-02 17:28:32 -07:00
Arceveti
18c84f2116 Some level command names 2021-11-02 17:13:18 -07:00
Arceveti
dd804b627e Visually document sCoinArrowPositions 2021-11-02 16:54:02 -07:00
Arceveti
ea729175bc Fix Sushi shark collision 2021-11-02 16:00:35 -07:00
Arceveti
9d99d79843 behavior_data.c enum usage 2021-11-02 15:51:28 -07:00
Arceveti
7eaeb051ab coin.inc.c and fire_piranha_plant.inc.c formatting improvements 2021-11-02 13:58:55 -07:00
Arceveti
e409e1d43b More small formatting fixes 2021-11-02 13:40:49 -07:00
Arceveti
087603ea47 A few tiny formatting changes 2021-11-02 13:10:42 -07:00
Arceveti
ff26270962 remove goto's in thread2_crash_screen 2021-11-02 13:02:53 -07:00
Arceveti
7b8bbc740a Thread ID enum usage 2021-11-02 12:56:13 -07:00
Arceveti
4e907d5469 Some memory pool size defines 2021-11-02 12:50:09 -07:00
Arceveti
dcb3b311ad EnvFxParticle isAlive bit size 2021-11-02 12:49:55 -07:00
Arceveti
18213eca12 Add Thread ID enum 2021-11-02 12:33:18 -07:00
Arceveti
bc1fdc954b Some puppyprint.c formatting 2021-11-02 12:26:09 -07:00
Arceveti
a7edd8b0b4 Revert previous commit but add warning about bug 2021-11-02 12:25:04 -07:00
Arceveti
8d8496a5c9 Fix puppyprint graph profiling 2021-11-02 12:03:44 -07:00
Arceveti
dc53c0b7df Enable some debug options for testing 2021-11-02 00:42:24 -07:00
Arceveti
0e4d4d8f25 Fix mirror mario shadow crash 2021-11-02 00:42:09 -07:00
Arceveti
b410e61df7 Some formatting stuff 2021-11-02 00:22:01 -07:00
Arceveti
f4725f3126 Fix bhv_tilting_inverted_pyramid_loop typo 2021-11-01 23:40:25 -07:00
Arceveti
1bf76dffbb Remove unused debug array in update_objects 2021-11-01 23:23:58 -07:00
Arceveti
9158aad000 replace round_float with roundf 2021-11-01 23:00:28 -07:00
Arceveti
5a67358edb Inline roundf/abs functions 2021-11-01 20:40:43 -07:00
Arceveti
41e8988655 Silhouette dl consistency 2021-11-01 17:13:07 -07:00
Arceveti
8e2e98a022 Revert "New compiler flags experiment"
This reverts commit cad29520ff.
2021-11-01 16:54:04 -07:00
Arceveti
cad29520ff New compiler flags experiment 2021-11-01 16:29:07 -07:00
Arceveti
f1de65a147 Disable AA by default 2021-11-01 16:25:07 -07:00
Arceveti
7cdaa8a7ef Revert potential geo_process_bone bug 2021-11-01 15:53:28 -07:00
Arceveti
2e61899d87 Add UNLOCK_FPS define 2021-11-01 13:56:58 -07:00
Arceveti
d5cc31e4cd Fix NO_SLEEP define 2021-11-01 13:48:16 -07:00
Arceveti
0306ded434 Add NO_SLEEP define 2021-11-01 13:39:24 -07:00
Arceveti
21041e27ff Some small formatting fixes 2021-10-31 19:37:18 -07:00
Arceveti
f79e7394bd Breakable box collision distance fix 2021-10-31 16:18:06 -07:00
Arceveti
9384b53bd0 math_util.c cleanup + optimizations 2021-10-31 15:47:00 -07:00
Arceveti
c5f7683c05 geo_process_bone optimization 2021-10-31 12:54:27 -07:00
Arceveti
2ba2be9473 Misc. cleanup 2021-10-30 22:59:51 -07:00
Arceveti
a95b17f341 Cleanup/optimize vector copy/conversion functions 2021-10-30 22:57:30 -07:00
Arceveti
859e0b8ea1 Small optimization 2021-10-30 21:14:26 -07:00
Arceveti
b1760e7f5d mario_misc cleanup 2021-10-30 20:44:23 -07:00
Arceveti
5a962bf8dc Merge branch 'level_command_presets' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-30 20:02:59 -07:00
Arceveti
f266185819 Misc. changes 2021-10-30 20:02:35 -07:00
Arceveti
67c00141d8 Convert init_rdp and init_rsp to displaylists 2021-10-30 14:15:29 -07:00
Arceveti
7a48d23df1 object_helpers.c cleanup 2021-10-30 13:56:17 -07:00
Arceveti
ff86fe6428 Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-30 13:28:30 -07:00
Arceveti
170ca0f5a8 Some shadow optimizations 2021-10-28 19:42:08 -07:00
Arceveti
48e4b5ce83 Makefile formatting + fix build warnings with inlines enabled 2021-10-28 18:30:50 -07:00
Arceveti
c468258b8b Formatting changes 2021-10-28 17:45:28 -07:00
Arceveti
5b04c181a5 mtxf_to_mtx_asm optimization 2021-10-27 15:33:05 -07:00
Fazana
9a4446d377 Update puppyprint.c 2021-10-27 21:53:39 +01:00
Fazana
316357fbe8 Puppyprint Page overhaul 2021-10-27 18:31:39 +01:00
Arceveti
a72c99b519 Improve GROUND_TURNING_AROUND_FIX 2021-10-26 21:56:19 -07:00
Arceveti
bd4fd3c3ca Various Mario actions cleanup 2021-10-26 20:51:01 -07:00
Arceveti
4d2116a683 mario_actions_airborne.c cleanup 2021-10-26 19:33:53 -07:00
Arceveti
be2898cd43 mario_actions_moving.c cleanup 2021-10-26 19:27:07 -07:00
Arceveti
18d736f3ac Camera stuff + misc. 2021-10-26 18:59:46 -07:00
Arceveti
a7ac7b7418 Add BACKWARDS_CONTROLS_FIX 2021-10-26 13:23:38 -07:00
Arceveti
2ef5160dd9 Merge branch 'formatting_changes' of https://github.com/Reonu/HackerSM64 into level_command_presets 2021-10-25 23:13:31 -07:00
Arceveti
f4ef135126 Various small changes 2021-10-25 23:12:43 -07:00
Arceveti
76532aaf96 Indentation fix 2021-10-25 22:41:24 -07:00
Arceveti
06abd9419c Special warp node names in level scripts 2021-10-25 21:17:26 -07:00
Arceveti
4b5a8d839f Add some level command presets 2021-10-25 20:54:33 -07:00
Arceveti
ece967bebb Use segment name defines in level scripts 2021-10-25 18:14:04 -07:00
Arceveti
4e75ab4a9b Function prototype argument names 2021-10-25 18:05:04 -07:00
Arceveti
885af8671a Various small cleanups 2021-10-25 16:26:35 -07:00
Arceveti
b685b81914 Add GROUND_TURNING_AROUND_FIX 2021-10-24 21:50:31 -07:00
Arceveti
67a0195ada Some more optimizations/fixes 2021-10-24 21:07:38 -07:00
Arceveti
6fc13856c3 Convert some more macros into functions 2021-10-24 19:38:18 -07:00
Arceveti
27e7d905f3 Change some vec3_copy to vec3f_copy 2021-10-24 17:54:39 -07:00
Arceveti
f40619630d enum usage + fix act_special_death_exit 2021-10-24 17:03:20 -07:00
Arceveti
f30506d17d Add PREVENT_CAP_LOSS 2021-10-24 16:17:48 -07:00
Arceveti
67cc35d428 Interaction cleanup 2021-10-24 16:09:23 -07:00
Arceveti
ffa69662d4 Disable HANDS_FREE_HOLDING_FIX by default 2021-10-24 15:54:35 -07:00
Arceveti
fcd79fa6a5 Add HANDS_FREE_HOLDING_FIX 2021-10-24 15:54:11 -07:00
Arceveti
881d75e3dd Even more audio stuff 2021-10-24 15:42:51 -07:00
Arceveti
388e5cf517 Replace clamp16 with CLAMP_S16 macro 2021-10-24 13:48:32 -07:00
Arceveti
dc6a173357 Remove extra cast from clamp16 2021-10-24 13:21:35 -07:00
Arceveti
f066facc04 Revert clamp16 2021-10-24 13:04:26 -07:00
Arceveti
f1c10c0039 Revert struct bitfield boolean changes 2021-10-24 12:48:08 -07:00
Arceveti
b195482afe Improve SHELL_CANCEL_FIX 2021-10-24 12:39:37 -07:00
Arceveti
de00603f6f Merge branch 'config_split' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-24 12:39:00 -07:00
Arceveti
f6c08bad7e A few more audio changes 2021-10-24 12:34:55 -07:00
Arceveti
4d4068c42b More audio stuff 2021-10-24 12:05:31 -07:00
Arceveti
c071df0c32 Fix build 2021-10-24 10:52:30 -07:00
Arceveti
25e4bf1d85 Various cleanup 2021-10-23 21:43:00 -07:00
Arceveti
76723d741f Merge branch 'fix_hardcoded_segments' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-23 20:11:22 -07:00
Arceveti
4d65fd3f48 Add segment_names.h 2021-10-23 19:40:28 -07:00
Arceveti
1e65059b6c More Mario actions cleanup 2021-10-23 13:43:15 -07:00
Arceveti
33b2cd9bdd Merge branch 'combine_actions' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-22 12:51:27 -07:00
Arceveti
f8676a6549 Some mario actions changes 2021-10-22 12:51:18 -07:00
Arceveti
cebe1ade2e Combine act_forward_rollout and act_backward_rollout 2021-10-22 12:29:19 -07:00
Arceveti
fea6930f0c Fix typo 2021-10-21 23:05:25 -07:00
Arceveti
41cf013d2c Some mario.c cleanup 2021-10-21 23:04:45 -07:00
Arceveti
79f0cc60f7 Merge branch 'fix_tlb_unmaps_only' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-21 22:46:34 -07:00
Arceveti
68d8507d4b Merge branch 'optimize_is_behind_surface' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-21 22:44:11 -07:00
Arceveti
9399bd5caa Remove extra newline 2021-10-21 22:43:45 -07:00
Arceveti
1fad890c89 Some more audio cleanup 2021-10-21 22:32:28 -07:00
Arceveti
bf8b7990ed heap.c changes 2021-10-21 22:18:10 -07:00
Arceveti
33f20577a7 Merge branch 'functions_32_bit' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-21 21:59:51 -07:00
Arceveti
80f150fc58 Fix func_sh_802f1d40 and func_sh_802f1d90 2021-10-21 21:59:32 -07:00
Arceveti
ce6a9baae5 Merge branch 'functions_32_bit' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-21 21:56:49 -07:00
Arceveti
2bb756c951 Make all functions return 32 bit 2021-10-21 21:52:17 -07:00
Arceveti
330cea65a8 level_script.c changes 2021-10-21 21:00:12 -07:00
Arceveti
51b6643058 Fix build 2021-10-21 20:58:18 -07:00
Arceveti
bd3c9f4dc4 Merge commit 'ef22ecf730c338c057b426c641beb0f2465ab971' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-21 20:33:30 -07:00
Arceveti
f00fdabc0c Split config.h into multiple files 2021-10-21 20:23:10 -07:00
Arceveti
cca07d7fe7 Merge branch 'sound_mario_whoa_priority' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-21 20:02:14 -07:00
Arceveti
be78e1a6e0 Merge branch 'optimize_is_behind_surface' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-21 20:01:58 -07:00
Arceveti
e628dc9f4d Some camera.c cleanup 2021-10-21 20:01:32 -07:00
Arceveti
e15fc97426 Make is_behind_surface use existing surface normal 2021-10-21 19:30:14 -07:00
Arceveti
06a2826fc7 ".f" to ".0f" for r15 consistency 2021-10-21 19:08:43 -07:00
Arceveti
9090882f0a Some cleanup 2021-10-21 18:51:12 -07:00
Arceveti
8be5a6f12d Fix SOUND_MARIO_WHOA priority 2021-10-20 21:40:57 -07:00
Arceveti
d4b9f474d7 Audio changes 2021-10-20 21:25:26 -07:00
Arceveti
fe8b1b9071 Make some functions 32 bit 2021-10-20 20:49:21 -07:00
Arceveti
90d15c29cd Convert some define lists to enums 2021-10-20 19:16:35 -07:00
Arceveti
56f59fedb5 Some color_presets.h cleanup 2021-10-20 19:16:12 -07:00
Arceveti
4c40248411 Some puppylights cleanup 2021-10-20 18:42:47 -07:00
Arceveti
08ac5f96fa Some object_constants.h enums 2021-10-20 18:32:29 -07:00
Arceveti
56f875485e Some small readability changes 2021-10-20 18:14:34 -07:00
Arceveti
2755ce64cf Comment spacing 2021-10-20 18:04:08 -07:00
Arceveti
0b8541275f Convert more define lists into enums 2021-10-20 17:53:17 -07:00
Arceveti
b02f3b6894 Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-20 17:32:14 -07:00
Arceveti
c79cc991b3 Merge pull request #91 from Reonu/merge_ultrasm64
Merge ultrasm64
2021-10-20 17:15:59 -07:00
Arceveti
d1c87d9bd0 Merge https://github.com/CrashOveride95/ultrasm64 into merge_ultrasm64 2021-10-20 16:46:05 -07:00
Arceveti
50c61d45bb Convert some more define lists to enums 2021-10-20 16:00:31 -07:00
Arceveti
9d9956d209 Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into formatting_changes 2021-10-20 15:36:57 -07:00
Arceveti
527d79202b Convert some more bitflag define lists to enums 2021-10-20 15:36:50 -07:00
Arceveti
033d80ca55 Document & fix gWaterSurfacePseudoFloor 2021-10-20 15:23:51 -07:00
Arceveti
854af8cf7b Merge pull request #86 from Reonu/course_complete_1ups
Make course complete 1-Ups from coins work past 150 coins
2021-10-20 15:08:32 -07:00
Arceveti
325b7d9a0d Update src/game/ingame_menu.c
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2021-10-20 15:01:45 -07:00
Arceveti
82aa19e4cc Merge pull request #88 from Reonu/fix_redundant_geo_process_animated_part_translation_set
Fix geo_process_animated_part setting translation twice
2021-10-20 15:01:29 -07:00
Arceveti
4206b517d0 Convert some bitflag define lists to enums 2021-10-20 15:00:28 -07:00
Arceveti
20136f6f72 curAnim -> currAnim for r15 consistency 2021-10-20 14:56:19 -07:00
Arceveti
110efebb24 Make PAINTING_SIZE a float 2021-10-20 14:38:36 -07:00
Arceveti
16b901d099 More r15 consistency 2021-10-20 14:37:08 -07:00
Arceveti
d017628a78 Readability changes 2021-10-20 13:28:41 -07:00
Arceveti
402f4a16c0 r15 consistency 2021-10-20 13:28:36 -07:00
Arceveti
384bc10312 Fix build 2021-10-20 13:25:56 -07:00
Arceveti
0dcf4109b6 Missing semicolon 2021-10-20 13:24:32 -07:00
Arceveti
502677bcac Some behavior file changes 2021-10-20 13:24:10 -07:00
Arceveti
2ba5d423e8 mario_actions_airborne.c changes 2021-10-20 12:42:12 -07:00
Arceveti
2f6f6c7a5c vec3f_copy in act_riding_hoot 2021-10-20 12:31:41 -07:00
Arceveti
f6a2999134 Fix geo_process_animated_part setting translation twice 2021-10-20 12:24:39 -07:00
Arceveti
98426c0f22 perform_air_step quarterStepResult if statement 2021-10-20 12:22:35 -07:00
Arceveti
4c9920fbc6 Use CLAMP for cannon angle 2021-10-20 12:21:48 -07:00
Arceveti
1a43df6bf2 Make course complete 1-Ups from coins work past 150 coins 2021-10-20 12:09:39 -07:00
Arceveti
a349f944ee mario-related changes 2021-10-20 11:53:41 -07:00
Arceveti
88388c1ecf memory.c changes 2021-10-20 11:53:31 -07:00
Arceveti
5ffa0ba3cd ingame_menu.c changes 2021-10-20 11:52:53 -07:00
Arceveti
8760a58ce2 file_select changes 2021-10-20 11:36:46 -07:00
Arceveti
2e432cb343 behavior file changes 2021-10-20 11:36:05 -07:00
Arceveti
6dea5dff8a level_script changes 2021-10-20 11:35:30 -07:00
Arceveti
256f662fb1 Fix small_key_geo indent 2021-10-20 11:29:00 -07:00
Arceveti
8831dcf5ff Remove bhvStub1D70 2021-10-20 11:28:45 -07:00
Arceveti
141854b1f9 Fix 6 level entries freeze 2021-10-20 09:39:31 -07:00
CrashOveride95
208d526bb6 Make ROM name smaller and change messages printed on build a bit 2021-10-19 22:11:42 -04:00
CrashOveride95
d8c7afebc2 extra 2021-10-19 21:58:26 -04:00
CrashOveride95
eb466b2caf Merge branch 'master' of https://github.com/n64decomp/sm64 2021-10-19 21:58:19 -04:00
Arceveti
4b6d9609a1 Remove GET_BPARAM1234 define 2021-10-19 18:51:57 -07:00
Arceveti
12afa0148f Merge pull request #80 from Reonu/set_get_bparam_changes
Set_get_bparam_changes
2021-10-19 18:49:48 -07:00
Arceveti
c0941c73ba Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into set_get_bparam_changes 2021-10-19 18:43:26 -07:00
Arceveti
2d507c4fc5 Merge pull request #79 from Reonu/goomba_changes
goomba.inc.c improvements
2021-10-19 18:40:11 -07:00
Arceveti
3bf97d6c9c Add ifdef guard to GOOMBA_BP3_FLOOMBA_MIRRORED_STARTUP_ANIM define 2021-10-19 18:16:17 -07:00
Arceveti
432c2904cb Rename GOOMBA_BP3_IS_FLOOMBA to GOOMBA_BP3_FLOOMBA_MIRRORED_STARTUP_ANIM and add it to object_constants.h 2021-10-19 18:15:20 -07:00
Arceveti
ef22ecf730 COURSE_NUM_TO_INDEX Usage 2021-10-19 17:43:40 -07:00
Arceveti
8d2dcddfd8 Improve/document GET/SET/etc._BPARAM macros 2021-10-19 17:40:43 -07:00
Arceveti
efaf11b33c Goomba improvements 2021-10-19 17:25:17 -07:00
Arceveti
d46eac0b84 Merge pull request #78 from Reonu/merge_refresh_15
Merge refresh 15
2021-10-19 14:01:14 -07:00
Arceveti
c688de670a Merge https://github.com/n64decomp/sm64 into merge_refresh_15 2021-10-18 21:20:53 -07:00
Arceveti
536e2077dd Make bowser puzzle seamless 2021-10-18 11:46:07 -07:00
Arceveti
b3dc29b538 ModelID typedef usage 2021-10-18 11:30:03 -07:00
Arceveti
dab7b06858 Make coin type inside boo a param1 2021-10-18 11:18:56 -07:00
Arceveti
dc65782309 object_helpers.c cleanup 2021-10-18 10:59:31 -07:00
Arceveti
35969689e6 typedef ObjActionFunc 2021-10-18 10:04:52 -07:00
Arceveti
46579b479d Rename DISABLE_LEVEL_SPECIFIC_CHECKS to DISABLE_VANILLA_LEVEL_SPECIFIC_CHECKS 2021-10-18 09:52:40 -07:00
Arceveti
6418657eea Add FIX_REFLECT_MTX 2021-10-17 22:53:33 -07:00
Arceveti
c6cfb15237 Some GET_BPARAM usage 2021-10-17 22:48:44 -07:00
Arceveti
2a8bf9948b Various object improvements 2021-10-17 22:12:20 -07:00
Arceveti
dad0b74a2e Initialize the correct number of object fields in allocate_object 2021-10-17 21:45:49 -07:00
Arceveti
fe12d438b7 Some enums 2021-10-17 20:48:56 -07:00
Arceveti
7b24734619 v 2021-10-17 20:35:18 -07:00
Arceveti
38df06eefd Merge branch 'master' of https://github.com/Reonu/HackerSM64 into nightly 2021-10-17 20:32:16 -07:00
Arceveti
118c5d88ff Some envfx_bubbles.c cleanup 2021-10-17 20:30:42 -07:00
Arceveti
7fba760389 Puppyprint color presets 2021-10-17 20:29:28 -07:00
Arceveti
1e52ffce78 SCREEN_CENTER_X/Y usage 2021-10-17 20:17:07 -07:00
Arceveti
ee19c27c95 Clean up warp transition type defines 2021-10-17 20:06:13 -07:00
Arceveti
ea421431a7 WOODEN_POST_BP_NO_COINS_MASK -> BPARAM3 2021-10-17 20:01:49 -07:00
Arceveti
390e12b3f9 Various small fixes 2021-10-17 19:27:01 -07:00
Arceveti
d2ebd86d0e Remove some redundant file select checks 2021-10-17 19:26:44 -07:00
Arceveti
4d0bcb9e15 Define INT_STATUS_NONE in behavior_data.c 2021-10-17 19:24:24 -07:00
Arceveti
7abf79d071 Move FLT_NONZERO to math_util.h 2021-10-17 18:21:02 -07:00
Arceveti
f9f0dc9acc Fix build warning 2021-10-17 18:19:27 -07:00
Arceveti
566caeb115 Add BPARAM mask defines 2021-10-17 18:13:12 -07:00
Arceveti
96a0145984 Add defines for unused surface types 2021-10-17 17:55:23 -07:00
Arceveti
35cb5517a6 Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into nightly 2021-10-17 17:40:21 -07:00
Arceveti
d1855662fd Merge pull request #76 from someone2639/syscall_asserts
runtime assert hotfix
2021-10-17 17:40:09 -07:00
Arceveti
ed981e2934 Attempt 2 to fix console find_wall_collisions_from_list div0 crash 2021-10-17 17:40:00 -07:00
someone2639
67ae0e946a [crash_screen.c] add null check in case the exception wasnt an assert 2021-10-17 20:26:59 -04:00
Arceveti
f7981ac804 Fix build 2021-10-17 17:24:38 -07:00
Arceveti
bdfaf2c2f9 Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into nightly 2021-10-17 17:23:01 -07:00
Arceveti
0547be4e0b Merge pull request #75 from someone2639/syscall_asserts
Add runtime asserts
2021-10-17 17:22:49 -07:00
Arceveti
fa04781025 Improve some more behavior files 2021-10-17 17:21:10 -07:00
Arceveti
f0d3d5a538 Remove some unused debug text 2021-10-17 17:20:56 -07:00
someone2639
c86afcae03 [crash_screen.c] moved around print statements to be both clear and not overlapping 2021-10-17 20:07:41 -04:00
someone2639
52b076c5cc [sm64.ld] add n64_assert.s to final game 2021-10-17 20:07:10 -04:00
someone2639
45fa72e836 [crash_screen.c] add debug.h to includes; fix compile error in draw_asserts 2021-10-17 20:03:24 -04:00
someone2639
cc3db36061 [debug.h] add assert define; ready to test 2021-10-17 20:01:49 -04:00
someone2639
bd23a46acd [crash_screen.c] actually add assert draw function, with new symbols 2021-10-17 19:59:51 -04:00
someone2639
5e151260e8 [n64_assert.s] add assert exception assembly code 2021-10-17 19:58:47 -04:00
someone2639
d49a16342d [debug.h] add externs for global assert symbols 2021-10-17 19:58:16 -04:00
someone2639
0dd70bfc21 [crash_screen.c] add logic to draw asserts page 2021-10-17 19:54:10 -04:00
someone2639
c03873c646 [ccrash_screen.c] add instructions to assert message 2021-10-17 19:48:46 -04:00
someone2639
989a499aeb [crash_screen.c] renamed syscall exception to failed assert 2021-10-17 19:47:21 -04:00
Arceveti
c290770516 Some camera cleanup 2021-10-17 16:25:00 -07:00
Arceveti
671a6acb34 Fix build 2021-10-17 16:24:36 -07:00
Arceveti
20feb3e7e6 Improve some behavior files 2021-10-17 16:22:13 -07:00
Arceveti
20ad6f619a document goto offsets in ending/menu scripts 2021-10-17 16:16:55 -07:00
Arceveti
856760befb Might be a better fix 2021-10-17 15:46:54 -07:00
Arceveti
b54f81ad38 Prevent division by zero in find_wall_collisions_from_list 2021-10-17 15:42:55 -07:00
Arceveti
c28919e41a Improve dialog input 2021-10-17 11:35:40 -07:00
Arceveti
0532936b19 A few config.h fixes 2021-10-17 11:02:43 -07:00
Arceveti
23c898667a Add spaces to INTERNAL_ROM_NAME 2021-10-17 10:44:35 -07:00
Arceveti
b1798cb32e remove prevent_bss_reordering includes 2021-10-17 10:42:32 -07:00
Arceveti
5c7882f649 Clean up a bunch of version ifdefs 2021-10-17 10:39:50 -07:00
Arceveti
5af1a4dceb Fix whirlpool distance 2021-10-15 17:12:55 -07:00
Arceveti
4167068dc5 butterfly.inc.c improvements 2021-10-15 12:20:12 -07:00
Arceveti
cc48698193 Check for COLLISION_FLAG_EXCLUDE_DYNAMIC in find_ceil and find_wall_collisions 2021-10-15 12:06:14 -07:00
Arceveti
5fe1a69f51 Slight find_floor/ceil optimization 2021-10-15 11:53:35 -07:00
Arceveti
b02ab02c17 Fix find_floor_from_list + some optimization 2021-10-15 11:28:54 -07:00
Arceveti
a8283a20a9 Add gCollisionFlags 2021-10-15 11:15:27 -07:00
Arceveti
5de970a754 Some surface_collision.c cleanup 2021-10-15 10:56:40 -07:00
Arceveti
c6b0a16c88 Replace puppylights goto's 2021-10-15 10:56:28 -07:00
Arceveti
9438ab2ab6 Make render phases a for loop instead of a goto 2021-10-15 10:13:56 -07:00
Arceveti
064d09753a Make Painting->pos a Vec3f 2021-10-15 10:08:40 -07:00
Arceveti
dbf0cd777b Clean up painting ripple flags 2021-10-15 10:03:38 -07:00
Arceveti
43b1b48e22 Fix CAMERA_FIX after painting exit cutscene 2021-10-14 19:19:18 -07:00
Arceveti
e672193e67 Add START_LEVEL define + some cleanup 2021-10-14 18:48:16 -07:00
Arceveti
22dae4a7eb Small formatting fix 2021-10-14 12:26:49 -07:00
n64
1372ae1bb7 Refresh 15 2021-10-14 15:25:30 -04:00
Arceveti
f66248257f Use m->heldObj instead of m->usedObj for GROUND_TURN_FIX check 2021-10-14 12:01:49 -07:00
Arceveti
812a8247e9 Improve EXIT_COURSE_WHILE_MOVING 2021-10-14 11:43:47 -07:00
Arceveti
b38cf7c377 Add HOOT_TREE_PARTICLES 2021-10-14 11:35:03 -07:00
Arceveti
4f6a7f9545 Add GROUND_POUND_WALL_FIX 2021-10-14 11:26:06 -07:00
Arceveti
326eca4dd2 Improve GROUND_TURN_FIX 2021-10-14 11:23:04 -07:00
Arceveti
2cc01ce3a5 Clean up a bunch of ifdefs 2021-10-13 20:25:45 -07:00
Arceveti
024fb35a92 rename stomp_smoke to small_water_splash 2021-10-13 18:00:16 -07:00
Arceveti
442f03d52c Fix obj_turn_toward_object calls 2021-10-13 17:42:36 -07:00
Arceveti
53f312e37c Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into nightly 2021-10-13 17:36:32 -07:00
Arceveti
da1f048024 Clean up some ifdefs 2021-10-13 17:21:12 -07:00
Arceveti
ba49c72969 Clean up a few switch statements 2021-10-13 17:12:46 -07:00
Arceveti
9d2877f28a Name SOUND_MENU_FLAG_EXTRA 2021-10-13 17:12:03 -07:00
Arceveti
8ad13228f5 Some Puppycam formatting fixes 2021-10-13 16:57:53 -07:00
Arceveti
37023ed99d some small object_list_processor.c fixes 2021-10-13 16:27:55 -07:00
Arceveti
feb3a2a61c Define unused actions and custom action group 2021-10-13 16:05:39 -07:00
Arceveti
b790a5e083 gMarioState -> m in queue_rumble_particles 2021-10-13 16:05:21 -07:00
Arceveti
1963595cbf Make BETTER_BOUNCE height more reasonable 2021-10-13 15:46:36 -07:00
Arceveti
b3418e3eb0 HUDFlashModes enum 2021-10-13 15:21:29 -07:00
Arceveti
06f65d396c Some patch_audio_bank fixes 2021-10-13 15:20:54 -07:00
Arceveti
7581dfccf5 intro_scene.inc.c cleanup 2021-10-13 14:59:14 -07:00
Arceveti
a827d7b9c9 intro_peach.inc.c cleanup 2021-10-13 14:59:04 -07:00
Arceveti
085af99845 intro_lakitu.inc.c cleanup 2021-10-13 14:58:38 -07:00
Arceveti
2cf33a2f33 bhvDoor and bhvStarDoor cleanup 2021-10-13 14:38:39 -07:00
Arceveti
33a0a59774 Convert sDonutPlatformPositions from hexadecimal to decimal 2021-10-13 14:27:09 -07:00
Arceveti
6ad4d7917b bhvChirpChirp to bhvBubSpawner 2021-10-13 14:24:45 -07:00
Arceveti
d908c22697 Some audio formatting 2021-10-13 14:21:53 -07:00
Arceveti
bf98a51263 Add FAST_VERTICAL_CAMERA_MOVEMENT 2021-10-13 14:02:53 -07:00
Arceveti
1f4949bd8a Fix asm_abs defines 2021-10-13 14:02:49 -07:00
Arceveti
8ef227890a Some camera.c formatting 2021-10-13 13:19:54 -07:00
gheskett
e72dbfb3e3 Bugfix: divide by zero for floomba startup 2021-10-13 01:02:53 -04:00
gheskett
693d5d5cb4 Some reformatting of audio system + puppyprint for dynamic audio buffers 2021-10-13 00:41:21 -04:00
Arceveti
7b26bf06eb Some small formatting fixes 2021-10-12 20:08:25 -07:00
Arceveti
9391eefd05 Revert a Puppyprint debug info input change 2021-10-12 19:47:47 -07:00
Arceveti
e12e1c2f17 Some level_update.c cleanup 2021-10-12 19:22:14 -07:00
Arceveti
319be3a796 gMarioState -> m in init_mario, init_mario_from_save_file, and init_mario_after_warp 2021-10-12 19:01:58 -07:00
Arceveti
09cf9adc13 gMarioState -> m in execute_mario_action 2021-10-12 18:57:14 -07:00
Arceveti
a6492a2170 Some more cleanup 2021-10-12 18:53:59 -07:00
Arceveti
045c68f153 Convert a few object_constatnts.h defines to enums 2021-10-12 18:53:52 -07:00
Arceveti
f807000145 macro_presets.h documentation 2021-10-12 18:52:43 -07:00
Arceveti
c4b6ab2da0 Small cleanup 2021-10-12 18:04:08 -07:00
Arceveti
328317605e Convert a couple more doubles to floats 2021-10-11 21:33:52 -07:00
Arceveti
7c27196416 Some Puppyprint cleanup 2021-10-11 21:28:15 -07:00
Arceveti
a2500da83e Fix OOB death on BBH exit 2021-10-11 21:11:19 -07:00
Arceveti
fb266ee482 Fix update_mario_platform crash 2021-10-11 20:51:47 -07:00
Arceveti
848a8dd3a0 Some cleanup 2021-10-11 20:46:39 -07:00
Arceveti
210e708c8e Fix doors with CAMERA_FIX (part 3) 2021-10-11 20:46:02 -07:00
Arceveti
24a2905fc3 Remove some unused functions 2021-10-11 20:25:35 -07:00
Arceveti
8dda45abb6 Remove some unecessary externs 2021-10-11 20:00:45 -07:00
Arceveti
8d51484510 Fix Mario entering pushing animation when facing away from a wall 2021-10-11 17:54:37 -07:00
Arceveti
ca13a8d839 Fix doors with CAMERA_FIX 2021-10-11 17:38:16 -07:00
Arceveti
b4f4df2fdc Fix sign reading 2021-10-11 17:38:05 -07:00
Arceveti
3853714f56 fix perspective matrix being divided by 4 2021-10-11 16:58:22 -07:00
Arceveti
bb54f9e4e7 Fix door camera 2021-10-11 15:00:38 -07:00
Arceveti
17bc64760d Fix hanging height 2021-10-11 14:08:05 -07:00
Arceveti
c31d9b9e2a End cake screen dl names 2021-10-11 13:54:04 -07:00
Arceveti
1203b35b81 Convert some doubles to floats 2021-10-11 13:43:54 -07:00
Arceveti
d107d7f146 Fix dropping from hanging on a downward sloped ceiling 2021-10-11 13:16:14 -07:00
Arceveti
9b5f38491b Make WATER_STEP_HIT_FLOOR pitch change smooth 2021-10-09 00:11:12 -07:00
Arceveti
2275b4ff44 Fix some upwarps/downwarps 2021-10-09 00:10:12 -07:00
Arceveti
1bc367c6e0 node->near usage 2021-10-08 19:07:36 -07:00
Arceveti
c93df2b82e game_init.c cleanup 2021-10-08 15:09:03 -07:00
Arceveti
3f1fb6ec05 Use mtxf_rotate_xy for camera roll 2021-10-08 15:08:54 -07:00
Arceveti
1f1a6c2227 Improve obj_turn_toward_object 2021-10-08 13:59:04 -07:00
Arceveti
f290437f3f ActionState enums 2021-10-08 13:44:48 -07:00
Arceveti
86a62a5936 Fix Hands-free holding 2021-10-08 11:50:16 -07:00
Arceveti
a7d9c8d9e9 Convert some more define lists to enums 2021-10-08 11:47:15 -07:00
Fazana
6eb93bc095 Update puppycam2.h 2021-10-08 14:22:35 +01:00
gheskett
cd66903441 Merge branch 'dev' into floomba 2021-10-08 03:18:30 -04:00
gheskett
95e7d17d06 Math error 2021-10-08 03:16:44 -04:00
Arceveti
961b8b5f38 Small camera fixes 2021-10-07 23:53:35 -07:00
Arceveti
43e6997bab Door DL names 2021-10-07 23:39:01 -07:00
gheskett
a7ae3aae4e Remove useless commented code 2021-10-08 01:50:55 -04:00
gheskett
5e2ddf3f42 Title screen floomba works! 2021-10-08 01:35:23 -04:00
Arceveti
9c66d6b6eb Fix most RSP microcodes (turbo3d still freezes) 2021-10-07 21:56:15 -07:00
gheskett
551e495dd2 Call area_update_objects instead for proper animation loading 2021-10-07 23:22:49 -04:00
gheskett
1c3242b25c Floomba now renders on title screen, does not animate properly 2021-10-07 23:01:35 -04:00
Arceveti
86d8da2b5c Disable DEBUG_LEVEL_SELECT and ENABLE_DEBUG_FREE_MOVE by default 2021-10-07 19:51:19 -07:00
Arceveti
84df7bcc19 Crash screen no longer requires Puppyprint 2021-10-07 19:50:13 -07:00
Arceveti
799c1de736 Revert REVERB_WINDOW_SIZE_MAX change 2021-10-07 19:30:49 -07:00
Arceveti
5abcae64e5 Add FORCE_CRASH macro 2021-10-07 19:29:02 -07:00
Arceveti
07d90becfa Add DEBUG_FORCE_CRASH 2021-10-07 19:21:51 -07:00
Arceveti
90719c1338 SURFACE_IS_UNSAFE includes warp floors 2021-10-07 17:15:25 -07:00
Reonu
35908d96a3 Merge pull request #73 from Reonu/dev
Merged dev into nightly
2021-10-08 02:41:24 +03:00
Arceveti
9c181bf071 Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into dev 2021-10-07 16:40:15 -07:00
Arceveti
683db16175 Add CONTROLLABLE_PLATFORM_SPEED + platform_on_track.inc.c cleanup 2021-10-07 16:38:58 -07:00
Arceveti
6907208052 surface_load.c improvements 2021-10-07 16:01:15 -07:00
Arceveti
4ac6472d76 OBJ_FLAG_UCODE_LARGE for bhvWoodenPost 2021-10-07 15:41:56 -07:00
Arceveti
cba10ea64a Convert more define lists into enums 2021-10-07 15:26:51 -07:00
Arceveti
9346c06206 Convert some define lists to enums 2021-10-07 14:24:54 -07:00
Arceveti
574ffcef06 Sound names 2021-10-07 14:11:52 -07:00
Arceveti
05ca5f6c95 King Bobomb improvements 2021-10-07 13:41:53 -07:00
gheskett
6fd0a96e55 Update README with floomba info 2021-10-07 01:19:23 -04:00
gheskett
6228fb8020 Still can't figure out how to draw floomba on splash screen; every other piece of code here is fully functional now 2021-10-07 00:14:51 -04:00
Arceveti
a7f4de0f27 sCreditsSequence formatting 2021-10-06 19:45:28 -07:00
Arceveti
bd70dd6e78 typedef usage 2021-10-06 19:45:21 -07:00
Arceveti
a69913e3e0 Make some functions 32 bit 2021-10-06 19:44:57 -07:00
Arceveti
67be3bbfb8 Remove a few more unecessary find_floor callse 2021-10-06 19:13:08 -07:00
Arceveti
d40e89cbeb Mark light quarter circle texture as unused 2021-10-06 18:32:34 -07:00
Arceveti
3a0caecb22 Platform displacement cleanup/fixes 2021-10-06 18:31:48 -07:00
Arceveti
ec337a4206 Some audio bugfixes 2021-10-06 18:12:49 -07:00
Arceveti
3a471f4786 Fix most vanilla cutscene softlocks 2021-10-06 18:08:33 -07:00
Arceveti
cab8944416 Remove unused function 2021-10-06 18:06:41 -07:00
Arceveti
3ea0e7ea22 star dl names 2021-10-06 18:04:12 -07:00
Arceveti
b2da8d176b Add radial light texture 2021-10-06 18:04:01 -07:00
Arceveti
c3df118002 Remove extra extern 2021-10-06 17:44:08 -07:00
Arceveti
9eefb25da2 enum RenderPhase 2021-10-06 17:42:17 -07:00
Arceveti
80814c78c5 Simplify GROUND_TURN_FIX 2021-10-06 15:00:37 -07:00
Arceveti
65ef3697be Number of flames on fire bars can be set with oBehParams2ndByte 2021-10-06 11:25:54 -07:00
Arceveti
ea1fc2b49f Add DIALOG_INDICATOR 2021-10-06 10:44:17 -07:00
Arceveti
413602f37e Add EASIER_DIALOG_TRIGGER 2021-10-06 10:37:47 -07:00
Fazana
3ed6c652f0 Update puppycam2.c 2021-10-06 12:01:32 +01:00
gheskett
a6d62b5734 Game now boots, Floomba still not visible 2021-10-06 02:18:25 -04:00
someone2639
c425f8e51b actually add test-pj64 rule 2021-10-05 23:25:56 -04:00
someone2639
3144dcf171 add test-pj64 rule i need it i swear 2021-10-05 22:56:27 -04:00
gheskett
7cf7b4c33b Broke the splash screen :D 2021-10-05 22:50:38 -04:00
gheskett
3d9e855246 Forget to revert BOB goombas 2021-10-05 21:42:43 -04:00
gheskett
47c70a6b9a Merge branch 'dev' into floomba 2021-10-05 21:40:41 -04:00
gheskett
c0a0f54819 Basic support for floombas, currently just goombas in a different animation state 2021-10-05 21:40:05 -04:00
Arceveti
e1ef700b28 Fix mega punch + punch actions cleanup 2021-10-05 18:23:45 -07:00
Reonu
20c6041682 Disabled OMPLETE_EN_US_SEGMENT2 by default 2021-10-06 02:10:36 +03:00
Arceveti
af285bbf47 Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into dev 2021-10-05 15:26:43 -07:00
Arceveti
4723a03be4 Fix surface node pool size 2021-10-05 15:16:37 -07:00
Arceveti
b95eb762ce Fix forcedInclude 2021-10-05 14:55:04 -07:00
Arceveti
df8129a2ea HD Intro textures 2021-10-05 14:17:10 -07:00
Arceveti
0101f2fc27 Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into dev 2021-10-05 11:43:14 -07:00
Arceveti
3dadc71acf Name copyright dl's 2021-10-05 11:36:39 -07:00
Arceveti
1e082a5a59 Add Z_TWIRL 2021-10-05 10:59:32 -07:00
Arceveti
bf4c068e6f Add BETTER_BOUNCE 2021-10-05 10:53:36 -07:00
Arceveti
9470c8fee5 Coins are bouncy again 2021-10-05 10:47:48 -07:00
Arceveti
ac1e9adc99 Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into dev 2021-10-05 10:13:36 -07:00
Arceveti
f5bedc0e55 Use some name defines 2021-10-05 00:20:15 -07:00
Arceveti
9b609a4860 Name some args 2021-10-05 00:15:05 -07:00
Arceveti
c58f61331a Fix build 2 2021-10-04 22:29:20 -07:00
Arceveti
caf47c35f4 Fix camera mode resetting 2021-10-04 22:26:46 -07:00
Arceveti
a30ca2df7a Fix bowling ball crash 2021-10-04 22:25:26 -07:00
Arceveti
8cbb532736 Fix build 2021-10-04 13:21:50 -07:00
Arceveti
4b082481b0 Various object behavior fixes 2021-10-04 13:18:25 -07:00
Arceveti
40420c7249 Paintings use gMarioState floor instead of doing find_floor again 2021-10-04 13:18:07 -07:00
Arceveti
6a7cbbdd4d Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into dev 2021-10-04 12:06:58 -07:00
Fazana
bc3558cebe Make the game render layer 0 of ZEX first 2021-10-04 18:34:38 +01:00
Fazana
99c76db4d0 Puppyprint improvements
(citation needed on the improvements part)
2021-10-04 15:46:35 +01:00
Fazana
5ab7140389 Improve Puppyprint accuracy 2021-10-04 12:18:45 +01:00
Arceveti
323fd02f2e Name some function arguments 2021-10-03 21:40:57 -07:00
Arceveti
a6ee4b849e Fix goomba jump and pokey offset 2021-10-03 17:40:00 -07:00
Arceveti
087fc59488 Implement backup segment2 characters 2021-10-03 17:39:26 -07:00
Arceveti
c6e588fccd Add interaction.h and object_constants.h to forcedInclude 2021-10-03 16:47:43 -07:00
Arceveti
8a3a8a1e33 Add backup segment2 assets 2021-10-03 16:47:09 -07:00
Arceveti
b0f48b4988 Fix water rings 2021-10-03 16:22:16 -07:00
Arceveti
eb77196b6f Improve coin textures 2021-10-03 15:54:26 -07:00
Arceveti
74d85bf00b Remove some unused arguments 2021-10-03 14:22:59 -07:00
Arceveti
4c80f9e811 Remove unused arg from cur_obj_follow_path 2021-10-03 13:55:57 -07:00
Arceveti
e46db0cbc8 Use MarioState surface yaw instead of recalculating the surface yaw again 2021-10-03 13:41:02 -07:00
Arceveti
22a17bdb15 Add fall damage height defines 2021-10-03 13:15:03 -07:00
Arceveti
a9fbc3a907 Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into dev 2021-10-03 13:11:24 -07:00
Arceveti
8e62615e5d Merge branch 'merge_nightly_fixes' of https://github.com/Reonu/HackerSM64 into dev 2021-10-03 13:05:20 -07:00
Arceveti
64b809dd9f Merge branch 'nightly' of https://github.com/Reonu/HackerSM64 into dev 2021-10-03 13:03:14 -07:00
Arceveti
a3c786b71b Requested changes 2021-10-03 11:55:52 -07:00
Arceveti
07232805ae Add COIN_LAVA_FLICKER 2021-10-03 10:59:03 -07:00
Arceveti
b560ef1bb4 Add TINY_GOOMBA_ALWAYS_DROPS_COIN 2021-10-03 10:49:03 -07:00
Arceveti
a2ca71dc0f Add HOOT_YAW_FIX 2021-10-03 10:47:41 -07:00
Arceveti
6c5ed41072 Rename FIX_LAVA_INTERACTION to LAVA_INTERACTION_FIX 2021-10-03 10:47:23 -07:00
Arceveti
680ab6bdf7 Add FIX_LAVA_INTERACTION 2021-10-03 10:43:47 -07:00
Arceveti
3428ea17c2 Don't fall after star grab if high enough in the air 2021-10-03 10:40:23 -07:00
Arceveti
52dfb8ccb7 King Bobomb improvements 2021-10-03 10:35:10 -07:00
Arceveti
83e3e21eb8 Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into dev 2021-10-03 10:23:43 -07:00
Arceveti
3edbc14cf1 Klepto and Unagi have transparent stars after they are collected 2021-10-03 10:23:36 -07:00
Arceveti
fe4dd440f6 Used the passed in MarioState instead of the global one for PREVENT_DEATH_LOOP 2021-10-03 10:12:27 -07:00
Arceveti
41ef8308c1 Add comment to distinguish new MarioState fields 2021-10-03 10:10:15 -07:00
Reonu
e92abdb242 merged nightly's revert commit 2021-10-03 19:37:48 +03:00
Fazana
28c89246fd Merge branch 'nightly' into dev 2021-10-03 14:58:05 +01:00
Fazana
5c639aab8d Puppyprint fixes 2021-10-03 13:08:36 +01:00
Arceveti
3df4adb01a Add EASIER_LONG_JUMPS 2021-10-02 22:23:13 -07:00
Arceveti
ec1694dfdd Improvements to OBJ_OPACITY_BY_CAM_DIST 2021-10-02 22:16:02 -07:00
Arceveti
60a7c34622 Remove some unused functions + ifdefs 2021-10-02 21:38:01 -07:00
Arceveti
b4ce1b5822 Add pointer null check in check_ledge_grab 2021-10-02 20:59:52 -07:00
Arceveti
56f2f9a64b Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into dev 2021-10-02 20:53:54 -07:00
Arceveti
b256986f81 Add POWER_STARS_HEAL 2021-10-02 20:53:46 -07:00
someone2639
3df30561be Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into dev 2021-10-02 23:52:18 -04:00
someone2639
8fad4b6ec6 dont need this line either [math.s] 2021-10-02 23:52:16 -04:00
Arceveti
ee2a1f83d1 Add MUSHROOMS_HEAL 2021-10-02 20:49:06 -07:00
Arceveti
6ea685d7a6 Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into dev 2021-10-02 20:32:31 -07:00
Arceveti
4b1c3fd7e8 Make fixed ledge grabs default + Fix crash 2021-10-02 20:32:19 -07:00
someone2639
30f65bf03c changed div to mul, it always runs now 2021-10-02 23:26:21 -04:00
Arceveti
81b338b340 Save number of lives to save file 2021-10-02 19:26:04 -07:00
Arceveti
8993e51f75 Various tiny fixes 2021-10-02 18:56:58 -07:00
Arceveti
2c1d08a835 Small cleanup 2021-10-02 17:40:06 -07:00
Arceveti
a277a3947c Add color_presets and colors.c 2021-10-02 17:38:18 -07:00
Arceveti
c16a43a071 Merge https://github.com/CrashOveride95/ultrasm64 into dev 2021-10-02 16:34:05 -07:00
Arceveti
9423a32111 Make some functions s32/u32 2021-10-02 16:28:02 -07:00
Arceveti
d2d60c90ba Make gbi.h readable 2021-10-02 16:27:04 -07:00
Arceveti
eae2feb3a0 Doors no longer need OBJ_FLAG_UCODE_LARGE 2021-10-02 16:13:46 -07:00
Arceveti
fb1db7541d Fix build warnings 2021-10-02 16:07:52 -07:00
Fazana
c01386a6c5 iQue supports AA stripping 2021-10-02 22:42:24 +01:00
Fazana
c75fe65125 Update puppyprint.c 2021-10-02 19:43:45 +01:00
Fazana
953a7270f2 Fix building on iQue 2021-10-02 17:58:11 +01:00
Fazana
f6ee66df28 gWorldScalen't 2021-10-02 17:37:12 +01:00
CrashOveride95
0d56896e75 Merge branch 'master' of https://github.com/CrashOveride95/ultrasm64 2021-10-02 10:27:47 -04:00
CrashOveride95
3a627e6311 Add librtc and fix some data declarations 2021-10-02 10:27:43 -04:00
someone2639
dbb1b892ee let the scheduler handle the bc1f 2021-10-02 09:54:11 -04:00
someone2639
1dbbd25253 i hate the c preprocessor 2021-10-02 09:32:16 -04:00
someone2639
134aeb74cc big brain optimization 2021-10-02 09:30:29 -04:00
someone2639
57c10feb14 add some logic for gWorldScale; only div on scales higher than 1 2021-10-02 09:26:18 -04:00
someone2639
474145222d make this asm file a lot easier to read (not documented though) 2021-10-02 09:12:47 -04:00
someone2639
a973d274b0 make mtf_to_mtx inline 2021-10-02 09:12:31 -04:00
Arceveti
4464eb96de Various small bugfixes 2021-10-01 21:47:36 -07:00
Arceveti
2ab3c85d13 Clean up tilting_inverted_pyramid.inc.c 2021-10-01 21:37:47 -07:00
Arceveti
89fb6b75a9 Tuxie fixes 2021-10-01 20:46:33 -07:00
Arceveti
85a31ccec0 Add POLE_SWING 2021-10-01 19:40:29 -07:00
Arceveti
c586faea96 math_util improvements 2021-10-01 19:39:43 -07:00
Arceveti
d17c9247a1 Surface load optimizations 2021-10-01 18:04:12 -07:00
Arceveti
0af6087f81 Add 30FPS coins 2021-10-01 13:47:04 -07:00
Arceveti
0393a5e885 Name coin dl's 2021-10-01 13:08:05 -07:00
Arceveti
5662b8de3a Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into dev 2021-10-01 12:58:45 -07:00
Arceveti
9ad62c9eab Proper false ledge grab fix 2021-10-01 12:57:07 -07:00
Fazana
4346d5ff9f semi colon 2021-10-01 22:21:23 +03:00
Arceveti
efa3e6461a Fix some vector functions 2021-10-01 11:01:57 -07:00
Reonu
209ce5a90c fixed camera memes 2021-10-01 16:47:18 +03:00
Arceveti
bd6eb1fd87 Disable HD_SHADOWS by default 2021-09-30 20:58:15 -07:00
Arceveti
1860ece52e Breakable box improvements 2021-09-30 20:57:54 -07:00
Arceveti
45d4e3c15a Fix held object shadow scaling 2021-09-30 20:02:43 -07:00
CrashOveride95
6218abafff Merge pull request #24 from Arceveti/patch-1
Move GRUCODE define to proper location in makefile
2021-09-30 22:13:33 -04:00
Arceveti
4efbfc4da0 Option for 64x64 quarter shadow textures 2021-09-30 18:26:19 -07:00
Arceveti
d51129c6b6 Move GRUCODE define to proper location in makefile 2021-09-30 17:52:40 -07:00
Arceveti
483005edf5 Move GRUCODE define to proper location in makefile 2021-09-30 17:34:06 -07:00
Arceveti
57531f5d81 Merge branch 'dev' of https://github.com/Reonu/HackerSM64 into dev 2021-09-30 17:26:11 -07:00
Arceveti
a5cb4481f7 Optimize tree transparency distance calculation 2021-09-30 17:25:21 -07:00
Reonu
e6d0d4b8d2 improved death loop failsafe 2021-10-01 02:44:13 +03:00
Reonu
8186517460 added PREVENT_DEATH_LOOP define 2021-10-01 02:36:26 +03:00
Arceveti
76bdc4ca2b Pokey load distance uses o->oDrawingDistance 2021-09-30 16:21:06 -07:00
1138 changed files with 48039 additions and 59064 deletions

26
.gitattributes vendored
View File

@@ -2,19 +2,19 @@
* text=auto
# List text files in case git doesn't characterize correctly
*.c text eol=lf
*.h text eol=lf
*.s text eol=lf
*.in text eol=lf
*.js text eol=lf
*.md text eol=lf
*.py text eol=lf
*.sh text eol=lf
*.ld text eol=lf
*.inc text eol=lf
*.txt text eol=lf
*.json text eol=lf
*.yaml text eol=lf
*.c text
*.h text
*.s text
*.in text
*.js text
*.md text
*.py text
*.sh text
*.ld text
*.inc text
*.txt text
*.json text
*.yaml text
# Same for binary
*.bin binary

2132
.gitignore vendored

File diff suppressed because it is too large Load Diff

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "lib/libpl"]
path = lib/libpl
url = https://gitlab.com/parallel-launcher/libpl.git

View File

@@ -6,7 +6,6 @@
"${workspaceFolder}/include/n64/**",
"${workspaceFolder}/include/**",
"${workspaceFolder}/textures/**",
"${workspaceFolder}/build/us_n64/**",
"${workspaceFolder}/**"
],
"forcedInclude": [
@@ -25,14 +24,15 @@
"TARGET_N64=1",
"VERSION_US=1",
"F3DEX_GBI_2=1",
"F3DZEX_NON_GBI_2=1",
"F3DZEX_GBI_2=1",
"F3DEX_GBI_SHARED=1",
"LIBPL=1"
"NON_MATCHING=1",
"AVOID_UB=1"
],
"compilerPath": "/usr/bin/mips-linux-gnu-gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x86"
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4

416
CHANGES Normal file
View File

@@ -0,0 +1,416 @@
Refresh 15 (mostly a hotfix for RSP microcode selection)
1.) Renamed frame_buffer funcs and _ZBUFFER (#1184)
2.) RSP Microcode Hotfix (#1183)
3.) Label osSetTimer.c (#1182)
4.) Fix styling (#1177)
5.) Rename all `FrameBuffer` variants to `Framebuffer` (#1176)
6.) Remove (WIP) from sh.
7.) Allow both archives and ELF objects to be patched (#1127)
Refresh 14
1.) Label whomp and some object fields (#1174)
2.) Generate MIO0 object files using binutils `ld` instead of `as` (#1173)
3.) Bowser documentation (#1166)
4.) Fix comment syntax in 00_sound_player.0 (#1172)
5.) Rename in-game menu variables (#1163)
6.) Document double red coin sound and JP sound glitch (#1170)
7.) Document different bug in external.c (#1168)
8.) updated names/types of octagonal platform data (#1164)
9.) Label a number of unnamed variables. (#1169)
10.) Document JP PU sound glitch (#1167)
11.) Set model ids to spawn_triangle_break_particles (#1165)
12.) Fix borders in clear_frame_buffer (#1162)
13.) Fix seq header files for 64-bit (#1161)
14.) Game_init.c remaining doc (#1158)
15.) Label a couple static variables in sound_init.c (#1159)
16.) Properly define dialog values (status, flags, cutscenes) (#1153)
17.) Label all of amp's assets. (#1018)
18.) Split audio/synthesis.c into Shindou/non-Shindou files (#1144)
19.) Avoid CC_CHECK warnings when using gcc (#1157)
20.) level_select_menu.c => title_screen.c (#1152)
21.) Use C preprocessor on assembly files (#1126)
22.) Replace output_level_headers.py with sed equivalent (#1109)
23.) Fix CC_CHECK warnings related to unused symbols and UB (#1155)
24.) Define remaining floor lower limit values (#1147)
25.) use r+b mode for libultra.a patch tool (#1148)
26.) Use proper values for gPrevFrameObjectCount ifs (#1146)
27.) Some minor bowser.inc.c labelling. (#1150)
28.) fix king bob-omb texture pointers (#1145)
29.) Split audio/load.c into Shindou/non-Shindou files (#1143)
30.) Small Shindou audio cleanups (#1142)
31.) Fix endians in ALSeqData (#1141)
32.) Document S8 decoder rsp operation and some more (#1139)
33.) Fix Shindou synthesis_process_note fake match (#1140)
34.) More audio documentation, for the new rsp code and other fixes (#1138)
35.) Build fixes for macOS: cpp, clang, recomp, aiff_extract_codebook (#1135)
36.) Add ENABLE_RUMBLE to config.h (#1122)
37.) Reduce recomp memory consumption by using smaller disassembly blocks (#1128)
38.) Makefile fixes (#1123)
39.) Update README.md
40.) Update README.md
41.) Reflect current decompilation status
42.) Allow both archives and ELF objects to be patched (#1127)
43.) Remove WIP mention in README for sh version.
Refresh 13 2
- No more nonmatchings remain for all builds including Shindou.
1.) Shindou OK (#1118)
2.) Match shindou sequence_player_process_sequence (#1117)
3.) Match func_sh_802f4e50 (#1116)
Refresh 13
- No more nonmatchings remain for US, JP, or EU builds. Three(!!!) remain for Shindou (SH).
*) SHINDOU MATCHING (#1081)
*) Makefile gcc fixes (#1114)
1.) Update diff.py (#1113)
2.) Add support for generating C arrays from n64graphics and add Texture typedef (#1032)
3.) Update README and Dockerfile with recomp info (#1105)
4.) Support building tools with MSYS2 (#1112)
5.) Support building tools with clang and macOS (#1106)
6.) Clean tools directory when running distclean target (#1104)
7.) Make build output cleaner (#1095)
8.) Added 2 surface defines to bowser.inc.c (#1111)
9.) fix fake matchings (#1108)
10.) Use statically recompiled IDO instead of qemu-irix (#1099)
11.) Add VERBOSE=1 to Jenkinsfile
12.) updated intro_geo to use layer defines for geo flags (#1090)
13.) Fix F3DZEX (#1097)
14.) layer_transpose should take an s8 (#1093)
15.) Fix tools/ build (#1082)
16.) Relabel and document fish.inc.c (#1077)
17.) Ensure all calls to .py files use $(PYTHON) (#1080)
18.) Name Mario, Peach, and instrument sound files (#1078)
19.) Goddard labeling, part 2 (#1076)
20.) Fix envfx_snow and envfx_bubbles fake matches (#1075)
21.) Use array subscripts instead of pointer math in 2 files (#1074)
22.) refactor Makefile a bit (#1068)
23.) Further improvements on field names (#1059)
24.) Label and document manta_ray.inc.c (#1073)
25.) Fix level_script and behavior fake matches (#1072)
26.) Proper cell defines and more floor lower limit values. (#1065)
27.) Document and re-label some goddard/intro code (#1069)
28.) Match remaining functions (#1070)
29.) match 'spawn_special_objects' (#1071)
30.) Document parts of external.c and format sound defines (#1067)
Refresh 12
1.) Debug box improvements (#1066)
2.) Improve 'geo_render_mirror_mario' (#1064)
3.) Cleanup and small labeling (#1063)
4.) Anim renames and other related renames (#1062)
5.) remove do while 0 and make one line comments consistent (#1061)
6.) fixed typo in segments.h (#1060)
7.) Name unknown fields (from public repo) (#1058)
8.) Change 'void *' to 'struct MainPoolState *' (#1057)
9.) Fix type of freeList (#1056)
10.) Newer version of diff script (#1055)
11.) Add stubbed_printfs based on unused audio strings (#1054)
12.) Fix comment in paintings.c (#1053)
13.) Add defines for hardcoded cell/floor height values (#1051)
14.) Update README.md: Remove GitHub specific Markdown syntax (#1052)
15.) Properly label interation status that handle's Bowser's shockwave attack (#1050)
Refresh 11
1.) Make geo_process_level_of_detail endian-independent (#1049)
2.) Label oMoveFlags and slight cleanup. (#1046)
3.) Avoid UB in synthesis_resample_and_mix_reverb (#1048)
4.) Change some void * to correct type (#1047)
5.) Remove oPathedWaypointsS16 and convert all paths to Trajectory struct. (#1045)
6.) Mr Blizzard documentation, Tox Box Unks (#1042)
7.) Pipe input to textconv. (#1041)
8.) Remove erroneous long double casts from audiofile.cpp (#1039)
9.) Replace fixed dialogID in play_dialog_sound to DIALOG_COUNT (#1040)
Refresh #10.1
1.) Diff update (#1033)
2.) Fix texture dimensions for exclamation boxes (#1034)
3.) Fix armips compilation on Windows by changing order of inclusion files (#1035)
4.) Embed libaudiofile into the repo as a single file (#1036)
5.) Fix some tools issues found while compiling on MSYS2 (#1037)
Refresh #10
1.) GCC 9 noreturn UB fixes (#961)
2.) List supported binutils variants in README.md (#960)
3.) fix fly guy's possible values for target roll
4.) clarify that 1 is an exclusive bound in random_float (#962)
5.) replace unkB8 with prevNumStarsForDialog (#963)
6.) Replace "BulletBillUnkF8" with "BulletBillInitialMoveYaw" (#966)
7.) Renamed more warp behaviors and spawn types (#949)
8.) EU bss cleanups (#965)
9.) Add -fno-zero-initialized-in-bss to GCC CFLAGS (#968)
10.) Use empty .SECONDARY target instead of .PRECIOUS (#964)
11.) Match EU seq_channel_layer_process_script (#969)
12.) Fix version variable overwriting bug for non-matching compilations (#974)
13.) small bhv_collect_star_init labeling (#972)
14.) Align SI DMA command buffers, add more names to osCont code (#973)
15.) Minor for loop fix in playback.c (#976)
16.) Add Docker config (Public #36)
17.) Fix usage output crash for skyconv (#977)
18.) Cleanup tools and their build flags (#978)
19.) Print more detailed file reading error messages in extract_assets (#982)
20.) Remove asmdiff (#983)
21.) Fixed tabledesign makefile bug (#985)
22.) Improve first-diff.py (#987)
23.) Bring in some enhancements such as widescreen enhancements (#981)
24.) Fix background shadow border if widescreen in shade_screen (#988)
25.) Merge common EU sections in osExceptionPreamble (#990)
26.) Introduce the NO_SEGMENTED_MEMORY define (#989)
27.) NO_SEGMENTED_MEMORY comments (#992)
28.) Introduce f3dex2e and a GBI_FLOATS setting (#993)
29.) Audio uses signed 16-bit integers as samples, not unsigned (#995)
30.) Assemble RSP ucode with armips (#970)
31.) Label Mr. Blizzard, Yoshi, Whomp, Wiggler, Wood Piece oFields. (#996)
32.) update crash enhancement (#1003)
33.) Update README.md to use new public Discord server invite
34.) Label variables in act_idle. (#1005)
35.) Fix a typo in camera.h (#1009)
36.) Fixed up profiler.c (#1010)
37.) Add -d to first-diff.py (#1012)
38.) Fix typo in first-diff.py (#1013)
39.) Remove binutils 2.27 dependency check (#1015)
40.) Update armips to v0.11.0 tag and add generator script (#1004)
41.) Extract IPL3 font from ROM (#1011)
42.) Documented audio playback flags (#1021)
43.) Change RSP register notation to dollar-prefixed numbers (#1022)
44.) Only check for QEMU_IRIX in Makefile when compiling with IDO (#1023)
45.) Clean up header files and update function prototypes (#1000)
46.) Named local variables in geo_update_layer_transparency (#1019)
47.) Extract crash screen font textures from EU and SH ROMs (#1025)
48.) Use ACTIVE_FLAG defines where appropriate (#1026)
49.) Changed type of actor collision from s16 to Collision (#1024)
50.) Implement sqrtf in assembly file (#1028)
51.) Rename Struct8032FCE8 as OpenableGrill and identify data members (#1029)
52.) Fix some mistakes in the abi doc (#1031)
53.) The README.md PR (#979)
Refresh #8
1.) Use INT_STATUS_ macros for oInteractStatus (#911)
2.) Update bullet_bill.inc.c (#912)
3.) Make geo.c in levels nonconst to reduce diffs with gcc enhancement patch in future (#913)
4.) Improve process_level_music_dynamics (#915)
5.) add AVOID_UB define for fixing libultra aliasing. (#916)
6.) const hack to TARGET_N64 and tweak ld script (#918)
7.) Replace raw level/course numbers with defines (#919)
8.) Label all graph node flags. (#920)
9.) readme.md capitalization
10.) The Big Function PR (Part 5) (#910)
11.) Label hardware registers (#922)
12.) Match EU synthesis_process_note (#923)
13.) Some quick value changes (#909)
14.) Added sequence player defines (#926)
15.) Shindou diffs 2 [merge game.c and display.c, required for SH] (#927)
16.) Match synthesis_process_notes and use -sopt for synthesis.c (#928)
17.) Fix mips64-binutils for Fedora 31 and similar Linux distros (#931)
18.) Update first-diff.py to work with Shindou (#933)
19.) Labelled behavior_script.c (#929)
20.) shindou diffs up to level_update (#932)
21.) Update diff.py and diff_settings.py to work with SH (#936)
22.) Add some Shindou resources to extract_assets.py (#939)
23.) Label and document gd_math.c (#930)
24.) Label all of Mario's actions. (#941)
25.) Label all particles. (#940)
26.) Renamed death related warpBhvs (#942)
27.) Small Shindou differences (#945)
28.) match player_performed_grab_escape_action in all versions (#943)
29.) add main alignment (aglab2, #947)
30.) Match a bunch of fake EU matchings (#944)
31.) Shindou diffs round 4 (#937)
32.) Easy PAL fake matchings (#946)
33.) Merge object_helpers and object_helpers2 headers (#948)
34.) match cap_check_quicksand (#950)
35.) Shindou crash screen diffs (#938)
36.) Thread6 (#951)
37.) Correct IPL3 function and label addresses (#952)
38.) Add COMPILER flag for Makefile and add official mips gcc support. (#953)
39.) add align to sequence_00 (fixes gcc build) (#957)
40.) Fixed itty bitty typo (#959)
Refresh #7
1.) update README.md (#861)
2.) [eu] fix decompilation bugs in synthesis_process_note (#862)
3.) Label and document Snufit.inc.c (#863)
4.) Label and document Snufit.inc.c (#863)
5.) Match append_bubble_vertex_buffer, append_snowflake_vertex_buffer (#860)
6.) Compile audio/effects.c with -sopt (#870)
7.) Match handle_dialog_text_and_pages (#872)
8.) Remove improperly used LEVEL_SA define. (#875)
9.) Remove unused EU ASM files (#873)
10.) Shindou build flag support (#876)
11.) The Big Function PR (Part 1) (#864)
12.) "Re-document" file_select and star_select for EU (#877)
13.) Document paintings.c (#868)
14.) Minor interaction.c labelling/documentation. (#882)
15.) Match synthesis_execute, prepare_reverb_ring_buffer, func_eu_802e00d8 (#886)
16.) The Big Function PR (Part 2) (#874)
17.) Additional painting documentation (#883)
18.) Some EU audio labelling (#885)
19.) Bring synthesis_do_one_audio_update a bit closer to matching (#887)
20.) Misleading comment, this actually contols Bowser's init action (#889)
21.) Match synthesis_do_one_audio_update (#890)
22.) Remove unneeded if(1) in synthesis_do_one_audio_update (#891)
23.) Match synthesis_resample_and_mix_reverb (#893)
24.) Set LANG=C (#896)
25.) Match note_apply_headset_pan_effects (#897)
26.) Match play_sequence (#898)
27.) Match sequence_channel_enable (#899)
28.) Match sequence_player_process_sequence (#900)
29.) Match (eu) alloc_bank_or_seq (#901)
30.) Match alloc_bank_or_seq (#903)
31.) Update README.md (again)
32.) Documented behaviour/fish.inc.c & blue_fish.inc.c (#894)
33.) Labelled 4 behavior files, made object_helper functions consistent (#881)
34.) Add a make target for .copt (#902)
35.) The Big Function PR (Part 3) (#888)
36.) The Big Function PR (Part 4) (#906)
37.) Rename src/audio/memory.c -> heap.c (#907)
38.) Fix BBH texture (#908)
Refresh #6
1.) Make tools work on MinGW (#804)
2.) Document mario_misc (#628)
3.) add patch_libmalloc.py script to work around compiler crashes (#811)
4.) Label the coffins file. (#829)
5.) Convert enhancements into patches (#827)
6.) Document Tweester.inc.c (#840)
7.) EU OK and cleanup EU (#782)
Refresh #5
1.) mem_error_screen.inc.c updated for C (#775)
2.) updated patch_libultra_math to work directly on libultra.a (#781)
3.) Enhancement: Debug boxes (#783)
4.) Label effects MemoryPool (#784)
5.) Use full-width characters for JP text and rename mislabeled stuff (#772)
6.) Small asset extraction fixes (#785)
7.) Fix incremental asset extraction after the last PR (#790)
8.) Labelled behavior script commands, tidied up behavior scripts and ren…
9.) Document camera.c (#741)
10.) Fix a HMC texture asset (#795)
11.) Fix UB in angle conversion for paintings. Needed for pc-port. (#796)
12.) Fix PSS texture assets (#801)
13.) Fix some camera typos (#802)
Refresh #4
1.) Label screen_transition.c (#737)
2.) Revamp macros (#738)
3.) Simplify the cake makefile logic (#739)
4.) Move zbuffer to C (#742)
5.) Audio blob endian/64-bit fixes (#740)
6.) Ub fixes (#745)
7.) process_level_music_dynamics: slightly better stack and regalloc (#746)
8.) move level order specific definitions out to levels/level_defines.h (#743)
9.) Renamed some mislabelled sound effects (#748)
10.) Very minor white space fixes in Mario.c (#752)
11.) Renamed GRAVITY to OBJ_PHYSICS (#755)
12.) Use defined macros instead of literal values for interactions in behavior_data.c (#754)
13.) iQue Player console detection + full support (#756)
14.) Fix Goddard Mario head for little endian etc. (#757)
15.) Small bits of audio doc (#749)
16.) Update diff script (#750)
17.) Nicer format for course/dialog text, enum for dialog IDs (#753)
18.) first-diff: store most recent mtime during check (#759)
19.) Use Lights1 struct for light values (#760)
20.) Detect mips64-elf in diff.py (#761)
21.) Name display lists in gd renderer.c (#764)
22.) Document a variety of PU type crashes. (#765)
23.) Label object_behaviors. (#716)
24.) Update swoop.inc.c (#767)
25.) Label tilting_pyramid.inc.c (#768)
26.) Label red_coin.inc.c (#770)
27.) Use more level defines (#758)
28.) Named Mario actions 6, 7, and 8 and noted causes of hands-free holding glitch (#769)
Refresh #3
1.) Small bits of sound sample labelling
2.) Append 'b' to fopen calls in n64graphics to satisfy Windows
3.) Document synthesis.c and abi.h
4.) Remove gbi_old.h and use gbi.h instead for F3D_OLD
5.) Fix and change most values used by f3d commands
6.) Convert actors to C
7.) Make extract_assets.py fail on bad baserom
8.) Fix some (pragma-ignored) warnings
9.) Convert trig tables and data/ buffers into C
10.) Document intro behaviors and some of camera.c
11.) Match dma_sample_data
12.) Convert levels, bin, text, goddard_tex_dl to C
13.) Remove .bss size hardcoding
14.) Add mips64 fallback and alt dump option to diff.sh
15.) Convert behavior_data to C
16.) Get rid of the enum in behavior_data.
17.) Change more values used by f3d commands
18.) Document game/skybox.c
19.) Actors levels fixup
20.) Convert Mario animations to C (kind of)
22.) generate skybox data from 248x248 images
23.) 64-bit fixes
24.) Move demo data to C
25.) Change uintptr_t to GeoLayout for actors
26.) Move libc includes to include/libc/
Refresh #2a (hotfix)
Changes from Refresh #2:
1.) Fixed text Makefile dependencies"
Refresh #2
Changes from Refresh #1:
1.) Label src/game/behaviors/boo.inc.c
2.) Verify half of audio_defines.h
3.) Label ingame_menu.c and some dialog stuff
4.) Improve handle_dialog_text_and_pages EU non-matching
5.) Fix texture format for water splash/sparkle
6.) Merge ucode.bin and ucode_unk.bin
7.) 64-bit fixes
8.) [AUDIO] Match func_80316928
9.) Documented bug in Tuxie's mother's code
10.) [AUDIO] Slightly closer matching for process_level_music_dynamics
11.) Name channel scripts in sequence 0
12.) Nicer error message when sha1sum doesn't match
13.) Refactor object fields
14.) Document file_select.c
15.) Document star_select.c
16.) Add uncompressed string support to textconv
17.) Document main_menu geo and leveldata
18.) Document hud.c and rename char textures
19.) Correct gSPTextureRectangle values
20.) Linker script wildcard
- Fixes "undefined reference to x in discarded section y" linker errors.
- Also means that you no longer have to add linker script entries for source files.
21.) Reference qemu-irix package and add project structure
- Installing qemu-irix is as simple as installing the provided Debian package on the GitHub "Releases" tab
(https://github.com/n64decomp/qemu-irix).
- Old qemu-irix installs are unaffected by this change, and it is still possible to install qemu-irix with the older method.
Refresh #1
Changes from initial release:
1.) More README cleanups and documentation
2.) Fix .gitignore in tools/
3.) More README cleanups and corrections
4.) oUnk190 -> oInteractionSubtype
5.) Normalize line endings
6.) Replace bank_sets.s by sequences.json + build magic
7.) Fix tabledesign in .gitignore
8.) Cleaned and documented arrays in audio/
9.) Change minimum Python 3 requirement in README.md to 3.6
10.) Remove whitespace in ingame_menu.c, save_file.c, and star_select.c
11.) Documentation comment style fixed
12.) sm64.map -> sm64.version.map (ex: sm64.us.map)
13.) Decompile EU versions of HUD and obj behaviors
14.) Label ukiki.inc.c and ukiki_cage.inc.c
15.) Add missing OS header includes
16.) Fix alignment issue in model_ids.h
17.) A bunch of behavior changes:
a.) Made styles consistent with function names (ex: BehBehaviorLoop -> beh_behavior_loop)
b.) Split obj_behaviors_2.c into multiple .inc.c files in behaviors/
c.) bhvHauntedRoomCheck -> bhvCoffinManager
18.) Update README.md notes on WSL and add links
19.) Added tidy.sh and also bracing around single-line ifs and loops

View File

@@ -4,7 +4,6 @@
# These owners will be the default owners for everything in the repo.
* @Reonu
* @thecozies
* @gheskett
# Order is important. The last matching pattern has the most precedence.
# So if a pull request only touches javascript files, only these owners

View File

@@ -1,18 +1,17 @@
FROM ubuntu:22.04 as build
FROM ubuntu:18.04 as build
RUN apt-get update && \
apt-get install -y \
binutils-mips-linux-gnu \
bsdextrautils \
bsdmainutils \
build-essential \
gcc-mips-linux-gnu \
libcapstone-dev \
pkgconf \
python3
RUN mkdir /hackersm64
WORKDIR /hackersm64
ENV PATH="/hackersm64/tools:${PATH}"
RUN mkdir /sm64
WORKDIR /sm64
ENV PATH="/sm64/tools:${PATH}"
CMD echo 'Usage: docker run --rm -v ${PWD}:/hackersm64 hackersm64 make VERSION=us -j4\n' \
'See https://github.com/HackerN64/HackerSM64/blob/master/README.md for more information'
CMD echo 'usage: docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=us -j4\n' \
'see https://github.com/n64decomp/sm64/blob/master/README.md for advanced usage'

2482
Doxyfile Normal file

File diff suppressed because it is too large Load Diff

60
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,60 @@
pipeline {
agent any
stages {
stage('Build Tools') {
steps {
sh 'make -j4 -C tools/'
}
}
stage('Extract Assets') {
steps {
sh 'ln -s "$ROMS_DIR/Super Mario 64 (J) [!].z64" baserom.jp.z64'
sh 'ln -s "$ROMS_DIR/Super Mario 64 (U) [!].z64" baserom.us.z64'
sh 'ln -s "$ROMS_DIR/Super Mario 64 (E) (M3) [!].z64" baserom.eu.z64'
sh 'ln -s "$ROMS_DIR/Super Mario 64 - Shindou Edition (J) [!].z64" baserom.sh.z64'
// verify no assets were committed to repo
sh '[ -z "$(find {actors,levels,textures}/ -name \'*.png\')" ]'
sh '[ -z "$(find assets/ -name \'*.m64\' -or \'*.bin\')" ]'
sh './extract_assets.py jp us eu sh'
}
}
stage('Build U Source') {
steps {
sh 'make -j4 VERSION=us VERBOSE=1 COLOR=0'
}
}
stage('Build S Source') {
steps {
sh 'make -j4 VERSION=sh VERBOSE=1 COLOR=0'
}
}
stage('Build E Source') {
steps {
sh 'make -j4 VERSION=eu VERBOSE=1 COLOR=0'
}
}
stage('Build J Source') {
steps {
sh 'make -j4 VERSION=jp VERBOSE=1 COLOR=0'
}
}
stage('Test Enhancements') {
steps {
sh '''
set -e
for f in enhancements/*.patch
do
git clean -fd .
git checkout -- .
echo 'y' | tools/apply_patch.sh "$f"
make -j4 VERSION=us COMPARE=0 VERBOSE=1
done
'''
}
}
}
environment {
QEMU_IRIX = credentials('qemu-irix')
ROMS_DIR = credentials('roms')
}
}

401
Makefile

File diff suppressed because it is too large Load Diff

View File

@@ -39,8 +39,6 @@ ACTOR_GROUPS := \
LEVEL_FILES := $(addsuffix leveldata,$(LEVEL_DIRS))
LEVEL_ELF_FILES := $(foreach level_dir,$(LEVEL_DIRS),$(BUILD_DIR)/levels/$(level_dir)leveldata.elf)
SEG_FILES := \
$(SEGMENTS:%=$(BUILD_DIR)/bin/%.elf) \
$(ACTOR_GROUPS:%=$(BUILD_DIR)/actors/%.elf) \

View File

@@ -1,44 +1,23 @@
# ![](https://i.imgur.com/CeOukzk.gif) HackerSM64 ![](https://i.imgur.com/s0LUbTo.gif)
**AFTER CLONING THE REPO, CHECK OUT THE `include/config` FOLDER BEFORE ANYTHING ELSE! THERE'S A LOT OF STUFF IN THIS REPO THAT CAN BE TOGGLED THERE.**
**[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
This repo requires BOTH a US ROM and a JP ROM in order to build. Place baserom.us.z64 in the repo as usual and ALSO include baserom.jp.z64.
This repo needs BOTH an US ROM and a JP ROM in order to build. Place baserom.us.z64 in the repo as usual and ALSO place baserom.jp.z64
This repo needs gcc in order to be able to build it. To install it, run `sudo apt install gcc-mips-linux-gnu`
This is a fork of the ultrasm64 repo by CrashOveride which includes the following commonly used patches (patches marked with `*` are toggleable in the config files):
**Credits**
- **ArcticJaguar725**: Most audio configuration and layout changes, colored ia4 text, floombas, various bugfixes, and more
- **CowQuack**: Adjustable skybox sizes, area-specific skybox function
- **thecozies**: Water surface types, general maintenance, and time
- **MrComit**: General use object defines, JUMP_KICK_FIX
- **aglab2**: Bugfixes (particularly puppycam), refactor stuff
- **someone2639**: math.s and crash screen disam, stack trace, map packing, shiftable segments 2, S2DEX engine
- **Arthurtilly**: Platform Displacement 2
- **Fazana**: PuppyLib, ucode swapping, audio load time optimisations (with Arctic), general hacker qol improvements, visual debug
- **Reonu**: Starting the project/repo, widescreen, reonucam, various defines for hacker QoL
- **JoshDuMan**: Decomp guy, general assistance
- **Arceveti**: Silhouette, shadow optimisation, better hanging, breath meter, 4 controller support
- **axollyon**: Console testing, bugfixes, idea-guying, and had a hand in silhouettes
- **Wiseguy**: World scale reimplementation, silhouette, graph node optimisations, instant input patch, cake screen fix, segmented code support, and various optimizations/fixes
- **Kaze**: Graph node optimisations, automatic optimal collision distance
- **Pyro Jay**: Texture improvements, repo banner art, some QoL stuff
- **CrashOveride**: creating the [ultrasm64](https://github.com/CrashOveride95/ultrasm64) repo
- **falcobuster**: Original coordinate overflow fix (world scale), ASM version of extended bounds, emulator detector
- **anonymous_moose**: porting falco's extended bounds to decomp
- **tuxlovesyou**: `LOAD_MIO0_TEXTURE` macro and moral support
- **devwizard**: the PJ64 pre-v3.0 detection part of the emulator detector
Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
This is a fork of the ultrasm64 repo by CrashOveride which includes the following commonly used patches (patches marked with `*` are toggleable in `config.h`):
**Lighting Engine by Wiseguy**
- Lighting Engine is available on a separate branch ([base/lighting-engine](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine)). Instructions on how to use it are in the readme of that branch.
- Lighting Engine is available on a separate branch `(lighting-engine)`. Instructions on how to use it are in the readme of that branch.
- Alternatively, the main repo has `Puppylights` available, which is a more lightweight, but limited lighting library intended to be used to modify existing light properties. You can look at `puppylights.c` to find out how to use it.
**Puppycam**
- Puppycam is available on the master branch now, you can toggle it in `config/config_camera.h`. *
- Puppycam is available on the master branch now, you can toogle it in config.h. *
**Collision:**
- Slope fix and exposed ceilings fix
@@ -46,11 +25,11 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
- Jump kick fix *
- Configurable wallkick angle, in degrees *
- Possibility of disabling BLJs *
- Hanging fix (Mario can grab hangable ceilings from any state, instead of only jump or double jump) *
- Hanging fix (mario can grab hangable ceilings from any state, instead of only jump or double jump) *
- Increased maximum pole length (The game will read bparam1 and bparam2 together as a single value, so you can have a very long pole) *
- Platform Displacement 2 by Arthurtilly *
- Water Surface Type patch by thecozies
- Better wall collision with rounded corners by FramePerfection, merged by Cheezepin & Arceveti
- Better Wall Collision With Rounded Corners by FramePerfection, merged by Cheezepin & Arceveti
- Automatically calculate the optimal collision distance for an object based on its vertices, by Kaze *
**Common Hack Changes:**
@@ -61,9 +40,10 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
- Toggle to disable fall damage and the fall damage sound *
- Nonstop stars *
- Removed course-specific camera processing *
- You can increase the number of frames that you have to perform a firsty *
- Ability to set Mario's movement speed when hanging from a ceiling *
- Tighter hanging controls (Mario will face the direction of the analog stick directly while hanging from a ceiling) *
- reonucam3: custom camera by Reonu. This is included as a .patch file in the enhancements folder, you need to apply it if you want this camera.
- Tighter hanging controls (mario will face the direction of the analog stick directly while hanging from a ceiling) *
- reonucam3: custom camera by me. This is included as a .patch file in the enhancements folder, you need to apply it if you want this camera.
This video shows a rundown of the features: https://youtu.be/TQNkznX9Z3k
- Ability to disable Mario getting suck in snow or sand
@@ -72,56 +52,56 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
- Debug mode: prints mario's coordinates, angle and speed, and a FPS counter.
- Automatic console/emulator detection. If emulator is detected, LODs are disabled. *
- Ability to configure whether there's a 100 coin star at all and how many coins are required to spawn it *
- Ability to easily change the warp that EXIT COURSE takes you to via `config/config_menu.h`, or disable it entirely. *
- 16 bit model IDs by someone2639. This means you can have up to 65536 models (lol). You can set the maximum number of model IDs in `config/config_game.h`.
- Ability to easily change the warp that EXIT COURSE takes you to via config.h, or disable it entirely. *
- 16 bit model IDs by someone2639. This means you can have up to 65536 models (lol). You can set the maximum number of model IDs in `config.h`.
- Apply_patch.sh improved
- Removed the ifdef hell in `file_select.c` and `ingame_menu.c`
- Added Blake's custom function for object model stuff: `obj_set_model` and `obj_has_model`
- Added function to get the model ID from an object: `obj_get_model_id` (by Arceveti)
- The "far" variable is now u16, allowing you to increase the farclip (the max distance at which geometry is rendered). However, when increasing the farclip, make sure to increase the nearclip by the same ratio, or rendering will break on console and LLE plugins.
- Many general use defines for object struct members, meant for use in custom object behaviors. Check `include/object_fields.h` for more info on this. (By MrComit)
- Many general use defines for object struct members, meant for use in custom object behaviors. Check `object_fields.h` for more info on this. (By MrComit)
- Included `actors/group0.c` in `behavior_data.c`
- The internal ROM name is now set with a define in `config/config_rom.h` to make it simpler
- There is a `gEmulator` variable to detect console or specific emulators and emulator versions
- The internal ROM name is now set with a define in `config.h` to make it simpler
- There is a `gIsConsole` variable that is 1 when running on console and 0 when running on emulator. This way you can wrap your code in a console check.
- Expanded audio heap allows for a larger concurrent note count and the importing of more m64 sequences and sound banks (By ArcticJaguar725) *
- You can set a test level in `config/config_debug.h` in order to boot straight into it, so you can quickly test the level you're working on. *
- Allow all surfaces in the game to have a `force` parameter. Activating this doesn't REQUIRE you to set `force` for every surface: If you don't set, it will default to 0x0000 rather than crashing. Increases RAM usage of collision. *
- You can set a test level in config.h in order to boot straight into it, so you can quickly test the level you're working on. *
- Allows all surfaces in the game to have a `force` parameter. Activating this doesn't REQUIRE you to set `force` for every surface: If you don't set, it will default to 0x0000 rather than crashing. Increases RAM usage of collision. *
- The clown font includes the entire English alphabet.
- Colored ia4 text support. Format: `"@XXXXXXXX[YOUR TEXT]@--------"` (By ArcticJaguar725)
- Example Text: `"@FF0000FFRED @00FF00FFGREEN @0000FFFFBLUE @FFFFFF00INVISIBLE @--------NORMAL"`
- NOTE: It is not mandatory to reset the text color with `"@--------"`, but text will need to be recolored each time it scrolls in a dialog box, or the custom color will reset.
- Toggle visiblity of collision surfaces and object hitboxes with Visual Surface Debug. `config/config_debug.h` has VISUAL_DEBUG which can be turned on to enable this feature.
- Toggle visiblity of collision surfaces and object hitboxes with Visual Surface Debug. `config.h` has VISUAL_DEBUG which can be turned on to enable this feature.
- Workaround for infinite death loops caused by using the wrong warp type for death warps. Mario's HP will be restored when being warped to any warp if (and only if) he was warped while dead. *
**Other Bugfixes:**
- Castle music fix (fixes the castle music sometimes triggering after getting a dialog) *
- bparam4 fix (the game no longer uses bparam4 to check if an object is Mario and therefore you can safely use it)
- Castle music fix (Fixes the castle music sometimes triggering after getting a dialog) *
- bparam4 fix (the game no longer uses bparam4 to check if an object is mario and therefore you can safely use it)
- Instant warp offset fix (makes the instant warp offset work even when warping to a different area) *
- haveyourcake, also known as cake screen fix. Made by Wiseguy and ported/PR'd by Cheezepin
- Tree particle fix (Whether a tree uses snow particles or not is decided via the model IDs instead of the course number) *
- Adjustable world scale. You can change the geometry scaling of your level, which allow large levels to render correctly on console and LLE emulators while not hurting anything on HLE plugins.
- Coordinate overflow fix by falcobuster. Your levels will render correctly on console and LLE emulators even when using 2x or 4x bounds, while not hurting anything on HLE plugins. *This is automatic now, you don't have to set WORLD_SCALE manually.*
- A couple vanilla texture fixes
- Smoke fix (the smoke texture uses the correct texture format)
**Neat Misc. Changes:**
- Instant Input patch by Wiseguy (Removes all input lag caused by plugins supporting framebuffer)
- This means that you'll have to do your framebuffer effects on buffer 0 for emulator, but NOT for console. You can use the `gEmulator` variable to check for console when doing your framebuffer effects.
- This means that you'll have to do your framebuffer effects on buffer 0 for emulator, but NOT for console. You can use the `gIsConsole` variable to check for console when doing your framebuffer effects.
- Widescreen (16:9) support toggleable by pressing `L` in the pause menu. *
- S2DEX engine by someone2639! To use it, compile with `make TEXT_ENGINE=s2dex_text_engine` or just set `TEXT_ENGINE` to `s2dex_text_engine` in the makefile.
- ia8 (64x64) coins, the vanilla coin texture is upgraded to accomodate. *
- ia8 (64x64) 30 FPS coins (Textures by InTheBeef, cleaned up by Arceveti). *
- Floombas! Simply just retextured goombas with customizable behaviors (does not overwrite standard goombas). *
- ia8 coins (64x64), the vanilla coin texture is upgraded to accomodate. *
- ia8 30 FPS (64x64) coins (Textures by InTheBeef, cleaned up by Arceveti). *
- Floombas! Simply just retextured goombas with custom behaviors (does not overwrite standard goombas). *
- HD texture support for intro splash screen (with floombas if enabled). *
- Mario's silhouette is shown when behind most surfaces (By Frame#5375, Axollyon, AloXado320, Wiseguy, Arceveti) *
- Skybox size modifier. You can have 2x, 3x and 4x size skyboxes (you can select the skybox size in `config/config_graphics.h`.) Please note that this might affect console performance, especially 4x mode. 2x or 3x mode is recommended if aiming for console. By CowQuack *
- Skybox size modifier. You can have 2x, 3x and 4x size skyboxes (you can select the skybox size in `config.h`.) Please note that this might affect console performance, especially 4x mode. 2x or 3x mode is recommended if aiming for console. By CowQuack *
- You can set the black border size to different values for console and emulator. It's set to 0 by default for both. *
- This repo supports a much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general. See `audio/synthesis.c` for more details and configuration info. (By ArcticJaguar725) *
- This repo supports much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general. See `audio/synthesis.c` for more configuration info. (By ArcticJaguar725) *
- Fazana's "puppyprint" text engine. *
- Use `print_small_text` to print normal text. The two last params are aligment and how many characters to print (-1 means PRINT_ALL).
- Use `render_multi_image` to draw large texture rectangles consisting of multiple images on the screen.
- More info in `puppyprint.c`
- Wiseguy's Farcall TLB mapping allows to store executable code inside uncompressed segments, that can be loaded and ran as needed, instead of it having to be loaded at all times. See `farcall.h` in the include folder for instructions and details.
- Red Coin Stars now support up to 99 red coins! In addition, multi-area red coin missions can now be created by setting the 2nd behavior paramater of the red coin star to the number of reds required for the star to spawn.
# UltraSM64
- This repo contains a full decompilation of Super Mario 64 (J), (U), (E), and (SH).
@@ -135,7 +115,7 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
- It has been patched with someone2639's shiftable segments patch
- Wiseguy's instant input patch has been added to allow for less input lag on emulation (Does not affect console)
This does mean that any framebuffer effects will have to be done on buffer 0 if targeting emulators
- Automatic console and emulator detection: Use the `gEmulator` variable to wrap your code in an emulator check.
- Automatic console and emulator detection: Use the `gIsConsole` variable to wrap your code in an emulator check.
- Separate defines for emulator and console black border height.
- Getting HVQM FMV support to work with the game is WIP.

View File

@@ -1 +0,0 @@
v2.2.0

View File

@@ -1,10 +1,22 @@
// Birds
// 0x05000000
static const Lights1 birds_seg5_lights_05000000 = gdSPDefLights1(
0x07, 0x24, 0x2c,
0x1d, 0x91, 0xb0, 0x28, 0x28, 0x28
);
// 0x05000018
static const Lights1 birds_seg5_lights_05000018 = gdSPDefLights1(
0x33, 0x27, 0x0d,
0xce, 0x9d, 0x34, 0x28, 0x28, 0x28
);
// 0x05000030
static const Lights1 birds_seg5_lights_05000030 = gdSPDefLights1(
0x3f, 0x3f, 0x3f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05000048
static const Vtx birds_seg5_vertex_05000048[] = {
@@ -126,8 +138,8 @@ static const Vtx birds_seg5_vertex_050004C8[] = {
// 0x05000528 - 0x05000598
const Gfx birds_seg5_dl_05000528[] = {
gsSPLightColor(LIGHT_1, 0x1d91b0ff),
gsSPLightColor(LIGHT_2, 0x7242cff),
gsSPLight(&birds_seg5_lights_05000000.l, 1),
gsSPLight(&birds_seg5_lights_05000000.a, 2),
gsSPVertex(birds_seg5_vertex_05000048, 9, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 4, 3, 2, 0x0, 5, 3, 6, 0x0),
@@ -139,16 +151,16 @@ const Gfx birds_seg5_dl_05000528[] = {
// 0x05000598 - 0x05000600
const Gfx birds_seg5_dl_05000598[] = {
gsSPLightColor(LIGHT_1, 0x1d91b0ff),
gsSPLightColor(LIGHT_2, 0x7242cff),
gsSPLight(&birds_seg5_lights_05000000.l, 1),
gsSPLight(&birds_seg5_lights_05000000.a, 2),
gsSPVertex(birds_seg5_vertex_050000D8, 3, 0),
gsSP1Triangle( 0, 1, 2, 0x0),
gsSPLightColor(LIGHT_1, 0x1d91b0ff),
gsSPLightColor(LIGHT_2, 0x7242cff),
gsSPLight(&birds_seg5_lights_05000000.l, 1),
gsSPLight(&birds_seg5_lights_05000000.a, 2),
gsSPVertex(birds_seg5_vertex_05000108, 3, 0),
gsSP1Triangle( 0, 1, 2, 0x0),
gsSPLightColor(LIGHT_1, 0x1d91b0ff),
gsSPLightColor(LIGHT_2, 0x7242cff),
gsSPLight(&birds_seg5_lights_05000000.l, 1),
gsSPLight(&birds_seg5_lights_05000000.a, 2),
gsSPVertex(birds_seg5_vertex_05000138, 3, 0),
gsSP1Triangle( 0, 1, 2, 0x0),
gsSPEndDisplayList(),
@@ -156,8 +168,8 @@ const Gfx birds_seg5_dl_05000598[] = {
// 0x05000600 - 0x05000670
const Gfx birds_seg5_dl_05000600[] = {
gsSPLightColor(LIGHT_1, 0x1d91b0ff),
gsSPLightColor(LIGHT_2, 0x7242cff),
gsSPLight(&birds_seg5_lights_05000000.l, 1),
gsSPLight(&birds_seg5_lights_05000000.a, 2),
gsSPVertex(birds_seg5_vertex_05000168, 9, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 0, 3, 4, 0x0, 5, 3, 6, 0x0),
@@ -169,8 +181,8 @@ const Gfx birds_seg5_dl_05000600[] = {
// 0x05000670 - 0x050007E0
const Gfx birds_seg5_dl_05000670[] = {
gsSPLightColor(LIGHT_1, 0x1d91b0ff),
gsSPLightColor(LIGHT_2, 0x7242cff),
gsSPLight(&birds_seg5_lights_05000000.l, 1),
gsSPLight(&birds_seg5_lights_05000000.a, 2),
gsSPVertex(birds_seg5_vertex_050001F8, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 1, 9, 10, 0x0),
@@ -186,16 +198,16 @@ const Gfx birds_seg5_dl_05000670[] = {
gsSP1Triangle( 7, 6, 15, 0x0),
gsSPVertex(birds_seg5_vertex_050003F8, 3, 0),
gsSP1Triangle( 0, 1, 2, 0x0),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x3f3f3fff),
gsSPLight(&birds_seg5_lights_05000030.l, 1),
gsSPLight(&birds_seg5_lights_05000030.a, 2),
gsSPVertex(birds_seg5_vertex_05000428, 10, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 0, 7, 0x0, 7, 8, 6, 0x0),
gsSP2Triangles( 9, 7, 2, 0x0, 2, 7, 0, 0x0),
gsSP2Triangles( 2, 3, 9, 0x0, 7, 9, 8, 0x0),
gsSP1Triangle( 5, 4, 1, 0x0),
gsSPLightColor(LIGHT_1, 0xce9d34ff),
gsSPLightColor(LIGHT_2, 0x33270dff),
gsSPLight(&birds_seg5_lights_05000018.l, 1),
gsSPLight(&birds_seg5_lights_05000018.a, 2),
gsSPVertex(birds_seg5_vertex_050004C8, 6, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 4, 0x0),
gsSP1Triangle( 1, 3, 5, 0x0),

View File

@@ -1,4 +1,4 @@
// unreferenced
// unreferenced animation
// 0x0500616C
const struct Animation *const blargg_seg5_anims_0500616C[] = {
&blargg_seg5_anim_05006154,

View File

@@ -1,14 +1,34 @@
// Blargg (Unused)
// Unreferenced light group
UNUSED static const Lights1 blargg_lights_unused = gdSPDefLights1(
0x3f, 0x3f, 0x3f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05004740
static const Lights1 blargg_seg5_lights_05004740 = gdSPDefLights1(
0x3f, 0x0d, 0x05,
0xff, 0x36, 0x16, 0x28, 0x28, 0x28
);
// 0x05004758
static const Lights1 blargg_seg5_lights_05004758 = gdSPDefLights1(
0x2c, 0x2c, 0x2c,
0xb2, 0xb2, 0xb2, 0x28, 0x28, 0x28
);
// 0x05004770
static const Lights1 blargg_seg5_lights_05004770 = gdSPDefLights1(
0x3f, 0x0a, 0x06,
0xff, 0x2a, 0x1a, 0x28, 0x28, 0x28
);
// 0x05004788
static const Lights1 blargg_seg5_lights_05004788 = gdSPDefLights1(
0x3f, 0x0b, 0x07,
0xff, 0x2e, 0x1f, 0x28, 0x28, 0x28
);
// 0x050047A0
static const Vtx blargg_seg5_vertex_050047A0[] = {
@@ -363,8 +383,8 @@ static const Vtx blargg_seg5_vertex_050057E0[] = {
// 0x050058D0 - 0x05005A60
const Gfx blargg_seg5_dl_050058D0[] = {
gsSPLightColor(LIGHT_1, 0xb2b2b2ff),
gsSPLightColor(LIGHT_2, 0x2c2c2cff),
gsSPLight(&blargg_seg5_lights_05004758.l, 1),
gsSPLight(&blargg_seg5_lights_05004758.a, 2),
gsSPVertex(blargg_seg5_vertex_050047A0, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
@@ -378,8 +398,8 @@ const Gfx blargg_seg5_dl_050058D0[] = {
gsSPVertex(blargg_seg5_vertex_050049A0, 8, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSPLightColor(LIGHT_1, 0xff3616ff),
gsSPLightColor(LIGHT_2, 0x3f0d05ff),
gsSPLight(&blargg_seg5_lights_05004740.l, 1),
gsSPLight(&blargg_seg5_lights_05004740.a, 2),
gsSPVertex(blargg_seg5_vertex_05004A20, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
@@ -398,8 +418,8 @@ const Gfx blargg_seg5_dl_050058D0[] = {
// 0x05005A60 - 0x05005D00
const Gfx blargg_seg5_dl_05005A60[] = {
gsSPLightColor(LIGHT_1, 0xb2b2b2ff),
gsSPLightColor(LIGHT_2, 0x2c2c2cff),
gsSPLight(&blargg_seg5_lights_05004758.l, 1),
gsSPLight(&blargg_seg5_lights_05004758.a, 2),
gsSPVertex(blargg_seg5_vertex_05004BE0, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
@@ -413,8 +433,8 @@ const Gfx blargg_seg5_dl_05005A60[] = {
gsSPVertex(blargg_seg5_vertex_05004DE0, 8, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSPLightColor(LIGHT_1, 0xff2a1aff),
gsSPLightColor(LIGHT_2, 0x3f0a06ff),
gsSPLight(&blargg_seg5_lights_05004770.l, 1),
gsSPLight(&blargg_seg5_lights_05004770.a, 2),
gsSPVertex(blargg_seg5_vertex_05004E60, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 2, 6, 7, 0x0, 2, 7, 8, 0x0),
@@ -452,8 +472,8 @@ const Gfx blargg_seg5_dl_05005A60[] = {
// 0x05005D00 - 0x05005EB8
const Gfx blargg_seg5_dl_05005D00[] = {
gsSPLightColor(LIGHT_1, 0xff2e1fff),
gsSPLightColor(LIGHT_2, 0x3f0b07ff),
gsSPLight(&blargg_seg5_lights_05004788.l, 1),
gsSPLight(&blargg_seg5_lights_05004788.a, 2),
gsSPVertex(blargg_seg5_vertex_050053E0, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),

View File

@@ -1,6 +1,10 @@
// Blue Coin Switch
// 0x08000000
static const Lights1 blue_coin_switch_seg8_lights_08000000 = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x08000018
ALIGNED8 static const Texture blue_coin_switch_seg8_texture_08000018[] = {
@@ -45,8 +49,8 @@ const Gfx blue_coin_switch_seg8_dl_08000D58[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, blue_coin_switch_seg8_texture_08000018),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x7f7f7fff),
gsSPLight(&blue_coin_switch_seg8_lights_08000000.l, 1),
gsSPLight(&blue_coin_switch_seg8_lights_08000000.a, 2),
gsSPVertex(blue_coin_switch_seg8_vertex_08000C18, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 7, 5, 0x0),

View File

@@ -1,6 +1,10 @@
// Blue Fish
// 0x0301B5C8
static const Lights1 blue_fish_seg3_lights_0301B5C8 = gdSPDefLights1(
0x3f, 0x3f, 0x3f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x0301B5E0
ALIGNED8 static const Texture blue_fish_seg3_texture_0301B5E0[] = {
@@ -30,8 +34,8 @@ const Gfx blue_fish_seg3_dl_0301BEC0[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, blue_fish_seg3_texture_0301B5E0),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x3f3f3fff),
gsSPLight(&blue_fish_seg3_lights_0301B5C8.l, 1),
gsSPLight(&blue_fish_seg3_lights_0301B5C8.a, 2),
gsSPVertex(blue_fish_seg3_vertex_0301BDE0, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 4, 0x0),
gsSP2Triangles( 5, 0, 3, 0x0, 2, 6, 0, 0x0),
@@ -82,8 +86,8 @@ const Gfx blue_fish_seg3_dl_0301C0A8[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, blue_fish_seg3_texture_0301B5E0),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x3f3f3fff),
gsSPLight(&blue_fish_seg3_lights_0301B5C8.l, 1),
gsSPLight(&blue_fish_seg3_lights_0301B5C8.a, 2),
gsSPVertex(blue_fish_seg3_vertex_0301C018, 9, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 4, 0x0),
gsSP2Triangles( 4, 5, 2, 0x0, 2, 5, 6, 0x0),

View File

@@ -168,10 +168,22 @@ const Gfx bobomb_seg8_dl_08022D78[] = {
};
// 0x08022DE8
static const Lights1 bobomb_seg8_lights_08022DE8 = gdSPDefLights1(
0x3f, 0x26, 0x04,
0xff, 0x99, 0x12, 0x28, 0x28, 0x28
);
// 0x08022E00
static const Lights1 bobomb_seg8_lights_08022E00 = gdSPDefLights1(
0x2c, 0x2c, 0x2c,
0xb2, 0xb2, 0xb2, 0x28, 0x28, 0x28
);
// Unreferenced light group
UNUSED static const Lights1 bobomb_lights_unused = gdSPDefLights1(
0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x28, 0x28, 0x28
);
// 0x08022E30
static const Vtx bobomb_seg8_vertex_08022E30[] = {
@@ -267,8 +279,8 @@ static const Vtx bobomb_seg8_vertex_08023190[] = {
// 0x08023270 - 0x08023378
const Gfx bobomb_seg8_dl_08023270[] = {
gsSPLightColor(LIGHT_1, 0xff9912ff),
gsSPLightColor(LIGHT_2, 0x3f2604ff),
gsSPLight(&bobomb_seg8_lights_08022DE8.l, 1),
gsSPLight(&bobomb_seg8_lights_08022DE8.a, 2),
gsSPVertex(bobomb_seg8_vertex_08022E30, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
@@ -290,8 +302,8 @@ const Gfx bobomb_seg8_dl_08023270[] = {
// 0x08023378 - 0x08023480
const Gfx bobomb_seg8_dl_08023378[] = {
gsSPLightColor(LIGHT_1, 0xff9912ff),
gsSPLightColor(LIGHT_2, 0x3f2604ff),
gsSPLight(&bobomb_seg8_lights_08022DE8.l, 1),
gsSPLight(&bobomb_seg8_lights_08022DE8.a, 2),
gsSPVertex(bobomb_seg8_vertex_08022F70, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
@@ -313,8 +325,8 @@ const Gfx bobomb_seg8_dl_08023378[] = {
// 0x08023480 - 0x08023528
const Gfx bobomb_seg8_dl_08023480[] = {
gsSPLightColor(LIGHT_1, 0xb2b2b2ff),
gsSPLightColor(LIGHT_2, 0x2c2c2cff),
gsSPLight(&bobomb_seg8_lights_08022E00.l, 1),
gsSPLight(&bobomb_seg8_lights_08022E00.a, 2),
gsSPVertex(bobomb_seg8_vertex_080230B0, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 0, 3, 0x0, 4, 3, 5, 0x0),

View File

@@ -1,6 +1,10 @@
// Bomb
// 0x06057AA8
static const Lights1 bomb_seg6_lights_06057AA8 = gdSPDefLights1(
0x3f, 0x3f, 0x3f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x06057AC0
ALIGNED8 static const Texture bomb_seg6_texture_06057AC0[] = {
@@ -169,8 +173,8 @@ const Gfx bomb_seg6_dl_0605A8A8[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bomb_seg6_texture_06059AC0),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x3f3f3fff),
gsSPLight(&bomb_seg6_lights_06057AA8.l, 1),
gsSPLight(&bomb_seg6_lights_06057AA8.a, 2),
gsSPVertex(bomb_seg6_vertex_0605A340, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 11, 0x0),

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