- 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.
- 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
- Menus now have all of the Kart cvars
- Removed any cvars that aren't useful for Kart from the menu (they
still exist in the console, though)
- Removed SP and NiGHTS Mode options from the main menu
- "kartcc" is renamed "kartspeed", uses values 0-2 instead of multiples
of 50, or the terms "Relaxed", "Standard", and "Turbo"
- Many gametype options (game speed, frantic, mirror, & karma comeback)
are now changed on map load instead of instantly
- New cvar, "kartminimap", for disabling the minimap
- The maxplayers cvar now actually matches up with our 16 player limit
- Game now keeps track of matches played. Has a condition type
associated with it, as well.
- Game checks for unlocks and saves gamedata when finishing a match,
even in MP
- Removed most of the normal emblems, added a single emblem for Green
Hills. Didn't know what to do with extra emblems and such so I just left
them (FOR NOW c:<)
- Minimum wall bounce speed decreased from 25*FRACUNIT to 15*FRACUNIT
- Solid objects now bump players instead of stop them
- Bounce pad strength scales with object scale
- Fixed Boo stealing being inconsistent and sometimes not stealing
anything
- Comeback players are now 1 speed with -20 friction
- Bombing gives 2 karma now
- Item players should no longer be able to be hit
- Attempted to fix instances of trying to bomb someone while they can't
be touched causing you to lose all your karma and start a console
message saying you're back in the game, despite not rewarding a balloon
- Fixed a few places where kartspeed & kartweight were being read as
fixed point numbers, despite being UINT8's
- Fixed up kartstuff Lua support more, functions properly now
- K_DoBouncePad now uses mobj_t instead of player_t
- Bounce pads can now bump thrown shells
- Bounce pads now give heavier gravity to players
- The suicide command now works in all gamemodes
- Comeback timer is now always 10 seconds instead of scaling
- Takes 10 seconds before exiting
- Flashing tics is doubled in Battle Mode
- Removed a bunch of bomb nerfs
- Bombs are back to making only 1 point per hit
- Exposed K_GetKartAccel & K_GetKartFlashing to Lua
- Item boxes should no longer drop while going up slopes
- Trading item boxes with a bomb should turn you back into a bomb
- Balloons should no longer all respawn when dying in pits in 2-player
games
- Flashing players are able to kill *thrown* shells again (shields and
trap items are still unkillable). Prevents red shells from being able to
stick to a flashing player and hurt them again as soon as they're done
flashing
- CHECK appears at a farther distance
When I first wrote this, I thought the .h file that contained a function declaration needed to have the same name as the .c file the function was in. Now I know that's not the case, off to p_local.h with you.
The idea is for the layman Lua user to understand better what range of values to use for mobj types, states, sfxs, player #s etc. Additionally, mobjinfo/states/sfxinfo/hudinfo tables all now have actual bound checks when accessing/editing them. Yikes, why didn't they have any before?!
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
There is a caveat to this: The first time EvalMath is used, a
deprecated function warning will be shown to the user that tells
them to use _G[] instead.
This reverts commit 9d36cf37bd.
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 025ca413a2a01a8ec7c104748c2f510e350aa457)
# Conflicts:
# src/p_user.c
Angles now go from 0 to 0xFFFF (360 degrees == FRACUNIT) instead
of using a full UINT32. Lua only has one number type, so signedness
gets in the way of using angle_t directly. This handling of angles
matches up with how ZDoom ACS scripting and the like does it.
I also changed all the integer casts and pushes of fixed_t to
their own macro in preperation for possible future seperation.
EvalMath is for SOC only.
It spawns an entirely seperate instance of Lua and requires
uppercase-only strings, and it's ability to parse strings to
enums is redundant to Lua's _G table (try using
_G["MT_BLUECRAWLA"] for instance)