Commit graph

320 commits

Author SHA1 Message Date
TehRealSalt
1ab5ac58a7 Title demos don't interrupt the music 2018-11-13 21:01:59 -05:00
TehRealSalt
93ab9850a3 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
69287984db Merge branch 'master' into staff_names 2018-11-08 14:47:38 -05:00
TehRealSalt
393fee317e Fix for the Y_FollowIntermission change hurting Record Attack
Should probably be ported to vanilla
2018-11-08 14:43:06 -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
935c0da7d2 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
75d08f2048 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
6604d0181c 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
5c1cc6e1df Merge branch 'master' into all_hardcode 2018-11-02 01:42:34 -04:00
TehRealSalt
9f18164ad4 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
9630e01616 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
26093de2e9 Merge branch 'master' into chat-changes 2018-10-25 11:14:49 +02:00
Sal
3e556cde44 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
a1da768a87 Keep specator join request on respawn 2018-10-22 16:26:24 -04:00
TehRealSalt
3ec228d34f 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
9e4937d07f Don't f12 time over'd players 2018-10-22 15:06:07 -04:00
toaster
791dc079ec Merge branch 'master' into 'chat-changes'
# Conflicts:
#   src/hu_stuff.c
2018-10-21 08:27:28 -04:00
TehRealSalt
2021897972 Merge branch 'master' into new-spb 2018-10-19 17:45:06 -04:00
Monster Iestyn
29b242a5bd 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
553066b48b Merge branch 'master' into net-screen 2018-10-19 15:59:13 -04:00
Sal
734b7008c4 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
4994e9749f 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
adb2fad43c 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
524ab75a6a 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
8d6e203bd2 New SPB
May not make it to R1, but oh well
2018-10-18 04:43:50 -04:00
TehRealSalt
c8cd84ca34 No more vanilla democam, for real 2018-10-17 19:10:23 -04:00
toaster
ce443712b2 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
7f4228c37b Merge branch 'master' into net-screen 2018-10-16 21:40:06 -04:00
toaster
41b684e63e Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into net-screen 2018-10-16 22:13:45 +01:00
TehRealSalt
c9b0786a3b Merge branch 'master' into fix-nextlevel 2018-10-16 17:05:47 -04:00
TehRealSalt
362cbeb6b5 Merge branch 'master' into no-spectate-griefing 2018-10-16 16:38:35 -04:00
TehRealSalt
d158b3848e Fix the earlier attempt at patching over this 2018-10-15 19:05:23 -04:00
TehRealSalt
01c48c88d0 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
e23da397e4 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
a1e1aa81b5 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
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
2bb7df5f49 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
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
Monster Iestyn
9c464742b7 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
346c6bce96 HU_AddChatText cleanup for future use + chat mode Window (Hidden) added. 2018-10-10 21:24:55 +02:00
TehRealSalt
4364caa4ea Merge branch 'master' into net-screen 2018-10-09 21:15:30 -04:00
toaster
83bfca8009 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into karmegg 2018-10-09 21:09:52 +01:00
TehRealSalt
7900af2a0a Merge branch 'master' into net-screen 2018-10-09 15:43:38 -04:00
TehRealSalt
640e0e09c6 Merge branch 'master' into sal-cleanup 2018-10-08 00:22:44 -04:00
TehRealSalt
42766db48c Merge branch 'master' into net-screen 2018-10-07 23:26:56 -04:00
toaster
2f061a531a 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
7de16e2528 Foolish 2018-10-04 20:06:55 -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
TehRealSalt
58b52adf7e 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
e6fd41339a DrawFill supports splitscreen offset flags 2018-10-01 08:41:44 -04:00