This means setting the skybox view angle is no longer stupid, objectplace no longer breaks skyboxes, and Lua-defined skybox mobjs can actually set a Z position more easily now.
Falling rocks fix
This fixes the rock spawners' rocks not being removed if they rolled down to the ground from a slope rather than bouncing (see https://mb.srb2.org/showthread.php?t=41963)
See merge request !162
DrawFill made not stupid
made it more consistent with other drawing functions; 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)
See merge request !173
Polyobject checksight fix
This branch fixes how polyobject lines apparently stop objects from "seeing" other objects behind them; the relevant code now checks the polyobject's top and bottom too! This is relevant for enemies trying to get you, Homing attack, Fang's gun, etc etc.
Can't say if it's perfect or not, but it's a definitely an improvement over what happened before, anyhow.
See merge request !86
No doubling texture heights plz
If you didn't know, apparently SRB2 was hardcoded to double the height of 64x64 textures created using TX_START/TX_END. This has frustrated some a lot. This branch removes this hack at last (there doesn't appear to be any visual issues resulting from removing it, anyway).
srb2win-nodoubletexheight.exe can be found in my FTP folder.
See merge request !85
First person HUD drown numbers fix
This branch fixes the following issues with the first person HUD when drowning:
* "0" turning into Sonic's drown sprite, since both sprites happen to be named DRWNA0
* SF_MACHINE's special drowning numbers from 3rd person not being used
See merge request !80
MI hardcode stuff
A branch where I hardcode some of the various SOCs in patch.dta and some of our external files
Stuff hardcoded in this branch (so far)
* The contents of SOC_PITY from patch.dta
* The contents of SOC_XMAS from patch.dta
* The big gargoyle for DSZMaster-n1.wad
I've made a subfolder called "mi-hardcode" in my FTP folder for files you'll need for testing:
* srb2win-mihardcode.exe is an exe I compiled for this branch
* An edit of patch.dta with SOC_PITY and SOC_XMAS removed, this can be the new patch.dta once merged in
See merge request !84
MI's unimportant code cleanup
Just removing a bunch of unused variables/function prototypes from the source code and similarly minor stuff, nothing here should change gameplay much (if at all).
See merge request !71
MI minor refactoring
Just moving the locations of some consvar externs from d_netcmd.h to other header files in which I think they should REALLY belong. Ultimately this should not affect gameplay whatsoever, it's just code cleanup.
See merge request !81
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
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)
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
Command-line skin selecting fix
Fixed http://mb.srb2.org/showthread.php?t=42312.
Also, fixed being able to change your skin colour during credits/cutscenes in singleplayer.
See merge request !158
Revamped Level Select (platter view)
Seriously revamped every level select instance in the game to use a more attractive and easier to navigate platter view, including:
* Game CLEAR! save (Title/Pause menus)
* Secrets Menu (including custom ones)
* Record Attack/NiGHTS Mode
* Server creation (Online/2P)
* MP Pause level select (Online/2P)
As a result, the layout of the last three above menus has been changed to varying degrees of difference.
Also, bonus feature: using level select (or MAP MAPxx without -force) in Co-op multiplayer won't reset your score, will keep any lives you have above the startinglives variable, and will not take away all your emeralds. The -force thing prevents both warping directly to special stages to rack up the emeralds AND ensures there IS a way to start a new game.
Check out <root>/!LatestSRB2Files/srb2win_branch_levelselect.exe with the latest patch.dta to see more.
Also, LF2_WIDEICON lets you do this. https://gfycat.com/MenacingClearAngora
See merge request !68
Suggested default settings
Making a merge request for suggested new default settings, because saying "hey, I think this would be a better default, you guys should try it" in IRC won't actually get people to give you opinions on them ;p
Camera distance is 160 now, height is 25, and speed is 0.3 (previously 128, 20, 0.25, respectively). Mouse sensitivity on both axes is now 12, previously 35. The default move/look/jump/spin keys is Mystic's proposed scheme from the New Player Experiences topic (https://mb.srb2.org/showthread.php?t=42095).
Camera settings also now can save to your config.cfg, and they won't try resetting back to the default at every chance it gets. (~~As a side effect, analog mode won't have higher cam_dist anymore. Poor analog mode, no one cries for you.~~ Now increases cam_dist in analog mode by x1.2!) This makes it so everything that's different can be easily reverted back to the older setting.
Test exe in my folder, <root>/TehRealSalt/srb2win_changed-defaults.exe
See merge request !75
* Getting hit whilst on a swinging mace doesn't send you off in roll/jump state.
* P_GetJumpFlags replaces a bunch of copypasted code.
* Homing attacking a spring sends you directly on its path, rather than rocketing off in the direction you were preiously hurtling in.