Commit graph

830 commits

Author SHA1 Message Date
lachwright
9a7979d841 Have Minus rotate in mid-air 2019-11-24 22:29:26 +08:00
Louis-Antoine
032f53ce07 Prevent drowning after completing the level 2019-11-19 22:44:33 +01:00
toaster
2bba25c1e1 As selected by Nev3r, implement option 2: Proximity Bastard for the Sea Egg to resolve #303. 2019-11-19 15:59:24 +00:00
James R
f3e66f7b58 dist is unused 2019-11-18 15:53:30 -08:00
MascaraSnake
7dc3484e5d Merge branch 'dragonbomber' into 'master'
Dragonbomber

See merge request STJr/SRB2Internal!489
2019-11-18 17:10:30 -05:00
MascaraSnake
1365ef49b3 Merge branch 'jester-fireball' into 'master'
Mario fireball by Jester (resolves #296)

Closes #296

See merge request STJr/SRB2Internal!487
2019-11-18 15:56:33 -05:00
MascaraSnake
baaec6f191 Merge branch 'nightstail' into 'master'
NiGHTS tail

See merge request STJr/SRB2Internal!482
2019-11-18 15:41:52 -05:00
lachwright
f786a8dbf6 Important fixes & mine lob speed reduction 2019-11-18 22:57:26 +08:00
Jaime Passos
64939816fb Fireball 2019-11-17 21:25:17 -03:00
lachwright
cf53e255eb Remove tester console prints 2019-11-18 05:31:26 +08:00
lachwright
b721c035f8 Add Dragonbomber enemy 2019-11-18 05:23:59 +08:00
toaster
0c98fb746c Add some NiGHTS animations which default to normal player sprite2s to the existing player->panim set list, which makes Tails' tails appear due to how P_DoTailsOverlay is coded (assuming the skin is Tails, requiring them to have SPR2_NFLY available). 2019-11-17 18:04:02 +00: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
MascaraSnake
6c6d89ca57 Merge branch 'flickies_not_in_walls' into 'master'
Flickies not in walls

See merge request STJr/SRB2Internal!461
2019-11-14 18:07:19 -05: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
18dc6013ed Disable item respawn in NiGHTs levels 2019-11-14 21:21:42 +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
toaster
a3de6d21c4 * Add a "moveforward" param to P_InternalFlickySpawn, which controls whether to spawn the flicky a little in front or behind of the object making it.
* Expose this via additional upper-16-bits flags of A_FlickySpawn.
* Use this to make Snailers not spawn their flicky inside the wall they're attached to.
* Make the behaviour of Egg Capsules more consistent mechanically regarding the flicky spawning, using the above as one relevant element.
2019-11-13 20:14:08 +00: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
3580977eb3 Merge branch 'elementalgoop' into 'master'
THZ goop and Elemental (Resolve #260, I hope?)

Closes #260

See merge request STJr/SRB2Internal!419
2019-11-11 11:42:19 -05:00
MascaraSnake
049e599f2e Merge branch 'spinny-sign' into 'master'
Papersprite end signpost

See merge request STJr/SRB2Internal!442
2019-11-11 11:39:56 -05:00
MascaraSnake
41b95437da Merge branch 'rvz-cleanup' into 'master'
RVZ1 lag reduction

See merge request STJr/SRB2Internal!445
2019-11-11 11:29:53 -05: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
MascaraSnake
2e1e9b13d9 Merge branch 'magicalmovingfire' into 'master'
Magical moving fire

Closes #278

See merge request STJr/SRB2Internal!453
2019-11-11 11:18:20 -05:00
toaster
8e2cb88576 Lach wanted to do this, but we might have a release candidate before he gets back, so did it myself.
Make the wall transfer while spinning PF_SPINNING|PF_THOKKED. This:
* Prevents PF_MULTIABILITY players from using their ability after a wall transfer.
* Has a more specialised case which allows players to roll after having wall-transferred while spinning.
* (side effect) allows modders to apply PF_THOKKED any time for more controllable spinning.
2019-11-09 17:49:26 +00:00
toaster
d8b14e54c9 Resolve #278. 2019-11-08 21:43:39 +00:00
toaster
24e5ccec0b Fix players being launched by slopes and pmomz when dying. 2019-11-08 19:40:40 +00:00
toaster
bb182b9ec7 Resolve #283. 2019-11-08 13:58:53 +00:00
lachwright
c43551384d Reduce RVZ particle spawns when no players are in proximity 2019-11-07 16:00:44 +08:00
lachwright
5e03d40b33 New end-of-level signpost logic 2019-11-04 16:28:44 +08: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
lachwright
7c08cd69fa WIP new states for Glaregoyle 2019-10-31 00:32:19 +08:00
toaster
04f400e048 Give the clone fighter's vectorisation colour, rather than forcing greyscale. 2019-10-29 23:24:00 +00:00
toaster
4d55a9f4a9 Metal Sonic battle improvements.
* Tweaked to use new sprites.
* Jet fume behaves much closer to Lach's wonderful work.
* Instead of clobbering tracer to spawn powerup overlay, use hprev.
* Change timings. One second less to charge up, but two seconds less to spin them out.
* Remove terrible pinch overlay in favour of new dashmode-mimic flashing.
2019-10-29 23:11:12 +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
toaster
f0f8b544de * Add thok auras to Metal playback.
* Add height changes to demos and Metal playback (to properly place thok aura relative to object).
* Fix followmobj recordings in reverse gravity (done via more strenuous flag setting + info height serialisation).
* Make RA ghosts fade in from start tic, and go colorized on their final one.
* Fix thok auras potentially doing bad things if they're set to MT_NULL.
* Add sprite change support to Metal playback.
* Re-enable some stuff I previously disabled for Metal recording/playback.
* Make ALL objects spawned with skins properly acknowledge that their spawnstate's frame is a sprite2, rather than just specific objects.
* Fix placement of Metal Sonic fume in reverse gravity.
* Since not backwards compatible with the previous test build, increment DEMOVERSION again. (Don't worry, we've got like 65524 more versions allowed before we run out of possible DEMOVERSIONs...)
2019-10-29 15:32:22 +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
toaster
2439b2cb32 More consistent momentum handling for "groundpounding" shield abilities (elemental, bubble) in THZ goop. 2019-10-27 13:37:14 +00:00
James R
634292a5fc Differing signedness comparison 2019-10-25 21:44:34 -07:00
MascaraSnake
03c5b70fc5 Merge branch 'newmenus' into 'master'
Better looking menus, nametags and much more. (Resolves #245 and #244 and #252)

Closes #245, #244, and #252

See merge request STJr/SRB2Internal!389
2019-10-25 17:46:16 -04: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
829706a090 Merge branch 'walltransfermove' into 'master'
Let players move after spinning off a wall transfer

See merge request STJr/SRB2Internal!412
2019-10-25 15:20:20 -04:00
lachwright
2d458059c8 Don't fuck nojumpspin characters who are capable of rolling 2019-10-25 18:51:41 +08:00
lachwright
d5b1467e79 Put player in jump state after spinning during a wall transfer 2019-10-25 18:48:40 +08:00
toaster
4ff46d14dd Added an experiment with an alternate CEZ3 pinch behaviour (but keep it disabled because it was kind of boring). 2019-10-24 19:55:02 +01:00
toaster
ea0fe50f5a Fix CEZ3's first phase being cheated by Fang. 2019-10-24 19:33:03 +01:00
toaster
c8629c2aab Adjust hardcoded skin numbers for character-related events, to fit with the re-ordered skins. 2019-10-19 18:16:52 +01:00
toaster
920736ac8b Grouped ports from object_tweaks.
* Make the Amy Cameo only spawn in SP, Record Attack, or Co-op unless it's the Clone Mode.
* Add the diagonal spring flag options Red and Yellow Diagonal Springs have to the Blue Diagonal Spring as well.
* Put diagonal blue spring in config.
2019-10-19 15:57:01 +01:00
toaster
8e9ada1093 * Add MT_BANPYURA and MT_BANPSPRING to dehacked.c.
* Correct spelling of `MT_BANPSPRING`.
2019-10-18 20:32:35 +01: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
MascaraSnake
d735e1b9c2 Merge branch 'rvz-hardcode' into 'master'
RVZ hardcode

Closes #178

See merge request STJr/SRB2Internal!357
2019-10-12 09:37:23 -04:00
MascaraSnake
68a82c3849 Merge branch 'amycameo' into 'master'
Amy for Frozen Hillside (full pitch in description)

See merge request STJr/SRB2Internal!356
2019-10-12 07:16:26 -04:00
MascaraSnake
0f562d27d7 Merge branch 'fastgoop' into 'master'
Increased THZ goop speed by 25%

Closes #229

See merge request STJr/SRB2Internal!367
2019-10-12 03:10:26 -04: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
7fedde9811 Merge branch 'promiscuousplanes' into 'master'
Headbumps and associated

Closes #242

See merge request STJr/SRB2Internal!360
2019-10-10 02:36:10 -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
toaster
4870107974 Increased THZ goop speed by 25%, per Cobalt's script. (Hardcoding it was way more difficult than it looked, I'm rusty at my maths :V ) 2019-10-08 16:38:53 +01:00
MascaraSnake
0fceb66e71 Make the Pyrefly glowing and damaging in its fire-spawning state 2019-10-07 22:23:52 +02:00
MascaraSnake
8062422f13 Fixed wrong sound being played by Pyreflies with Ambush 2019-10-07 19:11:36 +02: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
a5704238c7 Resolve #242 by adding SF_TRIGGERSPECIAL_HEADBUMP, enabled by ML_EFFECT2.
Also, readd SF_INVERTPRECIP, which was done in a random branch last year and then lost because it was never merged. Enabled by ML_EFFECT1.
2019-10-06 14:34:25 +01:00
MascaraSnake
defffd667e Fixed and simplified the big fern leaf spawning code 2019-10-06 14:18:27 +02:00
MascaraSnake
17a2d1071c Spawn big fern leaves relative to angle 2019-10-06 10:30:22 +02:00
MascaraSnake
357baeaa60 Added gravflip support to lavafall, Pyre Fly and Pterabyte 2019-10-05 22:20:48 +02:00
MascaraSnake
16d077fde3 Coins don't melt in lava and lavafalls have displayoffset 1 2019-10-05 20:00:54 +02:00
MascaraSnake
99220ae48b Fixed a typo 2019-10-05 10:45:24 +02:00
MascaraSnake
cabc4e0294 Implemented lava splish. Feel free to suggest a different "splish" sound. 2019-10-05 10:00:59 +02:00
MascaraSnake
5c1fabfaae Lava is now either completely solid or completely intangible. No more half-assing 2019-10-01 21:58:18 +02:00
toaster
f224e03e1d Amy cameo for Frozen Hillside. Wait for the MR, I'll make a fuller pitch there... 2019-10-01 18:19:37 +01:00
MascaraSnake
5460e0e1f9 Merge branch 'master' into acz-fixes 2019-09-30 20:50:33 +02:00
MascaraSnake
d301d2bba4 Fixed a bug with the ring lava melting 2019-09-29 23:22:38 +02:00
MascaraSnake
4375ea8089 Lava now melts rings! 2019-09-29 23:11:21 +02:00
MascaraSnake
c00144a4f8 Pterabyte: Don't target players who are invincible after being hurt 2019-09-29 19:29:34 +02:00
MascaraSnake
26ecab14d7 Implemented the Pterabyte grabbing mechanic 2019-09-29 18:42:17 +02:00
MascaraSnake
598047ae8b Hardcoded the Pterabyte (without the grabbing mechanic) 2019-09-29 10:39:09 +02:00
toaster
55a2f1ee1f Merge branch 'bossprovements' into 'master'
ACZ3 intro

Closes #217

See merge request STJr/SRB2Internal!346
2019-09-27 08:55:19 -04:00
toaster
40a7b67a86 Merge branch 'dsz3shockwave' into 'master'
Deep Sea Zone 3 hardcoding

Closes #185

See merge request STJr/SRB2Internal!349
2019-09-27 08:54:57 -04:00
sphere
bc128dffdc Fix compiling errors, thanks to toaster. 2019-09-26 23:15:52 +02:00
lachwright
264c60fb70 P_SetTarget fixes, added SPR_SHCK to hw_light.c 2019-09-27 02:13:02 +08:00
toaster
ec1712064c * Add vwre vwre intro for Fang Clone Fighter battle. (Still skipped with presence of MTF_AMBUSH)
* https://cdn.discordapp.com/attachments/428262628893261828/626792815451701259/srb20006.gif
* Add fadeout instead of slapstick for Fang Clone Fighter death.
* Allow placed Fang and Metal Sonic objects to be marked as Clone Fighters always through presence of MTF_EXTRA.
2019-09-26 17:06:29 +01:00
lachwright
0cd3e4fd62 Hardcoded DSZ3 shockwave 2019-09-26 05:27:51 +08:00
lachwright
fb9248793a Fix errormode compilation error 2019-09-25 23:09:05 +08:00
lachwright
c1750d9359 Fixes shield ability usage when pressing spin on ACZ ropes (and also changes flame shield angling) 2019-09-25 22:36:48 +08:00
toaster
2a452ddcf5 Remember when Lach recorded their live reaction to 2.2 so far? Do you recall what the reaction to ACZ3 was?
If you don't, the reaction was "WHAT?? Why is he here? This is GREAT but, what??" And while the reaction is on the positive end of things, it's stll clearly not advisable for our defining Big Reveal of the already huge update.

To this end: Here is a mini cutscene! https://cdn.discordapp.com/attachments/428262628893261828/626207624043429898/srb20005.gif
* He's digging through Eggman's trash.
* Clearly doesn't expect to see you!
* Ready for a fight all the same.
* You can attack him during the mini cutscene if you're impatient.
* Skipped if you give him MTF_AMBUSH.
* Requires new assets (including map) to test, but I'm not ready to make a MR yet because I have other thoughts first.

Also, since I was poking around in p_enemy.c, I fixed A_Boss1Laser's issues (not working with direct 2.1 port states and having the weird secondary attack).
2019-09-25 14:36:20 +01:00
toaster
7da89e3bc9 Merge branch 'camerafix' into 'master'
Camera fixes

Closes #105

See merge request STJr/SRB2Internal!303
2019-09-20 11:51:30 -04:00
toaster
f8475eef26 Disable some code which sometimes makes the player enter walking frames when jumping up to a platform, such as the CEZ3 buttons, despite still being in jumping mode.
If this causes more problems than it solves it can be reverted, but doing a bunch of playthroughs of DSZ1/2, GFZ1, and CEZ3 didn't seem to uncover anything, so I'm tentatively putting it in this branch.
2019-09-19 13:20:52 +01:00
toaster
3285cc9a0d Properly scrub the player struct clean between level transitions. (Good chance this fixes our new bug where the player gets stuck in their standing pose when the map begins..?) 2019-09-18 16:06:13 +01:00
toaster
e993b8981e Fix solidity of lava in reverse gravity. (Resolves #216) 2019-09-18 13:55:20 +01: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
James
737690c8b8 Added cam_adjust, de-ghettoified the camera in general 2019-09-11 10:45:59 -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
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
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
0986195d21 Bunch of fixes for dying in MP special stages.
* Don't allow the stage to be reloaded in G_DoReborn.
* If you do ANY spawn after the very beginning moment, you're forced to be a spectator.
* Have the "%d player%s remaining" Co-op exiting count visible at the same time as spectator controls.
2019-09-04 15:51:14 +01:00