Skybox quake fix
Fixes earthquake effects not being properly scaled for skyboxes. If a skybox is 16x larger than life, then the quake is only 16th as strong, for instance. Also some skybox scaling code cleanup was done I guess.
Probably easier to see it in action than explain what I've done: I've put srb2win-skyboxquakefix.exe in my FTP folder for peeps to be able to test out this branch. Also there is luatest-startquake.lua, which produces a fairly strong (10*FRACUNIT intensity) 3-second quake on pressing the Custom 1 key.
See merge request !82
* Made it possible to switch statistics pages using left and right arrows. Their previous functionality has been given to Page Up and Page Down.
* Swap over header style to the new version for everything.
* Move Master Server into Data Options, since it needs to be exposed somewhere.
* Show resolution on main Video page.
* Optimise by using V_RightAlignedString instead of V_DrawString with V_StringWidth.
* Revamp sliders. (Requires a new patch.dta I'll upload in a little bit in order to be perfect, but does pretty well w/o replacement graphics too.)
* Revamped base video menu and moved all the relevant stuff from the Game Options Menu onto it. Still mulling on where to put the Master Server reference.
Inverted plane displacement
If you don't know of the new linedef types 66, 67, 68 or how they work already, see !61's description.
This is basically a quickly-thrown together branch to support inverse plane displacement; just simply turn on Not Climbable on any of the plane displacement linedef types to enable this for any sectors tagged by them. This causes moving the control sector to move all tagged sector planes in the reverse direction.
I've provided srb2win-inverseplanedisp.exe and plane-disp-test2.wad in my folder on the FTP to test this branch.
See merge request !79
doesn't draw off of the sides, and doesn't ignore snapping or widths for reasons that don't make sense
(for instance: the green bar in MI's test script showed *above* the blue one in non-green resolutions in 2.1.17)
Recreated my previous code using floats in case the issue was overflowing that could be mitigated using floating point precision - but still doesn't work. Pulling my hair out.
Fixing the reduced palette
Index number 254 remapped from a dark browny-orange to a dark blue. Otherwise unchanged; most of the assets we have currently created do not use the index for its previous purpose. It would be nice to get this merged quickly so that there is certainty about what we use going forward.
http://i.imgur.com/9xuQApq.png
root/toaster/fixedpal contains every necessary asset file, including the SLADE translation lump.
See merge request !77
Charabilities MK3 - The third and probably not last branch of character stuff
Been too long since I've made a merge request. This isn't quite done, but I'd consider it... done ENOUGH that I want to work on something else, and keeping it seperate from master will just cause everyone hassle.
Abilities:
* CA_BOUNCE. Bounce on basically anything! Break bustable blocks downwards! Don't take damage from below, unless it's death pit damage, in which case eat shit! Averages to double the jumpheight of the player.
* CA_TWINSPIN can now break bustable blocks up and down in addition to breaking horizontally. Also, a spring boost.
* CA_HOVER now uses seperate states/frames, has dashmode support, and falls slowly whilst not moving very quickly.
* CA_SLOWFALL gets the CA_HOVER states/frames and dashmode support too.
* CA_HOMINGTHOK now targets Sea Egg fakes and egg guard shields, and uncurls when there's no target. It also shows a target icon.
* CA2_GUNSLINGER. Uses revitem as bullet. Autotargets within range/angle limitations on similar rules to homing attacks. Shows a target icon.
* CA2_MELEE can now break bustable blocks up and down in addition to breaking horizontally, and plays much more fluidly. Also, a spring boost.
* CA2_SPINDASH allows you to roll when landing on any surface when moving fast enough unless you have PF_THOKKED. Also, fixed you being able to roll forever.
Conversions:
* CA_DASHMODE -> SF_DASHMODE
* CA2_MULTIABILITY -> SF_MULTIABILITY
* player.jumping -> PF_STARTJUMP
* pw_ingoop -> CR_BRAKGOOP
* PF_NIGHTSMODE -> CR_NIGHTSMODE
* PF_SUPERREADY -> P_SuperReady()
* SPR2_SPIN -> SPR2_ROLL
* SPR2_DASH -> SPR2_SPIN
* SPR2_PEEL -> SPR2_DASH
* SPR2_SSTD, other super frames -> see below...
Others:
* Super sprites are now seperated from normal sprites via using S_SUPER lump in a skin, rather than being an explicitly named super version of the lump (which required a ton of effort from us to make super versions of all sprite2 names). Accessible via FF_SPR2SUPER.
* Unlockable skin stuff is now netcode synchronised. We won't be repeating 2.1's bullshit if we can help it!
* Host can't switch their skin if there's any restrictions applied, since that was unfair.
* Unique Attraction Shield sound instead of reusing S3nK Thundercoin sound.
* Character select menu code is defuckened.
* Fixed zoom tube camera distance being borq'd by a bug.
* Hudnames are now padded if they're less than 5 symbols long.
* Instead of jump damage when jumping being controlled directly by SF_NOJUMPDAMAGE, it now indirectly controls it via applying the flag PF_NOJUMPDAMAGE.
* SF_FASTEDGE. Does... a fast edge animation, really.
* Fixed some oversights with the SPR2isation of NiGHTS.
* P_SpawnLockOn(player_t player, mobj_t lockon, statenum_t state) function for Lua allowing the homing target visualisation stuff to be done locally without performing horrible, horrible hacks.
* Objects and sounds for the cork, which CA2_GUNSLINGER's main toter uses.
<root>/toaster/charabilities/ has the testing files outside of patch.dta, which is in master.
* srb2win_branch_charabilities.exe.
* player.dta - can't be used with master executables because of sprite2 renaming plus super stuff.
* socchar.wad - very simple WAD which helps test unlocks for the purpose of netplay.
Please let me know if you have a thunk.
See merge request !76