Commit graph

54 commits

Author SHA1 Message Date
Agent X
89e9bcdcec Add "-- pausable" field for mods and function so mods can make themselves pausable in singleplayer 2024-03-04 19:25:09 -05:00
Agent X
a0a65e19bd Re-add vanilla singleplayer pause with proper network timer pausing 2024-03-03 17:25:11 -05:00
Agent X
ff82a40b3f Remove singleplayer pause 2023-12-08 15:36:35 -05:00
David Joslin
750b9a8730 Added bounds checking to gActiveMods.entries[] 2023-11-08 19:53:36 -05:00
Agent X
49bca1cc01 sm64coopdx
Co-Authored-By: Yuyake <140215214+AngelicMiracles@users.noreply.github.com>
Co-Authored-By: FluffaMario <50761036+FluffaMario@users.noreply.github.com>
Co-Authored-By: Gregory Heskett <gheskett@gmail.com>
Co-Authored-By: iZePlayzYT <69536095+iZePlayzYT@users.noreply.github.com>
Co-Authored-By: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-Authored-By: eros71 <16540103+eros71-dev@users.noreply.github.com>
2023-10-30 01:03:36 -04:00
MysterD
3a85b7051e Cleanup 2023-06-11 14:25:28 -07:00
Sunk
a0ff975ec8
Re-introduce a few vanilla bugs under gBehaviorValues (#413)
* Properly set Mario's y vel to 0 on popping

* Re-introduce a few vanilla bugs under gBehaviorValues

The Shell Mario glitch was patched as a side effect to patching a different bug, but several romhacks use it so I need it back.
The ability to collect multiple normal caps at once is needed for hat-in-hand using the hat factory glitch.

* Fix Shell Mario fix

Found the actual reason why the glitch doesn't work and figured that this change shouldn't affect anything else, so I removed its entry from gBehaviorValues.

* Add InfiniteRenderDistance to gBehaviorValues

I'm well aware that disabling the infinite render distance will be very desync prone, however a few glitches, most notably cloning and chuckya double jump, need objects load and unload from render distance.
2023-06-11 14:24:13 -07:00
MysterD
2083242b66 Fixed several crashes and errors found in static analysis 2023-05-15 01:15:20 -07:00
MysterD
039be71266 Prevent even more possible crashes from the mod api 2023-05-11 01:46:27 -07:00
MysterD
f785050ccb Fix more possible crashes 2023-05-11 00:19:01 -07:00
MysterD
8ed8fc31d2 Fix another ~200+ crashes that could happen from mods 2023-05-10 21:28:13 -07:00
MysterD
d30b1e61a6 Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
MysterD
1ee3fd1d13 Fixed ~240 possible crashes 2023-05-05 23:59:58 -07:00
Isaac0-dev
3bc0b13e20
ACTIVE_FLAG_DORMANT (#281) 2023-02-18 23:45:13 -05:00
MysterD
3b626845e1 Refactor sync objects, move syncIds to u32 2022-06-06 19:13:04 -07:00
MysterD
b2bdf8859c Cleanup ; recursive descent fixes ; fixed behavior override comparisons
Moved dynos parsing for bhvs and models to a common file
Fixed recursive descent to correctly parse the entire expression
Adjusted bhv generation to use recursive descent
Switched all known behavior comparisons to the overridden versions
Fixed issue with Chain Chomp in star road
2022-06-02 19:07:43 -07:00
Prince Frizzy
40e1fa9e58
Added a full new custom behavior system (#124) 2022-06-02 12:19:54 -07:00
MysterD
7e7833f676 Unhardcoded more values ; generated more tex files ; special set home function ; fixed lua bhv bugs
Unhardcoded KingBobomb values, Mips values, star dialog values
Generated tex files when they're of the form levels/XXX/NUMBER
Now lua behaviors can call cur_obj_set_home_once() to set home correctly
Lua behaviors are now overridden correctly when created through spawn infos
Behavior checks now translate to the overridden behavior before checking
2022-06-01 23:04:21 -07:00
MysterD
dd6f6c430e Refactor how objects set their models 2022-04-19 18:47:50 -07:00
MysterD
4638ff6f22 Added the ability to set surface collisions on custom behaviors 2022-03-09 23:02:20 -08:00
MysterD
d03aacc144 Added ability for Lua to spawn non-synchronized objects 2022-03-09 21:25:34 -08:00
MysterD
2d8715b330 Made adding to behaviors possible in Lua 2022-03-05 01:29:24 -08:00
MysterD
3ad6c721dc Initial custom behavior commit 2022-03-03 01:04:15 -08:00
MysterD
1131fb02db Prevented SM64 hang on object count overflow 2022-02-22 01:10:17 -08:00
MysterD
ef12ff9e70 Removed asserts (or made them soft) 2022-02-15 22:04:34 -08:00
MysterD
839575efe1 Fixed home radius on many enemies, fixed draw distance bug 2022-01-14 16:33:22 -08:00
MysterD
92692378b4 Added adjustable draw distance for objects 2021-08-30 18:22:36 -07:00
MysterD
04d01667c3 Added a callback for area timer objects to only run certain things once per frame 2021-08-19 00:31:20 -07:00
MysterD
7e59d34939 Added new MAXIMUM type to network area timer system. Exclamation boxes now reappear at the correct time 2021-08-12 18:13:41 -07:00
MysterD
fecba91c5e Rewrite the core of network area timer (yet again) 2021-08-10 18:29:49 -07:00
MysterD
f8c5fb0725 Resynchronize WF platforms using Network Area Timer 2021-08-03 23:26:32 -07:00
MysterD
6a957757d4 Refactored network area timer system 2021-08-03 19:21:50 -07:00
MysterD
a84e7a73fe Resync bomp using Network Area Timer 2021-08-03 18:52:48 -07:00
MysterD
ef2287a5d5 Resynchronized checkerboard elevators to use area timer 2021-06-14 20:29:08 -07:00
MysterD
33fbed94e4 Synchronized respawners and entities created after level load 2021-06-08 21:21:52 -07:00
MysterD
b831acd59c Rewrote how RNG is synchronized
The old implementation was hacky and often returned desynchronized
results. This implementation gives a seed to each sync object, and
synchronizes that seed. Also allows for a seed to be saved temporarily
based on position and recycled for multiple calls.
2020-10-05 19:15:13 -07:00
MysterD
b9750057d5 General network code clean up
Marked globals, rearranged functions, added comments
2020-09-06 11:02:41 -07:00
MysterD
6e4c39eabe Kept more randomness, fixing tree leaves, fix pole segfault 2020-08-12 19:39:31 -07:00
MysterD
d307fc3f30 Refactor packet_object + misc cleanup 2020-08-09 17:40:37 -07:00
MysterD
9036336f42 Gave each BehaviorScript an ID
Created functions to trivially translate an ID to a Behavior and vice
versa. Sent ID over packets instead of Behavior pointer. This should
allow Linux and Windows to play together.
2020-08-09 16:21:12 -07:00
MysterD
2a0a3df34f Synchronized bowling balls
Added flag to keep randomization for sync objects
2020-08-07 21:13:07 -07:00
MysterD
444c1fdd3b Synchronized coin collection
Reimplemented how randomness is synchronized
2020-08-07 18:01:58 -07:00
MysterD
9b5b5acf19 Synchronized goombas, synced randomness, added extra fields to object packets 2020-08-02 18:29:46 -07:00
n64
4a448cf10d merge refresh 10 2020-06-20 02:49:59 +03:00
uncletrunks
70ca0af987 adds cylindrical billboarding, enables it for trees. 2020-05-14 20:31:52 -05:00
uwabami
c98a263cf4 adding option to disable draw distance 2020-05-12 09:26:16 +02:00
n64
c45aa301bb Refresh 8 2020-04-03 14:57:26 -04:00
n64
06ec56df7f Refresh 7 2020-03-01 22:42:52 -05:00
n64
9273f38df1 refresh 5 2020-01-03 10:38:57 -05:00
n64
04732af90b refresh 4 2019-12-01 21:52:53 -05:00