Commit graph

183 commits

Author SHA1 Message Date
Sal
b8d86bb096 Merge branch 'thinkerclean' into 'master'
Nuke a bunch of iteration things that have no purpose in SRB2Kart.

See merge request KartKrew/Kart!25
2018-10-07 23:14:53 -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
toaster
7f5b5ecb60 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
80bc266f3f Merge branch 'master' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop
# Conflicts:
#	src/info.c
#	src/k_kart.c
2018-09-21 21:05:47 +01:00
TehRealSalt
5ec79afad6 Grow/Shrink fixed min speed 2018-09-15 01:29:38 -04:00
toaster
10be7e1a52 Merge branch 'sal-misc' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop 2018-09-07 00:31:02 +01:00
TehRealSalt
34d27b06e0 Revert "Wrote a new function for MT_SOLID object bumping"
This reverts commit b4aa01ed61.
2018-09-06 19:27:07 -04:00
toaster
6052573549 Merge branch 'sal-misc' of https://git.magicalgirl.moe/KartKrew/Kart.git into itemdrop 2018-09-06 22:18:54 +01:00
toaster
4de68f7fe2 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
b4aa01ed61 Wrote a new function for MT_SOLID object bumping
A lot more similar to the code used for player wall bumping, and is much less likely for you to just... pass through the object if you keep trying hard enough.

Also, falling rocks get pushed aside by invinicible players with no resistance.
2018-09-06 11:49:58 -04:00
TehRealSalt
70b9f49c94 Move wall sector type to from Section1:14 to Section1:12
The SMK maps will probably need an update
2018-09-02 20:57:40 -04:00
TehRealSalt
ea8465cc61 Karma players can bump again 2018-08-30 21:32:24 -04:00
TehRealSalt
9d514f2f98 Remove use of a duplicated sound 2018-08-30 17:50:47 -04:00
TehRealSalt
14ccdb0dcf Last touches for smk maps
- different min/max on capped spring pads
- turn the normally almost-useless "non-ramp sector" type into "wall sector", which disables both stepup AND stepdown instead of just stepdown
2018-08-27 18:09:32 -04:00
TehRealSalt
6fdb743a59 Correct remaining instances where step up/down scales with the object instead of the map 2018-08-27 01:07:44 -04:00
TehRealSalt
b9d55765e9 Spring jump changes for Grow & Shrink
All spring jump issues on the sheet are fixed now.
2018-08-23 12:53:29 -04:00
SeventhSentinel
6fa4c27bf6 fakes use MF_SPECIAL, no longer destroyable 2018-08-12 11:04:36 -04:00
SeventhSentinel
82343719e2 fixed n blame 2018-08-11 20:54:08 -04:00
SeventhSentinel
cde54211c2 eggman
broken
2018-08-11 20:19:09 -04:00
TehRealSalt
f9e5a11060 - Instashield on failed damge
- Ballhog explosion separated onto another sprite
- Disabled banana jitter
2018-07-26 20:12:42 -04:00
TehRealSalt
b42d083b99 Finishing touches on Ballhog
- Ballhog has explosion + sound on death
- Ballhog shrinks to nothing if it didn't hit anything
- Replaced a Mario sound on Orbinaut
- Fixed Jawz's sound effect
- Fixed Mines not being removed on death pits
2018-07-24 22:47:09 -04:00
TehRealSalt
f820733d9b Orbinaut 2018-07-22 20:55:18 -04:00
TehRealSalt
584082882c More tweaking
- Getting wipeout bumped into offroad slows you down
- Orbinaut & Jawz are relative to your weight (Jawz is heavier), via new function K_GetMobjWeight
- Reorangized where K_KartBouncing is called so that wipeout changes don't affect Eggman Items
2018-07-20 16:13:02 -04:00
TehRealSalt
d25cb1aa56 Wipeout bumps
- You can bump other people during spinout.
- Bumping during spinout activates a "slow down" timer, which increases your friction after a few tics.
- You have a Smash-style dust effect after a spinout bump, indicating clearly if you'll slow down or not.
2018-07-19 22:37:32 -04:00
TehRealSalt
983a9dbd60 Use simpler logic for squishing other players
Instead of comparing k_growshrinktimer in awkward ways, just make sure the squishing player's scale is high enough above the victim's scale. This way, we can allow shrunk players to bump other shrunk players, and grown players to bump other grown players.
2018-07-19 01:11:21 -04:00
TehRealSalt
f6e5571948 Chao's requests 2018-07-16 21:27:50 -04:00
TehRealSalt
6574e1f0fc Shrink debug command, trailing items spawn directly on players, rainbow win 1 is more faithful, make springs more powerful for shrunk players, correct Grow/Shrink fullbright frame 2018-07-12 01:31:33 -04:00
TehRealSalt
82734fcf94 Banana drag slowdown, diagonal springs scale to map scale instead of object's scale, OGL skincolors average all colors 2018-07-04 19:06:45 -04:00
SeventhSentinel
80c2b56927 Changed all instances of "balloon" to "bumper"
Also changed "It's you!" to "Select character & color..."
2018-07-03 15:14:47 -04:00
TehRealSalt
5c7b66cc0f WANTED 2018-07-01 04:36:09 -04:00
SeventhSentinel
bd5c2d0720 Use patch.kart instead, almost finished Ballhog 2018-06-27 10:10:53 -04:00
SeventhSentinel
501bfae9ac Revert MT_FIREBALL to vanilla, remove MT_FIRETRAIL, MT_BALLHOG added, bigger Jawz explosions 2018-06-25 17:12:01 -04:00
SeventhSentinel
7fdc9c8035 Intro camera can noclip, fix several compile errors 2018-06-25 09:18:30 -04:00
SeventhSentinel
18b3d2d14c Spinout type is now passed through K_SpinPlayer
This means we don't have to reset spinouttype's value immediately after using it, which means no more wipeout timer garbage.
2018-06-25 06:58:23 -04:00
TehRealSalt
a8aec0b9e1 Hundreds of tweaks
- SPB multiplier depending on 1st-2nd distance
- Removed the Battle-only k_poweritemtimer (hold over from when you could easily get invuln items all of the time), replaced it with a 2 invincibility item cap in ALL modes.
- Spinout is affected by boosters, *properly*
- Can no longer strafe while spinning out on speed bumps
- Messed with how other items interact with speed bumps, again.
- Old bounce code has been ported for non-players
- Fixed Karma players being able to do anything after the round has ended.
- Fixed sneaker and spinout timer weirdness
- Fixed Mines still being hold-use
- Fixed rubber-burn turn not working
- Removed redundant k_spinout and unused k_boosting variables
- Filled out the Color_Opposite table with Kart's new colors. Not really relevant right now (besides some extra Lua functionality) since nothing uses it, but will be nice for if we do the signpost from the sky idea.
2018-06-19 20:20:06 -04:00
TehRealSalt
612b2a151f Misc tweaks just about everywhere
- More Jawz states for later
- Jawz orbit their user in the right direction now.
- Banana trails made closer to each other
- wheels.lua hardcoded
- All held items take a double press, for consistency.
- Fixed Karma Items not being able to be collected by invincibility or hyudoro users
2018-06-18 00:42:53 -04:00
TehRealSalt
98c6d0f6d9 Redid how karma bombs/items work. Again
The overlay object now has a hitbox which handles all of the item giving/bombing code, and no longer takes up the player's tracer. This is to give them a bigger hitbox without any bad side-effects of changing the player's hitbox directly (shadow size). Should make bombing more useful, and just sliiiightly less missed high-fives from items.
2018-06-16 00:00:46 -04:00
TehRealSalt
b71471d1ba More poof 2018-06-15 03:45:59 -04:00
TehRealSalt
9b3751b30c Merge branch 'master' into sonicitems 2018-06-07 19:39:45 -04:00
TehRealSalt
14caf66567 MFE_JUSTBOUNCEDWALL
Hopefully, this should prevent instances where shells/Oni get caught on walls.
2018-06-04 23:23:52 -04:00
TehRealSalt
6d57d39e12 SUPER CHARGED KARMA ITEMS
They give equal chance on a lot of good shit, instead of the normal boring pool of items, mwahaha

(also calls P_CheckRacers when someone spectates)
2018-06-03 20:58:52 -04:00
TehRealSalt
8408b1fef4 Some Battle fixes and additions
- mapgotboxes is synched
- Karma bombs/items flash while spinning out
- Karma bombs have a sound + explosion when hitting someone
- Karma bombs can no longer attempt to attack a player that is flashing and have to WAIT... again
- Fixed MT_GREENITEM's bounce sound, after breaking from last commit (WHY ARE YOU ABUSING MARIO MODE SOUNDS, STOP, AGHH)
2018-06-03 20:11:08 -04:00
TehRealSalt
0906978a2a Remove collide debug stuff 2018-06-03 18:58:50 -04:00
TehRealSalt
bf3910cdca Incredibly rudimentary Jawz stuff 2018-05-31 20:51:05 -04:00
TehRealSalt
00e913bbcc Merge remote-tracking branch 'refs/remotes/origin/master' into sonicitems
# Conflicts:
#	src/k_kart.c
#	src/k_kart.h
#	src/lua_baselib.c
#	src/p_inter.c
#	src/p_spec.c
2018-03-31 00:44:03 -04:00
TehRealSalt
a10a068f15 zzzzz 2018-03-30 00:53:32 -04:00
TehRealSalt
e974b6e4b7 MK rules for Battle scoring
and quick fix for karma items
2018-03-30 00:53:25 -04:00
TehRealSalt
e16bf1cf75 WIP karma item stuff 2018-03-26 20:36:16 -04:00
TehRealSalt
ee977ca8db missed something 2018-03-14 16:37:42 -04:00
TehRealSalt
d99339ecd0 Merge remote-tracking branch 'refs/remotes/origin/master' into sonicitems
# Conflicts:
#	src/info.c
#	src/k_kart.c
#	src/p_enemy.c
#	src/p_inter.c
#	src/p_mobj.c
2018-03-14 16:12:15 -04:00