MysterD
09a1390d8d
Allow players to join while server is waiting in level transition
2020-09-19 15:07:27 -07:00
MysterD
74c44d3053
Allow other players to update entities grabbing you
...
In theory this should fix a rare King Bobomb softlock
2020-09-19 14:30:19 -07:00
MysterD
cc1e0e8407
Synchronized Boo's tangibility field
...
I believe this fixes #58
2020-09-19 10:38:58 -07:00
MysterD
285b1490f3
Fix bubbled vanilla-camera behavior
...
Fixes #66
2020-09-19 10:20:46 -07:00
MysterD
6122c4b313
Prevented star from spawning mid-level-change
...
Now CCM's slide star spawns correctly.
2020-09-19 10:03:36 -07:00
MysterD
5472f3d13a
Add development flag for easier testing
2020-09-19 02:12:49 -07:00
MysterD
64732308f4
Prevent useless keep-alive packets
2020-09-19 01:56:45 -07:00
MysterD
c4b82e7082
Rewrote synchronization for treasure chests
...
Fixes #63
2020-09-19 01:40:42 -07:00
MysterD
cf23ed92a2
Prevented enemies/events from considering disconnected players
2020-09-19 01:05:19 -07:00
MysterD
79d30d3c1c
Prevent exclamation box from opening multiple times
...
Fixes #57
2020-09-19 00:59:54 -07:00
MysterD
4a7b9736b4
Added compile-time flag to disable Discord SDK
...
In order to support ARM/Mac, discord must be disabled.
To disable compile with:
make DISCORD_SDK=0
Fixes #62
2020-09-19 00:53:56 -07:00
MysterD
a67a06c17c
Unconnected players are now hidden/intangible
2020-09-18 23:16:07 -07:00
MysterD
f8bffd3b2a
Added player connected/disconnected events
...
Changed synchronizing text to be more descriptive
Added 'player connected', 'player disconnected', 'network shutdown' chat messages
Prevented someone from joining through Discord while in another lobby
Added the distinction of sending a packet to all vs to a specific player
Enforced lobby size of 2, multiple joiners in a direct connection will be booted
Stored network destination for each player
Detected network drops
2020-09-18 23:06:26 -07:00
MysterD
6cf5e5da68
Add missing 'Chat' text
2020-09-16 01:01:29 -07:00
MysterD
3a37b79286
Renamed packet_save_file to packet_join
2020-09-15 23:07:00 -07:00
MysterD
2a10cca29a
Refactored packet code out of network.c/h
2020-09-15 22:58:16 -07:00
MysterD
eaaab8850f
Added exponential backoff to reliable packets
2020-09-15 22:45:17 -07:00
MysterD
275d6444b1
Added chat button bind, prevented chat from disabling other binds
2020-09-15 22:22:39 -07:00
MysterD
a0d5deceff
Fix DirectX builds
2020-09-15 21:48:14 -07:00
MysterD
128b3f2b33
Prevented chat start event from disabling alt-enter fullscreen
2020-09-15 09:54:04 -07:00
MysterD
6d89ed5a9f
Added warning when Discord isn't detected. Added missing sounds to buttons and events in menu
2020-09-15 09:47:26 -07:00
MysterD
7497e42364
Damn it, fixed Linux builds (this time for real?)
2020-09-14 23:34:19 -07:00
MysterD
a675f4efd5
Fixed Linux builds
2020-09-14 23:26:55 -07:00
MysterD
9a0c07e53c
Added in-game chat
...
Fixes #35
2020-09-14 22:05:20 -07:00
MysterD
5fe5ffda45
Make C-lib link statically again, force various compiler options better
2020-09-14 18:29:47 -07:00
MysterD
5abd0ca1ab
Complete rewrite of custom main menu
...
The vanilla main menu is an awful pile of code that is extremely painful
to make additions to. So I've side-stepped the problem by writing an
entiely new menu system without all of vanilla's quirks. I've separated
the custom menu system from the menus I want to make, which allows for
easy additions and a clear separation of responsibilities.
Along with this rewrite comes a host menu, adding the missing
configuration options in-game.
Fixes #29
2020-09-13 23:57:14 -07:00
MysterD
3e1b193ea8
Add Discord Game SDK networking system
...
Allows players to host without forwarding their ports or using a program
like Hamachi.
2020-09-13 03:27:35 -07:00
MysterD
fc9d7022b5
Fix Linux build
2020-09-12 19:27:25 -07:00
MysterD
6c8050a564
Abstracted all socket code behind a NetworkSystem
...
In preparation for other forms of communication, I have abstracted all
of the socket code (which needs direct connections) behind a struct
whose calls can be swapped out for other systems if desired.
2020-09-12 17:56:42 -07:00
MysterD
388470d579
Fixed softlocks when one player runs out of lives, or death by lava
...
Also bubbles player when falling into quicksand
Fixes #36
2020-09-12 14:32:50 -07:00
MysterD
daa05d98a0
Hacky workaround for BBH camera bug
...
One specific door didn't reset the vanilla camera when rushing through
an open door.
Fixes #48
2020-09-11 23:48:27 -07:00
MysterD
c0a31ab06c
Prevented bubbled players from triggering level warps
...
Fixes #41
2020-09-11 22:58:34 -07:00
MysterD
5abe3577ae
Added Luigi's face in place of 'Mario Cam'
...
Fixes #42
2020-09-11 22:36:29 -07:00
MysterD
6d438ba760
Fix first-person camera lock bug
...
Getting kicked in vanilla-cam's first person messed up the camera, this
fixes it.
Fixes #55
2020-09-11 22:32:32 -07:00
MysterD
718974c111
Fix PSS's secret star collection
...
Fixes #56
2020-09-11 22:25:49 -07:00
MysterD
3070d2bfdb
Prevent two players from holding the same object
...
Fixes #40
2020-09-11 22:14:42 -07:00
MysterD
284ab37406
Added debug level-warping for testing purposes
2020-09-11 20:10:29 -07:00
MysterD
c86c7f7280
Fix new level transition synchronization softlock
2020-09-11 18:30:34 -07:00
MysterD
a6b3ddcc69
Revert "Revert "More level transition synchronization rewrites""
...
This reverts commit 0667908b86
.
2020-09-11 18:08:24 -07:00
MysterD
0667908b86
Revert "More level transition synchronization rewrites"
...
New synchronization caused a softlock on new-level-dialogs
This reverts commit 163527401e
.
2020-09-11 18:02:21 -07:00
MysterD
04c21d91bc
Added version checking to clients
2020-09-11 16:19:38 -07:00
MysterD
163527401e
More level transition synchronization rewrites
...
I believe this fixes #51
2020-09-11 15:32:30 -07:00
MysterD
791423ff98
Properly offset player spawns
2020-09-10 22:18:10 -07:00
MysterD
cb6836f818
Fixed infinite hold by King Bobomb softlock
...
fixes #38
2020-09-10 21:55:03 -07:00
MysterD
71589938df
Fix King Bobomb dialog softlock
...
Fixes #45
2020-09-10 21:26:17 -07:00
MysterD
9cf3932435
Fix coffin crushing softlock
...
Fixes #47
2020-09-10 20:26:02 -07:00
MysterD
114665f6bb
Keep player control of camera for chain-chomp cutscene
...
Fixes #54
2020-09-10 20:02:16 -07:00
MysterD
3e5b08b487
Fixed small crimes against C
2020-09-10 09:43:32 -07:00
MysterD
1e6c734ced
Completely rewrote level transition synchronization code
...
Should be snappier and less prone to crashes. I tested as many scenarios
as I could think of and it has been rock solid. But time will tell.
Also created a new debug log system, just so I could understand what the
hell was going on with this code.
2020-09-10 00:17:30 -07:00
MysterD
e48a9c25ab
Added 'no lives remaining' text
2020-09-08 18:21:09 -07:00