Commit graph

3097 commits

Author SHA1 Message Date
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
99e1149ec3 Spinout quick fix 2018-07-20 22:51:18 -04:00
TehRealSalt
a63b172351 Merge branch 'sonicitems' into bumpstuff 2018-07-20 19:13:04 -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
Alam Ed Arias
79e4c3760a Merge branch 'master' into next 2018-07-20 17:35:53 -04:00
Alam Ed Arias
1ee7eda0ad Fixup PROFILEMODE 2018-07-20 17:35:18 -04:00
TehRealSalt
91214fbee5 Small correction 2018-07-20 16:13:41 -04:00
TehRealSalt
584082882c More tweaking
- Getting wipeout bumped into offroad slows you down
- Orbinaut & Jawz are relative to your weight (Jawz is heavier), via new function K_GetMobjWeight
- Reorangized where K_KartBouncing is called so that wipeout changes don't affect Eggman Items
2018-07-20 16:13:02 -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
TehRealSalt
b891ebe614 Wipeout items bounce you 2018-07-20 03:41:26 -04:00
TehRealSalt
ce161e470f Merge branch 'sonicitems' into bumpstuff 2018-07-19 22:38:31 -04:00
TehRealSalt
d25cb1aa56 Wipeout bumps
- You can bump other people during spinout.
- Bumping during spinout activates a "slow down" timer, which increases your friction after a few tics.
- You have a Smash-style dust effect after a spinout bump, indicating clearly if you'll slow down or not.
2018-07-19 22:37:32 -04: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
Monster Iestyn
a06ef26149 Merge branch 'master' into next 2018-07-11 21:37:23 +01:00