Commit graph

607 commits

Author SHA1 Message Date
TehRealSalt
71452edda2 Merge branch 'master' into new-spb 2018-10-19 17:45:06 -04:00
Monster Iestyn
55a3e4c81f Merge branch 'endgame-code-refactor-backport' into 'next'
Endgame code refactor

See merge request STJr/SRB2!297
2018-10-19 17:31:19 -04:00
TehRealSalt
d93f09ccf4 Merge branch 'master' into net-screen 2018-10-19 15:59:13 -04:00
Sal
d2e8a71ff8 Merge branch 'democam' into 'master'
If I were a bad Democam, I wouldn't be sittin' here discussin' it with ya now would I?!

See merge request KartKrew/Kart!48
2018-10-19 15:50:28 -04:00
Sal
de1d9770b9 Merge branch 'no-spectate-griefing' into 'master'
Prevent spectate griefing

See merge request KartKrew/Kart!43
2018-10-19 15:50:18 -04:00
Sal
46400a08ef Merge branch 'sp_fixes' into 'master'
Singleplayer fixes (no, not record attack, the *other* one)

See merge request KartKrew/Kart!46
2018-10-19 15:50:06 -04:00
Sal
3e2f4f2404 Merge branch 'remove-prints' into 'master'
Remove most gameplay prints

See merge request KartKrew/Kart!42
2018-10-19 15:49:01 -04:00
TehRealSalt
2ae44ab10e New SPB
May not make it to R1, but oh well
2018-10-18 04:43:50 -04:00
TehRealSalt
2121bbae84 No more vanilla democam, for real 2018-10-17 19:10:23 -04:00
toaster
efc37b002b Some token efforts to make singleplayer mode (accessible only via -warp and map mapxx -force) not COMPLETELY broken.
* Fixed the conditionals for `suicide` and `retry` commands - `suicide` is now allowed in singleplayer, and `retry` no longer checks your lives (for now).
* Disable the "traditional" level reload method (which `retry` tried to use), since it was completely broken with the other changes we've made. Mapchanges only.
* Made retries cause a mapchange, per the above.
* Disable the last source of skincolor trampling in the game - loading a level while not netgame or record attacking.
2018-10-17 13:40:17 +01:00
TehRealSalt
c7e859e08a Merge branch 'master' into net-screen 2018-10-16 21:40:06 -04:00
toaster
12d67e62bc Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into net-screen 2018-10-16 22:13:45 +01:00
TehRealSalt
a26e79320c Merge branch 'master' into fix-nextlevel 2018-10-16 17:05:47 -04:00
TehRealSalt
c4a249366c Merge branch 'master' into no-spectate-griefing 2018-10-16 16:38:35 -04:00
TehRealSalt
c2f7529be0 Fix the earlier attempt at patching over this 2018-10-15 19:05:23 -04:00
TehRealSalt
0717db3f31 Prevent spectate griefing
If the player count dips below what was stored on the start of the last lap, then don't do time over so that someone can't just spectate at the end of a race out of rage. Y'all are assholes :V
2018-10-15 18:41:34 -04:00
TehRealSalt
3186af9e51 Remove most gameplay prints
A couple of the extraneous ones (karma interactions, bumper stealing, lap start notifications) have been removed outright. The rest that I could think of have been changed to use CON_LogMessage, so that they still go into log.txt when rereading a fun chat session but not showing themselves in gameplay. Necessary gameplay prints, such as players being defeated or coming back in Battle, have been kept until there's a suitable replacement for them in the future.
2018-10-14 17:45:28 -04:00
toaster
1142fddc71 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into nextmerge_plus_rain
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/g_game.c
#	src/p_floor.c
#	src/p_user.c
#	src/r_data.c
#	src/r_data.h
#	src/v_video.c
2018-10-14 21:52:05 +01:00
Monster Iestyn
85b18c963f 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
abc083e5e8 G_ExitLevel tweak: Use HU_ClearCEcho() instead of HU_DoCEcho(""), the latter causes an empty line to appear in log.txt 2018-10-11 21:25:04 +01:00
Monster Iestyn
3c981c913a 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
Monster Iestyn
34728b3031 Remove "playerdeadview" variable; it's not been used for its stated purpose for who knows how long now
Besides rankings popping up when you die just sounds weird anyway, maybe I'm just used to SRB2 not doing it I guess
2018-10-11 20:00:45 +01:00
Latapostrophe
4b2cb6b4e5 HU_AddChatText cleanup for future use + chat mode Window (Hidden) added. 2018-10-10 21:24:55 +02:00
TehRealSalt
043c43f48f Merge branch 'master' into net-screen 2018-10-09 21:15:30 -04:00
toaster
0adfccf7da Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into karmegg 2018-10-09 21:09:52 +01:00
TehRealSalt
511944a1f1 Merge branch 'master' into net-screen 2018-10-09 15:43:38 -04:00
TehRealSalt
1bce22cf72 Merge branch 'master' into sal-cleanup 2018-10-08 00:22:44 -04:00
TehRealSalt
7a6a2f8946 Merge branch 'master' into net-screen 2018-10-07 23:26:56 -04:00
toaster
49472858d9 Karma Eggman. Does what it says on the egg. Tried very hard not to merge conflict with frameperfectegg.
Also includes some adjustments to:
* Horizontal offset of Eggman countdown in splitscreen again. It's not perfectly centered either way, but on second thought I like this better.
* Sound of Lat`'s Mine/SPB explosions - now uses same sound as Karma bombing, instead of that shitty paraloop.
* Correctly wipe k_eggmanblame when it is appropriate to do so.
2018-10-07 11:40:06 +01:00
TehRealSalt
697d625a41 Foolish 2018-10-04 20:06:55 -04:00
toaster
5e8799a965 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
TehRealSalt
9e068f8c03 Address toast review
- Re-add highlighting to the header text, and shift it back up slightly
- Move the viewpoint loop break out of a while and into the main loop
2018-10-01 19:23:38 -04:00
TehRealSalt
32bb288b84 DrawFill supports splitscreen offset flags 2018-10-01 08:41:44 -04:00
TehRealSalt
abb21fc79c Goodbye cvar 2018-10-01 07:21:02 -04:00
TehRealSalt
1fadc32f56 Foolish error 2018-09-30 21:47:04 -04:00
TehRealSalt
8768e96afa Please don't punish offline practice 2018-09-30 21:46:12 -04:00
TehRealSalt
9c37d7cacb Proper G_GametypeHasSpectators for netgame splits 2018-09-30 16:35:05 -04:00
TehRealSalt
771367c5d7 New bindable keys
You can now remap Change Viewpoint, Screenshot, and Toggle GIF Recording to other keys, mainly for gamepads

They also pushed me to my breaking point and I couldn't tolerate the control menu anymore, thanks to toaster for the scrolling backport
2018-09-27 16:55:21 -04:00
TehRealSalt
0a2be735bd Viewpoint key improvements
- Don't cycle through exiting players
- Don't cycle through karma players in Battle
- Disable console print on switch, it's already got a HUD element
2018-09-26 21:35:57 -04:00
TehRealSalt
8bc02a3ec6 raceexittime var 2018-09-22 18:59:26 -04:00
toaster
fd247b8252 Sign compare fix via boolean cast 2018-09-22 11:59:07 +01:00
toaster
9ab42d91cb 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
mazmazz
32c48af258 MusicPlus Core (positioning and fading) 2.2 -> 2.1 backport 2018-09-18 10:22:17 -04:00
toaster
8df3e2ffbe 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
dc76eeed31 Don't let players carry them between levels..........
(In return for not letting anyone experience this silly bug, I made spectators joining before the match starts in Battle spawn with bumpers)
2018-09-10 03:15:46 -04:00
TehRealSalt
3a34a3f7ea Item stuff
- Keep items on death, as long as you haven't used them yet.
- Restart the item roulette on spawn if you die during it.
- Held items that take up your item box now flash, to be consistent with Rocket Sneaker and Grow.
2018-09-10 02:48:10 -04:00
TehRealSalt
25410d82bf Misc camera fixes
- Fixed remaining instances where camera position would scale with the player instead of the level; the camera should almost 100% certainly not change now when you get Grown/Shrunk
- Reset camera when switching viewpoint, to make it not look *as* weird when switching after you've finished (needs tested)
2018-09-04 16:10:59 -04:00
toaster
ace4c46d5f Fix up them there ghosts!
* Stop orphaning their memory. They ARE PU_LEVEL, so they'll disappear eventually, but, like... it's not good memory management practice to just *orphan* them when you're literally never going to do anything with them ever again. Y'know?
* Make ghosts spawn properly on slopes.
2018-08-25 17:11:49 +01:00
Latapostrophe
da3fb0913b Changed chat position,
Added chat back tint
Fixed word wrapping glitches
2018-08-19 10:58:29 +02:00
toaster
2b9068378f Correct minor issue with random map name selection. 2018-08-15 16:56:26 +01:00