Commit Graph

2958 Commits

Author SHA1 Message Date
TehRealSalt 6ddfc904da Merge branch 'bumpstuff' into sonicitems 2018-07-22 18:19:29 -04:00
TehRealSalt 2f5baa6199 Item dist scales with low player count instead of just odds, you can change some cvars during start countdown 2018-07-22 18:15:11 -04:00
toaster 0711e21ffd Do Oni's suggested changes to the wipe-based level intro fade. https://cdn.discordapp.com/attachments/270211093761097728/470690865279401994/kart0019.gif 2018-07-22 21:49:17 +01:00
toaster 992b1dc795 MAP HELL IS REAL
* Force map hell if there are two or more non-spectators (ie, same condition as to not be in FREE PLAY) and everyone has selected the RANDOM level slot.
* Unique gasp-and-Shulk-based sounds for both forced and non-forced map hell occourances.
2018-07-22 21:02:31 +01:00
toaster b4a0e0a83f Force the display of FREE PLAY on the pre-rankingsmode part of the intermission screen, since it's important to show what it was. When in rankingsmode, THAT'S when it's able to freely change with the number of players jumping in and out. 2018-07-22 17:39:09 +01:00
toaster 7564aa466e * FREE PLAY! The necessary corollary to HERE COMES A NEW CHALLENGER...
* Activates when there are less than two non-spectators in a netgame.
	* Shows flashing text at the bottom of the screen.
	* Prevents drawing several UI elements that only make sense with multiple players.
	* Prevents matchesplayed being increased.
* Improve the mapreset timer's behaviour.
	* Now you get to see the HERE COMES A NEW CHALLENGER screen as the starting frame of the relevant map transition, since it happens on mapreset being 1 rather than 0.
	* Make a bunch of normal gameplay stuff that might've activated unnecessarily during mapreset now not able to.
	* Hide some other stuff that might've been visible for no good reason.
* Improve Mirror mode.
	* First person now works with it!
	* Tweaked the minimap player heads. Although the main section of the automap is mirrored, it feels... wrong to mirror the player head? IDK, you may wish to revert this, but given that everything else is the right way around except for the level itself...* Disable the titlescreen demos, at least until we actually gear up for release and make real ones.
* Disable the titlescreen demos, at least until we actually gear up for release and make real ones.
2018-07-22 16:16:03 +01:00
TehRealSalt cac613f3ef Merge branch 'sonicitems' into bumpstuff 2018-07-22 00:32:11 -04:00
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 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
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