Commit Graph

2862 Commits

Author SHA1 Message Date
Christoph Oelckers a210aaea3e - fixed: All melee functions calling TraceBleed after DamageMobj must first copy the target member to a local variable.
DamageMobj can destroy the damaged actor if the death state sequence has zero duration. But Actor.target is a garbage collected member variable, i.e. it will be null, once the actor it points to gets destroyed.
This was originally done correctly in the C++ code but during the scriptification all those 'AActor *target = self->target' lines were removed because they looked redundant, but were not.
2017-06-06 09:12:58 +02:00
Rachael Alexanderson 5d40b2c36c Merge https://github.com/coelckers/gzdoom 2017-06-04 21:04:33 -04:00
alexey.lysiuk a797db74da Silenced scripting warning from main .pk3
Script warning, "gzdoom.pk3:zscript/menu/playercontrols.txt" line 526:
Truncation of floating point value
2017-06-04 16:21:10 +03:00
Rachael Alexanderson 5eaf085d58 - fixed minor menudef mistake 2017-06-04 12:30:35 +02:00
Rachael Alexanderson 68b6f922f7 - Added auto-detection scheme for r_vanillatrans
It now works the following way:
(0) - Force off (ZDoom defaults)
(1) - Force on (Doom defaults)
(2) - Auto off (Prefer ZDoom defaults - if DEHACKED is detected with no ZSCRIPT it will turn on) (default)
(3) - Auto on (Prefer Doom defaults - if DECORATE is detected with no ZSCRIPT it will turn off)
2017-06-04 12:30:35 +02:00
Rachael Alexanderson 11741846c6 - fixed: missed the teleport fog 2017-06-04 12:30:35 +02:00
Rachael Alexanderson e1bb44a9ed - added menu option for r_vanillatrans 2017-06-04 12:30:35 +02:00
Rachael Alexanderson 10a9d087f1 - fixed: missed the golden wand puff for the +ZDOOMTRANS flag 2017-06-04 12:30:35 +02:00
Rachael Alexanderson 2997f31f9f - removed ZDOOMADD and updated actors in question with ZDOOMTRANS 2017-06-04 12:30:35 +02:00
Rachael Alexanderson a937f709aa - Added +ZDOOMADD to all Heretic, Hexen, and Strife actors that needed it (that I know of...)
- this developer's insanity level increased another 21%
2017-06-04 12:30:35 +02:00
Rachael Alexanderson 89b372cb01 - Changed MF7_SPRITEFLIP, MF8_ZDOOMTRANS to RenderFlags
- Added RF_ZDOOMADD
- renamed r_canontrans to r_vanillatrans
- this developer's insanity level has increased by 231%.
2017-06-04 12:30:35 +02:00
Rachael Alexanderson c252b5d753 - fixed: forgot to assign +ZDOOMTRANS to rockets 2017-06-04 12:30:35 +02:00
Rachael Alexanderson 01f88cfb16 - Added 'canonical transparency' cvar r_canontrans - this simply turns off transparency for Doom objects that were marked as transparent sometime in ZDoom's development cycle 2017-06-04 12:30:35 +02:00
Rachael Alexanderson e5eb173165 - fixed minor menudef mistake 2017-06-04 05:33:37 -04:00
Rachael Alexanderson 64b22f6cb3 Merge https://github.com/coelckers/gzdoom 2017-06-03 22:34:13 -04:00
Rachael Alexanderson deb62ee156 Merge commit 'refs/pull/340/head' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/gl/scene/gl_sprite.cpp
#	src/polyrenderer/scene/poly_sprite.cpp
#	src/swrenderer/things/r_sprite.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.txt
2017-06-03 20:06:28 -04:00
Rachael Alexanderson 9af370f51e - Added auto-detection scheme for r_vanillatrans
It now works the following way:
(0) - Force off (ZDoom defaults)
(1) - Force on (Doom defaults)
(2) - Auto off (Prefer ZDoom defaults - if DEHACKED is detected with no ZSCRIPT it will turn on) (default)
(3) - Auto on (Prefer Doom defaults - if DECORATE is detected with no ZSCRIPT it will turn off)
2017-06-03 20:00:53 -04:00
Magnus Norddahl 7acb492852 - Add gl_shadowmap_quality cvar that controls the resolution of the 1D shadow map texture 2017-06-04 00:44:49 +02:00
Magnus Norddahl 265df4b797 - Change shadowmap resolution from 1024 to 128 2017-06-03 21:19:34 +02:00
jplebreton 2c7a0c87c8 add FloatBobStrength Actor property, a multiplier on Z offset created by FloatBob behavior. default of 1.0 is current behavior, set higher/lower for more/less extreme bobbing. 2017-06-03 18:02:27 +02:00
Rachael Alexanderson cdc0bf1cd5 - condense all of unloved/2.pk3's compatibility entries together since they are all the same 2017-06-02 16:58:22 -04:00
Rachael Alexanderson 28821e5eca - condense all of unloved/2.pk3's compatibility entries together since they are all the same 2017-06-02 16:57:37 -04:00
Rachael Alexanderson 9b3d11ae19 - fixed: missed the teleport fog 2017-06-02 12:41:25 -04:00
Rachael Alexanderson 9871117f56 - fixed: missed the teleport fog 2017-06-02 12:41:03 -04:00
Rachael Alexanderson 9abf866241 - added menu option for r_vanillatrans 2017-06-02 12:37:54 -04:00
Rachael Alexanderson 579febb6f8 - added menu option for r_vanillatrans 2017-06-02 12:36:29 -04:00
Rachael Alexanderson ede15da98c - fixed: missed the golden wand puff for the +ZDOOMTRANS flag 2017-06-02 12:24:03 -04:00
Rachael Alexanderson b240ad0814 - removed ZDOOMADD and updated actors in question with ZDOOMTRANS 2017-06-02 12:24:03 -04:00
Rachael Alexanderson 91e3b19264 - Added +ZDOOMADD to all Heretic, Hexen, and Strife actors that needed it (that I know of...)
- this developer's insanity level increased another 21%
2017-06-02 12:24:03 -04:00
Rachael Alexanderson 00bfee8b1e - Changed MF7_SPRITEFLIP, MF8_ZDOOMTRANS to RenderFlags
- Added RF_ZDOOMADD
- renamed r_canontrans to r_vanillatrans
- this developer's insanity level has increased by 231%.
2017-06-02 12:24:03 -04:00
Rachael Alexanderson eeaf6214f7 - fixed: forgot to assign +ZDOOMTRANS to rockets 2017-06-02 12:24:03 -04:00
Rachael Alexanderson daad76547d - Added 'canonical transparency' cvar r_canontrans - this simply turns off transparency for Doom objects that were marked as transparent sometime in ZDoom's development cycle 2017-06-02 12:24:03 -04:00
Rachael Alexanderson 7d7b1b3b97 - fixed: missed the golden wand puff for the +ZDOOMTRANS flag 2017-06-02 01:10:46 -04:00
Rachael Alexanderson bf12d38afd - removed ZDOOMADD and updated actors in question with ZDOOMTRANS 2017-06-02 01:10:46 -04:00
Rachael Alexanderson b4dea12a4f - Added +ZDOOMADD to all Heretic, Hexen, and Strife actors that needed it (that I know of...)
- this developer's insanity level increased another 21%
2017-06-02 01:10:46 -04:00
Rachael Alexanderson aa93990d3b - Changed MF7_SPRITEFLIP, MF8_ZDOOMTRANS to RenderFlags
- Added RF_ZDOOMADD
- renamed r_canontrans to r_vanillatrans
- this developer's insanity level has increased by 231%.
2017-06-02 01:10:46 -04:00
Rachael Alexanderson 45d7401885 - fixed: forgot to assign +ZDOOMTRANS to rockets 2017-06-02 01:10:46 -04:00
Rachael Alexanderson 813b321c45 - Added 'canonical transparency' cvar r_canontrans - this simply turns off transparency for Doom objects that were marked as transparent sometime in ZDoom's development cycle 2017-06-02 01:10:45 -04:00
Rachael Alexanderson b78cb6c693 Merge https://github.com/coelckers/gzdoom 2017-06-01 01:02:17 -04:00
Rachael Alexanderson 9e2d44e9c8 - Added a number of missing textures for all 4 episodes of Ultimate Doom 2017-05-31 21:29:25 +02:00
Rachael Alexanderson 68b32d1fe8 Merge https://github.com/coelckers/gzdoom 2017-05-31 12:01:47 -04:00
Rachael Alexanderson f753a8bfbc - Two more compat fixes for Doom2 - this at least covers all the HOM errors mentioned in the Doom Wiki. 2017-05-31 11:28:27 -04:00
Rachael Alexanderson e72ae3f266 Merge ../gzdoom
# Conflicts:
#	src/version.h
#	wadsrc/static/compatibility.txt
2017-05-31 09:08:13 -04:00
Rachael Alexanderson 907d1e0056 - Several compatibility fixes for Doom2's first map cluster. Fixes missing textures as well as incorrect sector tagging causing glitches when opening doors or triggering an ambush. 2017-05-31 08:46:29 -04:00
Rachael Alexanderson 2f7d512acf Merge commit 'refs/pull/335/head' of https://github.com/coelckers/gzdoom 2017-05-29 04:53:39 -04:00
Rachael Alexanderson 7c33554a2d - fixed a spelling error 2017-05-28 20:16:07 -04:00
Rachael Alexanderson a9fdaf3827 - Added numerous compatibility fixes for Doom2: Maps 02 to 11. These fixes mark previously unmarked secrets, and texture fixes in several locations that had HOMs. 2017-05-28 20:16:07 -04:00
Rachael Alexanderson 61660bf147 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-05-28 10:50:06 -04:00
alexey.lysiuk f759e1155a Damage factor on armor is no longer ignored
https://forum.zdoom.org/viewtopic.php?t=56632
2017-05-28 17:41:44 +03:00
Rachael Alexanderson 65bb8a5185 Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom 2017-05-28 07:13:27 -04:00
Rachael Alexanderson 619281de64 Revert "Merge commit 'refs/pull/336/head' of https://github.com/coelckers/gzdoom"
This reverts commit a05c38fefd, reversing
changes made to 0fb1a0604c.
2017-05-28 07:12:41 -04:00
Christopher Bruns a49afd5bfc Initial OpenVR mode.
Second attempt: clean up commit, and avoid messing with HDR framebuffer format.
2017-05-28 06:20:32 -04:00
Rachael Alexanderson a05c38fefd Merge commit 'refs/pull/336/head' of https://github.com/coelckers/gzdoom 2017-05-28 01:33:59 -04:00
Rachael Alexanderson 0fb1a0604c Merge https://github.com/coelckers/gzdoom 2017-05-27 21:52:43 -04:00
Christopher Bruns c1bacdbf92 Create initial rotation-tracking-only implementation of OpenVR mode for VR headsets. 2017-05-27 19:42:49 -04:00
Rachael Alexanderson 9435a09f1e - Added vid_glswfb to menu on Mac. 2017-05-27 08:01:56 -04:00
Rachael Alexanderson d0c1dc9b02 - Added compatibility fix for Doom2's map18 for missing textures on one of the door frames - lines 451 and 459 2017-05-27 06:53:36 -04:00
Rachael Alexanderson a7cc6fb1ba - fixed: 'IfOption(Linux)' is actually 'IfOption(unix)' in menudef 2017-05-27 05:12:59 -04:00
Rachael Alexanderson 9ebf1ec9a2 - Update menu to match new vid_glswfb config
- Added vid_glswfb to menu on Linux
2017-05-27 04:58:48 -04:00
Major Cooke a111c59286 Added PSPF_MIRROR.
- Flips the sprite's drawing and position over entirely. Automatically implies PSPF_FLIP.
2017-05-25 19:46:36 -05:00
Rachael Alexanderson 7600fdb200 Merge https://github.com/coelckers/gzdoom 2017-05-22 13:10:19 -04:00
Christoph Oelckers 42e62d9005 - fixed: Harmony requires special scaling treatment for the fullscreen HUD's icons. 2017-05-21 21:30:46 +02:00
Rachael Alexanderson 3955b7a4f8 Merge https://github.com/coelckers/gzdoom 2017-05-21 05:52:27 -04:00
Christoph Oelckers 4388d97db6 - PlayerPawn.PlayerThink needs to consider the possibility of the player getting unmorphed and must call any function after a potential unmorph through 'player.mo' instead of 'self'. 2017-05-20 20:56:43 +02:00
Rachael Alexanderson 2f743c3128 Merge https://github.com/coelckers/gzdoom 2017-05-19 04:10:25 -04:00
svdijk 8ece6dff6a Menu: Never treat keys with no "Char" as hotkeys. 2017-05-18 21:29:08 +02:00
svdijk 4b8f4212ef Menu: Hotkeys should only select selectable items. 2017-05-18 21:29:08 +02:00
Rachael Alexanderson 1472627f6a Merge https://github.com/coelckers/gzdoom 2017-05-17 22:15:48 -04:00
Major Cooke bb1e927c46 Give the parameter a better name to associate by. 2017-05-17 23:03:22 +02:00
Major Cooke 65f13b0927 - Added a Z offsetting parameter to the ZScript LineAttack function.
- Added LAF_OVERRIDEZ flag to LineAttack. Disregards all internal offsetting aside the actor's Z position before adding the offset parameter.
2017-05-17 23:03:22 +02:00
Rachael Alexanderson 0f54d7f854 Merge https://github.com/coelckers/gzdoom 2017-05-17 08:53:34 -04:00
svdijk ebf3a37394 Menu: Fix mouse handling for the autoaim slider. 2017-05-16 23:06:57 +02:00
Rachael Alexanderson 625fc73f28 - Missed a few CF_POWERBUDDHA references. 2017-05-16 04:13:25 -04:00
Rachael Alexanderson 7ded20ca05 Merge https://github.com/coelckers/gzdoom 2017-05-15 03:27:58 -04:00
Major Cooke 795f8f0578 - Added a separate cheat flag to handle buddha powerups. Currently, Buddha powerups could interfere and disable the actual player cheat unintentionally, when the player may not want their actual cheat to be turned off.
- Set some overlooked 1000000 damage points to TELEFRAG_DAMAGE inside the falling damage code.
2017-05-14 17:22:46 +02:00
Major Cooke 49e4c8968f - Fixed: Powerups failed to expire when the EffectTics was set directly to 0 since the variable is always subtracted first before the check. 2017-05-14 17:21:48 +02:00
Rachael Alexanderson d1c6d8543b Merge https://github.com/coelckers/gzdoom 2017-05-13 04:17:54 -04:00
Christoph Oelckers fcafed4e27 - reordered the IWADs so that the BFG editions are listed after the regular Doom IWADs and Freedoom before Heretic. 2017-05-13 09:44:33 +02:00
Rachael Alexanderson d907f18e4c Merge https://github.com/coelckers/gzdoom 2017-05-12 07:45:46 -04:00
Gaerzi 5736345e54 Load voices.wad in SVE
Also put SVE along with the other Strife IWADs so they'll be listed together.
2017-05-11 19:08:34 +02:00
Rachael Alexanderson 029788976d - fully fix Strife1.wad's MAP10 shooting range.
- added the following compatibility.txt properties: setsectortexture, setsectorlight
2017-05-11 18:56:02 +02:00
Rachael Alexanderson 9c97ab0b1e - fix tabs in compatibility.txt in the entry for doom2 map21 2017-05-11 18:56:02 +02:00
Christoph Oelckers 71b6d0113e - added a compatibility fix for some broken sectors in Doom2's MAP21. 2017-05-11 11:20:28 +02:00
Christoph Oelckers b02ebd98ab - add a missing texture to Doom2's MAP27. 2017-05-11 10:03:07 +02:00
Rachael Alexanderson ac244b3229 Merge https://github.com/coelckers/gzdoom 2017-05-10 05:15:49 -04:00
alexey.lysiuk 60fe34349e Fixed applying of speed factor to player
Part of https://forum.zdoom.org/viewtopic.php?t=56333
2017-05-08 16:54:22 +03:00
Rachael Alexanderson 0941cda7cc Merge https://github.com/coelckers/gzdoom 2017-05-07 05:07:22 -04:00
Christoph Oelckers 2edae42822 - fixed display of WIPAR lump on Doom intermission screen. 2017-05-07 10:29:58 +02:00
alexey.lysiuk 78b724e280 Par time on stat screen doesn't need tics-to-seconds adjustment
Fixes https://forum.zdoom.org/viewtopic.php?t=56307
There was no such adjustment before scriptification of stat screen
2017-05-07 10:10:26 +03:00
Rachael Alexanderson 1cb8d80b25 - Added Gez's heretic wall texture compatibility fixes for E4M7. https://forum.zdoom.org/viewtopic.php?p=995663#p995663 2017-05-06 17:25:43 -04:00
alexey.lysiuk 454f553ea4 Fixed minor issues in Heretic maps (cosmetic mostly) via compatibility
# Conflicts:
#	wadsrc/static/compatibility.txt
2017-05-06 19:43:35 +02:00
alexey.lysiuk 85bb5192b3 Replaced sectorflooroffset with more generic compatibility parameter
New parameter setsectoroffset can set offset of floor or ceiling

# Conflicts:
#	src/compatibility.cpp
2017-05-06 19:43:35 +02:00
Chris Robinson 996ce4497d Add a resampler option for the OpenAL backend 2017-05-06 18:07:31 +02:00
Christoph Oelckers ce0547aacb - fixed: The player speed factor was only retrieved from the topmost item in the inventory. 2017-05-06 10:58:16 +02:00
Rachael Alexanderson 678949ccd4 Merge https://github.com/coelckers/gzdoom 2017-05-06 00:52:02 -04:00
Christoph Oelckers bb12dabe2b - added a 'protrusion' property to SBARINFO so that the map name display can properly be handled here as well. Until now it was only working for scripted status bars. 2017-05-05 19:32:37 +02:00
Rachael Alexanderson fa3846ccc6 Merge https://github.com/coelckers/gzdoom 2017-05-05 00:36:22 -04:00
Christoph Oelckers 7308979c44 - fixed bad state label in A_SerpentHeadCheck. 2017-05-04 22:53:14 +02:00
Christoph Oelckers 5bbf173b4e - fixed: SBARINFO based status bars got the wrong color for automap HUD highlights when playing Doom. 2017-05-04 11:37:36 +02:00
Rachael Alexanderson 118976129d Merge https://github.com/coelckers/gzdoom 2017-05-04 02:38:13 -04:00
Christoph Oelckers 0877539315 - fixed: The Talisman powerup for SVE was given to the wrong actor. 2017-05-03 22:07:33 +02:00
Rachael Alexanderson a59336908c Merge https://github.com/coelckers/gzdoom 2017-05-02 03:13:40 -04:00
Christoph Oelckers 79ef7989fc - moved the software renderer's dynamic light option into the dynamic light menu to avoid confusion.
Todo: Review the other options and make sure they apply to both renderers.
2017-05-01 22:04:54 +02:00
Christoph Oelckers 050acc9271 - added rudimentary support for SVE.wad from the Strife Veteran edition so that the extended single player campaign is usable:
* all new things got either an sctor definition or are explicitly deleted through the 'doomednums' section in MAPINFO. CTC related actors are non-functional!
* added a 'noskillflags' option to 'doomednums' so that the lightmap definition things in the maps can be repurposed as dynamic lights.
* added the new dagger powerup.
* added MAPINFO entries for the added maps.
2017-05-01 21:25:54 +02:00
Rachael Alexanderson ebf33ed24e Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/posix/cocoa/i_video.mm
2017-04-30 22:16:01 -04:00
Christoph Oelckers b84f7bcada - scriptified the weapon firing logic. 2017-05-01 01:55:35 +02:00
Christoph Oelckers abee2805cb - the last scriptified bits of P_PlayerThink. 2017-05-01 00:27:58 +02:00
Chris Robinson 6044c876ab Update LASTRUNVERSION to handle the snd_hrtf change
Also snd_hrtf now uses -1 for "auto" and 0 for "off", which makes more sense.
2017-05-01 00:26:28 +02:00
Christoph Oelckers 6e25c34fda - more player code exported 2017-04-30 22:17:51 +02:00
Christoph Oelckers 10deb5ce56 - exported P_PlayerThink to ZScript. 2017-04-30 22:17:50 +02:00
Rachael Alexanderson 588d028499 Merge https://github.com/coelckers/gzdoom 2017-04-30 16:00:52 -04:00
Chris Robinson 49449e623e Make an advanced sound option for snd_hrtf 2017-04-30 18:41:39 +02:00
alexey.lysiuk 79654fa15b Cleanup after mod_dumb CVAR removal
This fixes the following warnings on startup without configuration file:
Script error, "gzdoom.pk3:menudef.txt" line 1727:
Unknown CVar mod_dumb
Script error, "gzdoom.pk3:menudef.txt" line 1728:
Unknown CVar mod_dumb
Script error, "gzdoom.pk3:menudef.txt" line 1729:
Unknown CVar mod_dumb
Script error, "gzdoom.pk3:menudef.txt" line 1731:
Unknown CVar mod_dumb
2017-04-29 10:27:59 +03:00
Rachael Alexanderson 9fc2f805de Merge https://github.com/coelckers/gzdoom 2017-04-27 14:29:28 -04:00
Christoph Oelckers c3f9b4a5ee - silenced a few float truncation warnings that get printed in developer mode. 2017-04-27 10:23:31 +02:00
Rachael Alexanderson 6fa7c9ee0c Merge https://github.com/coelckers/gzdoom 2017-04-25 20:54:45 -04:00
alexey.lysiuk cc786bada6 Fixed crash when mouse is moved right after saving of game has been triggered
https://forum.zdoom.org/viewtopic.php?t=56060
https://forum.zdoom.org/viewtopic.php?t=49369&start=105#p992821
https://forum.drdteam.org/viewtopic.php?t=7607
2017-04-25 10:57:55 +03:00
Rachael Alexanderson 88f8c4afcc Merge https://github.com/coelckers/gzdoom 2017-04-24 08:09:34 -04:00
Christoph Oelckers 9308e45575 - include strifehelp.acs when building gzdoom.pk3.
Seriously, we shouldn't set a bad precedent for mappers here.
2017-04-23 14:12:02 +02:00
Rachael Alexanderson c71d23f519 Merge https://github.com/coelckers/gzdoom 2017-04-22 22:02:20 -04:00
Christoph Oelckers dc3df4e897 - remove mod_dumb CVAR. This now effectively disabled module playback because the OpenAL backend cannot substitute for it, unlike FMod. 2017-04-22 10:59:52 +02:00
Rachael Alexanderson b2ba7a4e18 Merge https://github.com/coelckers/gzdoom 2017-04-21 18:15:48 -04:00
Christoph Oelckers 3ccd4aa0d1 - fixed: The powerup icons did not blink when expiring. 2017-04-21 18:08:30 +02:00
Christoph Oelckers 1852079142 - removed alpha parameter from BaseStatusBar.DrawBar because this cannot be used with this function. 2017-04-21 10:56:34 +02:00
Christoph Oelckers b5f87aa86f - typo in last commit. 2017-04-21 10:45:27 +02:00
Christoph Oelckers 5cb5d26bf8 - fixed the item stats positioning on the automap. 2017-04-21 10:44:02 +02:00
Rachael Alexanderson 11ec35b061 Merge https://github.com/coelckers/gzdoom 2017-04-20 21:04:33 -04:00
ZZYZX 29402ff685 ZScript version of SetCameraToTexture 2017-04-19 11:20:17 +02:00
Major Cooke 316af5a400 - fixed: DrawBar never checked maxval for dividing by 0. 2017-04-19 11:18:58 +02:00
Rachael Alexanderson 5d11c9962b Merge commit '8db239d' 2017-04-18 11:33:52 -04:00
Christoph Oelckers 8180d34765 - added user configurable menus where soundfonts, patch sets or Timidity EXEs can be selected from lists being stored in the config file to reduce the hassle of testing MIDIs with different settings. 2017-04-18 16:43:07 +02:00
Christoph Oelckers 96d328de9b - removed all Doom Source license and all default Raven copyright headers and replaced them with GPLv3. Also fixed the license in a few other files.
For some files that had the Doom Source license attached but saw heavy external contributions over the years I added a special note to license all original ZDoom code under BSD.
2017-04-17 13:33:19 +02:00
Christoph Oelckers c219811a54 - removed FMod as the last remaining piece of code that is not GPL compatible.
Please consider GZDoom as licensed under the GPL starting with this commit, even though the license headers have not been changed yet.
2017-04-17 01:06:54 +02:00
Christoph Oelckers 1ee9256842 - did a complete workover of the weapon sprite translucency code that got inherited from QZDoom.
This was very poorly done without ever addressing the issues a composite render style can bring, it merely dealt with the known legacy render styles.
The same, identical code was also present in two different places.
The oversight that AlterWeaponSprite overrode even forced styles was also fixed.

OpenGL is not implemented yet but with the problems eliminated should be doable now.
2017-04-15 16:41:00 +02:00
Rachael Alexanderson 997a62de36 Merge https://github.com/coelckers/gzdoom 2017-04-14 23:09:21 -04:00
Christoph Oelckers 0ebf4958b9 - fixed pitch calculation for camera actors. For compatibility with Hexen format they need to treat the pitch arg as a signed byte. 2017-04-15 00:48:22 +02:00
Christoph Oelckers edebea4f8d - allow specifying a custom class for message box display. 2017-04-14 23:28:54 +02:00
Christoph Oelckers d03c33f393 - added Translation.GetID. 2017-04-14 17:40:05 +02:00
Christoph Oelckers cde450dd8a - some enhancements for PowerReflection. 2017-04-14 16:51:11 +02:00
Christoph Oelckers 329c168cc2 - added a distance parameter to A_SprayDecal. 2017-04-14 16:28:54 +02:00
Christoph Oelckers 92acbdc625 - made GetClassName an intrinsic and expanded it to also work on class types. 2017-04-14 16:14:27 +02:00
Rachael Alexanderson 93564078fe Merge https://github.com/coelckers/gzdoom 2017-04-14 01:05:26 -04:00
Christoph Oelckers b1057cee36 - fixed: do not draw armor on the fullscreen HUD if the amount is 0. 2017-04-13 20:43:17 +02:00
Major Cooke 29394da7ed Static functions cannot have const. 2017-04-13 19:43:41 +02:00
Major Cooke 523b31a16a Made several string functions const. 2017-04-13 19:43:41 +02:00
Rachael Alexanderson 2c4552da42 Merge https://github.com/coelckers/gzdoom 2017-04-13 10:09:47 -04:00
Christoph Oelckers 1c8d698121 - added WeaponState enum for ZScript. 2017-04-13 02:42:31 +02:00
Rachael Alexanderson a15031706d Merge https://github.com/coelckers/gzdoom 2017-04-12 20:33:38 -04:00
Christoph Oelckers 1712667ce2 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-04-13 02:18:16 +02:00
Christoph Oelckers fc9e304189 - separated class descriptors from VM types.
Combining these two groups of data has been the cause of many hard to detect errors because it allowed liberal casting between types that are used for completely different things.
2017-04-12 22:46:49 +02:00
alexey.lysiuk d8d7dc973c Added check for selected item in save/load menu
https://mantis.zdoom.org/view.php?id=570
2017-04-12 17:15:12 +03:00
Rachael Alexanderson 7040bc2156 Merge https://github.com/coelckers/gzdoom 2017-04-11 14:06:13 -04:00
Christoph Oelckers 6a3ddaa8fa - moved Restricted/ForbiddenToPlayerClass fully to the script side.
This required some fixes for allowing to read from metadata arrays.
2017-04-11 15:11:13 +02:00
Rachael Alexanderson 00531cda49 Merge https://github.com/coelckers/gzdoom 2017-04-09 11:53:40 -04:00
alexey.lysiuk b0a0c62af1 Fixed state selection for weapon secondary fire
https://mantis.zdoom.org/view.php?id=552
2017-04-09 13:04:32 +03:00
Christoph Oelckers 5935dc706d - prevent infinite recursion in PlayerPawn.GetObituary when the inflictor is the same as the origin for the kill. 2017-04-09 00:06:23 +02:00
Rachael Alexanderson 51f30a8b1e Merge https://github.com/coelckers/gzdoom 2017-04-06 23:55:20 -04:00
Magnus Norddahl 85a9984807 - Add OpenGL ES 3 support to GL renderer 2017-04-06 23:34:42 -04:00
Magnus Norddahl 994740b3ae - Add OpenGL ES 3 support to GL renderer 2017-04-07 04:09:04 +02:00
Christoph Oelckers 74faacd218 - fixed: FxVMFunctionCall::GetDirectFunction did not perform any checks on the function's self pointer and failed to report a mismatch as an error.
- also fixed two places in the code where the above caused some incorrect definitions not to be detected.
2017-04-06 20:52:38 +02:00
Rachael Alexanderson a1473c48c3 Merge https://github.com/coelckers/gzdoom 2017-04-06 04:30:38 -04:00
alexey.lysiuk ca4888eb3d Added CVar.GetCVar() function to do player-dependent console variables lookup 2017-04-06 10:51:36 +03:00
alexey.lysiuk 26e4b74261 Restored initial behavior of CVar.FindCVar()
https://mantis.zdoom.org/view.php?id=537
2017-04-06 10:50:40 +03:00
Rachael Alexanderson 5851408803 Merge https://github.com/coelckers/gzdoom 2017-04-04 01:29:14 -04:00
Christoph Oelckers 4b127c7fcc - draw Doom weapon numbers one pixel lower. 2017-04-03 09:37:52 +02:00
Rachael Alexanderson 12d39c74ef Merge https://github.com/coelckers/gzdoom 2017-04-02 21:38:20 -04:00
Christoph Oelckers e074c75609 - added a generic TransformRect to the status bar so that the proper transformations can be applied to draw operations that require special parameters not supported by the stock functions. 2017-04-02 12:58:31 +02:00
alexey.lysiuk 1033976158 Fixed typo in status bar function name
https://mantis.zdoom.org/view.php?id=519
2017-04-02 11:47:10 +03:00
Rachael Alexanderson 2b2297b73e Merge https://github.com/coelckers/gzdoom 2017-04-01 10:11:52 -04:00
Christoph Oelckers 553906b186 - fixed: BaseStatusbar::GetAmount returned the default item's amount if the player held none of the given type. This should only be done for MaxAmount. 2017-04-01 13:33:42 +02:00
Christoph Oelckers 7dae43bf7f - fixed: The health chain in Hexen wasn't drawn on the main status bar. Did some reordering to ensure it won't get skipped. 2017-04-01 13:18:19 +02:00
Christoph Oelckers 699d4882d5 - fixed: The ammo display in Doom should not be drawn if the current weapon does not use ammo. 2017-04-01 13:08:45 +02:00
Rachael Alexanderson bf9edec91a Merge https://github.com/coelckers/gzdoom 2017-03-30 18:04:37 -04:00
Christoph Oelckers 51d89740e3 - fixed mouse input for scale slider. 2017-03-30 20:12:39 +02:00
Christoph Oelckers 3a1228bf95 - exported the clipping rectangle to scripting and added a statusbar scaling wrapper for it.
- fixed: BaseStatusBar.Fill did not pass its flags parameter to the native function.
2017-03-30 12:13:28 +02:00
Christoph Oelckers a3ef711d1d - added a special slider type for the scaling options that prints a descriptive text instead of the slider for the special settings.
- fixed the adaptive scale calculation in GetUIScale which had the coordinates mixed up.
2017-03-30 11:30:09 +02:00
Rachael Alexanderson 39826753f9 Merge https://github.com/coelckers/gzdoom 2017-03-30 02:11:03 -04:00
Christoph Oelckers f95c29ad28 cleaned up the scaling options.
- all 5 settings affected by uiscale have been changed to have the exact same semantics: -1, if supported means special scaling, this is available for HUD and status bar, 0 means to use uiscale, any larger value is a direct scaling factor.
- scaling is cut off when the factor is larger than screenwidth/320 or screenheight/200 because anything larger will definitely not fit.
- a lot of code has been cleaned up and consolidated. Especially the message code had an incredible amount of redundancy.
- all scaling options have been moved into a submenu. This menu is not complete, though - it still requires a special menu widget to convey the intended information without confusing the user.
2017-03-30 02:16:23 +02:00
Christoph Oelckers 1dcc017daf - reimplemented the position display, but changed its position a bit upward.
- activated the RenderOverlay event, now that it can be called from the correct spot, i.e. right after the top level HUD messages are drawn. The system's status output will still be drawn on top of them.
2017-03-29 23:51:53 +02:00
Christoph Oelckers 7011010ff2 - fixed the drain callback.
- changed the effect spawn prevention of the Hexen flame strike weapon and reverted the attempt to fix this in FastProjectile.

This cannot be fixed in the base class, which was doing everything right. It's the flame missile that was doing undefined things by stopping its movement without clearing its missile flag. This cannot work because missiles are given some minimal forced velocity to ensure collision detection and any attempt to address this without clearing the missile flag is doomed to fail.
2017-03-29 22:50:13 +02:00
Christoph Oelckers b38934b532 - fixed declaration of ACS getters for status bar.
- fixed some uninitialized variables in font print code.
2017-03-29 21:54:11 +02:00
Christoph Oelckers 01b095c911 - added colorization for untranslated fonts. This uses the light color of the vertices. The software rendered 2D code will ignore this infomation.
- added a virtual OnRetrun method to menus.
2017-03-29 21:22:05 +02:00
Christoph Oelckers d36f656caf - added a callback for when damage is drained from a target. 2017-03-29 20:25:54 +02:00
Christoph Oelckers 1d4ab0cc2a - implemented proper scaling for the status bar itself.
This allows using the UI scale or its own value, like all other scaling values.
In addition there is a choice between preserving equal pixel size or aspect ratio because the squashed non-corrected versions tend to look odd, but since proper scaling requires ununiform pixel sizes it is an option.

- changed how status bar sizes are being handled.

This has to recalculate all scaling and positioning factors, which can cause problems if the drawer leaves with some temporary values that do not reflect the status bar as a whole.
Changed it so that the status bar stores the base values and restores them after drawing is complete.
2017-03-29 19:23:40 +02:00
Christoph Oelckers 87479d3c2f -use the proper functions to calculate the position of the popup screen in Strife. 2017-03-29 14:28:46 +02:00
Christoph Oelckers 7ba6860102 - scriptified the automap HUD and made it obey hud_scale instead of always being fully scaled. 2017-03-29 14:20:22 +02:00
Christoph Oelckers 2f06c09681 - fixed map name display on the automap HUD
This would cut off overlong names and the handling for status bars with protruding elements was far too simplistic and worse, making assumptions based on game mode.
It now uses a virtual function to query the status bar itself for returning this information so it can be overridden and uses V_BreakLines to split the text if it is wider than the display.
2017-03-29 10:36:16 +02:00
Rachael Alexanderson 9f38b2b107 Merge https://github.com/coelckers/gzdoom 2017-03-28 22:40:40 -04:00
Christoph Oelckers fabf8451e7 - use Fill to draw Strife's health bars. 2017-03-29 02:24:04 +02:00
Christoph Oelckers 598523a1de - moved all coordinate adjustment for the status bar mode into one function and use this function in all places where status bar related coordinate adjustments need to be performed, also in SBARINFO.
- fixed unscaled status bar placement.
- fixed inventory count display for Doom status bar.
2017-03-29 01:59:03 +02:00
Christoph Oelckers 19e7d60275 - removed DSBarInfo::Scaled because it tended to disagree with StatusBar->Scaled. 2017-03-29 00:35:35 +02:00
Christoph Oelckers fa893c082b - changed the default for hud_scale to 0 (i.e. use uiscale)
- allow calling Menu.SetMenu from play code so that in-game menus can be opened.
2017-03-28 22:51:37 +02:00
Christoph Oelckers d5772ff895 - fixed: SafeCommand did not work anymore because it failed the abuse prevention check for DoCommand. 2017-03-28 22:34:12 +02:00
Rachael Alexanderson 9da596cd9c Merge https://github.com/coelckers/gzdoom 2017-03-28 16:29:07 -04:00
Christoph Oelckers 224219dd66 - made ListMenuItem.DrawSelector virtual. 2017-03-28 21:39:03 +02:00
Christoph Oelckers 6870efe134 - added a GetCVarString ZScript/DECORATE function.
- fixed: loading a savegame triggered PlayerEntered events.
2017-03-28 21:37:43 +02:00
Christoph Oelckers bdf761e457 - moved th player resurrection code into a player_t method. 2017-03-28 21:29:14 +02:00
Christoph Oelckers 6816902a09 - forgot to save doom_sbar.txt 2017-03-28 13:27:59 +02:00
Christoph Oelckers e2e17f575c - added safeguards to all 2D drawing functions to throw an exception if used outside a valid 2D draw context.
This is necessary because the hardware accelerated renderers will hide the problem, but with pure software rendering to a locked hardware surface, like DirectDraw can result in a crash.
Note that ANY mod that gets caught in this did something wrong!
2017-03-28 13:25:17 +02:00
Christoph Oelckers b9485d4edf - ported the Hexen status bar to zscript.
Note that DrawBar with a background texture does not work yet because the clipping rectangle is not done yet.
2017-03-28 11:00:05 +02:00
Christoph Oelckers bac464f2b7 - added the inventory bar on Heretic's status bar. 2017-03-27 21:30:05 +02:00
Christoph Oelckers a6bf93c624 - implemented the Heretic status bar. 2017-03-27 21:01:40 +02:00
Christoph Oelckers 0fdd118906 - change statusbar drawers to use the top left of the virtual screen as origin, not the top left of the actual status bar, to bring this in line with SBARINFO.
The Strife status bar which was still native code had it differently and that was used as the initial guideline.
2017-03-27 09:52:30 +02:00
Rachael Alexanderson 2338fe7e66 Merge commit 'c8eabe5' 2017-03-26 21:57:23 -04:00
Christoph Oelckers a112b29c43 - implemented the inventory bar. This object is a bit special because it requires a lot of parameters, most of which are easily set to defaults. To make handling easier, most are passed through a container object which does some processing up front.
- finished work on the Doom status bar. I also took the opportunity to fix the layout of the inventory bar which is a bit broken in SBARINFO.
- tuned the selection rules for deciding what creates the status bar, so that the most recent definition that can be found is chosen.
2017-03-27 01:02:10 +02:00
Christoph Oelckers e791c957d9 - implemented the regular Doom status bar.
The DOOM status bar and HUD are complete, except the inventory bar.
2017-03-26 22:04:58 +02:00
Christoph Oelckers 08b3c38304 - simplified the parameters of the HUD draw functions by moving all booleans into one flags word and ordering them so that the less likely ones to be used can be made optional.
- got rid of the image list in the Doom status bar. The cost of the texture lookup is mostly irrelevant here so clearer and shorter code is preferrable.
- moved the box fitting code from DrawTexture into the native function to have all coordinate calculations in one place which is necessary to implement proper alignment default handling. Without higher level functions altering positioning the default can be set to automatic alignment determination, i.e. the value's sign decides where something is placed. Of course for special cases this can be overridden.
- use ANIMDEFS to animate the inventory arrow,
2017-03-26 18:41:24 +02:00
Christoph Oelckers 1c71d038dd - Doom keybar is working.
I did not implement an equivalent to SBARINFO's DrawKeyBar. This is too limiting because it needs to consider any possibility. It really is easier to let a mod implement this itself and custom adjust it to its needs.

- fixed some stuff, in particular use DrawInventoryIcon to get smarter icon lookup.
2017-03-25 23:43:19 +01:00
Christoph Oelckers 488fface50 - started port of Doom status bar to ZScript.
Fullscreen HUD done with the exception of key and inventory bar. I also used the opportunity to make it a bit more resistant against badly designed inventory icons.
2017-03-25 21:40:17 +01:00
Christoph Oelckers 3e67a8bafa - let hud_scale act like an override to uiscale, just like con_scale does.
- better handling of ForceScale for the fullscreen HUD that doesn't mess around with CVARs.
- moved the mug shot into the status bar, because this is global state that needs to be shared between different pieces of code which want to display a mug shot.
- SBARINFO should work off the current status bar settings instead of the ones stored in its script object
2017-03-25 18:32:47 +01:00
Rachael Alexanderson 733cf1acc5 Merge https://github.com/coelckers/gzdoom 2017-03-25 00:26:06 -04:00
Christoph Oelckers bdb9275f8c - made the mugshot accessible to ZScript.
Note that there is no direct access, all this exposes is a single function to get the current face's texture which then can be drawn using the existing functions.
2017-03-25 01:22:42 +01:00
Christoph Oelckers 2d17594f6f - converted the Strife status bar to use the new HUD specific draw functions so that it also can benefit from coming changes.
Note that the pop screens are special because they are not subject to scaling - they will always be drawn with the current resolutions clean scale. As a result they cannot use the HUD drawers but instead continue to use the low level draw functions directly.
2017-03-25 00:35:19 +01:00
Christoph Oelckers b17b8d32ad completely redid the active powerup drawer for the HUD
- replaced Inventory.DrawPowerup with a GetPowerupIcon method so that the calling code can handle the drawing and apply its own rules. This was a major design flaw of allowing the inventory items to handle the drawing themselves, because they were unable to adjust to different HUD frontends. Note that any mod that overrides DrawPowerup will not draw any icon that expects to be handled that way!
- the alternative HUD now has its own, separate drawer that obeys the AltHUD's rules, and not the ones of the normal fullscreen HUD.
- the standard drawer has been scriptified as a virtual function.
- Both drawers now handle positioning of the icon inside its assigned box themselves instead of trusting the powerup item to do it correctly.
- DTA_HUDRules and Screen.DrawHUDTexture are to be considered deprecated because both do not integrate into the redesigned HUD code.
2017-03-24 22:58:16 +01:00
Christoph Oelckers 6760e01a0d - implemented the status bar's DrawString function and ported the fullscreen HUD part of the Strife status bar to use the new functionality. 2017-03-24 20:09:50 +01:00
Rachael Alexanderson b747b0c3c6 - made gl_menu_blur into a menu option
- made bluramount also into a gameinfo option
- negative gl_menu_blur cvar now uses gameinfo option, 0 disables it
- removed gl_menu_blur_enabled since gl_menu_blur==0 does that anyway
- made gl_menu_blur default to -1 to use gameinfo option
- add default gameinfo bluramount options
2017-03-24 14:59:25 -04:00
Rachael Alexanderson 23141dc38a - QZDoom-ify 2017-03-24 14:59:25 -04:00
Christoph Oelckers b5720ee1e7 - initial work on DrawString method. 2017-03-24 02:38:44 +01:00
Christoph Oelckers 617934e1c2 - added a few exports for game strings which the SBARINFO string drawer can access and which should also be available by ZScript.
- merged BaseStatusBar and CustomStatusBar back together.

Since the low level draw functions are better done in native code for both performance and debuggability the split has become pointless.
2017-03-24 02:12:36 +01:00
Christoph Oelckers a3ee3c287e - major progress on the status bar code: SBARINFO's DrawGraphic has been ported into a generic function of the base statusbar class and put to use for a few items on the Strife status bar.
- decided to ditch the widget system I had started to lay out. As it turns out that would make things far more complicated and slower than they need to be.
2017-03-24 00:47:08 +01:00
Christoph Oelckers 31ea33bfc4 - rewrote the condition nodes from SBARINFO in ZScript. This compiles but hasn't been tested yet. 2017-03-23 00:25:26 +01:00
Christoph Oelckers 3744c2eee7 - this was missing. 2017-03-22 20:33:40 +01:00
Christoph Oelckers 9bd75bcac5 - some conceptual work on statusbar stuff. This looks like a viable approach to build something that can replace SBARINFO. 2017-03-22 19:56:21 +01:00
Christoph Oelckers f0e4f54c80 - one more bit of scriptification. 2017-03-22 18:38:09 +01:00
Christoph Oelckers 1423d5f42a - scriptified the SBARINFO wrapper.
This serves no purpose in itself but it removes a native side class from the status bar class hierarchy which allows for better editing options later.
2017-03-22 17:29:13 +01:00
Christoph Oelckers 4c51a4fc59 - reimplemented the health bar for Strife's status bar. 2017-03-22 14:59:12 +01:00
Christoph Oelckers 9bffe4ee50 - scriptified the main statusbar interface and the Strife status bar.
Note that the Strife status bar does not draw the health bars yet. I tried to replace the hacky custom texture with a single fill operation but had to find out that all the coordinate mangling for the status bar is being done deep in the video code. This needs to be fixed before this can be made to work.

Currently this is not usable in mods because they cannot initialize custom status bars yet.
2017-03-22 00:32:52 +01:00
Christoph Oelckers fb48a1b776 - resotred proper time calculations for status screen. 2017-03-20 19:04:17 +01:00
Christoph Oelckers 0cfdd699ad - exported the base thinker class for sector lighting effects to ZScript. 2017-03-19 13:15:38 +01:00
Christoph Oelckers ac95cba848 - fixed generic class type properties to handle "" and "none" as 'no class'. 2017-03-19 12:02:17 +01:00
Christoph Oelckers 2c789a2d75 - looks like the last commit missed a few files. 2017-03-19 11:35:24 +01:00
Christoph Oelckers 845c43876c - moved all trivial actor properties into the scripts as 'property' declarations. 2017-03-19 11:30:28 +01:00
Rachael Alexanderson 8711add50b - fixed: Fatal error on startup due to incorrect ZScript version. 2017-03-18 21:08:36 -04:00
Christoph Oelckers 144885665f - this feature is past version 2.4. 2017-03-19 00:52:42 +01:00
Christoph Oelckers 622b4a6457 - switched over to the scripted intermission screens. 2017-03-18 21:19:32 +01:00
Christoph Oelckers a2f2be17ef - status screen fully scriptified but not active yet. 2017-03-18 19:35:26 +01:00
Christoph Oelckers 745b96beec - made the status screen a class and scriptified a few more functions. 2017-03-18 15:45:36 +01:00
Christoph Oelckers b416322032 - converted FInterBackground into a class so that the scripts can use it.
- fixed some issues with default value matching in savegames.
2017-03-18 13:25:22 +01:00
Christoph Oelckers 1e9ef2b1df - started scriptifying the level intermission screen. This compiles but is not active yet.
- allow treatment as one-character string constants as character constants. This became necessary because name constants already use single quotes and are much harder to repurpose due to a higher degree of ambiguity.
- fixed: protected methods in structs were not usable.
2017-03-18 12:18:15 +01:00
Christoph Oelckers 245a9ef80c - fixed MenuItemBase.OnMenuCreated was not declared virtual. 2017-03-16 21:34:03 +01:00
Christoph Oelckers 005e6871f9 - increased the snd_channels default and minimum.
The values were still 8 and 32 respectively which applied to hardware from last decade, but for modern mods these are simply too low. New values are 64 as minimum and 128 as default.

- added script access to a sector's colormap and specialcolors fields. (Writing only through dedicated functions because these fields are render state which may need to trigger some form of refresh if the renderer changes.)
2017-03-16 10:38:56 +01:00
Christoph Oelckers d0c77d7264 - added a GetRenderStyle function to Actor, so that the internal render style can be retrieved in a format suitable for scripting. 2017-03-15 10:36:41 +01:00
Christoph Oelckers 64bdc8c495 - fixed some incomplete checks for static arrays.
- made AActor::OkaytoSwitchTarget scripted virtual.
2017-03-15 01:39:59 +01:00
Christoph Oelckers 44a087554f - moved the OpenGL fog properties to FLevelLocals to simplify their handling.
- added access to the glow properties for ZSCript and ACS.
2017-03-14 13:54:24 +01:00
Christoph Oelckers f70d0a6ced - added a setinv cheat CCMD. 2017-03-14 11:44:21 +01:00
Christoph Oelckers 6db355a947 - added a callback to menu items for when a new menu gets created.
- added a StartSlideshow ACS and ZScript command and extended the functionality to specify the slideshow's name when starting it.

This is for triggering any kind of intermission definition in the middle of a level - keep in mind that this may not be set up to loop!
2017-03-14 10:41:13 +01:00
Christoph Oelckers e7a677ef61 - fixed bad menu size calculation, this was particularly visible in Hexen's skill menu. 2017-03-13 23:02:59 +01:00
Christoph Oelckers cd392e50e9 - added a dummy struct named '_' to define global variables. This can only be used internally.
This method was chosen because it avoids adding variable declarations to the global namespace which would have required a lot more work while polluting the grammar.
This way the global variables can be handled by a small bit of special coding in the struct generator.
2017-03-13 14:42:14 +01:00
Christoph Oelckers 5fd86cf98c - added some syntactic help to the ZScript parser to allow defining the arrays with native structs on the script side instead of having to define them internally. 2017-03-13 12:51:09 +01:00
Christoph Oelckers 2533ff3ffc - fixed: ListMenuItemStaticText used the wrong default color. 2017-03-13 09:30:33 +01:00