Commit Graph

15632 Commits

Author SHA1 Message Date
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
Rachael Alexanderson 94688a3700 - do a texture check when drawing fog borders in the software renderer. this does not fix the crash issue, but mitigates it enough with a check that likely should be in place, anyhow. 2018-10-30 01:13:00 -04:00
alexey.lysiuk 0c686e6f92 - more fixes for GCC
error: ‘size_t’ does not name a type
error: ‘assert’ was not declared in this scope
2018-10-29 22:57:45 +02:00
Christoph Oelckers b56e80a556 - disabled the buffer reallocation option for the light buffer.
The entire idea with CPU side buffering simply can not work since the buffer is being used live. To compensate the buffer's size was doubled.
2018-10-29 21:53:43 +01:00
alexey.lysiuk 2e02b7e555 - fixed compilation of SDL backend
error: unknown type name 'OpenGLFrameBuffer'
2018-10-29 22:41:24 +02:00
alexey.lysiuk d2c7ffb2ca - fixed crash with Cocoa backend on startup 2018-10-29 22:33:27 +02:00
alexey.lysiuk 2aac222d35 - fixed compilation on macOS
error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'int' in initializer list
error: unknown type name 'OpenGLFrameBuffer'
2018-10-29 22:32:36 +02:00
Christoph Oelckers 0200ee7c13 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-10-29 18:42:12 +01:00
Christoph Oelckers 47ae42d636 - fixed: for sectors that have to be drawn per subsector the render state was not applied. resulting in random garbage. 2018-10-29 17:52:44 +01:00
Rachael Alexanderson c808af94ca - change 'other' gender to 'robotic' for English 2018-10-29 09:54:11 -04:00