Commit graph

166 commits

Author SHA1 Message Date
fickleheart
944838dc7d Read and write standings to replays 2019-04-01 15:07:27 -05:00
fickleheart
2a9dd8e1f9 Allow entering a title for replays on save 2019-03-24 22:40:52 -05:00
fickleheart
b2cbe3ed6d Refactor replay saving handler for later use 2019-03-24 21:55:08 -05:00
fickleheart
4b7d2aea84 Move public demo vars to a single struct 2019-03-24 21:32:15 -05:00
fickleheart
0940be1633 Move save replay prompt into the upper-right corner 2019-03-24 19:57:11 -05:00
fickleheart
324108d120 Force intermission to 10 seconds on replays 2019-02-18 21:33:15 -06:00
fickleheart
276373123e Add cvar for netreplay saving options 2019-02-16 18:29:51 -06:00
fickleheart
6da810a994 Merge remote-tracking branch 'remotes/upstream/master' into new_netreplays
# Conflicts:
#	src/g_game.c
#	src/k_kart.c
2019-02-06 20:47:35 -06:00
toaster
06b3e265f5 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart-Public.git into next 2019-02-02 21:12:49 +00:00
fickleheart
71d1d10ef6 Play intermission after net replays 2019-02-01 21:06:52 -06:00
Sally Cochenour
c1fde7bfb7 Thin the rest of this screen's stuff too 2019-01-30 01:21:20 -05:00
Sal
cf06f108ed Merge branch 'majormods' into 'next'
Allow playing in Record Attack with minor add-ons

See merge request KartKrew/Kart-Public!31
2019-01-29 23:19:57 -05:00
Sally Cochenour
1f90a04623 Thin names for 9+ player intermission 2019-01-27 17:52:53 -05:00
toaster
1a21c5efbe Code cleanup as requested by Sal and Sryder.
* majormods and savemoddata cannot coexist as true values, so going through and making situations that involve both only reference one.
* Clean up comments in `dehacked.c`.
2019-01-26 16:58:45 +00:00
toaster
081872aa85 First steps at implementing a mechanism that allows you to load non-cheaty good-faith mods such as custom characters with no Lua scripting, and play record attack with them. Features a few bad hacks and a few more areas of improvement; I'll try to iron them out before they hit next or master. 2019-01-15 19:01:55 +00:00
TehRealSalt
89f12599c6 Minor misc fixes 2019-01-12 02:53:14 -05:00
TehRealSalt
5534017954 Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
Monster Iestyn
1b2aea81dc Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
toaster
de02c0bca9 Turns out your unlocks are delayed a little bit! The medals are saved, but the unlocks due to the medals aren't immediate... which is a problem for Hell Attack, since there's no indication you need to play another level for it all to work!!! 2018-11-22 18:28:27 +00:00
Monster Iestyn
66900c70ee Merge branch 'master' into next 2018-11-20 13:55:36 +00:00
TehRealSalt
9a4ebb916a Allow yeah in splitscreen 2018-11-20 00:10:54 -05:00
toaster
4abb03a231 Two tweaks to gamedata saving:
* Save gamedata in Y_UpdateRecordReplays(), so that you never unfairly lose out on your spoils by setting modifiedgame before the game ends.
* Always save your matchesplayed/totalplaytime increase at the successful completion of a level.
2018-11-17 20:16:27 +00:00
Alam Ed Arias
4695841b8d fix format-truncation: need bigger string buffers 2018-11-14 16:50:52 -05:00
toaster
71c72bf0c5 Realign YOU ARE THIS PLAYER highlight on non-green-res voting 2018-11-11 14:36:24 +00:00
toaster
a0badacd22 * Fix spectators having the "YOU ARE THIS PERSON" highlight on the minirankings be done on the person in first.
* Apply the "YOU ARE THIS PERSON" highlight to all non-splitscreen circumstances that use the tiny player icons. (New locations: Tab rankings, intermission, completed votes.)
2018-11-10 12:31:41 +00:00
TehRealSalt
69287984db Merge branch 'master' into staff_names 2018-11-08 14:47:38 -05:00
TehRealSalt
499faec555 Merge remote-tracking branch 'srb2public/next'
(Huge change: NO_MIDI is now a define, simply because that makes it easier for me to resolve merge conflicts if I can see the original code and the new code. Also means that people who REALLY miss MIDI can compile & fix it themselves :P)
2018-11-07 16:15:14 -05:00
toaster
cf16959ad5 Clean but quick: Rename all user-facing things that say "emblem" to say "medal" instead. Don't touch SOC, don't touch code, otherwise we'll be here all year. 2018-11-07 18:05:29 +00:00
toaster
3a53d6d3b9 Properly support widescreen in Y_IntermissionDrawer (I meant to do this in charscleanup but forgot). 2018-11-04 21:48:47 +00:00
toaster
f36d58dd09 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into chars_cleanup 2018-10-30 22:08:17 +00:00
toaster
a9b4a56d23 Stupidbad-big commit, but PLEASE don't ask me to re-do this on another branch, I swear to god. I know it makes things more difficult on you, and I'm sorry for that, but I'm definitely feeling the goddamn crunch right now and I wanna take a step back from this spaghetti nightmare and clear my head.
* Do that thing where the character icons are ALWAYS 1x sized, through having two seperate lumps.
* Revamp the S_SKIN parameters to be `facerank` (rankings - equivalent of half-scale old face), `facewant` (WANTED - equivalent of old face), and `facemmap` (equivalent of old iconprefix).
* Do that thing Oni wanted where it shows two postions above and two positions below your current ranking (and you) to the left of the screen, instead of always the top 4, with some limits to avoid drawing outside of everything.
* Replace the last few shitty Mario numbers (for the left rankings) with cool, new Oni numbers.
* Change a bunch of offsets and things so the tab rankings and the intermission work nicer with 9+ players.
2018-10-28 16:27:55 +00:00
toaster
564cfb33b4 Fade stuff!
* Make the white intro fade always drawn, rather than potentially disable-able through tab or HUD disable.
* Slightly increase the darkness of the intermission fade, since its current value had a negative effect on SKINCOLOR_SAPPHIRE.
2018-10-27 20:39:41 +01:00
TehRealSalt
f3a61b43d7 Wrong variable 2018-10-24 19:38:46 -04:00
TehRealSalt
017d606828 fzboom.wad hardcode 2018-10-23 17:48:09 -04:00
TehRealSalt
1ca823f981 < 2018-10-17 13:38:31 -04:00
TehRealSalt
9047780e29 Prevent point grief
(Needs tested)
2018-10-16 20:56:04 -04:00
Monster Iestyn
feceaf6d30 Removed all code in Y_FollowIntermission that's already handled in G_AfterIntermission
Only real difference here is that CEcho messages will always be cleared when going to credits/evaluation, but that's hardly a loss tbh.
2018-10-11 21:25:15 +01:00
Monster Iestyn
31f3f8b8e7 Moved Y_EndGame from y_inter.c/h to g_game.c/h, renamed it to G_EndGame 2018-10-11 21:24:53 +01:00
Sal
b8d86bb096 Merge branch 'thinkerclean' into 'master'
Nuke a bunch of iteration things that have no purpose in SRB2Kart.

See merge request KartKrew/Kart!25
2018-10-07 23:14:53 -04:00
toaster
cfd2b021a4 Nuke a bunch of iteration things that have no purpose in SRB2Kart. A full explanation of my reasoning and what it affects is as follows.
p_inter.c -
	Everything to do with setting states for starposts
		In SRB2Kart, starposts are invisble. We don't need to loop through all thinkers just to set their states when there's no visible effect of the state-setting. In addition, it has no consequences for gameplay - starposts have long been silent here, and all checking is done regarding their health, not their state.
	Remove extremely low-traffic conditionals (MT_FLINGEMERALD collision height extension, for example)
		These objects serve no functional purpose during regular SRB2Kart gameplay. Why should every other object have to pay an admittedly minor performance hit just for them?
	Disable all mechanisms of damaging bosses or enemies with the player's physical contact
		With the exception of Sapphire Coast, no MF_ENEMY objects exist in the entirety of the standard roster. In addition, the conditions for damaging the enemies were impossible to achieve, because they required vanilla SRB2 mechanics such as "jumping", "spindashing", or "super". Therefore, they can be safely commented out.
	Disable NiGHTS-related material (excepting bumper, hoop, and wing-emblem objects)
		NiGHTS is fundamentally incompatible with regular kart gameplay and I believe was already broken. Therefore, any mechanism which enters, aids, or abets it can be safely disabled.
	Comment out Tag mechanisms
		Tag is the only vanilla multiplayer gametype which has sufficient gameplay depth and complexity (HEYOOOOOOOOO) to require dedicated thinking in and of itself in order to manage. This thinking is irrelevant to Kart's functioning, and can be neutered easily.
d_clisrv.c
	Comment out Tag mechanisms
		See p_inter.c
d_netcmd.c
	Disable several devmode commands which are irrelevant to SRB2Kart gameplay
		When investigating for references to NiGHTS material, I discovered that these remained untouched. In order to present a more coherent game, I have hidden the ones that serve no purpose for us.
	Comment out Tag mechanisms
		See p_inter.c
g_game.c
	Disable NiGHTS-related material
		See p_inter.c
	Disable some team-related material
		Teams are not present in SRB2Kart at present. Obviously we'd want to reconsider for future, but it doesn't need to be run right now.
	Everything to do with setting states for starposts
		See p_inter.c
m_cheat.c
	Disable several devmode commands which are irrelevant to SRB2Kart gameplay
		See d_netcmd.c
p_map.c
	Remove extremely low-traffic conditionals (MT_EGGSHIELD collision, for example)
		See p_inter.c
	Disable NiGHTS-related material
		See p_inter.c
p_mobj.c
	Disable P_EmeraldManager
		Power stones, despite their relevance in vanilla Match, are not in SRB2Kart's Battle. No management of nonexistent emeralds is required.
p_setup.c
	Everything to do with setting states for starposts
		See p_inter.c
p_spec.c
	Disable NiGHTS-related material
		See p_inter.c
	Everything to do with setting states for starposts
		See p_inter.c
p_telept.c
	Everything to do with setting states for starposts
		See p_inter.c
p_tick.c
	Disable some team-related material
		See g_game.c
	Disable P_EmeraldManager
		See p_mobj.c
	Do not run shields
		Shield objects are not run under the vanilla system; the Thunder Shield is a domain-specific recreation using a standard mobjthinker.
	Do not run special stages
		SRB2Kart does not have special stages.
	Comment out Tag mechanisms
		See p_inter.c
y_inter.c
	Disable some team-related material
		See g_game.c
p_user.c
	Disable NiGHTS-related material
		See p_inter.c
	Disable 2d movement for players
		2D mode? In a kart racer? :nick:
2018-10-03 17:04:41 +01:00
toaster
4b9d5f251e Fix incorrect alignment of selected-level Ruby in vote drawer. 2018-10-02 16:51:17 +01:00
toaster
084b99a5c9 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into encore
# Conflicts:
#	src/info.c
#	src/m_menu.c
#	src/y_inter.c
2018-09-21 20:54:38 +01:00
toaster
fd7bc1c1ac Do a bunch of major modifications to the voting system's rule change system!
* Add `kartvoterulechanges`, or "Voting Rule Changes" on the menu, to allow some user control over event frequency.
	* "Never" - does what it says on the tin.
	* "Sometimes" - 1/8 chance of Encore if host has unlocked it, only gametype change when buffer is full
	* "Frequent" - 1/2 chance of Encore if host has unlocked it, gametype change every 5 maps
	* "Always" - If host has unlocked Encore, alternates between Encore and Gametype. Otherwise, always a gametype change
	* There's probably room for a setting between "Sometimes" and "Frequent", but I didn't want to overload the host with options and these were the ones that made sense.
* Better handling of buffer refreshes, to prevent two of the same map appearing next to each other in the voting unless there literally aren't that many maps.
* Mostly unrelated: Minor bugfix for Y_SetupVoteFinish, preventing music changes/random sounds playing on the You Will Join Next Race screen. (Branch-appropriate, at least.)
2018-09-11 15:42:53 +01:00
TehRealSalt
3b5f251ff0 Vote screen uses the font's intended character spacing 2018-09-02 22:53:40 -04:00
toaster
a7bb16ada9 Improve intermission drawer further.
* Change `MM:SS.MS` to `MM'SS"MS' to match all other recorded instances of time in-game.
* Add a full stop to NO CONTEST to scrounge up an extra four pixels to match the increased width of above.
* Make it such that the number of players per column will never be desynced with future code changes by tying it to a local #define.
* Other minor code improvements.
2018-08-31 12:37:15 +01:00
toaster
fc6b0b23ec Increase the amount of time between the switch to the Rankings half of intermission and ranking is calculated a tad.
Turns out it wasn't taking the length of the level-to-rankings switch animation into account!
2018-08-26 17:31:04 +01:00
toaster
1038028468 Real time reordering of intermission rankings as rank counts up!
Also features jittering of the intermission elements because I thought it'd be fun, plus some better handling of players leaving (and then new ones joining) mid-intermission.
2018-08-26 16:23:50 +01:00
TehRealSalt
277c4deb30 Merge branch 'sonicitems' into encore 2018-08-26 00:12:02 -04:00
toaster
e5566df4c2 Fix up the bugs from last night's hell netgame.
* The tab and intermissions rankings...
	* ...now have parity in behaviour!
	* ...now properly handle player counts over 8, and no longer supports player counts over 16!
* The Item Arrow in Battle...
	* No longer develops any extremely stupid bugs due to Orbinaut sprites that makes all objects in state S_INVISIBLE develop <!>'s! (Ask me about this if you're curious as to how it affected everything else too.)
2018-08-24 13:36:03 +01:00