To make the MT_PETSMOKER make vaping clouds for Volcanic Valley instead, apply MTF_OBJECTSPECIAL on the spawnpoint.
Since I had to compile, I ALSO discovered SOC_PALM's palmtree was already hardcoded as well!!!! Gosh dang inconsistencies...
* Marble Zone!
* Torch decoration.
* Incense burner decoration.
* CD Special Stage 1!
* The UFO, now with improved death animation!
* Turns out I duplicated sounds that already existed in sounds.kart. When we touch up the files later, yalls can remove both `DSFUFOx`'s from it.
- Rocket sneaker meter depletes more slowly when idle, but depletes much more when using it. This balances out to give it a couple more boosts when you use it well, but allows you to waste it more quickly when you don't want it anymore. Also demonstrates better to new players to not spam it like a gold shroom!
- Vibrating frames on sneakers when they aren't being used.
- Shoe weight is less strong.
Also includes some adjustments to:
* Horizontal offset of Eggman countdown in splitscreen again. It's not perfectly centered either way, but on second thought I like this better.
* Sound of Lat`'s Mine/SPB explosions - now uses same sound as Karma bombing, instead of that shitty paraloop.
* Correctly wipe k_eggmanblame when it is appropriate to do so.
Also: temporarily cleaned up the M_CanShowLevelInList record attack conditions to automatically match what we want, instead of requiring us to apply a bunch of vanilla flags just to emulate our "available unless explicitly hidden" MP mechanism like is currently in maps.kart.
* Revamp the saycmd colour list to take advantage of them. Peach and Purple are used the least...
* In all of the string drawers, replace colormap only when charflags changes.
* Add V_SKYMAP to dehacked.c alongside the above (oversight from when I added it yonks ago...)
- Renamed Grey to Nickel, and Cloudy to Grey
- Updated Silver and Nickel to look a teeensy bit more inbetween White/Grey and Grey/Black, previously they both leaned more toward Grey
- Drastically changed Navy to be more distinct from Jet
- Replaced Indigo with Pomegranate
- Moved certain colors around to match (most notably, beiges and browns are in their own little sub-section after the greyscale colors, instead of being lumped in the middle of orange and yellow)
- Updated color opposite table to match
- Renamed Ivory to White, removed Nickel and old White, and improved Silver and Grey.
- Improved Pink & Ruby.
- Added Ketchup, replaced Canary with Mustard.
- Removed Army.
* Replaces the CZ64-era hopping Mario guys.
* ~50% randomised colours!
* 1/9 are FANS!
* On mapload, some Chao select a random player in the server (even spectators) as their idol.
* The fans cheer for their idol when they cross the finish line in a winning position!
* They also sob when their idol loses.
* The remaining percentage are the canon Aqua.
* Minor on-field spikeball/fake radius alterations requested by Oni.
New respawn boost behavior, where you just hold for long enough instead of timing it with hitting the ground. Also much weaker, just gives you enough boost to get going instead of being a free sneaker.
Start boosts have been severely changed. The perfect one has an extra tic on its timing window and gets Sneaker boosting special effects, but every other possible boost has been severely nerfed.
* Shield Drop...
* Whatever you've got orbiting or trailing you, DROP THEM WHERE THEY STAND. (Except for the ghost sink. That one's OK.)
* Pops your Thunder Shield.
* Happens upon ANY hit, except for deathpits.
* HUD Drop...
* Also does the above, except for the Thunder Shield thing.
* If there's any item left in your item box, pop it out as a little hovering, rotating Minecraft item!
* You can pick up the Minecraft item by driving over it if your item box is sufficiently empty, or the item which is contained within it is of the same type.
* Happens upon Size Down and battle elimination.
* Can also be forced on with `cv_kartdebughuddrop on`!
* Some other random stuff.
* Fix a bunch of `a->scale = b`'s into `P_SetScale(a, b)` form, for maximum validity.
* Make K_CleanHnextList and K_UpdateHnextList one function, since they only differed by one continue clause (and the type of their input parameter).
* Allow shrunken players to pick up item boxes again.
* Fix MF_NOCLIPTHING. (Gonna pass this fix to vanilla when I get the chance, too.)
* Break NiGHTS a little through my machinations.
Sink shield that makes it double-press to use, gives the trailing item slowdown, and shows other people that you have it, but doesn't have any collision
- Following Oni's proposal. This means taunts are split into 2 types for offensive items and boost, 2 less hurt sounds, and there's another clip for using invincibility item (or whatever other powerful items we want to apply it to later; maybe size-down?)
- Win/lose quotes are played at full volume for the person who said it.
- A new sound effect plays when you hit someone with voices disabled.
- Reduce amount of RNG being called from the vanilla P_Play[whatever]Sound functions
- Added our skin sound constants to the dehacked list.
- Unrelated: finish line sfx plays in splitscreen
* A better representation of an Encore level, now with inverted graphics (a special remapping we can now use elsewhere whenever if we want!) and a floating Ruby!
* Decouple encore's setting from cv_kartencore on mapload. Instead, bake it into D_MapChange and related, which will only some of the time be fed by cv_kartencore's value.
* Encore mode now has a special mapheader palette setting, "encorepal", rather than using the same one as non-encore.
* Objects!
* Gone is the arcane, difficult-to-remember list of random flags. Say hello to MF_DONTENCOREMAP!
* Alternatively, if the object has a skincolour applied to it, it isn't encoremapped either. (Useful for ghosts, for example.)
* Sectors!
* The autodetecting of sneaker and spring panels is now much more intelligent, and only avoids remapping the plane(s) the effect is availible upon.
* Sector special group 2 no. 15 is now "Invert Encore Remap". It inverts the above detection.
* Linedefs!
* The "Transfer Line" linedef flag can now also be used to deny Encore remappings on linedef textures.
* Right now it applies to every pixel drawn specifically belonging to that linedef, but if people decide it needs changing, we CAN make it apply to midtextures only (like linedef types 900-910).
* Make unlockables have a "showing" conditionset, for when you're able to see them on the Extras screen.
* A shorter Encore ruby-pulse fade, for when encore mode is already active!
- Ballhog has explosion + sound on death
- Ballhog shrinks to nothing if it didn't hit anything
- Replaced a Mario sound on Orbinaut
- Fixed Jawz's sound effect
- Fixed Mines not being removed on death pits
- New player flag, PF_WANTSTOJOIN, added for setting up a spectator queue. You are allowed to join as long as no one has started lap 2.
- Map resets when two people have entered the game, so matches can start naturally without the need of an admin.
- You can bump other people during spinout.
- Bumping during spinout activates a "slow down" timer, which increases your friction after a few tics.
- You have a Smash-style dust effect after a spinout bump, indicating clearly if you'll slow down or not.
* Remove FUNCMATH from all void-returning functions, given GCC80 specifically complains about this case.
* Extend the length of all extant buffers to the safety threshold recommended by the compiler.
* Add void casts to WS_getaddrinfo's setting to prevent complaints about incompatible typecasts.
* Extend the charsel, face, and superface buffer sizes and writes to include the null terminator. (I didn't really want to do this because it's not even particularily NEEDED, but there was literally zero way to get around the request that I could find with multiple online searches. I tried.)
* Fix all the bugs with skin not being set properly or kept synchronised with the multiplayer setup in record attack.
* Reduce the amount of flashing on the voting screen.
More menu/highlight things:
* Rename "Default" to "Game type", to make clearer what it's doing.
* Tweak race colouring slightly.
* Put a highlight around the level select icon, and make it consistent with voting.
* Allow setting the highlight colour to affect the intermissions.
* Fix bug with gametype colour getting for record attack.
A handful of skincolour things:
* Rename Turqouise to Aqua, because it resembles one of my fav 2.2 colours with that name.
* Fix incomplete Steel Blue -> Steel rename.
* Merge the very similar Blueberry and Sapphire...
* ... so Sapphire can be backported!
* And Ruby too.
- The majority of all colors have been tweaked in some capacity to have higher contrast, to either make character highlights or lineart pop out more
- Two new "on trial" colors that may or may not stay: Tangerine, and Dusk. Tangerine is a yellow-orange color to fill the void of yellows. Dusk is a previously removed color that looked freakin' sweet after some cleanup, why wasn't this kept?!
- Turquoise & Frost have been merged. My clean up of Frost ended up looking like a combination of the two.
- Caramel has been removed, Shiny Caramel takes its place.
- Unleashed my inner dream as wanting to have the job of whoever gets to name crayons, and changed all two-word names.
- Todo: reorganize by hue then lum for a nicer invincibility effect, redo and throughly test ColorOpposite table, double check to make sure there aren't any duplicate blendcolors for OGL
* Fix that rat-ass nasty crash with respawning from spectator mode!
* Flying ghost kart for spectator mode! It's silly and fun...
* Allow for .bat files to be .gitignored in the Debug compilation folder too!
- More Jawz states for later
- Jawz orbit their user in the right direction now.
- Banana trails made closer to each other
- wheels.lua hardcoded
- All held items take a double press, for consistency.
- Fixed Karma Items not being able to be collected by invincibility or hyudoro users
The overlay object now has a hitbox which handles all of the item giving/bombing code, and no longer takes up the player's tracer. This is to give them a bigger hitbox without any bad side-effects of changing the player's hitbox directly (shadow size). Should make bombing more useful, and just sliiiightly less missed high-fives from items.
- Fix merge issues
- Update invincibility flash to use its own object instead of MT_OVERLAY, so extra hacks don't need baked into overlay thinking
- K_SpawnSparkleTrail can accept mobjs now, since there really wasn't any reason it needed a player.
- Comment out a few old MK/vanilla SRB2 effects for now
When using a taunt voice (item usage) there's a 5 second delay on more taunts and a 2 second delay on other voices
When using other voices, there's at least a 2 second delay on all other voices
- 30 sec cooldown on all lightning types
- Delay before Blue Lightning hits, based off of distance
- Blue Lightning can swap targets if 1st place is passed
- Blue Lightning can only be handed out if 2nd is far away enough from first
- cmd->driftturn exists now, for figuring out how far you're turning. Added to prevent analog sticks from being able to get drift sparks faster.
- Feather bounce strafing moved to use cmd->sidemove, which means it also supports analog now.
- Braking now waits a few tics for you to be stopped for a few tics before it lets you go in reverse, as per Sev's request.
- Removed a lot of unused/redundant/commented out control code, and reorganized some of the existing code.
Removed Magnet item box pulling code. It's a mess, hacky, doesn't really help in races, and breaks things. We will implement something new for it soon.