- Added kartmirror cvar, flips the screen & player controls. The
post-processing effect is currently Software only; will need an OpenGL
implementation but I don't know enough to make that happen
- Moved adminplayer = -1 setting to SV_ResetServer instead of
SV_StartServer
- SMK-style wipeout
- Using goldshroom removes some of its timer again
- Karma item boxes follow the player more closely
- "ATTACK OR PROTECT" no longer appears when you die if you've already
seen it
- Lua support for our SOC actions
- Fixed KARTSTUFF_LIST for Lua/SOC
- "Battle" is now an accepted word in level headers for setting
TOL_MATCH
- Default map numlaps is now 3 instead of 4
- Reverted making LF2_RECORDATTACK and LF2_NOVISITNEEDED default menu
flags, needs to be set manually now
- Improve balloon-based items. Much more distinguished differences
between the different ranks
- Reverted Feather strafing. You can now just... properly move in the
air, if you're using a Feather or a Bounce Pad.
- Bounce pads are now stronger while using speed items.
- Fixed the long standing bug about offroad & ziplines working when
you're on FOFs above them. This is a tricky subject, so please report
any issues you may come across related to this.
- Shells should no longer travel to Mars, nor will they when using
bounce pads. They should now do a gentle hop.
- :WIP: new MP Player Setup screen, now shows character stats. Will
later feature the list of characters in a row of icons, and a backported
2.2 color selector with toast's permission
- Renamed "Match" to "Battle" :p
- Yet MORE minor cases where kartspeed & kartweight were being read as
fixed_t when they're freakin' UINT8's, people!
- 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
- You can now choose to carry an item to someone instead of bombing
- You need to bomb someone or give an item a combined total of three
times in order to come back.
- Bombing somone gives 2 points while giving items doesn't award you any
points.
- Position number still flashes after you've won, and it flashes rainbow
for people who have won and are in 1st place!
- Flashing players can no longer eat items
- Fixed kartstarsfx playing the alarm in conjunction with music
- Fixed some items no longer causing wipeout
- Bomb overlay is invisible during comeback timer, and flickers back in
when it's almost up
- Show comeback timer on HUD
- Feather is stronger & has more gravity
- Option to use SMK star alarm instead of overlapping music
- Using P_MobjDamage normally on players now defaults to normal spinout
instead of shell's instant stop
- Some general gametype case fixes (most notably, being able to spin
people out in Race using a mushroom)
- Comeback timer gets higher the more you get hit
- Your ghost appears over the bomb
- Speed & accel is set to worst while a bomb
- CHECK range scales with kartcc
- Player arrows now show if a player is in the item roulette
- Boo has been improved, and added back to Battle's item roulette
- The CHECK HUD item is now more accurate, and should appear more often
- Early comeback mechanic. Functional, but really unpolished
- Attempted (again) to make the first player to join in a netgame spawn
with balloons
- No longer shows respawn text on death
- Different sizes for the balloons, depending on how many you have
- Balloons are fullbright, cast shadows, and stick closer to players
- Mega Mushrooms can now appear
- Can steal items with Boo in Battle Mode now, as intended
- Death pits make you lose only 1 balloon
- Balloons disappear properly if you use Boo
- Boo item icon should no longer appear if you're out of balloons
- You can now properly respawn in Battle Mode
- Can no longer collide with items if you are already holding one
Basically:
1.) farther camera defaults
2.) different camera settings save
3.) cam_dist automatically increases with splitscreen (& analog mode,
but that's irrelevant for kart :p)
(IIRC someone said that this branch is fine to commit directly to,
please feel free to revert immediately if this isn't the case :V)
- Rarer
- Speed reduced from +25% to +20%
- Getting squished doesn't last as long
= Nerfed the Banana Meta - or at least changed it
- You don't wipeout for as long
- You don't lose as much speed from wiping out (1/2 instead of 1/4)
= Respawning after death is faster
- Lakitu drops you faster, only three floaty sounds instead of four
= Adjusted the camera to the values given by Sev
-------
Lakitu returns from his ironically-not-pillowshaded-cloud grave
Dropboosting works on respawn
Players respawn "automatically after 2 seconds" instead of "*instantaneously* while accel is held"
--------
Fireballs narrower
Fake Item is no longer restricted while held
Held items that are restricted remain in the item wheel until used
Magnet now correctly hits nearby players and objects
-------
Accelcode now factors in forwardmove value rather than a boolean. This is used to enable clutching (or whatever you call it; accel+brake) to give its own result.
Fixed Thwomps killing players rather than crushing them.
Reverted buggy collision experiment from previous version.
Lakitu is completely commented out currently and we will be able to re-add it back later
Final lap sounds do some wacky stuff with the variables of the local player only, and also block out the music just to restart it at the same speed currently, changed it to just be the lap sound, we can use a new sound for it later
No longer does all the angle adjustments inside of the player thinker and instead does it with the controls
Should hopefully avoid any desynch from drifting
Also maybe fixed player 2's controls
I believe editing the player data in G_BuildTiccmd will cause desync, especially for anything that would effect gameplay
driftfix didn't seem to do much, will find a way to re-enable looking backwards properly later (probably change one of the buttons, DRIFTLEFT or DRIFRRIGHT?)
Consolidated the turning and drifting values to k_kart functions for easier editing
Removed 200cc. 50/100/150ccs are a weird amalgamation of the prior values.
* Space sector support complete, bounds of drowning now altered slightly.
* Knuckles climb now has symmetrical slope support for both normal and reverse gravity.
* All slope-determining topheight and bottomheight code is now identical in form.
* Camera postimages now support slopes properly.
Moved the handling of P_PlayerInSpecialSector to P_PlayerAfterThink from P_PlayerThink.
* This allows the player to get hurt on sloped lava surfaces that are moving downwards.
* Also prevents the player from standing on death pits for 1 tic.
* Prevents the player moving 1 extra tic's worth of movement of pain when hit by sector.
* Thankfully, no consequences re conveyors.
* Like, the only consequences I've found have been positive. However, this DOES need to be thoroughly investigated before it can be allowed anywhere near Next itself.
(neither does P_CanRunOnWater, but I don't think it's necessary to make that check more complicated as you probably shouldn't be able to waterrun up steep surfaces anyways)
Also, the "teleport" devmode command can now gracefully handle coordinates specified outside maps with no/few thok barriers, which previously prevented teleport via the thok barrier bleed's sector floor and ceiling being equal.
Some slope improvements/fixes (plus P_GetMobjGravity)
Dear Red, I did some things.
* Made the slope flag SL_NOPHYSICS actually have an effect like we wanted to, but didn't get around to implementing yet - activated by setting the slope's linedef flags to have ML_NOSONIC.
* Made downhill slope thrusts proportional to an object's gravity and friction.
* To make the above happen - seperated out the gravity value finding code in P_CheckGravity into a seperate function, P_GetMobjGravity. (p_mobj.c, p_local.h) I also made this function available to Lua.
* Turned those PANIC n console messages (which would inevitably be followed up with a crash, since we're accessing invalid memory immediately after) into a descriptive I_Error.
* Put the SRB2CB type-shimming behind an ESLOPE_TYPESHIM ifdef.
* Removed SPRINGCLEAN-ifdef'd code.
* Cleaned up some eosteric comments.
* NEW SINCE RED +1'd THIS: The teetering code now takes slopes into account pretty well. There are edge circumstances as outlined in commit 9d221f4f3f, but this is unilaterally better behaviour in every way and the teetering code was kind of a mess anyways.
* NEW SINCE RED AND ALAM +1'd THIS: P_ReverseQuantiseMomentumToSlope. Simple function that replaces the inverse angle stuff (which also wasn't using InvAngle, just ANGLE_MAX - angle - which is inaccurate!!)
Current testing files available at /toaster/slptst3.wad and /toaster/gravitytest.lua on the ftp.
I want to do more to the branch like implement SL_ANCHORVERTEX in the near future, but this is probably safe to merge in its current state.
See merge request !77
The whole thing needs a refactor in general, but it's almost 2am here, I need my sleeb, and this fix would probably break something with 2.1 climbing if I made it any more/less (depending on viewpoint) complicated.
Also, the teetering angle on slopes is now FRACUNIT/2 because there's literally no way to stand still on a slope that steep unless it doesn't have physics.
Two interesting points of note:
* The touchspecial sector flag seems to actually do its job now.
* Detection of sectors with polyobjects in seems to have done this incorrectly, but this doesn't mess with anything about touching the polies themselves so it seems to really only handle edge cases where the polyobject was too close to the border of another sector (which would've likely made rendering glitches anyways).
* There was a whole swathe of teetering code that was basically never run properly because of this mistake. I did a simple fix at first, but you started teetering whenever you were slightly less than your radius away from a sector's edge, which was completely different and undesirable behaviour. Instead, I cut out the code that was never running, and just left the hacky method in instead since it was more accurate to what we want in general.
Issue was caused by attempting to traverse the sector's thing-touching-list across all the things in the sector (which would inevitably have the same sector as the first node in mobj->touching_sectorlist) instead of traversing the thing's sector-touching-list (which has the same thing but different sector references).
I wonder how many times AJ copypasted this code with absolutely no idea why it wasn't working properly. I'll figure that out tomorrow, maybe set up some compiler macros so this mistake is never made again. For now, I must sleeb.