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
583 changed files with 25550 additions and 39620 deletions

2
.gitignore vendored
View File

@@ -99,10 +99,8 @@ build/*
!/textures/segment2/shadow_quarter_square_64.ia8.png
# libultra
!/lib/**/*.o
!/lib/*.a
lib/libs2d_engine.a
!/lib/gcclib/*.a

View File

@@ -6,7 +6,6 @@
"${workspaceFolder}/include/n64/**",
"${workspaceFolder}/include/**",
"${workspaceFolder}/textures/**",
"${workspaceFolder}/build/us_n64/**",
"${workspaceFolder}/**"
],
"forcedInclude": [

179
Makefile
View File

@@ -6,9 +6,9 @@ include util.mk
default: all
# Preprocessor definitions
DEFINES :=
DEFINES :=
SRC_DIRS :=
SRC_DIRS :=
USE_DEBUG := 0
#==============================================================================#
@@ -22,7 +22,7 @@ USE_DEBUG := 0
TARGET_N64 ?= 1
# CONSOLE - selects the console to target
# bb - Targets the iQue Player (codenamed BB)
# bb - Targets the iQue Player (codenamed BB)
# n64 - Targets the N64
CONSOLE ?= n64
$(eval $(call validate-option,CONSOLE,n64 bb))
@@ -37,24 +37,24 @@ else ifeq ($(CONSOLE),bb)
endif
# COMPILER - selects the C compiler to use
# gcc - uses the GNU C Compiler
# gcc - uses the GNU C Compiler
# clang - uses clang C/C++ frontend for LLVM
COMPILER ?= gcc
$(eval $(call validate-option,COMPILER,gcc clang))
# LIBGCCDIR - selects the libgcc configuration for checking for dividing by zero
# trap - GCC default behavior, uses teq instructions which some emulators don't like
# LIBGCCDIR - selects the libgcc configuration for checking for dividing by zero
# trap - GCC default behavior, uses teq instructions which some emulators don't like
# divbreak - this is similar to IDO behavior, and is default.
# nocheck - never checks for dividing by 0. Technically fastest, but also UB so not recommended
# nocheck - never checks for dividing by 0. Technically fastest, but also UB so not recommended
LIBGCCDIR ?= divbreak
$(eval $(call validate-option,LIBGCCDIR,trap divbreak nocheck))
# SAVETYPE - selects the save type
# eep4k - uses EEPROM 4kbit
# eep4k - uses EEPROM 4kbit
# eep16k - uses EEPROM 16kbit (There aren't any differences in syntax, but this is provided just in case)
# sram - uses SRAM 256Kbit
# sram - uses SRAM 256Kbit
SAVETYPE ?= eep4k
$(eval $(call validate-option,SAVETYPE,eep4k eep16k sram))
ifeq ($(SAVETYPE),eep4k)
@@ -67,6 +67,25 @@ endif
DEFINES += NO_ERRNO_H=1 NO_GZIP=1
COMPRESS ?= rnc1
$(eval $(call validate-option,COMPRESS,mio0 yay0 gzip rnc1 rnc2 uncomp))
ifeq ($(COMPRESS),gzip)
DEFINES += GZIP=1
else ifeq ($(COMPRESS),rnc1)
DEFINES += RNC1=1
else ifeq ($(COMPRESS),rnc2)
DEFINES += RNC2=1
else ifeq ($(COMPRESS),yay0)
DEFINES += YAY0=1
else ifeq ($(COMPRESS),mio0)
DEFINES += MIO0=1
else ifeq ($(COMPRESS),uncomp)
DEFINES += UNCOMPRESSED=1
endif
GZIPVER ?= std
$(eval $(call validate-option,GZIPVER,std libdef))
# VERSION - selects the version of the game to build
# jp - builds the 1996 Japanese version
# us - builds the 1996 North American version
@@ -120,7 +139,7 @@ LIBRARIES := nustd hvqm2 z goddard
# s2dex_text_engine - Text Engine by someone2639
TEXT_ENGINE := none
ifeq ($(TEXT_ENGINE), s2dex_text_engine)
DEFINES += S2DEX_GBI_2=1 S2DEX_TEXT_ENGINE=1
DEFINES += S2DEX_GBI_2=1 S2DEX_TEXT_ENGINE=1
LIBRARIES += s2d_engine
DUMMY != make -C src/s2d_engine COPY_DIR=$(shell pwd)/lib/
endif
@@ -128,78 +147,15 @@ endif
LINK_LIBRARIES = $(foreach i,$(LIBRARIES),-l$(i))
#==============================================================================#
# Optimization flags #
#==============================================================================#
# Default non-gcc opt flags
DEFAULT_OPT_FLAGS = -Ofast
# Main opt flags
GCC_MAIN_OPT_FLAGS = \
-Ofast \
--param case-values-threshold=20 \
--param max-completely-peeled-insns=10 \
--param max-unrolled-insns=10 \
-finline-limit=1 \
-freorder-blocks-algorithm=simple \
-ffunction-sections \
-fdata-sections
# Surface Collision
GCC_COLLISION_OPT_FLAGS = \
-Ofast \
--param case-values-threshold=20 \
--param max-completely-peeled-insns=100 \
--param max-unrolled-insns=100 \
-finline-limit=0 \
-fno-inline \
-freorder-blocks-algorithm=simple \
-ffunction-sections \
-fdata-sections \
-falign-functions=32
# Math Util
GCC_MATH_UTIL_OPT_FLAGS = \
-Ofast \
-fno-unroll-loops \
-fno-peel-loops \
--param case-values-threshold=20 \
-ffunction-sections \
-fdata-sections \
-falign-functions=32
# - setting any sort of -finline-limit has shown to worsen performance with math_util.c,
# lower values were the worst, the higher you go - the closer performance gets to not setting it at all
# Rendering graph node
GCC_GRAPH_NODE_OPT_FLAGS = \
-Ofast \
--param case-values-threshold=20 \
--param max-completely-peeled-insns=100 \
--param max-unrolled-insns=100 \
-finline-limit=0 \
-freorder-blocks-algorithm=simple \
-ffunction-sections \
-fdata-sections \
-falign-functions=32
#==============================================================================#
ifeq ($(COMPILER),gcc)
NON_MATCHING := 1
MIPSISET := -mips3
OPT_FLAGS := $(GCC_MAIN_OPT_FLAGS)
COLLISION_OPT_FLAGS = $(GCC_COLLISION_OPT_FLAGS)
MATH_UTIL_OPT_FLAGS = $(GCC_MATH_UTIL_OPT_FLAGS)
GRAPH_NODE_OPT_FLAGS = $(GCC_GRAPH_NODE_OPT_FLAGS)
OPT_FLAGS := -Ofast
else ifeq ($(COMPILER),clang)
NON_MATCHING := 1
# clang doesn't support ABI 'o32' for 'mips3'
MIPSISET := -mips2
OPT_FLAGS := $(DEFAULT_OPT_FLAGS)
COLLISION_OPT_FLAGS = $(DEFAULT_OPT_FLAGS)
MATH_UTIL_OPT_FLAGS = $(DEFAULT_OPT_FLAGS)
GRAPH_NODE_OPT_FLAGS = $(DEFAULT_OPT_FLAGS)
OPT_FLAGS := -Ofast
endif
@@ -222,11 +178,11 @@ TARGET_STRING := sm64
# UNF - whether to use UNFLoader flashcart library
# 1 - includes code in ROM
# 0 - does not
# 0 - does not
UNF ?= 0
$(eval $(call validate-option,UNF,0 1))
ifeq ($(UNF),1)
DEFINES += UNF=1
DEFINES += UNF=1
SRC_DIRS += src/usb
USE_DEBUG := 1
endif
@@ -234,7 +190,7 @@ endif
# ISVPRINT - whether to fake IS-Viewer presence,
# allowing for usage of CEN64 (and possibly Project64) to print messages to terminal.
# 1 - includes code in ROM
# 0 - does not
# 0 - does not
ISVPRINT ?= 0
$(eval $(call validate-option,ISVPRINT,0 1))
ifeq ($(ISVPRINT),1)
@@ -252,42 +208,17 @@ endif
# HVQM - whether to use HVQM fmv library
# 1 - includes code in ROM
# 0 - does not
# 0 - does not
HVQM ?= 0
$(eval $(call validate-option,HVQM,0 1))
ifeq ($(HVQM),1)
DEFINES += HVQM=1
DEFINES += HVQM=1
SRC_DIRS += src/hvqm
endif
BUILD_DIR_BASE := build
# BUILD_DIR is the location where all build artifacts are placed
BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)_$(CONSOLE)
COMPRESS ?= rnc1
$(eval $(call validate-option,COMPRESS,mio0 yay0 gzip rnc1 rnc2 uncomp))
ifeq ($(COMPRESS),gzip)
DEFINES += GZIP=1
LIBZRULE := $(BUILD_DIR)/libz.a
LIBZLINK := -lz
else ifeq ($(COMPRESS),rnc1)
DEFINES += RNC1=1
else ifeq ($(COMPRESS),rnc2)
DEFINES += RNC2=1
else ifeq ($(COMPRESS),yay0)
DEFINES += YAY0=1
else ifeq ($(COMPRESS),mio0)
DEFINES += MIO0=1
else ifeq ($(COMPRESS),uncomp)
DEFINES += UNCOMPRESSED=1
endif
GZIPVER ?= std
$(eval $(call validate-option,GZIPVER,std libdef))
# GODDARD - whether to use libgoddard (Mario Head)
# 1 - includes code in ROM
# 0 - does not
# 0 - does not
GODDARD ?= 0
$(eval $(call validate-option,GODDARD,0 1))
ifeq ($(GODDARD),1)
@@ -371,7 +302,7 @@ include Makefile.split
# Source code files
LEVEL_C_FILES := $(wildcard levels/*/leveldata.c) $(wildcard levels/*/script.c) $(wildcard levels/*/geo.c)
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) $(LEVEL_C_FILES)
LIBZ_C_FILES := $(foreach dir,$(LIBZ_SRC_DIRS),$(wildcard $(dir)/*.c))
LIBZ_C_FILES := $(foreach dir,$(LIBZ_SRC_DIRS),$(wildcard $(dir)/*.c))
GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c))
S_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.s))
GENERATED_C_FILES := $(BUILD_DIR)/assets/mario_anim_data.c $(BUILD_DIR)/assets/demo_data.c
@@ -396,7 +327,7 @@ O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \
$(foreach file,$(GENERATED_C_FILES),$(file:.c=.o)) \
lib/PR/hvqm/hvqm2sp1.o lib/PR/hvqm/hvqm2sp2.o
LIBZ_O_FILES := $(foreach file,$(LIBZ_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
LIBZ_O_FILES := $(foreach file,$(LIBZ_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
GODDARD_O_FILES := $(foreach file,$(GODDARD_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
# Automatic dependency files
@@ -464,11 +395,9 @@ DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES)
# C compiler options
CFLAGS = -G 0 $(OPT_FLAGS) $(TARGET_CFLAGS) $(MIPSISET) $(DEF_INC_CFLAGS)
ifeq ($(COMPILER),gcc)
CFLAGS += -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra
CFLAGS += -Wno-missing-braces
CFLAGS += -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces
else ifeq ($(COMPILER),clang)
CFLAGS += -mfpxx -target mips -mabi=32 -G 0 -mhard-float -fomit-frame-pointer -fno-stack-protector -fno-common -I include -I src/ -I $(BUILD_DIR)/include -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra
CFLAGS += -Wno-missing-braces
CFLAGS += -target mips -mabi=32 -G 0 -mhard-float -fomit-frame-pointer -fno-stack-protector -fno-common -I include -I src/ -I $(BUILD_DIR)/include -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces -fno-jump-tables
else
CFLAGS += -non_shared -Wab,-r4300_mul -Xcpluscomm -Xfullwarn -signed -32
endif
@@ -511,7 +440,7 @@ else
RSPASM := $(TOOLS_DIR)/armips
endif
ENDIAN_BITWIDTH := $(BUILD_DIR)/endian-and-bitwidth
EMULATOR = mupen64plus
EMULATOR = ~/Downloads/mupen64plus/mupen64plus-gui
EMU_FLAGS =
LOADER = loader64
LOADER_FLAGS = -vwf
@@ -562,7 +491,6 @@ test: $(ROM)
test-pj64: $(ROM)
wine ~/Desktop/new64/Project64.exe $<
# someone2639
load: $(ROM)
$(LOADER) $(LOADER_FLAGS) $<
@@ -573,7 +501,7 @@ libultra: $(BUILD_DIR)/libultra.a
$(BUILD_DIR)/asm/boot.o: $(IPL3_RAW_FILES)
$(BUILD_DIR)/src/game/crash_screen.o: $(CRASH_TEXTURE_C_FILES)
$(BUILD_DIR)/src/game/version.o: $(BUILD_DIR)/src/game/version_data.h
$(BUILD_DIR)/lib/aspMain.o: $(BUILD_DIR)/rsp/audio.bin
$(BUILD_DIR)/lib/rsp.o: $(BUILD_DIR)/rsp/rspboot.bin $(BUILD_DIR)/rsp/audio.bin
$(SOUND_BIN_DIR)/sound_data.o: $(SOUND_BIN_DIR)/sound_data.ctl $(SOUND_BIN_DIR)/sound_data.tbl $(SOUND_BIN_DIR)/sequences.bin $(SOUND_BIN_DIR)/bank_sets
$(BUILD_DIR)/levels/scripts.o: $(BUILD_DIR)/include/level_headers.h
@@ -611,21 +539,13 @@ else
endif
endif
$(BUILD_DIR)/src/usb/usb.o: OPT_FLAGS := -O0
$(BUILD_DIR)/src/usb/usb.o: CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wno-unused-function
$(BUILD_DIR)/src/usb/debug.o: OPT_FLAGS := -O0
$(BUILD_DIR)/src/usb/debug.o: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized
# File specific opt flags
$(BUILD_DIR)/src/usb/usb.o: OPT_FLAGS := -O0
$(BUILD_DIR)/src/usb/usb.o: CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wno-unused-function
$(BUILD_DIR)/src/usb/debug.o: OPT_FLAGS := -O0
$(BUILD_DIR)/src/usb/debug.o: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized
$(BUILD_DIR)/src/audio/*.o: OPT_FLAGS := -Os -fno-jump-tables
$(BUILD_DIR)/src/engine/surface_collision.o: OPT_FLAGS := $(COLLISION_OPT_FLAGS)
$(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := $(MATH_UTIL_OPT_FLAGS)
$(BUILD_DIR)/src/game/rendering_graph_node.o: OPT_FLAGS := $(GRAPH_NODE_OPT_FLAGS)
# $(info OPT_FLAGS: $(OPT_FLAGS))
# $(info COLLISION_OPT_FLAGS: $(COLLISION_OPT_FLAGS))
# $(info MATH_UTIL_OPT_FLAGS: $(MATH_UTIL_OPT_FLAGS))
# $(info GRAPH_NODE_OPT_FLAGS: $(GRAPH_NODE_OPT_FLAGS))
$(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := -Ofast -fno-unroll-loops -fno-peel-loops --param case-values-threshold=20
$(BUILD_DIR)/src/game/rendering_graph_node.o: OPT_FLAGS := -Ofast --param case-values-threshold=20
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) asm/debug $(GODDARD_SRC_DIRS) $(LIBZ_SRC_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(TEXT_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) rsp include) $(YAY0_DIR) $(addprefix $(YAY0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
@@ -639,7 +559,6 @@ $(BUILD_DIR)/src/game/ingame_menu.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/src/game/puppycam2.o: $(BUILD_DIR)/include/text_strings.h
#==============================================================================#
# Texture Generation #
#==============================================================================#

View File

@@ -1,43 +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, LEDGE_GRABS_CHECK_SLOPE_ANGLE
- **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
- **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
- **anonymous_moose**: porting falco's extended bounds to decomp
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
@@ -45,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:**
@@ -62,8 +42,8 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
- 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,34 +52,34 @@ 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
- 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)
@@ -108,14 +88,14 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
- 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.

View File

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

View File

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

View File

@@ -4,13 +4,13 @@
const Collision breakable_box_seg8_collision[] = {
COL_INIT(),
COL_VERTEX_INIT(0x8),
COL_VERTEX(-100, 0, -100),
COL_VERTEX(-100, 0, 100),
COL_VERTEX(-100, 200, 100),
COL_VERTEX(100, 0, 100),
COL_VERTEX(100, 200, 100),
COL_VERTEX(100, 0, -100),
COL_VERTEX(100, 200, -100),
COL_VERTEX(-100, 0, -100),
COL_VERTEX(-100, 0, 100),
COL_VERTEX(-100, 200, 100),
COL_VERTEX( 100, 0, 100),
COL_VERTEX( 100, 200, 100),
COL_VERTEX( 100, 0, -100),
COL_VERTEX( 100, 200, -100),
COL_VERTEX(-100, 200, -100),
COL_TRI_INIT(SURFACE_NO_CAM_COLLISION, 12),
@@ -29,6 +29,3 @@ const Collision breakable_box_seg8_collision[] = {
COL_TRI_STOP(),
COL_END(),
};
UNUSED static const u32 breakable_box_unused_1 = 0;
UNUSED static const u64 breakable_box_unused_2 = 0;

View File

@@ -2,9 +2,6 @@
// It's possible that bubba and bub used to be 2 "actors" in
// one actor file.
// Bin ID? What is this?
UNUSED static const u64 bubba_unused_1 = 0;
// Bubba
// 0x05000008

View File

@@ -3,9 +3,9 @@ const GeoLayout burn_smoke_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
#ifdef BURN_SMOKE_FIX
GEO_ASM(GEO_TRANSPARENCY_MODE_INTER, geo_update_layer_transparency),
GEO_ASM(GEO_TRANSPARENCY_MODE_NORMAL, geo_update_layer_transparency),
#endif
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, burn_smoke_seg4_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, burn_smoke_seg4_dl),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@@ -1,2 +1 @@
// Empty geo script
UNUSED static const u64 cannon_lid_unused_1 = 0;

View File

@@ -9,9 +9,6 @@ static const Vtx chain_ball_seg6_vertex_06020AA0[] = {
{{{ -26, 26, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// align? binid?
UNUSED static const u64 chain_ball_unused_1 = 0;
// 0x06020AE8
ALIGNED8 static const Texture chain_ball_seg6_texture_06020AE8[] = {
#include "actors/chain_ball/chain_ball.rgba16.inc.c"

View File

@@ -21,7 +21,7 @@ ALIGNED8 static const Texture chair_seg5_texture_05004060[] = {
#include "actors/chair/chair_bottom.rgba16.inc.c"
};
// unreferenced
// unreferenced texture
// 0x05004460
UNUSED ALIGNED8 static const Texture chair_seg5_texture_05004460[] = {
#include "actors/chair/chair_surface_unused.rgba16.inc.c"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -133,9 +133,12 @@ extern const Gfx door_seg3_dl_one_star_near[];
extern const Gfx door_seg3_dl_one_star_far[];
extern const Gfx door_seg3_dl_three_stars_near[];
extern const Gfx door_seg3_dl_three_stars_far[];
extern const Gfx door_seg3_dl_key_door[];
extern const Gfx door_seg3_sub_dl_lock_begin[];
extern const Gfx door_seg3_sub_dl_lock_end[];
extern const Gfx door_seg3_dl_lock_far[];
extern const Gfx door_seg3_dl_lock_near[];
extern const Gfx door_seg3_sub_dl_themed_handle_near[];
extern const Gfx door_seg3_sub_dl_themed_door_sides[];
extern const Gfx door_seg3_sub_dl_themed_door_overlay[];
extern const Gfx door_seg3_sub_dl_themed_door[];
extern const Gfx door_seg3_sub_dl_themed_door_begin[];
extern const Gfx door_seg3_dl_rough_wooden_door_near[];

View File

@@ -1,8 +1,5 @@
// Cyan Fish
// ???
UNUSED static const u64 cyan_fish_unused_1 = 0;
// 0x0600D468
ALIGNED8 static const Texture cyan_fish_seg6_texture_0600D468[] = {
#include "actors/cyan_fish/cyan_fish.rgba16.inc.c"

View File

@@ -189,7 +189,6 @@ const GeoLayout castle_door_0_star_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
#ifndef AUTO_LOD
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
@@ -198,7 +197,6 @@ const GeoLayout castle_door_0_star_geo[] = {
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
@@ -223,7 +221,6 @@ const GeoLayout castle_door_1_star_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
#ifndef AUTO_LOD
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
@@ -232,7 +229,6 @@ const GeoLayout castle_door_1_star_geo[] = {
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
@@ -257,7 +253,6 @@ const GeoLayout castle_door_3_stars_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
#ifndef AUTO_LOD
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
@@ -266,7 +261,6 @@ const GeoLayout castle_door_3_stars_geo[] = {
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
@@ -291,7 +285,20 @@ const GeoLayout key_door_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_key_door),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, door_seg3_dl_lock_near),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_polished_wooden_door_near),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, door_seg3_dl_lock_far),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),

File diff suppressed because it is too large Load Diff

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