Commit graph

321 commits

Author SHA1 Message Date
TehRealSalt
3462133c5a Skip errors for staff ghosts 2018-11-14 05:20:51 -05:00
TehRealSalt
a8b57e6f0d Title demos don't interrupt the music 2018-11-13 21:01:59 -05:00
TehRealSalt
339a2a6ee6 Clean-up of unused/removed sfx, replacement of the last remaining Mario sfx, and new sfx in some spots
- Replaced eggitem landing sfx
- Replaced banana landing sfx
- Replaced item tossing sfx
- Replaced item clashing sfx
- Added sfx for drift spark tier changing
- Added sfx for brake drifting
- Reverted Mario Mode sound replacement back to vanilla
2018-11-11 17:30:30 -05:00
TehRealSalt
ab1faaeec5 Merge branch 'master' into staff_names 2018-11-08 14:47:38 -05:00
TehRealSalt
2b92c1abfa Fix for the Y_FollowIntermission change hurting Record Attack
Should probably be ported to vanilla
2018-11-08 14:43:06 -05:00
TehRealSalt
c7b0df8172 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
2890e726c1 Fix startbumps.
A more detailed explanation:
* P_CheckPosition is the function which determines collisions.
* In Vanilla, collisions do not happen between players unless tailspickup is off (which it basically never is).
* Even with tailspickup off, on-spawn player collisions do not affect momentum.
* However, in kart, player collisions cause the player to get bumped.
* It would succeed at the P_CheckPosition call because players aren't *solid* solid, even though they cause bumps.
* It would fail at the K_CheckPlayersRespawnColliding call, but that would be too late, *as the player already has been bumped.*
* The player would therefore be moved to a new location, but still retain bump momentum, and the bump sound would have played for both players.
* Therefore, the obvious solution is to swap P_CheckPosition and K_CheckPlayersRespawnColliding, so that it checks for players BEFORE it performs object collisions at that spot.
* The reason we didn't see this MUCH before is that it can only ever happen in the case of ties.

I could've easily done this into master, but obviously I figure yalls'd at least like to check this first.
2018-11-06 13:33:27 +00:00
toaster
4568753e4c TITLE SCREEN DEMOS: Pick a random Staff Attack demo!!!
Also: Fix watching a demo replay of a map with a palette not resetting your palette back to normal when you go back to the menu(/titlescreen).
2018-11-05 13:45:40 +00:00
toaster
220d4d5605 Staff attack ghost names on the REPLAY... menu.
Also: Remove playercolor being set to the replay's color. No need to kill your settings, seeing as it makes no tangible effect on your replay (doesn't even lose colour when you die, so I don't even know...)
2018-11-04 01:00:17 +00:00
TehRealSalt
ab02ea1e1a Merge branch 'master' into all_hardcode 2018-11-02 01:42:34 -04:00
TehRealSalt
193941945e The motherload: all of my Lua is hardcoded
This took like 6 straight hours of work, never ask me for anything ever again
2018-10-29 05:00:08 -04:00
TehRealSalt
f9d8ebd4e6 Camera crash fixes
UNRELATED, but they made this branch a pain in the ass to test so I needed to fix this here :V
2018-10-28 17:31:59 -04:00
Latapostrophe
612ff4059c Merge branch 'master' into chat-changes 2018-10-25 11:14:49 +02:00
Sal
a2fab299c1 Merge branch 'last-netgame-tweaks' into 'master'
Last netgame tweaks

See merge request KartKrew/Kart!57
2018-10-24 19:33:47 -04:00
TehRealSalt
a45f86c1fd Keep specator join request on respawn 2018-10-22 16:26:24 -04:00
TehRealSalt
18864ac533 No more cheesing Shrink by dying
(If that was kept, we'd see it exploited all the time on release :V)
2018-10-22 16:22:41 -04:00
TehRealSalt
c3d535ae90 Don't f12 time over'd players 2018-10-22 15:06:07 -04:00
toaster
9ad5b9da80 Merge branch 'master' into 'chat-changes'
# Conflicts:
#   src/hu_stuff.c
2018-10-21 08:27:28 -04:00
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