Commit graph

21799 commits

Author SHA1 Message Date
Sally Coolatta
d5d0647ae6 Remove difficulty as a ranking requirement
Was a cute idea, but removing it since it's not something you can 100% guarantee every time, which was the same reasoning for getting rid of times getting damaged / dealing damage from the requirements.
2023-03-06 18:26:06 -05:00
Sally Coolatta
3c07641938 Add final position as a ranking requirement
1st is a large bonus, 2nd is a medium bonus, 3rd place is no bonus, and everything below is a penalty. This will help make Loser Valley grades never be above a C at most.
2023-03-06 18:26:06 -05:00
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
Sally Coolatta
1dccf5dfea Remove spectator crap again
welp...
2023-03-06 01:21:32 -05: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
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
James R
2ebf8ebb8c Don't skip spectators when searching for Podium starts
There shouldn't be any spectators in Podium anyway. But
there are if you come here from a Sealed Star because bots
get spectated in those. The bots are still spectators
until they spawn (after G_FindPodiumStart).
2023-03-05 00:41:20 -08:00
Sally Coolatta
b84383bd8d Free the special map strings 2023-03-04 13:50:15 -05:00
Sally Coolatta
4961a585a7 Add ceremony to twodee wipedefs tables 2023-03-04 13:49:07 -05:00
Sally Coolatta
664fb02229 Remove exitlevel wonround
Don't care enough to fix it right now.
2023-03-04 13:32:06 -05:00
Sally Coolatta
04525f2fb5 G_FindPodiumStart
Since G_FindRaceStart doesn't use regular position stuff, it needs to do this. Seems to fix the weird bug people were running into in the VC, but it also seemed kinda wishy-washy
2023-03-04 01:30:49 -05:00
Sally Coolatta
839650968d Make podium end use G_EndGame 2023-03-03 22:29:20 -05:00
Sally Coolatta
89276c5900 Fade-in the tint behind podium ranking 2023-03-03 22:17:05 -05:00
Sally Coolatta
ea4ff616a9 Fix broken float flag 2023-03-03 22:16:30 -05:00
Sally Coolatta
1f00e3fc3f A_SetScale: Scale by mapthing scale 2023-03-03 18:03:03 -05:00
Sally Coolatta
c4525a61a2 Add results screen 2023-03-03 17:30:35 -05:00
Sally Coolatta
35d0cb8eaa Move podium code to its own file 2023-03-03 16:10:05 -05:00
Sally Coolatta
a1976aa43d Fixes for podium bots loading
- Handle bot spectator on spawn purely in P_SpawnPlayer from now on
- Don't give podium players flashing tics
- Don't call P_MovePlayerToStarpost during podium. (Needs further fixing in another branch, since this also apparently affects bot spawning in all maps.)
- Update mobj_t pointers in CL_ClearPlayer if G_GamestateUsesLevel()
- Forcefully set initial podium waypoint if jointime <= 1
- Use G_SpawnPlayer consistently in P_InitPlayers for podium
2023-03-03 16:10:05 -05:00
Sally Coolatta
2dae6833c2 Fix camera jitter when changing waypoints 2023-03-03 16:10:04 -05:00
Sally Coolatta
0f9f10d90f Add PodiumPosition ACS function
Returns the best position of all non-CPU players.
2023-03-03 16:10:04 -05:00
Sally Coolatta
9073d5bd17 Add CameraWait ACS function
Pauses a script until the tagged camera has no more waypoints to follow.
2023-03-03 16:10:03 -05:00
Sally Coolatta
9b18ce7849 Remove magic camera follow numbers, add 2nd and 3rd follow options 2023-03-03 16:10:03 -05:00
Sally Coolatta
5c6cec7b31 Cleanup UDMF thing scale code
Turns out what I was trying to fix was not a bug, but I will keep this anyway.
2023-03-03 16:10:02 -05:00
Sally Coolatta
672d69c626 More podium physics tweaks for the new scale
- Normalize turning stats
- More friction
- Less acceleration
- Podium bots will go at a reduced speed when going towards a No Respawn waypoint, so they can calm down a bit before they get on their platform.
2023-03-03 16:10:02 -05:00
Sally Coolatta
170be982ea Force Easy game speed for Podium sequence 2023-03-03 16:10:01 -05:00
Sally Coolatta
0a63476a68 No tether during podium 2023-03-03 16:10:01 -05:00
Sally Coolatta
29a10ebb0f Normalize accel stats during podium 2023-03-03 16:10:01 -05:00
Sally Coolatta
a4dd2ff6ff Make 1st place faster in the podium sequence 2023-03-03 16:10:00 -05:00
Sally Coolatta
8f047d7b42 Turn off engine sounds in podium 2023-03-03 16:10:00 -05:00
Sally Coolatta
0156eaf81f Don't fault respawn in podium 2023-03-03 16:10:00 -05:00
Sally Coolatta
32c6baf2fc Fix + improve podium camera movement
- Record starting position properly for easing
- Uses linear easing now (everything else ended up looking bad with multiple waypoints, would to calculate splines if you wanted to ease that)
- arg4 is now how long the camera spends between each waypoint
2023-03-03 16:09:59 -05:00
Sally Coolatta
3850f2d579 Podium bot handling tweaks
- Friction was made stronger
- They are better at turning
- Friction change is properly clamped
2023-03-03 16:09:59 -05:00
Sally Coolatta
0d12a3cb5d No starttime for podium 2023-03-03 16:09:58 -05:00
Sally Coolatta
78a893666f Podium bots don't drop rings if they bump 2023-03-03 16:09:58 -05:00
Sally Coolatta
2806f1c085 Fix bots not being able to spawn for podium
(This might break titlemaps but maybe titlemaps should do something more explicit to hide all players)
2023-03-03 16:09:58 -05:00
Sally Coolatta
dddc992e24 Fix camera tilting in podium 2023-03-03 16:09:57 -05:00
Sally Coolatta
2d84837e5b Use ceremony gamestate when warping to podium on startup
Doesn't spawn the bots for some reason still, but I need this for quicker prototyping
2023-03-03 16:09:57 -05:00
Sally Coolatta
2eba418334 Ensure players can spawn before the podium starts 2023-03-03 16:09:56 -05:00
Sally Coolatta
04eefa1acc Go to podium when game over on special stage 2023-03-03 16:09:56 -05:00
Sally Coolatta
9501b57296 Extend cut-away view functionality
- arg2: TID of an object to make the camera's angle/pitch follow.
- arg3: Zoom tube waypoint sequence to start following.

- Ceremony uses one-screen, regardless of previous splitscreen-ed-ness
2023-03-03 16:09:55 -05:00
Sally Coolatta
82313de499 Awayview cleanup
- Moved variables to awayview_t
- Arbritrary +20 is no longer added to z pos, it will use the thing position as the camera position directly.
2023-03-03 16:09:54 -05:00
Sally Coolatta
4ff0a8358f Rework exitlevel conditions
- Uses K_CanChangeRules instead of checking for multiplayer, to catch all of the restricted singleplayer scenarios
- Checks for server admin first before cheats
2023-03-03 16:09:53 -05:00
Sally Coolatta
6f0b09fecd CON_GamestateDrawHudLines 2023-03-03 16:09:52 -05:00