Commit graph

1441 commits

Author SHA1 Message Date
toasterbabe
7ac0373dbf After usability complaints:
* CA2_MELEE/CA_TWINSPIN combination abilities (ground hit, somersalt) disabled.
* Enabled movement controls whilst using CA2_MELEE in the air.
* CA2_GUNSLINGER no longer requires charging. In exchange, it involves a cooldown in which you can't move.
* CA2_GUNSLINGER lock-on distance improved, and aiming allowance reduced to compensate.
* Lots of cleanup/gravflip allowances for homing/targeting code.

* Unrelated: Flickies now properly face the direction they're supposed to when getting knocked out of the egg capsule.
* Unrelated: Thok trail fades like spindash trail now.
* Unrelated: Using CA_HOMINGATTACK when nowhere near an enemy uncurls you.
2017-03-21 16:04:49 +00:00
toasterbabe
a6f5357cbd * fixed spindash
* fixed whitespace
2017-03-21 02:06:24 +00:00
toasterbabe
59bc0da022 Introducing CA2_GUNSLINGER.
* Mildly hacky proof of concept! Will de-hack later.
* Charge up your ability!
* You can only damage others if it's at full power.
* Fires directly at enemies/bosses when at full power. Does NOT aim at players.
2017-03-21 00:54:47 +00:00
toasterbabe
ee74fa4042 * Changed how CA2_MELEE handles nocontrol to not tweak pw_nocontrol.
* Added CA_TWINSPIN/CA2_MELEE spring boosts.
* Made it so you can't land with CA2_MELEE twice.
* Fixed stray #endif from NiGHTS fixes.
2017-03-20 19:04:33 +00:00
toasterbabe
a4c1c3195f Cleanup.
* Fixed a major hack from when I SPR2ised NiGHTS by spawning in a null object.
* Made P_LookForEnemies better in preperation for the future.
* Changed some defaulting characteristics of P_GetMobjSprite2.
* Fixed CA_DOUBLEJUMP potentially counting as a float.
* Killed some extremely small boolean functions and replaced them with #defines.
2017-03-20 16:57:24 +00:00
toasterbabe
f0c364c71c For melee:
* Fixed underwater hop going too high.
* Added helpful comment.
* Changed animation speed.
2017-03-19 22:22:39 +00:00
toasterbabe
3a6f659b93 She's a lot more complete.
* Melee now has a proper weightiness to it with a landing frame.
* If you have twinspin too, do a somersalt when running and hitting the melee button.
* If you have melee, go into the melee landing frame when twinspinning into the ground.
2017-03-19 16:48:35 +00:00
toasterbabe
99f13c88ae Made jump damage flag application less hacky. 2017-03-18 21:06:06 +00:00
toasterbabe
95e4a23a69 pw_ingoop is now CR_BRAKGOOP because i can't stop refactoring CAN'T STOP WON'T STOP 2017-03-15 21:51:35 +00:00
toasterbabe
7aeeb278fe Increased space in pflags (because we were getting VERY close to full capacity), which I will re-organise when this branch is closer to completion.
* PF_NIGHTSMODE is now CR_NIGHTSMODE as part of player->powers[pw_carry]. This is because it's mutually exclusive to every other "carry" type.
* PF_SUPERREADY is dead because it literally just checked for all 7 emeralds and 50 rings. That's it. You couldn't even appreciably alter its presence with Lua. That logic has been placed back in P_SuperReady.
2017-03-14 18:11:17 +00:00
toasterbabe
b9ddc0226e Fixed a thing where super float started on the float frame normally and then immediately went to the float run frame a tic later. 2017-03-11 18:15:44 +00:00
toasterbabe
e20292844d * SPR2_DRL0-C are gone. They're now (FF_SPR2SUPER|SPR2_NGT0-C). This frees up a bunch of badly-used freeslots, considering that you can't be super AND NiGHTS at the same time.
* Speaking of, actively enforced not being able to be Super and NiGHTS at the same time.
* Also on that note - SPR2_TRNS is now the NiGHTS transformation. The Super transformation is (FF_SPR2SUPER|SPR2_TRNS).
* SPR2_NPAN is now SPR2_NSTN, since it matches Super Sonic's stun animation rather than the pain animation.
* Fixed a bunch of things where Super float was handled badly with 2AM brain.
* Fixed the R_ProjectSprite error going out of spr2names' bounds.
* Fixed order of FF's in dehackéd.
* Fixed that thing where Super Sonic was blue for 1 tic after transformation, and the life icon was a blue Super Sonic.
2017-03-11 17:14:39 +00:00
toasterbabe
75ac351940 It's 2am, I'll upload the exe and player.dta to the ftp later.
* Super sprites are now deliniated via an additional S_SUPER lump between S_START and S_END. Above are normal sprites, below are super sprites. Handled internally via FF_SPR2SUPER.
* Sprite2 numbers are now appropriately limited for the data type that stores them.
* SPR2_SPIN is now SPR2_ROLL, SPR2_DASH is now SPR2_SPIN and SPR2_PEEL is now SPR2_DASH. Makes more sense, right?
2017-03-11 02:09:01 +00:00
Monster Iestyn
6f2f244aef 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
2017-02-22 21:07:29 +00:00
toasterbabe
8cdcb2c416 * You can now bounce off of springs without unbouncing.
* You can now bounce off the bottom of goop areas.
* Fixed that long-standing bug where you could accelerate whilst rolling.
2017-02-09 23:24:47 +00:00
toasterbabe
7b4688732b * Float ability now properly stacks with dashmode.
* Corrected a scenario where you could get a CTF flag mid-dashmode and have dashmode properties forever.
2017-02-08 16:46:16 +00:00
toasterbabe
aa6f170daf Spindash averaging experiment. Much nicer - and clearly communicates the forcing of direction - a little better than the instant jump. 2017-02-08 12:51:31 +00:00
toasterbabe
a684f2ee7b Fix for ghosts and thok items. 2017-02-08 12:29:45 +00:00
toasterbabe
b2de969d52 Refactor. 2017-02-07 13:13:03 +00:00
toasterbabe
66d160be43 On second thoughts, this is better. 2017-02-07 10:55:42 +00:00
toasterbabe
32084502ce This makes more sense. 2017-02-07 10:41:46 +00:00
toasterbabe
006d25eaac * On Mystic's request, tweak to conditions to always show immediate feedback for everything except thokking.
* Melee attack hotfix.
2017-02-06 23:34:19 +00:00
toasterbabe
0e40299f3e Replace hacky flag abuse with timer (which can be used later when developing pushing sprites). 2017-02-06 20:36:21 +00:00
toasterbabe
61ec599830 * Handles spindash, etc better.
* Handled better up against walls.
* Now always catches thok and thoklikes.
2017-02-06 20:19:17 +00:00
toasterbabe
371940205b ICE PHYSICS FUN https://gfycat.com/ActualComplicatedBonobo 2017-02-06 18:11:33 +00:00
toasterbabe
90f7ae0188 * Handle more missing cases where it should've been forced - namely analog mode, shield abilities, and waterslides
* Have special handling for carrying.
* Use rmom* instead of mom* - so conveyors are handled properly
2017-02-06 17:31:48 +00:00
toasterbabe
260b461c39 Drawangle.
Mystic wanted it, just play it - too busy to give proper commit description. Will outline everything it is in the merge request when that happens.
2017-02-05 18:15:20 +00:00
toasterbabe
abc218de38 I am bad at conditions. 2017-02-04 21:41:43 +00:00
toasterbabe
5170fafcac * CA_BOUNCE is now more pleasant to control.
* CA_MELEE can now break downwards like CA_BOUNCE, and CA_TWINSPIN can break both up and downwards.
2017-02-04 18:25:16 +00:00
toasterbabe
ba652864a6 Revamped roll-on-landing to work even from jumping, for the purposes of slopes! (But not from PF_THOKKED.)
Salt has wanted this for a while, and this was the only branch I had open which it was appropriate for. :P
2017-02-04 17:08:14 +00:00
toasterbabe
c04ee6bfb7 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3 2017-02-04 15:19:02 +00:00
Monster Iestyn
921b57e904 Merge branch 'slopewall_transfer' into 'master'
Slopewall transfer

As @Nev3r wants. Go along a slope, hit a wall? LAUNCH! Well, I mean. He wants it slightly less weak. I have already made it less weak than P_SlopeLaunch.

Also also I made the trail that goes behind the player when they're rolling take into account vertical momentum as well as horizontal, so that being launched directly up didn't leave you trailless.

Test with <root>/!LatestSRB2Files/srb2win_branch_transfer.exe and <root>/Nev3r/ACZMaster.wad (roll down slope directly in front of you).

See merge request !66
2017-01-25 12:30:20 -05:00
toasterbabe
91cbeb5e1a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into patch_hardcode 2017-01-25 12:24:09 +00:00
toasterbabe
12da89b1ce Late night commit!
* Seriously reworked a lot of stuff behind the scenes, thanks to Red's comments.
* More consistent behaviour.
* Launching power is now scaled to the slope's angle relative to the wall you hit, so no massive launches when you hit the side of a steep slope.
* The code is a lot messier and the function name doesn't make any sense any more, so I need to clean that up in the morning.
* Need to figure out how to prevent tiny launches that uncurl you when spindashing up against walls.
* Spindashing trails now takes into account vertical momentum as well as horizontal - it was stupid not seeing your spintrail just because you weren't moving very fast horizontally!

No exe uploaded because it's almost 2am.
2017-01-23 01:40:11 +00:00
toasterbabe
399a6c1d47 * ALMOST SORTA IMPLEMENTED A NON-HACKY SPINNING FLAMEJET. For some reason, they wanna step down onto the platform - and I've been figuring this out for too long to see what's causing that tonight.
* Hardcoded a bunch of stuff from patch.dta. All works fine, but still more to do.
2017-01-21 01:09:39 +00:00
toasterbabe
da42165169 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_alignment_revamp 2017-01-16 17:14:58 +00:00
toasterbabe
38c7436565 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3
# Conflicts:
#	src/d_clisrv.c
2017-01-09 11:10:47 +00:00
toasterbabe
ebd436bf2f Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into touching_fixes 2017-01-02 17:58:47 +00:00
toasterbabe
311886e582 * Ported in all of the Flickies from flickiesreduced8.wad except for the Flicker and seed.
* Fixed a crash bug in the Flicky fly function I introduced sleepily last night.
2016-12-31 16:55:06 +00:00
toasterbabe
5164ee7fc9 Fun gameplay tweak: Turn CA_FLOAT into a limited CA_SLOWFALL when moving slowly, to double down on it being for speedrun characters and punishing slowing down. Rob-approved. 2016-12-24 22:23:34 +00:00
toasterbabe
578b809557 * Turned CA_DASHMODE into SF_DASHMODE.
* SF_DASHMODE users can now dash on water.
* Gave CA_HOVER its own states/sprite2s.
* Gave Super Sonic's hover his own hover-run state/sprite2.
2016-12-24 20:57:39 +00:00
toasterbabe
102f26182b * Tweaks to CA_BOUNCE.
* Tweaks to drowning number placement for altered sizes.
2016-12-24 14:23:11 +00:00
toasterbabe
942065ba9f * CA_BOUNCE users now play animation/sound when bouncing on enemies, monitors.
* CA_BOUNCE users harmlessly bounce off Sharps.
2016-12-24 13:17:53 +00:00
toasterbabe
a61f5e4521 * CA_BOUNCE can now break downwards. 2016-12-23 23:58:12 +00:00
toasterbabe
0a7fe9569d * Fixed issue where CA_BOUNCE users can harmlessly bounce on deathpits (and not Cakewalk style!)
* Minor quality-of-life improvements to CA_BOUNCE handling.
2016-12-23 23:13:31 +00:00
toasterbabe
10a137620a First commit, CA_BOUNCE almost completed. 2016-12-23 17:31:07 +00:00
toasterbabe
d8d5f31898 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions 2016-12-13 22:03:59 +00:00
Monster Iestyn
6f8969aec0 Merge branch 'spindash-dust' into 'master'
Spindash dust

Charging a spindash kicks up dust, we all know this feature was dying to get in at some point. Bubble and flame forms of spin dust are included from FSonic, for underwater and elemental respectively.

Oh, and as a bonus I reorganised the spindash/spinning/other ability2 stuff code to look a bit neater and more organised.

New resources:
* MT_SPINDUST - the object
* S_SPINDUST1 to 4 - the normal form's states
* S_SPINDUST_BUBBLE1 to 4 - the bubble form's states
* S_SPINDUST_FIRE1 to 4 - the bubble form's states
* SPR_DUST - the normal form's sprite set (uses frames A to D, just pinch FSonic's sprites really)
* SPR_FPRT - the flame form's sprite set (frame A only)

SF_NOSPINDASHDUST disables spindash dust for a character

See merge request !52
2016-12-13 15:15:33 -05:00
toasterbabe
c833497d39 Correcting slip-up I made when originally improving zoom tubes. 2016-12-01 14:40:58 +00:00
toasterbabe
02d78b355b Smoother ropes and zoom tubes ported from internal. 2016-12-01 14:33:44 +00:00
toasterbabe
095a438e9e * Super float now back on spin button, again takes precedence over shield actives.
* Fixed BIG mistake where ShieldSpecial hook bailed out of the entire function instead of just the shield section.
2016-11-24 14:29:29 +00:00
toasterbabe
1424c3f6cd Regardless of what I'm doing next, this removal of limits in this place still should've been done a while ago. 2016-11-23 22:20:47 +00:00
toasterbabe
e34ef54166 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_alignment_revamp
# Conflicts:
#	src/info.c
#	src/p_mobj.c
2016-11-20 19:21:10 +00:00
toasterbabe
85fb02aaf6 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions
# Conflicts:
#	src/p_inter.c
#	src/p_user.c
#	src/st_stuff.c
2016-11-20 16:44:38 +00:00
Monster Iestyn
6e70acc82d Added SF_NOSPINDASHDUST to disable spindash dust 2016-11-13 22:33:57 +00:00
Monster Iestyn
c81665b9af Added flame version 2016-11-13 22:02:29 +00:00
Monster Iestyn
47c67472ff Added bubble form of spin dust 2016-11-10 21:09:05 +00:00
Monster Iestyn
ce97c1e986 Added basic spindash dust
Also cleaned up some of the code in P_DoSpinAbility while I was at it
2016-11-10 17:51:10 +00:00
toasterbabe
e67f48df83 Forgot to revert the other files. 2016-11-02 20:35:53 +00:00
toasterbabe
d21b091b96 * Slope/gravity support for quicksand complete.
* Space sector support complete, bounds of drowning now altered slightly.
* Knuckles climb now has symmetrical slope support for both normal and reverse gravity.
* All slope-determining topheight and bottomheight code is now identical in form.
* Camera postimages now support slopes properly.
2016-10-31 22:14:34 +00:00
toasterbabe
d13ca362d6 Quicksand now supports slopes and also reverse gravity. 2016-10-31 21:34:43 +00:00
toasterbabe
04a38a683b Okay, this is a biggun. Pay attention, everyone.
Moved the handling of P_PlayerInSpecialSector to P_PlayerAfterThink from P_PlayerThink.
* This allows the player to get hurt on sloped lava surfaces that are moving downwards.
* Also prevents the player from standing on death pits for 1 tic.
* Prevents the player moving 1 extra tic's worth of movement of pain when hit by sector.
* Thankfully, no consequences re conveyors.
* Like, the only consequences I've found have been positive. However, this DOES need to be thoroughly investigated before it can be allowed anywhere near Next itself.
2016-10-31 20:15:11 +00:00
toasterbabe
1bbbe15ee5 Fixed a bug with being able to go under the lava because P_CheckSolidLava doesn't take slopes into account.
(neither does P_CanRunOnWater, but I don't think it's necessary to make that check more complicated as you probably shouldn't be able to waterrun up steep surfaces anyways)
2016-10-31 13:53:52 +00:00
toasterbabe
f77c3444a3 Don't use shield abilities after the armageddon's used up! 2016-10-30 14:23:53 +00:00
toasterbabe
08a4fc8382 Tweaks to the way the force whoosh is handled so it stays centered AND doesn't allow an infinitesimal jump. 2016-10-30 14:01:56 +00:00
toasterbabe
5a798bddbd Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions 2016-10-29 17:14:45 +01:00
Monster Iestyn
82d29b59c1 Merge branch 'master' into damage-control 2016-10-29 17:05:59 +01:00
Monster Iestyn
cd3895f676 Merge branch 'public_next' 2016-10-29 17:03:38 +01:00
toasterbabe
ff443251b1 P_IsPointInSubsector now works in both Software and GL, which means it can be used as the main driver behind support for Knuckles climbing on one-sided walls.
Also, the "teleport" devmode command can now gracefully handle coordinates specified outside maps with no/few thok barriers, which previously prevented teleport via the thok barrier bleed's sector floor and ceiling being equal.
2016-10-29 11:54:47 -04:00
toasterbabe
a533701d85 You know what, let's make this less hacky. 2016-10-24 18:53:22 +01:00
toasterbabe
cc4d780371 Making things more scale-friendly (but it's not perfect...) 2016-10-24 18:40:48 +01:00
toasterbabe
0ee2937392 Adding ShieldSpecial hook. (Activates under different circumstances to the JumpSpinSpecial hook, and can be used to cancel existing shield actions.) 2016-10-24 13:52:52 +01:00
toasterbabe
162c04c370 Bubblewrap shield now bounces on enemies and monitors instead of piercing through them. 2016-10-24 13:33:10 +01:00
toasterbabe
3ce411b62a Mario mode is boring again. (I'm going to revert this commit as soon as possible, but shield_actions needs to be clean of Mario stuff for now.) 2016-10-24 12:35:40 +01:00
Monster Iestyn
a7c8c60379 Merge branch 'master' into damage-control 2016-10-23 21:08:17 +01:00
toasterbabe
45d32b7f7c * Flameaura shield now has boosh sprites.
* MF2_SHIELD calls shield thinker (P_AddShield/P_ShieldLook).
* Multiple types of force shields now handled.
2016-10-23 20:34:43 +01:00
toasterbabe
cfc9302bd3 Minor fix to ensure PF_FORCEJUMPDAMAGE is always known. 2016-10-23 17:05:17 +01:00
toasterbabe
956a8358c2 Important component for nojumpspin characters. 2016-10-23 16:26:36 +01:00
toasterbabe
c54d62851c Okay, this is a MUCH better solution than PF_JUMPDAMAGE. 2016-10-23 16:04:02 +01:00
toasterbabe
76ff26e6fb Revert "Thorough jumpdamage setting."
This reverts commit 8720252059.
2016-10-23 15:53:12 +01:00
toasterbabe
c18c014bef Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions 2016-10-23 14:47:37 +01:00
toasterbabe
8720252059 Thorough jumpdamage setting. 2016-10-23 14:42:37 +01:00
Inuyasha
fa187c5ae7 Merge branch 'unslot-music' into 'master'
Hardcoded music name switches

Like I said earlier, it's better if all the hardcoded music switches in 2.2 start with an underscore so that it's harder to accidentally overwrite them.

Should be accepted when music.dta is updated.

See merge request !17
2016-10-23 06:46:33 -04:00
toasterbabe
5ad7fc8495 A better check than for skin==0. 2016-10-21 12:34:16 +01:00
toasterbabe
6abd4d20d3 Further tightening. 2016-10-21 12:31:06 +01:00
toasterbabe
bda630ce41 I could do better than the previous commit. 2016-10-21 11:57:59 +01:00
toasterbabe
4c0ef9f0a3 * No ridiculously-fast float animation.
* No falling when you accidentially press spin.
2016-10-21 11:48:41 +01:00
toasterbabe
b34dc93a18 Fix to the previous commit to basically do what I wanted it to do as opposed to accidentially altering behaviour of jumping on crawlas. 2016-10-21 11:31:44 +01:00
toasterbabe
a053b117e1 Moved the Super Sonic hover over to holding down the jump button (which conveniently links it pretty closely to the thok, which could be called the Float Thok or something I dunno.)
Also, only one shield ability is selectively blocked by being Super now, and that's because Invincibility does it too and therefore I assume that's a match balance thing instead of a keyboard clash.
2016-10-21 11:08:32 +01:00
toasterbabe
f145898ca4 Woops. 2016-10-20 21:39:58 +01:00
toasterbabe
769962c884 Minor cleanup. 2016-10-20 21:15:41 +01:00
toasterbabe
59fccab8e5 Restructured things so nojumpdamage characters can use the elemental, bubblewrap and attract shields. 2016-10-20 20:55:15 +01:00
toasterbabe
c1a8dd9a37 Minor refactor of what I did last night - as a modifiable state instead of hardcoded references. 2016-10-20 13:44:03 +01:00
toasterbabe
8fe932b0e7 * Force shield force stop completed
* Bubblewrap shield bounce now no longer allows thokking post-bounce, but still allows bouncing
* plus a bunch of tiny changes to clean up code around the place.
2016-10-20 00:33:12 +01:00
toasterbabe
9b4c81ed0b Thundercoin shield complete. 2016-10-17 23:22:04 +01:00
toasterbabe
366e282495 Cleaned up the shield-ability stuff to be cleaner (and reduce MT_OVERLAY thinking). 2016-10-17 14:39:32 +01:00
toasterbabe
c693af96b1 * Bubble bounce completed (minus graphics).
* Flame burst fixed with respect to scale.
2016-10-17 14:03:32 +01:00
toasterbabe
76b30df528 * Slower Bubblewrap animation.
* Corrected bounce height for Elemental underwater.
* Using Elemental ability in goo is cancelled.
* Different Attract failure sound.
2016-10-17 00:27:29 +01:00
toasterbabe
5ff507213b * Some shield constants renamed.
* Some shield sounds swapped (can be reverted later).
* Partial implementation of S3K shield abilities.
* The ability to elemental-groundpound onto gold monitors without going straight through them.
* Force shield ability removed because nobody could agree on it, we'll keep it blank until another idea can get through the disagreement juggernaut.
2016-10-16 22:28:50 +01:00
toasterbabe
2acfc72d86 Made P_SwitchShield take into account the force shield, then made A_ForceShield take the number of bonus hitpoints as its var1. (Also, drowning timer is properly reset by ALL protectwater shields, not just elemental.) 2016-10-16 12:45:31 +01:00
toasterbabe
aa8a454ea9 Turning some shield attributes into flags means that environmental protection and ring-pulling can be more elegantly handled. As a consequence, the S3 shields now have all their passives, and are just waiting on me to give them actives (two of which don't have the necessary sprites for...) 2016-10-16 01:23:00 +01:00
toasterbabe
3aa9d2a1b1 Sonic 3 shields implemented at a basic visual/functional level - no abilities yet. 2016-10-15 23:39:54 +01:00
toasterbabe
6e47a07a04 Fixed monitors not making sounds if you had that monitor already and it wasn't mariomode. 2016-10-15 17:58:08 +01:00
toasterbabe
91f9770caf Fixed up the coin-looping. 2016-10-14 11:23:13 +01:00
toasterbabe
5e92ca1a4a Okay, made the Mushroom a seperate shield instead of a hacked pity shield. This is a lot nicer in general. 2016-10-14 10:43:46 +01:00
toasterbabe
a119db3a85 Coins are no defense now! (This lecture is boring.) 2016-10-13 15:36:37 +01:00
toasterbabe
80300ac476 Fireflower is now on same level as all other shields, as opposed to being an additional stack layer. (MID LECTURE COMMIT STRATS YO) 2016-10-13 15:14:13 +01:00
toasterbabe
a36912baef In Mario mode...
* shields give you 1000 points
* redundant shields don't make you puase
* checkpoints give you 2000 points
* falling down a deathpit is just falling, not bouncing
2016-10-12 23:47:18 +01:00
toasterbabe
d4f0afa0d1 A Heckloada Mario Stuff
https://gfycat.com/MasculineSatisfiedAfricanwilddog and https://gfycat.com/PastCompetentGypsymoth describe this all in varying states of completion
2016-10-12 17:55:07 +01:00
toasterbabe
64a1fa5421 Players are half height in Mario mode when they don't have any shields, the Mario mode pity shield is invisible, and Mario mode players immediately get a pity shield when they lose any other type of shield. So basically that's a Red Mushroom, right?
https://gfycat.com/ThoughtfulAcademicChrysalis
2016-10-11 23:35:48 +01:00
toasterbabe
d25e908b80 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions
# Conflicts:
#	src/p_map.c
2016-10-11 16:25:24 +01:00
Monster Iestyn
719220da4a Merge branch 'master' into damage-control 2016-10-08 17:12:13 +01:00
toasterbabe
5614ff5691 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_sprites
# Conflicts:
#	src/p_enemy.c
#	src/p_mobj.c
2016-10-02 19:38:53 +01:00
Monster Iestyn
0fb89c620d Merge branch 'master' into damage-control 2016-09-30 21:05:44 +01:00
toasterbabe
a694ebc348 Fixed issue where holding spin when going into a non-horizontal spring would use your whirlwind shield ability immediately. 2016-09-30 14:33:15 +01:00
toasterbabe
aa4fca0339 Added description to P_SwitchShield. 2016-09-30 14:18:13 +01:00
toasterbabe
4f79157a50 Fixed that bug the wrong way, THIS is a much better solution for what I wanted to tweak. 2016-09-30 14:12:26 +01:00
toasterbabe
dc57a34213 Revert "Fixed another bug where you were able to use the whirlwind shield ability after using the force shield's dodge dash."
This reverts commit cbe703478c.
2016-09-30 14:06:53 +01:00
toasterbabe
cbe703478c Fixed another bug where you were able to use the whirlwind shield ability after using the force shield's dodge dash. 2016-09-30 13:56:19 +01:00
toasterbabe
f1fb276e5a Fixed a bug where using your shield ability just before your shield changed got you stuck in whatever state it left you.
To do that, P_SwitchShield was born! Don't use with Force.
2016-09-30 13:48:33 +01:00
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
8f181abbb2 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_alignment_revamp
# Conflicts:
#	src/p_mobj.c
#	src/p_spec.c
2016-09-29 13:34:13 +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
c70661186a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_sprites
# Conflicts:
#	src/dehacked.c
#	src/p_inter.c
#	src/p_pspr.h
2016-09-27 18:11:20 +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
7786ef43e8 Okay, did a bunch of stuff. Getting ready to create a merge request, but not quite there yet.
* MF_AMBUSH is now MF2_AMBUSH, because it's something you turn on in a map editor, not with a SOC definition.
* Where MF_AMBUSH was is now MF_PAPER.
* MF_PAPER accesses all the stuff I did previously in this branch...
* ...as well as turn on paper-thin collision detection between mobjs, which I've gotten working but isn't perfect but it's still good enough for non-solid objects!!
2016-08-18 20:09:35 +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
7b5fbad6a7 Changes to match the new default value and to make player acceleration perfectly match what it was previously. 2016-08-10 00:31:16 +01:00
toasterbabe
4ccb3b88d0 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into flat_alignment_revamp
# Conflicts:
#	src/p_mobj.c
2016-08-10 00:10:18 +01:00
toasterbabe
aa93f8a25c Refactored the movefactor changes that made the player go Looney Tunes style on ice. 2016-08-10 00:05:46 +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
toasterbabe
df8568642e Dashmode users can break spinbust blocks when dashing, twinspin users can break both spinbust and Knuckles-only blocks when twinspinning. 2016-07-17 16:34:07 +01:00
toasterbabe
898e17a441 SF_MACHINE characters create boss explosions on death.
Also, the gravity of drowning characters has been reduced to look more natural.
2016-07-16 23:26:52 +01:00
toasterbabe
8cb8990863 Merge branch 's_skinprovements' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into s_skinprovements 2016-07-16 22:44:01 +01:00
toasterbabe
f757fb3545 SF_MACHINE. Currently only changes drowning, but could do more.
* Electric sparks coming off entire body instead of bubbles coming out mouth
* Different sounds.
* Different icons.

These sprites are currently local only, but I'll be doing a lot of asset updating this evening since Rob asked me to so it won't be long until you can get them.
2016-07-16 22:43:49 +01:00
Alam Ed Arias
4e064dc335 whitespace: cleanup 2016-07-16 16:05:00 -04:00
Alam Ed Arias
e393b12cec Merge branch 'master' into s_skinprovements 2016-07-16 16:04:10 -04:00
Alam Ed Arias
4e322af6cb whitespace: cleanup 2016-07-16 16:03:32 -04:00
toasterbabe
d8065fa525 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into s_skinprovements
# Conflicts:
#	src/d_player.h
#	src/dehacked.c
#	src/info.c
#	src/p_user.c
2016-07-16 17:23:25 +01:00
toasterbabe
94490623b5 Cleanup of P_CheckUnderwaterAndSpaceTimer's conditional checks for future PF_ROBOT changes, where characters like Metal make electric zaps instead of bubbles. 2016-07-16 17:11:34 +01:00
Monster Iestyn
9b15247191 Merge branch 'dashmode' into 'master'
Dashmode

This branch Metal Sonic's abilities (CA_DASHMODE) to the game.

See merge request !26
2016-07-16 12:09:20 -04:00
toasterbabe
226785dcd6 Putting the swim animation checks in one place. 2016-07-16 14:45:22 +01:00
toasterbabe
cc35a5e1c1 Ported CA_HAMMER from new-character-actions in a way that takes advantage of all of the non-hardcodey things I've added in this branch.
Also, it's called CA_TWINSPIN because that's more inoccouous.
2016-07-16 13:55:12 +01:00
toasterbabe
824458a5ff Swimming animation! Since I know we want it for Smiles eventually.
Also, I guess CA_SWIM isn't forced into running on water anymore.
2016-07-13 18:18:18 +01:00
toasterbabe
c2aba46298 New S_SKIN attributes.
* radius - sets the player's radius for that skin.
* height - sets the player's normal height for that skin.
* spinheight - sets the player's spinheight for that skin.
* shieldscale - see http://i.imgur.com/BQ5DhKC.png for justification
2016-07-13 15:15:45 +01:00
Alam Ed Arias
b347ed2ca6 Merge branch 'public_next' into master 2016-07-11 15:52:27 -04:00
Alam Ed Arias
59fd7bbe46 Merge branch 'public_next' (early part) into private 2016-07-11 15:50:06 -04:00
Alam Ed Arias
0c8fcb5e4d Merge branch 'master' into repeat-monitors 2016-07-11 15:29:06 -04:00
toasterbabe
7c63a96bf1 Logic error. Now works as described previously. 2016-07-10 20:03:08 +01:00
toasterbabe
8431f64300 A thorough reimplementation of Nojumpspin for the SPR2_ age.
* SF_NOJUMPSPIN - Player's height is full whilst jumping, SPR2_JUMP defaults to SPR2_SPNG instead of SPR2_SPIN, and the player goes into fall frames if they start moving downwards or use their ability.
* PA_JUMP - for jumping (upwards in the case of SF_NOJUMPSPIN.
* SF_NOJUMPDAMAGE - Ala rosy.wad, don't damage enemies, etc when jumping into them.
* SF_STOMPDAMAGE - Just for fun. Ala in Mario, always damage enemies when you land on top of them (your gravity reference, not theirs).
* SF_MARIODAMAGE - SF_NOJUMPDAMAGE|SF_STOMPDAMAGE is reasonably accurate to the Mario games, and might as well be surfaced as such.

Also, a minor change:

* Instead of not spawning the revitem if your SPR2_ is SPR2_DASH, don't spawn it if it's set to 0. This requires the player.dta I uploaded a couple days ago to behave as it was previously.
* Don't get stuck in spindash frames if your maxdash is 0, and don't flash rolling frames if you're on goop.
2016-07-10 18:41:38 +01:00
toasterbabe
cee37819cd Dashmode now has its own animation, SPR2_PEEL. Requires a new PLAYER.DTA. I made a lot of references to the peelout here because I'm not sure what else to call a Sonic character's faster-than-usual-running animation and SPR2_DASH was taken.
* SPR2_PEEL, SPR2_SPEE.
* S_PLAY_PEEL, S_PLAY_SUPER_PEEL.
* PA_PEEL.
* Dashmode actually starts charging from runspeed instead of the arbitrarily calculated (normalspeed - 5*FRACUNIT). This just made things easier, honestly, and it's 1 FU of difference compared to the current test case.
2016-07-09 14:52:49 +01:00
toasterbabe
0fefd86d1e More generic name for P_ElementalFireTrail upon MI's request 2016-07-08 22:56:17 +01:00
toasterbabe
ec85357643 Didn't properly use the #defined numangles constant. 2016-07-08 22:05:13 +01:00
toasterbabe
f8dd9b64ab Elemental shield ability now coded. REQUIRES NEW PATCH.DTA FROM THE FTP.
- Press spin in midair to stomp directly downwards (losing horizontal momentum), creating a flickering fireball around you.
- No bouncing on enemies, item boxes, etc - just go straight through.
- Hurts other players on touch whilst you're stomping.
- Spawns a bunch of flames around you when you hit the ground.

Also:

- Electric shield's ability now uses different sounds, because I'm picky.
2016-07-08 21:55:17 +01:00
toasterbabe
95ac0fa9a0 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into shield-actions 2016-07-08 13:20:24 +01:00
toasterbabe
c5ca1a8f24 The dashmode struct variable now has a cap, per a Wolfs request. 2016-07-07 01:40:28 +01:00
toasterbabe
64ef2798a2 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into dashmode
# Conflicts:
#	src/d_clisrv.c
#	src/d_clisrv.h
2016-07-07 01:08:51 +01:00
Inuyasha
26b3f2e0dc Merge branch 'toast_slopes' into 'next'
Some slope improvements/fixes (plus P_GetMobjGravity)

Dear Red, I did some things.

* Made the slope flag SL_NOPHYSICS actually have an effect like we wanted to, but didn't get around to implementing yet - activated by setting the slope's linedef flags to have ML_NOSONIC.
* Made downhill slope thrusts proportional to an object's gravity and friction.
* To make the above happen - seperated out the gravity value finding code in P_CheckGravity into a seperate function, P_GetMobjGravity. (p_mobj.c, p_local.h) I also made this function available to Lua.
* Turned those PANIC n console messages (which would inevitably be followed up with a crash, since we're accessing invalid memory immediately after) into a descriptive I_Error.
* Put the SRB2CB type-shimming behind an ESLOPE_TYPESHIM ifdef.
* Removed SPRINGCLEAN-ifdef'd code.
* Cleaned up some eosteric comments.
* NEW SINCE RED +1'd THIS: The teetering code now takes slopes into account pretty well. There are edge circumstances as outlined in commit 9d221f4f3f, but this is unilaterally better behaviour in every way and the teetering code was kind of a mess anyways.
* NEW SINCE RED AND ALAM +1'd THIS: P_ReverseQuantiseMomentumToSlope. Simple function that replaces the inverse angle stuff (which also wasn't using InvAngle, just ANGLE_MAX - angle - which is inaccurate!!)

Current testing files available at /toaster/slptst3.wad and /toaster/gravitytest.lua on the ftp.

I want to do more to the branch like implement SL_ANCHORVERTEX in the near future, but this is probably safe to merge in its current state.

See merge request !77
2016-06-22 19:03:58 -04:00
toasterbabe
20ffbbdc41 Climbing now supports one-sided linedefs.
The whole thing needs a refactor in general, but it's almost 2am here, I need my sleeb, and this fix would probably break something with 2.1 climbing if I made it any more/less (depending on viewpoint) complicated.
2016-06-20 01:50:47 +01:00
toasterbabe
fa58993bda Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into toast_slopes
# Conflicts:
#	src/p_user.c
2016-06-19 16:59:49 +01:00
toasterbabe
1147428904 Revert "Changed teetering to match the discoveries made about it in the sectorlist_traversal branch in a way that matches my revamps here, since I DID change a lot."
This reverts commit 19b186e52e.
2016-06-19 16:38:11 +01:00
toasterbabe
f5f2c4ad48 Revert "Okay, NOW I fixed the compile error. Forgot to stage this."
This reverts commit 1723bb55f9.
2016-06-19 16:38:04 +01:00
toasterbabe
2c676eea43 P_ReverseQuantiseMomentumToSlope is now a function. (I was thinking about a macro, but couldn't get it down.)
Also, the teetering angle on slopes is now FRACUNIT/2 because there's literally no way to stand still on a slope that steep unless it doesn't have physics.
2016-06-12 19:27:34 +01:00
toasterbabe
1723bb55f9 Okay, NOW I fixed the compile error. Forgot to stage this. 2016-06-09 15:24:23 +01:00
toasterbabe
c5ff41d6a6 Fixed compile error and placed the #undefs for xsign and ysign in more logical places. 2016-06-09 15:20:45 +01:00
toasterbabe
19b186e52e Changed teetering to match the discoveries made about it in the sectorlist_traversal branch in a way that matches my revamps here, since I DID change a lot. 2016-06-09 15:16:25 +01:00
toasterbabe
7af14c20ed Everywhere in the code that was doing things wrong has been changed.
Two interesting points of note:
* The touchspecial sector flag seems to actually do its job now.
* Detection of sectors with polyobjects in seems to have done this incorrectly, but this doesn't mess with anything about touching the polies themselves so it seems to really only handle edge cases where the polyobject was too close to the border of another sector (which would've likely made rendering glitches anyways).
* There was a whole swathe of teetering code that was basically never run properly because of this mistake. I did a simple fix at first, but you started teetering whenever you were slightly less than your radius away from a sector's edge, which was completely different and undesirable behaviour. Instead, I cut out the code that was never running, and just left the hacky method in instead since it was more accurate to what we want in general.
2016-06-09 14:56:24 +01:00
toasterbabe
17e0adcbac Renamed some struct variables so the problem this branch sets out to fix is more obvious at a glance.
* m_snext ==> m_thinglist_next
* m_sprev ==> m_thinglist_prev
* m_tnext ==> m_sectorlist_next
* m_tprev ==> m_sectorlist_prev
2016-06-09 14:16:02 +01:00
toasterbabe
0b920ee249 You know that problem where you bumped on the edges of Mario blocks and Bustable blocks and Bouncy FOFs sometimes? Wham. Bam. In the van.
Issue was caused by attempting to traverse the sector's thing-touching-list across all the things in the sector (which would inevitably have the same sector as the first node in mobj->touching_sectorlist) instead of traversing the thing's sector-touching-list (which has the same thing but different sector references).

I wonder how many times AJ copypasted this code with absolutely no idea why it wasn't working properly. I'll figure that out tomorrow, maybe set up some compiler macros so this mistake is never made again. For now, I must sleeb.
2016-06-09 00:02:50 +01:00
toasterbabe
51c769247a Compiling fixes. 2016-06-07 19:44:43 +01:00
toasterbabe
aa113045d7 MI pointed out opportunity for more optimisation, and who could resist? 2016-06-07 18:18:47 +01:00
toasterbabe
9df72a966e Some simplifications after MI pointed out that the sector heights are the only thing accessed outside of the iteration. 2016-06-07 17:55:03 +01:00
toasterbabe
9d221f4f3f Teetering now supports slopes properly.
Behaves ALMOST as you'd expect. It gets the z position of the slope at the player coordinates when it comes to the sectorlist check (which is first), though, so there's a few oddities that are amplified with steep slopes:
* If the slope's sloping away from you at a steep angle, you might not be able to step down onto it, but you won't teeter (because it's at a step-down-able height if it extended to directly beneath you)
* If the slope's sloping towards you at a steep angle, you might end up in teetering frames when you're able to step down onto it (because it's NOT at a step-down-able height if it extended to directly beneath you)

HOWEVER, it would be pretty obnoxious to hold back code which is functionally superior in every way otherwise, and it doesn't really seem like there's a good way to get that checked tbph
2016-06-07 17:37:25 +01:00
toasterbabe
1e6b213d6c Okay, this is way beyond the scope of the branch... but low-friction surfaces (ice, oil, etc) now:
* Actively impede your acceleration
* Make your animation speeds faster whenever you're moving (to give off that Looney Tunes effect)

The former change is something that was present in the few low-friction circumstances in the classics, and makes low-friction surfaces more of an active challenge. The latter change is just something I did for fun to more clearly communicate that things are different with the physics here.

High friction surfaces DO NOT involve any of this, since it ended up basically cheesing their existing gameplay.
2016-06-03 17:26:50 +01:00
toasterbabe
fa002e58ad Did a bunch of things to/for slopes.
*The No Physics flag now works (Red, you might want to doublecheck this to see whether I haven't missed any eosteric stuff out). Going downhill is a little bumpy, and I'm not sure whether that's good or not. Someone help me out here?
*The SRB2CB typeshims are now behind #ifdef ESLOPE_TYPESHIM instead of #if 1 for easier disabling.
*Slopes' downhill thrusts are now scaled with regards to object gravity. This is actually untested in gravities other than normal and reverse normal but it's one line which can be easily reverted in that circumstance. I also checked with MI to make sure this is how it's calculated elsewhere, so fingers crossed this doesn't cause any edge cases.
*As a consequence of the above point, there's now a function in p_mobj.c/h that returns an object's internal gravity - seperated out from the logic of P_CheckGravity, which really didn't need to be so monolithic. Multiply by global gravity to get the thrust. This should probably be available to Lua somehow, but I have absolutely no idea where to start with that. Wolfs, maybe?

Non-comprehensive test file available at /toaster/slptst3.wad on the ftp.
2016-05-31 15:01:19 +01:00
Monster Iestyn
09ac79d75f Merge branch 'master' into damage-control 2016-05-27 16:53:21 +01:00
Alam Ed Arias
e5a14d859e Merge branch 'public_next' into private 2016-05-27 11:37:09 -04:00
Monster Iestyn
8ceba95bfa Fix slope collision detection for the camera
See http://mb.srb2.org/showthread.php?t=41494
2016-05-25 21:10:46 +01:00
Monster Iestyn
9007904a72 Merge branch 'master' into damage-control
# Conflicts:
#	src/p_inter.c
#	src/p_mobj.c
2016-05-25 15:33:09 +01:00
Alam Ed Arias
032313260a Merge branch 'public_next' into master 2016-05-20 17:58:57 -04:00
Inuyasha
ab7af594d9 Merge branch 'nights-hotfix' into 'next'
NiGHTS hotfix

Fixes the following issues relating to playing as NiGHTS Super Sonic that apparently popped up between 2.1.14 and next (mostly due to the changes to SRB2's trig stuff it seems):
* Super Sonic drifts to the side at some angles around an axis, and is unable to go directly upwards or downwards as a result
* Drilling to the side when on the ground causes the drill sound to constantly restart
* CEZS's start not actually being lined up properly with the first axis means the player is not able to go backwards along the track (because the player is not actually aligned with the track properly, preventing you from touching the attached line transfer)
* trying to hug some walls such as the tall wall before the library section of CEZS allows Super Sonic to go through them

These fixes needs proper testing before this branch can be merged in, in case they accidentally break other things as a result or something.

See merge request !71
2016-05-18 07:09:05 -04:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Monster Iestyn
e3dac00aa9 If player is at wrong distance from axis, correct x/y position in a similar fashion to how momentum is set for homing attacks. Don't use trig here for most cases since that just re-introduces the side drift issue and friends all over again.
This fixes the CEZS issue where the player start is not actually on the track, preventing the player from going backwards until they hit a wall.
2016-05-16 19:00:34 +01:00
Monster Iestyn
89ce257248 Fix all the NiGHTS issues in one fell swoop (assuming they are fixed, that is, lol)
Basically I kind of worked around any potential trig inaccuracies by not using the player position directly for setting momx/momy. This way, if player->angle_pos == player->old_angle_pos, momx/momy are zero
2016-05-14 23:57:56 +01:00
Monster Iestyn
947e8c56ec Removed redundant momx/momy assignment from NiGHTS movement code.
Specifically, the being-hit code, where P_NightsTransferPoints is called afterwards anyway
2016-05-14 22:52:12 +01:00
Alam Ed Arias
398dbed4ed Merge branch 'public_next' into master 2016-05-07 11:35:05 -04:00
Inuyasha
987f65fde8 Merge branch 'demo-replay-fixes' into 'next'
Demo replay fixes

Changes made/bugs fixed in this branch:
* Replay camera is now controllable when climbing (https://mb.srb2.org/showthread.php?t=38668), and in waterslides
* localangle (read: the angle between you and the camera, I think) now doesn't change during demo replays in most situations, unless the player is in analog mode. Exceptions include zoomtubes and NiGHTS super
* Replay camera now doesn't act silly if the player is in analog mode (assuming you also recorded it in that mode to begin with, anyway)

See merge request !66
2016-05-07 06:17:39 -04:00
Nipples the Enchilada
fe20a35aee Disable camera rotate buttons if you aren't viewing yourself
They don't affect what you're viewing anyway and cause cam_rotate to get
messed up.
2016-05-07 04:51:54 -04:00
Monster Iestyn
01debc27a2 Merge branch 'public_next' 2016-05-06 18:06:18 +01:00
Monster Iestyn
300275534f Merge branch 'next' into demo-replay-fixes 2016-05-03 15:10:30 +01:00
wolfy852
969a254cb6 Remove the super float from non-Sonic characters
Should fix conflicts with Lua-scripted jump spin abilities.
2016-04-30 14:59:51 -05:00
Alam Ed Arias
fbd9cb73c3 Merge branch 'public_next' into private 2016-04-27 16:54:37 -04:00
Monster Iestyn
ac3de70c93 Merge branch 'slope-fixes' into 'next'
Slope fixes

This branch fixes the following slope-related physics and rendering bugs:

* Rings in multiplayer stages respawning inside slopes (even despite being able to spawn ABOVE them on map load)
* Player starts spawning players inside slopes
* Elemental flame trails not appearing if a player spindashes UP a slope; see issue #21
* Dying players "jumping" off slopes to the side if they were previously standing on one
* Some issues with FOF slope rendering
* Various issues with sprites displaying through walls adjacent to slopes

Other features added:
* Objectplace now supports slopes (this is Inuyasha's doing)
* Automap in DEVMODE now supports slopes (my doing)

Just making this merge request now rather than later, ~~in case I decide not to make any more fixes for the time being~~ (this branch doesn't seem to want to die lol), and so we can get these merged in as soon as the code's all been checked over.

See merge request !50
2016-04-26 17:21:27 -04:00
Inuyasha
b288d8a399 Merge branch 'bp_random2' into 'next'
xorshift* PRNG

This needs testing to ensure I didn't mess anything up switching function names around.

Our PRNG sucks. This is probably obvious. I wish I had known better at the time I implemented it, but oh well.

The replacement is an xorshift* PRNG variant with period 2^32 - 1 (meaning that the PRNG state will loop after four billion calls ... that's not likely to happen), versus the old PRNG's period of about 2^22 (?). The output is also much more random and less predictable; the old PRNG would fall into a predictable loop of output after about 4000 numbers were generated, which isn't much.

The PRNG here also outputs numbers as fixed point from [0,1) (that's 0 to FRACUNIT-1, in other words) instead of single bytes at a time. This makes it much easier to calculate things for, say, P_RandomRange and P_RandomKey. A new macro, P_RandomChance(p), is now in use that returns true _p_ percent of the time, where _p_ is a fixed_t probability from 0 (0%) to FRACUNIT (100%).

This doesn't affect netgames at all; the code for seed saving and restoring is identical (aside from a check to prevent seed being set to 0, which breaks xorshift PRNGs). Demos break, but A: _duh_ and B: they're already broken by all the changes to physics to accommodate slopes.

P_Random is deprecated in Lua, as the function was renamed to P_RandomByte. Aside from that, nothing special.

See merge request !64
2016-04-24 18:03:13 -04:00
Monster Iestyn
b8cc36dfd1 P_LookForEnemies should not change the player's angle until the target has been decided
This fixes a quirk with Shadow with chaos control sometimes throwing the player in the wrong direction
2016-04-22 22:28:00 +01:00
Monster Iestyn
c833f3845f Merge branch 'next' into bp_random2 2016-04-20 18:18:28 +01:00
Monster Iestyn
e05951e213 Merge branch 'next' into slope-fixes 2016-04-20 18:17:14 +01:00
Monster Iestyn
60ec0ff294 Merge branch 'next' into demo-replay-fixes 2016-04-20 18:15:36 +01:00
Monster Iestyn
d31fd95d75 Armageddon & Sparkles confusion is no more, DMG_NUKE exists to sort that out now 2016-04-07 22:02:52 +01:00
Monster Iestyn
249d25a316 Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2Internal.git into damage-control 2016-04-07 20:47:12 +01:00
Inuyasha
3b4b7a05fd Better CTF in splitscreen, no death message for spectators 2016-04-06 19:55:58 -07:00
Inuyasha
3117a6a16e Splitscreen fixes
initialize flipcam2
player 2 gets game over music now.
restore the other player's music when the dead player is done sulking about their game over
2016-04-06 18:28:43 -07:00
Monster Iestyn
29f0301540 Whoops 2016-04-05 21:21:45 +01:00
Monster Iestyn
e8a4d7b7b8 Fix replay camera not being turnable when climbing, sliding ...and several other things.
If in analog mode, this does not apply (also analog mode replay camera no longer borks)
2016-04-05 20:56:48 +01:00
Inuyasha
50d3fe15b8 Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
# Conflicts:
#	src/d_main.c
#	src/doomdef.h
2016-03-31 21:17:29 -07:00
Alam Ed Arias
1c16943be8 Merge branch 'next' into bp_random2 2016-03-31 21:44:03 -04:00
Alam Ed Arias
b45b9801d6 Merge branch 'next' into slope-fixes 2016-03-31 21:43:51 -04:00
Inuyasha
816990a3ed Merge branch 'polyobj-teeter-fix' into 'next'
Fix for teetering on PolyObjects

So... somebody goofed and didn't realise PolyObject sectors could be added to the sector node list for each object (which is referenced by mobj->touching_sectorlist), via their linedefs if they are nearby the player (yes, PolyObject linedefs are special and get to move about the level). As it turns out, this allows even INTANGIBLE PolyObjects to make you teeter in a seemingly inexplicable way.

What is happening is that PolyObject sectors, when they are added to the mentioned lists, are then checked under normal sector teetering conditions - if the player is above the floorheight by 24 FUs, you're officially teetering unless stated otherwise. The actual PolyObject teetering code can't help you here if the conditions are right, especially if they're taller than 24 FU in height.

There are a number of things wrong with the teetering code in general that I'd like to sort eventually, but at least now teetering on PolyObjects is fixed at last ...right? Please check the branch out if you can to check this, obviously.

See merge request !54
2016-03-31 20:55:28 -04:00
Alam Ed Arias
6b9fd60f06 Merge branch 'next' into camera-fix 2016-03-31 12:28:31 -04:00
Alam Ed Arias
47bb95f5f5 Merge branch 'next' into polyobj-teeter-fix 2016-03-31 12:26:52 -04:00
Alam Ed Arias
32a950893e Merge branch 'next' into slope-fixes 2016-03-31 12:17:40 -04:00
Alam Ed Arias
d77e541f29 Merge branch 'next' into bp_random2 2016-03-31 12:15:09 -04:00
Inuyasha
3812b6bc20 the abs() is necessary; force unsigned shift and signed result 2016-03-31 06:48:08 -07:00
Alam Ed Arias
283c64ee20 Merge branch 'next' into camera-fix 2016-03-30 20:49:44 -04:00
Alam Ed Arias
d26c486c6d Merge branch 'next' into polyobj-teeter-fix 2016-03-30 20:42:33 -04:00
Alam Ed Arias
4370459166 Merge branch 'next' into slope-fixes 2016-03-30 20:41:33 -04:00
Alam Ed Arias
a935ac21e8 Merge branch 'next' into bp_random2 2016-03-30 20:40:48 -04:00
Alam Ed Arias
75f65c4d44 using abs() on unsigned have no effect 2016-03-30 20:17:09 -04:00
Alam Ed Arias
51aa7692d8 Merge branch 'master' into next 2016-03-30 20:15:08 -04:00
Alam Ed Arias
b169529dfd switich to do the angle math in signed, then run it thur abs() 2016-03-30 11:47:27 -04:00
Alam Ed Arias
0fe6ee5339 cleanup abs warnings 2016-03-30 00:22:12 -04:00
Inuyasha
ac03ce39c8 *_Random is now *_RandomByte.
P_RandomChance is now a macro for something that should happen a
certain percentage of time.

P_SignedRandom was moved to a macro. Nobody cared.

# Conflicts:
#	src/p_inter.c
2016-03-29 16:27:55 -07:00
Alam Ed Arias
42aa41c552 Merge branch 'next' into polyobj-teeter-fix 2016-03-25 18:44:30 -04:00
Monster Iestyn
f9c4b877ca Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2Internal.git into damage-control 2016-03-13 20:37:43 +00:00
Monster Iestyn
13f4ef2f34 Merge branch 'next' of http://git.magicalgirl.moe/STJr/SRB2.git into slope-fixes 2016-03-12 23:06:37 +00:00
Monster Iestyn
5b89164cf7 Fix camera going nuts around intangible polyobjects 2016-03-10 20:50:54 +00:00
Inuyasha
317161221d Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal 2016-03-09 01:23:48 -08:00
Inuyasha
6aa708b5af I don't think we need the BLUE_SPHERES define anymore... 2016-03-09 00:49:35 -08:00
Alam Ed Arias
407bf4f39d Merge branch 'next' into polyobj-teeter-fix 2016-03-07 16:46:32 -05:00
Alam Ed Arias
55a6355e15 Merge branch 'next' into slope-fixes 2016-03-07 16:45:51 -05:00
Inuyasha
e0f5312d13 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal into unslot-music
# Conflicts:
#	src/dehacked.c
#	src/f_finale.c
#	src/lua_baselib.c
#	src/lua_maplib.c
#	src/m_menu.c
#	src/p_enemy.c
#	src/p_inter.c
#	src/p_setup.c
#	src/p_user.c
#	src/s_sound.c
#	src/y_inter.c
2016-03-03 22:09:24 -08:00
Inuyasha
c956b498c8 Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
# Conflicts:
#	src/p_user.c
2016-03-03 21:48:32 -08:00
Inuyasha
a8bca89dbd Merge branch 'backport_unslot-music' into 'next'
BACKPORT: removal of music slots

Relevant commits cherry-picked. Basically everything except the internal music track name switches.

See merge request !43
2016-03-03 22:31:21 -05:00
Inuyasha
fc35c8557e Super color code cleaning, speed 50%, nothing special 2016-02-29 01:18:33 -08:00
Inuyasha
fdb4ac5c2e Super color code cleaning, speed 50%, nothing special 2016-02-28 18:19:46 -08:00
Monster Iestyn
4b447b3d0d Don't add polyobjects to a mobj's sector nodes list. This causes the player to teeter whenever they are above the polyobject's bottom, whether or not it is solid
Also, a minor tweak for the teetering code itself, though it looks a right mess and probably should be redone in the future
2016-02-28 18:30:29 +00:00
Alam Ed Arias
2b12e5ff20 Merge branch 'next' into backport_unslot-music 2016-02-26 02:11:29 -05:00
Alam Ed Arias
07d331676b Merge branch 'next' into slope-fixes 2016-02-26 02:09:03 -05:00
Inuyasha
83278c2893 Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal
# Conflicts:
#	src/p_map.c
2016-02-25 15:46:08 -08:00
Monster Iestyn
3058648fdc Fix elemental flame trails not spawning when going up slopes 2016-02-16 17:58:08 +00:00
Inuyasha
7c5adacc6f Fixed chain launching
In the process, the stasis flags work like you'd expect them to.
You can now set them in Lua or code and they'll actually do something.
2016-02-14 12:28:03 -08:00
Alam Ed Arias
d09016c808 Merge branch 'public_next' into master 2016-02-09 14:19:50 -05:00
Alam Ed Arias
6000b5c980 Merge branch 'master' into next 2016-02-09 14:13:50 -05:00
Inuyasha
8c17dac589 The concept of "music slots" doesn't exist anymore.
Use whatever names you want for your music. So long as you prefix the lumps with O_ or D_, it doesn't matter anymore.
DISCLAIMER: Linedef type 413 (change music) and Lua scripting is not tested.

(cherry picked from commit 025ca413a2)

# Conflicts:
#	src/p_user.c
2016-02-09 02:48:33 -08:00
Alam Ed Arias
3ba827f33d Merge branch 'master' into travis-ci 2016-02-07 00:39:25 -05:00
Alam Ed Arias
07fc74eaf5 clang: fixup a few clang warnings 2016-02-05 22:38:40 -05:00
Inuyasha
42fb7ed5aa clearly I don't care about Super forms much :v 2016-02-04 02:37:40 -08:00
Inuyasha
577afbc693 All internal music changes use new lump names
... that all start with _ for reasons specified in the music topic
2016-02-04 01:17:27 -08:00
Inuyasha
2b482324b4 Merge branch 'public_next' of http://git.magicalgirl.moe/STJr/SRB2Internal 2016-02-03 18:11:51 -08:00
Inuyasha
5320424269 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2 into pub_next 2016-02-03 18:09:08 -08:00
Monster Iestyn
deb958a796 Remove unused "INVERSECOLORMAP" macro 2016-01-31 17:06:03 +00:00
wolfy852
bd1231764e Merge remote-tracking branch 'remotes/origin/master' into dashmode 2016-01-25 21:41:41 -06:00
wolfy852
e314b442b2 Remove dashmode limit since tic_t is UINT32
This might be overpowered as hell. Needs testing for sure.
2016-01-25 20:26:31 -06:00
Monster Iestyn
67b92d7273 Went and fixed the dashmode variable hack nonsense once and for all myself
would have gone for "dashtime", but then I was reminded that was already a name for something to do with spindash. Oh well
2016-01-25 11:47:33 +00:00
wolfy852
95d6cba184 [HACK] Make dashmode work again
Fixed one of Red's mistakes, and used a different struct variable for dashmode. This needs to be changed though, because everything will break if someone loads a circuit map.
2016-01-25 01:49:37 -06:00
Inuyasha
9ba43e1d01 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal into repeat-monitors 2016-01-15 02:20:34 -08:00
Inuyasha
ed69520004 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal into unslot-music 2016-01-15 02:01:32 -08:00
Inuyasha
a4badcfe54 Revert the revert because it turns out Rob is a doofus
player.dta was in a sort of mishmashed half designed for one SPR2 layout and half the other.

This reverts commit cc0fbf1c1b.
2016-01-14 06:35:10 -08:00
Inuyasha
cc0fbf1c1b Revert "Several changes to split jump anims from spin anims:"
This reverts commit 27b65e3569.
2016-01-14 04:57:17 -08:00
Monster Iestyn
529f5af614 Removed a few old OpenGL-specific hacks that compensated for lack of dispoffset
(I won't touch overlays for now)
2016-01-13 22:50:16 -08:00
Inuyasha
24d1874fd6 Merge branch 'Rob-request-player-anims' into 'master'
Rob request player anims

[21:44:35] <@Rob> As far as I can tell the player-anims that I requested work
[21:44:45] <@Rob> That can probably be merged at this point

See merge request !22
2016-01-14 00:52:26 -05:00
Inuyasha
025ca413a2 The concept of "music slots" doesn't exist anymore.
Use whatever names you want for your music. So long as you prefix the lumps with O_ or D_, it doesn't matter anymore.
DISCLAIMER: Linedef type 413 (change music) and Lua scripting is not tested.
2016-01-07 19:48:20 -08:00
Inuyasha
dcde68912a Merge remote-tracking branch 'remotes/origin/master' into repeat-monitors 2016-01-03 19:30:46 -08:00
Monster Iestyn
27b65e3569 Several changes to split jump anims from spin anims:
* SPR2_JUMP and SPR2_SJMP are now the jump sprite sets for spin chars
* SPR2_SPNG and SPR2_SSPG are the new sprite sets for spring up anims (instead of JUMP/SJMP)
* S_PLAY_JUMP and S_PLAY_SUPER_JUMP are now the states for spin char jumps
* S_PLAY_SPRING and S_PLAY_SUPER_SPRING are the new states for spring up (instead of the "JUMP" states)
* PA_JUMP is now PA_SPRING (jumping anims are lumped with PA_ROLL)
2016-01-03 18:19:11 +00:00
Monster Iestyn
8cad9a6dc8 We can compile the slopes code now, yay! My brain hurts.
Compiling errors fixed in this commit:
* Various cases of mixed declaration and statement code
* Implicit declaration of slope functions (read: you forgot to put "include "p_slopes.h" in MORE than a few places)
* an odd case of a bad fixed_t to float typecase, cause by using P_GetZAt directly inside FIXED_TO_FLOAT
* a few minor cases of bad unsigned-signed comparisons
* no prototypes for some of the new slope functions. For goodness sake Red, this is basic stuff!
2016-01-03 10:30:36 -06:00
RedEnchilada
c38af2c6a2 Remove unused maxtop variable 2016-01-02 23:26:22 -06:00
RedEnchilada
ba8c0dfc6e Clean up dash mode and make multiplayer-compatible
Actionspd is now the running speed in dashmode.
2016-01-02 22:58:35 -06:00
RedEnchilada
a15a4ace7e Do dashmode thok speed adjustments at thok instead of modifying actionspd 2016-01-02 22:34:55 -06:00
wolfy852
ebd2bdd1c8 Add CA_DASHMODE to the game
This works fine in single player on vanilla builds, multiplayer is untested. This might not be the best way to handle the ability, so modifications for efficiency/sanity might be necessary.
2016-01-01 14:53:29 -06:00
Inuyasha
265a607b58 rewrite of monitors to accomodate repeat use monitors.
It's a lot nicer in general, honestly. I think a couple bugs with custom monitors respawning got fixed in the process.
Note that a monitorgfx.wad is needed if you want to see things besides <!>s for monitors, due to graphic changes.
2015-12-31 08:38:23 -08:00
Monster Iestyn
bb9488f2a2 Removed a few old OpenGL-specific hacks that compensated for lack of dispoffset
(I won't touch overlays for now)
2015-11-23 21:04:33 +00:00
Monster Iestyn
368b458eee We can compile the slopes code now, yay! My brain hurts.
Compiling errors fixed in this commit:
* Various cases of mixed declaration and statement code
* Implicit declaration of slope functions (read: you forgot to put "include "p_slopes.h" in MORE than a few places)
* an odd case of a bad fixed_t to float typecase, cause by using P_GetZAt directly inside FIXED_TO_FLOAT
* a few minor cases of bad unsigned-signed comparisons
* no prototypes for some of the new slope functions. For goodness sake Red, this is basic stuff!
2015-10-10 17:57:35 +01:00
Yukita Mayako
ba77b235d1 Merge branch 'match-rebalancing' into damage-control
Conflicts:
	src/p_inter.c
	src/p_user.c
	src/st_stuff.c
2015-09-30 20:40:27 -04:00
Alam Ed Arias
6ad1086128 Merge branch 'public_next' into master 2015-09-03 15:58:16 -04:00
Yukita Mayako
2fb03a7cff Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into angles
Conflicts:
	src/p_map.c - Automatically resolved by mergetool
2015-08-22 09:52:11 -04:00
Monster Iestyn
6bc1a5fdef Okay, major overhaul time!
*player->health (formerly the "HUD" health) is now to be known as player->rings, and now acts as the player's actual ring count
*player->mo->health (formerly rings + 1) is now always 1 when alive, regardless of ring count; if player with rings is damaged, this is untouched

Damage in normal SP/Coop gameplay has been tested and still works fine; still a lot of mess to clear up though

Tag damaging probably is broken now, I'll fix this later
2015-08-15 21:07:16 +01:00
RedEnchilada
6d3e318a0c Revert "Guess what major breaking-news bug I just fixed B)"
This reverts commit 9e306394dd.
Sorry MI, but this completely breaks large maps like AGZ.
2015-08-03 13:45:51 -05:00
Alam Ed Arias
22433bcb54 Merge branch 'new-animations' into 'master'
New player animations (Updated player.dta Sonic)

Adds support for several completely new player animations, mostly for Super Sonic.

See merge request !5
2015-06-22 09:59:39 -04:00
Yukita Mayako
496662bec5 Super float animation.
When Super Sonic is "walking in the air", he has a
unique animation for it now which is similar to how
it looked in previous SRB2 versions.
2015-06-19 01:30:06 -04:00
Yukita Mayako
ffec58c09c Add PA_EDGE to handle Super teeter animation bug.
States were being improperly checked where a panim
would be more appropriate.
2015-06-18 11:36:08 -04:00
Alam Ed Arias
fb5cba78d3 Merge branch 'public_next' into private
Conflicts:
	src/p_mobj.c
2015-06-18 10:54:53 -04:00
Yukita Mayako
fc649ce195 Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into hotfix-pltz
Conflicts:
	src/dehacked.c
	src/p_mobj.h
2015-06-09 07:38:21 -04:00
Yukita Mayako
9a9025b1ee Remove pmomz from players who are on ground.
Assume that every frame the player is on the ground, their pmomz will
be re-set properly if the floor is moving, therefore if the platform
STOPS, we need this to set it to 0.
2015-06-09 06:59:34 -04:00
Yukita Mayako
8a261ea467 Fix sprite2 fallbacks.
It didn't work at all before, oops. :/
2015-05-29 15:40:49 -04:00
Yukita Mayako
a1c67e7e67 Add MFE_APPLYPMOMZ to fix camera movement.
Here's how it works: When a player walks off the
moving platform, it applies their pmomz once, and
then _keeps pmomz set_ so that the camera still
adds pmomz to its movements until they hit another
floor. This way, the camera doesn't jerk around.
2015-05-29 13:53:06 -04:00
Yukita Mayako
3bc56a91b2 Hotfix for platform movement being dropped on players.
Now players will apply platform movement when jumping,
but only if the platform is moving the same direction
as their jump is, and all other objects will have an
appropriate pmomz in reverse gravity FOF situations.
2015-05-29 04:34:53 -04:00
Yukita Mayako
2d14173968 Allow spin button Jump Shield normally.
If you walk off a cliff with a jump shield, you
can now press EITHER the jump or spin buttons to
activate it and double jump.
2015-05-29 02:35:24 -04:00
Yukita Mayako
e9c1771017 Add new spindash animation.
This adds SPR2_DASH, S_PLAY_DASH, and
related p_user.c changes to give charging
your spindash a unique animation.
2015-05-29 01:52:42 -04:00
Yukita Mayako
98ba9ca140 Updated player->panims.
Added PA_JUMP and PA_RIDE to handle new Super jump
and ride, and added new animations to panim finder.
2015-05-29 01:48:56 -04:00
Yukita Mayako
406d809bc2 Change attract homing thok to negate Z.
Do not keep Z momentum from homing. It is a bad idea.
2015-05-27 22:57:42 -04:00
Yukita Mayako
8a1411b122 Attraction homing tweaks.
Lower homing speed.
Retain velocity after hitting your target.
2015-05-27 22:06:27 -04:00
Yukita Mayako
18920e486d Add sfx to Attract shield dash.
Because it seemed really weird for a
sudden shift of momentum to be unaccompanied.
2015-05-27 06:07:38 -04:00
Yukita Mayako
65f2d4b80f Add PF_SHIELDABILITY
This flag is used as a distinction between the
character ability CA_HOMINGTHOK and the attract
shield's active ability.
2015-05-27 05:59:42 -04:00
Yukita Mayako
4a1f0ce91c New attract shield active
Homing attack when activating the attract shield while jumping.
2015-05-27 05:24:50 -04:00
Yukita Mayako
c6c4ab7c53 New emerald behavior in Match.
No longer turns you super, instead emeralds steal points
from enemy players and give you (and relevant teammates)
an invincibility + super sneakers monitor.
2015-05-27 02:39:46 -04:00
Yukita Mayako
67fcff7ee7 New Match ammo consumption rules.
Weapon rings can now be fired with no rings at double the ammo cost.
2015-05-27 02:39:42 -04:00
RedEnchilada
a9d49cd9fa Make all specials reliant on floor touch work right with sloeps
(I might've missed some, though)
2015-05-24 12:53:30 -05:00
RedEnchilada
89319b1c2a Dummy out m_vector and use m_fixed's functions instead
These functions were already here before, and I /swear/ the slope
physics became slightly less glitchy after switching to them...
Only issue is the slope plane mapping code hasn't been properly
converted yet, so they don't render properly for now.
2015-05-22 22:07:07 -05:00
RedEnchilada
3f8e7b1739 Revert/remove unused/broken junk from original slopes port
m_vector removal to come later. The little thing commented out in it
is so I could revert the weird tables.c change.
2015-05-22 20:57:58 -05:00
RedEnchilada
0d9f8028b7 Players now bounce off of slopes on bouncy FOFs 2015-05-21 15:49:49 -05:00
RedEnchilada
0e94cc66ff 2-in-1! Fixed slide movement AND climbing when around slopes 2015-05-20 19:08:49 -05:00
RedEnchilada
7b0e98ef35 Change sliding physics and standing/rolling rules on slopes 2015-05-20 13:18:41 -05:00
RedEnchilada
371e23d55d Reduce acceleration pushback to less absurd levels 2015-05-13 16:02:19 -05:00
RedEnchilada
02d63aa011 Tweaks to slope physics + add accel rules for slopes
Your acceleration vector parallel to the slope is reduced based on slope
angle if it's going up the slope. The pull physics' momentum increase was
toned down a bit to go along with this. Also, I removed the ifdefs for
OLD_MOVEMENT_CODE because why should that be kept around?
2015-04-30 00:32:44 -05:00
RedEnchilada
923fae476e Merge branch 'fury-gh/slopes' into angles
Conflicts:
	src/p_maputl.c
2015-04-19 15:56:55 -05:00
Ronald Kinard
91934d5aec Merge branch 'next' into internal-master
Synchronize the following MRs to internal:

 * STJr/SRB2!6
 * STJr/SRB2!8
 * STJr/SRB2!9
 * STJr/SRB2!10

Conflicts:
	src/doomdef.h
	src/p_map.c
2015-04-14 19:33:38 -05:00
RedEnchilada
d2c74e1b13 Fix the west/south blockmap issue without fucking up huge maps 2015-04-08 21:32:07 -05:00
RedEnchilada
09345ce929 Revert "Guess what major breaking-news bug I just fixed B)"
This reverts commit 9e306394dd.
Sorry MI, but this completely breaks large maps like AGZ.
2015-04-08 20:50:49 -05:00
MonsterIestyn
9e306394dd Guess what major breaking-news bug I just fixed B)
...

(It's that infamous intangible West/South linedefs bug, which was really a blockmap-related bug all along. AND IT WAS SO SIMPLE TO FIX!)

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9048 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
MonsterIestyn
a797e88bb9 Red's last commit should have been using "pgl", not "gl" for function name prefixes, so the compiler would be happy. Also, more simplicity in my camera code please! Simplified some of the checks for whether a camera should chase or not etc
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9046 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
JTE
8d7b5941a8 Changed super colors to make them pulse instead of flash. Removed alt. supercolors from replay ghost stuff, because that's stupid. :/
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8999 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-01 20:43:11 -05:00
Alam Ed Arias
82fc6fd4c0 whitespace cleanup 2015-03-01 19:38:42 -05:00
Wolfy
19b52d19cb Have super sparks scale with the player
Fixes https://mb.srb2.org/showthread.php?t=40279

Should work fine, but do keep in mind that this fix is untested.
2015-03-01 19:38:42 -05:00
Alam Ed Arias
6513954789 whitespace cleanup 2015-03-01 19:30:22 -05:00
Wolfy
627889eec1 Have super sparks scale with the player
Fixes https://mb.srb2.org/showthread.php?t=40279

Should work fine, but do keep in mind that this fix is untested.
2015-03-01 19:28:57 -05:00
MonsterIestyn
0ab6710dfa Guess what major breaking-news bug I just fixed B)
...

(It's that infamous intangible West/South linedefs bug, which was really a blockmap-related bug all along. AND IT WAS SO SIMPLE TO FIX!)

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9048 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:24 -06:00
MonsterIestyn
d818b7af50 Red's last commit should have been using "pgl", not "gl" for function name prefixes, so the compiler would be happy. Also, more simplicity in my camera code please! Simplified some of the checks for whether a camera should chase or not etc
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9046 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:23 -06:00
MonsterIestyn
e83fa3dc43 Partial damage system overhaul: P_DamageMobj, P_KillMobj, P_HitDeathMessages and P_RingDamage now all take a "damagetype" variable that determines what type of damage was dealt. Does not replace the "damage" variable, we'll have to see if that is worth keeping another time?
Currently the main benefit of these changes is that a number of non-Object-related hazards/deaths no long rely on dummy MT_NULL objects or other hacks to tell the game how you were hurt/killed, yay

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9039 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:09:18 -06:00
JTE
3a0f5fd2ae Changed super colors to make them pulse instead of flash. Removed alt. supercolors from replay ghost stuff, because that's stupid. :/
git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8999 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 02:02:57 -06:00
JTE
b2681984a6 Merge branch 'player-animations'
SPR_PLAY now calls up a secondary spritedef for all animations for all players. Old character wads (including player.dta) are no longer compatible.

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@8993 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-02-24 01:59:38 -06:00
Alam Ed Arias
73b3287b19 SRB2 2.1.14 release 2015-01-01 14:50:31 -05:00
Alam Ed Arias
d959d0e462 Merge remote-tracking branch 'wolfy852/patch-2' into next 2014-11-29 13:08:32 -05:00
Ronald Kinard
54f0d0c110 IN PROGRESS: porting eternity slopes from srb2cb 2014-11-18 18:45:57 -06:00
Alam Ed Arias
404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
Wolfy
197e5fce55 Change super transformation to freeze momentum instead of bitshifting
Fixes https://mb.srb2.org/showthread.php?t=39921 where the issue before was that when you transformed your momentum would still have you moving slowly, which could cancel out the animation.
2014-10-01 21:19:32 -05:00
Alam Ed Arias
7cb77075d1 SRB2 2.1.11 release 2014-08-26 23:56:30 -04:00
Alam Arias
81cbdcccd5 Merge pull request #28 from wolfy852/master
Remove momentum reduction in CA_JUMPTHOK
2014-08-26 21:29:24 -04:00
Alam Ed Arias
d6c29e19ab SRB2 2.1.10 release 2014-08-05 19:59:40 -04:00
Wolfy
53c791b29c Remove momentum reduction in CA_JUMPTHOK
Also add new multiability handling for it
2014-08-04 13:38:19 -05:00
Alam Ed Arias
c028c83235 SRB2 2.1.9 release 2014-08-03 23:49:33 -04:00
wolfy852
39ce16a468 Add the Jump Thok ability for use by custom characters 2014-07-05 02:50:07 -05:00
wolfy852
a8f5406233 Add P_Telekinesis and P_IsFlagAtBase to Lua. 2014-05-25 21:41:05 -05:00
Wolfy
3f1038dcbe Unstatic P_SpawnSpinMobj. 2014-05-24 12:46:10 -04:00
Wolfy
ed82755b6d Unstatic P_SpawnThokMobj. 2014-05-24 12:30:33 -04:00
ilag
d8234f408b Ensures the force shield's movecount is correctly set before comparing 2014-05-15 11:36:17 -07:00
ilag11111
aafc0bcb0d Ensures that the force shield's sprite returns to the proper state after receiving an invincibility monitor.
Fixes http://mb.srb2.org/showthread.php?p=752815
2014-05-14 16:27:37 -07:00
Alam Ed Arias
8a9759a3e4 SRB2 2.1.8 release 2014-04-19 13:41:29 -04:00
Alam Arias
7fb530fd18 grr, shadows 2014-04-17 17:52:33 -04:00
Alam Ed Arias
d6e48e2168 whitespace cleanup 2014-04-17 17:47:51 -04:00
RedEnchilada
fa79c1856c Make player seethru code account for cut-away view 2014-04-17 13:46:40 -05:00
Alam Ed Arias
02a3b0776c SRB2 2.1.7 release 2014-04-14 01:14:58 -04:00
Alam Ed Arias
32de698f5e SRB2 2.1.6 release 2014-03-24 22:17:59 -04:00
Alam Ed Arias
15bd266cac SRB2 2.1.5 release 2014-03-23 12:00:29 -04:00
Alam Ed Arias
ed72bd8fa1 SRB2 2.1.4 release 2014-03-21 19:21:06 +00:00
Alam Ed Arias
2fed5d1270 SRB2 2.1.3 release 2014-03-18 13:56:54 -04:00
Alam Ed Arias
b93cb1b65a SRB2 2.1 release 2014-03-15 13:11:35 -04:00