Compare commits

...

475 Commits

Author SHA1 Message Date
Arceveti
8ea979665c Make mario_blow_off_cap use Mario's hitbox height instead of checking for ACT_FLAG_SHORT_HITBOX again 2022-03-12 14:37:52 -08:00
Arceveti
81ae0e8b3a Some DEGREES macro usage in interaction.c 2022-03-12 14:33:01 -08:00
Arceveti
53f8f96b69 Add bhv_align_to_water 2022-03-12 14:25:13 -08:00
Arceveti
b30a3fe829 Add individual bparam macros for use in level scripts 2022-03-11 17:58:58 -08:00
Arceveti
a073005ee2 Add LOAD_MIO0_TEXTURE define 2022-03-11 17:36:59 -08:00
Arceveti
1ea16fb20e More animation ID enum usage 2022-03-11 17:14:02 -08:00
Arceveti
47285d1806 cur_obj_hide/cur_obj_unhide usage 2022-03-11 17:09:51 -08:00
Arceveti
41c25a63c7 Animation ID enum usage 2022-03-11 16:58:55 -08:00
Arceveti
d79ce5a6d4 Move some more variable assignments out of if statements 2022-03-11 16:32:47 -08:00
Arceveti
e63762d16f small shadow.c formatting fixes 2022-03-11 16:07:32 -08:00
Arceveti
19140bd181 Disable WALL_KICK_TOP_OF_WALLS by default 2022-03-11 15:33:26 -08:00
Arceveti
1197ece93b Move some variable assignments out of if statements 2022-03-11 15:32:35 -08:00
Arceveti
c719655874 Fix climbing down into ledge grab from an ungrabbable floor 2022-03-11 14:27:36 -08:00
Arceveti
2db4e3bbfd Fix LEDGE_GRABS_CHECK_SLOPE_ANGLE 2022-03-11 13:26:09 -08:00
Arceveti
2965c63b0f Add WALL_KICK_TOP_OF_WALLS config define 2022-03-11 13:24:47 -08:00
Arceveti
6d53c7c343 Fix cancelled ledge grabs preventing wall kicks 2022-03-10 16:41:14 -08:00
Arceveti
3ed35e7ee8 Fix false ledge grabs caused by walls above the grabbed floor 2022-03-10 16:38:40 -08:00
Arceveti
21338a2f19 Fix ledge grab wall angle check 2022-03-10 16:38:14 -08:00
Arceveti
cbd714bef5 remove duplicate define for slow ledge grab action 2022-03-09 12:49:40 -08:00
Arceveti
229a185f46 convert more VERSION_EU ifdefs to MULTILANG 2022-03-08 13:40:25 -08:00
Arceveti
959bd977fa Merge branch 'develop/2.0.1' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-03-08 12:49:40 -08:00
Arceveti
82b69cb0b0 Use (MARIO_HITBOX_HEIGHT / 2) in water_ring_calc_mario_dist 2022-03-08 12:47:50 -08:00
axollyon
a0e8600776 Saves default conf on boot now, simplify condition (#321) 2022-03-08 08:49:10 -06:00
Arceveti
5e707ca2b9 Clean up some object_constants.h enums 2022-03-05 14:16:17 -08:00
Arceveti
ccbba15c37 Fix whitespace in create_gfx_task_structure 2022-03-05 13:46:40 -08:00
Arceveti
2e2fed1d9b Tiny puppylights formatting fix in unload_deactivated_objects_in_list 2022-03-05 13:44:47 -08:00
Arceveti
6ee89498a1 Fix bowser sky flames bhv names 2022-02-27 01:08:23 -08:00
Arceveti
c2b1bd1530 Remove duplicate goddard matrix struct 2022-02-26 20:52:32 -08:00
Arceveti
5a5dea44b7 Fix start button resetting game on debug level select 2022-02-26 20:33:15 -08:00
Arceveti
1b72541016 Fix env maps with FIX_REFLECT_MTX disabled 2022-02-25 18:54:59 -08:00
Arceveti
b36651ce79 Rename MARIO_EYE_LEVEL to MARIO_EYE_HEIGHT 2022-02-25 17:24:07 -08:00
Arceveti
01b7926661 Add STATIC_LIGHTS config define 2022-02-25 17:23:28 -08:00
Arceveti
e390a644d5 Add G_CC_ENVIRONMENT 2022-02-25 17:19:49 -08:00
Arceveti
1f75635a8c remove gotos in puppylights.c 2022-02-25 17:00:44 -08:00
Arceveti
3ae4c02054 puppylights formatting consistency 2022-02-25 16:53:13 -08:00
Arceveti
5067aba0eb move evaluate_cubic_spline to math_util 2022-02-25 15:58:27 -08:00
Arceveti
6f7fd90c0a camera enum usage 2022-02-25 15:23:38 -08:00
Arceveti
de0e252477 Fix camera collision & obstruction checks 2022-02-25 14:50:27 -08:00
Arceveti
bc536a7732 ENABLE_VANILLA_CAM_PROCESSING ifdefs 2022-02-25 13:12:38 -08:00
Arceveti
31ea31ec02 Add MAX_COLLISION_RADIUS 2022-02-25 12:42:59 -08:00
Arceveti
a06297b69f Clean up in update_parallel_tracking_camera 2022-02-25 12:32:53 -08:00
Arceveti
ee5b7a791d remove redundant breaks 2022-02-25 12:00:53 -08:00
Arceveti
c67bd7c9c1 Find a new floor when grabbing a pole instead of using a potentially null existing floor 2022-02-25 11:49:19 -08:00
Arceveti
b62a27d4d2 Improve GROUND_POUND_DIVE and GROUND_POUND_DIVE_CHANGES_DIRECTION 2022-02-25 11:40:12 -08:00
Arceveti
785ecdaf25 whitespace consistency fix 2022-02-24 19:49:48 -08:00
Arceveti
9338fa1c5c G_RM_CLD_SURF in dl_transition_color and render_textured_transition 2022-02-24 19:01:59 -08:00
Arceveti
ffe6c177b6 Remove or mark some unused goddard stuff 2022-02-21 19:33:58 -08:00
Arceveti
1509cf4cb5 Improve pole fix comments 2022-02-21 18:58:29 -08:00
Arceveti
58cfa854e9 Add GROUND_POUND_DIVE_CHANGES_DIRECTION 2022-02-21 16:35:54 -08:00
Arceveti
024ac871b3 Fix pole fix issue causing clipping into the floor & upwarp when grabbing pole bottoms + fix potential pole related crash 2022-02-21 16:31:04 -08:00
Arceveti
012602853e min/max func whitespace fix 2022-02-21 16:11:56 -08:00
Arceveti
fe582afb9e Further SHINDOU_POLES ifdef cleanup 2022-02-21 15:39:35 -08:00
Arceveti
e7e49ede62 OBJ_MOVE_NONE usage 2022-02-21 15:31:02 -08:00
Arceveti
ca59680cd0 Remove some extra parentheses in behavior_data.c 2022-02-21 15:23:49 -08:00
Arceveti
2c956657bb velConv variable no longer needed 2022-02-21 15:05:26 -08:00
Arceveti
d4bd046367 Clean up SHINDOU_POLES define/ifdefs 2022-02-21 14:58:16 -08:00
Arceveti
76a499a5e4 fix whitespace inconsistency in interaction.c 2022-02-21 14:49:51 -08:00
Arceveti
ed1d6cc0e3 Add enum for play_climbing_sounds direction arg 2022-02-21 14:47:40 -08:00
Arceveti
f64b523368 Add GROUND_POUND_DIVE 2022-02-21 14:35:09 -08:00
Arceveti
53967e17d7 Make analog_stick_held_back a function and move it to mario.c 2022-02-21 14:34:52 -08:00
Arceveti
03bafbcac0 Add matrix stack fix credit to readme 2022-02-21 14:05:09 -08:00
Arceveti
c1448eb207 Clean up spawn_macro_objects 2022-02-19 16:56:08 -08:00
Arceveti
9511281ee9 Add SpecialPresetTypes enum 2022-02-19 16:08:53 -08:00
Arceveti
9822c04cd0 Free up object field 0x4B for object-specific use 2022-02-19 16:00:53 -08:00
Arceveti
557c420569 re-implement levels with rooms check fix 2022-02-19 15:48:43 -08:00
Arceveti
1aaaae4760 bhv_init_room for bhvBbhTumblingBridge, bhvExclamationBox, bhvMessagePanel 2022-02-19 15:46:57 -08:00
Arceveti
39798a1b6d Add bhv_init_room to bhvMips 2022-02-19 15:32:43 -08:00
Arceveti
886e364068 Fix star doors rendering even when Mario isn't in the same room 2022-02-19 15:30:49 -08:00
Arceveti
f57ec7c73e Remove outdated undefs 2022-02-19 15:16:14 -08:00
Arceveti
e4e78e0060 Fix gd_ptint_ prefixes in gd_math + some gd_math optimization/cleanup 2022-02-19 15:15:27 -08:00
Arceveti
576ec410e0 remove dead code from setup_lights 2022-02-19 15:14:49 -08:00
Arceveti
e38d14820e Goddard flag enums + name some unknowns + remove fillers + some cleanup 2022-02-19 14:20:33 -08:00
Arceveti
f6421d82f9 Fix print_mapinfo and debug.c boolean increments 2022-02-19 11:12:50 -08:00
Arceveti
eac14b09e6 Remove some extra/duplicate newlines 2022-02-18 15:26:39 -08:00
Arceveti
5f73f53c43 Use G_RM_CLD_SURF for full screen transparency & dialog boxes 2022-02-18 15:06:27 -08:00
Arceveti
1af1b3937d More puppycam formatting 2022-02-18 14:55:06 -08:00
Arceveti
ed2890336c Add MARIO_EYE_LEVEL define 2022-02-18 12:14:03 -08:00
Arceveti
cbca469660 obj_has_behavior usage 2022-02-18 11:50:19 -08:00
Arceveti
be6d76dc70 cutscene_spawn_obj enum usage 2022-02-18 11:34:34 -08:00
Arceveti
9cba034725 Remove unused comment & check in camera.c + fix cutscene_door_loop check 2022-02-18 11:29:28 -08:00
Arceveti
50c0bf8db8 Update comment in obj_is_in_view 2022-02-18 11:28:39 -08:00
Arceveti
cb40d9b938 Convert floats to ints in config files + add some vanilla values in comments 2022-02-18 11:27:47 -08:00
Arceveti
a02607e03b Change instances of 0.0f - x to -x 2022-02-17 17:19:00 -08:00
Arceveti
78b90f20db use RGBA32 component macros in debug_box.c env color 2022-02-17 17:17:32 -08:00
Arceveti
5d1c583f8e fix goddard routine names array bounds check in imin() 2022-02-17 17:12:47 -08:00
Arceveti
455f09031f wiggler.inc.c ineq swap 2022-02-17 17:11:41 -08:00
Arceveti
3c4994fe56 Remove outdated comment 2022-02-17 17:11:27 -08:00
Arceveti
68ae7e8602 Fix wrong texture usage in goddard/renderer.c 2022-02-17 17:10:54 -08:00
Arceveti
bd423778dc Merge branch 'develop/2.1.0-matrix-stack-change' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-02-17 00:24:18 -08:00
Mr-Wiseguy
d09bb4ef25 Removed unnecessary matrix multiplications in geo_process_object 2022-02-16 23:46:29 -05:00
Mr-Wiseguy
2c5bf00235 Removed some accidentally added files 2022-02-16 23:46:29 -05:00
Arceveti
ad9a44e033 Fix debug level select happening if L is pressed any time on mario head screen 2022-02-16 15:17:03 -08:00
Arceveti
5a6929f4b4 Convert some object_constants.h define lists to enums (part 4) 2022-02-16 15:12:42 -08:00
Arceveti
2d71eab68e Convert some object_constants.h define lists to enums (part 3) 2022-02-16 14:37:27 -08:00
Arceveti
1b1662587f Convert some object_constants.h define lists to enums (part 2) 2022-02-16 13:49:30 -08:00
Arceveti
d6cbfe3641 Convert some object_constants.h define lists to enums 2022-02-16 13:10:13 -08:00
Arceveti
5ba722e4af obj_mark_for_deletion usage 2022-02-16 12:16:32 -08:00
Arceveti
ca2a34cd43 Remove painting floor check macros 2022-02-16 12:12:15 -08:00
Arceveti
5ca6de67cd More camera.c formatting 2022-02-16 12:08:43 -08:00
Arceveti
5eeec0e6a3 Fix inconsistent newline formatting 2022-02-16 11:23:38 -08:00
Arceveti
d8381d44bd Wiseguy's geo_process_object matrix optimization 2022-02-16 11:14:43 -08:00
Arceveti
f4a69f3d4a Remove 'construct_float' from 'geo_process_level_of_detail' 2022-02-15 22:40:27 -08:00
Arceveti
bf87eee49a Merge branch 'develop/2.1.0-matrix-stack-change' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-02-15 21:53:27 -08:00
Arceveti
aeaca2a880 Fix geo_process_level_of_detail 2022-02-15 21:45:12 -08:00
Arceveti
647599eb1d Fix goddard crash 2022-02-15 21:45:06 -08:00
Arceveti
c3c97cacf6 Merge 'develop/2.1.0-matrix-stack-change' into 'develop/arceveti/general_2' 2022-02-15 21:43:16 -08:00
Mr-Wiseguy
ce31dd4586 Restored vanilla light and env map directions under new matrix stack 2022-02-15 19:44:29 -05:00
Mr-Wiseguy
58d2d3c20f Fixed some areas where the game was previously extracting the camera matrix from various matrices 2022-02-14 22:18:00 -05:00
Arceveti
3f4166830e Optimize out some vec3f_copy's from mtxf_align_terrain_normal 2022-02-14 18:48:52 -08:00
Mr-Wiseguy
f90ad6d2a8 Fixed shadows with new matrix stack 2022-02-14 21:21:51 -05:00
Mr-Wiseguy
ec21aa7e74 Fixed billboarding with new matrix stack 2022-02-14 21:17:24 -05:00
Mr-Wiseguy
11b3bff9f0 Corrected cameraToObject for the new matrix stack (fixes culling and sound) 2022-02-14 19:14:03 -05:00
Mr-Wiseguy
cc7165c1ea Moved camera matrix into projection stack 2022-02-14 18:15:37 -05:00
Arceveti
e7a1796a36 Remove outdated comment 2022-02-14 14:57:01 -08:00
Arceveti
49d2da4572 Merge branch 'develop/2.0.2-puppycam-menu-data' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-02-14 14:48:42 -08:00
Arceveti
f34b9144ea Merge branch 'develop/2.0.2-fix-audio-flags' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-02-14 14:47:47 -08:00
Mr-Wiseguy
9b0b1312fd Wrote function for setting up global light direction in the frame 2022-02-14 17:42:18 -05:00
Arceveti
7bf3e30d7d puppycam formatting + optimization + cleanup 2022-02-14 14:42:12 -08:00
Mr-Wiseguy
9ed1f1a569 Added define guards for the profiler 2022-02-14 17:41:05 -05:00
Mr-Wiseguy
aa04129fd2 Ran script to convert all light commands to lightcolor commands 2022-02-14 17:01:42 -05:00
Mr-Wiseguy
9c645dc642 Changed lingering manual light struct definitions to gdSPDefLights1, made a dummy light for Koopa's pink shorts 2022-02-14 16:56:51 -05:00
Arceveti
245def9efb camera.c formatting 2022-02-14 13:27:29 -08:00
Arceveti
92f5fc4a00 remove construct_float from degrees/radians/angles conversion macros 2022-02-14 11:53:20 -08:00
Arceveti
dd3dea4be4 fix CameraTrigger whitespace formatting 2022-02-14 11:33:11 -08:00
Arceveti
12222ab07a Fix rotate_camera_around_walls 2022-02-14 11:08:49 -08:00
Arceveti
75694a92c2 Merge branch 'comment-issue' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-02-14 10:41:12 -08:00
Arceveti
48d26e65c3 Remove redundant 'gMarioPlatform' pointer 2022-02-13 21:35:01 -08:00
Arceveti
3a820aaa67 Allow for use of controller ports 3 and 4 2022-02-13 19:00:28 -08:00
Arceveti
a02689fcc2 Fix objects' graphical position being at 0,0,0 for 1 frame after being spawned 2022-02-13 17:13:12 -08:00
Arceveti
52b4a4db6c use vanilla decomp formatting for setting Mario's gfx angle 2022-02-13 16:47:40 -08:00
Arceveti
1353f96c39 small formatting fix in bhv_controllable_platform_loop 2022-02-13 16:34:14 -08:00
Arceveti
f9c10f143a Fix duplicate define in level_script.c 2022-02-13 16:22:25 -08:00
Arceveti
214701b8a5 Remove some unused args from object_list_processor functions 2022-02-13 16:12:31 -08:00
Arceveti
6ed276db5a Split find_water_floor_from_list into find_water_bottom_from_list and find_water_top_from_list to allow for checking for dynamic water surfaces. 2022-02-13 10:50:08 -08:00
someone2639
614077ce55 Fix some bad comment descriptions in math_util 2022-02-11 20:47:51 -05:00
Arceveti
4891ea0cc2 Rename 'SURFACE_NEW_WATER' to 'SURFACE_NEW_WATER_TOP' with backwards compatibility 2022-02-10 18:02:18 -08:00
Arceveti
898238c512 some shadow.c optimization 2022-02-10 18:00:43 -08:00
Arceveti
3792407c51 print.c formatting 2022-02-09 17:13:58 -08:00
Arceveti
ebf1379e66 surface_collisions optimization + formatting 2022-02-09 15:47:03 -08:00
Arceveti
8b14a8a591 object_list_processor optimization + formatting 2022-02-09 13:37:09 -08:00
Arceveti
ab5bf1ef7c screen_transition optimization + formatting 2022-02-09 12:20:09 -08:00
Arceveti
4a061bb2d2 Make 'vec3_normalize_max' macro into a function 'vec3f_normalize_max' 2022-02-09 12:07:26 -08:00
Arceveti
f89f6936d3 Rename 'MODEL_STATE_OPACITY_MASK' to 'MODEL_STATE_NOISE_OPACITY_MASK' 2022-02-09 11:56:38 -08:00
Arceveti
7b8db75574 Add LOAD_OBJECT_COLLISION_NEAR_CAMERA 2022-02-09 11:46:09 -08:00
Arceveti
45b8e8b8ec Remove extra header include in math_util 2022-02-09 11:13:28 -08:00
Arceveti
b2b95db05d construct_float usage 2022-02-08 22:15:29 -08:00
Arceveti
d36223b44c remove unused variable from geo_process_z_offset 2022-02-08 21:09:52 -08:00
Arceveti
becff41f4a Add mtx_get_float and mtx_set_float 2022-02-08 21:09:03 -08:00
Arceveti
fe18510469 Fix geo_process_z_offset 2022-02-08 20:08:07 -08:00
Arceveti
8d050c20e3 Add GRAPH_RENDER_NONE 2022-02-08 18:05:54 -08:00
Arceveti
c87feb7e66 Initialize graphNode->drawingLayer in init_scene_graph_node_links 2022-02-08 18:05:27 -08:00
Arceveti
d51708e026 Split GraphNode drawingLayer from flags 2022-02-08 17:37:05 -08:00
Arceveti
f37e3db39c Make some obj_behaviors.c functions s32 2022-02-08 16:54:35 -08:00
Arceveti
3dd8cc0bd5 envfx optimization + name unknowns + formatting 2022-02-08 16:49:17 -08:00
Arceveti
21295f098f struct SurfaceNode offsets 2022-02-08 16:39:24 -08:00
Arceveti
ead83dc99e Fix spelling typo in NUM_CELLS comment 2022-02-08 14:14:50 -08:00
Arceveti
722e093c3e Some typedef usage & BIT macro usage 2022-02-08 14:12:20 -08:00
Arceveti
91bd33aa82 Move precomputed cosine degrees defines to math_util.h 2022-02-08 13:51:59 -08:00
Arceveti
6e4f9ea607 Add SET_LOW_U16_OF_32 & SET_LOW_S16_OF_32 2022-02-08 13:48:09 -08:00
Arceveti
2c95237e5d sm64.h enum cleanup & documentation 2022-02-08 13:37:19 -08:00
Arceveti
a9ff09ad63 Make sm64.h action defines use act flag enums 2022-02-08 11:59:10 -08:00
Arceveti
c683028d23 optimize numWalls position in struct WallCollisionData 2022-02-07 21:10:20 -08:00
Arceveti
1026c3e29b Slight OBJECTS_REJ optimization in geo_process_master_list_sub 2022-02-06 14:40:35 -08:00
Arceveti
5fefdcfdae Fix silhouette occlude layers being rendered twice when OBJECTS_REJ is disabled + make LAYER_ALPHA_DECAL available regardless of silhouette 2022-02-06 14:23:13 -08:00
Arceveti
41e75466b4 Move the newer inline asm functions to math_util.h 2022-02-06 13:01:55 -08:00
Arceveti
5d3ea0f0d8 Bool32 typedef usage for math_util appriach bool functions 2022-02-06 12:36:11 -08:00
Arceveti
5dd0419811 eval_script_op enum usage + formatting 2022-02-06 12:30:34 -08:00
Arceveti
6145cffffd Add BHV_CMD_GET macros for missing types 2022-02-06 12:27:17 -08:00
Arceveti
02b1ad81a3 Prevent entering debug free move when crouching 2022-02-06 12:18:18 -08:00
Arceveti
06e322c47d Add comment for RenderPhases enum 2022-02-06 12:13:33 -08:00
Arceveti
667c87588b Add mention of draw order changes to OBJECTS_REJ and SILHOUETTE comments in config_graphics.h 2022-02-06 12:01:20 -08:00
Arceveti
2ecaed00d3 Update geo_process_master_list_sub description comment + fix some formatting 2022-02-06 11:58:31 -08:00
Arceveti
a352b47e45 Add cur_obj_set_collision_data 2022-02-06 11:55:55 -08:00
Arceveti
2cd7f0b59d Re-add comment about clip ratio in init_rsp 2022-02-06 11:55:43 -08:00
Arceveti
5ba031420a Add find_surface_on_ray_between_points 2022-02-05 16:36:16 -08:00
Arceveti
c87898526a Make 'SURFACE_YAW' a function and rename it to 'get_surface_yaw' 2022-02-05 16:27:47 -08:00
Arceveti
35ccebb1be Make 'get_surface_height_at_location' a function and rename it to 'get_surface_height_at_pos' 2022-02-05 16:18:16 -08:00
Arceveti
05690d229c mario.c enums & formatting consistency 2022-02-05 16:06:01 -08:00
Arceveti
3ac4575791 Add unsigned typedef names + fix whitespace in types.h 2022-02-05 15:54:05 -08:00
Arceveti
bbd4d2faf0 Movtex typedef usage 2022-02-04 15:29:15 -08:00
Arceveti
e4fa9b47f4 Fix yoshi waiting for 100 lives when DISABLE_LIVES is enabled 2022-02-02 16:11:17 -08:00
Arceveti
74a873d2d5 Add config for cap timers 2022-02-02 16:05:41 -08:00
Arceveti
057d981456 Guard set_mario_initial_cap_powerup by ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS 2022-02-02 15:54:29 -08:00
Arceveti
b3e4d14c22 Make sCapFlickerFrames static const 2022-02-02 15:52:51 -08:00
Arceveti
4e4ca992a3 Improve switch order in geo_call_global_function_nodes_helper 2022-02-02 15:08:04 -08:00
Arceveti
cc7d93c544 Add GeoProcessJumpTable 2022-02-02 14:57:16 -08:00
Arceveti
06e6382d4c Clean up painting_generate_mesh a bit + fix commnets formatting 2022-02-02 14:31:05 -08:00
Arceveti
8b12260c40 Fix pitch/yaw absi in next_lakitu_state 2022-02-02 14:24:18 -08:00
Arceveti
dc22db2821 Bool32 for vec3f_compare functions 2022-02-02 14:23:00 -08:00
Arceveti
9561c3af7f Consolidate code for duplicate camera.c and math_util functions 2022-02-02 14:20:57 -08:00
Arceveti
88912eae39 Optimize turn_obj_away_from_surface & current_mario_room_check + move absf_2 backwards compatibility define to math_util.h 2022-02-02 13:09:59 -08:00
Arceveti
b77d7c96dd Fix trig derivatives in update_sliding 2022-02-02 13:07:29 -08:00
Arceveti
2618b51b6b Fix ceil margin check 2022-02-02 12:17:37 -08:00
Arceveti
d656ccbd0a Consolidate camera.c fov functions 2022-02-02 12:08:38 -08:00
Arceveti
c5b9838b76 Add GODDARD_DEBUG_PRINTF config define 2022-02-02 11:26:55 -08:00
Arceveti
7d2ec97d78 Remove prevent_bss_reordering.h includes 2022-02-02 10:59:01 -08:00
Arceveti
94b770b25b player2_rotate_cam CLAMP macro usage 2022-02-02 10:56:36 -08:00
Arceveti
cba5fcd222 Clean up a few ifdefs and fix bug comments 2022-02-02 10:54:41 -08:00
Arceveti
aa862c2f60 main.c spTask names in switch + small whitespace fix 2022-02-02 10:30:48 -08:00
Arceveti
fb67f18ead Add BackgroundNoiseOp enum 2022-02-02 10:23:19 -08:00
Arceveti
e17367f76e Add TIME_STOP_FLAGS_NONE 2022-02-01 23:36:12 -08:00
Arceveti
a3bf74b77c CutsceneSplinePoint whitespace alignment 2022-02-01 23:34:30 -08:00
Arceveti
7ae988b09c Make camera.c functions 32 bit + fix else in cutscene_enter_painting 2022-02-01 23:09:00 -08:00
Arceveti
b7d6e1a56c Fix TTM painting crash when moving the camera immediately after entering 2022-02-01 23:04:40 -08:00
Arceveti
6200fba277 Slight painting_generate_mesh optimization 2022-02-01 22:50:13 -08:00
Arceveti
94a5a429f8 Fix Goddard Z press crash by stubbing gd_printf by default 2022-02-01 22:11:02 -08:00
Arceveti
7632aba660 remove stubbed functions from goddard/renderer.c 2022-02-01 22:07:30 -08:00
Arceveti
33b4465882 add newline at the end of osSyncPrintf in append_puppyprint_log 2022-02-01 22:02:08 -08:00
Arceveti
0d2940f912 Clarify crash handler ifdef 2022-02-01 21:53:59 -08:00
Arceveti
0bce883c16 Fix TTC clock mechanics with new paintings 2022-02-01 20:05:10 -08:00
Arceveti
ef305eea7f Fix copy paste error in generate_yellow_sparkles 2022-01-31 20:29:05 -08:00
Arceveti
2b9a928f90 Remove some small stuff that was just needed for matching vanilla 2022-01-31 20:24:59 -08:00
Arceveti
2d03572d3c Remove goddard UB ifdefs 2022-01-31 20:12:42 -08:00
Arceveti
719ba375be intro geo formatting 2022-01-31 20:03:15 -08:00
Arceveti
ed0016c7f4 Enable KEEP_MARIO_HEAD by default 2022-01-31 19:08:12 -08:00
Arceveti
f43c5c4e03 Clarify comment in bhv_painting_init 2022-01-31 19:07:54 -08:00
Arceveti
cd793de09b Whitespace fix in object_fields.h 2022-01-31 18:42:20 -08:00
Arceveti
1329a45f51 Rename 'hitboxView' to 'gVisualHitboxView' and 'surfaceView' to 'gVisualSurfaceView' 2022-01-31 17:50:03 -08:00
Arceveti
9a561df389 Add enum for gVisualDebugViewCycle 2022-01-31 17:43:16 -08:00
Arceveti
2dd3808f71 Rename 'viewCycle' to 'gVisualDebugViewCycle' 2022-01-31 17:35:32 -08:00
Arceveti
3faba2722c make star_dance_bound_yaw use inline abss function 2022-01-31 17:15:16 -08:00
Arceveti
68c8aeb3d6 Add asm inline ceilf & floorf 2022-01-31 16:53:15 -08:00
Arceveti
49ab98b789 Make find_floor_slope s32 2022-01-31 16:02:10 -08:00
Arceveti
d4b9b708b8 Update RAYCAST_WALL_COLLISION comment 2022-01-31 16:01:30 -08:00
Arceveti
3db0f4c2ca Add PITCHED_LONG_JUMPS 2022-01-31 15:58:42 -08:00
Arceveti
50399aedc9 Reduce code repetition in find_surface_on_ray_cell 2022-01-31 13:42:00 -08:00
Arceveti
f447173abe Improve RaycastFlags enum 2022-01-31 13:16:49 -08:00
Arceveti
3ebce8e203 Slight raycast_collision_walls optimization 2022-01-31 12:58:28 -08:00
Arceveti
3a2ac42e9a fix arg name order for raycast_collision_walls in surface_collision.h 2022-01-31 12:54:16 -08:00
Arceveti
56138ddc9a Add RAYCAST_WALL_COLLISION 2022-01-29 21:20:03 -08:00
Arceveti
37557a18af Add various defines for mario collision constants 2022-01-29 20:49:34 -08:00
Arceveti
0abc97c092 Tiny formatting fix 2022-01-29 20:38:55 -08:00
Arceveti
56e0a64856 Convert some longs to floats 2022-01-29 20:25:52 -08:00
Arceveti
30505ce50b Update readme + add/fix Kaze credit 2022-01-29 14:23:29 -08:00
Arceveti
fa5ded2347 Make get_cell_coord a function + add Kaze's cell buffer fix 2022-01-29 14:22:04 -08:00
Arceveti
c95a55b21b Improve note in silhouette comment 2022-01-28 19:06:17 -08:00
Arceveti
636e127c5e Improve DISABLE_AA define in n64 gbi.h 2022-01-28 17:00:59 -08:00
Arceveti
7614f0bdef remove unused nop geo commands 2022-01-28 15:45:35 -08:00
Arceveti
fc809909bf Combine translation & rotation nodes, & fix graph node comments 2022-01-28 15:42:35 -08:00
Arceveti
62e2fb2f9e local pointer to MarioState struct in execute_mario_action, init_mario, and init_mario_from_save_file 2022-01-28 14:13:22 -08:00
Arceveti
ee31423400 degrees_to_angle & angle_to_degrees usage 2022-01-28 13:46:45 -08:00
Arceveti
7eac14fcd7 Merge branch 'develop/2.0.2/puppyprint_env_color' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-28 13:04:57 -08:00
Arceveti
1bdc3f8e04 Fix build 2022-01-28 13:04:24 -08:00
Arceveti
b811bad9f1 Remove extra env reset 2022-01-28 12:46:08 -08:00
Arceveti
20e380f0be Merge branch 'develop/2.0.2/puppyprint_env_color' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-28 12:41:06 -08:00
Arceveti
bb03fe5bc2 Reset env color in render_game instead 2022-01-28 12:38:31 -08:00
Arceveti
9c2a721578 Merge branch 'develop/2.0.2/puppyprint_env_color' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-27 21:37:45 -08:00
Arceveti
0cfe36c8c0 Fix puppyprint env color not being reset properly 2022-01-27 21:36:43 -08:00
Arceveti
30df6e9ce8 Fix puppyprint env color not being reset properly 2022-01-27 21:28:21 -08:00
Arceveti
53ae9472cf Extended Bounds config refactor 2022-01-27 21:25:50 -08:00
Arceveti
e774e92287 Split 'ALLOW_OOB' into 'ALLOW_NULL_FLOORS' and 'ALLOW_OUTSIDE_LEVEL_BOUNDS' 2022-01-27 14:50:41 -08:00
Arceveti
8d62b5a17b Add menu_mtx_push_op 2022-01-27 12:45:01 -08:00
Arceveti
ac6f6d4e75 Change default extended bounds mode to 0 2022-01-27 12:44:04 -08:00
Arceveti
b0523a1ee1 Remove unused SIL_CVG_THRESHOLD define 2022-01-27 12:43:30 -08:00
Arceveti
980ca7dd1c Merge branch 'develop/2.0.2/fix_fix_water_rings' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-26 18:26:13 -08:00
Arceveti
ade548bfea Fix build error when FIX_WATER_RINGS is disabled 2022-01-26 18:22:16 -08:00
Arceveti
85a4f94fa9 geo_commands & geo_layout enums 2022-01-26 18:01:16 -08:00
Arceveti
cb1a987afa Make 'inc_mat_stack' and 'append_dl_and_return' nonstatic + add 'get_curr_anim_info' + rendering_graph_node.c formatting fixes 2022-01-26 17:28:03 -08:00
Arceveti
93d2bf38c9 Fix build warning in func_8018100C 2022-01-26 15:48:27 -08:00
Arceveti
7e3b54a315 Bowser sub action documentation 2022-01-26 15:34:51 -08:00
Arceveti
96e7d6a010 bowser.inc.c obj_become_tangible/intangible usage 2022-01-26 15:26:40 -08:00
Arceveti
b4759e70bf mario.c absf usage + small refactoring 2022-01-26 15:25:41 -08:00
Arceveti
8dd24bc83c Remove unused ukiki function and bowser beta leftover 2022-01-26 15:21:30 -08:00
Arceveti
d1d5971724 Bowser & Boo 'INTERACT_NONE' usage 2022-01-26 15:13:26 -08:00
Arceveti
3b95c16362 Improve PunchStateTypes enum 2022-01-26 15:12:24 -08:00
Arceveti
5eccc917e9 Use inline abs functions in camera.c, puppycam2.c, and puppylights.c 2022-01-26 13:52:11 -08:00
Arceveti
1bfd44f2aa Improve inline abs functions & add description for FLT_IS_NONZERO 2022-01-26 13:51:34 -08:00
Arceveti
dc4a0b9151 Improve crash screen scrolling 2022-01-25 01:57:36 -08:00
Arceveti
7cee4ef9fe A few formatting fixes in surface_load.c 2022-01-24 20:29:35 -08:00
Arceveti
53437e41a2 Fix Bully NaN crash 2022-01-24 17:17:07 -08:00
Arceveti
235df32ab9 Use sMarioGeometry.waterHeight in calc_y_to_curr_floor 2022-01-24 17:09:49 -08:00
Arceveti
72bda3a422 Replace doubles with floats 2022-01-24 15:51:05 -08:00
Arceveti
3188001c57 Make donut platforms into individual objects instead of one level-specific spawner with hardcoded positions 2022-01-24 14:55:54 -08:00
Arceveti
0bd2f8cf97 Small formatting fixes in some behavior files 2022-01-24 13:19:40 -08:00
Arceveti
a535dab966 Reimplement 'FIX_WATER_RINGS' 2022-01-24 11:22:33 -08:00
Arceveti
e5f2c7d119 Reimplement FIX_WATER_RINGS 2022-01-24 11:18:01 -08:00
Arceveti
e5f670cafa Fix rectangle 2022-01-24 11:04:13 -08:00
Arceveti
a08258da0a Add warning for console crash when moving 65536 units away wien ALLOW_OOB is enabled 2022-01-23 21:48:20 -08:00
Arceveti
0876eb4eee Add HOLP_HEIGHT_FIX 2022-01-23 19:20:13 -08:00
Arceveti
3a485b2a9b MARIO_COLLISION_RADIUS usage + some formatting fixes 2022-01-23 19:12:12 -08:00
Arceveti
01a6f0c049 Fix breath meter showing up in cannon hud 2022-01-23 18:35:22 -08:00
Arceveti
b46b607c91 Replace most instances of gDisplayListHead++ with a local pointer 2022-01-23 18:34:11 -08:00
Arceveti
9307177bc2 Fix build warnings with UNF ?= 1 2022-01-23 18:29:41 -08:00
Arceveti
b4f7b61417 Merge branch 'develop/2.0.2/fix_objects_rej' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-23 17:23:52 -08:00
Arceveti
47623a4297 Actually fix Mario rendering 2022-01-23 17:23:19 -08:00
Arceveti
ada64ae461 Merge branch 'develop/2.0.2/fix_objects_rej' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-23 15:33:52 -08:00
Arceveti
0d4c100e3e Fix Mario rendering 2022-01-23 15:33:03 -08:00
Arceveti
0587fa2a1d Merge branch 'develop/2.0.2/fix_objects_rej' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-23 13:54:31 -08:00
Arceveti
7714accddd Fix OBJECTS_REJ build error & warning 2022-01-23 13:45:38 -08:00
Arceveti
59bfc5b19e Clean up & document ledge grab code a bit 2022-01-22 22:04:11 -08:00
Arceveti
5c382600c3 Merge branch 'develop/2.1.0-shear-shadows' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-22 19:22:29 -08:00
Arceveti
0796286581 Merge branch 'develop/2.1.0-shear-shadows' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-22 19:20:10 -08:00
Mr-Wiseguy
e113978834 Fixed typo in config_graphics.h 2022-01-22 22:19:40 -05:00
Mr-Wiseguy
37632f3954 Implemented shear shadows and slightly faster mtxf_to_mtx function 2022-01-22 22:13:12 -05:00
Arceveti
94ef672ec5 Fix crash screen framebuffer on console 2022-01-22 19:12:32 -08:00
Arceveti
cdb35e9fd0 Remove commented code 2022-01-22 18:54:12 -08:00
Arceveti
898a293d30 Revert FLT_IS_NONZERO 2022-01-22 18:53:51 -08:00
Arceveti
dd9d14febe SURFACE_YAW usage 2022-01-22 15:35:15 -08:00
Arceveti
69cf9986ca Enable BREATH_METER, HANDS_FREE_HOLDING_FIX, LEDGE_GRABS_CHECK_SLOPE_ANGLE, BLUE_COIN_SWITCH_RETRY, TINY_GOOMBA_ALWAYS_DROPS_COIN, MR_I_PITCH_SHOOTING 2022-01-22 14:20:25 -08:00
Arceveti
ddcd9bcd22 Merge branch 'develop/2.0.1' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-22 14:09:35 -08:00
Arceveti
4265019923 Fix NON_STOP_STARS & bhvCelebrationStar related issues with Bowser keys (#299)
Fix NON_STOP_STARS issues & bhvCelebrationStar related issues with Bowser keys
2022-01-22 14:07:55 -08:00
Reonu
ad91c636ad Update name of lighting engine branch in readme
sorry for pushing to master :(((((((((((((
2022-01-22 11:11:51 +02:00
Arceveti
59bd837ad1 Merge branch 'develop/2.0.1' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-21 20:53:41 -08:00
Arceveti
730f020b6d Fix formatting inconsistencies in config files (#303)
Fix formatting inconsistencies in config files
2022-01-21 20:00:25 -08:00
Arceveti
30ccf3b862 Merge branch 'develop/arceveti/crash_screen' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-21 19:03:38 -08:00
Arceveti
50cff1a700 More colors 2022-01-21 19:02:10 -08:00
Arceveti
2f539f8f74 insn_disasm syntax highlighting 2022-01-21 18:37:37 -08:00
Arceveti
64f6eab135 Change crash screen colors to use in-string hex codes 2022-01-21 18:12:55 -08:00
Arceveti
33250f39b5 Crash screen ascii support, colored font, better controls, framebuffer fix, stacktrace scrolling, togglable crash sound, and more 2022-01-21 18:10:12 -08:00
Arceveti
4225dc822e Merge branch 'develop/2.0.1' of https://github.com/Reonu/HackerSM64 into develop/arceveti/general_2 2022-01-20 20:01:03 -08:00
Arceveti
b066b22152 paintings.c formatting fixes 2022-01-20 19:53:40 -08:00
Arceveti
38c34f6c32 Remove unused enums 2022-01-20 19:37:26 -08:00
Arceveti
d40af9bdaf Remove unused gDddPaintingStatus 2022-01-20 19:19:14 -08:00
Arceveti
5789c2a4ab Replace 'gEnteredPaintingId' with 'gEnteredPainting' pointer 2022-01-20 19:15:02 -08:00
Arceveti
67d24758d6 Add 'obj_nearest_object_with_behavior_and_condition' and fix painting entrance cutscene with overlapping paintings 2022-01-20 19:04:43 -08:00
Arceveti
b85b3186fb Re-implement RR warp via invisible painting + convert painting struct members to object fields + fix issues with paintings near each other + fix painting eject sound + fix painting entrance & exit cutscenes 2022-01-20 18:28:05 -08:00
Arceveti
9f8abc8009 Make 'level_trigger_warp' and 'level_control_timer' return values 32 bits 2022-01-20 13:59:16 -08:00
Arceveti
72c55e876f area.c formatting fixes 2022-01-20 13:52:42 -08:00
Arceveti
44a65b36e9 Add OBJECT_FIELD_U16 and OBJECT_FIELD_PAINTING, also free up another space for object specific fields 2022-01-20 13:06:57 -08:00
Arceveti
39a7041cd5 Enable silhouette by default 2022-01-20 12:17:31 -08:00
Arceveti
02439a6e95 Add obj_become_intangible + improve cur_obj_find_nearest_object_with_behavior 2022-01-20 11:05:47 -08:00
Arceveti
f47927a8c2 Rename 'NUM_PAINTINGS' to 'NUM_PAINTING_WARP_NODES' 2022-01-19 17:49:13 -08:00
Arceveti
3e95a859b1 Sort donut platform groups in sDonutPlatformPositions 2022-01-19 17:46:48 -08:00
Arceveti
483b72e7da Fix render menu buttons functions (#300) 2022-01-19 14:41:14 -08:00
Axollyon
f29f6e5b5c Saves default conf on boot now, simplify condition 2022-01-19 17:19:48 -05:00
Mr-Wiseguy
331335c3c2 Fixed makefile issue causing audio files to be compiled with different flags the first time they're built 2022-01-18 16:25:22 -05:00
Arceveti
97d821cd77 Fix behavior script GOTO crashes 2022-01-18 09:14:13 -08:00
Arceveti
62cf6550ec Combine some painting functions and remove some unused struct members 2022-01-18 08:51:08 -08:00
Arceveti
a360e3c0a6 Combine painting_state arg + run painting_update_floors earlier 2022-01-18 07:20:16 -08:00
Arceveti
aa009cba7b Some paintings documentation 2022-01-18 06:57:44 -08:00
Arceveti
89d74b3545 Fix behavior command names of int/short operations 2022-01-18 06:24:43 -08:00
Arceveti
ea784b9e9e Add ALLOW_OOB + fix null floor crashes 2022-01-18 05:54:12 -08:00
Arceveti
b033308b31 COURSE_NUM_TO_INDEX usage 2022-01-18 05:05:54 -08:00
Arceveti
42af5c5985 Rename 'bhvDddMovingPole' to 'bhvBitfsSinkingCagePole' 2022-01-18 04:53:08 -08:00
Arceveti
f68fa0dfe8 Spelling fix 2022-01-18 04:51:53 -08:00
Arceveti
810858cedc Add 'MARIO_HITBOX_HEIGHT', 'MARIO_SHORT_HITBOX_HEIGHT', and 'MARIO_COLLISION_RADIUS' 2022-01-18 04:48:02 -08:00
Arceveti
3a9139e379 Replace 'find_room_floor' with 'get_room_at_pos' 2022-01-18 04:29:48 -08:00
Arceveti
58b9f7058f Add VARIABLE_NUM_STEPS 2022-01-18 03:27:34 -08:00
Arceveti
969ea2c6ea Change default number of subframe steps 2022-01-18 03:26:42 -08:00
Arceveti
a7d808f84c Add VERTICAL_CULLING 2022-01-18 02:42:54 -08:00
Arceveti
837a55a040 Add defines for unused sounds in sounds.h & name remaining sounds 2022-01-17 21:40:25 -08:00
Arceveti
c8e5dcef67 Fix vanilla paintings roll 2022-01-17 21:27:40 -08:00
Mr-Wiseguy
a7b208e8e8 Added CPU audio to lightweight profiler 2022-01-17 19:23:48 -05:00
Arceveti
a471544097 Merge https://github.com/CrashOveride95/ultrasm64 into develop/arceveti/general_2 2022-01-17 13:14:34 -08:00
Arceveti
dd2dc2b2bd Add config defines for number of steps (quarter steps) 2022-01-17 13:12:26 -08:00
Arceveti
eb405d3c8b Add unused entries to ObjFlags enum 2022-01-17 12:53:58 -08:00
Arceveti
e294292dd5 Add EXCLAMATION_BOXES_ALWAYS_SOLID 2022-01-17 12:53:00 -08:00
Arceveti
66cd292dcc Improve debug level select exit combo 2022-01-17 12:50:22 -08:00
Arceveti
67cacb4d14 Add knockback action index enums 2022-01-17 12:47:44 -08:00
Arceveti
db7e6dcb9b enum for act_idle actionArg 2022-01-17 12:45:35 -08:00
Arceveti
ced30c9659 Add ATTACK_FROM_LANDING 2022-01-17 12:45:01 -08:00
Arceveti
114f10a6a4 Improve shadow UVs 2022-01-17 12:43:08 -08:00
Arceveti
341356daac Add MIDAIR_STAR_DANCE 2022-01-17 12:40:29 -08:00
Arceveti
ec8caea02c Rename 'bhvFishGroup' to 'bhvAquariumBubbles' 2022-01-17 12:36:33 -08:00
Arceveti
61ef8bb9a8 Add IMMEDIATE_LONG_JUMPS 2022-01-17 12:34:44 -08:00
Arceveti
c9dca2cdc1 Remove unused beta function 2022-01-17 12:32:05 -08:00
Arceveti
12a8170bda Remove unused field in ExclamationBoxContents + activated_bf_plat defines 2022-01-17 12:31:07 -08:00
Arceveti
e17a469c72 Make GEO_ASM parameter an s32 2022-01-17 12:24:47 -08:00
Arceveti
2cd9275677 Add DEFAULT_DRAWING_DISTANCE define 2022-01-17 12:22:35 -08:00
Arceveti
2692320f9d Add painting objects 2022-01-17 12:21:26 -08:00
Arceveti
5137facd77 Add star glow 2022-01-17 12:19:35 -08:00
Arceveti
53e130b4cf Add GEO_Z_OFFSET 2022-01-17 12:16:42 -08:00
Arceveti
0cf38f63be Fix some config descriptions 2022-01-17 12:10:45 -08:00
Arceveti
8a4167b5f3 pole fix 2022-01-17 12:07:12 -08:00
Arceveti
6287804353 Move alignment macros to macros.h 2022-01-17 12:05:24 -08:00
Arceveti
6646edcade Painting id enums 2022-01-17 11:17:38 -08:00
Arceveti
abb64638f2 Remove outdated comment 2022-01-17 10:01:01 -08:00
Arceveti
05d85fea8c Use 'degrees_to_angle' in 'read_vec3s_angle' 2022-01-17 09:44:42 -08:00
Arceveti
077896456e Add 'vec3f_local_pos_to_world_pos' and 'vec3f_world_pos_to_local_pos' 2022-01-17 08:40:09 -08:00
Arceveti
970551cdc6 rectangle 2022-01-17 07:28:03 -08:00
Arceveti
6df32bd6ca Remove GRAPH_NODE_TYPE_FUNCTIONAL define & restore functionality using an alternative method. 2022-01-17 07:24:30 -08:00
Arceveti
f756c75fee Merge branch 'develop/2.0.1' of https://github.com/Reonu/HackerSM64 into develop/arceveti/painting_objects 2022-01-17 07:17:42 -08:00
Arceveti
4bc21fd32e New version of FLT_IS_NONZERO 2022-01-17 07:17:05 -08:00
Arceveti
9283a25960 Some formatting fixes 2022-01-17 07:16:53 -08:00
Arceveti
36d41a7f94 Renamed HackerSM64 modified assets so they don't conflict with vanilla assets (#293) 2022-01-16 21:30:06 -08:00
Arceveti
af34a81c06 Fix credits text ifdef (#301) 2022-01-16 21:29:06 -08:00
Mr-Wiseguy
52600eb453 Added RSP profiling to the lightweight profiler 2022-01-16 23:31:13 -05:00
Mr-Wiseguy
ee5f5adc9d Implemented new lightweight CPU/RDP profiler 2022-01-16 17:18:11 -05:00
Arceveti
19a68b94f6 object_helpers & obj_behaviors_2.c formatting fixes 2022-01-16 04:20:47 -08:00
Arceveti
a159b9d283 Fix DDD painting ID crash 2022-01-15 23:19:34 -08:00
Arceveti
7dcc2e866f obj_translate_local uses mtxf_translate_local_vec3f 2022-01-15 23:16:14 -08:00
Arceveti
4a0a19981c Merge branch 'develop/2.0.1' of https://github.com/Reonu/HackerSM64 into develop/arceveti/painting_objects 2022-01-15 23:04:43 -08:00
Arceveti
49ab678594 Rename 'mtxf_rotate_xy' to 'mtx_rotate_xy' 2022-01-15 23:00:39 -08:00
Arceveti
1f25450971 A couple tiny formatting fixes 2022-01-15 22:59:07 -08:00
Arceveti
309a28f85d paintings.c/paintings.h refactoring. Paintings no longer need 3 separate floors for wobble/ripples 2022-01-15 21:17:35 -08:00
Mr-Wiseguy
3fac5ad059 Downgraded from F3DZEX2.08J to F3DZEX2.08I so that point lighting works on Jabo (#313)
* Downgraded from F3DZEX2.08J to F3DZEX2.08I so that point lighting works on Jabo

* Swapped to MM's rspboot to fix bug caused by MM's F3DZEX2
2022-01-15 01:09:34 -05:00
Arceveti
7d3c38b185 + ratio 2022-01-14 21:57:17 -08:00
Arceveti
6ba4fcdba1 Set oDrawingDistance to 4500 for WF breakable walls (#304) 2022-01-14 19:38:10 -08:00
Arceveti
38c6e456f1 Fix level enum conflict with 99+ levels (#307) 2022-01-14 19:37:56 -08:00
Arceveti
67b29b47fa Fix painting spikes + formatting 2022-01-14 19:36:47 -08:00
Mr-Wiseguy
7b58f63cbc Merge pending master hotfixes into 2.0.2 #311 2022-01-14 22:25:09 -05:00
Mr-Wiseguy
475e039f8a Fixed hackersm64 using a ucode that never existed (#309) 2022-01-15 03:13:40 +00:00
Arceveti
14639ed769 paintings.c formatting 2022-01-14 18:44:05 -08:00
Arceveti
928a407c07 Add OBJECT_FIELD_F32P 2022-01-14 18:32:54 -08:00
Arceveti
9bb09d0947 paintings.c formatting 2022-01-14 18:12:01 -08:00
Arceveti
8eb930c0b3 Add asF32P to object field union 2022-01-14 17:31:45 -08:00
Arceveti
43478ffaca paintings.c formatting 2022-01-14 17:31:10 -08:00
Arceveti
e6f7680791 Some interaction.c formatting 2022-01-14 17:15:50 -08:00
Arceveti
688c970e01 Add WARP_DEST_LEVEL_NUM_MASK 2022-01-14 15:50:32 -08:00
Arceveti
449ebc0a7a Re-implement painting changes from develop/arceveti/general & sm64v2 2022-01-14 15:30:13 -08:00
CrashOveride95
46b725b3fc make load now sends ROM to console by way of UNFLoader
To use, run make install when building UNFLoader to install it system wide
(this feature is currently in PR-status at that repo)
2022-01-12 19:27:06 -05:00
Arceveti
e63d20b420 Merge branch 'develop/arceveti/2.0.2/fix_levelnum_enum' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-12 15:06:09 -08:00
Arceveti
ed3a9f77f4 Merge branch 'develop/arceveti/2.0.2/fix_non_us_builds' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-12 15:05:55 -08:00
Arceveti
2329786f88 Make CLEARRAM mandatory (#297) 2022-01-12 15:00:22 -08:00
Arceveti
6980dcaa03 Fix level enum conflict with 99+ levels 2022-01-12 14:40:43 -08:00
Arceveti
03347f5ffd Fix build warnings & errors when building non-US versions 2022-01-11 21:44:56 -08:00
Arceveti
59ad3b7872 Merge branch 'develop/arceveti/2.0.2/consistent_config_formatting' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-11 20:12:19 -08:00
Arceveti
77c777308b Merge branch 'develop/arceveti/2.0.2/wf_breakable_wall_drawing_distance' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-11 20:09:07 -08:00
Arceveti
a3398ac240 Merge branch 'develop/arceveti/2.0.2/fix_credits_text' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-11 20:08:53 -08:00
Arceveti
979507c38e Merge branch 'develop/arceveti/2.0.2/render_menu_buttons' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-11 20:08:35 -08:00
Arceveti
b46ea36257 Merge branch 'develop/arceveti/2.0.2/non_stop_stars' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-11 20:08:19 -08:00
Arceveti
a3e3d03174 Merge branch 'develop/arceveti/2.0.2/mandatory_clear_ram' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-11 20:08:07 -08:00
Arceveti
6f123cc9a2 Merge branch 'develop/arceveti/2.0.2/rename_modified_assets' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-11 20:07:40 -08:00
Arceveti
efebc84e44 Merge branch 'develop/2.0.1' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-11 20:07:08 -08:00
Arceveti
6524aa7655 Set oDrawingDistance to 4500 for WF breakable walls 2022-01-11 20:05:12 -08:00
Arceveti
b46c39b7a4 Fix formatting inconsistencies in config files 2022-01-11 19:15:47 -08:00
Arceveti
22ba19a9a4 Fix credits text ifdef 2022-01-11 18:49:24 -08:00
Arceveti
ba67dee11b Fix render menu buttons functions 2022-01-11 18:30:50 -08:00
Arceveti
41c5aec748 Fix NON_STOP_STARS & bhvCelebrationStar related issues with Bowser keys 2022-01-11 17:28:47 -08:00
Arceveti
d3f1cf3e7d Make CLEARRAM mandatory 2022-01-11 14:56:28 -08:00
Arceveti
ca9f7967c8 Merge pull request #285 from Reonu/develop/arceveti/2.0.1/mr_i_iris_clipping
Fix wrong Y offset for Mr. I iris
2022-01-11 14:01:25 -08:00
Arceveti
2fff062d11 Merge branch 'develop/2.0.1' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-10 21:08:46 -08:00
Arceveti
b6a8a34555 Renamed HackerSM64 modified assets so they don't conflict with vanilla assets 2022-01-10 21:02:21 -08:00
Arceveti
1b66355249 Merge pull request #284 from Reonu/develop/arceveti/2.0.1/jp_baserom_requirement
JP Baserom is no longer required for US build
2022-01-10 20:52:31 -08:00
Arceveti
0789cf118e Only extract assets from JP/EU/SH roms if they exist 2022-01-10 20:50:37 -08:00
Arceveti
1b37e627bc Merge pull request #283 from Reonu/develop/arceveti/2.0.1/no_getting_buried_compiler_warning
Fix build warning when NO_GETTING_BURIED is enabled
2022-01-10 20:31:38 -08:00
Arceveti
886d9841a8 Better Mr. I offset fix 2022-01-10 18:27:08 -08:00
Arceveti
8dbe75bfc9 Better Mr. I offset fix 2022-01-10 18:24:53 -08:00
Arceveti
d8a844482c Merge branch 'master' of https://github.com/Reonu/HackerSM64 into develop/arceveti/collision_tests 2022-01-09 18:10:44 -08:00
Arceveti
c9d85d671e Merge https://github.com/CrashOveride95/ultrasm64 into develop/arceveti/collision_tests 2022-01-09 18:09:47 -08:00
Arceveti
0a01b65348 Merge Ultrasm64 2022-01-09 17:57:14 -08:00
Arceveti
e8c9e5d799 whitespace fix 2022-01-08 00:42:59 -08:00
Arceveti
dab30aad2d implement math_util create_transformation_from_matrices and mtxf_held_object 2022-01-08 00:41:40 -08:00
Arceveti
c039fac22e whitespace fiix + function labelling 2022-01-08 00:39:34 -08:00
Arceveti
79a9f94a71 Re-implement some math_util changes from develop/arceveti/general 2022-01-08 00:35:26 -08:00
Arceveti
198388067c Remove deprecated 'register' keyword from math_util 2022-01-08 00:24:25 -08:00
Arceveti
5a0800c71a replace unused global vectors with identityMtx 2022-01-08 00:14:47 -08:00
Arceveti
c2ca2387ac load_object_collision_model local variables for marioDist, colDist, and and drawDist, + fix get_optimal_collision_distance when no collision data exists, + local object struct pointer for transform_object_vertices and load_object_surfaces 2022-01-08 00:13:33 -08:00
Arceveti
d8cf9ccbb6 load_static_surfaces hasForce consistency 2022-01-08 00:00:07 -08:00
Arceveti
7b41245a0c Fix wrong Y offset for Mr. I iris 2022-01-07 23:57:23 -08:00
Arceveti
16f931f71f JP Baserom is no longer required for US build 2022-01-07 23:56:38 -08:00
Arceveti
b010be6f87 Fix build warning when NO_GETTING_BURIED is enabled 2022-01-07 23:56:10 -08:00
Arceveti
6ab779db0b Make bhv_init_room automatically detect if the current area has room data instead of checking a hardcoded array of level numbers. 2022-01-07 23:55:21 -08:00
Arceveti
076382a995 Add config define to make JRB mist and DDD objects act-specific. 2022-01-07 23:53:52 -08:00
Arceveti
ee4ceb9fc8 Make is_behind_surface use existing surface normals 2022-01-07 23:51:40 -08:00
Arceveti
b9d1b47be7 Update find_wall_collisions_from_list comments 2022-01-07 23:50:49 -08:00
Arceveti
7b5af80bfb function names 2022-01-07 23:37:27 -08:00
Arceveti
b0b2e902dd Update check_wall_edge 2022-01-07 23:35:19 -08:00
Arceveti
7f78764ebd find_water_level Y arg 2022-01-07 22:21:51 -08:00
Arceveti
7d21cb068c Re-add some stuff from develop/arceveti/general + formatting_changes + name some unknowns + remove gotos from find_wall_collisions_from_list + jrb ship rendering fixes + visual_debug rendering fixes 2022-01-07 22:21:25 -08:00
Mr-Wiseguy
25951363b7 Increment version hotfix 2022-01-07 14:14:47 -05:00
Mr-Wiseguy
797f9fa223 Reverted moving the buffers to fix pool issues 2022-01-07 13:54:04 -05:00
Arceveti
3d24cdee18 Merge pull request #280 from Reonu/develop/arceveti/2.0.1/hardcoded_cos_values
Fix hardcoded cos values in sm64.h
2022-01-07 00:00:59 -08:00
Arceveti
c9523aaa0b Fix wrong Y offset for Mr. I iris 2022-01-04 23:31:39 -08:00
Arceveti
84bbd2ae14 JP Baserom is no longer required for US build 2022-01-04 22:55:19 -08:00
Arceveti
9caafc54eb Fix build warning when NO_GETTING_BURIED is enabled 2022-01-04 22:18:35 -08:00
Arceveti
feff004ef9 Fix hardcoded cos values in sm64.h 2022-01-02 18:46:31 -08:00
Reonu
9d7d56989e New lighting engine branch name in readme 2022-01-01 23:47:08 +00:00
thecozies
f3e61a31aa HackerSM64 v2.0.0
* buffers: refresh 15 and revert to base decomp

* behavior script

* color helper functions

* extended bounds

* egeo_layout

* fixed model ids

* camera conf improved

* message panel ucode small

* graph node

* level script

* mathutil updates

* mathutil updates (allow unused funcs)

* behaviors a - beta_fish

* Add librtc and fix some data declarations

* Move GRUCODE define to proper location in makefile

* Refresh 15

* extra

* Make ROM name smaller and change messages printed on build a bit

* Fix console (lol)

* Update UNF to latest master

* Make ucode load from .o's (and also fix Super3D)

* Fix crash with rumble + custom mario model

* graph node and mathutil

* removed behaviors

* Ldtob documentation

* _Putfld labeling

* area

* behavior actions

* camera

* debug updates

* bubbles

* envfx snow

* farcall helpers

* game init

* geo misc

* hud

* only check if VC on render init

* ingame menu

* revert goddard to base decomp

* insn disasm

* interaction documentation

* level geo

* level update defines

* macro special objects formatting changes

* main.h documentation

* map parser documentation & formatting

* airborne documentation

* mario actions automatic documentation

* mario actions cutscene documentation

* mario actions moving documentation and options

* mario actions object documentation and options

* mario stationary documentation

* mario submerged documentation

* mario misc documentation

* mario step: ledge grab fixes and documentation

* mario documentation

* memory.h documentation

* moving textures

* object behaviors

* object collision

* fix flamethrower bug

* object helpers

* object list processor documentation

* paintings

* platform displacement

* print / printf

* puppycam absf

* puppyprint updates and formatting changes

* rendering graph node performance optimizations

* rumble opt and doc

* hqvm back to ultrasm64

* save file documentation and unlock defines

* s2d engine

* reset various files to ultrasm64

* file select

* intro geo documentation

* screen transition documentation

* segment2.h

* shadow overhaul

* skybox refactor

* sound init: clean up define usage + documentation

* spawn object optimizations and documentation

* spawn sound cleanup

* sram to ultrasm64

* star select cleanup

* title screen cleanup

* dialogs / text

* rename stomp smoke

* stomp smoke -> small water splash

* updated README

* compilation flags

* optimized file positions + support function/data sections

* surface collision performance improvements

* surface load optimizations

* camera conf documentation

* Allow easier command for opening puppyprint debug

* Rearranged framebuffers & fixed puppyprint console printing

* Fix shadow scaling and shifting

* Fix SILHOUETTE, OBJECTS_REJ, and ucode loading, also clean up render phase system a bit.

* Fixed build with BETTER_HANGING off

* Clean up OBJECTS_REJ ifdefs

* Fix duplicate comment & graph render layers/flags bitmask

* Fixed build with BETTER_HANGING off

* Fix Fast64 importing by reverting sSegmentTable change

* Readded missing functions that caused build errors with Mario head enabled

* Fixed clang compilation issues

* Add INTER mode for geo_update_layer_transparency

* Fix build warnings

* bugfix: miscalculation in obj_turn_toward_object

* Some puppytech fixes

* Further Puppycamera fixes

* Fix BUGFIX_DIALOG_TIME_STOP

Fixes #136

* Fix sliding platform bparams

* Add LEGACY_SHADOW_IDS define for Fast64 compatibility

* Apply suggested changes

* Better find_in_bounds_yaw_wdw_bob_thi ifdef

* Fix build warnings for unused functions

* Fixed stale reference bug from obj_mark_for_deletion change

* Fixed incorrect digit for 100s #145

* Change groundpound-fix define and functionality to just disable bonking

* Fixed puppyroll #134

* Adjust height value for terrain angle to kick in

* fixed hi score flashing

* Remove menudata backup (#131)

Not considered important enough to keep

* Fix fread() build warning

* Add COURSE_NUM_TO_INDEX to save_file_get_star_flags check in bhv_unagi_init

* Fix approach_s16 return value

* Use boolean defines for oCapDoScaleVertically

* 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.

* Move flames to LAYER_TRANSPARENT_INTER

* Resolved some compiler warnings and added FALL_THROUGH define (#168)

* Address some more compiler warnings with different define toggles

* Remove unnecessary fallthrough attribute

* fixed geo_process_billboard floating point exception

* Allow water to face any direction

* Initialize focOffset so that BBH doesn't crash

* Removed superfluous RDP commands when switching microcodes which would override scissor

* Set OBJ_FLAG_DONT_CALC_COLL_DIST on bhvUkikiCage

* Fix rumble build

* Fixed UNLOCK_FPS strobing

* Update src/game/object_helpers.c

Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>

* Update src/game/object_helpers.c

Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>

* Fix LEGACY_SHADOW_IDS id conflict

* Use the vanilla default value for rotating fire bars if bparam2 is 0

* START_LEVEL safeguard

* Fix some drawing distance issues caused by AUTO_COLLISION_DISTANCE

* Fix rumble build

* Fixed spline poll code using the wrong values for keyframes

* Update readme with better credits

Better credits for individual contributors

* add arthur

* added falco and moose

* add fazana

* le funny typo

* added S2DEX engine to credits

* silhouette + axo + ratio

* remove specific callouts + add auto col distance

* Update data/behavior_data.c

Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>

* Update data/behavior_data.c

Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>

* Update data/behavior_data.c

Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>

* Revert formatting changes to match vanilla decomp

* Re-implement Y buffer for find_ceil

* Re-implement POWER_STARS_HEAL for normal Power Stars

* Start level comment & exit course comment/collapse

* utilize reonucam technique for FAST_VERTICAL_CAMERA_MOVEMENT

* Fix "MAX_REFERENCED_WALLS" typo

* Allow stop_and_set_height_to_floor to work at any height if Mario is teleporting (#213)

* Revert stop_and_set_height_to_floor to vanilla

Fixes #208

* Fixed sAudioEnabled so that it disables audio CPU processing as well

* Fixed puppyprint debug RDP us calculations

* Renamed sAudioEnabled to gAudioEnabled

* Replaced mtxf_to_mtx_asm with an equivalent implementation that supports WORLD_SCALE

* Moved extended bounds and world scale configuration to a new config_world.h file

* Default all objects to non-rej (#227)

Fixes #221 (Default all objects to non-rej)

* Fix #221

* Fix VISUAL_DEBUG breaking/crashing when OBJECTS_REJ is disabled (#211)

* Fix VISUAL_DEBUG breaking/crashing when OBJECTS_REJ is disabled

* Change vtl decrement in visual_surface_display from 6 to 3

Fixes #207

* Make area in SL igloo wider to prevent a softlock (#233)

Fixes #210

* Fix coin formation coins being deleted if they spawn in the middle of a floor, also fix TTM slide coin position (#232)

Fixes #201

* Make UNLOCK_ALL apply to more things

* Fix wrong ifdef/ifndef in bhv_invisible_objects_under_bridge_init

* Change chain chomp load/unload distances depending on number of segments (#237)

Fixes #192

* added WATER_PLUNGE_UPWARP define

* Add reonucam patch (#239)

* added reonucam patch
Fixes #218

* Fix how shadows handle water/transparency/height (#228)

* Fix how shadows handle water/transparency/height

* Change shadow check for flying carpets from a level specific check to a oPlatformOnTrackType check

Fixes #179

* added reonucam credit

* delete unnecesary patches

* Apply suggested changes

* murdered more patches

* UNLOCK_ALL unlocks the cap boxes

* UNLOCK_ALL unlocks cap boxes (slightly more epic edition)

* revert ceil buffer

* Renamed HD_INTRO_TEXTURES define, separated intro floombas

* prevent double definition of floombas

* actually prevent floomba redefinition

* Develop/refactor  default defines (#242)

* Changed default config options

* Added build dir to includePaths for pngs

* disable NO_SLEEP by default

* Disable puppyprint by default

Sorry fazana 😔

* fix typos

* add comment about BETTER_REVERB console perf

* disable blue coin switch retry by default

* Update config_audio.h

Co-authored-by: Reonu <danileon95@gmail.com>
Co-authored-by: Mr-Wiseguy <68165316+Mr-Wiseguy@users.noreply.github.com>

* revert air step line to vanilla to fix bitfs scaling platform issue (#247)

Fixes #200

* Fix stuttering on thin slopes (#248)

* Fix stuttering on thin slopes

* Revert vec3f_find_ceil calls to vanilla

* Rename vec3f_find_ceil to find_mario_ceil

* Update src/engine/surface_collision.h

Fixes #249

* Swap static and dynamic surface checks back to vanilla order (#253)

* Swap static and dynamic surface checks back to vanilla order

* re-enable DISABLE_ALL config

Fixes #251 #252

* Fixed save and quitting while in widescreen (#257)

* Fixed save and quitting while in widescreen

* use define for the level

* all my homies hate ifdefs

* skip wall offsets < 0 (#255)

Fixes #255

* #264: Document non-stop stars' issues (#267)

* #264: Document non-stop stars' issues

* Update include/config/config_game.h

* nonstop vanilla comment

* derive margin_radius from radius after capping at 200 (#266)

Fixes #259

* Config cleanup/refactor (#269)

* Moved puppyprint define to graphics / rearranged some debug defines for ease of access

* Moved compatibility safeguards to config_safeguards.h

* spacing and comment formatting

* #272 Move GFX_POOL_SIZE to config_graphics.h

* disable EASIER_DIALOG_TRIGGER by default

* prevent redefining warnings

* small ifdef typo

* changed ifndef to undefs

Fixes #262
Fixes #272

* Improved movement config documentation related to turning around (#271)

Fixes #270

* rename CUSTOM_DEBUG, add comments (#275)

* Update README.md (#277)

* v2.0.0

Co-authored-by: CrashOveride95 <crashoveride953@gmail.com>
Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
Co-authored-by: n64 <n64>
Co-authored-by: Fazana <52551480+FazanaJ@users.noreply.github.com>
Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
Co-authored-by: aglab2 <aglab3@gmail.com>
Co-authored-by: gheskett <gheskett@gmail.com>
Co-authored-by: Reonu <danileon95@gmail.com>
Co-authored-by: Axollyon <20480418+Axollyon@users.noreply.github.com>
Co-authored-by: Mr-Wiseguy <68165316+Mr-Wiseguy@users.noreply.github.com>
2021-12-30 16:57:51 +00:00
Fluvian
82435d9d63 Prevent running out of pool space when loading uncompressed data. (#28)
* Fix bug where you run out of pool space.

Fixes a bug where you run out of pool space when you load uncompressed data.

* Fix bug where you run out of pool space. #2
2021-12-29 11:34:08 -05:00
CrashOveride95
1d360860c9 VI Mode RAM optimization
Doing &osViModeTable[OS_VI_NTSC_LAN1] wastes RAM,
as the entire table of all possible VI modes is linked in.
Instead, you can do &osViModeNtscLan1, which only links in the VI mode
you're actually going to use
2021-12-19 14:23:01 -05:00
Reonu
3a558060ab Add Wiseguy as a code owner
*flexes pushing to master privileges*
2021-12-19 19:11:17 +00:00
CrashOveride95
549b919469 Remove forced alignment which is replicating IDO behavior for no good reason 2021-11-23 11:47:44 -05:00
CrashOveride95
b5f9b663ed Fix crash with rumble + custom mario model 2021-11-22 19:13:13 -05:00
CrashOveride95
45064e15d2 Make ucode load from .o's (and also fix Super3D) 2021-11-22 16:29:28 -05:00
CrashOveride95
86ed5cf9a6 Update UNF to latest master 2021-11-21 21:15:52 -05:00
CrashOveride95
2b53cc64be Fix console (lol) 2021-11-21 21:14:11 -05: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
n64
1372ae1bb7 Refresh 15 2021-10-14 15:25:30 -04: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
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
d51129c6b6 Move GRUCODE define to proper location in makefile 2021-09-30 17:52:40 -07:00
1331 changed files with 57794 additions and 48364 deletions

29
.gitignore vendored
View File

@@ -71,9 +71,38 @@ build/*
!/assets/**/*custom*.bin
!/assets/**/*custom*/**/*.bin
!/textures/crash_custom/*.png
# Specific assets
!/actors/breath_meter/breath_meter_*.png
!/actors/coin/coin_*.ia8.png
!/textures/segment2/light_quarter_circle.ia16.png
!/textures/segment2/segment2.hud_char_j.rgba16.png
!/textures/segment2/segment2.hud_char_q.rgba16.png
!/textures/segment2/segment2.hud_char_v.rgba16.png
!/textures/segment2/segment2.hud_char_x.rgba16.png
!/textures/segment2/segment2.hud_char_z.rgba16.png
!/textures/segment2/segment2.umlaut_us.rgba16.png
!/textures/segment2/segment2.beta_key.rgba16.png
!/textures/segment2/segment2.decimal_point.rgba16.png
!/textures/segment2/segment2.exclamation.rgba16.png
!/textures/segment2/segment2.double_exclamation.rgba16.png
!/textures/segment2/segment2.question.rgba16.png
!/textures/segment2/segment2.ampersand.rgba16.png
!/textures/segment2/segment2.percent.rgba16.png
!/textures/segment2/segment2.minus.rgba16.png
!/textures/segment2/segment2.minus2.rgba16.png
!/textures/segment2/segment2.yellow_coin.rgba16.png
!/textures/segment2/segment2.blue_coin.rgba16.png
!/textures/segment2/segment2.red_coin.rgba16.png
!/textures/segment2/segment2.silver_coin.*.png
!/textures/segment2/shadow_quarter_circle_64.ia8.png
!/textures/segment2/shadow_quarter_square_64.ia8.png
# libultra
!/lib/**/*.o
!/lib/*.a
lib/libs2d_engine.a
!/lib/gcclib/*.a

View File

@@ -6,6 +6,7 @@
"${workspaceFolder}/include/n64/**",
"${workspaceFolder}/include/**",
"${workspaceFolder}/textures/**",
"${workspaceFolder}/build/us_n64/**",
"${workspaceFolder}/**"
],
"forcedInclude": [
@@ -17,13 +18,14 @@
"${workspaceFolder}/include/geo_commands.h",
"${workspaceFolder}/include/level_commands.h",
"${workspaceFolder}/include/segment_symbols.h",
"${workspaceFolder}/include/command_macros_base.h"
"${workspaceFolder}/include/command_macros_base.h",
"${workspaceFolder}/include/object_constants.h"
],
"defines": [
"TARGET_N64=1",
"VERSION_US=1",
"F3DEX_GBI_2=1",
"F3DZEX_GBI_2=1",
"F3DZEX_NON_GBI_2=1",
"F3DEX_GBI_SHARED=1",
"NON_MATCHING=1",
"AVOID_UB=1"

10
CHANGES
View File

@@ -1,3 +1,13 @@
Refresh 15 (mostly a hotfix for RSP microcode selection)
1.) Renamed frame_buffer funcs and _ZBUFFER (#1184)
2.) RSP Microcode Hotfix (#1183)
3.) Label osSetTimer.c (#1182)
4.) Fix styling (#1177)
5.) Rename all `FrameBuffer` variants to `Framebuffer` (#1176)
6.) Remove (WIP) from sh.
7.) Allow both archives and ELF objects to be patched (#1127)
Refresh 14
1.) Label whomp and some object fields (#1174)

View File

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

250
Makefile
View File

@@ -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
@@ -95,22 +76,18 @@ VERSION ?= us
$(eval $(call validate-option,VERSION,jp us eu sh))
ifeq ($(VERSION),jp)
DEFINES += VERSION_JP=1
GRUCODE ?= f3dzex
DEFINES += VERSION_JP=1
else ifeq ($(VERSION),us)
DEFINES += VERSION_US=1
GRUCODE ?= f3dzex
DEFINES += VERSION_US=1
else ifeq ($(VERSION),eu)
DEFINES += VERSION_EU=1
GRUCODE ?= f3dzex
DEFINES += VERSION_EU=1
else ifeq ($(VERSION),sh)
DEFINES += VERSION_SH=1
GRUCODE ?= f3dzex
DEFINES += VERSION_SH=1
endif
DEBUG_MAP_STACKTRACE_FLAG := -D DEBUG_MAP_STACKTRACE
TARGET := sm64.$(VERSION)
TARGET := sm64
# GRUCODE - selects which RSP microcode to use.
@@ -119,6 +96,7 @@ TARGET := sm64.$(VERSION)
# l3dex2 - F3DEX2 version that only renders in wireframe
# f3dzex - newer, experimental microcode used in Animal Crossing
# super3d - extremely experimental version of Fast3D lacking many features for speed
GRUCODE ?= f3dzex
$(eval $(call validate-option,GRUCODE,f3dex f3dex2 f3dex2pl f3dzex super3d l3dex2))
ifeq ($(GRUCODE),f3dex) # Fast3DEX
@@ -130,7 +108,7 @@ else ifeq ($(GRUCODE),l3dex2) # Line3DEX2
else ifeq ($(GRUCODE),f3dex2pl) # Fast3DEX2_PosLight
DEFINES += F3DEX2PL_GBI=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1
else ifeq ($(GRUCODE),f3dzex) # Fast3DZEX (2.08J / Animal Forest - Dōbutsu no Mori)
DEFINES += F3DZEX_GBI_2=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1
DEFINES += F3DZEX_NON_GBI_2=1 F3DEX_GBI_2=1 F3DEX_GBI_SHARED=1
else ifeq ($(GRUCODE),super3d) # Super3D
$(warning Super3D is experimental. Try at your own risk.)
DEFINES += SUPER3D_GBI=1 F3D_NEW=1
@@ -150,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
@@ -174,25 +215,14 @@ endif
ifeq ($(NON_MATCHING),1)
DEFINES += NON_MATCHING=1 AVOID_UB=1
COMPARE := 0
endif
# COMPARE - whether to verify the SHA-1 hash of the ROM after building
# 1 - verifies the SHA-1 hash of the selected version of the game
# 0 - does not verify the hash
COMPARE ?= 0
$(eval $(call validate-option,COMPARE,0 1))
TARGET_STRING := sm64.$(VERSION).$(CONSOLE).$(GRUCODE)
# If non-default settings were chosen, disable COMPARE
ifeq ($(filter $(TARGET_STRING), sm64.jp.f3d_old sm64.us.f3d_old sm64.eu.f3d_new sm64.sh.f3d_new),)
COMPARE := 0
endif
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)
@@ -204,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)
@@ -222,7 +252,7 @@ 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)
@@ -230,9 +260,34 @@ ifeq ($(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)
@@ -248,27 +303,6 @@ endif
# Whether to colorize build messages
COLOR ?= 1
# display selected options unless 'make clean' or 'make distclean' is run
ifeq ($(filter clean distclean,$(MAKECMDGOALS)),)
$(info ==== Build Options ====)
$(info Version: $(VERSION))
$(info Microcode: $(GRUCODE))
$(info Console: $(CONSOLE))
$(info Target: $(TARGET))
ifeq ($(COMPARE),1)
$(info Compare ROM: yes)
else
$(info Compare ROM: no)
endif
ifeq ($(NON_MATCHING),1)
$(info Build Matching: no)
else
$(info Build Matching: yes)
endif
$(info =======================)
endif
#==============================================================================#
# Universal Dependencies #
#==============================================================================#
@@ -289,11 +323,25 @@ ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
ifeq ($(NOEXTRACT),0)
DUMMY != $(PYTHON) extract_assets.py $(VERSION) >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets)
$(error Failed to extract assets from US ROM)
endif
DUMMY != $(PYTHON) extract_assets.py jp >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets)
ifneq (,$(wildcard baserom.jp.z64))
DUMMY != $(PYTHON) extract_assets.py jp >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from JP ROM)
endif
endif
ifneq (,$(wildcard baserom.eu.z64))
DUMMY != $(PYTHON) extract_assets.py eu >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from EU ROM)
endif
endif
ifneq (,$(wildcard baserom.sh.z64))
DUMMY != $(PYTHON) extract_assets.py sh >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to extract assets from SH ROM)
endif
endif
endif
@@ -314,7 +362,7 @@ endif
BUILD_DIR_BASE := build
# BUILD_DIR is the location where all build artifacts are placed
BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)
BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)_$(CONSOLE)
ROM := $(BUILD_DIR)/$(TARGET_STRING).z64
ELF := $(BUILD_DIR)/$(TARGET_STRING).elf
LIBZ := $(BUILD_DIR)/libz.a
@@ -430,9 +478,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
@@ -475,10 +525,10 @@ else
RSPASM := $(TOOLS_DIR)/armips
endif
ENDIAN_BITWIDTH := $(BUILD_DIR)/endian-and-bitwidth
EMULATOR = ~/Downloads/mupen64plus/mupen64plus-gui
EMU_FLAGS =
LOADER = loader64
LOADER_FLAGS = -vwf
EMULATOR = mupen64plus
EMU_FLAGS = --noosd
LOADER = UNFLoader
LOADER_FLAGS = -d
SHA1SUM = sha1sum
PRINT = printf
@@ -488,7 +538,7 @@ RED := \033[0;31m
GREEN := \033[0;32m
BLUE := \033[0;34m
YELLOW := \033[0;33m
BLINK := \033[33;5m
BLINK := \033[32;5m
endif
# For non-IDO, use objcopy instead of extract_data_for_mio
@@ -506,13 +556,12 @@ endef
#==============================================================================#
all: $(ROM)
ifeq ($(COMPARE),1)
@$(PRINT) "$(GREEN)Checking if ROM matches.. $(NO_COL)\n"
@$(SHA1SUM) --quiet -c $(TARGET).sha1 && $(PRINT) "$(TARGET): $(GREEN)OK$(NO_COL)\n" || ($(PRINT) "$(YELLOW)Building the ROM file has succeeded, but does not match the original ROM.\nThis is expected, and not an error, if you are making modifications.\nTo silence this message, use 'make COMPARE=0.' $(NO_COL)\n" && false)
else
@$(SHA1SUM) $(ROM)
@$(PRINT) "${GREEN}Build succeeded.$(NO_COL)\n"
endif
@$(PRINT) "${BLINK}Build succeeded.\n$(NO_COL)"
@$(PRINT) "==== Build Options ====$(NO_COL)\n"
@$(PRINT) "${GREEN}Version: $(BLUE)$(VERSION)$(NO_COL)\n"
@$(PRINT) "${GREEN}Microcode: $(BLUE)$(GRUCODE)$(NO_COL)\n"
@$(PRINT) "${GREEN}Console: $(BLUE)$(CONSOLE)$(NO_COL)\n"
clean:
$(RM) -r $(BUILD_DIR_BASE)
@@ -525,8 +574,12 @@ distclean: clean
test: $(ROM)
$(EMULATOR) $(EMU_FLAGS) $<
test-pj64: $(ROM)
wine ~/Desktop/new64/Project64.exe $<
# someone2639
load: $(ROM)
$(LOADER) $(LOADER_FLAGS) $<
$(LOADER) $(LOADER_FLAGS) -r $<
libultra: $(BUILD_DIR)/libultra.a
@@ -534,7 +587,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
@@ -576,9 +629,18 @@ $(BUILD_DIR)/src/usb/usb.o: OPT_FLAGS := -O0
$(BUILD_DIR)/src/usb/usb.o: CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wno-unused-function
$(BUILD_DIR)/src/usb/debug.o: OPT_FLAGS := -O0
$(BUILD_DIR)/src/usb/debug.o: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized
$(BUILD_DIR)/src/audio/*.o: OPT_FLAGS := -Os -fno-jump-tables
$(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := -Ofast -fno-unroll-loops -fno-peel-loops --param case-values-threshold=20
$(BUILD_DIR)/src/game/rendering_graph_node.o: OPT_FLAGS := -Ofast --param case-values-threshold=20
# File specific opt flags
$(BUILD_DIR)/src/audio/heap.o: OPT_FLAGS := -Os -fno-jump-tables
$(BUILD_DIR)/src/audio/synthesis.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))
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) asm/debug $(GODDARD_SRC_DIRS) $(LIBZ_SRC_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(TEXT_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) rsp include) $(YAY0_DIR) $(addprefix $(YAY0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
@@ -589,7 +651,7 @@ $(BUILD_DIR)/include/text_strings.h: $(BUILD_DIR)/include/text_menu_strings.h
$(BUILD_DIR)/src/menu/file_select.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/src/menu/star_select.o: $(BUILD_DIR)/include/text_strings.h
$(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
$(BUILD_DIR)/src/game/puppycam2.o: $(BUILD_DIR)/include/text_strings.h
@@ -805,7 +867,7 @@ $(BUILD_DIR)/asm/debug/map.o: asm/debug/map.s $(BUILD_DIR)/sm64_prelim.elf
# Link SM64 ELF file
$(ELF): $(BUILD_DIR)/sm64_prelim.elf $(BUILD_DIR)/asm/debug/map.o $(O_FILES) $(YAY0_OBJ_FILES) $(SEG_FILES) $(BUILD_DIR)/$(LD_SCRIPT) undefined_syms.txt $(BUILD_DIR)/libz.a $(BUILD_DIR)/libgoddard.a
@$(PRINT) "$(GREEN)Linking ELF file: $(BLUE)$@ $(NO_COL)\n"
$(V)$(LD) --gc-sections -L $(BUILD_DIR) -T undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -T goddard.txt -Map $(BUILD_DIR)/sm64.$(VERSION).map --no-check-sections $(addprefix -R ,$(SEG_FILES)) -o $@ $(O_FILES) -L$(LIBS_DIR) -l$(ULTRALIB) -Llib $(LINK_LIBRARIES) -u sprintf -u osMapTLB -Llib/gcclib/$(LIBGCCDIR) -lgcc
$(V)$(LD) --gc-sections -L $(BUILD_DIR) -T undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -T goddard.txt -Map $(BUILD_DIR)/sm64.$(VERSION).map --no-check-sections $(addprefix -R ,$(SEG_FILES)) -o $@ $(O_FILES) -L$(LIBS_DIR) -l$(ULTRALIB) -Llib $(LINK_LIBRARIES) -u sprintf -u osMapTLB -Llib/gcclib/$(LIBGCCDIR) -lgcc -lrtc
# Build ROM
$(ROM): $(ELF)
@@ -814,7 +876,7 @@ ifeq ($(CONSOLE),n64)
$(V)$(OBJCOPY) --pad-to=0x101000 --gap-fill=0xFF $< $@ -O binary
else ifeq ($(CONSOLE),bb)
$(V)$(OBJCOPY) --gap-fill=0x00 $< $@ -O binary
$(V)dd if=$@ of=tmp bs=16K conv=sync
$(V)dd if=$@ of=tmp bs=16K conv=sync status=none
$(V)mv tmp $@
endif
$(V)$(N64CKSUM) $@

View File

@@ -76,7 +76,7 @@ MOLE_DIRS := monty_mole_hole monty_mole smoke ukiki fwoosh
LAKITU_DIRS := lakitu_cameraman toad mips boo_castle
PEACH_DIRS := bird peach yoshi
BOWSER_DIRS := bowser_flame impact_ring yellow_sphere bowser bomb impact_smoke
MARIO_DIRS := mario bubble walk_smoke burn_smoke stomp_smoke water_wave sparkle water_splash white_particle_small sparkle_animation
MARIO_DIRS := mario bubble walk_smoke burn_smoke small_water_splash water_wave sparkle water_splash white_particle_small sparkle_animation
# Actor Textures
AMP_CHUCKYA_TEXTURES := $(foreach dir,$(AMP_DIRS), $(wildcard actors/$(dir)/*.png))

View File

@@ -1,36 +1,55 @@
# ![](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.**
**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.**
HackerSM64 now has a discord server! https://discord.gg/brETAakcXr
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 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 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 `config.h`):
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 optimizations (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 optimizations, better hanging, breath meter, z offset geo command, star glow, painting objects, implementation of frameperfection's rounded corners fix, naming most unknowns, various hacker qol improvements, and various optimizations/fixes
- **axollyon**: Console testing, bugfixes, idea-guying, and had a hand in silhouettes
- **Wiseguy**: World scale reimplementation, silhouette, graph node optimizations, instant input patch, cake screen fix, segmented code support, matrix stack fix, and various optimizations/fixes
- **Kaze Emanuar**: Graph node & math util optimizations, automatic optimal collision distance, cell buffer fix
- **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
**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.
- 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.
- 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 toogle it in config.h. *
- Puppycam is available on the master branch now, you can toggle it in `config/config_camera.h`. *
**Collision:**
- Slope fix and exposed ceilings fix
- No false ledgegrabs fix *
- Jump kick fix *
- 46 degree wallkicks *
- Pole 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:**
@@ -43,8 +62,8 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
- 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 me. 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 Reonu. 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
@@ -53,33 +72,34 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
- 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.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`.
- 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`.
- 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 `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 `include/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.h` to make it simpler
- The internal ROM name is now set with a define in `config/config_rom.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.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. *
- 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. *
- 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.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/config_debug.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) *
- 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.*
- 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.
- A couple vanilla texture fixes
- Smoke fix (the smoke texture uses the correct texture format)
@@ -88,11 +108,14 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
- 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 coins (64x64), the vanilla coin texture is upgraded to accomodate. *
- 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). *
- 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.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/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 *
- 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 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) *
- 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) *
- 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.
@@ -175,7 +198,9 @@ To switch to no compression, run make with the ``COMPRESS=uncomp`` argument.
Q: Why in the hell are you bundling your own build of ``ld``?
A: Newer binutils (Like the one bundled with Ubuntu, 2.34) break linking with libultra builds due to local asm symbols.
This puts me at a crossroads of either touching leaked code and requiring GCC, or just using an older linker that works just fine.
I went with the latter.
Thanks to "someone2639" for this hacky-ass idea

1
VERSION.txt Normal file
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,7 +4,7 @@ const GeoLayout boo_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 26214),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_ASM(GEO_TRANSPARENCY_MODE_NORMAL, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, boo_seg5_dl_0500C1B0),

View File

@@ -1,10 +1,6 @@
// Boo
// 0x05009B28
static const Lights1 boo_seg5_lights_05009B28 = gdSPDefLights1(
0x97, 0x9a, 0xff,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05009B40
ALIGNED8 static const Texture boo_seg5_texture_05009B40[] = {
@@ -261,8 +257,8 @@ const Gfx boo_seg5_dl_0500BEE0[] = {
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&boo_seg5_lights_05009B28.l, 1),
gsSPLight(&boo_seg5_lights_05009B28.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x979affff),
gsSPVertex(boo_seg5_vertex_0500B340, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 11, 0x0),

View File

@@ -4,7 +4,7 @@ const GeoLayout boo_castle_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 26214),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_ASM(GEO_TRANSPARENCY_MODE_NORMAL, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, boo_castle_seg6_dl_06017CE0),

View File

@@ -1,10 +1,6 @@
// Boo (Castle)
// 0x06015658
static const Lights1 boo_castle_seg6_lights_06015658 = gdSPDefLights1(
0x97, 0x9a, 0xff,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x06015670
ALIGNED8 static const Texture boo_castle_seg6_texture_06015670[] = {
@@ -261,8 +257,8 @@ const Gfx boo_castle_seg6_dl_06017A10[] = {
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&boo_castle_seg6_lights_06015658.l, 1),
gsSPLight(&boo_castle_seg6_lights_06015658.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x979affff),
gsSPVertex(boo_castle_seg6_vertex_06016E70, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 11, 0x0),

View File

@@ -3,10 +3,6 @@
// This actor file requires including actor bookend because of bookend_seg5_texture_05000C60
// 0x05002558
static const Lights1 book_seg5_lights_05002558 = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05002570
ALIGNED8 static const Texture book_seg5_texture_05002570[] = {
@@ -50,8 +46,8 @@ const Gfx book_seg5_dl_05002EF0[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000C60),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
gsSPLight(&book_seg5_lights_05002558.l, 1),
gsSPLight(&book_seg5_lights_05002558.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x7f7f7fff),
gsSPVertex(book_seg5_vertex_05002D70, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),

View File

@@ -1,28 +1,12 @@
// Bookend
// Unreferenced light group
UNUSED static const Lights1 bookend_lights_unused1 = gdSPDefLights1(
0x3f, 0x3f, 0x3f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// Unreferenced light group
UNUSED static const Lights1 bookend_lights_unused2 = gdSPDefLights1(
0x03, 0x19, 0x09,
0x0c, 0x66, 0x26, 0x28, 0x28, 0x28
);
// Unreferenced light group
UNUSED static const Lights1 bookend_lights_unused3 = gdSPDefLights1(
0x3f, 0x3f, 0x3f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// Unreferenced light group
UNUSED static const Lights1 bookend_lights_unused4 = gdSPDefLights1(
0x3f, 0x00, 0x00,
0xff, 0x00, 0x00, 0x28, 0x28, 0x28
);
// 0x05000060
ALIGNED8 static const Texture bookend_seg5_texture_05000060[] = {
@@ -50,10 +34,6 @@ ALIGNED8 static const Texture bookend_seg5_texture_05001060[] = {
};
// 0x05001860
static const Lights1 bookend_seg5_lights_05001860 = gdSPDefLights1(
0x66, 0x66, 0x66,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05001878
static const Vtx bookend_seg5_vertex_05001878[] = {
@@ -76,8 +56,8 @@ const Gfx bookend_seg5_dl_050018F8[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000060),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
gsSPLight(&bookend_seg5_lights_05001860.l, 1),
gsSPLight(&bookend_seg5_lights_05001860.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x666666ff),
gsSPVertex(bookend_seg5_vertex_05001878, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSPEndDisplayList(),
@@ -116,10 +96,6 @@ const Gfx bookend_seg5_dl_05001978[] = {
};
// 0x05001A08
static const Lights1 bookend_seg5_lights_05001A08 = gdSPDefLights1(
0x66, 0x66, 0x66,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05001A20
static const Vtx bookend_seg5_vertex_05001A20[] = {
@@ -142,8 +118,8 @@ const Gfx bookend_seg5_dl_05001AA0[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000060),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
gsSPLight(&bookend_seg5_lights_05001A08.l, 1),
gsSPLight(&bookend_seg5_lights_05001A08.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x666666ff),
gsSPVertex(bookend_seg5_vertex_05001A20, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSPEndDisplayList(),
@@ -182,10 +158,6 @@ const Gfx bookend_seg5_dl_05001B20[] = {
};
// 0x05001BB0
static const Lights1 bookend_seg5_lights_05001BB0 = gdSPDefLights1(
0x66, 0x66, 0x66,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05001BC8
static const Vtx bookend_seg5_vertex_05001BC8[] = {
@@ -216,8 +188,8 @@ const Gfx bookend_seg5_dl_05001CC8[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000860),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
gsSPLight(&bookend_seg5_lights_05001BB0.l, 1),
gsSPLight(&bookend_seg5_lights_05001BB0.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x666666ff),
gsSPVertex(bookend_seg5_vertex_05001BC8, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSPEndDisplayList(),
@@ -255,10 +227,6 @@ const Gfx bookend_seg5_dl_05001D68[] = {
};
// 0x05001DE0
static const Lights1 bookend_seg5_lights_05001DE0 = gdSPDefLights1(
0x66, 0x66, 0x66,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05001DF8
static const Vtx bookend_seg5_vertex_05001DF8[] = {
@@ -289,8 +257,8 @@ const Gfx bookend_seg5_dl_05001EF8[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000860),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
gsSPLight(&bookend_seg5_lights_05001DE0.l, 1),
gsSPLight(&bookend_seg5_lights_05001DE0.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x666666ff),
gsSPVertex(bookend_seg5_vertex_05001DF8, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSPEndDisplayList(),
@@ -328,10 +296,6 @@ const Gfx bookend_seg5_dl_05001F98[] = {
};
// 0x05002010
static const Lights1 bookend_seg5_lights_05002010 = gdSPDefLights1(
0x66, 0x66, 0x66,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x05002028
static const Vtx bookend_seg5_vertex_05002028[] = {
@@ -354,8 +318,8 @@ const Gfx bookend_seg5_dl_050020E8[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000460),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
gsSPLight(&bookend_seg5_lights_05002010.l, 1),
gsSPLight(&bookend_seg5_lights_05002010.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x666666ff),
gsSPVertex(bookend_seg5_vertex_05002028, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 11, 0x0),
@@ -381,10 +345,6 @@ const Gfx bookend_seg5_dl_05002140[] = {
};
// 0x050021B0
static const Lights1 bookend_seg5_lights_050021B0 = gdSPDefLights1(
0x66, 0x66, 0x66,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x050021C8
static const Vtx bookend_seg5_vertex_050021C8[] = {
@@ -407,8 +367,8 @@ const Gfx bookend_seg5_dl_05002288[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000460),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
gsSPLight(&bookend_seg5_lights_050021B0.l, 1),
gsSPLight(&bookend_seg5_lights_050021B0.a, 2),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x666666ff),
gsSPVertex(bookend_seg5_vertex_050021C8, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 11, 0x0),

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