Commit graph

200 commits

Author SHA1 Message Date
GenericHeroGuy
fd48ecd4ca Make the camera options work again 2025-06-09 23:26:56 +02:00
GenericHeroGuy
f14e5f2f56 Softcode server list page and sound options 2025-06-09 22:53:54 +02:00
GenericHeroGuy
56edab2480 Remove a TON of special-case menu code
You can now combine submenu/cvar/call to allow for more complex behavior,
without the need for keyhandlers. All those dummy menuitems relying on
keyhandlers now use cvars, like everything else does.

Yes, several things are still hardcoded, but player setup no longer
needs its own miniature menu system :^)
2025-06-08 17:15:17 +02:00
GenericHeroGuy
acb2cb752e Factor out item drawing into a separate function 2025-06-07 22:47:08 +02:00
GenericHeroGuy
2252c16acb Rewritten scrolling and coordinate logic 2025-06-07 21:01:29 +02:00
GenericHeroGuy
e9d764eaa6 Move keyhandler from menuitems to menu (and clean up event handling)
Also make empty menus work
2025-06-06 02:16:21 +02:00
GenericHeroGuy
1a0285d193 Let keyhandlers pass through events
Hooray, keyhandlers no longer eat your entire keyboard!
2025-06-05 22:29:51 +02:00
GenericHeroGuy
e6dc870b2b Wire up and start using enterroutines 2025-06-05 19:47:08 +02:00
GenericHeroGuy
5a0a889cd1 Menu functions now return INT32
Just my best guess what everything should return. Doesn't matter right now
2025-06-05 19:47:08 +02:00
GenericHeroGuy
a8b8510188 Menu flags rework
As I found out the hard way, shit's still hardcoded...
So now, hidden/grayed out/secret are completely separate flags rather than
being baked into the other status fields!
Lots of cleanup and refactoring along the way...

You can now change an item from a call to a submenu without segfaulting
due to hardcode messing with the flags :^)
Also, completely blank items now default to being non-interactible, much
more sensible than defaulting to call
2025-06-04 21:41:05 +02:00
GenericHeroGuy
12dfdd2f11 Remove Pandora's Box and Emblem Hints 2025-06-03 19:16:12 +02:00
GenericHeroGuy
e680b12eac Remove character descriptions 2025-06-03 18:58:09 +02:00
GenericHeroGuy
308d2efb31 Deduplicate a bunch of routines 2025-06-03 18:48:35 +02:00
GenericHeroGuy
231b067af1 Pass argument for IT_CALL
and fix server list softlock
2025-06-03 17:01:25 +02:00
GenericHeroGuy
c3fe4fb71e Coordinates, arguments, tooltips, string buffers 2025-06-03 16:01:19 +02:00
NepDisk
9cf5b4e79f Update stuff for new menu additions 2025-05-30 00:14:15 -04:00
GenericHeroGuy
4d2dc53972 Fix warnings 2025-05-19 19:36:49 +02:00
GenericHeroGuy
13a0378cea Turn namehash/nameofs into a struct, and linearly allocate freeslots
Also fix bugged skincolor & precipprops clear in lua_infolib
2025-05-19 18:22:00 +02:00
GenericHeroGuy
360e7419e8 Merge branch 'blankart-dev' into infostuff 2025-05-19 15:23:51 +02:00
NepDisk
05f1e18084 Large Menu commit
Ports 2.2's scrolling menu, port SRB2Kart Custom build Menucap cvar, register new menus
2025-05-18 23:55:03 -04:00
GenericHeroGuy
1d0a066590 Add name hashing for supported info types 2025-05-18 18:13:04 +02:00
GenericHeroGuy
c3fe5e80ac Screw checking for nameofs being zero, just keep count of mobjs/states 2025-05-18 14:46:24 +02:00
GenericHeroGuy
e3f8019b84 And menus 2025-05-14 16:43:20 +02:00
NepDisk
28a493dbc3 Tri map records pt.3: Finalize changes 2025-04-12 13:12:24 -04:00
NepDisk
9cd4294c21 TA support for extra game toggles 2025-04-10 19:53:44 -04:00
GenericHeroGuy
68a29ad0dc Don't use K&R syntax for messagebox routines which was removed in C23
Yup, that's not just a function declaration thing...
Starting to doubt if this is a net improvement
2025-03-25 23:33:33 +01:00
GenericHeroGuy
fd7eb9e06d Refined message box code, consistent DrawPatchFill
M_StartMessage now takes a function pointer instead of an object pointer.
No more FUNCPTRCAST
2025-03-25 21:23:57 +01:00
GenericHeroGuy
8c2803607d Show names for menu/menuitem warnings 2025-03-25 17:11:52 +01:00
GenericHeroGuy
016435b3b9 Fix jank attack
Consistently call D_StartTitle, don't glitch out on invalid replays etc
2025-03-25 15:55:56 +01:00
GenericHeroGuy
8a6a49ce03 Menutype header
Also add more than 1 freeslot
2025-03-24 17:09:27 +01:00
GenericHeroGuy
eb481b6ac4 Remove unused SRB2 menutypes
Also remove MP_OFFLINESERVER, since that's just MP_SPLITSCREEN (oops)
2025-03-24 16:39:17 +01:00
GenericHeroGuy
a609c7b5ce Replace prevmenu with menustack
menustack[0] replaces both menuactive and activeMenuId
Hopefully this is the last major change to the codebase...
2025-03-23 01:47:19 +01:00
GenericHeroGuy
4933f96422 Clean up menuitem functions 2025-03-22 20:54:12 +01:00
GenericHeroGuy
f51868ed3f No more menu_t definitions, use menutype constants everywhere 2025-03-22 01:40:33 +01:00
GenericHeroGuy
fca25051cb SOC the server connection menu 2025-03-22 00:45:38 +01:00
GenericHeroGuy
8471ecabd8 SOC the Discord menus
Thanks nep for making rich presence build again lol
2025-03-21 18:00:05 +01:00
GenericHeroGuy
802a86422d Impromptu support for menuitem replacement
Need this for Discord menus right about now
2025-03-21 17:47:48 +01:00
GenericHeroGuy
8465dd5fcf Fix compile and missing menus 2025-03-21 14:28:45 +01:00
GenericHeroGuy
d0bb9a33ce DEATH TO ALL HARDCODE MENUS
except master server and discord :^)
2025-03-20 02:14:28 +01:00
GenericHeroGuy
65a86671fe Menuitem names, GO! 2025-03-20 01:35:30 +01:00
GenericHeroGuy
3d016d4009 Sweep through the remaining menus
Server list remains untouched because I can't test it
2025-03-19 13:47:42 +01:00
GenericHeroGuy
f3226c84a4 SOC the pause menus
Oops, I reopened pandora's box :^)
2025-03-19 00:49:22 +01:00
GenericHeroGuy
56dcba3594 SOC the entire main menu 2025-03-18 23:16:44 +01:00
GenericHeroGuy
d916fee3a6 Expose menu routines/drawers
Plus some extras for SOCcing more menus
2025-03-16 22:21:50 +01:00
GenericHeroGuy
480c91516d Rename titlepics to headers, fold quit routines into normal routines
To avoid confusion with all the TitlePicsAbc stuff in SOC
None of the extant quit routines ever return false, do this to simplify SOC
code and maybe prevent evil trap menus :P
2025-03-16 22:03:41 +01:00
GenericHeroGuy
0e30c0c5eb SOC menus, part 1 2025-03-15 04:03:44 +01:00
GenericHeroGuy
167414af2f Control setup menu changes
* Gamepad select option now displays the name of your gamepad on the right
* Switch to thin font when bind names are too long
* Reduced margins and shortened some control names to fit longer binds
* Fixed deadzone cvar always being player 1's
* Fixed missing arrows on deadzone cvar (this NEEDS to be a macro...)
* Only accept inputs from the current player's gamepad, shouldn't be a
  problem since your chosen gamepad is displayed now
* Show all 8 instead of 7 gamepads in gamepad select
2025-03-10 18:14:51 +01:00
GenericHeroGuy
6db125c0f3 Introducing... M_GetMapThumbnail and arbitrarily scaled thumbnails
* only supports two sizes
2025-02-12 01:09:02 +01:00
Eidolon
09d661c331 Convert d_main.cpp 2024-12-29 09:05:17 -05:00
James R
9e801c66d5 Merge branch 'universal-typedef' into 'master'
Move all typedef into one file

See merge request KartKrew/Kart!791
2024-10-15 04:16:58 -04:00