Commit graph

188 commits

Author SHA1 Message Date
Isaac0-dev
c9e4efdb31
custom level fixes and fixes from other pr (#483)
clean up custom level code
    fixed a bug where custom level course numbers weren't used by dynos warps
    removed a bunch of unused dynos code
    fix demos triggering incorrectly
    allowed the right Ctrl key to be used when opening the in game console
    fixed a softlock that was possible to experience when talking to the snowman in CCM
    fixed the bug where you can permanently lose your cap (bug created by my own PR from beta 32)
    fix the moderator feature I made a while back; I am amazed it even worked at all before
    fixed dynos warp initial actions being skipped (read ec8aabc for explanation)
    completely changed the way star names and course names work
2023-10-27 16:42:27 -07:00
David Joslin
99ad09cfd3 Force broken romhack port missing skyboxes to BACKGROUND_HAUNTED 2023-10-26 16:09:36 -07:00
MysterD
3456e10216 Sanity check collisions, and increase efficiency of growingpool 2023-06-25 17:54:01 -07:00
MysterD
3fa5823578 Properly determine the correct wall between multiple, turn off rounded corners in the air 2023-06-22 20:00:43 -07:00
MysterD
c82e45c0a0 Add level script pointer validation 2023-06-22 01:13:38 -07:00
MysterD
feee5eb569 Fixed more memory corruption with object collisions 2023-06-16 17:19:18 -07:00
MysterD
b3cae34234 Add bounds checking to instant warps, and make object collisions dynamic
in size
2023-06-15 20:50:12 -07:00
MysterD
c594179cca Make surface pools infinite 2023-06-15 19:40:34 -07: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
cf7d4bc8d2 Prevent deduplication of area models - it would overwrite the areaIndex 2023-05-18 21:29:57 -07:00
MysterD
b0408a1379 Fix some bugs found in testing 2023-05-18 17:54:29 -07:00
MysterD
41a4fcf516 Keep animations in-bounds 2023-05-18 12:42:18 -07:00
MysterD
ddd2f19ca1 Fix more memory errors 2023-05-18 01:57:36 -07:00
MysterD
f53ffcd491 Keep the previous dynamic pool in memory
Due to sm64 weirdness, I can't reliably free memory at certain points
The hacky solution is to keep the previous dynamic pool in memory,
essentially requiring two frees to actually clear all memory from it
2023-05-17 22:33:14 -07:00
MysterD
93020c04e5 Prevent broken mods from messing up the sync table of others 2023-05-17 00:01:09 -07:00
MysterD
18bf5847a2 Prevent rending of corrupted graphnodes, only run lua GC once per frame 2023-05-16 21:49:13 -07:00
MysterD
00e64fbf6c Add backwards compatibility for cur_obj_is_mario_ground_pounding_platform() 2023-05-16 00:37:30 -07:00
MysterD
688cd3b399 Rewrite how models are loaded and retrieved... yet again 2023-05-16 00:01:10 -07:00
MysterD
ed163203d8 Make gEnvironmentRegions safer 2023-05-15 12:04:07 -07:00
MysterD
2083242b66 Fixed several crashes and errors found in static analysis 2023-05-15 01:15:20 -07:00
MysterD
9a99ee492e Fix crash in retrieve_animation_index() 2023-05-14 12:30:55 -07:00
MysterD
064a60526a Redo how surface memory is handled 2023-05-14 12:04:08 -07:00
MysterD
8129ab7665 Prevent crashes and hangs 2023-05-13 03:07:20 -07:00
MysterD
bbdf51bc33 Remove the main pool 2023-05-13 01:49:54 -07:00
MysterD
6798b2db29 Make anim dma table dynamic 2023-05-13 01:44:40 -07:00
MysterD
c45e76c870 Switch all mempools to dynamic memory 2023-05-12 22:10:27 -07:00
MysterD
4aa4386319 Make envfx use dynamic memory 2023-05-12 21:30:16 -07:00
MysterD
57b06e3e09 Rename AllocOnlyPool to DynamicPool, add GrowingPool 2023-05-12 18:53:25 -07:00
MysterD
2341a0be78 Make surfaces use dynamic memory 2023-05-12 17:16:03 -07:00
MysterD
bc73468e64 Load all models into dynamic memory, and store them in a way for reuse 2023-05-12 16:15:35 -07:00
MysterD
e391faf574 WIP: start making memory management better 2023-05-12 13:19:10 -07:00
MysterD
cc1ec3e81f Prevented hundreds of additional crashes from the Mod API 2023-05-11 20:33:21 -07:00
MysterD
82945f9c0f Fix some problems found in static analysis 2023-05-11 02:17:10 -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
b22230db5d Merge branch 'dev' of github.com:sm64ex-coop-dev/sm64ex-coop into dev 2023-05-10 15:21:00 -07:00
PeachyPeach
52e4bac21a
fixed disable acts (#390) 2023-05-10 17:07:29 -04:00
MysterD
b863cc80c8 Prevent several possible crashes and hangs, limit more struct fields to read-only 2023-05-10 13:25:41 -07:00
MysterD
1ee3fd1d13 Fixed ~240 possible crashes 2023-05-05 23:59:58 -07:00
Isaac0-dev
657feb5d7b
fix some crashes and bugs (#381)
- fix crash in bhv_lll_bowser_puzzle_piece_update (thanks to djoslin)
- fix crash in platform_on_track_act_init
- fix chat commands not working on dev builds
- log when the crash handler is called
- if a custom level tries to set an invalid background, change it to BACKGROUND_OCEAN_SKY
2023-05-04 13:26:50 -07:00
MysterD
f82f5149f4 Disable accurate interpolation on 32 bit 2023-05-04 01:29:08 -07:00
Agent X
52d70e33a5
Expose some painting functions to Lua (#357)
* Expose some painting functions to Lua

get_painting_warp_node
initiate_painting_warp

* Change initiate_painting_warp u8 to s16

In initiate_painting_warp, pass in -1 to not override the painting index.

* Add sanity checks to get_painting_warp_node

* Add requested changes
2023-05-03 00:54:57 -07:00
MysterD
01d91ff07d Added profiling to more places to make lag easier to track down 2023-04-30 17:39:45 -07:00
MysterD
c1e33f5e70 Doubled extended model id size, avoided using vanilla object slots 2023-04-24 01:01:50 -07:00
MysterD
6346293468 Deterministically set the sync ID for level objects that spawn from spawninfo, macros, and special 2023-03-26 21:10:38 -07:00
Agent X
c79a001f5f
Make fixed collision rounded corners toggleable (#315) 2023-03-22 21:02:43 -04:00
Agent X
7f6f7fea47
Fix NaN position bug with fixed collision (#312)
* Fix fixed collision NaN position

Thanks to @Marioiscool246 for figuring this out.
Sometimes Mario's position will become NaN when doing specific things, this fixes that.

Co-Authored-By: Marioiscool246 <27823923+Marioiscool246@users.noreply.github.com>

* Formatting

Co-Authored-By: Marioiscool246 <27823923+Marioiscool246@users.noreply.github.com>

* Fix ordering

* Final fix(?)

---------

Co-authored-by: Marioiscool246 <27823923+Marioiscool246@users.noreply.github.com>
2023-03-20 21:13:02 -04:00