Commit graph

8860 commits

Author SHA1 Message Date
Marisa Heit
5ba5da0dcc Fixed: Loading a savegame momentarily left players with undefined pitch limits
- This was only visible when using a screen wipe because the initial frame wiped
  to would clamp the pitch to whatever undefined pitch range the player
  had before the proper range was received.
2016-10-22 21:02:10 -05:00
Marisa Heit
31f01d076e Fixed: Decals calculated "lighting" wrong
- Instead of calculating lighting based from the left edge of the wall
  segment the decal was on, it was calculated from the left edge of the
  wall instead.
2016-10-22 20:27:02 -05:00
Magnus Norddahl
d804f94a5e Merge remote-tracking branch 'origin/ssao' into qzdoom 2016-10-22 21:36:29 +02:00
Magnus Norddahl
6c1c0d2972 Improve scene selection for SSAO so that the mainview drawmode always takes precedence 2016-10-22 21:35:49 +02:00
Magnus Norddahl
1f8b2ebd9f Merge remote-tracking branch 'origin/ssao' into qzdoom 2016-10-22 21:26:30 +02:00
Magnus Norddahl
a3e19bf337 Fixed gl_ssao_portals not having effect 2016-10-22 21:25:29 +02:00
Rachael Alexanderson
02659fab95 Merge http://github.com/rheit/zdoom 2016-10-22 09:06:08 -04:00
Christoph Oelckers
853e49a077 - fixed: R_InitSkyMap must check for the null texture which cannot be used as a sky because it has no bitmap and will cause an access violation in the sky cap color calculation. 2016-10-22 09:58:56 +02:00
Rachael Alexanderson
fb301d5996 Merge http://github.com/rheit/zdoom 2016-10-22 01:36:32 -04:00
Marisa Heit
5c596d3797 Change VM to increment PC after each instruction rather than before
- VC++ generated horribly stupid code for x64 when incrementing pc at the
  beginning of each instruction by storing hundreds of copies of it for
  every opcode executed. Incrementing pc at the end avoids this madness.
- It is possible I messed something up with this change. Hopefully not.
2016-10-21 22:11:23 -05:00
Rachael Alexanderson
9ee34254c8 - fixed: Crashing when using the "restart" ccmd 2016-10-21 19:26:05 -04:00
Rachael Alexanderson
f178043b81 Merge branch 'master' of https://github.com/raa-eruanna/QZDoom 2016-10-21 18:19:44 -04:00
Rachael Alexanderson
11a98bec7e - fixed: Compiler error in hardware.cpp (vid_forceddraw) 2016-10-21 18:18:48 -04:00
Magnus Norddahl
2ba7915d1a Merge remote-tracking branch 'origin/ssao' into qzdoom 2016-10-22 00:14:35 +02:00
Magnus Norddahl
e891911a99 Fix broken SSAO portal rendering and let FRenderState do the glDrawBuffers calls 2016-10-22 00:09:06 +02:00
Rachael Alexanderson
16fded31e1 - Show current renderer on startup. This is for diagnostic purposes when we ask people for their startup logs so we know what key settings are being used when there is a problem. 2016-10-21 17:53:21 -04:00
Magnus Norddahl
be2c50f11c Merge remote-tracking branch 'gzdoom/master' into ssao 2016-10-21 23:48:30 +02:00
raa-eruanna
9cf9cc1318 Merge http://github.com/rheit/zdoom
# Conflicts:
#	wadsrc/static/language.enu
2016-10-21 13:37:12 -04:00
Christoph Oelckers
b1289fa783 - fixed: The serialiter functionfor FDoorAnimation accessed the invalid destination pointer when loading a savegame. 2016-10-21 19:24:40 +02:00
nashmuhandes
21b690a3c7 Fixed: Player.ViewBob should be multiplying the bobbing height in P_CalcHeight, not the velocity of the bobbing.
This mimics the act of the user altering their movebob CVar to compensate for non-standard player movement speeds.
2016-10-21 19:24:39 +02:00
raa-eruanna
e0efdd97b3 - Added: PlayerPawn property "Player.ViewBob" which acts as a MoveBob/StillBob multiplier. 2016-10-21 19:24:39 +02:00
raa-eruanna
ec9dd3f5af - Fixed compiler errors with r_fullbrightignoresectorcolor merge 2016-10-21 07:53:32 -04:00
raa-eruanna
1ae478aacd Merge commit '8678baf6f589a68635939a1063a28231a0aa01a1'
# Conflicts:
#	src/r_data/colormaps.cpp
#	src/r_main.cpp
#	src/r_segs.cpp
#	src/r_things.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.txt
2016-10-21 07:42:28 -04:00
raa-eruanna
8678baf6f5 - Fullbright fixes 2016-10-21 07:32:18 -04:00
raa-eruanna
df6214b142 - Fixes 2016-10-21 07:21:56 -04:00
raa-eruanna
c76431414a - Implemented r_fullbrightignoresectorcolor from QZDoom 2016-10-21 07:06:24 -04:00
raa-eruanna
b327a3312e - Fully Implemented GZDoom fullbright emulation 2016-10-21 06:08:25 -04:00
Magnus Norddahl
1cd27ca98a Change how the LLVM execution engine to constructed and printf which target triple and CPU is being used 2016-10-20 21:57:45 +02:00
Magnus Norddahl
1c2dcad36e Fix linear skies 2016-10-20 15:16:02 +02:00
raa-eruanna
c62ee28726 Merge http://github.com/coelckers/gzdoom 2016-10-20 04:54:44 -04:00
raa-eruanna
f2fdeaec8a Merge http://github.com/rheit/zdoom 2016-10-20 04:53:49 -04:00
Christoph Oelckers
96437d95fa - use the new ZDoom code for retrieving a sky's cap color to avoid redundancies. 2016-10-20 10:36:23 +02:00
Christoph Oelckers
ce80d8157b Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-20 10:24:37 +02:00
Christoph Oelckers
4b956a2f2b - added support for the skyoffset property that had been settable in ANIMDEFS for GZDoom. This will only have an effect in sky mode 2. 2016-10-20 09:56:45 +02:00
raa-eruanna
a4393d352f Merge http://github.com/rheit/zdoom 2016-10-20 03:30:51 -04:00
Christoph Oelckers
19d070c9bd - fixed: averageColor swapped red and blue.
- renamed some stuff
2016-10-20 09:08:07 +02:00
Magnus Norddahl
aa199a91c5 Merge remote-tracking branch 'origin/capsky' into qzdoom
# Conflicts:
#	src/r_plane.cpp
#	src/r_sky.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.txt
2016-10-20 01:05:05 +02:00
Magnus Norddahl
2fe545a4fd Merge r_stretchsky and r_capsky into r_skymode 2016-10-20 00:59:51 +02:00
Magnus Norddahl
0888fc0cde Merge remote-tracking branch 'origin/capsky' into qzdoom 2016-10-20 00:13:58 +02:00
Magnus Norddahl
5de8112578 Add support for capping sky with a solid color 2016-10-19 23:52:09 +02:00
Magnus Norddahl
4ccb69fa61 Palette version of sky drawers 2016-10-19 23:21:09 +02:00
Magnus Norddahl
d5865a46a0 Move triangle drawer into a command and change the sky code to use it if r_cubesky is enabled 2016-10-19 17:44:50 +02:00
Magnus Norddahl
ea72152c31 Add doom style column clipping to triangle drawer 2016-10-19 15:43:10 +02:00
Magnus Norddahl
6a7bb43ce1 Fix clipping bug 2016-10-19 14:32:28 +02:00
Magnus Norddahl
ef70ba0985 More triangle rendering 2016-10-19 03:49:42 +02:00
raa-eruanna
68efdf5cef - Fixed: Added linker flags for Linux to prevent crashes using LLVM. Using fix found by dpJudas. 2016-10-18 18:21:22 -04:00
raa-eruanna
226287875b Creating 0.2pre tag 2016-10-18 14:07:44 -04:00
Magnus Norddahl
694cae054c Add some experimental draw triangle code 2016-10-18 18:23:56 +02:00
raa-eruanna
79b14bbc08 - Updated version.h for beta tag 2016-10-18 11:38:35 -04:00
Magnus Norddahl
49b4860426 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-18 01:16:45 +02:00
Magnus Norddahl
df3f5ae882 Use OpenGL to allocate the canvas buffer to avoid a costly memcpy 2016-10-18 01:16:36 +02:00
raa-eruanna
f32a2547bc - Fixed LLVM compile for LLVM 3.8 (Ubuntu) 2016-10-17 16:05:14 -04:00
raa-eruanna
cd21d017fb Merge remote-tracking branch 'remotes/origin/decorate-viewbob' 2016-10-17 09:04:37 -04:00
Magnus Norddahl
af937366d1 Added DetectRangeError function 2016-10-17 12:36:01 +02:00
Magnus Norddahl
c9a9e93c66 Fix warning C4805: '!=': unsafe mix of type 'bool' and type 'int' in operation 2016-10-17 11:54:03 +02:00
raa-eruanna
931d241056 - Change "vid_used3d" to true by default, in Windows. 2016-10-17 01:13:58 -04:00
raa-eruanna
4ec2db43a4 Merge http://github.com/rheit/zdoom 2016-10-17 01:13:16 -04:00
Braden Obrzut
b4bdb8fa7d - Fixed: Assertion failure if a save was loaded without starting a new game (due to uninitialized RNG). 2016-10-17 00:22:06 -04:00
Braden Obrzut
741c9edf42 - Clear out GCC 6.2 warnings (interestingly they now check for misleading indentation which found a good case in fragglescript/t_func.cpp even though I believe it was harmless) 2016-10-17 00:19:08 -04:00
Magnus Norddahl
f8f710d9e2 Fix linker errors on Windows 2016-10-17 01:17:48 +02:00
Magnus Norddahl
c706d5465a Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-17 00:20:31 +02:00
Magnus Norddahl
d654301bc2 macOS compile fixes and support for slightly older versions of LLVM (to allow Mac users to brew install llvm) 2016-10-17 00:19:07 +02:00
raa-eruanna
963e33b49b Merge http://github.com/rheit/zdoom 2016-10-16 18:02:20 -04:00
Magnus Norddahl
dfed525e18 macOS warnings and build fix 2016-10-16 23:18:56 +02:00
Magnus Norddahl
8b297221fe Merge branch 'gl_swframebuffer' into qzdoom 2016-10-16 23:18:16 +02:00
Magnus Norddahl
f81d0d3964 macOS support and Intel driver bug fixes 2016-10-16 22:40:08 +02:00
Braden Obrzut
9dd42be15f - Fixed: Demo playback on Windows XP since we don't patch fstat for v140_xp bug. 2016-10-16 16:22:21 -04:00
Magnus Norddahl
2534e80a19 Fix vid_hw2d 0 rendering glitch 2016-10-16 16:14:54 +02:00
Magnus Norddahl
49e890f212 Fix hexen sky cap offset 2016-10-16 15:48:34 +02:00
Magnus Norddahl
204c037017 Fix blending modes 2016-10-16 15:41:47 +02:00
Magnus Norddahl
42138a6ab9 Fix hexen sky stretching 2016-10-16 13:08:52 +02:00
Magnus Norddahl
73f3ff9cd4 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-16 13:08:14 +02:00
Magnus Norddahl
1711f13eeb Fix off-by-one bug 2016-10-16 13:08:06 +02:00
raa-eruanna
135c861247 Merge http://github.com/coelckers/gzdoom 2016-10-16 04:02:34 -04:00
Christoph Oelckers
6a6263a614 Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-10-16 09:13:19 +02:00
Christoph Oelckers
59576e6d23 - use the newly added OF_Transient flag to avoid writing out the owned dynamic lights to savegames instead of destroying and recreating them each time. 2016-10-16 09:12:43 +02:00
Christoph Oelckers
b03489a43c Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-16 08:51:13 +02:00
Marisa Heit
e4281454ce Split ANIMATED into three parts, filtered by game that uses them
- ANIMATED contained definitions for Doom, Heretic, and Strife, all
  crammed into a single file. This meant that animations from one game
  could erroneously make their way into maps for another game that
  provided custom textures with names that matched textures that animated
  in the other game. There are now three separate ANIMATED lumps with only
  the animations defined for the original game and no others. The one
  that gets loaded depends on the game being played.
- Added documentation for the ANIMATED file format to the comment for
  FTextureManager::InitAnimated(), since I had to figure it out from the
  code.
2016-10-15 21:40:24 -05:00
Marisa Heit
ae14993ba4 Fixed: Possible invalid processing for Crash states that immediately destroy the actor
- Setting an actor's Crash state has the potential to destroy the actor if
  the Crash state has one or more 0-tic states that end with Stop. This
  was not taken into account when the object's Z velocity was 0, but it
  was under the floor anyway.
2016-10-15 21:14:34 -05:00
Marisa Heit
58ec0e4594 Add OF_Transient flag for objects that shouldn't be written to disk 2016-10-15 20:57:56 -05:00
Magnus Norddahl
b3e4ba13ba Use GetSkyCapColor to pick the sky solid color 2016-10-15 21:53:45 +02:00
Magnus Norddahl
491a4e28c0 Move true color sky drawing to its own drawers and chamge r_stretchsky to false as the new drawers can fade to a solid color 2016-10-15 15:04:14 +02:00
raa-eruanna
cfb985ceb3 Merge http://github.com/rheit/zdoom 2016-10-15 07:58:16 -04:00
Christoph Oelckers
162da2fcaf - allow to specify "none" to set an actor's translation to the identity table. 2016-10-15 10:51:48 +02:00
raa-eruanna
a61f76dc89 Merge http://github.com/rheit/zdoom 2016-10-14 18:16:55 -04:00
raa-eruanna
6608678ad8 - Fullbright sprites and decals now defy sector colormaps as they do in GZDoom. This is controlled by the setting "r_fullbrightignoresectorcolor". 2016-10-14 18:11:49 -04:00
Christoph Oelckers
2e882a41a3 - removed some redundancy. 2016-10-14 23:13:08 +02:00
FishyClockwork
08504dcbe2 Added a small check just in case... 2016-10-14 23:11:58 +02:00
FishyClockwork
ecffd0bea6 Done the code changes.
This time only nulls I've added are nullptrs
2016-10-14 23:11:57 +02:00
alexey.lysiuk
0370592422 Fixed serialization of DSeqPolyNode class objects
Polyobject pointer was not serialized at all
2016-10-14 23:05:02 +02:00
Magnus Norddahl
36aff68501 Fix divide by zero if yscale is too small a number 2016-10-14 23:02:16 +02:00
Magnus Norddahl
657abb374b Fix SkyViewpoint skyboxes not being rendered 2016-10-14 23:01:10 +02:00
raa-eruanna
00b9528e5f Merge branch 'yscale_dividebyzero_fix' of http://github.com/dpjudas/dpdoom 2016-10-14 11:52:25 -04:00
raa-eruanna
b54b4f2786 Merge http://github.com/coelckers/gzdoom 2016-10-14 11:50:06 -04:00
alexey.lysiuk
c3ced5842a Added multithreaded upscaling with xBRZ (macOS only) 2016-10-14 17:14:49 +03:00
alexey.lysiuk
58d44e89c9 Use single helper for xBRZ scalers 2016-10-14 17:03:26 +03:00
Magnus Norddahl
2a4a61d4d0 Fix divide by zero if yscale is too small a number 2016-10-14 15:23:23 +02:00
raa-eruanna
71e5ccc4da Merge branch 'skyviewportfix' of http://github.com/dpjudas/dpdoom 2016-10-14 07:37:22 -04:00
raa-eruanna
b236dd9dc1 Merge http://github.com/rheit/zdoom 2016-10-14 07:34:30 -04:00
alexey.lysiuk
d6b3cbe0c9 Fixed serialization of MovePoly class objects
See http://forum.zdoom.org/viewtopic.php?t=53787
Removed "speed" field which is serialized in the parent class
2016-10-14 14:33:13 +03:00
Magnus Norddahl
f82195bc49 Switch to true color for translated sprites 2016-10-14 12:10:11 +02:00
Magnus Norddahl
f05e2337c2 Fix SkyViewpoint skyboxes not being rendered 2016-10-14 11:24:03 +02:00
Magnus Norddahl
366d494b18 Merged R_DrawMaskedColumnHoriz into R_DrawMaskedColumn 2016-10-14 08:33:59 +02:00
Marisa Heit
97107b6b6d Update lempar.c to 2016-10-04 version
- Every update rolled into one, because I'm pretty sure I missed some while
updating lemon.c (not counting today's commits), since it wasn't always
updated at the same time as lemon.c.
- In particular, I think this check-in from 2016-06-06 was very important to
  us after commit 3d5867d29e (For the
  Lemon-generated parser, add a new action type SHIFTREDUCE and use it to
  further compress the parser tables and improve parser performance.):
  * Fix lempar.c so that the shift-reduce optimization works for error
    processing.
2016-10-13 22:30:12 -05:00
Magnus Norddahl
2a0ab96341 Merge remote-tracking branch 'origin/ssao' into qzdoom 2016-10-13 18:12:56 +02:00
Magnus Norddahl
660a45a0e0 Add normals to decals 2016-10-13 18:04:00 +02:00
Magnus Norddahl
6caa53529f Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-13 11:17:00 +02:00
Magnus Norddahl
d1d443497f Fix weird access violation in some of the drawers 2016-10-13 11:16:51 +02:00
raa-eruanna
3a13394661 - Changed max sky buffer to 3072 from 2048 2016-10-13 02:47:07 -04:00
raa-eruanna
5d08a81240 - fixed: compiler warning with bad copy-paste
- fixed: speed up sky compositing in truecolor mode with large buffers - only the last 4 buffers used are checked.
2016-10-13 02:37:38 -04:00
raa-eruanna
d96ec6c311 - Expand truecolor sky buffer from 4 columns to 2048 columns. 2048 is probably the max we'll ever need, even with 4k, 8k, or higher resolutions, since the algorithm checks for repeat columns. 2016-10-13 02:12:48 -04:00
raa-eruanna
e01cdf6946 Merge http://github.com/rheit/zdoom 2016-10-12 18:20:44 -04:00
raa-eruanna
fbbdd403f1 - Implemented r_linearsky for dual-layer skies 2016-10-12 14:37:57 -04:00
Magnus Norddahl
b5b96ee222 Add a little bit more debug information 2016-10-12 13:49:12 +02:00
Magnus Norddahl
27b432a930 Improve crash handling in drawers 2016-10-12 13:25:05 +02:00
Christoph Oelckers
6f92efc72c - renamed thingdef_codeptr.cpp and moved it out of thingdef/.
Ultimately, thingdef should only contain code that is directly related to the DECORATE parser, but that's not the case with this file. It's only function definitions which get used during gameplay and will also be accessed by ZScript.
The change is intentionally on master so that pull requests can adjust to it now instead of creating conflicts later.
2016-10-12 12:43:26 +02:00
raa-eruanna
15c08f73d5 Merge http://github.com/coelckers/gzdoom 2016-10-12 03:15:03 -04:00
Christoph Oelckers
a4a00435e2 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-12 08:42:37 +02:00
Magnus Norddahl
3146f75ae0 Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom 2016-10-12 08:05:39 +02:00
Magnus Norddahl
c5ebfd9e65 Add vid_max_width and vid_max_height 2016-10-12 08:05:31 +02:00
Magnus Norddahl
052f7900c2 Fix swapped x and y in DrawLetterbox 2016-10-12 08:04:42 +02:00
Magnus Norddahl
403b3e2319 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-12 07:39:20 +02:00
Magnus Norddahl
77a566a57e Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom 2016-10-12 07:38:56 +02:00
Magnus Norddahl
698b05ee69 Fix pixel center and letter box issues 2016-10-12 07:34:07 +02:00
Major Cooke
41bf9def80 GZDoom compatibility for PSPF_FLIP. 2016-10-11 20:18:06 -05:00
Major Cooke
3de83b8943 Added PSPF_FLIP.
Flips the overlay on the X axis.
2016-10-11 17:20:58 -05:00
raa-eruanna
49745e133d Merge http://github.com/rheit/zdoom 2016-10-11 17:43:27 -04:00
raa-eruanna
5e458866bc - Added CVAR handling for vid_used3d - allows to switch software mode canvas between OpenGL and Direct3D upon restart. 2016-10-11 17:10:54 -04:00
Major Cooke
5dc94a10c3 Added A_SetInventory.
- Sets the absolute amount of an inventory actor.
- Limits itself to the range [0, MaxAmount]. Setting beyondMax to true disregards the MaxAmount. Default is false.
2016-10-11 14:44:31 -05:00
raa-eruanna
289e76cce7 Merge http://github.com/rheit/zdoom 2016-10-11 10:38:05 -04:00
raa-eruanna
b724de6ee3 Merge http://github.com/coelckers/gzdoom 2016-10-11 10:38:02 -04:00
Magnus Norddahl
f37ee3a024 Add bgra support to OpenGLSWFrameBuffer 2016-10-11 15:43:12 +02:00
Magnus Norddahl
f5c069c759 Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom 2016-10-11 14:54:18 +02:00
Christoph Oelckers
bdbc7c3fb7 - removed CreateDamageFunction, because it's no longer needed for defining a 'damage' constant. 2016-10-11 14:43:17 +02:00
Magnus Norddahl
3c7d6234cb Add wipes 2016-10-11 14:37:57 +02:00
alexey.lysiuk
7510ad1635 Fixed missing fake floors in deferred buffer mode
wow.wad is now genuine and authentic...
2016-10-11 14:56:22 +03:00
Magnus Norddahl
7911302ad8 Hook in gamma shader 2016-10-11 13:09:32 +02:00
Magnus Norddahl
01dc9de8d1 Misc bug fixes and performance improvements 2016-10-11 10:27:18 +02:00
Christoph Oelckers
dde25820e2 - fixed winding of voxel polygons. 2016-10-11 09:08:31 +02:00
raa-eruanna
1ea533add5 Merge http://github.com/rheit/zdoom 2016-10-11 02:27:55 -04:00
Christoph Oelckers
084bf8c576 - fixed: VisibleAngle and VisiblePitch actor properties require both parameters to be present, but the second one was set to optional. 2016-10-11 00:23:50 +02:00
Magnus Norddahl
682b040b97 OpenGL based software renderer hardware accel now works for most things 2016-10-11 00:03:46 +02:00
Magnus Norddahl
f4308b3184 Add glsl shader version of the d3d9 shaders and get enough of it working for it to boot without errors 2016-10-10 21:03:55 +02:00
raa-eruanna
2a7b902a0a Merge http://github.com/coelckers/gzdoom
# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
2016-10-10 10:39:07 -04:00
Christoph Oelckers
14a6e7989b Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	wadsrc/static/menudef.txt
2016-10-10 11:38:08 +02:00
Major Cooke
31ca5a1900 Added OverlayX/Y(int layer)
- Retrieves the X/Y positions of an overlay.
- A_OverlayFlags and A_OverlayOffset now interpret a layer of 0 to mean 'use this calling layer'.
2016-10-10 10:48:50 +02:00
alexey.lysiuk
a771a3edd4 Fixed potential crash caused by A_Warp()
ACSF_Warp case was refactored to express its intention clearly
http://forum.zdoom.org/viewtopic.php?f=2&t=53734
2016-10-10 10:47:43 +02:00
Magnus Norddahl
40df46f94e Implement OpenGL versions of GPU objects 2016-10-10 07:39:02 +02:00
raa-eruanna
1fab0cc514 - Added: PlayerPawn property "Player.ViewBob" which acts as a MoveBob/StillBob multiplier. 2016-10-10 01:35:47 -04:00
Christopher Bruns
779e6acb7b Create "final" two non-VR 3D modes: Column-interleaved and checkerboard. 2016-10-09 13:05:50 -04:00
Magnus Norddahl
5f0088ab8b Created new OpenGL framebuffer using the software renderer's hardware acceleration 2016-10-09 12:50:57 +02:00
Magnus Norddahl
94d8e10f96 Merge branch 'ssao' into qzdoom 2016-10-09 06:27:42 +02:00
Magnus Norddahl
1b7c42f45f Multisampling ssao bug fixes and split linear depth to its own buffer 2016-10-09 06:17:48 +02:00
alexey.lysiuk
9a72ef1bf1 Added detection of current macOS version 2016-10-08 15:47:16 +03:00
Magnus Norddahl
fc07a25306 Add aliasing meta data to loads and stores 2016-10-08 09:29:26 +02:00
Magnus Norddahl
0b0ee2e3c2 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-08 06:50:42 +02:00
Magnus Norddahl
b3be0d22cc Unroll loops by 8 and enable some additional passes 2016-10-08 06:50:33 +02:00
raa-eruanna
f5681cf42f Merge http://github.com/rheit/zdoom 2016-10-08 00:31:54 -04:00
Magnus Norddahl
606b7f5a00 Run module level LLVM optimization passes before calling finalizeObject 2016-10-08 04:59:24 +02:00
Christoph Oelckers
d819aafcf3 - changed handling of duplicate classes in DECORATE.
Instead of replacing the original, the second class will get renamed now, using the originating file as an identifier. In the vast majority of cases this should do exactly what is needed: Create an unconflicting second class that can coexist with the original. Unless the class is used by name this should eliminate all problems with this, but so far I haven't seen anything that used them by name.

This is choosing the lesser of two evils. While some mod out there may get broken, the old setup meant that the first class of a given name could not be written out to a savegame because it was not retrievable when loading it back.
2016-10-07 15:28:25 +02:00
raa-eruanna
a2551ce95e Merge http://github.com/rheit/zdoom 2016-10-07 08:30:25 -04:00
Christoph Oelckers
06ca41f8b5 - do not declare PNamedType::Outer as DObject.
Ultimately we may have to get a fully qualified name out of this, so Outer should be a type that can handle this feature. The new class for this is currently used as base for PType and PSymbol so that PNamedType inherits from it and maybe later a namespace symbol can, too.
2016-10-07 13:59:29 +02:00
Magnus Norddahl
aae4571c95 Changed column drawers to use true color textures 2016-10-07 12:45:21 +02:00
Christoph Oelckers
ee66d22034 Revert "- added an option to disable the pickup screen flash."
This reverts commit 2d320a2e86.

The feature has been superseded by pickup_fade_scalar and is no longer needed.
2016-10-07 08:46:06 +02:00
Magnus Norddahl
6512068005 Remove unused queue_wallcommand 2016-10-07 07:03:13 +02:00
Magnus Norddahl
78415461b9 Removed old SSE macros and drawers 2016-10-07 06:56:20 +02:00
Magnus Norddahl
5a0f67308f Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-07 06:40:39 +02:00
Magnus Norddahl
8c259f50b1 Add codegen for rt column drawers 2016-10-07 06:40:29 +02:00
raa-eruanna
a80c67c2ca - Backported blood_fade_scalar from Skulltag
- Added new pickup_fade_scalar which works the same way for pickups
- Default for blood_fade_scalar is 1.0 instead of 0.5 from Skulltag.
2016-10-07 00:35:06 -04:00
Christoph Oelckers
2e78d34046 - fixed: DCeiling's main constructor could leave some fields uninitialized. 2016-10-07 00:33:53 -04:00
Christoph Oelckers
f89d47d03e - fixed: ZCC_OpInfoType::FindBestProto was missing checks for exact match of the required conversion before testing if it is a F32->F64 conversion.
Of course, since 0 means that there is no conversion it also means that there is no data that could be checked.
2016-10-07 00:33:53 -04:00
Christoph Oelckers
9dc51b2743 - rewrote AActor::DestroyAllInventory so that it clears the item's link to its owner and the owner's inventory list before destroying them.
There have been reports about crashes in here with Linux that point to some of the code that gets called here doing unwanted things on the owner, so with these links cleared that should no longer be possible.
2016-10-07 00:33:53 -04:00
Magnus Norddahl
584220edf0 Move DrawerCommandQueue to its own file 2016-10-07 04:01:38 +02:00
Magnus Norddahl
c1e859dbca Added codegen for column drawers 2016-10-07 03:38:43 +02:00
raa-eruanna
02f66fa34e - Backported blood_fade_scalar from Skulltag
- Added new pickup_fade_scalar which works the same way for pickups
- Default for blood_fade_scalar is 1.0 instead of 0.5 from Skulltag.
2016-10-06 20:01:20 -04:00
Christoph Oelckers
fc246be03e Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-06 21:21:46 +02:00
Christoph Oelckers
99c4d03ad4 - fixed: DCeiling's main constructor could leave some fields uninitialized. 2016-10-06 21:20:49 +02:00
Christoph Oelckers
d7bb5bb41e - fixed: ZCC_OpInfoType::FindBestProto was missing checks for exact match of the required conversion before testing if it is a F32->F64 conversion.
Of course, since 0 means that there is no conversion it also means that there is no data that could be checked.
2016-10-06 12:08:38 +02:00
Christoph Oelckers
c56d2eecb0 - rewrote AActor::DestroyAllInventory so that it clears the item's link to its owner and the owner's inventory list before destroying them.
There have been reports about crashes in here with Linux that point to some of the code that gets called here doing unwanted things on the owner, so with these links cleared that should no longer be possible.
2016-10-06 08:50:46 +02:00
Magnus Norddahl
bb79dcb634 SSAO math bug fixes 2016-10-06 07:36:49 +02:00
raa-eruanna
e592473f57 Merge http://github.com/rheit/zdoom 2016-10-05 21:36:23 -04:00
Christoph Oelckers
59d5b42abf - fixed: G_UnsnapshotLevel should abort with an error if it cannot read the savegame.
- fixed: The exception handler in G_DoLoadGame needs to rethrow the exception it receives.
2016-10-05 19:02:53 +02:00
Christoph Oelckers
aeb5377821 - do not generate SYSEX events when playing MIDIs through FMod, because there has been a report that it doesn't work correctly. 2016-10-05 16:45:12 +02:00
Christoph Oelckers
2d320a2e86 - added an option to disable the pickup screen flash. 2016-10-05 09:59:19 +02:00
Magnus Norddahl
00e72028ef Add another gbuffer with normal data and make ssao pass use it 2016-10-05 07:57:27 +02:00
raa-eruanna
3f020e686f Merge http://github.com/coelckers/gzdoom 2016-10-04 23:26:50 -04:00
Magnus Norddahl
490dd612b3 Keep using render buffers when ssao is off, for better performance 2016-10-05 03:56:58 +02:00
Christoph Oelckers
64863d30f3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-04 18:17:32 +02:00
Major Cooke
0e9f808c8a Fixed: FLATSPRITES were drawn backwards. 2016-10-04 10:05:57 -05:00
Christoph Oelckers
15cbf4bae6 - fixed: DecoHandleRuntimeState must check all parent classes when trying to determine if the target is a valid state. It should also ensure that both the calling and target state belong to the same actor. Although unlikely it cannot be entirely ruled out that a bogus index randomly points to a seemingly valid state elsewhere. 2016-10-04 09:28:19 +02:00
raa-eruanna
cc5f3a0ec0 Merge http://github.com/rheit/zdoom 2016-10-03 23:49:31 -04:00
Marisa Heit
594b344be9 Don't use MIN<short> when clamping topclip.
- This was fine with fixed point numbers, since they could never be
  outside of short range when converted to regular ints. With floating
  point numbers now, that condition no longer holds.
2016-10-03 22:05:02 -05:00
raa-eruanna
f9795a2533 Revert "Remove linear sky again"
This reverts commit 21390e91b8.

- also set r_linearsky to "false" by default.
2016-10-03 21:39:15 -04:00
Magnus Norddahl
e05ed47fee Remove C++ and SSE drawers 2016-10-04 01:36:26 +02:00
Magnus Norddahl
e9d13e5d74 Remove gl_light_math (reverts last remains of old lightmath branch) 2016-10-04 00:25:35 +02:00
Magnus Norddahl
51f867bc6c Merge branch 'ssao' into qzdoom
# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
#	wadsrc/static/shaders/glsl/main.fp
2016-10-04 00:16:05 +02:00
Magnus Norddahl
ecb57d6cd9 Merge remote-tracking branch 'gzdoom/master' into ssao
# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/scene/gl_scene.cpp
#	src/gl/shaders/gl_shader.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
2016-10-04 00:01:03 +02:00
Magnus Norddahl
bcb64a3445 Merge branch 'ssao' into qzdoom
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/scene/gl_scene.cpp
#	src/gl/shaders/gl_ambientshader.cpp
#	src/gl/shaders/gl_ambientshader.h
#	src/gl/system/gl_cvars.h
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
2016-10-03 23:47:09 +02:00
Magnus Norddahl
dcb6c1ac3a Move ApplyFXAA to PostProcessScene 2016-10-03 23:30:00 +02:00
Magnus Norddahl
9c8f841858 Merge branch 'llvmcompiler' into qzdoom 2016-10-03 23:22:28 +02:00
alexey.lysiuk
5d99e7dafe Fixed compilation on platforms other than Windows 2016-10-03 22:13:33 +03:00
alexey.lysiuk
d6346fb0c6 Fixed compilation with GCC or Clang 2016-10-03 21:44:00 +03:00
Christoph Oelckers
15af9242d6 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-03 16:22:16 +02:00
Christoph Oelckers
7ab7fc9a57 - seems I missed this part... 2016-10-03 16:21:50 +02:00
Christoph Oelckers
4eb5f10b02 - use normals to have proper light attenuation. So far only implemented for walls and flats. Models are planned but need some thinking about how to efficiently collect all required lights for an object. 2016-10-03 16:09:32 +02:00
Christoph Oelckers
41ab08ee47 - fixed: TVector::Resized needs to consider that the input vector has a length of 0. In this case just performing the normal calculations results in an invalid vector. 2016-10-03 11:00:26 +02:00
Magnus Norddahl
7c47806382 Fix aspect ratio bug in LensDistortScene 2016-10-03 09:18:47 +02:00
raa-eruanna
267b131c03 Merge http://github.com/rheit/zdoom 2016-10-02 23:10:28 -04:00
raa-eruanna
c6408e92e2 Merge http://github.com/coelckers/gzdoom
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/scene/gl_scene.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
2016-10-02 23:10:07 -04:00
Christoph Oelckers
2da18bfa56 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-03 00:56:55 +02:00
Major Cooke
201ae3c60f Added OverlayID() for retrieving psprite layer numbers. 2016-10-03 00:44:06 +02:00
alexey.lysiuk
c68aa2b241 Added FXAA post-processing
Implementation of Fast Approximate Anti-Aliasing is based on nVidia sample:
https://github.com/NVIDIAGameWorks/GraphicsSamples/tree/master/samples/es3-kepler/FXAA
2016-10-03 00:15:45 +02:00
Christopher Bruns
5391216756 Delete unused new BlitFromEyeTexture() method I ended up not using. 2016-10-02 16:27:43 -04:00
Christopher Bruns
63b28a1d80 Retain stereoscopic parity after dragging window in row interleaved 3D mode. 2016-10-02 16:11:06 -04:00
Christopher Bruns
0240cdef18 Modulate row interleaved stereo 3d offset with window height parity, because gl_FragCoord.y approaches zero at the bottom, not the top of the window. 2016-10-02 16:10:58 -04:00
Christopher Bruns
576619504e Remove unused WindowHeight uniform. 2016-10-02 16:10:50 -04:00
Christopher Bruns
fcbf9342d6 Compute row location using gl_FragCoord. 2016-10-02 16:10:39 -04:00
Christopher Bruns
460b653709 Row interlaced 3d might be working, at least in fullscreen 1920x1080 mode. 2016-10-02 16:10:21 -04:00
Christopher Bruns
79046580d5 Partial implementation of row interlaced mode. 2016-10-02 16:09:22 -04:00
Christopher Bruns
960d4d6755 Create TopBottom3D mode and begin sketching RowInterleaved3D mode. 2016-10-02 16:09:02 -04:00
N.E.C
671646be26 Fix errors encountered when compiling for v140_xp target 2016-10-02 13:05:26 -07:00
Major Cooke
1620ff58c8 Added INTCVAR to DrawNumber.
- Allows retrieval and displaying of an int/bool user/server cvar.
2016-10-02 20:11:13 +02:00
Christoph Oelckers
e84a7de390 - variable was in the wrong scope. 2016-10-02 18:56:04 +02:00
Christoph Oelckers
37d61167ea - hotfix for a RapidJSON bug: If the Writer tries to process an INF or NaN value, it aborts and leaves the writer in a broken state, unable to recover. Changed so that it writes a 0 value so that the resulting JSON at least parses correctly. 2016-10-02 18:50:37 +02:00
Christoph Oelckers
3418710a38 - be a bit more thorough and also call Effect() on vertically moving missiles with zero damage. 2016-10-02 14:38:48 +02:00
Christoph Oelckers
865863ab6f - fixed: AFastProjectile did not work properly for perfectly vertically moving missiles. Like AActor::Tick it needs to ensure that a tiny bit of lateral movement is present so that collision detection and the Effect() function work as intended. 2016-10-02 14:37:26 +02:00
Christoph Oelckers
0bce6e3925 - added ACS and DECORATE setter functions for named translations. 2016-10-02 14:09:45 +02:00
Christoph Oelckers
a505e91032 - added TRNSLATE lump for defining global translations which are accessible by name.
This is only the definition part, manipulation functions for ACS and DECORATE still to do.
2016-10-02 13:35:25 +02:00
alexey.lysiuk
d7683a8c55 Fixed crash on early fatal error exit
Process terminates correctly if zdoom.pk3 is missing
2016-10-02 10:13:45 +03:00
Marisa Heit
efc9ed2fe9 Fix state lookup from non-action functions (i.e. Damage functions) 2016-10-01 22:31:07 -05:00
Marisa Heit
eb2ee33950 FxVMFunctionCall must pass null pointers when calling an action function from a non-action function 2016-10-01 22:29:57 -05:00
Marisa Heit
944ae2bc09 Only generate the self==stateowner check inside action functions 2016-10-01 21:47:43 -05:00
raa-eruanna
ff0d409e2b Merge http://github.com/rheit/zdoom 2016-10-01 19:06:43 -04:00
raa-eruanna
a89ec61dc1 Merge http://github.com/coelckers/gzdoom 2016-10-01 19:06:40 -04:00
Christoph Oelckers
51ffd6d9c6 - fixed some warnings.
- A_SetRenderStyle should not default to STYLE_None.
2016-10-02 01:00:07 +02:00
Christoph Oelckers
80f2f5829f - added A_SetRenderStyle function which replaces A_SetTranslucent. A_SetTranslucent had to be deprecated due to obsolete semantics of the renderstyle argument. 2016-10-02 00:43:05 +02:00
Christoph Oelckers
ff0b879323 - added UDMF portal flags. Names are identical with Eternity for compatibility reasons. 2016-10-02 00:31:25 +02:00
Christoph Oelckers
cfa6b817b5 - made bloom and tonemap settings game specific and save all related CVARs.
As was pointed out: "That said, there is one minor problem - different game artstyles can constitute whether Bloom is turned on, which tonemap is used, etc. For example, when playing Doom, I like having my bloom on, but if I am going to start playing the Adventures of Square, the art style and bloom don't mix, in my opinion. For this, I have to remember to switch my bloom settings every time I switch IWad"
2016-10-01 21:34:13 +02:00
Christoph Oelckers
3a3d538a45 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-01 18:22:00 +02:00
Christoph Oelckers
7720359f4c - fixed: AActor::Masacre must restore the flag if it cannot kill the monster. 2016-10-01 12:08:07 +02:00
alexey.lysiuk
099bfed806 Fixed endianness issue with precaching of MUS files 2016-10-01 11:50:29 +02:00
Magnus Norddahl
c960742dbd Fix 64 bit compile errors 2016-10-01 11:47:21 +02:00
alexey.lysiuk
e9ce699042 Fixed compilation with GCC or Clang 2016-10-01 12:17:15 +03:00
Magnus Norddahl
8765cf2016 Change Windows build to use a precompiled version of LLVM 2016-10-01 06:51:55 +02:00
raa-eruanna
558a7fcfb0 Merge http://github.com/rheit/zdoom 2016-09-30 19:34:27 -04:00
Christoph Oelckers
b400cf1454 - added an integrity check to the SNDINFO parser to detect and eliminate recursive links. Normally these would crash the sound code later.
- allow recursive linking of $random definitions (as long as they do not link back, see above.)
- fixed the sound precaching which did not handle $alias inside $random. Normally this went undetected but in cases where the random sound index was the same as a sound index in the current link chain this could hang the function.
2016-09-30 10:50:41 +02:00
Magnus Norddahl
28bb5da181 Hooked up LLVM wall drawers 2016-09-30 07:27:25 +02:00
raa-eruanna
6e3a49b065 Multilayer skies (Hexen) now properly show in truecolor mode. This is only supported for paletted skies, but it still offers a true-color output. 2016-09-29 21:29:40 -04:00
raa-eruanna
bbec9b86a3 - fixed: un-commented the line with said hack. oops. 2016-09-29 20:00:56 -04:00
raa-eruanna
1560ed07af Added a hack that allows maps using fogmap to display properly in the true-color renderer. Unfortunately, this could be implemented better but at least for now it's here. 2016-09-29 20:00:00 -04:00
raa-eruanna
7cbaf80a2a - Okay - so - last commit didn't actually fix anything. I think for now, it's better to turn off multi-threading by default until this can be fixed. r_multithreading has been changed to false by default, and is now saved in the user's .ini. 2016-09-29 12:49:10 -04:00
raa-eruanna
d58da58aee - fixed: Prevents too many drawer thread commands from queueing up. Previously, drawing too many columns (which was accumulated by amassing a huge number of sprites) would crash the game. 2016-09-29 12:20:32 -04:00
raa-eruanna
2987668af8 Non-tiling skies (Heretic/Hexen) now render properly. 2016-09-29 06:20:30 -04:00
Magnus Norddahl
afab45674b Added half of wall codegen 2016-09-29 07:38:33 +02:00
Magnus Norddahl
7be2511269 Add codegen files for walls and columns 2016-09-29 05:21:43 +02:00
Magnus Norddahl
e5f3c119cd Codegen all DrawSpan variants 2016-09-29 04:01:42 +02:00
Magnus Norddahl
efd22346d8 Fix linear sampling bug 2016-09-29 02:26:36 +02:00
Magnus Norddahl
bfa291b02f Create LLVMDrawers class as the external interface to the drawers 2016-09-29 02:10:14 +02:00
Magnus Norddahl
3aea3a0bee Fully implemented codegen for DrawSpan 2016-09-28 18:49:39 +02:00
raa-eruanna
2f557419ed Merge http://github.com/rheit/zdoom 2016-09-28 06:40:58 -04:00
raa-eruanna
dd9881b5fa Merge http://github.com/coelckers/gzdoom 2016-09-28 06:40:56 -04:00
Marisa Heit
3988a63789 Fixed: The menu no longer refreshed the screen border 2016-09-28 06:40:55 -04:00
Marisa Heit
77ea195162 Fixed: Y and Z were flipped for sound velocity 2016-09-28 06:40:54 -04:00
Christoph Oelckers
2d5061e81f - fixed: DScroller did not initialize m_LastHeight in all situations. This caused a problem with the serializer because RapidJSON aborts the write of a floating point value if it is invalid.
- ensure that floats are always written out. If the actual value causes an error (i.e. INF or NaN), write a 0 to guarantee proper formatting.
2016-09-28 11:58:12 +02:00
Christoph Oelckers
f1bb7679a3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-28 09:50:03 +02:00
Christoph Oelckers
676d2365e1 - fixed: The ACS strings deserializer set incorrect indices in the bucket array. This only caused a problem if there were gaps in the string pool. 2016-09-28 09:49:41 +02:00
Christoph Oelckers
b75395aa74 - fixed: Screen size update coordinates were copied into the wrong buffer location. 2016-09-28 09:25:48 +02:00
Christoph Oelckers
d5e31aff1b Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-28 08:27:55 +02:00
Christoph Oelckers
12ea8ffbe4 - removed some leftover garbage from the floating point rewrite in the floorRaiseToLowestCeiling case of DFloor. 2016-09-28 08:06:15 +02:00
Magnus Norddahl
576fed5afc Add light, blend and sampler functions 2016-09-28 05:18:16 +02:00
Marisa Heit
e3be6e4819 Fixed: The menu no longer refreshed the screen border 2016-09-27 18:58:09 -05:00
raa-eruanna
d05ed3740b Corrected forum links in version.h 2016-09-27 19:27:57 -04:00
Marisa Heit
40f0dbf51c Fixed: Y and Z were flipped for sound velocity 2016-09-27 16:27:31 -05:00
Magnus Norddahl
f9a7186550 Improve DrawSpan codegen enough to do the simple shade for 64x64 flats 2016-09-27 22:54:37 +02:00
Magnus Norddahl
20f67ad40a Add SSAShort, shift, and, or, and fix unaligned store 2016-09-27 22:53:20 +02:00
raa-eruanna
1b7827342c - Fixed: Changed r_clearbuffer to do a little more than clear the top quarter of the screen. Still need to do an actual color fill - will do it later. 2016-09-27 04:14:00 -04:00
Magnus Norddahl
d5c7a7ab76 Make LLVM compile and optimize for the current CPU 2016-09-27 03:07:03 +02:00
Magnus Norddahl
4f2ae42ed5 Revert duplicate entry in CMakeLists.txt 2016-09-26 09:04:29 +02:00
Magnus Norddahl
3dd8b593b6 Use LLVM to JIT the code for one of the drawer functions 2016-09-26 09:00:19 +02:00
raa-eruanna
c8d0a478d8 Merge http://github.com/coelckers/gzdoom 2016-09-25 19:43:52 -04:00
Christoph Oelckers
750c194959 - changed order of SwapBuffers and glFinish call. The new order with glFinish coming last is recommended by OpenGL and it fixes a stalling problem with portals and camera textures visible at the same time.
- check and use WGL_EXT_swap_control_tear extension. The above change makes the system always wait for a full vsync with a wglSwapInterval of 1, so it now uses the official extension that enables adaptive vsync. Hopefully this also works on the cards where the old setup did not.
2016-09-26 01:38:25 +02:00
raa-eruanna
0bc54cbda4 Fixed SDL backend. This project is now Linux capable! 2016-09-25 17:40:37 -04:00
raa-eruanna
d91fe1572c Merge http://github.com/coelckers/gzdoom 2016-09-25 14:08:20 -04:00
raa-eruanna
6cc1cea54d Merge branch 'master' of https://github.com/raa-eruanna/QZDoom 2016-09-25 13:50:11 -04:00
raa-eruanna
08166473ca Merge branch 'truecolor' of http://github.com/dpjudas/dpdoom
# Conflicts:
#	src/v_video.cpp
2016-09-25 13:48:52 -04:00
alexey.lysiuk
e9b1da57a3 Fixed compilation on macOS 2016-09-25 17:43:52 +03:00
Christoph Oelckers
d65589281f Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-25 10:28:51 +02:00
Christoph Oelckers
f4462a7b93 - fixed: Any DSectorEffect thinker must be placed into STAT_SECTOREFFECT.
The slot had been there forever to address this same problem but only one of the two constructors actually set it, too bad that it was the wrong one...

This is something that normally won't be noticed. But if some actor is spawned on a moving platform, with both thinkers on the same statnum it means that the order of execution is not correct with the platform being done first, resulting in the actor to 'jump' while the platform is moving. To prevent this it is necessary that all sector movers only tick after all actors have completed their thinking turn.
2016-09-25 09:43:17 +02:00
Christoph Oelckers
92d0043a81 - undid part of the last commit and hopefully corrected it for good now.
We have to be extremely careful with the player data, because there's just too much code littered around that has certain expectations about what needs to be present and what not.
Obviously, when travelling in a hub, the player_t should be retained from the previous level. But we still have to set player_t::mo to the PlayerPawn from the savegame so that G_UnsnapshotLevel doesn't prematurely delete it and all associated voodoo dolls, because it checks player_t::mo to decide whether a player is valid or not.
The actual deletion of this redundant PlayerPawn should only be done in G_FinishTravel, after the actual player has been fully set up
2016-09-25 09:23:44 +02:00
raa-eruanna
ed07ff1bdd Merge http://github.com/dpjudas/dpdoom 2016-09-25 02:19:39 -04:00
raa-eruanna
1c25ad7ce4 Merge http://github.com/rheit/zdoom 2016-09-24 23:36:51 -04:00
raa-eruanna
9ecb7d44f7 Merge http://github.com/coelckers/gzdoom 2016-09-24 23:36:47 -04:00
Christoph Oelckers
6a6a0e8017 - removed some more hubtravel related player start fudging.
* do not skip the player_t init when travelling in a hub. The old player may still be needed in some edge cases. This applies only to singleplayer for now. The multiplayer version still needs reviewing. I left it alone because it may shuffle players around which is not wanted when doing hub travelling.
 * do not spawn two temp players in G_FinishTravel. Instead handle the case where no player_t::mo can be found gracefully by adding a few nullptr checks. This temp player served no real purpose except for having a valid pointer. The actual start position was retrieved from somewhere else.
2016-09-25 01:28:27 +02:00
Magnus Norddahl
287acea6b4 Update copyright 2016-09-25 00:31:57 +02:00
Magnus Norddahl
6cb9f875dd Fix missing call from merge 2016-09-25 00:31:43 +02:00
Magnus Norddahl
979e70ca8f Add gl_ssao_portals for controlling how many portals gets SSAO 2016-09-25 00:22:38 +02:00
Magnus Norddahl
3f11c0562c Add ssao quality setting 2016-09-25 00:22:38 +02:00
Magnus Norddahl
0397fe185f Don't do ambient occlusion when rendering to texture 2016-09-25 00:22:32 +02:00
Magnus Norddahl
d774136282 Added SceneData texture as the second colorbuffer when rendering a scene and placed fog data into it 2016-09-25 00:22:32 +02:00
Magnus Norddahl
9af34bac69 Add gbuffer pass support to FShaderManager and FRenderState 2016-09-25 00:22:32 +02:00
Magnus Norddahl
37e3172c94 Fix random texture sampling bug 2016-09-25 00:22:31 +02:00
Magnus Norddahl
0a8cc1b74c Fix depth blur 2016-09-25 00:22:31 +02:00
Magnus Norddahl
24ab13f1ce Fix stripes in the reconstructed normals due to down scaling 2016-09-25 00:22:31 +02:00
Magnus Norddahl
11725c435e Grab tanHalfFovy from the projection matrix 2016-09-25 00:22:31 +02:00
Magnus Norddahl
e025f6e54b Mark portals in scene alpha channel for the SSAO pass 2016-09-25 00:22:31 +02:00
Magnus Norddahl
c7c0ffadb5 Move SSAO pass to be before translucent rendering
Fix depth sampling location when not using fullscreen scene
2016-09-25 00:19:16 +02:00
Magnus Norddahl
09bec67821 Resolve multisampling depth in shader 2016-09-25 00:19:16 +02:00
Magnus Norddahl
a246b58673 Change SSAO blur to be depth aware 2016-09-25 00:19:16 +02:00
Magnus Norddahl
a6fdaca633 Fix precision issue in SSAO shader 2016-09-25 00:19:16 +02:00
Magnus Norddahl
723eb746f6 Add ssao random texture 2016-09-25 00:19:15 +02:00
Magnus Norddahl
9076d46261 Added SSAO pass 2016-09-25 00:19:15 +02:00
Christoph Oelckers
7d978a115e Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-24 17:54:53 +02:00
Major Cooke
74b8e9f286 - Don't use Normalized180() on angles. This could result in ranges being wrongly inverted.
- Fixed properties not having the proper indices.
- Use ViewPos-to-actor instead of measuring actor-to-actor.
- Use the actual camera instead of the actor so camera textures can work.
2016-09-24 17:54:09 +02:00
alexey.lysiuk
a419b581a8 Fixed compilation on macOS 2016-09-24 13:15:45 +03:00
Christoph Oelckers
8907a8bfe8 - fixed incorrect function name in sprites drawer.
- fixed duplicate property key in ADynamicLight serializer. Radius was already claimed by AActor so this needs a different name.
2016-09-24 12:09:53 +02:00
Christoph Oelckers
3f17d64f90 - fixed pitch comparison in visibility checking. 2016-09-24 09:42:35 +02:00
Magnus Norddahl
5ef46d1730 Merge remote-tracking branch 'gzdoom/master' into qzdoom 2016-09-24 09:37:18 +02:00
Magnus Norddahl
7ef5a9f117 Add the experimental swrenderer2 2016-09-24 09:36:37 +02:00
Major Cooke
561edd31ec Added check for angle visibility for GZDoom. 2016-09-24 09:29:00 +02:00
Christoph Oelckers
6b02ea9871 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	CMakeLists.txt
2016-09-24 09:28:09 +02:00
Christoph Oelckers
3862c77b4b - undid savegame version bump because it's not needed. 2016-09-24 09:18:25 +02:00
Major Cooke
dfa4f38c8f Updated to new save game code. 2016-09-24 09:17:18 +02:00
Edoardo Prezioso
7e4d0ecdbf - Fixed GCC/Clang regression post serialization. 2016-09-24 09:00:31 +02:00
Magnus Norddahl
8172949800 Merge branch 'lightmath' into dpdoom 2016-09-24 08:40:47 +02:00
Magnus Norddahl
4350587714 Remove accidental UpdateCameraExposure duplicate from merge 2016-09-24 08:40:28 +02:00
Magnus Norddahl
c21090333f Merge remote-tracking branch 'qzdoom/master' into dpdoom 2016-09-24 08:17:49 +02:00
Magnus Norddahl
d126e91ded Merge remote-tracking branch 'gzdoom/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/renderer/gl_renderbuffers.h
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_scene.cpp
2016-09-24 08:12:12 +02:00
Christoph Oelckers
ee2766d00b - made adjustments for new savegame code. 2016-09-24 01:47:44 +02:00
Christoph Oelckers
6bfbe30b99 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/g_level.cpp
#	src/p_saveg.cpp
#	src/r_defs.h
#	src/version.h

(note that this commit will not compile!)
2016-09-24 00:40:15 +02:00
Christoph Oelckers
b7c822d208 - fixed secplane_t serializer. It passed incorrect defaults to the sub-serializers and calculated negiC wrong. 2016-09-23 23:47:25 +02:00
Christoph Oelckers
69291b9cf9 - completely eliminated the horrible fudging that went on with players during hub travel. This means that DestroyMostThinkers and the player substitution mechanism in the object deserializer are gone now.
I wish I had realized this the last time it came up - it would have saved me a lot of trouble.
But as it turns out, the more recent travelling code makes all of this completely unnecessary, working perfectly fine with deleting the player pawns along with the rest of the thinkers before loading the stored ones from the savegame (and getting rid of those in G_FinishTravel.)
And with a sane savegame format that does not depend on side effects from how the thinker serializing handled linking into the lists the old code was even harmful, leaving voodoo dolls behind.
I had the exact same effect when I tried to reshuffle some things for reliably restoring portals, but did not make the connection to interference between two mutually incompatible player travelling mechanisms that just worked by sheer happenstance with the original order of things.
2016-09-23 23:03:11 +02:00
Christoph Oelckers
2318db0b1a - let DWaggleBase use the interpolation pointer of its parent instead of defining its own one.
- do not call checking code for loading savegames when writing them in ACS module serializer.
2016-09-23 22:03:44 +02:00
Christoph Oelckers
36bf099d54 - fixed: object pointers as array members may not be skipped if they are null.
- changed S_GetMusic to return a const pointer to the actual music name instead of a copy. The only thing this is used for is the savegame code and it has no use for a copy, it can work far more efficiently with a const pointer.
2016-09-23 21:24:56 +02:00
Christoph Oelckers
02b3884dff - added copyright header to serializer.cpp. 2016-09-23 20:13:22 +02:00
Christoph Oelckers
e4924c3d47 - added some missing End... calls in player deserialization code.
- fixed reading of music name.

In its current state the code is now capable of reading an E1M1 savegame and continuing play.
2016-09-23 20:05:12 +02:00
Christoph Oelckers
b844ab137e - added some comments about the special player treatment in hub travels because this is not really intuitive... 2016-09-23 18:12:38 +02:00
Christoph Oelckers
01d28e3eb2 - added the last missing bits of the savegame code - thinker list deserialization and handling of players during hub travel. Now testing is what remains... 2016-09-23 17:49:33 +02:00
Christoph Oelckers
edb7f7959e - re-enable some commented-out stuff. 2016-09-23 14:06:51 +02:00
Christoph Oelckers
86e9282193 - removed the sequential processing of JSON objects because the benefit is too small.
After testing with a savegame on ZDCMP2 which is probably the largest map in existence, timing both methods resulted in a speed difference of less than 40 ms (70 vs 110 ms for reading all sectory, linedefs, sidedefs and objects).
This compares to an overall restoration time, including reloading the level, precaching all textures and setting everything up, of approx. 1.2 s, meaning an increase of 3% of the entire reloading time.
That's simply not worth all the negative side effects that may happen with a method that highly depends on proper code construction.
On the other hand, using random access means that a savegame version change is only needed now when the semantics of a field change, but not if some get added or deleted.

- do not I_Error out in the serializer unless caused by a programming error.

It is better to let the serializer finish, collect all the errors and I_Error out when the game is known to be in a stable enough state to allow unwinding.
2016-09-23 14:04:05 +02:00
Christoph Oelckers
5a3f1dcdb6 - made reading of objects from the savegame work.
It turned out this may not be done automatically when opening the savegame - it has to be done later, after the pre-spawned map thinkers and all connected objects have been destroyed.
The object deserializer also has to be rather careful about dealing with parse errors, because if something goes wrong a whole batch of uninitialized or partially initialized objects will be left behind to destroy.
This means that no object class may assume that anything but the default constructor has been run on it and needs to check any variable it may reference.
2016-09-23 09:38:55 +02:00
Christoph Oelckers
a83ea4ddd2 - fixed two typos in property names. 2016-09-23 09:20:58 +02:00
Christoph Oelckers
cad2be46ac - fixed several Destroy methods which blanketly assumed that the object's pointers were valid to use without checks.
This is not the case if deserialization prematurely aborts. The entire object may be invalid if something in the deserializer I_Error's out.
2016-09-23 08:49:30 +02:00
Christoph Oelckers
657140f985 - fixed: The canvastexture serializer did not call EndArray to close the containing object. 2016-09-23 08:27:31 +02:00
Christoph Oelckers
4964f94de1 - added a destructor zo DFsScript, because if this gets deleted outside the GC process it'll leave an allocated buffer behind, so make sure it always gets destroyed. 2016-09-23 08:26:36 +02:00
Christoph Oelckers
f397a4943c - added OutputDebugString calls to I_Error functions in Win32, so that these messages can be seen in the debug output. 2016-09-23 08:14:40 +02:00
Christoph Oelckers
c17da32dbd - added object deserialization. It seems to work, at least the stuff I sampled looked like it was properly reatored and it triggers no error condition.
- always make the top level object randomaccess when opening a JSON file for reading. Some things won't work right if this is opened for sequential access.
2016-09-23 00:45:41 +02:00
Christoph Oelckers
604b2b316b - we need to save the OF_JustSpawned flag to insert thinkers into the proper list. 2016-09-22 21:17:34 +02:00
Christoph Oelckers
c22e8c50af - fixed some errors with parsing globals.json. It looks like this file is being processed correctly now. 2016-09-22 19:36:23 +02:00
Christoph Oelckers
d9dbf26f63 - do not list savegames for different IWADs. 2016-09-22 17:39:09 +02:00
Christoph Oelckers
f52e2a8cc4 - removed bogus BeginObject call in deferred script serializer. 2016-09-22 12:36:29 +02:00