Commit graph

209 commits

Author SHA1 Message Date
GenericHeroGuy
271eaeef6f Fix going back, fix replay hut segfaulting 2025-06-17 23:21:40 +02:00
GenericHeroGuy
666b9f4582 Softcode background/scroll/fade, clean up effects logic
Oh and the config save in M_ClearMenus actually works now lmao
2025-06-17 22:23:28 +02:00
GenericHeroGuy
23fb99cc9e Refactor menu tree iterators to use menustack, fix menu music 2025-06-17 18:20:02 +02:00
GenericHeroGuy
205d1401f6 Start reviving menupres stuff
I may or may not regret this
2025-06-17 00:53:42 +02:00
GenericHeroGuy
11b9cd993d Expanded styles (ITF_THIN2 and IT_RIGHT), rename CvarSlider to Slider 2025-06-16 21:11:14 +02:00
GenericHeroGuy
955da518ca Replace TextHeader and TextWhite with styles 2025-06-15 18:06:52 +02:00
GenericHeroGuy
8ded7ad542 More styles, more softcoding, patches actually usable now! 2025-06-15 17:19:21 +02:00
GenericHeroGuy
e276709d0c A whole lot of refactoring and updates to cvars
cvar items now use their argument to specify the amount to add for each key
press, replacing IT_CV_INTEGERSTEP
cvar items are automatically displayed as strings if they don't have
PossibleValues, replacing IT_CV_STRING
2025-06-12 22:21:49 +02:00
GenericHeroGuy
f30ddcfad2 Three(!?) new methods for placing menu items
Relative: changes the coordinates relative to the current ones
Temporary relative: displaces the coordinates temporarily
Overlay: draws at absolute coordinates, no clipping

Along with custom cursor offsets and Item Styles(tm), this eliminates
M_DrawControl
2025-06-12 16:54:43 +02:00
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