Commit graph

22584 commits

Author SHA1 Message Date
Sally Coolatta
3d1070c2f2 Show ranking data on the screen 2023-03-06 18:25:16 -05:00
Sally Coolatta
6a4b4d8b70 Balance rank requirements
Old values were taken from Snap, which has a small number of very straight-forward and relatively easy to 100% requirements, so it has very high standards. RR has lots of requirements, they're slightly more nuanced, and it's extremely improbable to have them all 100% in one run even if you're good.

- Toned A rank down very slightly. (90% -> 85%)
- Rest of the ranks are more evenly distributed. (D: 45% -> 35%, C: 60% -> 50%, B: 75% -> 70%)
2023-03-06 18:25:15 -05:00
Sally Coolatta
f7851623ff Calculate a bot difficulty to reach
13 is very unlikely for Normal, likely impossible for Easy. (If we want a bonus game speeds, it should be explicitly defined)
2023-03-06 18:25:15 -05:00
Sally Coolatta
c61e017c38 GP rank cleanup
- Move ranking to its own file.
- gpRank (the variable) -> g_gpRank
- gpRank (the struct) -> gpRank_t
- Functions that worked on the global directly now take a pointer to a struct
- Fixed total ring increment
- Fixed final lap's lapPoints being discarded
- Capsules are now added when exiting with the rest of the stuff
2023-03-06 18:25:14 -05:00
Sally Coolatta
55de982fa3 GP ranking
Needs balancing + intermission, but mostly functional
2023-03-06 18:25:14 -05:00
Sally Coolatta
20dedb6602 Try to fix the podium bot spawning (again)
- Podium waypoint initialize is done always directly after spawning the player, instead of trying to detect it in K_UpdatePodiumWaypoints.
- Position is manually calculated for K_InitializePodiumWaypoint, instead of needing K_UpdateAllPlayerPositions to be called.
- Instead of calling K_UpdateAllPlayerPositions every time a player spawns, do it at the end of the spawning loops.
- Prioritize spawning bots in further away spots instead of 1st available, as spots 1st to 3rd spots are more important.
2023-03-06 18:24:51 -05:00
toaster
42a985d061 readcondition: Support stringvar for extended condition instead of always having to not fit one in 2023-03-06 23:18:22 +00:00
toaster
98423a2196 UNSTAGED CHANGE: Missing mobjeflag_t wet_player from roundconditions_t 2023-03-06 22:57:53 +00:00
toaster
ff926440d5 UCRP_WETPLAYER: Adjust SOC load to not Z_StrDup before confirming other data is valid, to prevent memory leak 2023-03-06 22:38:37 +00:00
toaster
f6a83d2161 M_GetConditionString: All non-allcaps messages have had their first letter lowercased
Instead, M_BuildConditionSetString uppercases the first lowercase letter, so it's always (approaching) grammatical correctness.
2023-03-06 22:32:02 +00:00
toaster
baeb48ca1f roundconditions_t - State tracking for events which occour mid-match and don't stay that way
- Exists on every player struct to simplify writes, but A) not netsynced and B) only checked for local players
- Updated in the relevant locations - no centralised ticking at the moment
- Has a number of new associated conditions that require playing (UCRP's).
    - The following require [True/False] as supplementary information.
        - FallOff
        - TouchOffroad
        - TouchSneakerPanel
        - RingDebt
    - The following have no supplementary information because they're universally a specific achievement.
        - TripwireHyuu
        - SPBNeuter
        - LandmineDunk
        - HitMidair
    - The following has specific requirements that can be set.
        - WetPlayer [name of fluid]
             - Append "Strict" to forbid even skimming the surface of the map's fluid.
2023-03-06 22:31:35 +00:00
toaster
d540921f78 M_PopulateChallengeGrid: Since I actually got a scenario where two tiles weren't able to be populated, just do the rejiggering fix in a while loop. 2023-03-06 22:18:12 +00:00
toaster
a355445592 condition_t: Make pendingstring into stringvar in anticipation of second, less angry application 2023-03-06 20:11:45 +00:00
James R
feb70916c1 Merge branch 'bumpers-use-health' into 'master'
Sync player mobj health to bumper count

See merge request KartKrew/Kart!1003
2023-03-06 15:43:24 +00:00
James R
f16730b084 Merge branch 'fix-no-waypoint-fault' into 'master'
Fix FAULT crash if no finish line waypoint

See merge request KartKrew/Kart!1005
2023-03-06 15:42:06 +00:00
James R
154cc77186 Return quickly from R_AdjustLightLevel if possible 2023-03-06 07:05:42 -08:00
James R
c1fabe8e35 Make debugwaypoints radius reverse subtractive 2023-03-06 06:50:24 -08:00
James R
99362bc9b2 Give debugwaypoints orb and radius RF_ALWAYSONTOP
Makes the radius always visible in full.
2023-03-06 06:50:24 -08:00
James R
f71ba63cd3 Add RF_ALWAYSONTOP, renders sprite through walls
Specifically, it avoids sorting or clipping the sprite
against stuff like FOF planes, which are notorious for
messing up sprites. Useful for debug stuff which
absolutely must be visible.
2023-03-06 06:50:23 -08:00
James R
aed9fe996c Add cv_debugrender_spriteclip, toggle sprite clipping
This cvar can be used to reveal which sprites are
technically drawn but clipped completely by level
geometry.
2023-03-06 05:34:49 -08:00
AJ Martinez
15a0eb6c48 Add sliptideZipIndicator to netsave 2023-03-06 06:26:21 -07:00
James R
53b2922fbb Add the debugrender_highlight command, highlight specific rendering in flat colors
Software mode only.

The command is used like this:

debugrender_highlight planes sprites
debugrender_highlight pl spr
debugrender_highlight none

(Abbreviations work.)

Supported rendering to flag:

planes      - sector floor/ceiling
fofplanes   - FOF top/bottom
fofsides    - FOF sides
midtextures - pegged midtexture
walls       - sector upper/lower texture, one-sided linedefs
sprites     - sprites
sky         - skybox
2023-03-06 05:25:36 -08:00
AJ Martinez
948dea8304 Sliptide zip readability 2023-03-06 06:17:34 -07:00
AJ Martinez
08ddc324c3 Fix potential ADDBOOST macro footgun 2023-03-06 06:11:13 -07:00
AJ Martinez
cae8cd5100 Don't encore remap sliptide zip indicator 2023-03-06 06:07:55 -07:00
James R
1de5046623 Add cv_debugrender_contrast, adjusts contrast of level geometry
debugrender_contrast -1.0 to 1.0, default 0.0 (no change).
Higher values add more contrast (darkens the level), lower
values add less (brighten). Does not affect thing drawing.
Software mode only.

Adds r_debug.cpp
2023-03-06 05:04:27 -08:00
James R
ff838a08a5 cxxutil.hpp: fix std::hash include 2023-03-06 04:45:46 -08:00
AJ Martinez
5dea8f9bba Break zip combo when dying, idiot 2023-03-06 05:43:14 -07:00
AJ Martinez
8951ccf61d Buff sliptide zip 2023-03-06 05:43:02 -07:00
AJ Martinez
c2c2c71f0a Freeze sliptide zip delay while airborne 2023-03-06 05:17:26 -07:00
AJ Martinez
2e41862802 Please fucking stage the files I tell you to stage 2023-03-06 05:03:39 -07:00
AJ Martinez
f4fbd1e654 Sliptide boost VFX first pass 2023-03-06 05:00:59 -07:00
James R
d79e53a0e3 G_SaveGameData: check for NULL
This fixes I_Error if used before M_NewDataStruct is
called.
2023-03-06 02:39:49 -07:00
AJ Martinez
87d8945f97 Make sliptiding actually good (no visuals)
50% increased effect of handling boosts, 75% reduced penalty for handling boost stacking, grants a boost proportional to your sliptide length when you straighten out
2023-03-05 23:57:47 -07:00
Sally Coolatta
1dccf5dfea Remove spectator crap again
welp...
2023-03-06 01:21:32 -05:00
James R
28f2f4a51a k_menufunc.c: fix -Wunused-variable 2023-03-05 21:02:32 -08:00
Eidolon
8106afe823 Merge branch 'fix-menu-controllers' into 'master'
Fix controller delay in menus

Closes #397

See merge request KartKrew/Kart!1019
2023-03-05 22:22:04 +00:00
Eidolon
4bb0c39133 Fix controller delay in menus
M_UpdateMenuCMD only needs to be called once per tick per player.
It was being called for every event, which really mangled the repeat
delays as more attached controllers sent axis events.
2023-03-05 16:07:17 -06:00
toaster
1e67f75f14 P_Ticker: Adjust bracketing of Gamedata save conditional to handle deferred saves even during intro turnaround 2023-03-05 21:00:27 +00:00
toaster
60968b2f08 UC_AND, UC_COMMA: Fix not combining with UCRP_REQUIRESPLAYING
Fixes
2023-03-05 20:59:56 +00:00
toaster
87b80a62f2 SPB Attack: Integrate into conditions-cascading affairs
- All `cv_dummyspbattack`-related material is now gated with the assistance of SECRET_SPBATTACK.
    - SPB_ATTACK
- Add UC_MAPSPBATTACK condition.
    - Both this and emblems with MV_SPBATTACK have the string "SPB ATTACK: Conquer [LEVEL NAME]", compared to the regular round completion conditions having "Finish a round on [LEVEL NAME]".
        - If SPBATTACK is not unlocked, shows ???: Conquer [LEVEL NAME] instead
2023-03-05 20:48:31 +00:00
Sally Coolatta
2b706fb95b G_PlayerReborn jointime betweenmaps
Fixes newly created bots having 0 rings.
2023-03-05 15:00:05 -05:00
Sally Coolatta
9c264b3736 K_UpdateAllPlayerPositions
Call this whenever we need accurate player positions. In addition to before player think, is now being used for exiting as well as immediately when the player is spawned.
2023-03-05 14:59:11 -05:00
toaster
99b5fe7bf4 M_EraseData: Fix va() being passed to va() 2023-03-05 19:56:52 +00:00
toaster
0f715454fa Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into conditions-cascading 2023-03-05 19:51:48 +00:00
toaster
80555e3738 P_Ticker: Do not evaluate interesting player conditions during introtime 2023-03-05 19:51:33 +00:00
Sally Coolatta
28c2ff9668 Force GT_RACE before podium map loads 2023-03-05 14:12:25 -05:00
Sally Coolatta
34112be38e Move bot updates before P_InitPlayers 2023-03-05 14:12:03 -05:00
toaster
b005649d71 Copyright notices update regarding the author of this commit
- For cross-file consistency in the author of this commit's name and username
- To note that the author of this commit performed significant work on code that would eventually be compiled into r_skins.c on several occasions since 2016 up to the present day
- To catch work performed by the author of this commit in 2023
2023-03-05 18:13:39 +00:00
toaster
0c75c40060 Rework how Bots handle their skin availabilities
Before we can add extra unlock features, we need to make sure we're not building on a house of sand.
- R_SkinUsable: Use Net Unlock system if playernum is -1
- R_BotDefaultSkin: Move to r_skins.c, cache skin search
- R_GetSkinAvailabilities: Use Net Unlock when called for bots (and always permit R_BotDefaultSkin)
- Got_AddBot: Call R_GetSkinAvailabilities for summoned bots to guarantee sync status of available skins
- K_UpdateMatchRaceBots: Tidy up to match grand prix bot skin selection system, hiding server-locked skins and defaulting to R_BotDefaultSkin if you don't have enough unlocked for the remaining player slots
2023-03-05 18:06:09 +00:00