Compare commits

..

298 Commits

Author SHA1 Message Date
Reonu
ba3717e4a6 remove unnecesary extern 2021-12-24 16:20:55 +00:00
Reonu
7c0582f7ce Update src/game/camera.c
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2021-12-24 16:18:54 +00:00
Reonu
37214d6059 readded whitespace 2021-12-23 20:02:32 +00:00
Reonu
30a75bb1d8 fuck it *uncompletes your savefile* 2021-12-23 19:50:53 +00:00
Reonu
ef10d68513 update reonucan description again 2021-12-23 19:41:13 +00:00
Reonu
c187386e57 Better explanation in config_camera.h 2021-12-23 19:38:33 +00:00
Reonu
ef3b7e6347 restored firsty setting 2021-12-23 19:35:56 +00:00
Reonu
931a5fea31 fix clicking sound 2021-12-23 19:34:38 +00:00
thecozies
a0b93715c1 added safeguards to config 2021-12-23 07:23:38 -06:00
thecozies
4ef1d81a2f reonucam: reset 8dir base yaw to 0 when setting to 8dir mode 2021-12-23 07:18:11 -06:00
thecozies
1314fd8607 Only get reonucam speed if reonucam is enabled 2021-12-23 07:15:37 -06:00
thecozies
239b98ba62 Clarify reonucam function name 2021-12-23 07:15:10 -06:00
thecozies
09a69f9186 Fixed airborne reonucam spinning bug 2021-12-23 07:14:39 -06:00
thecozies
b1ac2a174e Fix submerged reonucam spinning bug 2021-12-23 07:14:01 -06:00
Reonu
08614793fd attempt at enabling swimming and flying functionality (it's fucking broken) 2021-12-23 02:44:42 +00:00
Reonu
dd7fdcdfb9 turn on complete savefile 2021-12-23 02:44:23 +00:00
thecozies
e42dfd295c Fixed zooming in with reonu cam and moved ifdef locations 2021-12-22 06:46:01 -06:00
Reonu
a94e58e636 reonucam (broken rn) 2021-12-22 02:45:04 +00:00
thecozies
602b7ee1d9 Merge pull request #219 from Reonu/develop/refactor__FAST_VERTICAL_CAMERA_MOVEMENT
utilize reonucam technique for FAST_VERTICAL_CAMERA_MOVEMENT

Fixes #164
2021-12-21 06:11:35 -06:00
thecozies
072282b68b utilize reonucam technique for FAST_VERTICAL_CAMERA_MOVEMENT 2021-12-21 06:07:14 -06:00
thecozies
9c22158b8e Merge pull request #202 from Reonu/develop/arceveti/refactor/drawing_distance_fix
Fix some drawing distance issues caused by AUTO_COLLISION_DISTANCE

Fixes #173
2021-12-21 05:24:28 -06:00
thecozies
b10d01cf53 Merge pull request #216 from Reonu/develop/refactor__config_doc
Config documentation

Fixes #191
2021-12-21 05:04:26 -06:00
Axollyon
afcc1f28a5 Start level comment & exit course comment/collapse 2021-12-20 15:50:55 -05:00
thecozies
6668ae391a Merge pull request #206 from Reonu/develop/arceveti/refactor/find_ceil_buffer
Re-implement Y buffer for find_ceil

Fixes #200
2021-12-20 06:42:37 -06:00
thecozies
c241f6941f Merge pull request #212 from Reonu/develop/arceveti/refactor/power_stars_heal
Re-implement POWER_STARS_HEAL for normal Power Stars
Fixes #209
2021-12-20 06:09:06 -06:00
Arceveti
102f21d533 Re-implement POWER_STARS_HEAL for normal Power Stars 2021-12-20 00:16:34 -08:00
Arceveti
eadfff013a Re-implement Y buffer for find_ceil 2021-12-19 14:30:47 -08:00
Arceveti
58836138c8 Merge branch 'develop/arceveti/refactor/drawing_distance_fix' of https://github.com/Reonu/HackerSM64 into develop/arceveti/refactor/drawing_distance_fix 2021-12-19 12:05:25 -08:00
Arceveti
94e19d439f Revert formatting changes to match vanilla decomp 2021-12-19 12:05:20 -08:00
Arceveti
63b2838e91 Update data/behavior_data.c
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2021-12-19 12:02:49 -08:00
Arceveti
eb0bb591f0 Update data/behavior_data.c
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2021-12-19 12:02:46 -08:00
Arceveti
a5033a56c9 Update data/behavior_data.c
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2021-12-19 12:02:42 -08:00
Reonu
6e03037f2e Merge pull request #205 from Reonu/better-credits
Update readme with better credits
2021-12-19 18:57:23 +00:00
thecozies
87b66c7400 Merge pull request #204 from Reonu/develop/refactor__spline_fix
Fixed spline poll code using the wrong values for keyframes

Fixes #170
2021-12-19 10:53:11 -06:00
thecozies
5538b207a5 Merge pull request #197 from Reonu/develop/arceveti/refactor__legacy_shadow_ids_fix
Fix LEGACY_SHADOW_IDS id conflict

Fixes #181
2021-12-19 10:44:03 -06:00
thecozies
bbdfcfd0bf Merge pull request #166 from Reonu/object_transparency
Fix some transparent objects rendering behind env boxes.
2021-12-19 10:09:42 -06:00
Reonu
e49bc4273a remove specific callouts + add auto col distance 2021-12-19 11:14:56 +00:00
Reonu
a6c4bfd5d6 silhouette + axo + ratio 2021-12-19 00:16:53 +00:00
Reonu
675977a4d6 added S2DEX engine to credits 2021-12-18 13:43:30 +00:00
Reonu
c5d3cd4f53 le funny typo 2021-12-18 13:35:16 +00:00
Reonu
9141396ec4 add fazana 2021-12-18 11:09:34 +00:00
Reonu
390ce3fdb9 added falco and moose 2021-12-18 11:07:56 +00:00
Reonu
48bea623e4 add arthur 2021-12-18 11:05:57 +00:00
Reonu
33056f6f3c Update readme with better credits
Better credits for individual contributors
2021-12-18 11:03:03 +00:00
Mr-Wiseguy
1c13a86569 Fixed spline poll code using the wrong values for keyframes 2021-12-18 01:35:37 -05:00
Arceveti
75eb23b21f Fix rumble build 2021-12-18 00:14:43 -05:00
Arceveti
5d46bb1f8e Fix some drawing distance issues caused by AUTO_COLLISION_DISTANCE 2021-12-17 13:56:33 -08:00
axollyon
665e5bac05 Merge pull request #199 from Reonu/develop/arceveti/refactor__fire_bars_fix
Use the vanilla default value for rotating fire bars if bparam2 is 0
2021-12-17 15:54:33 -05:00
Axollyon
46cc527da3 START_LEVEL safeguard 2021-12-17 15:48:20 -05:00
Arceveti
1360622242 Use the vanilla default value for rotating fire bars if bparam2 is 0 2021-12-17 12:26:05 -08:00
Arceveti
15a58d4dff Fix LEGACY_SHADOW_IDS id conflict 2021-12-17 11:50:41 -08:00
Arceveti
b5f785d669 Update src/game/object_helpers.c
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2021-12-17 10:35:57 -08:00
Arceveti
a2faba2a93 Update src/game/object_helpers.c
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2021-12-17 10:35:52 -08:00
thecozies
10dfcd9433 Merge pull request #196 from Reonu/develop/refactor__UNLOCK_FPS_fix
Fixes #196
2021-12-17 09:31:52 -06:00
thecozies
564af66ceb Fixed UNLOCK_FPS strobing 2021-12-17 09:27:19 -06:00
thecozies
dda3ebd29e Merge pull request #161 from Reonu/develop/arceveti/refactor_door_z_fix
Make the door lock a part of the key door model to eliminate z-fighting, also reduce z fighting on numbered doors with AUTO_LOD enabled.

Fixes #163
2021-12-17 08:40:08 -06:00
thecozies
de1decf039 Merge pull request #187 from Reonu/fazana/fix_rumble
Fix rumble build

Fixes #187
2021-12-17 06:51:51 -06:00
Fazana
112761e484 Fix rumble build 2021-12-17 12:45:05 +00:00
axollyon
236498a201 Merge pull request #185 from Reonu/develop/refactor__ukiki_cage_no_auto_coll
Set OBJ_FLAG_DONT_CALC_COLL_DIST on bhvUkikiCage
2021-12-17 02:24:14 -05:00
Axollyon
e7564adfb3 Set OBJ_FLAG_DONT_CALC_COLL_DIST on bhvUkikiCage 2021-12-17 02:19:06 -05:00
Mr-Wiseguy
18103b25f1 Removed superfluous RDP commands when switching microcodes which would override scissor 2021-12-16 22:03:54 -05:00
thecozies
91b59799f9 Merge pull request #177 from Reonu/develop/refactor__geo-billboard-fix
fixed geo_process_billboard floating point exception

Fixes #175
2021-12-16 17:31:13 -06:00
thecozies
6f45ad5eec Merge pull request #178 from Reonu/develop/refactor__allow-more-water-directions
Allow water to face any direction

Fixes #176
2021-12-16 17:00:51 -06:00
axollyon
55bfa653e2 Merge pull request #180 from Reonu/develop/refactor__fix_bbh_focOffset
Initialize focOffset so that BBH doesn't crash
2021-12-16 16:16:02 -05:00
Axollyon
a0d96ee90e Initialize focOffset so that BBH doesn't crash 2021-12-16 16:10:57 -05:00
thecozies
45dccaa1c0 Allow water to face any direction 2021-12-16 09:45:17 -06:00
thecozies
5be59e7970 fixed geo_process_billboard floating point exception 2021-12-16 09:17:58 -06:00
thecozies
61e7e8e506 Merge pull request #160 from Reonu/develop/arceveti/refactor_cap_bounce_fix
Use boolean defines for oCapDoScaleVertically

Fixes #157
2021-12-16 05:16:36 -06:00
Gregory Heskett
6832ebca2c Resolved some compiler warnings and added FALL_THROUGH define (#168)
* Address some more compiler warnings with different define toggles

* Remove unnecessary fallthrough attribute
2021-12-15 22:41:59 -05:00
Arceveti
552b765ed0 Move flames to LAYER_TRANSPARENT_INTER 2021-12-15 17:51:58 -08:00
Arceveti
993e8ec4e2 Make the door lock a part of the key door model to eliminate z-fighting, also reduce z fighting on numbered doors with AUTO_LOD enabled. 2021-12-15 17:30:22 -08:00
Arceveti
2a70709cfa Use boolean defines for oCapDoScaleVertically 2021-12-15 14:29:45 -08:00
thecozies
212e71120f Merge pull request #158 from Reonu/approach_s16_fix
Cast return value of approach_s16 to s16

fixes #138
2021-12-15 16:23:13 -06:00
Arceveti
b5af7fa0e1 Fix approach_s16 return value 2021-12-15 14:19:53 -08:00
thecozies
f50860cf8b Merge pull request #152 from aglab2/int2str
Adjust height value for terrain angle to kick in
2021-12-15 15:25:18 -06:00
thecozies
7c558d73e3 Merge pull request #156 from Reonu/develop/arceveti/refactor_fix_unagi_transparent_star
Add COURSE_NUM_TO_INDEX to the save_file_get_star_flags() check in bhv_unagi_init

fixes #155
2021-12-15 15:24:24 -06:00
thecozies
499eaa20ab Merge pull request #142 from Reonu/develop/arceveti/refactor_fix_build_warnings
Fix two build warnings for unused functions
2021-12-15 15:19:42 -06:00
Arceveti
51a9e18132 Add COURSE_NUM_TO_INDEX to save_file_get_star_flags check in bhv_unagi_init 2021-12-15 13:08:36 -08:00
Arceveti
ed4f8267e0 Fix fread() build warning 2021-12-15 13:00:44 -08:00
thecozies
a2cee228ca Merge pull request #153 from Reonu/develop/refactor__fix-hi-score-flashing
fixed hi score flashing
2021-12-15 13:53:20 -06:00
Fazana
58f3130de6 Remove menudata backup (#131)
Not considered important enough to keep
2021-12-15 14:19:45 -05:00
thecozies
dad1cd742a fixed hi score flashing 2021-12-15 09:57:33 -06:00
aglab2
4c915eb666 Adjust height value for terrain angle to kick in 2021-12-15 22:18:44 +08:00
thecozies
d6d64deb7e Merge pull request #151 from aglab2/int2str
Fixed puppyroll #134
2021-12-15 08:01:49 -06:00
aglab2
a1205e12a1 Fixed puppyroll #134 2021-12-15 21:10:36 +08:00
Reonu
fd043ea324 Merge pull request #150 from Reonu/develop/refactor__groundpound-fix
Change groundpound-fix define and functionality to just disable bonking
2021-12-15 15:05:15 +02:00
thecozies
9e12023873 Change groundpound-fix define and functionality to just disable bonking 2021-12-15 06:51:50 -06:00
thecozies
4fe0f19d0a Merge pull request #149 from aglab2/int2str
Fixed incorrect digit for 100s #145
2021-12-15 05:41:07 -06:00
aglab2
8a5a3a9f29 Fixed incorrect digit for 100s #145 2021-12-15 19:39:52 +08:00
thecozies
a929717881 Merge pull request #144 from Reonu/develop/thecozies/fp-exception-castle-grounds
Fixed stale reference bug from obj_mark_for_deletion change
2021-12-14 09:49:23 -06:00
thecozies
d2d3d60c9f Fixed stale reference bug from obj_mark_for_deletion change 2021-12-14 09:38:52 -06:00
Arceveti
282adb36b5 Fix build warnings for unused functions 2021-12-13 20:00:44 -08:00
thecozies
edc6fe6b57 Merge pull request #125 from Reonu/fix_build_warnings
Fix build warnings
2021-12-13 17:03:27 -06:00
thecozies
50d1b73bac Merge pull request #139 from Reonu/sliding_platform_fix
Fix sliding platforms using the wrong bparams
2021-12-13 17:03:11 -06:00
thecozies
8c110adb36 Merge pull request #140 from Reonu/develop/arceveti/legacy_shadow_ids
Add LEGACY_SHADOW_IDS define for Fast64 compatibility
2021-12-13 17:02:01 -06:00
Arceveti
836c6a4850 Better find_in_bounds_yaw_wdw_bob_thi ifdef 2021-12-13 14:22:16 -08:00
Arceveti
a5fce270ef Apply suggested changes 2021-12-13 14:14:16 -08:00
Arceveti
f2148ce405 Add LEGACY_SHADOW_IDS define for Fast64 compatibility 2021-12-13 14:09:52 -08:00
Arceveti
19c79e95fe Fix sliding platform bparams 2021-12-13 14:00:14 -08:00
thecozies
a2c4243600 Merge pull request #137 from Reonu/Reonu-patch-1
Fix BUGFIX_DIALOG_TIME_STOP
2021-12-13 13:43:31 -06:00
Reonu
d92ddeecd8 Fix BUGFIX_DIALOG_TIME_STOP
Fixes #136
2021-12-13 21:42:17 +02:00
thecozies
97eebacb1e Merge pull request #117 from Reonu/geo_process_master_list_sub_fix
Fix SILHOUETTE, OBJECTS_REJ, and ucode loading, also clean up render phase system and OBJECTS_REJ ifdefs a bit.
2021-12-13 07:13:55 -06:00
thecozies
913ea2dfdd Merge pull request #129 from Reonu/fazana/refactorfix (Puppycamera fixes)
Puppycamera fixes
2021-12-13 06:54:32 -06:00
Fazana
a5a826052e Further Puppycamera fixes 2021-12-13 06:52:42 -06:00
Fazana
9f538f8e7d Some puppytech fixes 2021-12-13 06:52:42 -06:00
thecozies
f7b79d132d Merge pull request #126 from Reonu/develop/bugfix/object-y-pos
bugfix: miscalculation in obj_turn_toward_object
2021-12-13 06:00:42 -06:00
thecozies
933b3d3ec4 Merge pull request #122 from aglab2/develop-fixup
Fixed clang compilation issues
2021-12-13 05:39:38 -06:00
thecozies
639e2e2898 Merge pull request #120 from Reonu/goddard-build-errors-fix
Goddard build errors fix
2021-12-13 05:35:53 -06:00
thecozies
ee60c7a2a5 Merge pull request #119 from Reonu/fix_fast64_import
Fix Fast64 importing by reverting sSegmentTable change
2021-12-13 05:34:14 -06:00
gheskett
460b45d8b0 bugfix: miscalculation in obj_turn_toward_object 2021-12-12 14:33:00 -05:00
Arceveti
8455f92421 Fix build warnings 2021-12-11 20:58:09 -08:00
Arceveti
81ff820c05 Add INTER mode for geo_update_layer_transparency 2021-12-11 20:31:50 -08:00
aglab2
f4f2a502c3 Fixed clang compilation issues 2021-12-12 12:22:13 +08:00
Mr-Wiseguy
ad23ec4ca6 Readded missing functions that caused build errors with Mario head enabled 2021-12-11 23:14:43 -05:00
Arceveti
ae0ba99459 Fix Fast64 importing by reverting sSegmentTable change 2021-12-11 20:13:39 -08:00
Mr-Wiseguy
19657d25b0 Fixed build with BETTER_HANGING off 2021-12-11 23:00:24 -05:00
Arceveti
3f0206bb1f Merge branch 'develop/refactor' of https://github.com/Reonu/HackerSM64 into geo_process_master_list_sub_fix 2021-12-11 19:55:34 -08:00
Arceveti
1f6d00e316 Fix duplicate comment & graph render layers/flags bitmask 2021-12-11 19:51:53 -08:00
Arceveti
50eb8a8473 Clean up OBJECTS_REJ ifdefs 2021-12-11 19:47:15 -08:00
Mr-Wiseguy
bdf489067b Fixed build with BETTER_HANGING off 2021-12-11 22:21:30 -05:00
Arceveti
958ae2b987 Fix SILHOUETTE, OBJECTS_REJ, and ucode loading, also clean up render phase system a bit. 2021-12-11 16:04:14 -08:00
thecozies
0812acc11b Merge pull request #111 from Reonu/develop/refactor__puppyprint-combo
Allow easier command for opening puppyprint debug
2021-12-11 17:26:34 -06:00
thecozies
94bbcc2d2a Merge pull request #114 from Reonu/develop/arceveti/refactor_fix
Fix shadow scaling and shifting
2021-12-11 17:26:07 -06:00
Arceveti
05d4be8fdf Fix shadow scaling and shifting 2021-12-11 15:13:05 -08:00
Fazana
141042c59a Rearranged framebuffers & fixed puppyprint console printing 2021-12-11 17:08:55 -06:00
thecozies
03014f34cb Allow easier command for opening puppyprint debug 2021-12-11 16:48:04 -06:00
thecozies
81f642aba4 camera conf documentation 2021-12-11 15:58:46 -06:00
thecozies
f740731fd6 surface load optimizations 2021-12-11 15:58:27 -06:00
thecozies
b529941cbb surface collision performance improvements 2021-12-11 15:55:42 -06:00
thecozies
9ddaf82c82 optimized file positions + support function/data sections 2021-12-11 15:40:22 -06:00
thecozies
b803b7f350 compilation flags 2021-12-11 15:39:33 -06:00
thecozies
2f5cec36a7 updated README 2021-12-11 15:37:43 -06:00
thecozies
e2ab5b3f90 stomp smoke -> small water splash 2021-12-11 15:37:17 -06:00
thecozies
75a188c7d9 rename stomp smoke 2021-12-11 15:36:36 -06:00
thecozies
fe8e30296d dialogs / text 2021-12-11 15:36:04 -06:00
thecozies
e966fe76ee title screen cleanup 2021-12-11 15:35:29 -06:00
thecozies
daa28cf98a star select cleanup 2021-12-11 15:34:33 -06:00
thecozies
1b1724b557 sram to ultrasm64 2021-12-11 15:32:49 -06:00
thecozies
9b13050d01 spawn sound cleanup 2021-12-11 15:32:29 -06:00
thecozies
b1dbbf0e05 spawn object optimizations and documentation 2021-12-11 15:32:09 -06:00
thecozies
6da4ca07f6 sound init: clean up define usage + documentation 2021-12-11 15:29:46 -06:00
thecozies
f28fc49027 skybox refactor 2021-12-11 15:26:32 -06:00
thecozies
ec042fc2eb shadow overhaul 2021-12-11 15:25:05 -06:00
thecozies
c2655c8bb7 segment2.h 2021-12-11 15:24:46 -06:00
thecozies
e538c669c1 screen transition documentation 2021-12-11 15:24:29 -06:00
thecozies
990757ef62 intro geo documentation 2021-12-11 15:23:17 -06:00
thecozies
9ec1709032 file select 2021-12-11 15:21:07 -06:00
thecozies
7ed9933735 reset various files to ultrasm64 2021-12-11 15:18:50 -06:00
thecozies
25dc528e18 s2d engine 2021-12-11 15:17:42 -06:00
thecozies
44982fdf74 save file documentation and unlock defines 2021-12-11 15:17:08 -06:00
thecozies
a7a7fb1140 hqvm back to ultrasm64 2021-12-11 15:12:33 -06:00
thecozies
a3622efc15 rumble opt and doc 2021-12-11 15:12:10 -06:00
thecozies
e18131a846 rendering graph node performance optimizations 2021-12-11 15:11:01 -06:00
thecozies
4d98245769 puppyprint updates and formatting changes 2021-12-11 14:31:19 -06:00
thecozies
b858817530 puppycam absf 2021-12-11 14:29:15 -06:00
thecozies
8303bc66f1 print / printf 2021-12-11 14:27:21 -06:00
thecozies
b6cc6ce79a platform displacement 2021-12-11 14:25:59 -06:00
thecozies
f5acebbaec paintings 2021-12-11 14:25:02 -06:00
thecozies
221c3b9ec5 object list processor documentation 2021-12-11 14:23:02 -06:00
thecozies
5778ec7e38 object helpers 2021-12-11 13:09:59 -06:00
thecozies
2c362ebb7c fix flamethrower bug 2021-12-11 12:51:44 -06:00
thecozies
fffa0db0bc object collision 2021-12-11 12:06:48 -06:00
thecozies
9a4c45e4ab object behaviors 2021-12-11 12:03:55 -06:00
thecozies
f1f0a0d1e8 moving textures 2021-12-11 11:55:01 -06:00
thecozies
97eb2ee23a memory.h documentation 2021-12-11 11:51:55 -06:00
thecozies
c33b3e3b69 mario documentation 2021-12-11 11:51:37 -06:00
thecozies
9fdae48a76 mario step: ledge grab fixes and documentation 2021-12-11 11:40:12 -06:00
thecozies
941f4b2f39 mario misc documentation 2021-12-11 11:28:17 -06:00
thecozies
61dc565c07 mario submerged documentation 2021-12-11 11:25:54 -06:00
thecozies
b274fc1afb mario stationary documentation 2021-12-11 11:21:36 -06:00
thecozies
d118f84e71 mario actions object documentation and options 2021-12-11 11:19:12 -06:00
thecozies
56d10de4fd mario actions moving documentation and options 2021-12-11 11:17:53 -06:00
thecozies
6ab783554f mario actions cutscene documentation 2021-12-11 11:03:23 -06:00
thecozies
43eba6e35e mario actions automatic documentation 2021-12-11 10:51:58 -06:00
thecozies
59bb53086f airborne documentation 2021-12-11 10:28:17 -06:00
thecozies
07e8a24d34 map parser documentation & formatting 2021-12-11 10:18:31 -06:00
thecozies
faf6929503 main.h documentation 2021-12-11 10:16:53 -06:00
thecozies
4ac365f34b macro special objects formatting changes 2021-12-11 10:16:06 -06:00
thecozies
7b3ad36cb0 level update defines 2021-12-11 10:14:05 -06:00
thecozies
fb40ca64d0 level geo 2021-12-11 10:06:39 -06:00
thecozies
e067673c51 interaction documentation 2021-12-11 10:05:08 -06:00
thecozies
0398a73f9b insn disasm 2021-12-11 09:52:32 -06:00
thecozies
771fd915af revert goddard to base decomp 2021-12-11 09:51:37 -06:00
thecozies
8f11b9de6a ingame menu 2021-12-11 09:49:52 -06:00
thecozies
13c10a047c only check if VC on render init 2021-12-11 09:49:10 -06:00
thecozies
8946885a22 hud 2021-12-11 09:34:49 -06:00
thecozies
295e535899 geo misc 2021-12-11 09:32:28 -06:00
thecozies
56da90ef85 game init 2021-12-11 09:23:55 -06:00
thecozies
5f8b0209a5 farcall helpers 2021-12-11 09:13:11 -06:00
thecozies
7227eb31fa envfx snow 2021-12-11 09:12:47 -06:00
thecozies
56e29c1dde bubbles 2021-12-11 09:12:10 -06:00
thecozies
6f43aa7032 debug updates 2021-12-11 09:11:14 -06:00
thecozies
679ae324b0 camera 2021-12-11 09:08:57 -06:00
thecozies
0e1a68bb65 behavior actions 2021-12-11 07:27:14 -06:00
thecozies
819c60a717 area 2021-12-11 07:25:22 -06:00
thecozies
76cafa71df _Putfld labeling 2021-12-11 07:22:40 -06:00
thecozies
ee81099336 Ldtob documentation 2021-12-11 07:22:17 -06:00
thecozies
e6d031c4c4 removed behaviors 2021-12-11 07:21:47 -06:00
thecozies
f86fa7fb3b graph node and mathutil 2021-12-11 07:21:09 -06:00
CrashOveride95
ad691a34c6 Fix crash with rumble + custom mario model 2021-12-10 08:34:07 -06:00
CrashOveride95
24687da134 Make ucode load from .o's (and also fix Super3D) 2021-12-10 08:33:21 -06:00
CrashOveride95
e7f6186580 Update UNF to latest master 2021-12-10 08:32:26 -06:00
CrashOveride95
4c779bdfed Fix console (lol) 2021-12-10 08:30:43 -06:00
CrashOveride95
2dc9446d4a Make ROM name smaller and change messages printed on build a bit 2021-12-10 08:30:19 -06:00
CrashOveride95
83ad6aec22 extra 2021-12-10 08:29:24 -06:00
n64
f2a8cf49de Refresh 15 2021-12-10 08:26:59 -06:00
Arceveti
9c6764ba1d Move GRUCODE define to proper location in makefile 2021-12-10 08:04:37 -06:00
CrashOveride95
baf071e527 Add librtc and fix some data declarations 2021-12-10 08:04:34 -06:00
thecozies
eee8af463d behaviors a - beta_fish 2021-12-10 05:41:59 -06:00
thecozies
ded4e11fbd mathutil updates (allow unused funcs) 2021-12-10 05:00:41 -06:00
thecozies
e535b4bdc1 mathutil updates 2021-12-09 12:59:29 -06:00
thecozies
3f5cf00f74 level script 2021-12-09 08:28:17 -06:00
thecozies
8f13447642 graph node 2021-12-09 07:57:58 -06:00
thecozies
719f5afdf9 message panel ucode small 2021-12-09 07:52:44 -06:00
thecozies
df88bb78f1 camera conf improved 2021-12-09 07:52:03 -06:00
thecozies
2df0dcfdde fixed model ids 2021-12-08 09:53:48 -06:00
thecozies
afa381564e egeo_layout 2021-12-08 09:48:33 -06:00
thecozies
d88a5b82b4 extended bounds 2021-12-08 09:39:09 -06:00
thecozies
a9796a7490 color helper functions 2021-12-08 09:38:29 -06:00
thecozies
c5c5d2c79b behavior script 2021-12-08 09:38:01 -06:00
thecozies
cd37e655f3 buffers: refresh 15 and revert to base decomp 2021-12-08 09:35:43 -06:00
thecozies
615d9abca3 book: slidec documentation 2021-12-08 09:34:41 -06:00
thecozies
e840d74b93 boot/memory.c reduced change load and added documentation 2021-12-08 09:34:12 -06:00
thecozies
e49404014d boot/main.c 2021-12-08 09:31:58 -06:00
thecozies
9ee39666d6 audio changes 2021-12-08 09:28:35 -06:00
thecozies
30bcccb686 sound player 2021-12-08 09:28:17 -06:00
thecozies
fd3de66b9f lib updates - rtc and rsp.s 2021-12-08 09:27:35 -06:00
thecozies
487187e3c6 includes: types.h 2021-12-08 09:26:57 -06:00
thecozies
624801a288 includes: surface type enums 2021-12-08 09:24:39 -06:00
thecozies
cefdec7023 includes: special presets 2021-12-08 09:24:10 -06:00
thecozies
d0382cd1be includes: sounds documentation 2021-12-08 09:23:49 -06:00
thecozies
e216b42f53 includes: sm64 types 2021-12-08 09:23:25 -06:00
thecozies
fad3406ab5 includes: segments and seq ids 2021-12-08 09:23:12 -06:00
thecozies
581b0cafc9 includes: rtc 2021-12-08 09:20:30 -06:00
thecozies
b384fb1b7b includes: object fields formatted to base decomp 2021-12-08 09:20:06 -06:00
thecozies
9c0878319f includes: object constants 2021-12-08 09:19:04 -06:00
thecozies
36c7c622e3 includes: movtex macros 2021-12-08 09:18:42 -06:00
thecozies
ac2852ba47 includes: model ids 2021-12-08 09:18:16 -06:00
thecozies
36001f7fd3 includes: mario geo switch case 2021-12-08 09:16:40 -06:00
thecozies
b6e18a95bf includes: mario anims 2021-12-08 09:16:23 -06:00
thecozies
142b79e310 includes level commands - macros 2021-12-08 09:16:00 -06:00
thecozies
d334579ad4 gfx dimensions 2021-12-08 09:14:50 -06:00
thecozies
381a0aed7c geo command enum 2021-12-08 09:12:55 -06:00
thecozies
984b117e77 farcall documentation 2021-12-08 09:12:28 -06:00
thecozies
4467ff1ed1 course table 2021-12-08 09:11:59 -06:00
thecozies
664fe248e1 colors 2021-12-08 09:11:30 -06:00
thecozies
26a064faa1 OS documentation 2021-12-08 09:10:51 -06:00
thecozies
37ca9f03b1 enhancement updates/removals 2021-12-08 09:10:27 -06:00
thecozies
bff61ca5ba separated config.h into multiple files 2021-12-08 09:09:40 -06:00
thecozies
91c169e693 behavior data documentation updates 2021-12-08 09:08:54 -06:00
thecozies
7741e5123e title screen bin id 2021-12-08 09:01:14 -06:00
thecozies
e9b2562694 segment2.c 2021-12-08 09:00:59 -06:00
thecozies
e4e8bc2d9a effect bin id 2021-12-08 08:44:53 -06:00
thecozies
e97695d3d8 vanilla demo data 2021-12-08 08:44:33 -06:00
thecozies
1e8a960a17 actor documentation: group headers 2021-12-08 08:44:10 -06:00
thecozies
455da1c3a8 actor documentation: whomp 2021-12-08 08:43:00 -06:00
thecozies
c24ef6562f actor documentation: water ring 2021-12-08 08:42:44 -06:00
thecozies
4b20d19989 actor documentation: unagi transparent star 2021-12-08 08:41:57 -06:00
thecozies
a091678009 actor documentation: ukiki 2021-12-08 08:41:42 -06:00
thecozies
b9773ffae3 actor documentation: tree + cam dist change 2021-12-08 08:41:18 -06:00
thecozies
80641a82c4 actor documentation: star 2021-12-08 08:40:26 -06:00
thecozies
2a87631629 actor documentation: rename stomp smoke 2021-12-08 08:40:08 -06:00
thecozies
1221e2944b actor documentation: transparent star 2021-12-08 08:39:51 -06:00
thecozies
0c83e15d04 actor documentation: sand 2021-12-08 08:39:24 -06:00
thecozies
63b9e771d7 actor documentation: poundable pole 2021-12-08 08:39:03 -06:00
thecozies
34cf317fc4 actor documentation: penguin 2021-12-08 08:38:48 -06:00
thecozies
e5ee3e89b2 actos DIALOG_INDICATOR 2021-12-08 08:38:02 -06:00
thecozies
aab3b8ecb0 actor documentation: h - m 2021-12-08 08:37:42 -06:00
thecozies
1080fc90e1 floomba 2021-12-08 08:35:47 -06:00
thecozies
1c11bb7ddc actor documentation: exclamation_box_outline 2021-12-08 08:35:29 -06:00
thecozies
2caed65be9 .gitignore + clownfont textures 2021-12-08 08:10:58 -06:00
thecozies
409bce0eca tools reset to base ultrasm64 2021-12-08 08:10:25 -06:00
thecozies
8d6d3ca69a actor documentation: door 2021-12-08 06:41:05 -06:00
thecozies
571388c821 actor documentation: dirt 2021-12-08 06:40:47 -06:00
thecozies
f5e9c0d710 acts: coin updates 2021-12-08 06:40:26 -06:00
thecozies
91b77c05dd actor documentation: checkboard platform 2021-12-08 06:39:52 -06:00
thecozies
8514254fd3 actor documentation: burn smoke 2021-12-08 06:39:08 -06:00
thecozies
4ed3975973 actors: replaced bin ids 2021-12-08 06:38:44 -06:00
thecozies
ddfc2f6609 actor documentation: breakable box 2021-12-08 06:33:24 -06:00
thecozies
5ae11f3bab actor documentation: bowser 2021-12-08 06:32:47 -06:00
thecozies
830e2ea81c actor documentation: boo castle 2021-12-08 06:32:18 -06:00
thecozies
0a5659ed09 actor documentation: boo 2021-12-08 06:32:04 -06:00
thecozies
e607106cd5 level documentation jrb - wf + entry/scripts 2021-12-08 06:30:57 -06:00
thecozies
7a54020fef level documentation hmc and intro 2021-12-08 06:12:32 -06:00
thecozies
72d0d35274 level documentation a - e 2021-12-08 06:03:40 -06:00
thecozies
696a87c9b0 n64_assert.s 2021-12-07 14:03:15 -06:00
thecozies
1e0db61191 Remove unneeded instructions in math.s 2021-12-07 14:02:50 -06:00
thecozies
6a1d1c489b Updated vscode settings 2021-12-07 14:01:47 -06:00
Gregory Heskett
79db39b06b Merge pull request #104 from PyroJay4/master
NOW its fixed :)
2021-11-16 18:25:29 -05:00
PyroJay4
2e619e5aff Add files via upload 2021-11-16 18:10:44 -05:00
PyroJay4
fa9ff4f9d5 Delete coin_tilt_right.ia8.png 2021-11-16 18:10:27 -05:00
PyroJay4
0aa9d73e8d Delete coin_tilt_left.ia8.png 2021-11-16 18:10:23 -05:00
PyroJay4
be9319e5c4 Delete coin_side.ia8.png 2021-11-16 18:10:19 -05:00
PyroJay4
f3e6641029 Delete coin_front.ia8.png 2021-11-16 18:10:14 -05:00
thecozies
23d34210dd Merge pull request #103 from PyroJay4/master
fix these to have outlines (sorry) (hopefully these will work now)
2021-11-15 20:02:52 -06:00
PyroJay4
9d9ac8eea1 Add files via upload 2021-11-15 20:39:16 -05:00
PyroJay4
734982d608 Delete coin_tilt_right.ia8.png 2021-11-15 20:38:55 -05:00
PyroJay4
1fee018a7f Delete coin_front.ia8.png 2021-11-15 20:38:44 -05:00
562 changed files with 38661 additions and 23148 deletions

2
.gitignore vendored
View File

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

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,25 +67,6 @@ 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
@@ -139,7 +120,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
@@ -147,15 +128,78 @@ 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 := -Ofast
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)
else ifeq ($(COMPILER),clang)
NON_MATCHING := 1
# clang doesn't support ABI 'o32' for 'mips3'
MIPSISET := -mips2
OPT_FLAGS := -Ofast
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)
endif
@@ -178,11 +222,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
@@ -190,7 +234,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)
@@ -208,17 +252,42 @@ 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)
@@ -302,7 +371,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
@@ -327,7 +396,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
@@ -395,9 +464,11 @@ DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES)
# C compiler options
CFLAGS = -G 0 $(OPT_FLAGS) $(TARGET_CFLAGS) $(MIPSISET) $(DEF_INC_CFLAGS)
ifeq ($(COMPILER),gcc)
CFLAGS += -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces
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
else ifeq ($(COMPILER),clang)
CFLAGS += -target mips -mabi=32 -G 0 -mhard-float -fomit-frame-pointer -fno-stack-protector -fno-common -I include -I src/ -I $(BUILD_DIR)/include -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces -fno-jump-tables
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
else
CFLAGS += -non_shared -Wab,-r4300_mul -Xcpluscomm -Xfullwarn -signed -32
endif
@@ -440,7 +511,7 @@ else
RSPASM := $(TOOLS_DIR)/armips
endif
ENDIAN_BITWIDTH := $(BUILD_DIR)/endian-and-bitwidth
EMULATOR = ~/Downloads/mupen64plus/mupen64plus-gui
EMULATOR = mupen64plus
EMU_FLAGS =
LOADER = loader64
LOADER_FLAGS = -vwf
@@ -491,6 +562,7 @@ test: $(ROM)
test-pj64: $(ROM)
wine ~/Desktop/new64/Project64.exe $<
# someone2639
load: $(ROM)
$(LOADER) $(LOADER_FLAGS) $<
@@ -501,7 +573,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/rsp.o: $(BUILD_DIR)/rsp/rspboot.bin $(BUILD_DIR)/rsp/audio.bin
$(BUILD_DIR)/lib/aspMain.o: $(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
@@ -539,13 +611,21 @@ 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
$(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/audio/*.o: OPT_FLAGS := -Os -fno-jump-tables
$(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := -Ofast -fno-unroll-loops -fno-peel-loops --param case-values-threshold=20
$(BUILD_DIR)/src/game/rendering_graph_node.o: OPT_FLAGS := -Ofast --param case-values-threshold=20
$(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))
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)
@@ -559,6 +639,7 @@ $(BUILD_DIR)/src/game/ingame_menu.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/src/game/puppycam2.o: $(BUILD_DIR)/include/text_strings.h
#==============================================================================#
# Texture Generation #
#==============================================================================#

View File

@@ -1,7 +1,5 @@
# ![](https://i.imgur.com/CeOukzk.gif) HackerSM64 ![](https://i.imgur.com/s0LUbTo.gif)
**[Thank you to Kaze Emanuar for these major optimizations!](https://www.youtube.com/watch?v=uYPH-NH3B6k)
**AFTER CLONING THE REPO, CHECK OUT THE `include/config.h` FILE BEFORE ANYTHING ELSE! IT THERE'S A LOT OF STUFF IN THIS REPO THAT CAN BE TOGGLED THERE.**
HackerSM64 now has a discord server! https://discord.gg/brETAakcXr
@@ -12,6 +10,28 @@ This repo needs gcc in order to be able to build it. To install it, run `sudo ap
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`):
**Credits**
- **ArcticJaguar725**: Most audio configuration and layout changes, colored ia4 text, floombas, a bunch of random 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, 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**: 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` repo
- **falcobuster**: 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
**Lighting Engine by Wiseguy**
- 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.

View File

@@ -1,4 +1,4 @@
// unreferenced animation
// unreferenced
// 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,3 +29,6 @@ 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,6 +2,9 @@
// 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_NORMAL, geo_update_layer_transparency),
GEO_ASM(GEO_TRANSPARENCY_MODE_INTER, geo_update_layer_transparency),
#endif
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, burn_smoke_seg4_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, burn_smoke_seg4_dl),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

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

View File

@@ -9,6 +9,9 @@ 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 texture
// unreferenced
// 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: 15 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -133,12 +133,9 @@ 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_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_dl_key_door[];
extern const Gfx door_seg3_sub_dl_themed_handle_near[];
extern const Gfx door_seg3_sub_dl_themed_door_overlay[];
extern const Gfx door_seg3_sub_dl_themed_door_sides[];
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,5 +1,8 @@
// 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,6 +189,7 @@ 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),
@@ -197,6 +198,7 @@ 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(),
@@ -221,6 +223,7 @@ 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),
@@ -229,6 +232,7 @@ 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(),
@@ -253,6 +257,7 @@ 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),
@@ -261,6 +266,7 @@ 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(),
@@ -285,20 +291,7 @@ const GeoLayout key_door_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
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_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_key_door),
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

View File

@@ -13,14 +13,14 @@ const GeoLayout red_flame_geo[] = {
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3E0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B410),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B428),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B440),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B458),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B3B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B3C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B3E0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B3F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B410),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B428),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B440),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B458),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
@@ -32,14 +32,14 @@ const GeoLayout blue_flame_geo[] = {
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B500),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B518),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B530),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B548),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B560),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B578),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B590),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B5A8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B500),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B518),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B530),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B548),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B560),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B578),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B590),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_INTER, flame_seg3_dl_0301B5A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),

View File

@@ -1,5 +1,8 @@
// Flyguy
// ???
UNUSED static const u64 flyguy_unused_1 = 0;
// 0x0800E088
ALIGNED8 static const Texture flyguy_seg8_texture_0800E088[] = {
#include "actors/flyguy/flyguy_cloth_wrinkle.rgba16.inc.c"

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