Commit graph

725 commits

Author SHA1 Message Date
MysterD
b5762c2446 Add in-game player list 2022-01-15 20:44:11 -08:00
MysterD
6a1ceab5ca Made bubble-on-death a server setting 2022-01-14 20:33:06 -08:00
MysterD
625e9b5df9 Fix various bugs with spiny and lakitu 2022-01-14 20:06:26 -08:00
MysterD
839575efe1 Fixed home radius on many enemies, fixed draw distance bug 2022-01-14 16:33:22 -08:00
MysterD
84b9fc8691 Reverted: Removed player offset when changing areas 2021-09-05 15:55:39 -07:00
MysterD
8fb46314fa Resync bouncing fireball to only have one owner 2021-09-05 14:42:53 -07:00
MysterD
3721877b6a Removed player offset when changing areas 2021-09-05 14:34:17 -07:00
MysterD
4cebce4864 Added Waluigi - model provided by Super Keeberghrh 2021-09-05 14:23:47 -07:00
MysterD
01f1615092 Player bounce improvements: jump height depends on velocity, crouching players cause a twirl 2021-09-01 18:11:01 -07:00
MysterD
628ed5b798 Resync bhv1upHiddenInPoleSpawner to prevent a sync table mismatch 2021-08-30 18:35:47 -07:00
MysterD
b0ba739a6e Fixed player-in-cutscene position/animations on late-join 2021-08-30 18:31:59 -07:00
MysterD
92692378b4 Added adjustable draw distance for objects 2021-08-30 18:22:36 -07:00
MysterD
d7d26639a8 Prevented controllers from clearing, fixes movement animations 2021-08-29 14:57:40 -07:00
MysterD
96288326b5 Fixed late-join for Act 1 BBH staircase 2021-08-26 18:02:07 -07:00
MysterD
d6150c0b0d Player-to-player attacks adjusted for metal marios 2021-08-23 21:48:33 -07:00
MysterD
71fb968c56 Made player-to-player attacks easier to land 2021-08-23 21:30:12 -07:00
MysterD
5e8562d194 Fixed coins-inside-boo for BBH in act 2 2021-08-23 20:16:46 -07:00
MysterD
48eb2d0ab0 Removed spawn offset from players during a same-area-warp 2021-08-23 19:47:15 -07:00
MysterD
09bfe9cd0e Prevented softlock when collecting an object that is the focus of a cutscene 2021-08-23 19:03:14 -07:00
MysterD
1952c42769 Fixed being unable to interact with objects when dying outside the castle 2021-08-23 18:32:55 -07:00
MysterD
b53283dbf0 SL: Prevented multiple people from sending snow mount spawns, fixed sinking animation 2021-08-23 18:11:12 -07:00
MysterD
e0cb832c21 Fixed late join sync for goomba triplets 2021-08-23 00:02:46 -07:00
MysterD
9363de073f Cached network IDs for each area to prevent area swapping from assigning a different set of sync IDs 2021-08-22 16:04:14 -07:00
MysterD
7294e127f5 Fixed over 100 code warnings 2021-08-19 18:16:16 -07:00
MysterD
04d01667c3 Added a callback for area timer objects to only run certain things once per frame 2021-08-19 00:31:20 -07:00
MysterD
4688ffe1f0 Added toad player character 2021-08-18 22:55:31 -07:00
MysterD
1d23f07429 Added an argument to backface culling 2021-08-18 22:52:48 -07:00
MysterD
d31eb41e7e Move character names to character struct 2021-08-18 21:51:55 -07:00
MysterD
8a40aeddea Refactored how enemies display a cap in their hand 2021-08-18 21:39:39 -07:00
MysterD
43932249c6 Added support for spawning Luigi-versions of metal/vanish/wing cap as items 2021-08-15 11:46:28 -07:00
MysterD
efd22a81ab Added hacks for fire spitter and skeeter to prevent glitching through the floor on water level change 2021-08-14 20:17:57 -07:00
MysterD
d911c09c25 Added okey-dokey sound and transition to host menu 2021-08-14 18:45:25 -07:00
MysterD
f71cb26f64 Play menu music in main menu 2021-08-14 18:34:22 -07:00
MysterD
0b88ed7cce Resynchronized racing penguin for late join 2021-08-14 12:13:55 -07:00
MysterD
ed95bd317b Resynchronized Koopa the Quick and race timers for late join 2021-08-14 11:48:15 -07:00
MysterD
bdabb26f81 Fix display of water droplet splashes 2021-08-12 18:53:17 -07:00
MysterD
68e04a74bc Fixed late join for items a Boo was carrying 2021-08-12 18:48:17 -07:00
MysterD
3edb08c98d Allow multiple players to interact with the same BBH cage 2021-08-12 18:18:28 -07:00
MysterD
7e59d34939 Added new MAXIMUM type to network area timer system. Exclamation boxes now reappear at the correct time 2021-08-12 18:13:41 -07:00
MysterD
64ab95efe1 Made inactive players drop held/heldby/ridden objects 2021-08-12 00:02:59 -07:00
MysterD
7ae2239670 Hid HUD while in main menu 2021-08-11 23:30:01 -07:00
MysterD
da31495564 Refactor player sounds, added pitch scale for player sounds 2021-08-11 23:24:53 -07:00
MysterD
22121eea6b Fixed loading of certain save flags, e.g. lakitu 2021-08-10 22:25:34 -07:00
MysterD
fecba91c5e Rewrite the core of network area timer (yet again) 2021-08-10 18:29:49 -07:00
MysterD
d772764c4e Fixed cap-on-ground colorization behavior 2021-08-09 23:39:29 -07:00
MysterD
0c61b9fd07 Fixed crash when a hanging player was pushed off of the ceiling 2021-08-09 22:43:09 -07:00
MysterD
6f9b447468 Add null-checking to intro warp pipes 2021-08-09 22:06:51 -07:00
MysterD
961723f22d Rewrote logfile API, made discord log to a file 2021-08-08 23:42:20 -07:00
MysterD
710a7e4749 Color detached caps according to player palette 2021-08-06 01:02:07 -07:00
MysterD
0d05853138 Fix ending cutscene crash and make game playable afterward without rehosting 2021-08-04 23:56:33 -07:00
MysterD
4a3b39061f Force players in the credits sequence into the 'credits' instance 2021-08-04 13:01:59 -07:00
MysterD
8984ec3ba8 Adjust main menu cutscene and camera 2021-08-04 19:15:42 -07:00
MysterD
354146e3ac Make final Bowser star interactable for all players 2021-08-04 18:55:32 -07:00
MysterD
00da6b48f5 Fade out players when they leave/disconnect 2021-08-04 18:47:59 -07:00
MysterD
ab9056bb68 Make players invisible until their level/area can be verified 2021-08-04 18:15:46 -07:00
MysterD
7c8bddde28 Prevent capless flags from ever being set 2021-08-04 00:05:51 -07:00
MysterD
b1acd644f7 Invalidate area/level sync when unloading the area/level 2021-08-03 23:58:17 -07:00
MysterD
c5700825a8 Resynchronized WF tower platforms using Network Area Timer 2021-08-03 23:39:28 -07:00
MysterD
f8c5fb0725 Resynchronize WF platforms using Network Area Timer 2021-08-03 23:26:32 -07:00
MysterD
6a957757d4 Refactored network area timer system 2021-08-03 19:21:50 -07:00
MysterD
a84e7a73fe Resync bomp using Network Area Timer 2021-08-03 18:52:48 -07:00
MysterD
a520b25c26 Fixed Network Area Timer system 2021-08-03 18:02:21 -07:00
MysterD
d7b0945410 Added configurable player name, model, and palette 2021-08-02 22:33:38 -07:00
MysterD
4d997ba05e Fix long-standing chair crash in BBH 2021-08-02 19:45:13 -07:00
MysterD
a2bb578dbf Made the 'R Button - Options' text only appear on pause 2021-08-01 13:26:57 -07:00
MysterD
033a9aa1a8 Hide other players in main menu 2021-07-30 18:47:09 -07:00
MysterD
4e0a3e3e57 Merge branch 'dev/djui' into dev/unstable 2021-07-22 20:38:21 -07:00
MysterD
6ad96d5e69 Removed luigi sound config 2021-07-16 18:12:56 -07:00
MysterD
7e1a05a40b DJUI: Replaced old ingame menu with new DJUI menu 2021-07-15 19:37:09 -07:00
MysterD
28d63b2c87 Added save file selection to host menu 2021-07-14 18:58:52 -07:00
MysterD
13d504a953 Replaced old host/join menu with new DJUI menu system 2021-07-04 22:40:04 -07:00
MysterD
58eec0e19f Removed old chat system 2021-07-01 21:14:11 -07:00
MysterD
b4418bbd4f DJUI: Made inputbox usable
Added keyboard support to inputbox
Fixed how inputbox text is clipped
Added on_enter_press callback for inputbox
Added ability to set clipboard text
Adjusted how components can be focused, and when they lose focus
Erased most of the text input stuff in controller_keyboard
Disabled major parts of old chat system
Disabled major parts of old menu system
2021-07-01 20:03:54 -07:00
MysterD
a6c204e1cf Fixed how players compare their area numbers 2021-06-27 00:40:30 -07:00
MysterD
ad3ee677c6 Fixed cannons, possible fix to star unlocks 2021-06-27 00:33:31 -07:00
MysterD
59eef70183 Prevent player-to-player interactions from messing up other ones 2021-06-26 21:51:00 -07:00
MysterD
974d9b52cf Prevented initial level dialog from appearing twice 2021-06-26 20:36:18 -07:00
MysterD
6c687a5a73 Prevent walking through warp doors 2021-06-26 20:20:19 -07:00
MysterD
28ce5e9cdf DJUI: Added sliders, made Sound menu work 2021-06-25 15:50:31 -07:00
MysterD
6e23c952f9 DJUI: Rendering, interactable, and mouse adjustments
Made DJUI render at 60 fps
Added mouse cursor and hooks in SDL for capturing the window-relative mouse position
Started creating an interable system where elements can respond to events such as on_mouse_hover
2021-06-19 18:22:44 -07:00
MysterD
038c1135b3 Initial DJUI commit
The birth of a custom user interface system.

Has the ability to draw things to the screen at native resolution
regardless of window size.

Components can be nested within one another to an arbitrary depth.

Text rendering is completely rewritten.

Text and images can be clipped by their parent container.
2021-06-18 15:23:59 -07:00
MysterD
939318041e Bowser, cannon door, and eyerok no longer require server to be in level
All have been switched from being owned by the server to being owned by
the player with the lowest global ID in the level.
2021-06-15 21:04:51 -07:00
MysterD
f60b861d73 BBH bookshelf manager no longer requires the server to be in BBH
Instead of only allowing the server to update the bookshelf manager, allow the
lowest global ID player to update it.
2021-06-15 21:01:28 -07:00
MysterD
4c401f9ba8 Resynchronized DDD poles to use area timer system 2021-06-15 18:01:03 -07:00
MysterD
0c459294bb Fixed the merry go round in BBH
Fixed releasing of sync objects that otherwise don't sync their death events
Fixed using/releasing reserved objects in an area that the server isn't in
2021-06-14 21:06:07 -07:00
MysterD
ef2287a5d5 Resynchronized checkerboard elevators to use area timer 2021-06-14 20:29:08 -07:00
MysterD
e7d0f8ec8b Resynchronized LLL puzzle pieces
Created a timer based on area that is shared. The puzzle pieces will
execute rapidly to catch up to the timer on level join. This keeps them
in sync without constantly needing to acknowledge that a puzzle piece
had moved before continuing.
2021-06-14 20:14:47 -07:00
MysterD
6aded174e9 Synchronized moat draining and cap switch unlocks 2021-06-14 19:59:11 -07:00
MysterD
361a57edb6 Instance levels based on which star was selected
Previously the levels were instanced based on "act" which is a concept
that is invisible and unintuitive to the user.
2021-06-14 18:25:24 -07:00
MysterD
cd48d177b0 Additional synchronization + misc fixes
Prevented crash that happened when an upstairs painting was entered
Synchronized TTC speed setting
Synchronized WDW water level on late join
Player packets no longer broadcasted to clients in a different location
2021-06-14 18:13:58 -07:00
MysterD
59d08a90b9 Fixed how "levelAreaMustMatch" packets are sent/processed
Instead of the server dropping them immediately, the server only drops the processing. This allows it to broadcast/send the packet to the correct client without the server processing it.

Fixed how "static" level objects were detected. The old way was error prone and would consider spawned objects to be static anyway.

Made ERROR_LOGs always show up, "disabling" logging only turns off INFO_LOGs now.
2021-06-13 17:47:58 -07:00
MysterD
b6959dc7ea Informed players of ent deletions in a different area (but same level)
Added packet_level_respawn_info to inform the players of entity
deletions in a different area of the same level. Currently it's
massively noisy due to sending out a new packet for each entity
destroyed. This can cause chaos when collecting a series of coins.

Ideally this information would be batched and sent in one big blob every
so often.
2021-06-11 16:19:24 -07:00
MysterD
6bfdcbcb7b Complete rewrite of level-change/area-change system
Now level changes and area changes are separated. Entity deletions are
properly tracked on level change or area change. Late entity
synchronization is now triggered on any area change.
2021-06-11 14:39:25 -07:00
MysterD
0b3a97d405 Improvements to late-join synchronization
Removed (slightly) old coin and static ent removal system
Resynchronized respawners
Added packet for macro deletions
    better than previous system since the entities don't need a sync id and we can synchronize deletion station across areas
    allows the synchronization of odd entities like lines of coins
Added packet for spawn info deletions
Split packet_location_request into multiple files
2021-06-09 22:35:34 -07:00
MysterD
6e7c542068 Synchronized race timers 2021-06-08 22:05:12 -07:00
MysterD
33fbed94e4 Synchronized respawners and entities created after level load 2021-06-08 21:21:52 -07:00
MysterD
5db1a9e827 Synchronize late-join coin collection 2021-06-08 02:26:35 -07:00
MysterD
4be00a2eb1 Late-join synchronized chain chomp and exclamation box 2021-06-08 01:29:21 -07:00
MysterD
bbdc942501 Ripped out level synchronization/warp code
Began writing new system that synchronizes course/act/level/area per
player and 'ownership' of that location.
2021-06-07 12:19:59 -07:00
fgsfds
abd3a0a130 add more player colors 2021-04-06 18:08:41 +03:00