Commit Graph

982 Commits (2b75690a315b7d866c3479db5db17ed1c6ae29fe)

Author SHA1 Message Date
MysterD 1bef126df8 Synchronize area changes 2020-08-10 12:08:40 -07:00
MysterD 6701b6096d Rewrote level synchronization
Synchronized exit course from pause menu
2020-08-10 09:33:40 -07:00
MysterD 2e768869e3 Misc fixing to entering paintings 2020-08-09 18:58:58 -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 a896713510 Made sockets platform-independent, supporting Linux 2020-08-09 13:23:27 -07:00
MysterD d7a5a151d0 Added checksums to packets 2020-08-09 10:44:21 -07:00
MysterD 1f1753e469 Added MARIO2 to all level scripts 2020-08-09 09:16:09 -07:00
MysterD 66c1c4f206 Synchronized 1up spawning 2020-08-09 09:04:30 -07:00
MysterD 6c189cebe7 Synchronize course complete screen 2020-08-09 08:23:53 -07:00
MysterD 05ba304050 Synchronized exclamation boxes 2020-08-09 08:07:32 -07:00
MysterD 41647d95c4 Synchronize Bobomb buddies and cannons 2020-08-09 07:42:44 -07:00
MysterD a49b8f3b1e Synchronized Koopa The Quick 2020-08-09 00:37:36 -07:00
MysterD eeec6aae49 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 b07aa565d4 Synchronized 3 types of star spawning, adjusted star interactions 2020-08-08 18:57:04 -07:00
MysterD 7f5dec337e Synchronized King Bobomb
Tried to synchronize dialog stuff, it's way too much of a mess to do
2020-08-08 17:13:11 -07:00
MysterD 4b61f7212b Fixed receiving of health, made recovery heart 2-player aware 2020-08-07 22:27:15 -07:00
MysterD 2a0a3df34f Synchronized bowling balls
Added flag to keep randomization for sync objects
2020-08-07 21:13:07 -07:00
MysterD 199bd07bb3 Synchronized water bombs
Added packet system to spawn objects on remote
2020-08-07 20:34:12 -07:00
MysterD 8b24d364bb Synchronized purple switch
Started working toward synchronizing star spawning, not quite there yet
2020-08-07 19:37:19 -07:00
MysterD 444c1fdd3b Synchronized coin collection
Reimplemented how randomness is synchronized
2020-08-07 18:01:58 -07:00
MysterD 5ec9ab9ec0 Synchronized seesaw, started moving toward a MAX_PLAYERS define 2020-08-06 22:52:32 -07:00
MysterD e86efb9e85 Synchronized checkerboard platforms
Created a max update rate
Created 'full object syncing'
Switched to using clock() instead of ticks for packet_object
2020-08-06 21:47:03 -07:00
MysterD e0b86b7d59 Synchronized teleports (e.g. flowerbed) and star collection
Fixed infinite packet_level_warp sending
2020-08-06 20:28:21 -07:00
MysterD 6bc4bfea62 Improve chain chomp syncing 2020-08-06 19:04:59 -07:00
MysterD fac4c20a36 Synchronized player health/death
Now we will never kill remote players locally, they will have to let us
know that they died.
Synchronized more of the small breakable box
Fixed desync where an object wouldn't be dropped sometimes
Fixed infinite loop when remote player was squished
2020-08-06 18:45:39 -07:00
MysterD 0a3b0623a5 Synchronized chain chomp, adjustments to Koopa
Added entity event syncing system. Made sure old events don't override
new events.
2020-08-05 23:44:43 -07:00
MysterD 0a2c76c76e Fixed max sync distance issue, synced Koopas 2020-08-05 20:25:52 -07:00
Martin Pham b35eb4f5c5 Update exoquant.c
fix mac build
2020-08-05 23:12:02 +02:00
MysterD e61b137160 Refactored entity death sync + reliable packets
Embedded an immediate packet send whenever a synced entity is unloaded
from the game.

Added reliable packet sending.
2020-08-05 01:01:50 -07:00
MysterD 6d3a90031c Synchronized breakable boxes
Added maximum sync distance, special cases for infinite distance and
only synchronizing entity deaths.

Started mocking out reliable packets for entity deaths.
2020-08-04 22:42:28 -07:00
MysterD 4452b38848 Synchronized inside-painting state 2020-08-04 20:49:53 -07:00
MysterD f32d3a2ba7 Added Luigi to courtyard and BoB, fixed some crashing issues 2020-08-03 17:59:44 -07:00
MysterD 6d0d7ffbaa Dialog to toad/signs/doors no longer soft-locks or stops time 2020-08-03 23:23:09 -07:00
MysterD ec2199892f Force synchronizing of level changes 2020-08-02 23:02:29 -07:00
MysterD 9b5b5acf19 Synchronized goombas, synced randomness, added extra fields to object packets 2020-08-02 18:29:46 -07:00
MysterD de9eab364f Added update rates for objects based on distance 2020-08-02 16:38:02 -07:00
MysterD 3d055255bc Added ability to sync multiple objects 2020-08-02 16:09:32 -07:00
MysterD 716a924803 Synchronized held objects, made respawners keep their sync ID 2020-08-02 14:18:34 -07:00
MysterD 579415dca9 Started synchronizing objects, refactored networking 2020-08-02 01:43:12 -07:00
MysterD 42a52ad936 Fixed synced crawling/climbing animation speed 2020-08-01 21:35:38 -07:00
MysterD 34b1ec76f6 Started adding networking 2020-08-01 20:22:24 -07:00
MysterD 0ad65c87da Made collision particles Luigi-aware 2020-08-01 20:21:44 -07:00
MysterD b525b9d43a Made one-ups Luigi-aware 2020-08-01 19:08:08 -07:00
MysterD 01e02affad Saved player index in held objects 2020-08-01 19:03:26 -07:00
MysterD fa2470327f Prevent situation where both players hold same object 2020-08-01 18:56:42 -07:00
MysterD 7accb94398 Made fish Luigi-aware 2020-07-31 22:35:14 -07:00
MysterD 4351a6345a Made Goomba Luigi-aware, fixed Mario's hurtboxes 2020-07-31 22:13:05 -07:00
MysterD c437e075ff Separated held objects, made Bobombs Luigi-aware 2020-07-31 18:03:57 -07:00
MysterD e99ca8cfce Made bird Luigi-aware 2020-07-30 23:17:18 -07:00