Commit graph

2944 commits

Author SHA1 Message Date
TehRealSalt
77165631c4 HERE COMES A NEW CHALLENGER 2018-07-22 00:31:02 -04:00
TehRealSalt
87cc2c28ce Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems 2018-07-21 17:45:25 -04:00
TehRealSalt
a4299ce069 Map reset timer 2018-07-21 15:54:05 -04:00
toaster
b818c8a2cf * Make cancelling a join work on the pause menu and console. (You need to write "changeteam spectator" to cancel a PF_WANTSTOJOIN.)
* Stop respawning spectators when their PF_WANTSTOJOIN request hasn't been processed yet.
* Handle PF_WANTSTOJOIN requests in GS_WAITINGPLAYERS.
* Refactor K_CheckSpectateStatus, and make it so PF_WANTSTOJOIN requests are processed if there's only one player in the server, even if they're on lap 2 or up.
* Make the player entry mechanism in P_SpawnPlayer use the PF_WANTSTOJOIN mechanism so that it can also take advantage of the level refresh mechanism with no extra code.
	* NOTE: This does a bad hack in order to not send multiple mapchanges while the joining timer is low! If you can think of a better way to do this, please let me know/commit it.
* Change the timer until you can hit ITEM again when a spectator who has to wait to join shorter.
* (controversial, but I think necessary) - flash the ITEM text when the above-mentioned timer is nonzero.
2018-07-21 16:45:08 +01:00
TehRealSalt
75f339f6c1 Spectator flashing tweak 2018-07-20 23:01:08 -04:00
TehRealSalt
6eaed1ac7b Spectator overhaul
- New player flag, PF_WANTSTOJOIN, added for setting up a spectator queue. You are allowed to join as long as no one has started lap 2.
- Map resets when two people have entered the game, so matches can start naturally without the need of an admin.
2018-07-20 19:11:36 -04:00
toaster
a69eef9d82 Fullbright drift sparks. 2018-07-20 13:08:38 +01:00
toaster
ebae845af8 Bugfix the exitlevel music condition to take into account all local players, rather than any player globally. 2018-07-20 13:02:34 +01:00
toaster
e30bbdde0b De-ghetto 2P splitscreen FINISH. https://cdn.discordapp.com/attachments/270211093761097728/469827997990649856/kart0012.gif 2018-07-20 12:37:09 +01:00
toaster
c0a7891e60 Don't show (+ 0) for players that didn't get any points this round. 2018-07-19 16:28:36 +01:00
toaster
1f5f00da34 Acommodate MF2_SHADOW in first person view 2018-07-19 16:07:14 +01:00
toaster
c72225f58e More FINISH stuff!
* Make it two seconds exactly, instead of two and change.
* Draw it in battle too!
* While testing the above, I discovered 3p's karma comeback timer drawing was slightly broken. Fixed that too.
2018-07-19 15:58:07 +01:00
toaster
cdc5f92baf Fix another bug I introduced, this time on the Tab HUD. I shouldn't have tried to be too clever with lowestposition... 2018-07-19 15:56:21 +01:00
toaster
37bf55543f Minor across-board bugfixes re the past 24 hours of commits.
* d_main.c - fix the wipedef for skipping to the titlescreen to be the checkered one again.
* k_kart.c - Tweak drawtime's setting slightly.
* y_inter.c - Make endtic ALWAYS set when not netgame/splitscreen, to prevent an undesirable, possible hang whenever we add more stuff later.
2018-07-19 14:59:38 +01:00
toaster
1aa6267665 Further improvements to cv_timelimit support, to the point that I DO think it might be worth having on the menu (but mark the game as modified if it's touched, to discourage its overzealous use?) 2018-07-19 14:39:46 +01:00
toaster
7af613a814 Some more intermission stuff.
* Combine three basically-identical functions into a generic framework function that takes a function pointer for the purposes of comparison!
	* Y_CalculateMatchData handles the (re)calculation of data.match whenever necessary.
	* Y_CompareRace handles time comparisons for Race.
	* Y_CompareBattle handles score comparisons for Battle.
	* Y_CompareRank handles rank comparisons for both gametypes.
* Move the recalculation for the rankingsmode to a different, non-drawing function.
* Re-organise Y_Ticker for sanity purposes.
* Tweak the countdown timer on both intermission and vote screens.
2018-07-19 14:29:11 +01:00
toaster
fc2d12425e * Correct a bug with data.match.increase's ordering changing between CalculateTournamentPoints/CalculateMatchWinners and MakeRankingsTable.
* Per Sal's request, remove all commented out code that was just inhereted from vanilla (or is unlikely to ever be re-enabled again if it was written for Kart) in y_inter.c.
2018-07-19 13:23:15 +01:00
TehRealSalt
0050e430af Made the items odds smoother!
What the heck does THAT supposed to mean, I hear you ask? Well...
- Mashing for items' effect on chances is now relative to how fast you pressed it! I'll give a more detailed explanation in #main_kart_dev.
- Instead of coding the Auto Frantic Items setting like I said I would, I did the same effect in a completely different way! Odds will automatically get better depending on how many players below 5 there are.
2018-07-19 03:31:14 -04:00
TehRealSalt
983a9dbd60 Use simpler logic for squishing other players
Instead of comparing k_growshrinktimer in awkward ways, just make sure the squishing player's scale is high enough above the victim's scale. This way, we can allow shrunk players to bump other shrunk players, and grown players to bump other grown players.
2018-07-19 01:11:21 -04:00
TehRealSalt
5e51c9b847 Enhance toaster's awesome intermission work a bit further
- Further divide the 2 screens' functionality; the first screen is purely for match results, the second screen is purely for rank results. (only time/score is on the first page, only rank and rank increase is on the second page, instead of time/score and rank increase being on the first page, then rank increase carries over to the rank page...)
- The page switch now happens at exactly the halfway point of the intermission timer
- It now uses a cool picture of the view buffer, like SRB2 SP, except faded, instead of the previous intermission tile.
- Fixed an issue with the previous commit.
2018-07-19 00:07:13 -04:00
TehRealSalt
b231421c80 I'll one-up your request, toaster
Just make P_EndingMusic not do anything for non-local players, since P_RestoreMusic wouldn't either.
2018-07-18 22:01:52 -04:00
toaster
7e0d5a479c Fix the egregrious bugs from our last testing netgame.
* Made Got_Teamchange's level-based stuff only happen in GS_LEVEL.
* If, by chance, DoTimeOver gets called on a player without an object, it won't crash either.
* Make ending music play when you get time overed.
* Make changing-to-spectators get removed from the intermission drawer.
2018-07-19 01:27:36 +01:00
toaster
f6a00cc60e COOL(!/?) 2018-07-18 23:42:34 +01:00
toaster
2054859691 RACE FINISH ANIMATION GRAPHIC! Scrolls across the screen, magestically. Like an eagle. Piloting a blimp. 2018-07-18 23:20:08 +01:00
toaster
a036e9cdc8 A bunch of little things.
* Fix both cv_timelimit and cv_pointlimit as "hidden options" for people to play with if they know about them via the console.
* Show GAME SPEED on the tab screen.
* Fix Invincibility and Grow's music changes being broken. (I didn't test them properly when making them P_RestoreMusic calls, sorry.)
* Stop showing the First Person Kart view in spectator mode, per Sal's request.
2018-07-18 21:40:04 +01:00
toaster
2b7298e959 *A biggie: two-tier intermission screen!
* Have the entire thing slide the fuck away a short while into the intermission.
	* The tab screen is modified to work off similar behaviour and presentation.
* To go with it, a revamp of how Battle's scoring is handled.
	* It's now considered "hits", and is stored in a reuse in one of the vanilla NiGHTS variables, allowing it to use exactly the same ranking mechanisms as race.
	* No more resetting of score between battle rounds.
* Minor, unrelated general code cleanup in places.
* Disable the YEEEAH in splitscreen, otherwise you'll hear it *all the time*.
2018-07-18 20:23:46 +01:00
TehRealSalt
69cefa4450 Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems 2018-07-17 20:24:23 -04:00
TehRealSalt
13b16d4a8a Better first person
turning and drifting is now taken into account in the x offsetting
2018-07-17 20:23:22 -04:00
toaster
69b6845029 * A bunch of intermission related stuff!
* Time overs now supported, see below.
	* Ties now supported!
	* Code cleaned up.
	* Play more sonicy tally sounds when counting your points.
* A bunch of time over related stuff!
	* Exitlevel time overs everyone, which means no points for you.
	* F-Zero-sorta-maybe style death if you're the last person on the course (and not the ONLY one) when someone crosses the finish line! (Or switches to spectator.)
* A bunch of music related stuff!
	* Functionally reverted many of my changes to splitscreen and ending music, although the major changes to simplify music code are still kept.
	* P_EndingMusic is genericised across gametypes, and only switches a single letter (and looping-ness) now!
	* Fix exitlevel in race causing whatever you're listening to to keep playing.
	* Make powerups call P_RestoreMusic.
	* Put a call to P_EndingMusic into P_RestoreMusic.
* Unrelated crap.
	* Make all palette swaps happen at the black point of fades, so they don't stick around awkwardly.
	* Huh, I thought I did more than that. Oh well!
2018-07-18 01:21:36 +01:00
TehRealSalt
e2a6d5ceb3 Water skipping
No way to disable it yet, let's see if we even need it
2018-07-16 22:51:31 -04:00
TehRealSalt
f6e5571948 Chao's requests 2018-07-16 21:27:50 -04:00
TehRealSalt
02dd7280c5 Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems 2018-07-16 18:12:02 -04:00
TehRealSalt
534766df40 Expose P_SpawnShadowMobj 2018-07-16 18:11:35 -04:00
toaster
66b59f3dfd Per Sal's request, only show the time/play the failure sound for the current time attack challenge - and if there is none, only show the emblems in a row. 2018-07-16 21:36:27 +01:00
TehRealSalt
cc64c71027 Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems 2018-07-16 15:39:50 -04:00
TehRealSalt
bb8142460e Workaround for EVALUATION support for now 2018-07-16 15:37:05 -04:00
toaster
1d88cdf40d Mammoth commit!
* Deaths in record attack no longer put you into a glitchy singleplayer game-over state that we somehow both kept around and also broke since we branched Kart off of Vanilla..
* Fix non-standard mapscales making the Death Egg respawn octagons dissasemble themselves.
* Allow for MULTIPLE TIME EMBLEMS PER MAP, at least in the emblem UI on the timer. It shows all completed emblems plus the uncompleted emblem up to a total of three.
* Major tweaks to the First Person HUD.
	* I know this was your baby, Sal, and some of the changes may prove controversial - so I've put the ones that are likely to cause the most fuss inside an ifndef block, so that you can toggle it as you please with minimal code changes.
	* Dontdraw-ness, transparency, and colorization match the player's object!
	* Moves around on the screen with respect to the direction of the player object's motion, to make drifting look nicer!
	* Flashes the colour of your drift sparks.
* Did a WHOLE bunch of things with respect to music. I'm not sure how to describe this, so I'll go through step-by-step.
	* Countdowns now play the drowning music again.
	* Removed/disabled extraenous P_RestoreMusics.
	* Made map-ending music called by its own function, P_EndingMusic(player_t *player).
	* Made the ending music play on the LAST player crossing the finishing line in splitscreen, rather than first.
* Make dead players spinout and clip through the floor, at least until we add the new death anims.
* Fix prior pogo spring usage making dead players fall faster.
* Make the time over countdown use the kart font when not splitscreen with 3 or 4 players.
* Removed a weird bonus HWR_DrawCroppedPatch function signature in the hardware header.
2018-07-16 20:19:30 +01:00
toaster
e3a1bf2f83 * Lots of Record Attack love!
* Record Attack Input display!
	* Show Record Attack emblem and emblem time on the HUD! Changes colours with the player, just like vanilla internal's.
	* Remove the ugly dark blue box on the singleplayer (including pause screen) whose only purpose in Kart was to contain the Record Attack emblem info!
* Unrelated shit!
	* Improve loading Kart HUD graphics.
	* Fix mirrored HUD graphics being one screen pixel (not basevid pixel) offset.
2018-07-15 23:13:36 +01:00
TehRealSalt
c44d4c78f1 Sping panel tweaks
- Spring panels have a higher minimum forward speed, and you can no longer drop below that speed.
- New, separate type of spring panel that has a maximum speed cap, for small jumps.
- Unrelated: The SMK Donut Plains bushes now have much less thinker overhead.
- Unrelated: Fixed my earlier attempt at getting momentum redirect to work when you just hit the ground.
2018-07-13 20:45:18 -04:00
TehRealSalt
d21b6282f3 Merge branch 'sonicitems' of https://git.magicalgirl.moe/KartKrew/Kart into sonicitems 2018-07-12 19:05:18 -04:00
TehRealSalt
4032a14581 Change how battle music/patch is decided 2018-07-12 19:04:37 -04:00
toaster
7f96774dbd Layout tweaks to record attack menu and statistics screen. 2018-07-12 15:45:00 +01:00
TehRealSalt
6574e1f0fc Shrink debug command, trailing items spawn directly on players, rainbow win 1 is more faithful, make springs more powerful for shrunk players, correct Grow/Shrink fullbright frame 2018-07-12 01:31:33 -04:00
TehRealSalt
81d7b21d43 Rearranged color order
Invincibility should look just a tad smoother now
2018-07-10 22:59:19 -04:00
TehRealSalt
f3134830fa Use Periwinkle & Creamsicle instead 2018-07-10 20:27:18 -04:00
TehRealSalt
d6c1d67662 Allow K_MomentumToFacing to work when you just hit the floor
(also prevent a crash when Ballhog balls die)
2018-07-10 19:34:45 -04:00
TehRealSalt
ffa9143eff SPB distance required changes based on difficulty
You can catch up to 1st faster on Hard vs Normal
2018-07-10 18:37:46 -04:00
TehRealSalt
301d1ffec6 Sound & timer fixes
- Don't decrease spinout when boosting
- Don't increase banana dragging when in the air or if you're not moving (Not sure about this one, just thought that this would feel better than it always increasing once we add the visual effect)
- Play a sound for banana dragging
- Correct finish line sounds
2018-07-10 18:16:53 -04:00
TehRealSalt
0b01c3868f Grow/Shrink flashing 2018-07-10 17:40:47 -04:00
TehRealSalt
9da279006f Merge branch 'master' into sonicitems 2018-07-10 17:02:55 -04:00