Latest GZDoom Changes

Latest 50 commits

Unofficial development builds at DRD Team

Older commits

20-Aug-2018 (Monday) at 18:31:52 CDT by argv-minus-one
Commit 1d930b45c (HEAD -> master)
Parents: 03fa1a12c

Add ZScript method LevelLocals.SphericalCoords.

It computes spherical coordinates from one point in the world to another. Useful for checking whether one actor is inside another actor's view cone.

20-Aug-2018 (Monday) at 15:55:54 CDT by Christoph Oelckers
Commit a4b601fff (uniformbuffers)
Parents: eac7f7a09

  • fixed buffer allocation size. This didn't take reserved content into account.

20-Aug-2018 (Monday) at 15:55:22 CDT by Christoph Oelckers
Commit eac7f7a09
Parents: 2d67206b8

  • the texture matrix buffer index variables need to be tracked by reference, not by value. All accesses need to go to the actual variable storing the value so that FakeFlat related copies both get and write to the correct place.

20-Aug-2018 (Monday) at 01:39:51 CDT by Christoph Oelckers

Merge branch 'master' into uniformbuffers

19-Aug-2018 (Sunday) at 18:40:37 CDT by Magnus Norddahl
Commit 17813e4b3 (asmjit)
Parents: 38fa25d0c

  • implement ATAN2 and FLOP

19-Aug-2018 (Sunday) at 18:12:46 CDT by Christoph Oelckers
Commit 9dbc3f529
Parents: c3cc79fd1

  • major cleanup of hw_fakeflat to fix problems with the recent refactorings.

This function had major bugs with copying the plane texture info. Not only didn't all cases copy all info, it was also using a function that was altering sector state. Fixed by making the plane and texture copies inlined functions of sector_t, so that a) one copy equals one function call and b) changing this can be done in one central place instead of dealing with multiple occurences in here.

19-Aug-2018 (Sunday) at 17:23:03 CDT by Christopher Bruns
Commit 03fa1a12c
Parents: fad406c4c

Avoid overriding vr eye-specific buffer binding during 2D rendering.

19-Aug-2018 (Sunday) at 17:44:48 CDT by Magnus Norddahl
Commit 38fa25d0c
Parents: 302d753d1

  • implement DYNCAST*, TEST, TESTN and JMP opcodes

19-Aug-2018 (Sunday) at 15:53:30 CDT by Christoph Oelckers
Commit c3cc79fd1
Parents: 68bbf4e72

  • generalization of the texture matrix class to handle other type of data as well.

19-Aug-2018 (Sunday) at 13:02:56 CDT by Christoph Oelckers
Commit 68bbf4e72
Parents: da3e8aabc

  • deleted redundant Map call.

19-Aug-2018 (Sunday) at 02:28:53 CDT by Christoph Oelckers
Commit da3e8aabc
Parents: e977011f9

  • moved the two uniforms specific to the specular shader into a CustomUniforms buffer.

This should eventually be generalized into a per-material set of custom uniforms.

19-Aug-2018 (Sunday) at 01:19:56 CDT by Christoph Oelckers

Merge branch 'master' into uniformbuffers

18-Aug-2018 (Saturday) at 18:14:15 CDT by Christoph Oelckers
Commit fad406c4c
Parents: 34f2d8f31

  • got rid of FNameNoInit and made the default constructor of FName non-initializing.

This setup has been a constant source of problems so now I reviewed all uses of FName to make sure that everything that needs to be initialized is done manually. This also merges the player_t constructor into the class definition as default values.

18-Aug-2018 (Saturday) at 18:46:56 CDT by Magnus Norddahl
Commit 302d753d1
Parents: c17be9eb2

  • convert JitCompile's switch into a class to enable easier code reuse

18-Aug-2018 (Saturday) at 15:46:18 CDT by Magnus Norddahl
Commit c17be9eb2
Parents: 3453f05f0

  • fix clang compile error

18-Aug-2018 (Saturday) at 15:41:18 CDT by Magnus Norddahl
Commit 3453f05f0
Parents: b6f52c319

  • implement throwing by storing exception information in a struct, then return from the jitted function and throw from c++

18-Aug-2018 (Saturday) at 15:29:22 CDT by Christoph Oelckers
Commit b03add8e3
Parents: 17813b455

  • fixed: The viewpoint buffer was mapped write only but read from. On old hardware it wasn't even mapped.

Changed to cache the needed value in a CPU-side array so that the buffer access is not needed.

18-Aug-2018 (Saturday) at 15:14:30 CDT by Christoph Oelckers
Commit 17813b455
Parents: 481e268d4

  • use a uniform / shader storage buffer to handle the texture matrices.

Since these are relatively constant data, holding them in a buffer and only updating when needed will save some processing time. It also removes 16 uniform values from the main attribute set which needs to be brought down to 32 for the Vulkan renderer. With the texture matrix removed there are currently 55 uniforms in this set, i.e. 23 more still need to be refactored into buffers.

18-Aug-2018 (Saturday) at 14:41:14 CDT by Magnus Norddahl

Merge pull request #551 from Gutawer/asmjit

Add a first draft of exception handling

18-Aug-2018 (Saturday) at 14:37:55 CDT by Jonathan Russell
Commit d983ae66c (refs/pull/551/head)
Parents: 6424190cb

  • removed the ability to use printf-like formatting in emitAbortExceptionCall, it barely worked

18-Aug-2018 (Saturday) at 12:03:18 CDT by Jonathan Russell
Commit 6424190cb
Parents: c89d8bb9b

  • add first draft of abort exceptions

18-Aug-2018 (Saturday) at 11:41:35 CDT by Magnus Norddahl
Commit c89d8bb9b
Parents: b159b5667

  • call play sqrt when calculating lengths

18-Aug-2018 (Saturday) at 11:21:52 CDT by Magnus Norddahl
Commit b159b5667
Parents: e557e8fac

  • fix 8 and 16 bit store

18-Aug-2018 (Saturday) at 10:50:47 CDT by Magnus Norddahl
Commit e557e8fac
Parents: 9d68d43ce

  • destroy the jit runtime when all script functions are destroyed

18-Aug-2018 (Saturday) at 09:45:26 CDT by alexey.lysiuk
Commit 34f2d8f31
Parents: 12b851057

  • fixed typo in error message

18-Aug-2018 (Saturday) at 08:05:33 CDT by alexey.lysiuk
Commit 12b851057
Parents: 31bd7cfc0

  • cleaned up inconsistent leading whitespaces

Bump copyright year as well

18-Aug-2018 (Saturday) at 07:20:38 CDT by alexey.lysiuk
Commit 31bd7cfc0
Parents: d965c9aa7

  • prohibit assignment of dynamic arrays

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

18-Aug-2018 (Saturday) at 06:18:52 CDT by Magnus Norddahl
Commit 9d68d43ce
Parents: 68b2cd58d

  • disable all unimplemented opcodes in the switch to ensure 'Unknown VM opcode' fatal error is generated if CanJit has a bug

18-Aug-2018 (Saturday) at 05:37:33 CDT by Magnus Norddahl
Commit 68b2cd58d
Parents: 1757acacf

Fix compile errors on macOS

18-Aug-2018 (Saturday) at 05:00:33 CDT by alexey.lysiuk
Commit d965c9aa7
Parents: 20b6db30d

  • support static const arrays inside structs

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

18-Aug-2018 (Saturday) at 03:20:21 CDT by Christoph Oelckers
Commit 481e268d4
Parents: 55571765f

  • track the change state of sector's texture matrix and floor/ceiling plane info.

Note that the floor/ceiling plane info is only tracked by the TexZ field, not the actual planes. Since each change to the planes currently also alters this field this simplifies matters a bit. In case dynamic plane changes get implemented these will also have to handle the change flags.

17-Aug-2018 (Friday) at 17:08:39 CDT by Christoph Oelckers
Commit 55571765f
Parents: dd777aeee

  • the mirror surface code does not use the texture matrix anymore.

17-Aug-2018 (Friday) at 17:57:53 CDT by Magnus Norddahl

Merge pull request #549 from Gutawer/asmjit

Added remaining int arithmetic opcodes

17-Aug-2018 (Friday) at 16:06:12 CDT by Jonathan Russell
Commit 6a40e092f (refs/pull/549/head)
Parents: 758ee5cbf

  • added remaining int arithmetic opcodes (and fixed float loading offset issue)

17-Aug-2018 (Friday) at 14:27:02 CDT by Marisa Kirisame
Commit 20b6db30d
Parents: 155afebb6

Added missing check for HITOWNER on bouncers with 0 damage.

17-Aug-2018 (Friday) at 14:03:25 CDT by Magnus Norddahl

Merge pull request #546 from Gutawer/asmjit

Implemented CMP_APPROX for OP_EQF_*, making ~== work for doubles

17-Aug-2018 (Friday) at 13:15:27 CDT by Jonathan Russell
Commit 758ee5cbf (refs/pull/546/head)
Parents: 08c0ac541

  • forgot to turn off debug switch in last commit

17-Aug-2018 (Friday) at 13:14:31 CDT by Jonathan Russell
Commit 08c0ac541
Parents: d137b3c94

  • made absMaskInt const

17-Aug-2018 (Friday) at 13:08:19 CDT by Jonathan Russell
Commit d137b3c94
Parents: 079391e5a

  • implemented CMP_APPROX for OP_EQF_*, making ~== work for doubles

17-Aug-2018 (Friday) at 12:03:50 CDT by Marisa Kirisame
Commit 155afebb6
Parents: 02926a556

Add HITOWNER flag, when set, allows a projectile to collide with its shooter.

16-Aug-2018 (Thursday) at 16:05:04 CDT by Christoph Oelckers
Commit dd777aeee
Parents: 3baceb7d2

  • use setter methods for glow initialization of sectors.

16-Aug-2018 (Thursday) at 15:19:02 CDT by Christoph Oelckers
Commit 3baceb7d2
Parents: 231c9c605

  • moved sprite vertex generation into the processing path and removed most differentiations between GL3 and GL4 render paths.

The only remaining difference between both is that if available, persistently mapped buffers will be used because they are generally more efficient on hardware supporting them. This will probably need some profiling to see what performs better here. The quad drawer which was previously used to render loose quads on GL 3 hardware could be removed after changing the last remaining piece of code using it.

14-Aug-2018 (Tuesday) at 21:09:27 CDT by Chronos Ouroboros
Commit 079391e5a
Parents: a8ce62670

Updated CanJit's supported opcodes list.

14-Aug-2018 (Tuesday) at 21:08:09 CDT by Chronos Ouroboros
Commit a8ce62670
Parents: ac462638d

Pointer addition opcodes must leave NULL pointers as they are.

16-Aug-2018 (Thursday) at 13:46:40 CDT by Marisa Kirisame
Commit 02926a556
Parents: 4e690b1f6

Add "IsFinal" parameter for CheckReplacement. If set to true it guarantees that the replacement is final and will not go through the rest of the replacement chain.

16-Aug-2018 (Thursday) at 13:59:00 CDT by Christoph Oelckers
Commit 231c9c605
Parents: 13e96cc5d

  • unified a few checks for buffer allocation methods.
  • removed the buffer generation step for walls in the render pass. It will now be done in the processing pass for all setups.

This commit essentially unifies most of the buffer allocation related differences in the renderer, the only thing left to do is the data generation for the sprites' vertices.

15-Aug-2018 (Wednesday) at 17:24:44 CDT by Christoph Oelckers
Commit 13e96cc5d
Parents: e63346c80

  • removed the no-clip-plane handling for OpenGL 3 ATI cards.

Right now these cards make up 0.9% of the user base, but the hacks needed to support these cards prevent a complete separation of geometry generation and rendering which is necessary to eliminate the QuadDrawer hack or run the sprite sorter in a background thread.

A card with a broken driver will just show a glitched display now, any user still stuck with such a card will have to use the vintage build for the next release based on this branch.

15-Aug-2018 (Wednesday) at 17:08:19 CDT by Christoph Oelckers
Commit e63346c80
Parents: 24d71d3f5

  • generate vertices for skybox sectors in the processing pass.

Aside from the sprites this was the only other remaining use of FQuadDrawer.

15-Aug-2018 (Wednesday) at 12:41:52 CDT by Marisa Kirisame
Commit 4e690b1f6
Parents: e18b17217

Fix SDL window "sticking" to the center of the screen after using vid_setsize.

15-Aug-2018 (Wednesday) at 13:35:51 CDT by Christoph Oelckers
Commit 24d71d3f5
Parents: 90037020e

  • changed viewpoint buffer's capabilities after realizing that the glMemoryBarrier call does not do what I expected.

Older commits