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