Commit graph

613 commits

Author SHA1 Message Date
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
fgsfds
511b1352b8 colorize chat messages with player color 2021-04-06 02:30:37 +03:00
fgsfds
109e713689 implement changeable model colors
in a very dumb way:

the custom colors are set for lights 3, 4, 5, 6 in a GEO_ASM callback, then copied to lights 1, 2 using gsSPCopyLightEXT
2021-04-06 00:22:42 +03:00
fgsfds
d4cdd89683 everyone except host is luigi 2021-04-05 04:21:23 +03:00
fgsfds
8f4965e05d partially fix jitter with two of the same model 2021-04-05 04:21:14 +03:00
fgsfds
843a8cd18f djoslin0's new warp code 2021-04-05 03:21:37 +03:00
MysterD
c0652f8a48 Allocate the correct number of controllers on stable branch 2020-10-18 22:15:52 -07:00
MysterD
281e45051b Prevent racing penguin crash when one player cheats
Fixes #87
2020-10-18 18:21:19 -07:00
MysterD
f88aee251e Keep BETTERCAM/bubbled players within the minimum Y bounds of levels
Players/cameras were able to clip inside of island-like levels
previously. I have hardcoded sane minimum Y values for the following
courses: WF, CCM, PSS, BITDW, TTM, RR, BITS
2020-10-18 11:57:45 -07:00
MysterD
4cb49d3946 Misc sync fixes to various enemies
Considered nearest player for various things within the following
entities that I missed the first time around: cloud, koopa, monty mole,
moving coin, piranha bubbles, scuttlebug, shock wave, spindrift.
2020-10-17 23:58:24 -07:00
MysterD
cbf8505516 Misc fixes to bub 2020-10-17 23:43:29 -07:00
MysterD
f4263deea9 Fix wiggler softlock and intangibility 2020-10-17 23:38:32 -07:00
MysterD
98cc31d6cb Do not consider inactive players when bubbled 2020-10-17 23:27:34 -07:00