Commit graph

411 commits

Author SHA1 Message Date
Jaime Passos c6f36fc470 un-ROTSPRITE rollangle and spriteinfo 2019-12-17 13:09:25 -03:00
Steel Titanium d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
lachwright c4f48ee979 Make Buggles spawn immediately breathable bubbles 2019-12-06 16:29:52 +08:00
MascaraSnake 07afb52a2a Merge branch 'deadstuff' into 'master'
Matters of mortality

See merge request STJr/SRB2Internal!558
2019-11-26 17:24:17 -05:00
toaster c55a6cb3f8 MascaraSnake is a bully and will make a pariah out of me in front of his doctoral student colleagues if I don't change this 2019-11-26 17:10:59 -05:00
toaster f1387a07a1 Instead of making conditions which check for death individually check for special stages to prevent lives loss, just set G_GametypeUsesLives to false in a special stage. 2019-11-26 12:30:32 +00:00
toaster 6ac44415fb Make P_CanPickupItem check whether Sonic is in a state to recieve it when Tailsbot tries to get it.
Specfically, this fixes the case where Sonic runs into something hazardous and spills his rings, but Tailsbot is immediately behind and ends up picking them all up the tic before they also get hurt.
2019-11-26 11:55:31 +00:00
toaster c0bc46ca9c A bunch of spike tweaks.
* Make it possible to break them in reverse gravity (resolves #348) by making the spikes break in a circle around the spike touched, rather than in a circle around the player.
* Fix the spike chunks spawned not being flipped in reverse gravity by using P_SpawnMobjFromMobj.
* Make their breaking sound singular (prevents eardrum destruction).
2019-11-24 22:38:26 +00:00
Monster Iestyn d1d1098f7c fix object type restrictions for popping monitors
(MT_BOUNCERING to MT_GRENADERING are actually the ammo pickups, MT_THROWNBOUNCE to MT_THROWNGRENADE are what actually want here)
2019-11-19 12:31:20 -05:00
MascaraSnake 7dc3484e5d Merge branch 'dragonbomber' into 'master'
Dragonbomber

See merge request STJr/SRB2Internal!489
2019-11-18 17:10:30 -05:00
MascaraSnake 2001cad144 Merge branch 'capsuletweaks' into 'master'
Egg Capsule tweaks

See merge request STJr/SRB2Internal!474
2019-11-18 15:24:13 -05:00
lachwright b721c035f8 Add Dragonbomber enemy 2019-11-18 05:23:59 +08:00
toaster 52bd4b05e1 * Make the Egg Capsule only explode for one second, but have the number of explosions (and flickies) multiplied 1.5 times.
* If the player is spindashing when the level is exited, they will un-spindash. (Currently you get stuck in charging)
2019-11-15 15:20:36 +00:00
Jaime Passos 88fb22d688 Yeah, yeah... 2019-11-14 22:14:40 -03:00
MascaraSnake b0786f12de Merge branch 'coop-item-respawn' into 'master'
Allow item respawn in co-op again

See merge request STJr/SRB2Internal!466
2019-11-14 18:06:32 -05:00
MascaraSnake 8f6890025c Merge branch 'secretstuff' into 'master'
The letter

See merge request STJr/SRB2Internal!438
2019-11-14 17:49:23 -05:00
Louis-Antoine f4beb4a56f Disable monitor respawning in co-op 2019-11-14 22:27:02 +01:00
Louis-Antoine ffd9cfebe6 Allow item respawn in co-op again
Why was it even disabled anyway.
2019-11-14 16:37:09 +01:00
MascaraSnake d9558fb724 Merge branch 'atz-hazards' into 'master'
Azure Temple Zone hazards, round 2

See merge request STJr/SRB2Internal!437
2019-11-12 18:05:44 -05:00
toaster 5729ba3cd2 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into metalrecording
# Conflicts:
#	src/p_user.c
2019-11-12 21:56:46 +00:00
MascaraSnake 7c7fc35ec5 Merge branch 'deathlaunch' into 'master'
Fix players being launched by slopes and pmomz when dying.

See merge request STJr/SRB2Internal!452
2019-11-11 11:22:12 -05:00
Louis-Antoine aa20e304cf Fix silly typo :P 2019-11-09 15:46:34 +01:00
toaster 24e5ccec0b Fix players being launched by slopes and pmomz when dying. 2019-11-08 19:40:40 +00:00
toaster 7cd7f9fdb7 Forgot to stage this. 2019-11-01 16:33:46 +00:00
toaster 67f5b2245f Secret stuff. (I intend to keep candid discussion of this outside of any commits; you'll see me write up a comment describing what's going on here soon.) 2019-11-01 15:48:50 +00:00
toaster 2d1a574e09 * Add a death animation for killing the Metal object, in case somebody wants to Lua up a Sonic CD style race finish for the Metal object, or in case of the following...
* Add an alternate DEMOMARKER for ending the Metal Recording on death, which kills the Metal object as well.
* Add some more relevant exceptions to the "most objects are removed when touching a deathpit" thing, primarily for the sake of ghosts and Metal playback.
2019-10-29 17:38:14 +00:00
lachwright 9436993a3e Implement new states for Buggle, the new Aquabuzz 2019-10-29 15:32:03 +08:00
toaster 1906709cf2 * Improve the Metal Sonic recording/playback system.
* Make the skin to record with Metal rather than Flesh Sonic. (Allowed even if not unlocked!)
    * Make the object that plays back the recording actually use the Metal skin, rather than just a seperate spriteset. (The boss will still need the spriteset, though.)
    * Actively record the player's sprite2, frame, and followmobj, just like regular ghosts do.
    * Disable dashmode while recording, for a fairer race.
    * Fix a probably long-standing bug where, while recording, being "hurt" would get Metal stuck in pain frames until they physically left the area of hurt.
    * Always start Metal recording in wait frames for bonus taunting.

Other relevant changes:
* Increment DEMOVERSION *again*.
* Improve the Record Attack ghost followmobj recording to accomodate Metal's jet.
* Increase the datatype width of spritenum_t read/write for Record Attack ghosts because SUGOI 4: Back With A Revengance will probably also use more than 255 sprites alone.
* Return to standing frames (or prolong them if you're in them, rather than going to wait frames) if the player rotates on the spot with enough force.
    * This was specifically done *for* Metal recording, but I decided it looked good enough to enable all the time.
2019-10-28 22:12:47 +00:00
lachwright e89948ce71 Merge branch 'master' into metalstuff 2019-10-26 16:07:59 +08:00
lachwright ca768b044d Merge branch 'master' into metalstuff 2019-10-26 08:30:37 +08:00
lachwright 63d24d529a Merge branch 'master' into knuxstuff 2019-10-26 05:53:49 +08:00
toaster f2596ab0bb Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into object_tweaks
# Conflicts:
#	extras/conf/SRB2-22.cfg
2019-10-25 20:32:15 +01:00
MascaraSnake 5a28c03a26 Merge branch 'superminecarts' into 'master'
Super and Minecarts fixes (resolves #259)

Closes #259

See merge request STJr/SRB2Internal!408
2019-10-25 15:19:47 -04:00
toaster 989e089e0a resolve #263 (this is going into master because it's literally just the line being present twice) 2019-10-24 19:00:54 +01:00
toaster a215eeabf0 * Fix Super players who die being eternally super.
* Fix music stack corruption in multiplayer where a super player dies and it's not you.
* Fix players in minecarts having their state eternally set to S_PLAY_STND (bug discovered/evident while super, so goes in this branch).

Resolves #259.
2019-10-24 18:51:12 +01:00
lachwright 06bbbb5cf8 Put dashmode players in pain state when damaging enemy with >1HP 2019-10-23 13:54:15 +08:00
toaster ad09f2603d * New object types!
* Red and yellow Boost panels!
        * Added because SUBARASHII and KIMOKAWAIII had several levels using them, and I wanted to make them look better.
        * https://cdn.discordapp.com/attachments/359091121789468672/634486669202161674/srb20015.gif
        * Uses the mapthingnums of Glaber's SOC resource boosters, but absolutely nothing else - not even the magnitudes.
        * Apply MF_AMBUSH to force the player into a spin - even if they don't have a spin ability!
    * Banpyura!
        * A Crushstacean with a spring instead of a crushclaw.
        * https://cdn.discordapp.com/attachments/428262628893261828/634432099306176512/srb20019.gif
        * Wanted this for a while, finally added it.
* Improved springs.
    * Add pw_noautobrake to disable autobrake for half a second when touching yellow horizontal springs, and a second when touching red ones, even on the ground.
    * Add pw_justsprung to disable directionchar for a few tics while touching any springs with a horizontal component to their velocity.
    * Add the diagonal spring flag options Red and Yellow Diagonal Springs have to the Blue Diagonal Spring as well.
    * Started but decided against a tip of the hat to the CD spring spin, hidden behind #define SPRINGSPIN.
* Make directionchar "lag behind" a little bit in waterslides.
* Improved flame jets.
    * They now use new sprites for having their flames move upwards and sideways, instead of having them always face downwards like in 2.1!
* Fixed a mixed declaration and code error in A_RolloutRock. (Sorry Lach!)
* Make the Amy Cameo only spawn in SP, Record Attack, or Co-op unless it's the Clone Mode.
* Improved ZB config.
    * Add above new types.
    * Add Blue Diagonal Spring, which existed in the source but not the config.
    * Re-order enemies in ZB config by zone (but keep them in the Enemies section only).
2019-10-18 18:33:45 +01:00
lachwright b48d8cf68b Merge branch 'master' into knuxstuff 2019-10-15 02:50:59 +08:00
lachwright 9cad882626 Merge branch 'master' into knuxstuff 2019-10-15 02:49:44 +08:00
toaster 57f756ddf1 Fix condition which was MEANT to allow attacking Fangboss from the side while bouncing, but instead made it extremely difficult to pull off. 2019-10-13 15:30:51 +01:00
toaster 1560453797 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into rvz-hardcode
# Conflicts:
#	src/p_map.c
2019-10-10 17:51:29 +01:00
MascaraSnake c17a3227a0 Merge branch 'bumperstuff' into 'master'
Change the time NiGHTS bumpers aren't responded to to 5 tics rather than 9.

Closes #246

See merge request STJr/SRB2Internal!365
2019-10-10 02:35:33 -04:00
toaster 1155a7c3a0 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into rvz-hardcode
# Conflicts:
#	src/p_mobj.c
2019-10-08 19:43:43 +01:00
MascaraSnake 0fceb66e71 Make the Pyrefly glowing and damaging in its fire-spawning state 2019-10-07 22:23:52 +02:00
toaster d84564d9f2 Change the time NiGHTS bumpers aren't responded to to 5 tics rather than 9. 2019-10-07 13:08:49 +01:00
toaster d19aebb01a * Fix Minus being intangible after launch.
* Implement MS's temp bodge-fix for the TNT getting stuck on the player.
2019-10-06 16:15:13 +01:00
toaster 8b1a20f415 Fix Minus causing crashes if it picks up a Snapper. 2019-10-06 16:04:19 +01:00
toaster 5bbc31c18f Merge branch 'acz-fixes' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into acz_touchups
# Conflicts:
#	src/p_enemy.c
2019-10-06 15:18:59 +01:00
toaster df2600cbea Resolve #208.
* Tailsbots can't get into Minecarts.
* Tailsbots will stop trying to move around when the player gets pw_carry, which usually means some sort of big gimmick is happening and trying to move along with it would make the tailsbot look stupid.
2019-10-06 12:13:13 +01:00
MascaraSnake 5460e0e1f9 Merge branch 'master' into acz-fixes 2019-09-30 20:50:33 +02:00
MascaraSnake e75dee7747 Fix various minus carrying bugs 2019-09-30 20:35:47 +02:00
lachwright 5bbd56b6fa Improve glide bounces 2019-09-30 16:35:05 +08:00
lachwright 906a2b1f59 Merge branch 'master' into knuxstuff
Update to master (necessary for climbing changes)
2019-09-30 09:56:04 +08:00
MascaraSnake 26ecab14d7 Implemented the Pterabyte grabbing mechanic 2019-09-29 18:42:17 +02:00
toaster 4d058d1d25 Merge branch 'lachfixes' into 'master'
Several bug fixes!

Closes #210, #192, and #189

See merge request STJr/SRB2Internal!345
2019-09-27 08:52:23 -04:00
lachwright 68ee7a6658 Fixed spectators taking unwarranted damage in splitscreen 2019-09-25 17:13:03 +08:00
Lachlan Wright 3b30b9d656 Add parentheses over change 2019-09-25 05:00:43 -04:00
Lachlan Wright 637490e2de AI players no longer take shield damage in Ultimate mode 2019-09-24 23:49:20 -04:00
lachwright 98d0a0d98e Added bounce-off behavior for multi-hit enemies/bosses 2019-09-24 03:54:04 +08:00
sphere f8c97aeb27 Tweak bubble grabbing behavior. 2019-09-22 04:05:22 +02:00
Nev3r 777e7f8760 Merge branch 'deathstuff' into 'master'
Lots of death stuff

Closes #207

See merge request STJr/SRB2Internal!306
2019-09-16 16:32:45 -04:00
Nev3r 21b5ebf6fa Merge branch 'abilityclean' into 'master'
Clean up an ungodly amount of shit relating to abilities.

Closes #195, #167, and #177

See merge request STJr/SRB2Internal!307
2019-09-16 16:09:20 -04:00
toaster 2b0344a22f Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into deathstuff 2019-09-09 15:25:48 +01:00
toaster 6815748a3e Merge branch 'flippost' into 'master'
Flippost

Closes #206 and #191

See merge request STJr/SRB2Internal!320
2019-09-08 16:24:58 -04:00
toaster 11e3f5ec96 Change flipped starpostz to define the top of the player object, for cases where scale on contact with starpost is different to spawn scale. 2019-09-08 21:21:36 +01:00
toaster 2e90c40934 Fade time before Game Over track.
Notably, can no longer use P_PlayJingle because of pre-fade.
2019-09-08 18:00:01 +01:00
toaster d26ff197dc * Store gravflip (resolves #206) and destscale in starposts. (Using the same field, taking advantage of the fact that object scale will always be positive!)
* Update the function signature of P_MixUp to accomodate both it and drawangle instead of doing it outside of the function.
* If the player is spawning from the start of the stage and it's from the ceiling, be in fall frames as requested (resolves #191).
2019-09-07 22:12:47 +01:00
toaster 99b4439b2a * Allow CA2_GUNSLINGER users to pop monitors with their ability (as long as their weapon type isn't a pre-existing weapon ring).
* Correct the position of a carried player relative to Tails.
2019-09-07 11:33:26 +01:00
toaster bb2012a8d0 Clean up an ungodly amount of shit relating to abilities.
* Put everything in P_DoJumpStuff, instead of half in that function and half spread across the player thinker.
* Have a proper if else cascade that first tries shield abilities, then super transformation, then random abilities like CA_TELEKINESIS.
* Use this new arrangement to allow CA_TWINSPIN users to use their ability on spin if their secondary ability is CA2_MELEE (resolves #195).
* Random bugfixing. Didn't keep track of what I'd caused while working on this and what was already there, but there was a lot of it.

The only two abilities which have spin-button properties outside of the else block is CA_AIRDRILL and CA_FLY/CA_SWIM (which now also prevents you from swimming down in goowater).
2019-09-06 19:01:46 +01:00
toaster f07309707d Lots of death stuff.
* Genesis-style love and attention to the death event.
	* Only visibly decrement lives/rings when you're respawning (or game over, see below).
	* Faster no-button-press respawn.
* Game Over specific love.
	* Animation of Level Title font coming in from the sides.
	* https://cdn.discordapp.com/attachments/428262628893261828/617692325438554132/srb20067.gif
	* Change gameovertics to 10 seconds instead of 15.
	* Make the minimum time before you can force going to the Continue screen longer.
* Accomodate death in MP special stages as a form of exit.
	* Don't have your rings or spheres reset when you die in a special stage, so that the stage isn't softlocked with the new harder limits.
* Fix a bug with CoopLives_OnChange where changing to infinite lives didn't force a game-overed player to respawn.

Also, two not-quite death things which nonetheless were relevant to change:

* Fix quitting a special stage having some of the shared spheres/rings disappear into the aether.
* Fix a warning during compilation for the Ring Penalty print.
2019-09-01 15:55:23 +01:00
toaster 6a9da63d7f Motor's new Eggman sprites, along with some other sweet bits of boss polish. What else can I say? Just play it. 2019-08-30 19:19:54 +01:00
toaster 324c584e5d Tweak the ACZ3 fight a little, animationwise, since every other non-Brak boss got an upgrade to its death anim in this branch.
Also make its bomb throw anim use all the new sprites.
2019-08-13 19:41:04 +01:00
toaster 384dc0674e Revert "Revert "Merge branch 'musicplus-aug2019-b' into 'master'""
This reverts commit 603d5805f7.
2019-08-04 12:03:57 +01:00
toaster 603d5805f7 Revert "Merge branch 'musicplus-aug2019-b' into 'master'"
This reverts commit 56bfdb7113, reversing
changes made to c29cfbef9b.
2019-08-04 11:32:55 +01:00
mazmazz dd9efebab5 Merge remote-tracking branch 'origin/master' into internal-musicplus-jingle 2019-08-03 23:38:49 -04:00
Monster Iestyn 94c1873b8c Merge branch 'anglestuff' into 'master'
Spring angles and ring angles

See merge request STJr/SRB2Internal!266
2019-08-02 13:10:23 -04:00
toaster 18e43a5cef * Fix "exitlevel" being counted as a special stage success despite not giving you an emerald by inverting stagefailed's default value, since there's only a limited number of ways you can WIN at a special stage.
* Correct a potential source of desync in P_GiveEmerald.
2019-07-30 16:44:40 +01:00
toaster 62c708e64a Two one liners related to angles, so doin' em in a single branch.
* If a spring has vertical speed AND horizontal speed, always set the player's angle when touching it.
* If you have less than 32 rings and spill them, they now get launched away from the player's motion, rather than in the direction of the camera.
2019-07-29 20:29:02 +01:00
Jonas Sauer 166f1fac66 Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
Monster Iestyn 63d337211e Merge branch 'eggcolosseum' into 'master'
Egg Colosseum (CEZ3 remaster)

See merge request STJr/SRB2Internal!248
2019-07-09 16:32:24 -04:00
Monster Iestyn 11a24b88ee Merge branch 'seaegg_tweaks' into 'master'
Sea Egg

See merge request STJr/SRB2Internal!244
2019-07-09 16:25:07 -04:00
toaster 2df90888bb Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into eggcolosseum
# Conflicts:
#	src/p_mobj.c
#	src/sounds.c
#	src/sounds.h
2019-07-09 19:52:52 +01:00
toaster 98b6280d03 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into toast_cleanup
# Conflicts:
#	src/p_mobj.c
2019-07-08 13:53:31 +01:00
toaster 1f15209eb5 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into seaegg_tweaks
# Conflicts:
#	src/p_enemy.c
#	src/p_mobj.c
2019-07-08 13:52:11 +01:00
toaster 867f7ecfca ha ha ha how can i possibly describe this commit
Just wait for the MR, it won't be far behind.
2019-07-08 13:26:40 +01:00
MascaraSnake e9978b2955 Merge branch 'master' into thinkerlists
# Conflicts:
#	src/f_finale.c
#	src/p_enemy.c
2019-07-02 23:08:37 +02:00
toaster f9f92abc44 ha ha ha ha ha ha ha ha
Sea Egg is majorly changed according to Mystic's ancient instructions (excepting the flying FOF rock, I cared not for fucking around with FOFs).

Specifically:
* Faster paced fight.
* Instantly travels horizontal distance.
* Fakes no longer hurt papa, and spin out like a deflating balloon when he dies.
* New attack: When surfacing, produces an electric shockwave. Replaces underwater shock. Designed for new, shallow arena.
* Support for multiple bosses in the same map distinguished by parameter.

Will upload map to fight the new battle in on the MR.
2019-06-30 15:37:33 +01:00
mazmazz 923dc34215 Merge branch 'public-notpublic-musicplus-jingle' into internal-musicplus-jingle 2019-06-29 18:33:45 -04:00
mazmazz 6244489fd0 Merge branch 'public-musicplus-jingle' into public-notpublic-musicplus-jingle 2019-06-29 18:10:44 -04:00
MascaraSnake 836d3d3186 Fixed Canarivore gas going through the floor 2019-06-29 00:19:46 +02:00
toaster 8f6973cb51 Now it's CA_TWINSPIN's turn to get the improvements!
* Remove PF_THOKKED every time a successful damage bounce occours.
* When this happens, spawn a number of particles based on thokitem at half scale! (Optimised, again, for MT_LHRT.)
* Also spawn these particles when a successful spring boost occours, as well as playing a twisted spring sound.

Also, some other related tweaks:

* Optimisations to A_VultureBlast, which was used as a base for the particle creation.
* Make the Metal Sonic boss use P_PlayerCanDamage instead of a custom, somewhat broken player damage detection mechanism.
* P_SpawnGhostMobj takes colorized into account.
* Fold Tails propeller damage into P_PlayerCanDamage.
* When performing an Attraction Blast, place the player in roll frames.
* Update all conditions preventing SH_PINK to incorporate thokitem and spinitem as well.
* Buff MT_LHRT travel distance at slow speeds.
2019-06-26 23:26:05 +01:00
toaster d5988c4f8c Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into toast_cleanup
# Conflicts:
#	src/p_mobj.c
2019-06-26 20:43:37 +01:00
toaster 3021116797 Some preliminary work to make multiple bosses in the same map work nicely together, by allowing parameter to alter the linedef executor tag to call in increments of 100.
Also: Making sure every single reserved tag is recorded as an LE_ constant.
2019-06-22 17:03:39 +01:00
toaster 81882b63b8 As I wanted MI to do but he was too exhausted at the time from hardcoding, make the Fang bullet knockback less hardcoded and instead give it MF2_SUPERFIRE.
# Conflicts:
#	src/p_mobj.c
2019-06-22 17:03:10 +01:00
toaster 50e4a65f99 Correct some more oversights of switching to revitem for CA2_MELEE's particles. 2019-06-21 12:51:55 +01:00
toaster d5e91ed8d7 Don't give SH_PINK in Race/Competition. They're your opponents! 2019-06-21 12:35:37 +01:00
toaster 460632ad3b Some preliminary work to make multiple bosses in the same map work nicely together, by allowing parameter to alter the linedef executor tag to call in increments of 100.
Also: Making sure every single reserved tag is recorded as an LE_ constant.
2019-06-20 00:24:13 +01:00
toaster 84ff2a57a1 As I wanted MI to do but he was too exhausted at the time from hardcoding, make the Fang bullet knockback less hardcoded and instead give it MF2_SUPERFIRE. 2019-06-19 23:29:39 +01:00
toaster 2e6898f29e PITY IN PINK!
* Smoothen Pity Shield animation to go with sphere's updates to Nev3r's sprites.
* Added LHRT object, designed to be summoned with CA2_MELEE.
    * Gives a pink Pity Shield (SH_PINK) on same-team player contact.
    * Deals damage to non-player enemies.
    * Harmlessly fades into nothing when touching an enemy player, players with SH_PINK already, and players capable of applying SH_PINK to others (through non-Lua methods).
* Basically, you-know-who is the Healer of the party whenever they're around. Fun consequences for the Co-op and CTF metas.
2019-06-19 23:20:24 +01:00
toaster 6a58ae34d1 In order to make P_PlayerCanDamage more flexible, I ended up bundling the invincibility/super checks into there.
Also, the start of my improvements to CA2_MELEE. Users of that abiliy can only damage enemies/monitors if they touch the front of the player object, but to make up for it, the player is no longer forced away from the direction of the screen at bigger movement speeds.
2019-06-19 13:20:34 +01:00