Commit Graph

906 Commits (8c7f55a1fb40d2d3656704b5434ca746fa7255dc)

Author SHA1 Message Date
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
MysterD 42777fbe8f Changed text on level select screen 2020-09-08 17:33:03 -07:00
MysterD cf732c7beb Eject a player if more than one is in the cannon
Two players in the same cannon was causing softlocks and general
insanity. Now this should be fixed. Also prevented players from being
able to push or attack a player inside of a cannon.
2020-09-08 16:12:11 -07:00
MysterD 58a3156180 Lowered cannon sensitivity 2020-09-08 15:13:49 -07:00
MysterD ef6ec31075 Prevent ground pound from attacking until they're moving downward 2020-09-08 15:01:31 -07:00
MysterD a2fe4f80a7 Lower knockback for anything stronger than a kick 2020-09-08 14:57:50 -07:00
MysterD 26726121a5 Players sliding in the same direction will no longer attack each other
We check to see what the difference in velocities is, if it's small then
no attack is made. Otherwise, only the player going faster will attack.
2020-09-08 14:43:07 -07:00
MysterD d1873328a4 Prevent underwater bubble-popping from teleporting the player to the top 2020-09-08 14:03:12 -07:00
MysterD 1e46ed136a Prevent extra death for bubbled player on area change 2020-09-08 13:53:46 -07:00
MysterD a7434c9513 Completely disable text saves until they're synchronized 2020-09-08 13:34:35 -07:00
MysterD cb534a0ba5 Added custom luigi head sprite by air 2020-09-08 12:17:24 -07:00
MysterD a4288fe150 Allow exiting from course at any time 2020-09-08 09:52:48 -07:00
MysterD c12380aff4 Make inside-and-outside painting transition quicker over network 2020-09-08 09:50:34 -07:00
MysterD 29cb0935fb Fixed glitchy animations on remote when in dialog 2020-09-08 09:33:55 -07:00
MysterD cc550e1de5 Unagi: prevent sending a pointer, hopefully doesn't cause desync 2020-09-08 09:16:44 -07:00
MysterD b9924253bb Racing Penguin: remove airborn check, fix end of race desync 2020-09-08 09:15:43 -07:00
MysterD a804981b2a Fix koopa the quick sound spam and cheat detection 2020-09-08 09:06:25 -07:00
MysterD ef95d6820b Synchronized star entity interaction
Fixed error in packet_collect_star which would prevent the star from
disappearing when it should on remote.
2020-09-08 09:01:35 -07:00
MysterD 3b946eb5e1 Added stay-in-level-after-star server-side setting.
Configurable in the server's config file under:
coop_stay_in_level_after_star

Defaults to off

Based on GateGuy's patch
2020-09-08 00:04:06 -07:00
MysterD 2f8d119301 Prevent exclamation box from spawning the wrong star on remote 2020-09-07 23:56:29 -07:00
MysterD 2d0871e061 Prevent exclamation box from double spawning stars 2020-09-07 23:10:28 -07:00
MysterD f8044a5639 Make send_spawn_objects more reliable
As noticed by anuserlol, stars would sometimes not spawn from breakable
boxes on the remote. This was due to the box being destroyed before the
star spawned, when the star tried to spawn it couldn't find the parent
and gave up. Now if no parent is found the spawned object will be its
own parent. This should make all spawned objects more reliable, but may
cause weirdness somewhere.

Fixes #34
2020-09-07 20:54:15 -07:00
MysterD 88b935e9dd Force marioObj player indices to be well behaved
Fixes a crash when spawning the secret star in The Princess's Secret
Slide.

Fixes #32
2020-09-07 20:30:20 -07:00