Commit Graph

84 Commits (13d7d3b82f753f1e9b0d49a95f4a5fb84e0d0ab8)

Author SHA1 Message Date
MysterD eeb9a68529 Lua networking improvements
More types can be sent over the network
SyncTables are synchronized on client join
2022-01-31 19:09:03 -08:00
MysterD 598e8b5bed Initial foundation for lua networking 2022-01-30 23:11:33 -08:00
MysterD 2c437a233e Bumped version to unst 14 2022-01-28 19:16:05 -08:00
MysterD 5a0a2eb9e0 Lua: autogenerated cobjects 2022-01-25 19:28:10 -08:00
MysterD 1cc94c21cb Added Lua allow-list for cobject pointers 2022-01-23 16:35:43 -08:00
MysterD a28dcb3c45 Allowed enabling/disabling of mods through the UI 2022-01-23 15:45:42 -08:00
MysterD 71ff2a3924 Added download progress bar 2022-01-23 11:32:03 -08:00
MysterD 90691ee89d Lua mod table and download
Mods are now loaded into a table
Clients now request a mod list from the server, then download each file one at a time before joining
Embedded constants.lua into the program
2022-01-22 23:59:49 -08:00
MysterD c802ffea4e Lua: moved hook functions into their own file 2022-01-21 19:40:26 -08:00
MysterD 6d1f5637cb Merge branch 'unstable' into lua 2022-01-21 19:19:21 -08:00
MysterD 63473eca21 Notify players where other players go with a popup 2022-01-21 18:24:53 -08:00
MysterD a0f01090ce Added key/bind names to controls menu 2022-01-20 21:46:22 -08:00
MysterD 652e29b679 Even more Lua improvements
Added support for structs: Surface, GraphNodeObject_sub, Animation
Generated lua wrapper functions for more functions in mario_actions_submerged.c
Fixed play_sound() wrapper to use a vec3f
Extended Moveset:
	ported wall slide and water ground pound
2022-01-20 18:02:12 -08:00
MysterD ed65f76b29 More Lua improvements, ported ACT_ROLL / ACT_ROLL_AIR from extended moveset 2022-01-18 01:48:51 -08:00
MysterD 204eae7380 Initial LUA support - MarioState read/write 2022-01-16 08:51:29 -08:00
MysterD e0369f1a17 Add packet debug sync to make debugging sync ids easier 2021-08-25 18:02:30 -07:00
MysterD 54fb90b549 Split luigi/custom character models into custom and zcustom 2021-08-15 01:06:25 -07:00
MysterD dd0f1cddac Resync bomp using Network Area Timer 2021-08-03 18:52:48 -07:00
MysterD 53b4ddef7a Added configurable player name, model, and palette 2021-08-02 22:33:38 -07:00
MysterD 89decfe9a6 DJUI: Added mouse support to DX11/DX12 2021-07-31 02:30:10 -07:00
MysterD 7ea1203433 Merge branch 'dev/djui' into dev/unstable 2021-07-22 20:38:21 -07:00
MysterD 38b7525848 DJUI: Reimplemented chat 2021-07-21 00:53:28 -07:00
MysterD 8bc33d05dc Made cheats server-setting, created cheat menu 2021-07-16 18:43:21 -07:00
MysterD df53c263e8 DJUI: Replaced old ingame menu with new DJUI menu 2021-07-15 19:37:09 -07:00
MysterD f35d15d588 DJUI: Changed quit menu into confirm menu, confirmed save erase 2021-07-14 19:14:07 -07:00
MysterD 1ea3007256 Added save file selection to host menu 2021-07-14 18:58:52 -07:00
MysterD e92c541052 DJUI: Created popup system, re-added missing popup messages 2021-07-12 18:29:39 -07:00
MysterD bb93ee4073 Added a join message screen
Displays an animation while joining
Shows version mismatch error in join message screen
Shows mod mismatch error in join message screen (displays mismatching mods now)
Displays party is full / host closed connection in join message screen
Added string builder
2021-07-10 22:30:58 -07:00
MysterD fa55493dbc Removed old custom menu system 2021-07-01 21:27:57 -07:00
MysterD a2e8113cfc Removed old chat system 2021-07-01 21:14:11 -07:00
MysterD 638c36b43e DJUI: Added join panel 2021-07-01 21:03:14 -07:00
MysterD c4cd73fe7d DJUI: Started adding inputbox 2021-06-29 19:04:23 -07:00
MysterD 4889e52ca0 DJUI: Added host menu
Added host message menu
Refactored how panel menus are constructed
Adjusted normal font's line height
Adjusted how text boxes detect max lines
2021-06-28 00:04:48 -07:00
MysterD e62770a51b DJUI: Added controls menu 2021-06-27 15:54:10 -07:00
MysterD a2439cbacc DJUI: Added selectionbox 2021-06-26 14:20:39 -07:00
MysterD caa8cce39a DJUI: Added sliders, made Sound menu work 2021-06-25 15:50:31 -07:00
MysterD 450e35783e DJUI: Wrote active panel system 2021-06-24 18:15:59 -07:00
MysterD 019639f44b DJUI: Added 'Three Panel' component 2021-06-23 19:17:46 -07:00
MysterD a5a3458221 DJUI: Added keyboard/gamepad support 2021-06-22 20:01:16 -07:00
MysterD 9d401be5ad DJUI: started adding options menu 2021-06-22 00:13:37 -07:00
MysterD bcdd5b8eda Added custom title font
Adjusted text system to have multiple fonts
Added color escape to text
2021-06-21 21:18:27 -07:00
MysterD 24bd83963e Added quit menu
create enabled switch to disable interactables
fixed djui_base_destroy()
added on_click() event
2021-06-21 03:11:53 -07:00
MysterD 326bc52d08 DJUI: Created main menu panel
Added ability to make a DjuiBase keep its aspect ration
Added on_render_pre callback
Added ability to display 32b images
Added DjuiFlowLayout
Added logo
2021-06-20 23:34:14 -07:00
MysterD 43dc7bd6a1 Many small adjustments to networking code
In an attempt to track down an issue that causes packet flooding and
hanging, I've looked at every step of the networking process and tried
to clean up anything strange I saw.
2021-06-20 04:36:33 -07:00
MysterD 5eecb9d48e 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 38e6b5d340 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 aebaecc1cc Resynchronized checkerboard elevators to use area timer 2021-06-14 20:29:08 -07:00
MysterD 248e8a8963 Complete rewrite of entity ID reservation system
Now "syncId"s can only be reserved at ID 127+. This ensures that static level
objects and spawned reserved objects never clash. The server keeps track of
every player's list of reserved IDs, as well as when an ID is used, or when
an entity using that ID is destroyed. This is much more complicated than it
used to be, but this complication is required due to players being allowed to
be in different areas of the game.
2021-06-13 16:04:28 -07:00
MysterD cabdab421b 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 27b4b368e4 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