Commit graph

8727 commits

Author SHA1 Message Date
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
Christoph Oelckers
d5b771afdd - fixed: Both array serializers need the bounds check. 2016-09-22 11:53:09 +02:00
Christoph Oelckers
68dc75bf9e - fixed: array clamping may only be done when reading a savegame.
- fixed generation of savegame names for level snapshots.
2016-09-22 11:51:29 +02:00
raa-eruanna
2a9e97688d Merge http://github.com/coelckers/gzdoom 2016-09-22 05:23:02 -04:00
Christoph Oelckers
e01965b747 - fixed deserialization of level.Scrolls. 2016-09-22 11:22:15 +02:00
Christoph Oelckers
18ee6353fa - let's be safe and set the proper texture mode for the fullscreen blend rect. I've got spurious reports that on some occasions it was rendered opaque. 2016-09-22 10:54:16 +02:00
Christoph Oelckers
1bddc277e6 - fixed winding of voxel polygons. 2016-09-22 10:28:14 +02:00
Christoph Oelckers
960ed5130c - fixed: DTA_ColorOverlay was not properly handled by F2DDrawer. 2016-09-22 10:20:36 +02:00
Christoph Oelckers
52d4c3970e - use glPOlygonOffset on non-translucent flat and wall sprites to avoid z-fighting. 2016-09-22 10:00:40 +02:00
Christopher Bruns
2e8d2ed626 Implement vr_swap_eyes CVAR, now that side-by-side mode is mostly working. 2016-09-22 09:25:49 +02:00
Christopher Bruns
a1cbd39f3f Move call to Stereo3DMode.AdjustPlayerSprites into FGLRenderer.DrawPlayerSprites()
(cherry picked from commit 5b5598d7d85c6bb8930e874d5d94cca835061bf0)
2016-09-22 09:25:48 +02:00
Christopher Bruns
a5c27af59b Show weapon at full width in SideBySideFull 3D mode.
(cherry picked from commit c42e98c0042937adc05c1f1569d909d58a5b8ffb)
2016-09-22 09:25:48 +02:00
Christopher Bruns
7b8847c6be Update comment for other file. 2016-09-22 09:25:47 +02:00
Christopher Bruns
d10a0309ab Update header comment in gl_sidebyside3d source files 2016-09-22 09:25:47 +02:00
Christopher Bruns
1f79e23d5b Implement wide side-by-side mode, using adjusted aspect ratio in projection matrix.
Use optimal framebuffer size for side-by-side modes.
2016-09-22 09:25:46 +02:00
Christopher Bruns
9a257ac158 Implement side-by-side narrow 3D mode. 2016-09-22 09:25:46 +02:00
raa-eruanna
72491049e0 Changes to the contrast/brightness/gamma formula for both hardware and shader gamma correction. Mainly makes a correction with the shader version where contrast/brightness being negative values would clip them inappropriately. 2016-09-22 09:23:25 +02:00
Magnus Norddahl
af699dcebc Make bloom/exposure less aggressive 2016-09-22 09:13:33 +02:00
Magnus Norddahl
f7b6b1433c Added exposure pass calculating the bloom/tonemap exposure based on what the eye is seeing 2016-09-22 09:13:32 +02:00
Christoph Oelckers
f0e8e860f1 Merge branch 'master' into json 2016-09-22 09:09:48 +02:00
Christoph Oelckers
1e6b99cebd Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-22 09:06:34 +02:00
Christoph Oelckers
146b5d2d06 - use 'override' qualifier on renderer interface.
Bad things can happen if these get changed in ZDoom without adapting to the change so better let the compiler handle this automatically.
2016-09-22 09:06:21 +02:00
nashmuhandes
a49e15c541 Added REOPEN script type. These scripts behave just like OPEN scripts, except they will re-execute themselves every time the level is re-entered (ie as part of a hub). 2016-09-22 08:57:22 +02:00
LordMisfit
715aa80cf2 - Fix for DamageFactor bug w/ PowerDamage & PowerProtection 2016-09-22 08:52:43 +02:00
alexey.lysiuk
2d55f713c2 Fixed support for automatic graphics switching on macOS
The corresponding setting in .plist is wrong but Xcode fixes it automatically
This doesn't happen however when building via makefiles
2016-09-22 08:52:43 +02:00
Major Cooke
1383355be7 Removed the positive-only ripper level requirement.
- Several mods were able to just take advantage of A_SetRipperLevel and the likes, essentially bypassing this gate so there really is no point in doing this anymore.
2016-09-22 08:50:38 +02:00
raa-eruanna
76c5ff29fe If Inventory.MaxAmount > 1 on weapons, allow and track multiple pickups. 2016-09-22 08:47:23 +02:00
alexey.lysiuk
0a24c15445 Added ability to customize path to FluidSynth dynamic library
Use fluid_lib CVAR to set path or default name of dynamic library will be used instead
2016-09-22 08:43:00 +02:00
alexey.lysiuk
4f7e1f0171 FluisSynth dynamic library is now referenced by system specific name on macOS 2016-09-22 08:43:00 +02:00
raa-eruanna
bc0624e3b2 Fixed my error where I was using a local session variable rather than the proper user info for the weapon bob speed. 2016-09-22 08:42:59 +02:00
raa-eruanna
780d672b25 Adds user-definable weapon bob speed 2016-09-22 08:42:59 +02:00
Leonard2
b5b9baaa87 The VM now aborts when a wrong self pointer is used with user variables to avoid random crashes 2016-09-22 08:42:59 +02:00
Magnus Norddahl
7c862b85b3 Don't do ambient occlusion when rendering to texture 2016-09-22 03:49:19 +02:00
Christoph Oelckers
5dfc396bb9 - read snapshots from zip. 2016-09-22 01:28:05 +02:00
Christoph Oelckers
f93e4813d1 - removed farchive.cpp and .h 2016-09-22 00:48:22 +02:00
Christoph Oelckers
1c9dbc3c36 - converted the basic savegame loader so that all remnant of FArchive have been removed now. 2016-09-22 00:18:31 +02:00
Christoph Oelckers
88c27e2cc0 - allow the compact and pretty writers for JSON to coexist by wrapping the whole stuff into another class that calls the proper one as needed. Due to the implementation it is not possible to decide at run time how this should behave so there have to be two different objects for either mode.
- savegame code handles new format.
2016-09-21 21:57:24 +02:00
Christoph Oelckers
ac3c00883d - implemented saving of new format savegames as zips. The code for that was adapted from zipdir.c. 2016-09-21 17:37:56 +02:00
Christoph Oelckers
810ef8f775 - save global savegame data to JSON as well.
This is incomplete and untested, just a safety commit before going on.
2016-09-21 12:19:13 +02:00
Christoph Oelckers
dbea80e943 - put savegame extension in version.h 2016-09-21 09:06:04 +02:00
Christoph Oelckers
67239cd623 - added a FileWriter class (taken from another project of mine) and changed m_png.cpp to use it.
This is so that PNGs can be written to memory, not just to an external file. stdio's FILE cannot be easily redirected but a C++ class can.
The writer is very simple and primitive right now, allowing no seeking, but for the job at hand it is sufficient.

Note that large parts of savegame creation have been disabled, because they are about to be rewritten and it makes no sense to adjust them all before.
2016-09-21 09:01:12 +02:00
Rachael Alexanderson
eeb4cbdfbc Merge http://github.com/rheit/zdoom 2016-09-21 01:47:36 -04:00
raa-eruanna
d9e60644b1 Some Linux SDL fixes. Will have to do this for Mac, later, too. 2016-09-21 01:08:00 -04:00
Braden Obrzut
8aa09768f0 - Fixed: Memory(Array)Reader's seek range didn't include the end of file. Since GetLength exists this is inconsequential for ZDoom, but still incorrect. 2016-09-20 21:23:37 -04:00
Magnus Norddahl
b6c64416be Added SceneData texture as the second colorbuffer when rendering a scene and placed fog data into it 2016-09-21 02:04:56 +02:00
Christoph Oelckers
075e98c967 - use FCompressedBuffer to store level snapshots. FCompressedMemFile has been removed. 2016-09-21 01:48:23 +02:00
Christoph Oelckers
da83d9e2bd - converted player serializer and everything it needs.
This means that everything belonging to the level snapshot will be generated in the JSON output.
2016-09-21 01:18:29 +02:00
Christoph Oelckers
3a1191281f - some preparations for converting the player serialization code.
- converted sound and canvas texture serialization.
- refactored file_zip, so that it can be used to load loose zip files and extract their compressed data directly.
- added handling to FSerializer to generate and consume compressed Zip file entries.

If all goes well this will allow saving savegames as Zips when the rework is done, which will make analyzing them a lot easier.
2016-09-20 23:13:12 +02:00
Christoph Oelckers
970c168b13 - re-added serialization of treanslations.
- removed more dead code.
2016-09-20 19:45:32 +02:00
Christoph Oelckers
e101014432 - converted the user variable serializer. 2016-09-20 18:27:47 +02:00
Christoph Oelckers
e41296a64d - added some separators to dobject.cpp
- added restore code for subsector automap info.
2016-09-20 13:30:31 +02:00
Christoph Oelckers
f3e8c7c241 - fixed incomplete hudmessage serialization.
- fixed a few errors in the ACS module serializer.
- reordered a few things to how they were in the old code.
- optimized serialization of the level.Scrolls array to happen within the sector. This is to allow skipping 0-entries which normally constitute the vast majority of them.
2016-09-20 13:21:41 +02:00
Christoph Oelckers
cf1e6d5275 - converted FBehavior::StaticSerializeModuleStates.
- removed some code which is no longer needed.
2016-09-20 11:35:25 +02:00
Christoph Oelckers
42e38f6cc1 - more cleanup to reduce references to FArchive. 2016-09-20 10:59:48 +02:00
Christoph Oelckers
af6404f763 - all DObjects converted.
- cleaned out some old cruft that's no longer needed.
2016-09-20 10:27:53 +02:00
Christoph Oelckers
daf43f9d35 - added polyobject serializer.
- added sanity checks to prevent a savegame from being loaded with an incompatible map
- refactored a few things to simplify serialization.
- started work on main level serializer function.
2016-09-20 09:11:13 +02:00
Magnus Norddahl
24f748da03 Add gbuffer pass support to FShaderManager and FRenderState 2016-09-20 02:57:57 +02:00
Christoph Oelckers
ab43e0c8cb - all thinker serializers done. 2016-09-20 00:41:22 +02:00
Magnus Norddahl
77233f2f65 Merge remote-tracking branch 'upstream/master' into truecolor
# Conflicts:
#	src/v_video.cpp
2016-09-19 23:55:15 +02:00
Christoph Oelckers
a5000ead4c - another batch. 2016-09-19 19:58:04 +02:00
Christoph Oelckers
e89d072abc - most thinkers are done. Some stuff about polyobject pointers is temporarily disabled right now because some of the required functions have already been pulled out. 2016-09-19 19:14:30 +02:00
Christoph Oelckers
340c7795f3 - clean out the dump. It's not like this branch is ever going zo be used for saving with the old code anyway. Only the stuff needed to not make it crash or fail on compilation is kept. 2016-09-19 16:10:25 +02:00
Christoph Oelckers
88eab9d1f9 - And another batch of serializers. 2016-09-19 15:07:53 +02:00
Christoph Oelckers
a542e99143 - a few more 2016-09-19 13:36:58 +02:00
Christoph Oelckers
7edf4c1afc - added new serializers to several classes and moved the old ones to the dump file. 2016-09-19 12:53:42 +02:00
Christoph Oelckers
d24aa5dec9 - reformatting for easier search. 2016-09-19 10:47:59 +02:00
Christoph Oelckers
e754fae0a8 - removed FS HUD pics. No mod in existence ever used them and a quickly thrown together test showed that the code did not even work. And since there's no reason to fix it they are gone now. 2016-09-19 10:41:21 +02:00
Christoph Oelckers
c665cc53f9 - moved new code to its proper location and started moving the replaced old archive code to a placeholder file for easy removal later. 2016-09-19 10:34:54 +02:00
raa-eruanna
20e620bbe7 Merge http://github.com/coelckers/gzdoom
# Conflicts:
#	src/version.h
2016-09-19 03:05:38 -04:00
Christoph Oelckers
475077f1de Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-19 09:01:34 +02:00
Christoph Oelckers
daf33b5b4f - master is now at 2.3pre. 2016-09-19 09:01:21 +02:00
Christoph Oelckers
65c6388d44 Merge branch 'master' into json 2016-09-19 03:54:36 +02:00
Christoph Oelckers
3eb1af6957 - added a GetMissileDamage function to DECORATE which can be used to properly retrieve an actor's damage value.
The damage property should be considered deprecated inside expressions from now on.
2016-09-19 03:45:22 +02:00
Christoph Oelckers
f1ba19073f - split Damage into two variables: DamageVal for the old constant and DamageFunc for the DECORATE function.
The way this was done was a major headache inducer, requiring reconstruction of the function each time the value was changed and in general made actor damage a major hassle.
There was a DECORATE wrapper to mimic the original behavior but this looked quite broken because it completely ignored the different semantics of both damage calculation types.
It also made it impossible to determine if damage was a function or a value.
This accessor has been reverted to what it should be, only returning the constant, which now is -1 for a damage function. I am sorry if this may break the odd mod out but a quick look over some DECORATE-heavy stuff showed that this was never combined in any of them so that accessing 'damage' in DECORATE code depended on an actual damage function.

To get proper damage, a future commit will add a DECORATE function which calls AActor::GetMissileDamage.
2016-09-19 03:36:51 +02:00
Christoph Oelckers
967ed48fd3 - fixing. 2016-09-19 01:48:48 +02:00
Christoph Oelckers
718614a820 - cleanup 2016-09-19 01:07:51 +02:00
Magnus Norddahl
b1871b272b Merge branch 'exposure_pass' into lightmath 2016-09-18 19:31:36 +02:00
Magnus Norddahl
210dd6d26a Make bloom/exposure less aggressive 2016-09-18 19:31:09 +02:00
Christoph Oelckers
ceaa040750 - added a workaround to avoid sprite splitting when it may cause glitches for sprites that get rotated in the draw pass. 2016-09-18 17:45:02 +02:00
Christoph Oelckers
a5628518c1 - cut down on data size by not saving trivial defaults. 2016-09-18 16:41:34 +02:00
Magnus Norddahl
38be2333d0 Merge branch 'exposure_pass' 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-18 16:22:44 +02:00
Magnus Norddahl
8dd12c8216 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-18 16:01:21 +02:00
Magnus Norddahl
1e2935f4e0 Added exposure pass calculating the bloom/tonemap exposure based on what the eye is seeing 2016-09-18 15:57:22 +02:00
Christoph Oelckers
9313a99e12 - started implementing a JSON based serializer. Unfortunately it is far too slow to be of any real use. 2016-09-18 13:26:34 +02:00
Christoph Oelckers
3db7d9ad84 - fixed: AActor::alternative was not declared as a pointer. 2016-09-18 12:22:56 +02:00
raa-eruanna
e47e6d1d6e Merge http://github.com/coelckers/gzdoom 2016-09-17 20:06:22 -04:00
Christoph Oelckers
6b4aee28bc Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-17 20:22:43 +02:00
Major Cooke
80c1baa596 Fixed: Pitch was rotating around the wrong axis. 2016-09-17 12:10:22 -05:00
raa-eruanna
962291d18e Merge http://github.com/coelckers/gzdoom 2016-09-17 11:32:57 -04:00
Christoph Oelckers
bec17bd222 - FLATSPRITE fixes. 2016-09-17 08:26:30 +02:00
Major Cooke
d01b0e061e Moved flatsprite code into CalculateVertices. 2016-09-16 12:07:28 -05:00
Major Cooke
66d20726c2 Reintroduced flat sprites once more.
- Take note, current flat sprites will change. With no pitch involved, sprites are now flat across the ground.
2016-09-16 11:47:20 -05:00
raa-eruanna
922360ae35 Merge http://github.com/rheit/zdoom 2016-09-16 11:49:45 -04:00
raa-eruanna
7da94e5aca Merge http://github.com/coelckers/gzdoom 2016-09-16 11:49:42 -04:00
Christoph Oelckers
7c2886e8ea - fixed the last commit:
The altered vertices must always be copied to the actual buffer and it's not necessary to copy everything, copying the 4 changed ones is sufficient.
2016-09-16 08:10:19 +02:00
raa-eruanna
476b727d5d "actorlist" and "actornum" no longer return already-owned inventory objects 2016-09-16 00:47:56 -04:00
Magnus Norddahl
3c1868f7e6 Fix wrong flash rectangle size after window resize 2016-09-16 02:53:19 +02:00
raa-eruanna
a83477e549 Merge http://github.com/rheit/zdoom 2016-09-15 19:18:56 -04:00
raa-eruanna
ac70f77e44 Added the following ccmds:
actorlist, actornum, monsternum, itemsnum, countitemsnum
Modified the following ccmds:
 monster, items, countitems

All commands with "num" at the end simply print a count of their respective filters, all other listed commands now print a list and a count.
2016-09-15 15:09:36 -04:00
Magnus Norddahl
0d27996a64 Replace CheckRatio with AspectTallerThanWide in DrawHUD 2016-09-15 07:52:53 +02:00
Magnus Norddahl
48f491cfd1 Fix video mode selection bug 2016-09-15 07:52:53 +02:00
Magnus Norddahl
95fef44200 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-15 00:31:34 +02:00
Christoph Oelckers
d128e28044 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-14 21:05:45 +02:00
Leonard2
cb17e109f1 Added "division by zero" to the VM-aborting errors 2016-09-14 20:47:00 +02:00
Leonard2
65af26f962 The VM now properly aborts on critical errors 2016-09-14 20:46:18 +02:00
raa-eruanna
4ccba9c49e Merge http://github.com/rheit/zdoom 2016-09-14 14:08:41 -04:00
raa-eruanna
343cde4595 Merge http://github.com/coelckers/gzdoom 2016-09-14 14:08:19 -04:00
Christoph Oelckers
8b6e09ca09 - changed the license of the OpenGL renderer to LGPL v3.
This was done to clean up the license and to ensure that any commercial fork of the engine has to obey the far stricter requirements concerning source distribution. The old license was compatible with GPLv2 whereas combining GPLv2 and LGPLv3 force a license upgrade to GPLv3. The license of code that originates from ZDoomGL has not been changed.
2016-09-14 20:01:13 +02:00
raa-eruanna
842558384a Forgot to set vid_renderer defaults for Linux and Mac. 2016-09-14 07:33:31 -04:00
raa-eruanna
b0029fcd1e Set version to 0.0 (prerelease), set render defaults for true-color software renderer since that is the focus of this project 2016-09-14 06:38:08 -04:00
raa-eruanna
3ebf8c7e74 More code fixes - now it compiles. 2016-09-14 06:28:39 -04:00
raa-eruanna
004c7de89b Part 1 of code merge 2016-09-14 04:03:39 -04:00
raa-eruanna
b17b7446cb Merge http://github.com/coelckers/gzdoom 2016-09-14 03:15:56 -04:00
raa-eruanna
81545d9b4e Merge http://github.com/rheit/zdoom
# Conflicts:
#	src/v_video.cpp
2016-09-14 02:24:59 -04:00
raa-eruanna
b85e3b56e3 Establish QZDoom 2016-09-14 02:21:35 -04:00
Major Cooke
3b2359959e Quakes must use their own independent falloffs.This caused discrepencies and sudden drop-outs in stacked quakes otherwise. 2016-09-13 23:06:57 -05:00
Braden Obrzut
f1bca9d20e The old DirectX setup is required to utilize v140_xp.
Revert "- removed DirectX setup from CMakeLists for Visual Studio"

This reverts commit 954ac8ce5e.
2016-09-13 20:12:59 -04:00
Magnus Norddahl
c54b4e74f5 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-13 23:44:12 +02:00
Magnus Norddahl
017d1cee29 Change canvas rendering to use the aspect ratio of the canvas and generalize 5:4 rendering as AspectTallerThanWide 2016-09-13 23:42:05 +02:00
Magnus Norddahl
172f58c165 Fix 5:4 aspect ratio gun and status bar 2016-09-13 23:42:05 +02:00
Christoph Oelckers
0c0e716ccd Merge remote-tracking branch 'remotes/zdoom/master' 2016-09-13 23:37:30 +02:00
Christoph Oelckers
a98f364cc3 - added another missing nullptr check. 2016-09-13 23:37:19 +02:00
alexey.lysiuk
dcabcaa5b6 Fixed compilation on non-Windows platforms 2016-09-13 22:10:07 +03:00
Christoph Oelckers
ba68cfd611 - do not even allow creation of names in C_RemoveTabCommands if there are no tab commands, so that FindName cannot be called after the NameManager has been destroyed. 2016-09-13 21:01:50 +02:00
Christoph Oelckers
e10abcad06 - fixed: The TabCommands array needs to be cleared before the NameManager is destroyed.
TabCommands use an FName to store the command's name so once the NameManager is destroyed its data will become invalid.
This is a problem because C_RemoveTabCommand is being called from FBaseCVar's destructor and most CVARs are global variables.
2016-09-13 10:43:53 +02:00
Christoph Oelckers
c593dda8f3 - added missing nullptr check. 2016-09-12 23:03:27 +02:00
Magnus Norddahl
0fc5ee1ffd Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-12 22:30:46 +02:00
Christoph Oelckers
3778799f92 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-12 21:33:49 +02:00
Christoph Oelckers
823f75e592 - fixed: UDMF user value lists need to be sorted for binary search to work but weren't. 2016-09-12 21:32:17 +02:00
Magnus Norddahl
b378b3d05a Remove black bars from windowed mode 2016-09-12 20:43:45 +02:00
alexey.lysiuk
b308a7df52 Proper name of FMOD .dylib in loading path adjustment for macOS 2016-09-12 20:37:13 +02:00
alexey.lysiuk
9c91686e0f Set delay loading for proper .dll depending on FMOD version (Studio vs. Ex) 2016-09-12 20:37:13 +02:00
alexey.lysiuk
7e61a1ce2b Added simple detection for FMOD Studio API in CMake 2016-09-12 20:37:12 +02:00
alexey.lysiuk
c88eec3d73 Fixed 'unreferenced local variable' warnings when building with FMOD Studio API 2016-09-12 20:37:12 +02:00
alexey.lysiuk
764705a8e0 Fixed 'Could not set resampler method. Defaults will be used. (Error 31)' message with FMOD Studio API 2016-09-12 20:37:11 +02:00
alexey.lysiuk
a2a1d2a36d Fixed significant distortion of sound effects with FMOD Studio API 2016-09-12 20:37:11 +02:00
Magnus Norddahl
7bdbaaff22 GL aspect ratio adjustments 2016-09-12 20:29:26 +02:00
Magnus Norddahl
7070bded77 Merge remote-tracking branch 'origin/aspectratio' into aspectratio_gzdoom 2016-09-12 20:03:21 +02:00
Magnus Norddahl
01b1efe9ee Switch from abs to fabs 2016-09-12 18:44:04 +02:00
Magnus Norddahl
4e58e6626c Fix buffer overrun in CommandAspectRatio for 21:9 aspect ratio 2016-09-12 16:05:42 +02:00
Magnus Norddahl
5b438d220f Switch from ratio enum to float 2016-09-12 15:51:50 +02:00
Magnus Norddahl
6d4e4dad25 BaseRatioSizes replacement functions 2016-09-12 14:37:10 +02:00
Magnus Norddahl
5720634045 Add ActiveRatio to be used where CheckRatio is used today 2016-09-12 13:59:01 +02:00
Magnus Norddahl
b003c47e3e Improve CheckRatio to always return the closest ratio 2016-09-12 13:37:05 +02:00
Magnus Norddahl
d3d8180f57 Resize framebuffer in windowed mode to match the client area 2016-09-12 13:04:36 +02:00
Magnus Norddahl
a0b6a0275c Fix random texture sampling bug 2016-09-11 11:09:40 +02:00
Christoph Oelckers
be647dc7b2 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-11 00:45:40 +02:00
Christopher Bruns
924aaa3a92 fixed: Delay setup of quad-buffered stereo 3d mode, in case a useful OpenGL context is not immediately provided. 2016-09-11 00:45:17 +02:00
Magnus Norddahl
03d0b09f29 Fix depth blur 2016-09-10 22:39:09 +02:00
alexey.lysiuk
66c5121e38 Do not use OpenGL Core Profile for software renderer on macOS 2016-09-10 17:54:19 +03:00
Christoph Oelckers
71f4bacbd7 - missed something for last commit. 2016-09-10 12:36:44 +02:00
Christoph Oelckers
d3246be488 - draw wall sprites without translucent pixels as opaque. This looses the border smoothing with texture filtering but avoids sorting problems. 2016-09-10 12:24:13 +02:00
Christoph Oelckers
30cb651d92 - completely removed the flat sprite code.
This was conceptionally so wrong that there is no chance to salvage any of it.
2016-09-10 10:58:53 +02:00
raa-eruanna
02e4ba464a Fixed mirror angle issue, fixes rendering of mirrors 2016-09-10 08:56:40 +02:00
Magnus Norddahl
303da0e071 Fix center text alignment issue 2016-09-09 20:09:54 +02:00
Magnus Norddahl
63fb604e98 Fix stripes in the reconstructed normals due to down scaling 2016-09-09 18:19:00 +02:00
raa-eruanna
b0e104d566 Merge http://github.com/coelckers/gzdoom 2016-09-09 11:31:31 -04:00
Magnus Norddahl
8861b1aaff Grab tanHalfFovy from the projection matrix 2016-09-09 09:47:46 +02:00
Magnus Norddahl
f6bede8374 Merge remote-tracking branch 'gzdoom_upstream/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
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.z
2016-09-09 09:31:30 +02:00
Magnus Norddahl
d83a72f361 Add missing IsEnabled check 2016-09-09 00:36:12 +02:00
Magnus Norddahl
63dc394913 Present function for left, right and quad-buffered stereo3d 2016-09-09 00:36:11 +02:00
Magnus Norddahl
8b7267cf87 MaskAnaglyph present mode 2016-09-09 00:36:11 +02:00
Magnus Norddahl
ccbe5160b0 Split F2DDrawer::Flush into Draw and Clear 2016-09-09 00:36:10 +02:00
Magnus Norddahl
aaa3581ee6 Hook up eye textures in renderer 2016-09-09 00:36:10 +02:00
Magnus Norddahl
4bdd872f09 Add eye textures and FBOs to FGLRenderBuffers 2016-09-09 00:36:09 +02:00
Christoph Oelckers
b9ca3c85f8 - fixed: translucency detection in multipatch textures did not work.
- fixed: The flat drawer never checked if a texture had translucent parts.
2016-09-08 12:18:09 +02:00
raa-eruanna
dede94b7e2 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/posix/cocoa/i_video.mm
#	src/win32/hardware.cpp
#	wadsrc/static/menudef.txt
2016-09-08 03:26:11 -04:00
raa-eruanna
32f758de41 Merge branch 'truecolor' of https://github.com/dpjudas/zdoom
# Conflicts:
#	src/v_video.cpp
2016-09-08 03:19:08 -04:00
raa-eruanna
5a64307ad1 Changes the tonemap generation algorithm. 2016-09-08 00:51:48 +02:00
Christoph Oelckers
7e2e3e8768 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-08 00:48:27 +02:00
Magnus Norddahl
e794e59cd2 Add con_scale for scaling just the console 2016-09-08 00:39:52 +02:00
Magnus Norddahl
d2f8fc63fc Scale the console itself as specified by con_scaletext 2016-09-08 00:39:51 +02:00
Magnus Norddahl
6414e01354 Add uiscale slider controlling what scale the On setting uses for hud_scale, hud_althudscale and con_scaletext 2016-09-08 00:39:51 +02:00
Major Cooke
01e9d351b4 - Don't pass flags directly from A_Explode to P_RadiusAttack. XF_EXPLICITDAMAGETYPE would cause explosions to deal no damage otherwise. 2016-09-08 00:38:12 +02:00
Major Cooke
043ada24da Wave quakes now stack. 2016-09-08 00:38:12 +02:00
Major Cooke
ce13b5c6e1 Enhanced FastProjectile trails.
- Trails now copy pitch, and set the projectile as the target.
- Added GETOWNER flag. Using it sets the owner of the fast projectile as the target instead, if it has an owner.
2016-09-08 00:38:11 +02:00
yqco
2e8aa53e6a Add SetActorFlag ACS function
int SetActorFlag(int tid, str flagname, bool value);

- Mimics DECORATE's A_ChangeFlag
- Returns number of actors affected (number of things with the flag)
- Affects activator if TID is 0

# Conflicts:
#	src/p_acs.cpp
2016-09-07 20:44:56 +02:00
Christoph Oelckers
33ac551a9a Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-06 22:37:15 +02:00
Christoph Oelckers
f536523fbd - It's Height, not height... 2016-09-06 22:36:53 +02:00
Christoph Oelckers
77a79048f8 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-06 22:35:27 +02:00
Christoph Oelckers
5a3147407e - fixed floatification error in A_MaulerTorpedoWave. 2016-09-06 22:34:59 +02:00
Christoph Oelckers
181e5dc4db - fixed floor clipping of sprites. 2016-09-06 22:18:47 +02:00
Christoph Oelckers
bfe34f4dc7 - cleanup. 2016-09-06 21:39:13 +02:00
Christoph Oelckers
a36d89405a - separated the coordinate calculation from GLSprite::Draw. 2016-09-06 12:22:00 +02:00
Christoph Oelckers
a5c0f9a548 - use the predefined fullscreen vertices for clearing a portal instead of using the quad drawer. 2016-09-06 11:58:22 +02:00
Christoph Oelckers
3ce25bc348 - fixed: FxPreIncrDecr depended on undefined compiler behavior.
It could only work with right to left function argument processing, but with left to right it failed because the ParseExpressionA call altered sc.TokenType.
Note that with register-based arguments on 64 bit platforms this is a very critical issue!
2016-09-06 08:41:13 +02:00
Christoph Oelckers
74ede7bb4e - fixed: The DrawBlend call in the postprocessing case was using the global 'viewsector' variable directly.
As with the Stereo3D stuff, this cannot be done because recursive processing of portals will change it. Instead the local copy has to be used here, just like the EndDrawScene call already did.
2016-09-05 09:10:29 +02:00
alexey.lysiuk
108dcf122a Updated support for legacy renderer in Cocoa backend
Added fallback to legacy profile when creation of pixel format for core context failed
Added handling of -glversion command line switch
2016-09-04 15:25:37 +03:00
Christoph Oelckers
d2ead39bcc - force framebuffers for camera textures on GL 3+ hardware. With all the postprocessing stuff added I don't think it's ok to use the screenbuffer for this anymore.
- disable framebuffers for camera textures in legacy mode entirely. This depends on a GL_DEPTH24_STENCIL8 surface which most of these old chipsets do not support, and I really see no point to invest any work here. The worst that can happen is that oversized camera textures won't be processed, which, due to general performance issues, might even be a good thing.
2016-09-04 14:16:05 +02:00
Christoph Oelckers
95bedac6ca - inlined FHardwareTexture::GetTexDimension. 2016-09-04 13:14:14 +02:00
Christoph Oelckers
8b01a88b76 - removed gl_lights_size and gl_lights_intensity.
Both of these were inherited from ZDoomGL and in terms of light design in maps it makes absolutely no sense to have them user configurable. They should have been removed 11 years ago.
2016-09-04 12:45:09 +02:00
Christoph Oelckers
e7856ce1e3 - removed unused forceadditive parameter from gl_GetLight.
- restricted gl_lights_additive to legacy code and removed menu entry for this.

For modern hardware this setting is completely pointless, it offers no advantage and degrades visual quality. Its only reason for existence was that drawing additive lights with textures is a lot faster, and that's all it's being used for now.
2016-09-04 12:35:26 +02:00
Christoph Oelckers
37d0f97808 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-04 10:29:15 +02:00
Christoph Oelckers
954ac8ce5e - removed DirectX setup from CMakeLists for Visual Studio
For VS 2015 this is no longer needed, the DX headers and libraries are part of the Windows SDK and do not need to be looked for explicitly.
2016-09-04 10:28:29 +02:00
Christoph Oelckers
eff03d13f0 - fixed last commit. 2016-09-04 10:28:29 +02:00
alexey.lysiuk
677efb73bc Fixed compilation with GCC/Clang
No longer aborts with error: cannot pass object of non-trivial type 'FString' through variadic method; call will abort at runtime
2016-09-04 10:05:07 +03:00
Christoph Oelckers
f021d13ead Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-04 08:33:40 +02:00
Christoph Oelckers
77ac3bb265 - fixed angle range checks in A_CheckIfTargetInLOS.
The fixed point version had a mostly useless check that excluded ANGLE_MAX, this got incorrectly converted to floating point.
Note that this version will clamp the angle to 360°, not merely overflow like it did with the fixed point code
2016-09-04 08:33:19 +02:00
Magnus Norddahl
3727c5ed0f Mark portals in scene alpha channel for the SSAO pass 2016-09-04 08:15:29 +02:00
Magnus Norddahl
527703ae8c Fix missing flash if multisampling was on and no post processing effects active 2016-09-04 03:21:47 +02:00
Magnus Norddahl
5f02e08c8e Fix minimize crash 2016-09-04 03:15:50 +02:00
Magnus Norddahl
dc39a006dc Fix palette tonemap precision and compile error on Intel 2016-09-04 02:37:59 +02:00
Christoph Oelckers
4eda5f841e Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-04 01:46:49 +02:00
Christoph Oelckers
217601f338 - fixed: FPortal::ClearScreen may not use the 2D drawing code anymore.
2D calls are accumulated and then executed all at once at the end of the frame, but this one needs to be interleaved with the 3D rendering. It now uses the quad drawer to fill the portal with blackness.
2016-09-04 01:46:29 +02:00
Blue-Shadow
2ed4208a1b Added IfCVarInt SBARINFO command 2016-09-03 18:55:19 +03:00
Christoph Oelckers
c3ad0a2f16 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-03 17:29:47 +02:00
Christoph Oelckers
f31346968f - added missing #include. 2016-09-03 17:29:28 +02:00
Christoph Oelckers
3ae2e77512 - added xBRZ files. 2016-09-03 16:55:16 +02:00
Christoph Oelckers
4a80f8e4ed - fixed: Camera textures and savegame pictures should not be drawn with a Stereo3D mode. 2016-09-03 16:54:17 +02:00
Christoph Oelckers
e08015a181 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-03 14:02:28 +02:00
Christoph Oelckers
aece9aaa58 - added xBRZ texture scaler after clearing the licensing conditions. A screenshot of the confirmation that this is ok has been added to the 'licenses' folder. 2016-09-03 14:01:51 +02:00
Christoph Oelckers
5770e5dfaf - split up m_specialpaths.cpp to be a separate file for each operating system.
The reason for this is that the macOS version uses a deprecated API and in order to correct this, the file needs to be compiled as Objective-C++ which requires a different extension.
2016-09-03 12:00:08 +02:00
arookas
d7b5bdc0f7 Renamed Thing_Damage3 to DamageActor 2016-09-03 08:27:38 +02:00
arookas
d14782fb37 Added Thing_Damage3 function
It acts as a simple wrapper around P_DamageMobj which can damage a
single actor, but can also set the actor inflicting the damage. It
returns the amount of damage actually done, or -1 if the damaging was
cancelled.
2016-09-03 08:27:38 +02:00
Magnus Norddahl
e7765bb240 Move SSAO pass to be before translucent rendering
Fix depth sampling location when not using fullscreen scene
2016-09-03 04:29:50 +02:00
Magnus Norddahl
902097d6da Resolve multisampling depth in shader 2016-09-03 04:12:00 +02:00
Magnus Norddahl
b1c1e6aae7 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
2016-09-03 01:17:16 +02:00
Christoph Oelckers
8b7a87f256 - fix conditions for DrawBlend calls. 2016-09-03 00:43:18 +02:00
Christoph Oelckers
90ab0223a6 - handle colormap parameter reset when renderbuffers are toggled. 2016-09-03 00:36:23 +02:00
Magnus Norddahl
77dde2e3ad Fix not switching back to the default frame buffer when gl_renderbuffers is toggled off 2016-09-03 00:13:05 +02:00
Christoph Oelckers
ee503ea275 - removed now redundant mystdint.h file.
Visual Studio now ships stdint.h so this workaround is no longer needed.
2016-09-02 10:55:56 +02:00
Magnus Norddahl
98032bc73f Change SSAO blur to be depth aware 2016-09-02 05:45:00 +02:00
Magnus Norddahl
5a0c61a2d5 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/scene/gl_scene.cpp
2016-09-02 02:40:44 +02:00
Christoph Oelckers
7135a6909c Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-02 00:44:10 +02:00
Major Cooke
c4357bd352 Tracer pointer is no longer a safe candidate for storing player morph pointers. Instead, actors must have a new, non-manipulatable pointer. This fixes the following circumstances:
- Crashes occurred if a particular actor was a tracer to the player and the actor was not gone by the time the player unmorphs.
- Failed unmorphs occur if tracer was manipulated through means like A_RearrangePointers, etc.
2016-09-01 13:49:58 -05:00
Christoph Oelckers
4e8027612f - restored 2 lines of code that somehow got lost before the last commit. 2016-09-01 17:38:17 +02:00
Christoph Oelckers
589936f570 - draw the colormap blend after postprocessing, not before it.
- added colormap shader to postprocessing.

This replaces the in-place application of fullscreen colormaps if renderbuffers are active. This way the fully composed scene gets inverted, not each element on its own which is highly problematic for additively blended things.
2016-09-01 17:14:51 +02:00
Christoph Oelckers
7efae2c8f8 - fixed: When requesting GL version 2.x, do not try to create a core profile context, because that can not support legacy features. 2016-09-01 12:14:20 +02:00
Christoph Oelckers
3389a5a74e - removed most of the specific options for legacy hardware and consolidated them in one variable (does not work yet.) 2016-09-01 11:52:52 +02:00
Magnus Norddahl
8a2737a0ce Fix precision issue in SSAO shader 2016-09-01 07:15:40 +02:00
Christoph Oelckers
4a0e082836 - fixed: The wall splitter in the translucent sorting code needs to set fracleft and fracright so that vertex generation is done correctly for the split segments. 2016-08-31 23:26:49 +02:00
Christoph Oelckers
4993018520 - fixed: Actor velocity requires an upper limit to prevent uncontrolled accumulation, as can happen when multiple exploding and pushable objects overlap. The value 5000 was chosen because it is high enough to not occur under regular circumstances and small enough to prevent severe slowdowns. In the old fixed point code the lack of such a check just caused random overflows. 2016-08-31 09:18:59 +02:00
Magnus Norddahl
55ea4a7729 Add ssao random texture 2016-08-30 01:09:21 +02:00
Christoph Oelckers
45ff15559d - removed gl_draw_synv because with the postprocessing this is no longer useful. 2016-08-30 00:33:02 +02:00