Commit graph

492 commits

Author SHA1 Message Date
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
5603f721cd Don't scale player arrows in splitscreen 2018-10-02 01:28:48 -04:00
TehRealSalt
1289c84af6 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
9b245c7bef Minor splitscreen+netgame fixes
Mainly related to drawing Battle arrows or Hyudoro
2018-09-30 01:23:59 -04:00
toaster
dd5247811f Experimental: Making the ghetto waypoints we have right now their own mobj list in order to make them slightly less bullshit 2018-09-29 20:28:27 +01:00
TehRealSalt
a967a8990a 1 more fix 2018-09-27 17:21:06 -04:00
TehRealSalt
40f887fc7e Scale fixes 2018-09-27 17:17:04 -04:00
toaster
3b5f195973 Spring *panels* now use sfx_kc2f again (but pogo spring *items* still do sfx_kpogos, in case you were worried). 2018-09-27 18:32:07 +01:00
toaster
b12c2516ec Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop
# Conflicts:
#	src/dehacked.c
#	src/info.c
#	src/info.h
2018-09-23 11:47:29 +01:00
TehRealSalt
a32f87fab2 New sparkles 2018-09-22 19:55:26 -04:00
TehRealSalt
67e1e9aab3 Set nogravity on landing
Means you can't have a finishline that moves up and down, but eh, thinking this might help the fallback measure disappearing
2018-09-22 19:03:38 -04:00
TehRealSalt
e6db552945 Better particle spread 2018-09-22 19:00:30 -04:00
toaster
ae002fa578 Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop
# Conflicts:
#	src/sounds.c
#	src/sounds.h
2018-09-22 23:11:14 +01:00
TehRealSalt
2e0365645e Merge branch 'master' into this-is-a-sign 2018-09-22 17:58:35 -04:00
TehRealSalt
fef5ec005f Different timings 2018-09-21 19:44:14 -04:00
TehRealSalt
932572abf8 Address review
- Reduced states
- Metal Sonic on sign roulette
- Landing sound
- New falling sound
2018-09-21 18:40:18 -04: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
TehRealSalt
32ad050de8 Prevent signs from disappearing 2018-09-21 15:37:30 -04:00
mazmazz
23acc47b39 nodigimusic nomusic nosound -> digital_disabled midi_disabled sound_disabled
(cherry picked from commit 07738fb0bcf640a4349337373f451fe68e024b2a)
2018-09-14 10:35:51 -04:00
mazmazz
b1993b87a9 P_SpawnMapThing: Ignore MTF_ flags if MT_NIGHTSBUMPER
(cherry picked from commit d85f108997bfeca3e0b1731c1aad70617456400b)
2018-09-14 08:52:10 -04:00
mazmazz
619c218702 MT_NIGHTSBUMPER Spawn: Don't reset mthing->options
(cherry picked from commit dc9fd6f02ed4b681ed4982d119672f07cc91e585)
2018-09-14 08:52:10 -04:00
TehRealSalt
cf3b58f68d Delay falling, longer exit timer 2018-09-13 19:13:43 -04:00
TehRealSalt
3b1c1e9dbd This is a sign
Signpost with the face of the person in 1st falls down at a pre-determined location on race finish (or at the finishing player if none is found)
2018-09-13 17:42:34 -04:00
toaster
e342315ca8 Fix a potential crash vector in the shadows code. (It DEFINITELY crashed when I was testing the thunder shield, for example.) 2018-09-13 20:41:37 +01:00
toaster
45455ca35b Thunder shield stuff!
* Slightly bigger visual size!
	* Light-shadow!
	* Makes player fullbright if you have it!
	* Visuals finally removed instantly on shield drop!
	* Uses dark background for item icons!
	* Goes behind the player on some frames, faking layering!
2018-09-13 19:01:36 +01:00
toaster
63f990e6f2 Bugfix sad chao jumping in their sad state 2018-09-13 14:40:50 +01:00
toaster
fd679bd2aa * Chao audience!
* Replaces the CZ64-era hopping Mario guys.
	* ~50% randomised colours!
	* 1/9 are FANS!
		* On mapload, some Chao select a random player in the server (even spectators) as their idol.
		* The fans cheer for their idol when they cross the finish line in a winning position!
		* They also sob when their idol loses.
	* The remaining percentage are the canon Aqua.
* Minor on-field spikeball/fake radius alterations requested by Oni.
2018-09-12 19:03:45 +01:00
toaster
16caa08ddd Merge branch 'sal-misc' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop
# Conflicts:
#	src/info.c
#	src/sounds.c
#	src/sounds.h
2018-09-12 15:04:53 +01:00
TehRealSalt
50826ef634 New drift sparks 2018-09-11 19:52:00 -04:00
TehRealSalt
be6d4342b9 Make Battle arrows consistent w/ the flashing item change earlier
Should make Hyudoro even more amazing in Battle, since you can tell which held items are off-limits~
2018-09-10 03:17:15 -04:00
toaster
d8f445f456 * Slightly more papersprite stability!
* Slightly more sane Minecraft item scaling!
2018-09-07 14:26:00 +01:00
toaster
34a54b10a8 Merge branch 'sal-misc' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop
# Conflicts:
#	src/info.c
2018-09-07 13:34:01 +01:00
TehRealSalt
1a7a84f614 Placeholder boost effect 2018-09-06 23:49:51 -04:00
toaster
bc9fe026fa Merge branch 'sal-misc' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop 2018-09-06 22:18:54 +01:00
toaster
99fd66fb6d Dropping items!
* Shield Drop...
	* Whatever you've got orbiting or trailing you, DROP THEM WHERE THEY STAND. (Except for the ghost sink. That one's OK.)
	* Pops your Thunder Shield.
	* Happens upon ANY hit, except for deathpits.
* HUD Drop...
	* Also does the above, except for the Thunder Shield thing.
	* If there's any item left in your item box, pop it out as a little hovering, rotating Minecraft item!
	* You can pick up the Minecraft item by driving over it if your item box is sufficiently empty, or the item which is contained within it is of the same type.
	* Happens upon Size Down and battle elimination.
	* Can also be forced on with `cv_kartdebughuddrop on`!
* Some other random stuff.
	* Fix a bunch of `a->scale = b`'s into `P_SetScale(a, b)` form, for maximum validity.
	* Make K_CleanHnextList and K_UpdateHnextList one function, since they only differed by one continue clause (and the type of their input parameter).
	* Allow shrunken players to pick up item boxes again.
	* Fix MF_NOCLIPTHING. (Gonna pass this fix to vanilla when I get the chance, too.)
	* Break NiGHTS a little through my machinations.
2018-09-06 22:17:29 +01:00
TehRealSalt
50f8186651 Player arrows can show x10
Requires new patch.kart
2018-09-06 16:06:37 -04:00
TehRealSalt
147f4520ec Addressed some of Chrome's thoughts
- Don't drag
- Shield isn't visible to anyone but yourself
- Projectile is twice as heavy
2018-09-04 19:58:20 -04:00
TehRealSalt
7012d94f15 Ghost sink "shield"
Sink shield that makes it double-press to use, gives the trailing item slowdown, and shows other people that you have it, but doesn't have any collision
2018-09-04 19:14:44 -04:00
TehRealSalt
5fa2ffd26e Jawz reticule 2018-08-30 19:24:22 -04:00
toaster
5a1e52ba33 Overlays and rings now properly handle encore-ness, in that they are sans encore (most of the time).
... :V
2018-08-30 13:13:25 +01:00
toaster
2a17839c24 Merge branch 'sonicitems' into encore 2018-08-29 19:56:52 +01:00
TehRealSalt
b4f2a03e28 Merge branch 'sonicitems' into sal-misc 2018-08-27 21:08:39 -04:00
toaster
3e1d365091 Fix that thing where item boxes just wouldn't respawn in battle if you nabbed them all too quickly (which is very likely to happen in large netgames where we have the great fortune of playing on battal bowl). 2018-08-27 17:25:22 +01:00
TehRealSalt
82e018eb99 Correct remaining instances where step up/down scales with the object instead of the map 2018-08-27 01:07:44 -04:00
toaster
44c33561b5 Merge branch 'sonicitems' into encore 2018-08-26 12:45:02 +01:00
toaster
e564f76416 Dumbass copypaste rectified, stplyr is NOT valid in mobjthinker code. toaster, stop making commits to sonicitems 2018-08-26 12:27:45 +01:00
TehRealSalt
b7caeccda9 Merge branch 'sonicitems' into encore 2018-08-26 00:12:02 -04:00
toaster
9acd891394 No longer are orbiting/trailing objects in charge of removing themselves.
* They're clearly not quick enough at the job, since it causes a bunch of silly race conditions.
	* Instead, K_UpdateHnextList and K_CleanHnextList are in charge of removing them, which are called in the circumstances itemamount (and itemheld/eggmanheld) is changed.
	* Also, tweak a few places so that trailers AND orbiters can use the same system.
Also, some minor thingies.
	* Turn all the useless ```if (a) { A } else if (!a) { B }``` bullshit into ```if (a) { A } else { B }``` bullshit.
	* Fix up some minor inaccuracies in the playerarrow stuff that doesn't result in creating more sprites.
2018-08-24 15:14:18 +01:00
toaster
75e8f19f71 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
toaster
c331432c46 Merge branch 'sonicitems' into encore 2018-08-14 22:17:11 +01:00