Latest GZDoom Changes

Latest 50 commits, skipping 50

Unofficial development builds at DRD Team

Newer commits | Older commits

09-Dec-2018 (Sunday) at 05:00:36 CST by alexey.lysiuk
Commit 40f77e5da
Parents: f6bb33787

  • removed erroneous assertion

https://forum.zdoom.org/viewtopic.php?t=62815

09-Dec-2018 (Sunday) at 02:13:43 CST by alexey.lysiuk
Commit f6bb33787
Parents: 670d975a3

  • fixed Actor.A_StopSound() native call

Wrong function overload was selected by compiler

https://forum.zdoom.org/viewtopic.php?t=62820

09-Dec-2018 (Sunday) at 01:15:05 CST by Christoph Oelckers
Commit 91f712145
Parents: 583a74044

  • made some changes to the FImageSource interface that allows forwarding the bRemap0 flag, but do it so that it doesn't permanently alter how the image looks.

In ZDoom this would affect everything using a patch that got used in a front sky layer, even if the texture was totally unrelated. It is only owed to the low usability of such patches for other purposes that this hasn't caused problems.

09-Dec-2018 (Sunday) at 00:39:05 CST by Christoph Oelckers
Commit 583a74044
Parents: 5eab94415

  • separated the image converters from the texture offsets.

Mostly done, except for FMultiPatchTexture and FFontChar1 + 2. Note that this commit leaks those image objects!

08-Dec-2018 (Saturday) at 16:31:55 CST by Magnus Norddahl
Commit 670d975a3
Parents: 888af3d68

  • moved argsCache out of JitCompiler::CreateFuncSignature

08-Dec-2018 (Saturday) at 16:28:35 CST by Christoph Oelckers
Commit 5eab94415
Parents: e35d88e03

  • started separating the texture class from the image format handlers.

08-Dec-2018 (Saturday) at 13:44:28 CST by Christoph Oelckers
Commit e35d88e03
Parents: 03626107e

  • moved some utility code out of FTexture.

08-Dec-2018 (Saturday) at 10:23:15 CST by Christoph Oelckers
Commit 03626107e
Parents: 1e070d27b

  • changed multipatch texture composition to always composite off full source images and not do it recursively.

Previously it tried to copy all patches of composite sub-images directly onto the main image. This caused massive complications throughout the entire true color texture code and made any attempt of caching the source data for composition next to impossible because the entire composition process operated on the raw data read from the texture and not some cacheable image. While this may cause more pixel data to be processed, this will be easily offset by being able to reuse patches for multiple textures, once a caching system is in place, which even for the IWADs happens quite frequently.

Removing the now unneeded arguments from the implementation also makes things a lot easier to handle.

08-Dec-2018 (Saturday) at 07:06:16 CST by Christoph Oelckers
Commit 1e070d27b
Parents: 82bd742ea

  • replaced FTexture::FillBuffer

08-Dec-2018 (Saturday) at 05:42:35 CST by Christoph Oelckers
Commit 82bd742ea
Parents: 69cc1f831

  • reworked how the software renderer manages its textures.

  • it's no longer the main texture objects managing the pixel buffer but FSoftwareTexture.

  • create proper spans for true color textures. The paletted spans only match if the image does not have any translucent pixels.

  • create proper warp textures instead of working off the paletted variants.

As a side effect, caching of pixel buffers for texture composition is temporarily disabled, as it management of texture redirections. These things will be reimplemented once things progress further. The existing methods here had their share of serious issues that should be fixed.

08-Dec-2018 (Saturday) at 04:53:13 CST by Player701
Commit 888af3d68
Parents: 92b722e0e

  • Added Plutonia 2 MAP10 and MAP11 to the "rebuildnodes" compatibility list.

08-Dec-2018 (Saturday) at 04:56:31 CST by Christoph Oelckers
Commit 92b722e0e
Parents: e70138a26

  • don't put mutexes into static local variables.

Their initialization semantics are not safe for synchronization objects.

07-Dec-2018 (Friday) at 13:15:02 CST by Christoph Oelckers
Commit e70138a26
Parents: f17a90ef6

  • fixed crash with FraggleScript in Nimrod MAP02.

07-Dec-2018 (Friday) at 12:30:00 CST by Magnus Norddahl
Commit f17a90ef6
Parents: 0dfb0d842

  • implement xor swap for vec registers

07-Dec-2018 (Friday) at 02:20:18 CST by alexey.lysiuk
Commit 0dfb0d842
Parents: a7c4fc9dc

  • fixed broken Z coordinate in Actor.Vec3Angle() native call

07-Dec-2018 (Friday) at 00:03:59 CST by Magnus Norddahl
Commit 60e26a0f7
Parents: 9608c2c25

  • forgot to call WriteEnd

07-Dec-2018 (Friday) at 00:01:44 CST by Magnus Norddahl
Commit 9608c2c25
Parents: 3fd9ee29b

  • improve NetSyncData to handle any simple data type in Actor

06-Dec-2018 (Thursday) at 20:41:14 CST by Magnus Norddahl
Commit fb7a611b0 (lightmaps)
Parents: 7f8a72643 a7c4fc9dc

Merge remote-tracking branch 'origin/master' into lightmaps

06-Dec-2018 (Thursday) at 20:35:10 CST by Christoph Oelckers
Commit 69cc1f831
Parents: 940984393

Renamed FTexture::GetPixels

This was needed to allow refactoring without letting all the other GetPixels get in the way.

06-Dec-2018 (Thursday) at 20:33:54 CST by Magnus Norddahl

Merge remote-tracking branch 'origin/master' into clientserver

06-Dec-2018 (Thursday) at 20:01:40 CST by Christoph Oelckers
Commit 940984393
Parents: 42b18e6df

  • replaced the last access operator, too

Now everything uses a function. This really wasn't what operators are supposef to be used for.

06-Dec-2018 (Thursday) at 19:53:50 CST by Christoph Oelckers
Commit 42b18e6df
Parents: 79a0f7680

  • Disable PALVERS substitution when true color rendering is active.

06-Dec-2018 (Thursday) at 19:53:18 CST by Christoph Oelckers
Commit 79a0f7680
Parents: 3dc9eab74

  • replaced TexMan.operator() with two functions.

This was done to make reviewing easier, again because it is virtually impossible to search for the operators in the code.

Going through this revealed quite a few places where texture animations were on but shouldn't and even more places that did not check PASLVERS, although they were preparing some paletted rendering.

06-Dec-2018 (Thursday) at 19:43:27 CST by Christoph Oelckers
Commit 3dc9eab74
Parents: 9fedecbe6

Renamed the operator() and [] methods in FTextureManager which take a name

The operators cannot be easily searched for so this makes it hard to do any evaluations on the use of this method.

06-Dec-2018 (Thursday) at 19:31:30 CST by Christoph Oelckers
Commit 9fedecbe6
Parents: 3491182ac

Renamed FTextureManager::GetTexture to GetTextureID

It doesn't return a texture after all and I want to repurpose the name for something else.

06-Dec-2018 (Thursday) at 19:21:39 CST by Christoph Oelckers
Commit 3491182ac
Parents: bde3558dc

  • fixed compilation

06-Dec-2018 (Thursday) at 19:13:11 CST by Christoph Oelckers
Commit bde3558dc
Parents: 18c1a3abe

  • moved the bit size variables to FSoftwareTexture

They are only needed by the software rasterizer.

06-Dec-2018 (Thursday) at 17:58:37 CST by Christoph Oelckers
Commit 18c1a3abe
Parents: 4c67785c4

  • make the FWarpTexture class local to the software renderer.

This class has only meaning for software-based warping so it doesn't have to be a part of the FTexture hierarchy. Making it a subclass of FSoftwareTexture is fully sufficient.

06-Dec-2018 (Thursday) at 17:04:39 CST by Christoph Oelckers
Commit 4c67785c4
Parents: 32e245f2b

  • moved the span and swtruecolor creation code into FSoftwareTexture.

06-Dec-2018 (Thursday) at 13:52:03 CST by Christoph Oelckers
Commit 32e245f2b
Parents: d500dc99e

  • moved the software rendering specific parts of the sky setup to r_skyplane.cpp.

06-Dec-2018 (Thursday) at 13:21:33 CST by Christoph Oelckers
Commit d500dc99e
Parents: a4d61e6fb

  • handle the Harmony status bar icon scaling a bit more robustly.

Considering that the physical texture size should be abstracted away from modding this needs to be done differently. Doing any calculations with physical texture sizes on the mod side is only going to cause errors so this had been changed to always return scaled size.

06-Dec-2018 (Thursday) at 13:12:15 CST by Christoph Oelckers
Commit a4d61e6fb
Parents: 6eab4a882

  • everything compiles again.

As a bonus this already fixes several bugs caused by the botched texture scaling implementation the original texture manager came with. System cursors are currently disabled because they rely on functionality that needs to be moved to different classes.

06-Dec-2018 (Thursday) at 12:57:15 CST by Rachael Alexanderson
Commit a7c4fc9dc
Parents: f6561ca23

06-Dec-2018 (Thursday) at 09:04:41 CST by alexey.lysiuk
Commit f6561ca23
Parents: 9c023c78a

  • fixed native calls to LevelLocals.GetUDMF*() functions

https://forum.zdoom.org/viewtopic.php?t=62774

06-Dec-2018 (Thursday) at 08:20:01 CST by Rachael Alexanderson
Commit 9c023c78a
Parents: e83af1590

  • changing vid_scalefactor now always shows current scaling data unless it gets set to "1"
  • vid_scaletoheight/width now works in all scaling modes, and can now also scale on custom resolutions directly

05-Dec-2018 (Wednesday) at 21:34:19 CST by Magnus Norddahl
Commit e83af1590
Parents: 2aefeb640

  • remove some redundant variables

05-Dec-2018 (Wednesday) at 20:10:14 CST by Magnus Norddahl
Commit 2aefeb640
Parents: e22e24928

  • Use static ifs (C++11 version of them, anyhow) for the triangle draw function

05-Dec-2018 (Wednesday) at 18:11:04 CST by Christoph Oelckers
Commit 6eab4a882
Parents: e83af1590

  • narrowing down the public interface of the texture class

Cannot refactor if the entire class is this wide open to everything. Not complete yet, doesn't fully compile!

05-Dec-2018 (Wednesday) at 17:34:17 CST by Christoph Oelckers
Commit e22e24928
Parents: aef882c13

  • this "genuine hack" was totally redundant...

05-Dec-2018 (Wednesday) at 17:28:05 CST by Christoph Oelckers
Commit aef882c13
Parents: e01306d40

  • more direct native stuff, this is a week old but was almost forgotten.

05-Dec-2018 (Wednesday) at 17:17:07 CST by Christoph Oelckers
Commit e01306d40
Parents: 494a11392

  • missed one definition for adding a direct native call.

05-Dec-2018 (Wednesday) at 13:10:44 CST by Christoph Oelckers
Commit 494a11392
Parents: 2e7e6cba9

  • more direct native entry points.
  • disallow bool as a return value for direct native calls because it only sets the lowest 8 bits of the return register.
  • changed return type for several functions from bool to int where the return type was the only thing blocking use as direct native call.

05-Dec-2018 (Wednesday) at 11:58:15 CST by Christoph Oelckers
Commit 2e7e6cba9
Parents: e4e86dd4f

  • scriptified P_CheckMeleeRange2.

05-Dec-2018 (Wednesday) at 11:41:19 CST by Christoph Oelckers
Commit e4e86dd4f
Parents: de5ab0b4b

  • fixed: Direct native functions for the JIT compiler may not return bool.

A bool will only set the al register on x64, but the entire eax needs to be set for the JIT code to deal with it.

05-Dec-2018 (Wednesday) at 11:33:59 CST by Christoph Oelckers
Commit de5ab0b4b
Parents: b8c4a506a

  • deprecated a few functions that depend on AAPTR_* to be useful.

05-Dec-2018 (Wednesday) at 10:10:22 CST by alexey.lysiuk
Commit b8c4a506a
Parents: 148d75251

  • fixed linking of optimized targets

CMakeFiles/zdoom.dir/r_utility.cpp.o: In function R_SetupFrame(FRenderViewpoint&, FViewWindow&, AActor*)': /home/travis/build/coelckers/gzdoom/src/r_utility.cpp:832: undefined reference toAActor::GetCameraHeight() const' CMakeFiles/zdoom.dir/g_shared/a_action.cpp.o: In function A_Unblock(AActor*, bool)': /home/travis/build/coelckers/gzdoom/src/g_shared/a_action.cpp:64: undefined reference toAActor::GetDropItems() const'

05-Dec-2018 (Wednesday) at 10:41:25 CST by Christoph Oelckers
Commit 148d75251
Parents: eb282c0d1

  • fix it

05-Dec-2018 (Wednesday) at 10:34:53 CST by Christoph Oelckers

Merge branch 'master' of https://github.com/coelckers/gzdoom#

Conflicts:

  • #
  • src/scripting/vmthunks_actors.cpp

05-Dec-2018 (Wednesday) at 10:34:11 CST by Christoph Oelckers
Commit 6c9d0b166
Parents: a846ed391

Added direct native entry points to a larger number of functions.

05-Dec-2018 (Wednesday) at 02:25:07 CST by alexey.lysiuk
Commit 101ebe173
Parents: a846ed391

  • fixed linking of optimized POSIX targets

CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In function AF_AActor_Distance2DSquared(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0x6ab): undefined reference toAActor::PosRelative(AActor const*) const' CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In function AF_AActor_Distance3DSquared(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0x75f): undefined reference toAActor::PosRelative(AActor const*) const' CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In function AF_AActor_Vec3To(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0x850): undefined reference toAActor::PosRelative(AActor const*) const' CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In function AF_AActor_Vec2To(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0x930): undefined reference toAActor::PosRelative(AActor const*) const' CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In function AF_AActor_DistanceBySpeed(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0xa00): undefined reference toAActor::PosRelative(AActor const*) const' CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o:vmthunks_actors.cpp:(.text+0xad3): more undefined references to AActor::PosRelative(AActor const*) const' follow CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In functionAF_AActor_PosRelative(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0x1200): undefined reference to AActor::PosRelative(sector_t*) const' CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In functionAF_AActor_ClearInterpolation(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0x127d): undefined reference to AActor::ClearInterpolation()' vmthunks_actors.cpp:(.text+0x1298): undefined reference toAActor::ClearInterpolation()' CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In function AF_AActor_GetBobOffset(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0x135a): undefined reference toAActor::GetBobOffset(double) const' CMakeFiles/zdoom.dir/scripting/vmthunks_actors.cpp.o: In function AF_AActor_Distance2D(VMValue*, int, VMReturn*, int)': vmthunks_actors.cpp:(.text+0x222b): undefined reference toAActor::PosRelative(AActor const*) const'

Newer commits | Older commits