Commit graph

8140 commits

Author SHA1 Message Date
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
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
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
alexey.lysiuk
e9ce699042 Fixed compilation with GCC or Clang 2016-10-01 12:17:15 +03: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
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
Marisa Heit
e3be6e4819 Fixed: The menu no longer refreshed the screen border 2016-09-27 18:58:09 -05:00
Marisa Heit
40f0dbf51c Fixed: Y and Z were flipped for sound velocity 2016-09-27 16:27:31 -05: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
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
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
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