- Fix an issue where if the last line of an M_StartMessage was the longest, the box width wouldn't account for it. (port from v1)
- Reduce length of some common error messages the Addons menu may produce.
- Add a warning for attempting to run .cfg files, since I absentmindedly overwrote ringconfig.cfg with kartconfig.cfg info while testing...
Search finally works again!
- Now uses a cvar which is copied into static memory to uppercase it, instead of a weird static string uppercased into zone memory.
- You have to scroll to the top of the menu to use it, one entry above the previous first file/folder/"UP...".
- Don't play menu sound if you've reached the end of an un-looping menu.
- Move M_AddonsRefresh out of M_DrawAddons - death to a HORRIBLE hack
- Use it as the tickroutine for the addons menu instead
- Behaves as before, possibly more consistent
Was caused by the following actions:
- Starting a game
- Going to the Options menu
- scrolling beyond the 4th entry
- Exiting to title screen
- Opening up main menu again
Changed conditions -
- Switch Map and Addons on in-game pause menu
- now restricted by !K_CanChangeRules(), which covers all singleplayer conditions
- Gameplay and Server Options
- now restricted if in-game, and either singleplayer conditions or not admin
- Erase data
- now restricted if in-game at all (fixes new-menus regression)
Preparation for reworking Addons menu -- I have been caught in these virtual keyboard popups without remembering how to escape a little too often for comfort.
* Don't allow creation/loading of more profiles than the game supports.
* Add a few missing M_SetMenuDelay()'s
* Fix PRF%c default name generation issues
* There could still be an infinite loop if MAXPROFILES is ever increased >= 26... but we can handle that one later.
- O(n) instead of O(4n)
- Actually free the sacrificed profile's memory
- Don't hop to profile 1 after deleting a later profile, to reduce the % of footguns/losing your place in the list.
Overwriting the global power level all the time and not updating any code to use the profile was extremely yikes. This also allows for splitscreen players with power levels.
- Less M_StartMessage spam
- Say "NEW" instead of "EMPTY" for new profile creation
- Use Eggman instead of Sonic for the Guest profile
- Instead of needing to hold X for 3 seconds to exit the test controls menu, you simply press nothing for 5 seconds.
- Add separate back option to controls menu.
- Started on the ability to use prefcolor as your profile color
- Allow guest online because there is literally already mechanics for having a player with no power level :V
* Reset usejoystick if a second player enters and then backs out.
* Make Split Device mode controlled by L and R (aka drift and item) pressed at the same time, not C by itself.
* Make pressing the Split Device button combo when you're at max remove all extra keyboard players.
* Fix Split Device being possible to activate on Profile char/follower setup.
Also:
* Fix a crash with exiting from top-level Profile setup.
* Allow B (lookback) to be used as a back button on menus, too.
* Clean up a bunch of extra whitespace.
* Fully reimplement the MenuColor system from 2.2's codebase, so super and emerald colours are now inaccessible again.
* Add FOLLOWERCOLOR_ constants and internal loop support to M_GetColorBefore and M_GetColorAfter.
* Fix improper initialisation of certain menu colour data.
* Repair previously created (or manually-edited) profiles with invalid colours.
* Add an actual function to turn followercolor constants to effective values.