Commit graph

19530 commits

Author SHA1 Message Date
toaster
8946bf9e01 Refactor PR_ApplyProfile and its ilk
- Reduces copypasted code.
- Preperation for the next commit.
2022-09-03 00:16:41 +01:00
toaster
52c1cfd1cf Remove redundant settings -- PR_ApplyProfile does these for us! 2022-09-02 22:56:55 +01:00
toaster
cf25cf0da1 Clear menus if wiping from GS_MENU to GS_LEVEL/GSWAITINGPLAYERS
Catches a case that's never been relevant before -- now that you can open the console on the menu, map commands have newfound dangers to be worked around.
2022-09-02 22:37:40 +01:00
toaster
1aabde7d4f Let's not tip our hand too early. (Oversight when minimising boss material) 2022-09-02 22:19:03 +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
SteelT
c95fed770e Fix the path of srb2home not being taken into account when loading the last IPs joined log file 2022-09-02 15:25:57 -04:00
toaster
5c4ff2ead0 Rewrite Profile saving and loading
- Previous implementation used fopen, fwrite, fread, etc.
- Instead, use the byteptr.h macros to/from a buffer, performing IO all at once before/after.
- This way, if we do something unrecoverable mid-write, we won't corrupt the user's profile.
- Also cross-endian compatible AND now capable of supporting changes in the struct.
- Sadly not back-compatible. This should be the last time we destroy the team's existing profiles...

Also, modify a typo in a gamedata error this system used as reference.
2022-09-02 19:38:54 +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
36797e6bde Change the text for skipping charsel with profile info
Used to be "CHANGES? No/Yes", but that was confusing.
Now "READY? All good/Change" (had to be adjusted from discussed text to fit in the space, even with thinstring)
2022-09-01 21:32:18 +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
0424f0f07c Apply last-used title profile selection when game skips over menus (-warp, -server) 2022-08-31 23:06:14 +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
1af1b9bd1c Fix wrong function name 2022-08-30 05:33:04 -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
7c20b66782 Fix hold controls prompt 2022-08-30 05:25:59 -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
abac095d06 Properly use 0 power for the guest player 2022-08-30 04:07:42 -04:00
Sally Coolatta
8228377a0e Save ringprofiles as a "prf" file
It shouldn't be cfg since it's raw data, not a text format.
2022-08-30 03:52:41 -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
d22c7edd30 Show current party on the menus 2022-08-29 06:27:45 -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
4f9fc51b80 Use circle code for followers
Better than list with only 3 entries, will get further improved by categories later
2022-08-29 02:01:37 -04:00
Sally Coolatta
c4ff86a7f3 Scrolling text fixes
- Interpolates properly
- Uses additive and subtractive because it exists now
2022-08-29 01:08:33 -04:00
Sally Coolatta
70c8a33cb2 Merge branch 'master' into new-menus 2022-08-28 23:33:32 -04:00
Sally Coolatta
c292009ebd Fix human vs bot P_CheckRacers conditions 2022-08-28 08:04:50 -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
Sally Coolatta
d3a4a6ca81 Remove unused variables 2022-08-28 03:09:13 -04:00
Sally Coolatta
559222f991 Stuff for Ivo's texture crunching
- Flats no longer get applied entirely, they are FULLY DEPRECATED NOW
- Uses AASMELLY instead of REDWALL for missing textures
2022-08-28 00:03:22 -04:00
Sally Coolatta
6697fec70e These cvars were removed 2022-08-27 22:47:11 -04:00
Sally Coolatta
107622968e Merge branch 'master' into new-menus 2022-08-27 22:36:58 -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
Sal
aced12b2b2 Merge branch 'more-makefile-changes' into 'master'
Nifty makefile changes  for exe naming

See merge request KartKrew/Kart!651
2022-08-27 01:30:00 +00:00
Sally Coolatta
0fb26368cc Make drift boost bonus match drift spark rate 2022-08-26 20:55:24 -04:00
Sally Coolatta
4c6109f62d Fix redundant check from the optimization
The drawsegs x range already filters this case out, so this will never be reached.
2022-08-26 17:08:35 -04:00
James R
ad242cf9b9 Makefile: do not append master branch name 2022-08-26 10:46:02 -07:00
Sally Coolatta
d3cbf0cd6f Oops, properly scale for high-res/splitscreen
prboom-plus uses 320 here always, but that's because it handles high resolutions differently apparently.
2022-08-25 00:31:23 -04:00
Sal
7c5d066684 Merge branch 'clip-sprites-optimize' into 'master'
Sprites clipping against drawsegs optimized, from prboom-plus

See merge request KartKrew/Kart!650
2022-08-25 03:33:58 +00:00