Commit graph

319 commits

Author SHA1 Message Date
toaster
7e17f5456c I_Error in all situations where mapheaders were previously allocated outside of SOC.
Also:
- improved error prints for SOC condition definitions
- improved bounds checking to use `nummapheaders` for iterating over mapheaderinfo
There are still situations that use NUMMAPS like mapvisited, randmapbuffer, etc, which need to be addressed before merger.
2022-09-17 13:07:48 +01:00
toaster
b08ae2a716 Fix confirm connect
Still shows the message when you open the pause menu. Needs more attention I can't give it right now
2022-09-13 22:59:02 +01:00
toaster
36f8ce8f78 Slightly refactor M_StartControlPanel
In anticipation of attempt to incorporate into CL_ABORT process
2022-09-13 20:33:05 +01:00
toaster
2d253e0105 Clear menus in one location.
Fixes a number of weird extra fade and gamestate set events.
2022-09-13 13:09:03 +01:00
Sally Coolatta
524eff9fde Update new menus to use long names 2022-09-10 16:01:47 -04:00
toaster
212907122b Repair shitsfree 2022-09-04 22:21:42 +01:00
toaster
0c4dca611d Hide Encore on the Gameplay Options menu if not unlocked 2022-09-04 22:14:41 +01:00
toaster
49f7552009 Improve profile deletion further
- Also adjust cv_currprofile in PR_DeleteProfile, instead of half-heartedly outside
- Make it clearer if you're going to destroy your current profile
- Add an "[In use]" identifier to the menu's visuals
2022-09-04 21:44:39 +01:00
toaster
de5370b134 Fix the options menu on first boot bug.
- Was reproducible by spamming back button events during game launch.
- Caused by the way profile data was initialised - D_StartTitle was calling a function with too many side effects.
- In addition, never instantly skip the title screen when the above occours.
    - This would be enough to patch over the mentioned bug, but I made sure to solve it properly so it won't break when we touch this again later.
2022-09-04 21:08:44 +01:00
toaster
acd777a77a Significant work into the play-starting experience
- Take the weird extra mini settings menu out of the Online Host Game sequence
- Make sure to actively use the server variables in Match Race creation
    - Hides the Auto options for Encore and Kartspeed on the Match Race menu specifically...
    - BUT if you leave it at the default it'll secretly set them to Auto!!!
2022-09-04 20:14:30 +01:00
toaster
6544e95c01 Rework gamespeed cvar handling a little bit.
- Make the menu-only dummykartspeed and dummygpdifficulty cvars also affected by the unlock system.
- Master mode is currently behind SECRET_HARDSPEED, this can be changed later when we're seriously thinking about unlock progression.
- Complete forwardport of changes to cv_kartspeed from 1.4+, since I missed a spot previously.
2022-09-04 14:56:07 +01:00
toaster
587f814ab3 Adjust some messagebox-related material.
- 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...
2022-09-03 22:01:40 +01:00
toaster
26461d568c Addons menu refactor part 3
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.
2022-09-03 21:15:23 +01:00
toaster
8312f12d6c Addons menu refactor part 1
- 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
2022-09-03 16:23:16 +01:00
toaster
52c1cfd1cf Remove redundant settings -- PR_ApplyProfile does these for us! 2022-09-02 22:56:55 +01:00
toaster
061eca773b Fix itemOn out-of-bounds event for Main Menu and its ilk.
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
2022-09-02 22:05:11 +01:00
toaster
bcd9c7efba Fix circumstances the game restricts access to certain pause menu options.
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)
2022-09-02 21:55:29 +01:00
toaster
86b1e57f32 Permit KEY_ESCAPE to close the typing view as well.
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.
2022-09-01 21:58:39 +01:00
toaster
cd2bb2b300 Extra profile menu improvements
* 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.
2022-09-01 18:44:56 +01:00
toaster
a6843bae78 Improve profile deletion further
- Fix the check for deleting the current profile
- Handle cv_ttlprofilen like cv_lastprofile[]
2022-09-01 17:40:26 +01:00
toaster
b0c9fccd2d Rework profile deletion
- 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.
2022-08-31 22:52:06 +01:00
Sally Coolatta
c77f9fa558 Add a billion debug prints 2022-08-30 06:26:35 -04:00
Sally Coolatta
f1717a37ef Fix missing zero 2022-08-30 05:30:50 -04:00
Sally Coolatta
8b93c05175 Fix party HUD after selecting profile char 2022-08-30 05:30:13 -04:00
Sally Coolatta
6eb5b2dee9 Make back button properly confirm settings 2022-08-30 05:23:54 -04:00
Sally Coolatta
0fe3e6ceeb Don't allow 2 players to select the same profile
(Excluding the Guest profile, of course.)
2022-08-30 04:42:01 -04:00
Sally Coolatta
d5a4954dd3 Profiles handle power level properly now
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.
2022-08-30 03:51:35 -04:00
Sally Coolatta
02a4b18512 Make splitdevice console cvar
This shit has only gotten in my way, and it will absolutely destroy someone just trying to set up the game casually
2022-08-29 04:43:54 -04:00
Sally Coolatta
e8b179f7a1 Switch around maxplayers and ingamecap
- ingamecap is now the new maxplayers
- The old maxplayers is now called maxconnections, but can mostly be left alone
- Insert into match race menu
2022-08-29 04:35:14 -04:00
Sally Coolatta
b388890647 Profile fixes
- 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
2022-08-29 04:08:12 -04:00
Sally Coolatta
2b3d8dccf9 Guest profile always does changes 2022-08-29 02:35:05 -04:00
Sally Coolatta
8ae4bba36d Fix ready explosion sound not playing 2022-08-29 02:16:09 -04:00
Sally Coolatta
7924805d2b Use rotate sounds 2022-08-29 02:05:48 -04:00
Sally Coolatta
88fa175a49 Only ask for profile on startup once per session
Fixes Time Attack ending resetting you to the Guest profile, and makes going back to the title screen slightly less frustrating
2022-08-28 07:47:26 -04:00
Sally Coolatta
74449ba55e Spacing 2022-08-28 06:53:06 -04:00
Sally Coolatta
196697f544 Fix Time Attack exiting
The menu option to exit the game now works in Time Attack, and the run properly gets ended at the end of intermission
2022-08-28 06:48:43 -04:00
Sally Coolatta
6e5c955501 Only allow Time Attack for 1P
Battle gametype submenu no longer exists.
2022-08-28 06:08:30 -04:00
Eidolon
85a132c149 Port Ediolon's SDL GameController work
Basically instantly solved all of the issues that made this branch completely unusable
2022-08-27 08:20:52 -04:00
SinnamonLat
a8d847227d WIP: time attack, kinda works but crashes when you finish lol 2022-07-27 12:04:52 +02:00
SinnamonLat
2a4c4f86fc WIP: server browser (only shows fake servers you can't connect to rn) 2022-07-26 23:50:23 +02:00
SinnamonLat
fc4b0d8776 Add page system on csel when alone to make alts easier to see 2022-07-22 13:57:48 +02:00
SinnamonLat
3e904e23aa Make menus much faster 2022-07-22 12:08:24 +02:00
SinnamonLat
10e23827c0 Fix being unable to go back to profile select unless you were the last active player 2022-07-20 19:35:51 +02:00
SinnamonLat
d5e9283c2e Allow selecting profile with no changes to speed up charsel process 2022-07-20 19:35:51 +02:00
James R
3b4bb8aea1 Fix always evaluates true warning 2022-06-11 16:49:36 -07:00
SinnamonLat
92c81baf58 Allow exiting pause menu by pressing start again 2022-05-26 13:34:59 +02:00
toaster
967a449693 optionmenus --> optionsmenu typo 2022-05-25 19:29:08 +01:00
toaster
71372979d8 Fix a few issues with input on the charsel screen.
* 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.
2022-05-25 19:28:17 +01:00
toaster
d963dea4f9 Merge branch 'master' into new-menus
# Conflicts:
#	src/Sourcefile
#	src/deh_soc.c
#	src/m_menu.c
#	src/p_user.c
#	src/r_data.h
#	src/r_skins.h
2022-05-25 15:12:51 +01:00
SinnamonLat
9364d0b479 better defaults in menus to make navigation easier when you just want to go fast 2022-05-24 01:50:00 +02:00