Commit Graph

622 Commits (ab9973fa4fdb87d8dcc918c892232274f56e0ed1)

Author SHA1 Message Date
MysterD ab9973fa4f Synchronized platform-on-tracks 2020-08-10 19:08:47 -07:00
MysterD 359cb001e8 Synchronized blue coin switch 2020-08-10 18:19:27 -07:00
MysterD ecec09f675 Disabled many timestops 2020-08-10 18:10:04 -07:00
MysterD 6a56a66755 Synchronized snowman 2020-08-10 18:09:31 -07:00
MysterD 256d49330e Synchronized racing penguin 2020-08-10 15:09:09 -07:00
MysterD ad1cfbef71 Synchronized baby and mother Tuxie
Added missing star parameter
2020-08-10 14:27:56 -07:00
MysterD d751119e11 Synchronized Mr Blizzard 2020-08-10 13:29:07 -07:00
MysterD aa906200bf Synchronized spindrift 2020-08-10 12:08:53 -07:00
MysterD 2eae2e9f22 Synchronize area changes 2020-08-10 12:08:40 -07:00
MysterD bfdc8c0830 Rewrote level synchronization
Synchronized exit course from pause menu
2020-08-10 09:33:40 -07:00
MysterD 6a31342761 Misc fixing to entering paintings 2020-08-09 18:58:58 -07:00
MysterD 7467425bbc Refactor packet_object + misc cleanup 2020-08-09 17:40:37 -07:00
MysterD 4584b8b8f2 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 09d975aea1 Made sockets platform-independent, supporting Linux 2020-08-09 13:23:27 -07:00
MysterD 6928e39861 Added checksums to packets 2020-08-09 10:44:21 -07:00
MysterD f44045fb15 Added MARIO2 to all level scripts 2020-08-09 09:16:09 -07:00
MysterD 0154afb3dc Synchronized 1up spawning 2020-08-09 09:04:30 -07:00
MysterD 407407b915 Synchronize course complete screen 2020-08-09 08:23:53 -07:00
MysterD ddc9eb3090 Synchronized exclamation boxes 2020-08-09 08:07:32 -07:00
MysterD 77d3c18c75 Synchronize Bobomb buddies and cannons 2020-08-09 07:42:44 -07:00
MysterD ee2ee1a2a1 Synchronized Koopa The Quick 2020-08-09 00:37:36 -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 4257d7ad94 Synchronized 3 types of star spawning, adjusted star interactions 2020-08-08 18:57:04 -07:00
MysterD f77ed51258 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 4646c4bb4e Fixed receiving of health, made recovery heart 2-player aware 2020-08-07 22:27:15 -07:00
MysterD efc609b37e Synchronized bowling balls
Added flag to keep randomization for sync objects
2020-08-07 21:13:07 -07:00
MysterD 97fdf81445 Synchronized water bombs
Added packet system to spawn objects on remote
2020-08-07 20:34:12 -07:00
MysterD 872363b6d1 Synchronized purple switch
Started working toward synchronizing star spawning, not quite there yet
2020-08-07 19:37:19 -07:00
MysterD a76dbaeb5c Synchronized coin collection
Reimplemented how randomness is synchronized
2020-08-07 18:01:58 -07:00
MysterD 1a838e3ac6 Synchronized seesaw, started moving toward a MAX_PLAYERS define 2020-08-06 22:52:32 -07:00
MysterD 6e53e9abb1 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 a55f050051 Synchronized teleports (e.g. flowerbed) and star collection
Fixed infinite packet_level_warp sending
2020-08-06 20:28:21 -07:00
MysterD b1651e96b6 Improve chain chomp syncing 2020-08-06 19:04:59 -07:00
MysterD edb38087cb 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 76bf108a20 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 3eb1269e47 Fixed max sync distance issue, synced Koopas 2020-08-05 20:25:52 -07:00
MysterD 6910b3a320 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 5f5d2966ac 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 4e37eba8dd Synchronized inside-painting state 2020-08-04 20:49:53 -07:00
MysterD 6878b47833 Added Luigi to courtyard and BoB, fixed some crashing issues 2020-08-03 17:59:44 -07:00
MysterD 7d0c8ec11d Dialog to toad/signs/doors no longer soft-locks or stops time 2020-08-03 23:23:09 -07:00
MysterD 6e38a80888 Force synchronizing of level changes 2020-08-02 23:02:29 -07:00
MysterD 0fad9840a3 Synchronized goombas, synced randomness, added extra fields to object packets 2020-08-02 18:29:46 -07:00
MysterD 5f34335fbb Added update rates for objects based on distance 2020-08-02 16:38:02 -07:00
MysterD fe1f27c218 Added ability to sync multiple objects 2020-08-02 16:09:32 -07:00
MysterD d56d5256f0 Synchronized held objects, made respawners keep their sync ID 2020-08-02 14:18:34 -07:00
MysterD ae1f5bf892 Started synchronizing objects, refactored networking 2020-08-02 01:43:12 -07:00
MysterD 1fe7689bef Fixed synced crawling/climbing animation speed 2020-08-01 21:35:38 -07:00
MysterD ba265e9738 Started adding networking 2020-08-01 20:22:24 -07:00
MysterD 2719726ec0 Made collision particles Luigi-aware 2020-08-01 20:21:44 -07:00