Commit Graph

35 Commits (69742f7f2ff0543dc123bf3b79b240477b506033)

Author SHA1 Message Date
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
n64 ced3a63505 refresh 5 2020-01-03 10:38:57 -05:00
n64 99e662fa5d refresh 4 2019-12-01 21:52:53 -05:00
n64 8bc51a5025 Refresh 3 2019-11-03 14:36:27 -05:00
n64 5effc886be Refresh 2 2019-10-05 15:08:05 -04:00
n64 33b27a1ceb Refresh 1 2019-09-01 15:50:50 -04:00
n64 89e8690857 init2 2019-08-25 00:46:40 -04:00