Commit graph

34 commits

Author SHA1 Message Date
MysterD
5d9d5ed9d7 Added ability for client to send a packet to server, and for the server to broadcast to all clients 2020-10-12 18:23:48 -07:00
MysterD
feb9bead02 Synchronized the controller properly (fixes 64bit-to-32bit communication bug) 2020-10-11 17:20:08 -07:00
MysterD
edc275b5e8 Enhancements to networked player infrastructure 2020-10-10 01:18:45 -07:00
MysterD
8360df84fe Add chat message when a player dies 2020-10-08 21:19:16 -07:00
MysterD
dd8de27014 Snap players on top of synchronized platforms 2020-10-05 22:05:05 -07:00
MysterD
b6e5581111 Somewhat synchronized player's interact/used objects 2020-10-02 23:34:19 -07:00
MysterD
4ade00ac78 Prevent bug where Luigi can't jump if Mario is holding something 2020-09-29 00:01:18 -07:00
MysterD
168a41f0f6 Drop various types of packets if level/area doesn't match 2020-09-26 15:52:00 -07:00
MysterD
e0bdaa1229 Fade remote players into level/area, drop player packets when in different area 2020-09-26 15:13:46 -07:00
MysterD
f5df807a0c Additional synchronization fixes for end cutscene. 2020-09-26 12:07:43 -07:00
MysterD
999ccccc77 Synchronize peak height to prevent random yelling of remote 2020-09-23 21:13:03 -07:00
MysterD
3070d2bfdb Prevent two players from holding the same object
Fixes #40
2020-09-11 22:14:42 -07:00
MysterD
29cb0935fb Fixed glitchy animations on remote when in dialog 2020-09-08 09:33:55 -07:00
MysterD
df7904e288 Geo2 removal wip 2020-09-06 13:54:01 -07:00
MysterD
b9750057d5 General network code clean up
Marked globals, rearranged functions, added comments
2020-09-06 11:02:41 -07:00
MysterD
4cb13edf84 Fix animation desync when pressing Z+B
Fixes #18
Found by el pinguino max
2020-09-04 21:08:04 -07:00
MysterD
d5005c9f37 Served time for crimes against C
Due to my compile & launch scripts, I was silently ignoring warnings
this whole time. I've fixed my process, and gone back to fixed all of
the warnings I could (even outside of my code).
2020-09-04 01:58:54 -07:00
MysterD
ab9e7c7bca Added player-to-player interactions
Players are now solid to each other and can push each other
Players can now attack each other (but they do not deal damage)
Players can bounce on top of each other, and they get squished
temporarily
Players are given slightly offset positions when they transition between
areas and levels, so they're no longer on top of one another.
2020-09-02 23:50:27 -07:00
MysterD
72c4379d8a Fix first sound and size of first punch
The code was skipping playing the sound of the first punch, and changing
the size of the first for the first punch. Added hacky stuff to the
player packet code to ensure those events are hit.

Fixes #10 reported by somario360
2020-09-01 23:35:57 -07:00
MysterD
f62f80a228 Synchronize sleeping animations
Sleeping animations were desynchronized previously. Now remote goes to
sitting, and to laying down, at the right times. A snoring remote player
will no longer lower your music, and will no longer get stuck snoring
when they wake up.

Fixes #11 reported by somario360
2020-09-01 23:00:12 -07:00
MysterD
e705353e00 Synchronized squished values 2020-08-31 22:22:33 -07:00
MysterD
483694d6b3 Synchronized Bowser 1 2020-08-29 12:59:07 -07:00
MysterD
d2a2a80d56 Synchronized Big Boo's Haunt + major changes
Synchronized currentRoom per-player
Synchronized haunted bookshelf, and the bookshelf manager
Synchronized haunted chairs
Synchronized mad piano
Synchronized BBH's tilting trap, and made the physics multiple-player-aware
Synchronized scuttlebugs
Synchronized every variety of Boo
Synchronized elevators
Synchronized flamethrowers
Synchronized the various types of enemy books
Synchronized the book switches
Synchronized jumping box
Made coffins multiple-player-aware

Fixed everything that used gMarioState as an array instead of gMarioStates
Prevented some NPC-dialog softlocks
Prevented the remote player from messing up the local's camera settings
Possibly fixed the relatively rare chain chomp softlock
Possibly fixed the relatively rare chain hoot softlock
Fixed the first-person-camera softlock
Forced camera code to use the correct mario struct
2020-08-26 23:29:40 -07:00
MysterD
57a4e746cf Synchronized underwater koopa shell 2020-08-18 18:46:54 -07:00
MysterD
88bcd2a143 Sound fixes for remote player 2020-08-13 18:53:01 -07:00
MysterD
48f42d1873 Fixed visual bug when both players are sliding 2020-08-12 19:14:35 -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
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
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
9b5b5acf19 Synchronized goombas, synced randomness, added extra fields to object packets 2020-08-02 18:29:46 -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