Add TitleCardZigZag, TitleCardZigZagText and TitleCardActDiamond fields to SOC.
Add the same fields to Lua under their internal names.
Turn map header level flags into an UINT16, so that NoTitleCard works. (NOBODY caught this, I'm actually disappointed.)
* Moved levelname parsing to before where uppercase conversion occurs.
* Extended titlecard font range.
* Replaced misc. "ZONE" strings with "Zone" for titlecard purposes.
* Don't convert to uppercase when rendering the titlecard name.
Signed-off-by: Nev3r <apophycens@gmail.com>
* 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.
https://cdn.discordapp.com/attachments/405336003239477249/641295998395613224/srb20042.gif
* Port MUSICDEFs from Kart.
* Safe to modify without modifying game, so we can put it in music.dta eventually.
* "Title", "AltTitle", "Authors" fields are self-evident.
* "Soundtestpage" and "Soundtestcond" are used to determine which sound test unlockable can play them (set with Unlockable's variable, just like Level Select).
* "Stoppingtime" and "BPM" both accept floats, and are used for presentation stuff on the sound test.
* Ironically, we don't share a single field name with them. Such is the case of differing foci, though, and I expect they'll change their implementation to match (since this is necessary for a sound test).
* Change how S_AddSoundFx works to avoid iterating through all of them, and to allow cv_soundtest to only scroll through defined slots (instead of the infinite wall of thok sounds when scrolling to the left).
* Change V_DrawFixedPatch to allow scaling on two seperate axes.
* Now called "V_DrawStretchyFixedPatch".
* "V_DrawFixedPatch" is a macro to V_DrawStretchyFixedPatch now (same scale on both axes).
* Available to Lua under v.drawStretched!
* Even works in GL!
* Bugfix: Add SR_PLAYER to SOC's menutypes_list.
Stay tuned for the merge request, where I put the onus on the Music Team to finish this off...
* 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.
* 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).
* Make the center be the object stuff collides with, so that if the door is open people can't slip through.
* Add an MF_AMBUSH enhancement to allow non-minecart players to travel through.
* Make A_SaloonDoorSpawn more customisable. (var1 = object type, var2 = distance sides should be placed apart)
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).
Glide speed now starts at whatever speed you were traveling at prior.
If glide speed is below actionspd, the glide accelerates towards it.
When landing from a glide, player now enters a landing animation (SPR2_LAND); they cannot move in this state, but they can jump or start a spindash.
Ground-sliding after a glide can now be cancelled into the landing animation by releasing jump, where the same rules apply.
Climb speed increased x1.33.