Commit graph

3702 commits

Author SHA1 Message Date
toaster
60a26fcaa4 * Modify PIT_GrenadeRing to place less-complicated checks near the start of the function.
* Add the customary LUA_CallAction call to A_GrenadeRing.
* Revamp A_MineExplode into using a blockmap iterator. Having tested it it might be less laggy in some situations, but I think the drawing is causing the bulk of the problems here.
2018-10-03 20:51:15 +01:00
toaster
4c1a068bd7 Update A_GrenadeRing to also take the mapheader scale into account. 2018-10-03 20:23:59 +01:00
Latapostrophe
4aea053c2f Allow client to open chat and scroll even if muted. 2018-10-03 20:09:32 +02:00
TehRealSalt
738ee90d8a Merge branch 'master' into noclip-cam 2018-10-03 13:45:20 -04:00
TehRealSalt
bb9e77f2a1 Add a few more splitscreen checks here 2018-10-03 13:43:36 -04:00
toaster
d7892266e4 Improve A_MineExplode.
* Re-order the conditions within it such that it quickly checks for shootability and absence of scenery BEFORE it performs the more costly range or parentage checks.
	* Make its explosion radius take mapscale into account. (This is the only off-topic change made in this branch. I have made it here because half of this commit, which doing the other half in a seperate branch would conflict with, is on-topic.)
2018-10-03 17:27:58 +01:00
toaster
a16b9cfc1f Incorrect comment starting location. 2018-10-03 17:16:23 +01:00
toaster
ecfe8e5070 Complete the disabling of the traditional shield mechanism (oversight from initial commit). 2018-10-03 17:14:25 +01: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
Sryder
76e0ff6dc7 Merge branch 'waypastpoint' into 'master'
Ghetto waypoint improvements

See merge request KartKrew/Kart!21
2018-10-02 18:20:17 -04:00
TehRealSalt
d2ec4d2be5 Only play one player's roulette sounds at a time
Don't stack the sounds :WutFace:
2018-10-02 14:10:38 -04:00
toaster
2f082d8265 Revert "Just realised the inputwheel jittering in Sryder's videos was my fault, so fix this even better"
This reverts commit 8aff76b8c3.
2018-10-02 16:52:02 +01:00
toaster
4b9d5f251e Fix incorrect alignment of selected-level Ruby in vote drawer. 2018-10-02 16:51:17 +01:00
Alam Ed Arias
348f4dc2cd Merge branch 'master' into next 2018-10-02 09:14:59 -04:00
TehRealSalt
527642323e Splitscreen spectator info 2018-10-02 02:23:13 -04:00
TehRealSalt
7590153b67 Finish music in splitscreen now depends on the best player's rank
In offline splitscreen it should now always pick the win theme (the one that's timed with the signpost), and in online splitscreen it should now pick the best ranked local player (previously it'd always play the OK theme, unless if you time over'd)

Will also be extremely relevant for SMK-style cooperative grand prix!
2018-10-02 02:10:20 -04:00
TehRealSalt
506c70ce27 Don't scale player arrows in splitscreen 2018-10-02 01:28:48 -04:00
TehRealSalt
ac521015ff Don't draw the challenger screen multiple times
Another minor bug that could only crop up in online splitscreen
2018-10-02 01:26:13 -04:00
TehRealSalt
66c1b9d598 If multiple players are just joining, don't count them in the player count
Prevents awkward situations where only the last player of your node gets added immediately and not the others. Shouldn't affect anything otherwise?
2018-10-02 01:25:10 -04:00
TehRealSalt
f5eee19d9b Online splitscreen voting
Forgot I added in that quick edit to make it not send anything in splitscreen mode, oops!
2018-10-02 01:22:45 -04:00
TehRealSalt
24c615108f Merge branch 'master' into net-screen 2018-10-01 19:46:25 -04: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
toaster
445013b0f9 Wrong bracket level for flashing-set. 2018-10-01 22:44:17 +01:00
toaster
147b7a5786 Modified SPB to not route through P_DamageMobj (so wehave more control over the shield dropping/item obliteration, given Sryder picking up his own Thundershield...) 2018-10-01 21:48:52 +01:00
Monster Iestyn
a605ee9c11 Merge branch 'linux-better-mem-report' into 'master'
Use MemAvailable instead

See merge request STJr/SRB2!281
2018-10-01 16:25:21 -04:00
toaster
d42736fe3d Include srb2.org in the credits per Rob's wishes. 2018-10-01 21:23:00 +01:00
Sryder
033667a0ee Merge branch 'keysmash' into 'master'
(Mic)key('s Dick) Smasher

See merge request KartKrew/Kart!18
2018-10-01 14:58:31 -04:00
Latapostrophe
49acbe9bee Fix /me and sayteam, except sayteam now actually doesn't do anything anymore. 2018-10-01 20:23:56 +02:00
toaster
c9da6cd856 Minor HUD offset tweak for splitscreen eggnum. 2018-10-01 18:10:12 +01:00
toaster
d0e629a8e2 Correct some inconsistencies I missed in the previous commit. 2018-10-01 13:51:23 +01:00
TehRealSalt
e6fd41339a DrawFill supports splitscreen offset flags 2018-10-01 08:41:44 -04:00
toaster
379772e5aa Allow respawning spectators before starttime is up because they no longer spawn in a condition that allows them to get an unfair advantage (drop dash or its ghetto 2.0-esque predecessor)
Also, some camera tweaks:
* Force chasecam when exiting, just like it's forced when you're dead and not a spectator.
* Force a horizontal camera angle aiming when spectator and dead, to avoid skybox bugs.
2018-10-01 13:25:13 +01:00
toaster
14a5ffbfd8 Based on netgame comments last night, update the tab rankings info to show less information in race. 2018-10-01 12:52:54 +01:00
toaster
f1267f8ae1 Don't allow a new driftboost of lesser magnitude to completely cancel an existing driftboost. 2018-10-01 12:27:35 +01:00
TehRealSalt
96506359f1 Goodbye cvar 2018-10-01 07:21:02 -04:00
toaster
0ec952d019 Add a SECTIONRACE map flag. So far, all it does is prevent the number of laps from exceeding the map default, but it's a base to work off of if we want to add any other changes specifically for section races in future. 2018-10-01 12:12:48 +01:00
toaster
487a2ecf2e Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into toast_misc 2018-10-01 11:46:13 +01:00
TehRealSalt
71e40f68cd Foolish error 2018-09-30 21:47:04 -04:00
TehRealSalt
73100b22d5 Please don't punish offline practice 2018-09-30 21:46:12 -04:00
TehRealSalt
a4f3d4867d Change dummysplitplayers into splitplayers, unhide it, and set it when joining and not just hosting
Silly oversight
2018-09-30 18:07:05 -04:00
TehRealSalt
9cf379f091 kartdebugnodes 2018-09-30 17:47:56 -04:00
Monster Iestyn
800b3bb240 Move player + player mobj existence checks to top of P_MoveChaseCamera. This is the only place it makes sense to even check them tbh.
While I'm at it, let's also use the "mo" variable instead of player->mo throughout the function (to be consistent)
2018-09-30 22:18:48 +01:00
TehRealSalt
5132c31e0f I have no idea if this is an actual problem or not, but this was in the back of my mind from day 1 2018-09-30 17:17:33 -04:00
TehRealSalt
bc807dccc4 Sorta messy menu to set splitscreen
Now this branch is completely functional!
2018-09-30 17:09:59 -04:00
TehRealSalt
ad06b3c62f Proper G_GametypeHasSpectators for netgame splits 2018-09-30 16:35:05 -04:00
TehRealSalt
4da5c165f4 Fix all of the joining ghost issues or desyncing
The answer was so obvious! Just add a XD that just calls CL_RemovePlayer! Duh!
2018-09-30 16:20:01 -04:00
TehRealSalt
56ec3d0465 Probably should do this too... 2018-09-30 12:19:26 -04:00
TehRealSalt
7d8891f057 Instead of directly using CL_RemovePlayer, do a silly loop around
Hopefully I don't have to keep this, just have to see if it works
2018-09-30 12:12:12 -04:00
TehRealSalt
d705d2a606 Temporary testing measure
set splitscreen = 3 on host or connect
2018-09-30 11:22:56 -04:00
TehRealSalt
f858b2aa11 RIP, didn't commit this 2018-09-30 11:22:31 -04:00