Commit Graph

56 Commits (30b43e78a8080f3204c9aaacb21c3ee3be777baf)

Author SHA1 Message Date
MysterD 9c1c766489 Keep animations in-bounds 2023-05-18 12:42:18 -07:00
Agent X bdd66345bd Reset paintings on network shutdown (#393) 2023-05-14 19:15:25 -07:00
MysterD 3489186355 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
Prince Frizzy 65887572e2 Adds support for compiling other regions (#378)
* Initial support for compiling with EU.

* Fix EU text.

* JP now compiles, TODO: Fix Autogen to fix JP and fix text in djui.

* audio: Prevent crash in EU.

* audio: Sync EU audio to 60 Hz instead of 50 Hz

* Add logging and remove sanity check to hopefully track EU crash.

* Various improvements for EU

Improve some memory debugging
Improve sound debugging
Initalize some variables in load.c for the sound system
Synchronize the EU cutscenes with the US version.

* Fix credits music playing in EU, Document some EU audio code.

* Autogen now supports version excluded object fields and functions. Reran autogen in accordance.

* Fix some potentional shifting issues due to version differences.

* Decrease the sleep times in some spots, We do not need them to be so long. (#373)

* Add the region to the version string.

---------

Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
2023-05-03 00:54:25 -07:00
MysterD da132205bd Fix up co-op ripples 2022-08-07 01:10:10 -07:00
MysterD bf995d79c1 Sync setHome value in spawn object 2022-06-02 21:02:43 -07:00
MysterD e1fd969cf3 Add support for custom HUD textures and faster texture packs w/o EXTERNAL_DATA 2022-05-06 22:03:12 -07:00
MysterD 3225de7e2c Fix error in LOAD_MODEL_FROM_GEO_EXT (level gen) 2022-04-10 16:20:02 -07:00
MysterD 18025909c8 Un-hardcoded vanilla trajectories 2022-04-08 21:01:17 -07:00
MysterD 8805ec2a07 Made the entry level configurable by Lua 2022-04-08 19:39:22 -07:00
MysterD f74b6a47d0 Load Super Keeberghrh's ERROR model when DynOS can't find the model 2022-03-16 01:34:18 -07:00
Prince Frizzy 43ae67c337 Update to Refresh 13 (#19)
* Refresh 13

Co-authored-by: n64 <n64>
2022-03-13 00:17:10 -08:00
MysterD a3efdebec4 Added FluffaLuigi's Wario model 2022-02-13 21:52:35 -08:00
MysterD d224e85ed5 Added Waluigi - model provided by Super Keeberghrh 2021-09-05 14:23:47 -07:00
MysterD 993e988bd4 Added toad player character 2021-08-18 22:55:31 -07:00
MysterD eab9064427 Added support for spawning Luigi-versions of metal/vanish/wing cap as items 2021-08-15 11:46:28 -07:00
MysterD 54fb90b549 Split luigi/custom character models into custom and zcustom 2021-08-15 01:06:25 -07:00
MysterD c0db40a3ea Fix ending cutscene crash and make game playable afterward without rehosting 2021-08-04 23:56:33 -07:00
MysterD b3c4efac72 Replaced old host/join menu with new DJUI menu system 2021-07-04 22:40:04 -07:00
anzz1 8d26400e84 Enemy hat fixes (#83)
* Ukiki now steals Mario/Luigi hat correctly
* Klepto now steals Mario/Luigi hat correctly
* Mr. Blizzard now knocks off Mario/Luigi hat correctly
* Fwoosh now knocks off Mario/Luigi hat correctly

Co-authored-by: anzz1 <>
2020-10-16 03:03:25 -07:00
MysterD 0bde13c695 Add no camera collision to various objects 2020-10-04 23:55:06 -07:00
MysterD 416f4a1398 Rewrote how players are initialized, stored, and displayed
Since the second-player code was the first code I wrote, it was implemented
poorly. At that point, I didn't know the code base at all and the way it was
written would prevent anyone from ever adding to those parts.

The rewrite allows me to use the default geo.inc.c file for Mario, and removes
all of the geo2.inc.c files. I no longer do a bunch of bit shifting to figure
out which player is being drawn in the rendering code.

I'm also now able to remove tons of duplicate code that exists just for the
remote player. The main player code is generic enough to support both indices.
A side-effect of the rewrite is I was able to remove many assumptions in the
code where two-players is assumed, but many other parts of the code still
assume two players.

This is a fairly major change that, if all goes well, will be completely
unnoticed by the player. However, I do expect new bugs to pop up in strange
places. Time will tell.
2020-09-06 18:52:52 -07:00
MysterD 62ecf2c58a Geo2 removal wip 2020-09-06 13:54:01 -07:00
MysterD 5857b71209 Players turn into bubbles when they die
Player life counters are separate.
When one player dies they lose a life and are turned into a bubble.
If the other player pops it, they are alive again.
If all players are bubbled, they get kicked out of the level.
If the bubbled player ran out of lives, they can not come back to life
until the level is over.
Whenever a level change happens, everyone's life count is set to a
minimum of two.
No game overs.

Took heavy inspiration from Kaze Emanuar
2020-09-05 18:10:55 -07:00
MysterD 0a463ae362 Added host/join in-game GUI
Now people aren't forced to launch with command-line parameters,
instead they can host or join a server by selecting buttons in
the main menu.
2020-09-03 18:30:15 -07:00
MysterD 05739c963f Removed debug enemies from castle grounds 2020-08-28 23:06:56 -07:00
MysterD 0c33337d35 Synchronized square platforms as groups of two 2020-08-28 20:25:34 -07:00
MysterD c0473af271 Created system to reserve sections of SyncIDs per client
This allows clients to spawn a new sync object after the level loads and synchronize it.
Changed how un-initialized sync objects are detected
Koopa shells are the first thing to use this new system

Removed network_object_settings() command, instead explicitly setting the sync object parameters
2020-08-24 18:33:53 -07:00
MysterD f44045fb15 Added MARIO2 to all level scripts 2020-08-09 09:16:09 -07:00
MysterD a1522c9eaf L is real 2020
Added Luigi model.
Renamed all previous references to 'Luigi' to 'Mario2' since player 1
isn't always mario, and player 2 isn't always luigi.
Now server is always mario and client is always Luigi.

Luigi model credits:
Original model by Cjes, converted by AloXado320, textures added/fixed by
SunlitSpace542.
2020-08-08 21:36:49 -07:00
MysterD 3eb1269e47 Fixed max sync distance issue, synced Koopas 2020-08-05 20:25:52 -07:00
MysterD 6878b47833 Added Luigi to courtyard and BoB, fixed some crashing issues 2020-08-03 17:59:44 -07:00
MysterD 0fad9840a3 Synchronized goombas, synced randomness, added extra fields to object packets 2020-08-02 18:29:46 -07:00
MysterD fe1f27c218 Added ability to sync multiple objects 2020-08-02 16:09:32 -07:00
MysterD ae1f5bf892 Started synchronizing objects, refactored networking 2020-08-02 01:43:12 -07:00
MysterD ba265e9738 Started adding networking 2020-08-01 20:22:24 -07:00
MysterD e2f70596cf Made fish Luigi-aware 2020-07-31 22:35:14 -07:00
MysterD 8eee1d68a9 Made Goomba Luigi-aware, fixed Mario's hurtboxes 2020-07-31 22:13:05 -07:00
MysterD afc4331d9e Separated held objects, made Bobombs Luigi-aware 2020-07-31 18:03:57 -07:00
MysterD 7cc01ab03d Added IMMEDIATELOAD debug flag to skip all intro stuff 2020-07-30 20:42:39 -07:00
MysterD 70fa41fd65 Separated animations between players 2020-07-30 18:09:47 -07:00
MysterD f84e9c92af Started adding player 2 / Luigi 2020-07-29 21:08:38 -07:00
fgsfds 28770a8e7e restore full demo loop 2020-06-21 19:38:15 +03:00
n64 5bee83faa8 merge refresh 10 2020-06-20 02:49:59 +03:00
Hyenadae 3c38191956 Removed majority of TARGET_N64 logic from code 2020-05-13 07:57:25 -04:00
Zero-Shift 0b1a9d09af Update script.c
Changed amount of sleep frames when transitioning from main menu and exiting a stage to fix TAS sync issues
2020-05-09 20:32:50 -05:00
Jan200101 9267bdd8a8 merge PC port onto the decompile 2020-05-07 20:21:22 +02:00
n64 4d54e2f91a Refresh 8 2020-04-03 14:57:26 -04:00
n64 88e2433da5 Refresh 7 2020-03-01 22:42:52 -05:00
n64 88b91e7c75 refresh 6 2020-02-03 00:51:26 -05:00