Build 10630
GIT-
Fix voxels introducing glitched sprites in ROR sectors
Show details
- Follow-up to
- 6e6b82d — Use a tspr->clipdist bit to specify legacy voxels instead of tspr->cstat 48 (Build 10380)
SVN handles and Git names are merged into one person.
Fix voxels introducing glitched sprites in ROR sectors
Handle the absence of voxel and parental lock .txt files correctly
Avoids showing the user a nonsensical error message and prevents aborting in debug builds.
Fix screen border tile in Polymer
This should hopefully be a better way of fixing the lack of
interpolation of player turning/aiming/movement, while being carried by a sector object, without SO interpolation. This is a continuation of 73a0aa394e906a65633d61f3c749c9b9b7e66aaa and bf31bc2987a3eccd31d343622327bd4ee0f9c5a1, aiming to fix a jitter in case the player is continuously getting pushed by a wall (e.g., on the boat in level 5). Basically, this moves the relevant assignments from track.cpp:MovePlayer and MovePoints to player.cpp:DoPlayerMove. Unless a call to one of these functions has been missed, pushwall and clipmove can be called from player.cpp in the following instances, which should be covered: - Via DoPlayerMove, which is the function getting the fix now. - Via DoPlayerSlide, which is called in the beginning of DoPlayerMove. - Via DoPlayerCurrent when called from DoPlayerCrawl/DoPlayerWade, followed by DoPlayerMove. - Via DoPlayerCurrent when called from DoPlayerDive, followed by DoPlayerMove if the player doesn't stop diving.
Don't interpolate a sector object if the corresponding lasttic value is 0
While not exactly a favorite of mine, this fixes the floorz updates
of the secret rotating pillar in level 1 with SO interpolation. The drill in level 2 is also covered. So far, SetVatorActive seems to be the only place where interpolation of ceiling/floorz may be set, outside of the SO interpolation code.
Don't interpolate a non-remote sector object controlled
by the player. Make sure looking up/down is still smooth.
Disable interpolation of sector objects that
don't move as smooth as possible in multiplayer
Add the currently-unused interpso.* files, enabling interpolation
of sector objects as whole groups of points and sprite angles. The following goals are intended to be achieved with this code: - Make it easy to let the user toggle sector object interpolation. - Interpolate the angles of sprites carried by sector objects. - Use the right amount of samples for interpolating a sector object, depending on the players' locations, as done in the checks within DoSector. Unfortunately, modifying DoSector itself to unconditionally call MoveSectorObjects(sop, synctics) technically changes the way sectors move (in the logical sense), and was found out to make a specifically constructed user map unbeatable. - Make it easy to disable interpolation of a whole sector object in case of a need. This is especially important if such an object is controlled by a player in multiplayer, mostly since this isn't compatible with the way player prediction is working.
Add the currently unused InterpolateSO option.
A known issue, which also applies to existing settings like the voxel toggle, is that its value gets written to the saved game, and when such a game is loaded, the its value gets overwritten by the one in the saved game. Options should move to settings.cfg later, anyway.
Add the oangdiff field to USER struct as suggested by Hendricks,
and use it in MovePoints. This will be used for interpolating the angles of sprites carried by SOs soon.
Interpolate sector objects in non-demo, single player games.
Let's see if this is breaking anything.
Make quitting by closing the window, now done via CON_Quit,
a bit more usable in multiplayer, hiding the engine's console.
Activate engine compatibility
Clamp tsprz of Bouncing Betty mines to their floorz if beneath the floor
This fixes their invisibility in Polymost.
Add Redux's workaround for glitchy fist HUD sprites in widescreen
Fix mirrors in Polymost
Thanks to NY00123.
Fix crash issues when Track sprites are set up incorrectly
Sanitize all uses of wall.nextwall to prevent OOBs
Copy the sln==1 GetUpperLowerSector case from the editor to the game
This avoids upper and lower remaining unmodified. Sector 469 in Seppuku Station causes it!
Fix NORM_(SPRITE|WALL|SECTOR) macros to use MAX$1 instead of ARRAY_SIZE, which would fail due to the structs not being statically allocated.
Patch prepared by Striker.
Parallaxed skies.
Since sprite->filler is now fogpal, modify the CTF code that uses it to use a new variable in SW's USER struct instead.
setsprite, setspritez, getzrange, clipmove, pushmove, neartag, dragpoint, screencapture, md_tilehasmodel, preparemirror, saveboard, loadboard, pos