What's revealed is that democracy is actually made *entirely* out of
extremely minor 1 character long typos eating away at the structural
integrity of the building, and then the crack starts oozing green slime,
and then a creepy hand comes out and grabs you
Sphere spawns at centre and quickly grows before stopping
While sphere grows players get flung up
Fix some issues with battle mode stuff stopping bobombs from working
No more weapon number buttons, button constants reordered, and BT_JUMP
renamed to BT_DRIFT, and removed a lot of commented out stuff or stuff
we didn't need. Spectator-only support for looking up/down soon.
Keyboard defaults are just what I use, plan on adjusting it further
after more feedback
- Look backward button works
- Increased default cam_speed, from 0.3 to 0.45. This is the highest
value that I think doesn't look overly stiff.
- Removed bobbing in first person
I was trying to do the camera angle thing that we've been talking about
for a while, but I can't get it to work well.
- Record Attack replays now save best lap time
- Removed instances of NiGHTS Attack
- Removed a lot of unlockable that have no use in Kart (ultimate mode,
perfect bonus, score emblems, etc)
- Removed all methods of activating ultimate mode
* ArchiveTables: print an error if invalid key, to alert script author potentially
* UnArchiveTables: if the key is found to be nil after reading key and value, print an error and don't set them in the table
- 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:<)
- MAXSTEPMOVE is affected by mobjscale
- Minimum bump speeds (both wall & object) are affected by mobjscale
- Minimum speed required for drifting is affected by player scale
- Speedometer speeds are proportional to mobjscale
- Camera no longer scales with player scale, to make the fact that
you're either Lightning'd or Mega'd more obvious :V
- Sevvvvvv go work on Dimension Heist
There's a small fix for V_DrawFixedPatch that makes it account for scale when blacking out the rest of the screen, for when scale is 50% or 25%, but can theoretically work with any scale
Doesn't really belong in this branch, but it's also an experimental
change that needs a decent-sized netgame to test to make sure it doesn't
hurt anything. Done because Gold 'shroom is a lot harder to use as a
catch-up item now that it reduces timer whenever you use it
- 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
Skewing direction is decided per in-level wall by the Lower Unpegged flag on in-level linedefs themselves, since they already decide the stuff for FOF wall pegging as it is. That is unless Transfer Line is involved which moves everything to the control sector linedefs instead...
Kart doesn't really need this if we're taking the MK8 Yoshi/Shy Guy
approach to just letting you pick whatever colors. It's just plain
annoying to set your color in the menu, then go into splitscreen and see
that none of it actually carried over :V
- MT_FALLINGROCK bumps you instead of spinning you out! RIP annoying af apples
- Made some Battle-related messages only happen in netgames
- Messed with the timing on the intro
This prevents a mobj of NUMMOBJTYPES from being created and potentially crashing the game. Really, this happens only if you start messing with the mapthings of respawning items like rings/weapons/etc in the first place via Lua.
Replacement for Oldbrak mode, lets you set any scale instead of only
1/2, also modified some of Kart's scale shenanigans to be compatible.
Requested by Sev for Dimension Heist
- CHECK now works in Mirror Mode
- Lakitu flips in Mirror Mode
- CHECK now shows up in splitscreen, because why not
- Fixed a compiling error as a result of me attempting to revert wipeout
- 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
- Fixed position numbers; orders by balloons first then points (before
it was doing it the other way around), and the leading players should
never display as like 3 or something if there's ties :v
- Messed with Boo & Feather frequencies to be less common in Battle
- Fixed the issue when a karma bomb steals a balloon from one of the two
last people standing, kills them, and comes back, and the game ends
anyway, giving two players the "win" bonus
- Removed karma items being able to pass their items to other karma
bombs. This never worked correctly in the first place, and I'm 95% sure
it's what's been causing people to be ghosts forever
- Enemies can no longer award points
- You should no longer get karma for "bombing" someone during their
invincibility frames
- Red shells have slightly more friction in Battle
The last change was a step in the right direction and there was more
item variety going on, but the differences need to be just sliiightly
more extreme
- 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!
- Position faces are now drawn in Battle, categorized first by balloons,
then by points
- Balloon-based items, gives people who are worse off better items, and
people who are better off worse items.
- You can strafe while using feather or while using a bounce pad
- Reduced the strength of bounce pad thrust on items
- Increased bounce pad's minimum forward push on players
- Made Frantic Mode just a teeeeensy bit more frantic
- Fixed being able to use Feathers mid-air
- Fixed being unable to steal Feathers
- Drift sparks use frameangle instead of angle
- 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
- 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)
"Missile" items are spawned on the ground and should follow slopes when the player is on the ground
Forwards thrown items should work in reverse gravity
Dropped items are dropped slightly closer (depends on player and item radius) and have their position set correctly
Held items are held closer (depends on player and item radius)
- 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
Don't run xy bouncing if objects are directly ontop of each other
Don't run xy bouncing if objects are moving away from each other
Move z bouncing to be done first so that returning from xy collision doesn't stop it
So that explosion particles can trigger voice lines (and not crash) and add points for players in battle
Also don't play voice lines when you hit yourself
- 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
Increased item variety (triple reds added with same chances as star &
megashroom, triple bananas are back), and the deadliest items should be
less likely due to more weight on the weak items. Doesn't add up to 20
anymore, though; will likely be fixed when balloon-based items get
implemented.
Added extra boolean for P_SlideMove forceslide, since kart's walls are almost all bouncy slidemove will almost always bounce things instead, even if we don't want it to.
Also removed the + 1 from newtime, since there was never really any need for it. It just offset the interpolation so it went like (1 -> 2] instead of [1 -> 2), so you never saw the base appearance for each frame except at the end of any frames interpolating to it
Changed DrawMD2Ex's duration/tics type to INT32 so -1 comparisons work, probably want to change the signs elsewhere too but this is fine for now
- 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
When they get close their top speed starts to decrease to the player's current speed.
Movement direction ends up being adjusted in A_RedShellChase where it Thrusts towards the player at its acceleration speed.
- Display the skin's realname in RA menus
- Can no longer set your skincolor to none on the RA menu
- Edited several color names to fit within 14 characters
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)
To-Do:
- fix demo desync (desync is only super noticeable on slopes, but a
message pops up when the player starts moving regardless)
- fix ghosts not appearing
- replace that dumb level tally
- remove a bunch of things that made the assumption that race & record
attack would never mix (ex: "next map x doesn't support race mode, using
map y anyway" message)
- 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
Draw Textures and Flats that have holes in them like a solid polygon so they use the depth buffer and don't need to be sorted
Disable all linear filtering on textures and flats that have holes in them, the linear filtering introduces translucency into the textures where the edges are. Leaving them with either a black border, or causing pixels behind the slightly translucent areas to not be drawn. Doesn't apply to sprites and the HUD as they are always already sorted properly.
Make the Alpha Testing more strict on non-translucent blend modes. This makes it so any transparency below 0.5 is discarded instead. Would make anything that is blended and has holes in it look slightly better, only the HUD and MD2s where the texture has holes are effected currently.
Set TF_TRANSPARENT on flat texture flags when there are holes in the texture.
Minor fix to make sure MD2s always set the right blend mode
-------
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"
Pwease no kicky
Don't kick Tails! Also, a movement for the WRITESINT8 to prevent modification to buf if the function bails early.
This can go into Master, right? It only matters for the host, and it's explicitly only having a major effect outside of netgames.
See merge request !201
*Add CONS_Printf messages for !netgame checks
*Arg count is checked first regardless of netgame status for both kick and ban, < 2 is checked instead of == 1 just in case these weren't called from console for some stupid reason?
*Moved Command_Kick's buffer vars to within the code that actually does kicking stuff
Lua archive value fix
This fixes some potential problems with archiving mobjinfo_t/state_t data via Lua in netgames (whether as custom mobj/player vars or by NetVars hook). Thanks to LJSonic for pointing this out to me.
See merge request !200
Apart from the fact that UnArchiveValue reads UINT16 for both anyway (which alone causes problems), but UINT8 isn't even enough to store the higher end of the object types list and definitely most of the states welp
The issue was that because both them and the player had MF_SOLID, the tmfloorz of the spring was getting set to above the player (or vicea versa with tmceilingz), forcing it upwards with them under certain circumstances.
Now, springs only acknowledge the solidity (for purpose of tmfloorz/tmceilingz) of objects they CAN'T launch.
OpenGL slope FOF lighting fix
This fixes some issues with sloped FOFs that affect lighting in OpenGL (as in, those that cast a shadow or have a colormap). Particularly, they can do strange things to any wall textures adjacent to them, as we've noticed ourselves in levels for 2.2. =P
See merge request !194
Fixes with respect to sector special touching and slopes
Some important stuff.
* SF_TRIGGERSPECIAL_TOUCH now actually works. Previously, it abandoned the loop early if ANY bounding sector didn't have that sector flag, which it likely didn't - only checking one extra sector's worth of FOFs. Also, the teleport handling there is more robust, and actually bails out if you teleport, instead of just awkwardly continuing through the loop.
* SF_TRIGGERSPECIAL_TOUCH now works for each time thinkers, too.
* Fixed a bug with being able to go under lava because P_CheckSolidLava doesn't take slopes into account.
* Also, P_CanRunOnWater supports slopes now too.
* Quicksand supports slopes and reverse gravity now.
* Space Countdown supports slopes now.
Also, an experiment behind a #define which currently isn't turned on:
* UNDER A #define, "SECTORSPECIALSAFTERTHINK", WHICH IS CURRENTLY TURNED OFF, BUT I WILL WANT TO TURN ON IN INTERNAL: Moved sector touch handling to P_PlayerAfterThinker (from P_PlayerThinker before movement). Allows for being able to trigger moving slope sectors that are going down, most specifically lava (didn't matter in RVZS in 2.1 because you could clip through the sides and go underneath the lava, causing damage - a sloped testwad version of that prevented going underneath.) Also fixes one-frame standing on deathpits before you die. Basically means sector triggers effectively happen one tic earlier, since it's after movement.
See merge request !131
Polyobject seg render fix
This fixes both Software and OpenGL renderers so that polyobject segs aren't drawn if the game is drawing the actual subsectors they're from (outside the main level, where the polyobject walls were pre-spawn). They should only appear as part of the polyobject itself in-level.
This means a few glitches with polyobjects are probably fixed: for instance in Software mode, polyobject walls sometimes appear through level boundaries (and make everything above/below vanish, turning into HOM or skybox), if the BSP rendering code happens to find one of the subsectors said segs came from outside the level. I don't think anything similar happens in OpenGL, though I'm sure some unwanted typecasting is happening as a result of attempting to draw the segs. (And it fixes a crash in 2.2 anyway.)
See merge request !195
Ping-related code fix
Somehow, the part of the netcode for calculating the players' pings in a netgame frequently gets the concepts of nodes and players mixed up, which is probably not a good thing. This branch of course fixes those slipups.
I originally based this branch on master to be merged to it (since it only fixed issues on the host's side), but after finding another issue with clients receiving PT_PING from the server, I decided to make this a merge to next instead.
See merge request !193
Ld414 invalid sound fix
This fixes Linedef type 414 crashing the game if an invalid sound number was supplied to it (this can happen if you, say, scrambled THZ2's textures *cough*), whether or not the "Repeat Midtexture" flag is checked.
See merge request !196