Commit graph

15441 commits

Author SHA1 Message Date
Christoph Oelckers
3c5609537a - fixed vector math instructions to use the same order of operations as the VM. 2018-11-09 22:36:08 +01:00
Magnus Norddahl
534606f4ce - add vm_jit cvar to control JIT compilation 2018-11-01 21:39:30 +01:00
Magnus Norddahl
369dcfd57f Merge remote-tracking branch 'origin/master' into asmjit 2018-11-01 21:23:26 +01:00
alexey.lysiuk
8597c9e326 - added warning for constant conditional expression
ZScript code like `if (x = 0) // ...` no longer causes assertion failure in Debug but produces a warning regadless of configuration

https://forum.zdoom.org/viewtopic.php?t=62422
2018-11-01 16:05:27 +02:00
alexey.lysiuk
d99aeb0895 - fixed potential crash when drawing status bar log
src/g_statusbar/shared_sbar.cpp:1133:34: warning: comparison of integers of different signs: 'unsigned int' and 'int'
[-Wsign-compare]
2018-11-01 13:37:11 +02:00
alexey.lysiuk
b5853b4d8e - prevented GME compilation warning spam with Clang 2018-11-01 13:34:47 +02:00
alexey.lysiuk
504a7f00b6 - fixed two potentially dangerous compilation warnings
src/hwrenderer/dynlights/hw_lightbuffer.h:51:29: warning: comparison between signed and unsigned integer expressions
[-Wsign-compare]
src/hwrenderer/scene/hw_renderstate.h:196:44: warning: operation on '((FRenderState*)this)->FRenderState::mVertexOffsets[0]' may
be undefined [-Wsequence-point]
2018-11-01 12:51:22 +02:00
Christoph Oelckers
b9f2cce8de - versioned the return mismatch check to demote it to a warning for older versions than 3.7. 2018-11-01 11:30:53 +01:00
alexey.lysiuk
d3461be40c - made 'return void' case a compilation error 2018-11-01 11:18:22 +01:00
Christoph Oelckers
b79622bcba - added far stronger restrictions for when the Boom-Texture-Y-offset compatibility flag may trigger.
This had absolutely no sanity checks and unconditionally picked the source texture if one existed.
It should only be done for wall textures, only for those defined in TEXTUREx and only for those where the scale is identical with the underlying texture.
2018-11-01 10:51:57 +01:00
Christoph Oelckers
c5153ca095 - fixed: Do not pass Sysex messages to Windows's GS Wavetable synth.
This will totally refuse to play a MIDI if that happens.
Duke Nukem's Alienz.mid, which did not play before works after this change.
2018-11-01 10:22:21 +01:00
Christoph Oelckers
f7ce4dd2da - added fake vid_renderer CVAR so that mods that checked for it to determine the renderer will get 1 returned instead of 0.
The majority of mods which did such a thing checked for the hardware renderer so this should be the default.
2018-11-01 09:43:11 +01:00
Christoph Oelckers
9df7ce1f9a - fixed: P_DamageMobj should clear reactiontime only for non-players.
For players this variable has an entirely different meaning which does not agree with being modified here.
2018-11-01 09:27:38 +01:00
Christoph Oelckers
aa69d63a65 - made DBrokenLines serializable. 2018-11-01 09:02:20 +01:00
Christoph Oelckers
23aff98e90 - fixed handling of wrapped midtextures to be actually useful when used in sky sectors. 2018-11-01 08:02:11 +01:00
ZippeyKeys12
77c5c1eb19 Export AllClasses 2018-11-01 00:20:46 +01:00
Vitaly Novichkov
8450dc5fdb Update GME up to 0.6.2 version 2018-11-01 00:15:41 +01:00
Cacodemon345
eaaf0cb8f6 Fix bounce state not entering when hit from top. 2018-11-01 00:11:57 +01:00
Jonathan Russell
f39a389e99 - changed the way alpha works on DrawLine and DrawThickLine so they're consistent 2018-11-01 00:10:47 +01:00
Major Cooke
6a8b0df4ba Added VelIntercept.
- Uses the same code as Thing_ProjectileIntercept to aim and move the projectile.
  - targ: The actor the caller will aim at.
  - speed: Used for calculating the new angle/pitch and adjusts the speed accordingly. Default is -1 (current speed).
  - aimpitch: If true, aims the pitch in the travelling direction. Default is true.
  - oldvel: If true, does not replace the velocity with the specified speed. Default is false.

- Split the code from Thing_ProjectileIntercept and have that function call VelIntercept.
2018-11-01 00:10:08 +01:00
ZZYZX
849d110f10 Fixed sector floor/ceiling actions not triggering in P_XYMovement 2018-11-01 00:05:43 +01:00
Christoph Oelckers
a388b6c8ab - added missing nullptr check. 2018-10-31 23:23:02 +01:00
ZZYZX
a6cdcab128 Implemented loading/saving of line/sector health and health groups in savegames 2018-10-31 22:14:40 +01:00
Tommy Nguyen
40c56bad09 - fix _mm_pause() compiler error and zero initialize atomics 2018-10-31 22:35:56 +02:00
Christoph Oelckers
98b8a2b1f4 - missed one place where FBrokenLines was used. 2018-10-31 20:36:23 +01:00
Christoph Oelckers
4343d0b9c5 - fixed: An exception inside DestroyAllThinkers could send the engine into an endless loop of failed destructions. 2018-10-31 20:07:24 +01:00
Christoph Oelckers
0d54d335c4 - use a saner data structure to store the BrokenLines.
Calling the old method with a pointer to an array of unspecified length 'dirty' would be an understatement.
Now it uses a TArray to store the single elements
2018-10-31 19:13:54 +01:00
ZZYZX
b911bbc424 Single commit - destructible geometry feature 2018-10-31 17:22:09 +01:00
Christoph Oelckers
a33cc13054 - make GCC happy... :( 2018-10-31 17:20:04 +01:00
Player701
3e609f2b87 - Introduced an enum named EventHandlerType and changed the bool argument in E_NewGame to this type. 2018-10-31 17:19:21 +01:00
player701
04ae32f6f9 - Static NewGame events now fire before loading a map, and normal NewGame events fire after registering per-map handlers and before all other events.
- Static event handlers now unregister after per-map handlers.
- All event handlers now unregister in reverse order.
2018-10-31 17:19:21 +01:00
Christoph Oelckers
2dec7bb1e5 - added a non-multithreaded option for the renderer and fixed a few places where the wrong sector was used
The render_sector is only relevant for flats, but never for walls or sprites!
2018-10-31 17:13:22 +01:00
Christoph Oelckers
91df3f8c73 - added option to disable alpha testing for user shaders. 2018-10-31 15:56:20 +01:00
Christoph Oelckers
40da1dbfbc - removed bad 'return' in C_MidPrint definition. 2018-10-31 13:13:32 +01:00
Christoph Oelckers
37166b5faf - fixed missing binding of the light buffer.
I thought this wasn't needed but apparently the buffer refactoring caused this not to be done automatically anymore.
Best have it once at the start of each frame where the cost is negligible.
2018-10-31 12:48:09 +01:00
Christoph Oelckers
41fd34e424 - use standard sprite lighting for voxels.
Per-pixel lighting requires normals which voxels do not have.
2018-10-31 12:28:10 +01:00
Christoph Oelckers
3a6f186aa0 - removed memcpy workarounds from GLWall, GLFlat and GLSprite after making sure that all 3 are trivially copyable. 2018-10-31 11:51:52 +01:00
Christoph Oelckers
fdf324cce5 - fixed error message for old OpenGL versions. There was still a mention of "with framebuffer support" which is core in 3.3. 2018-10-31 10:50:45 +01:00
Christoph Oelckers
533ded8d1e Merge branch 'master' into mt 2018-10-31 10:20:29 +01:00
Christoph Oelckers
790b121195 - added a bit of profiling code to the multithreaded parts of the renderer. 2018-10-31 10:20:06 +01:00
Christoph Oelckers
01a0af8ad1 - simplified the render job interface.
Since the job nodes were already taken from a static array, the added linked list isn't really needed. All we need is a read and a write pointer into the array, This can even be done without a spinlock as long as we assume that the list never overflows.
2018-10-31 09:49:07 +01:00
Christoph Oelckers
e9c2247ff4 - added missing file. 2018-10-31 09:22:38 +01:00
Christoph Oelckers
e4d2ec8cb2 - added a few comments to the renderstate to document where certain functions are used. 2018-10-31 08:16:44 +01:00
Christoph Oelckers
aafa445aac - fixed stencil marking for SSAO. 2018-10-30 23:33:45 +01:00
Christoph Oelckers
e2e34f5245 - cleanup of the buffer binding interface.
Some stuff is not really needed and the vertex buffers no longer need to insert themselves into the render state.
2018-10-30 22:43:58 +01:00
Christoph Oelckers
1be1470d47 - cleanup of hw_bsp.cpp. 2018-10-30 22:19:55 +01:00
Marrub
0b460ccb03 Squashed commit of the following:
commit 767e3a64f0d5fd27ef56de6e93221e9b2016a0c7
Author: Marrub <marrub.xz@gmail.com>
Date:   Tue Oct 30 04:01:09 2018 -0400

    ProMessage -> PronounMessage

commit 305477f63fb669f8cf2d9f6d609ed3988f437664
Author: Marrub <marrub.xz@gmail.com>
Date:   Mon Oct 29 23:56:58 2018 -0400

    improve variable naming

commit f3f0245d0cdcc1b0a8a9b74806bc8954be747f40
Author: Marrub <marrub.xz@gmail.com>
Date:   Mon Oct 29 19:52:32 2018 -0400

    add "neutral" gender option and better obit formatting
2018-10-30 21:42:09 +01:00
Christoph Oelckers
48bc5550d7 - removed the Bind function from FFlatVertexBuffer.
This is not flexible enough. There was already one place where this was not supposed to go through the render state.
The new interface allows more general use of the contained buffer objects.
2018-10-30 19:28:47 +01:00
Christoph Oelckers
fa498611f8 - uncoupled texture precaching from regular binding for rendering.
The precaching should not depend on code that may be subject to change.
2018-10-30 19:27:10 +01:00
Christoph Oelckers
55df324d16 - basic multithreading for the render data generation. 2018-10-30 14:58:43 +01:00