Commit Graph

250 Commits

Author SHA1 Message Date
toasterbabe e05528e4a3 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions 2016-09-30 12:44:08 +01:00
toasterbabe 011af0daff Tweaks to some sections of the code that recognise what shields the player has. Specifically:
* introducing the new friend, SH_FORCEHP (which is used as a bitmask to get the extra hitpoints of a force-shield user)
* P_DamageMobj now considers the unimplemented shield constants as well as the implemented ones.
2016-09-30 12:15:22 +01:00
Inuyasha f1b8bfcfe7 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal into repeat-monitors
# Conflicts:
#	src/info.c
#	src/p_map.c
2016-09-29 18:08:50 -07:00
toasterbabe d6a404e1ef * On Mystic's reccomendation - an alternate method which has the direction to shoot off based on the direction you're moving, not the direction you're holding.
* When not pressing any direction, you now go backwards by default - to emphasise that this is primarily for defensive, not offensive, purposes.
* The camera can now handle the player going backwards without them going completely off-screen.
* Fixed some overzealous checks.
2016-09-30 00:34:17 +01:00
toasterbabe 3eb3caacd5 Tweaked the elemental shield's piercing ability. Specifically:
* The spinfire ring is now capable of damaging enemies. (god, what a terrible hack this is)
* When ground pounding, you now bounce off the floor a little bit to make the ability less spammable.
2016-09-29 21:25:15 +01:00
toasterbabe accd8bc5bd Minor fixes. Notably - no longer "deletes gravity" when hitting a slope mid-dash. 2016-09-29 20:36:08 +01:00
toasterbabe 35dda1cd72 Replaced the Force Shield's shitty drop dash I coded with a much more interesting and experimental ability.
* The Dodge Dash
* Allows you to dash - no control, no falling, no key response - for 2 + (number of extra shield hitpoints) tics.
* If you're holding movement keys down, you dash in the direction you're holding - otherwise, you dash directly forward.
* You're spinning (spindash spin, not jump spin) until your dash is over, then your momentum is cut down significantly and you end up in falling frames.
* It may not necessarily be super useful for Sonic, but it helps the other characters.
* http://gfycat.com/BogusFailingFritillarybutterfly
* http://gfycat.com/PoliticalIdealisticBallpython (outdated speed, shows any direction)
2016-09-29 20:02:58 +01:00
toasterbabe a8be1e6b7d Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions
# Conflicts:
#	src/d_player.h
#	src/p_inter.c
#	src/p_mobj.c
#	src/p_user.c
2016-09-27 18:24:53 +01:00
toasterbabe be0e898bae * Skin-controlled radius is no longer set each tic, only on skin change and player spawn.
* Camerascale, shieldscale, height and spinheight are now player attributes which are set to the skin attribute on skin change, not read directly from the skin.
* P_GetPlayerHeight and P_GetPlayerSpinHeight are now macros instead of functions.
* Extra protection against switching to a locked skin.
2016-09-25 18:21:52 +01:00
toasterbabe 9f69850c05 Basically seriously un-fucked the rope hang and zoom tube code from my experimentations (i just wanted to compare speed and distance and got carried away...) 2016-09-25 15:07:00 +01:00
Inuyasha 1a4b894589 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal into repeat-monitors
# Conflicts:
#	src/info.c
2016-09-24 23:05:01 -07:00
toasterbabe da1db42b14 Forgot some compilers would complain about this. 2016-09-24 13:39:04 +01:00
toasterbabe f933210c03 Let's simplify a lot of stuff. PF_CANCARRY instead of a horrible assortment of checks. 2016-09-24 13:18:08 +01:00
toasterbabe 41b4d9c565 Fixed carry bug that I introduced a while ago. 2016-09-24 12:06:00 +01:00
toasterbabe 1de32b3dac Fixed my mistake with static rope hangs.
Also, the same smoothness changes have been ported over to zoom tubes!
2016-09-24 00:37:18 +01:00
toasterbabe e16648a72b Introducing player->powers[pw_carry]! Also, I made rope hangs a lot smoother.
* PF_ITEMHANG -> CR_GENERIC
* PF_CARRIED -> CR_PLAYER
* (mo->tracer == MT_TUBEWAYPOINT) -> CR_ZOOMTUBE
* PF_ROPEHANG -> CR_ROPEHANG
* PF_MACESPIN -> CR_MACESPIN
2016-09-23 23:48:48 +01:00
toasterbabe dcb82c292a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into s_skinprovements 2016-09-12 19:23:44 +01:00
toasterbabe ba78dda276 Just noticed when poking around in dashmodecode that it didn't actually get stopped from running when you were playing in CTF! 2016-09-10 22:44:28 +01:00
toasterbabe cd0c2347df Ditto with regards to glideandclimb. 2016-09-10 21:13:51 +01:00
toasterbabe f844fb3460 More strenous checking of ability for these animations in preparation for something I wanna try... 2016-09-10 21:00:57 +01:00
toasterbabe fb377ad44f Minor tweaks to animations and endsigns. 2016-09-08 17:48:54 +01:00
toasterbabe 941bf8eb03 Corrected multiple oversights with swimming players dropping their friends when they shouldn't. 2016-09-08 14:38:57 +01:00
Monster Iestyn 31b9e762e1 Merge branch 'public_next'
# Conflicts:
#	src/p_mobj.c
2016-09-05 21:28:43 +01:00
toasterbabe 0333c9db94 P_MobjCheckWater now properly accounts for changing heights (skin non-spin height for players, mobj height otherwise) instead of mobj info height.
Also, the particles made via spindashing in shallow water are now located behind the player. This does move the running particles too, but that's okay.
2016-09-03 20:00:29 +01:00
toasterbabe c11d8da3a3 No need to check for under/overflow outside of the spindash code, let's just start at the mindash and not add power if you're over instead. 2016-09-03 16:20:04 +01:00
toasterbabe 2cee8c1a8d SORRY, I SHOULDN'T HAVE PUSHED THE PREVIOUS THING
Revert "Revert "Revitem is saved by tying it to leveltime instead of dashtime, whilst dashtime is now dead.""

This reverts commit 58f815ddbc.
2016-09-03 16:05:58 +01:00
toasterbabe 58f815ddbc Revert "Revitem is saved by tying it to leveltime instead of dashtime, whilst dashtime is now dead."
This reverts commit 0852a20014.
2016-09-03 15:51:38 +01:00
Monster Iestyn 8f02c50c10 Fix players and pushables not accounting for slopes on bustable FOFs 2016-09-02 21:41:45 +01:00
toasterbabe 0852a20014 Revitem is saved by tying it to leveltime instead of dashtime, whilst dashtime is now dead. 2016-09-02 18:12:46 +01:00
toasterbabe 73843764de Some more spindash changes. NOTE that this temporarily breaks the charging aura; if we want to, we can either kill that entirely or re-enable it - but none of the main characters are using it, and Lua makes having a dedicated charging aura irrelevant if the main characters don't use it...
* Spindash sound only plays six times during the charge, equally spaced up until you finish charging.
* Spindash animation speed increase rebalanced.
2016-09-02 17:27:39 +01:00
Monster Iestyn eae47c9808 Fix Knuckles in 2D mode attempting to latch onto air when gliding into a slope. Now he just attempts to latch onto the slope directly (which I'll fix another time, if I can figure out how)
(fix for SUGOI's Retro Hill Zone)
2016-09-01 21:21:20 +01:00
toasterbabe 42d527a955 Did a few things with spindashing:
* Fixed bug where being pushed off a platform whilst charging a spindash would leave you in your charging frames instead of your rolling ones when you hit the ground (http://gfycat.com/MassiveThreadbareItalianbrownbear for how it works now, http://gfycat.com/MarvelousEnlightenedAuk is how it used to work)
* Fixed bug where spindashing on top of a bubble spawnpoint led to you being able to move around in spindash frames (no gif since obvious desired behaviour is obvious)
* Spindash animation speeds up the faster you'll shoot off.
* The spin charging mechanism is now scale-independent, and only multiplies by scale when shooting off - less FixedMul calls, and potentially deals with weird quirks of changing scale whilst spindashing that nobody's discovered because there's no place to find that in the main game!

Also:

* Climbing animation defaults to rolling instead of walking, because what.
2016-08-30 15:00:01 +01:00
toasterbabe 8d8be8a7b2 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into s_skinprovements 2016-08-30 13:30:56 +01:00
Monster Iestyn 541c53c3e1 Merge branch 'public_next' 2016-08-27 15:49:32 +01:00
toasterbabe f34a28e80e Removed a hack that caused the groundpound spinfire to hurt you if you lost your shield. 2016-08-21 13:55:16 +01:00
toasterbabe 67f8a1295e Couldn't justify my hack in the long run, so it's back to adding and removing MF_NOCLIPTHING instead of the player pointer.
I DID make some steps towards re-implementing PIT_CheckThing for solids only in order to replace the hack long-term and hopefully use less CPU, but is currently disabled via #if 0 since I'm not comfortable changing the function signature of P_CheckPosition right now.
2016-08-16 17:49:20 +01:00
toasterbabe 612575620b Solved the climbing-on-one-sided-lines problem another way, using the last touched line's attributes.
(After talking to Alam, we can't have floats anywhere near P_ functions, so.)
2016-08-13 14:16:06 +01:00
toasterbabe 9e38f44f34 Rob requested a reversion of the NiGHTS camera changes on exiting the level, so here we go. 2016-08-12 21:24:17 +01:00
toasterbabe de77dc4413 Fixed a bug where NiGHTS form didn't properly account for changing skins mid-flight (devmode, maybe mp if standing on ground - haven't checked there)
Also as a consequence, DEFAULTNIGHTSSKIN is #defined in r_things.h instead of p_user.c.
2016-08-12 19:18:50 +01:00
toasterbabe 8b519631f8 * Keep the camera still when ending a NiGHTS map. http://gfycat.com/ComplicatedComposedAoudad
* Correcting an earlier oversight with the SPR2_ defaulting system for super forms.
2016-08-12 15:40:17 +01:00
toasterbabe 9c02c81095 Now that it's not 3am, here's some fixes to what I pushed last night.
* That hacky anti-NiGHTS-deaxisment code I commented out because I thought it was visual only? Reimplemented in a way that is both more and less hacky. It's identical in result to the original code, but takes a roundabout method to get there.
* Sprite references for SUPE, SUPZ and NDRL are removed because they are now unused.
* Helper's flashing conditional is restructured to do less flag swapping.
* The check for super setting FF_FULLBRIGHT is limited to MAXTRANSLATIONS now, and also correctly takes into account MAXSKINCOLORS == SKINCOLOR_SUPERSILVER1.
* NiGHTS collision bounds aren't hardcoded anymore.
* NiGHTS link will never display when leaving stage.
* Slightly tweaked rules for the supercolor setting when doing a NiGHTS transformation, but only meaningful for setting FF_FULLBRIGHT.
2016-08-12 14:42:22 +01:00
toasterbabe 0c3256fa14 NiGHTS is now spr2-ised. i'll upload the relevant files and etc to the ftp
* if you can turn SF_SUPER, flash your skin's supercolor, otherwise be your normal color
* if your skin doesn't have a SPR2_NGT0 (horizontal fly), use Sonic's (this will hopefully be replaced by 2.2 with sprites of NiGHTS themselves)
* MT_NIGHTSCHAR made irrelevant, everything follows actor->target instead of actor->target->tracer now
* emerald is now player->mo->tracer instead of player->mo->tracer->target
* nightopian helpers flash for the 35 tics before they disappear
* nights capsule makes boss explosions/noises now (i can change it back i just like it better)
* drill off into the sky instead of fly up in floating pose (but no noise yet)

ALSO:
* default maxdash is now 70
* forgot to add supercolor to lua, it is there now
* SPR2_SMSL renamed to SPR2_SSTN (stun)
* any player with a skincolor that's in the super range is set to FF_FULLBRIGHT at state-set time, so no need to keep super players non-fullbright just because they use spin stuff
2016-08-12 02:57:37 +01:00
toasterbabe 8f5258fc22 Two changes to the supercolor stuff.
* Don't allow arbitrary numbers to be used for a skin's supercolor, only strings.
* Devmode is no fun allowed mode, so turn off the god hyper flash there.
2016-08-10 20:31:18 +01:00
toasterbabe 810e1ec041 SUPERCOLOR BONANZA COMMIT.
* Several new supercolours.
	- SKINCOLOR_SUPERSILVER1-5 (for fun) - "Silver"
	- SKINCOLOR_SUPERPERIDOT1-5 (nyeheheh) - "Peridot"
	- SKINCOLOR_SUPERCYAN1-5 (for fun) - "Cyan"
	- SKINCOLOR_SUPERPURPLE1-5 (for fun) - "Purple"
	- SKINCOLOR_SUPERRUST1-5 (mecha/metal sonic) - "Rust"
	- SKINCOLOR_SUPERTAN1-5 (shadow/silver the hedgehog) - "Tan"
* SKINCOLOR_SUPER1-5 renamed to SKINCOLOR_SUPERGOLD1-5, one index for darkest is changed - "Gold"
* SKINCOLOR_TSUPER1-5 renamed to SKINCOLOR_SUPERORANGE1-5, ported properly to the new palette - "Orange"
* SKINCOLOR_KSUPER1-5 renamed to SKINCOLOR_SUPERRED1-5, ported properly to the new palette - "Red"

* new S_SKIN attribute - supercolor - uses an entirely different function to get the names (R_GetSuperColorByName instead of R_GetColorByName)

* a fun little secret - typing "god on" in the console whilst super makes the player hyper (visual only, no sparkles - just rainbow flash) - can be removed if no fun is allowed
2016-08-10 19:48:20 +01:00
toasterbabe bc7389327a Mario invincibility colours now span solely the saturated colours (no white to black, no peach, no brown) 2016-08-09 13:59:31 +01:00
toasterbabe c678220857 New S_SKIN attribute - "camerascale", another float. Acts as a scale modifier to t_cam_dist and t_cam_height. 2016-08-06 23:18:37 +01:00
toasterbabe ad03bb5278 Force Shield's air ability is now the Drop Dash (thanks, Sonic Mania, for making me like the momentum redirection idea by recontextualising it to collision with the ground only!)
* Press spin in midair to make the shield flash solid repeatedly and make a number of ding noises.
* When the player with a flashing, dinging shield hits the ground, they are sent off in spinning form at the maximum of 2*abs(momz) VS the 3D hypotenuse of momx, momy, and momz.
2016-07-23 18:25:51 +01:00
toasterbabe ac2ff5e386 CA_MELEE. Mostly complete.
* When moving slowly, P_InstaThrust at S_SKIN's maxdash forward, and set momz to S_SKIN's mindash upwards. Plays a tok noise (not thok). Hurts enemies/bosses, busts spikes/monitors/all types of bustable blocks.
* When moving quickly... doesn't do anything yet, but WILL do a slide.

Also, P_DoSpinDash is now renamed to P_DoSpinAbility, and CA_TWINSPIN users can bust all bustable blocks on collision too.
2016-07-17 21:31:15 +01:00
toasterbabe 4168fc02cb Decided the forcing of S_PLAY_FALL when PF_THOKKED was present wasn't that great. 2016-07-17 18:57:03 +01:00
toasterbabe 4bd56b82be Better multiability support.
* CA_TWINSPIN - you can do it multiple times
* CA_DOUBLEJUMP - your jump height is reduced each time, like in Kirby games. The number of extra jumps once you've left the ground that are available is determined by the character's actionspd.
2016-07-17 17:41:44 +01:00