Commit graph

12024 commits

Author SHA1 Message Date
Magnus Norddahl
b80bf6930a - Translucent 3d floor plane support 2017-09-02 02:51:09 +02:00
Magnus Norddahl
393373a661 - Clean up plane rendering code slightly 2017-09-02 02:12:29 +02:00
Magnus Norddahl
fbaa3e7cb0 - Removed unused cull function argument 2017-09-02 01:34:36 +02:00
Magnus Norddahl
e851734b33 - Added translucent 3d floor walls support 2017-09-02 01:24:57 +02:00
Magnus Norddahl
b3916c1d01 - Add FF_UPPERTEXTURE and FF_LOWERTEXTURE support to softpoly 2017-09-02 00:35:48 +02:00
alexey.lysiuk
122f5d9515 Fixed crash caused by script number collision of ACS typed scripts
Wrong typed script can be picked when the same ACS script number is used for different script types from multiple behavior lumps
Although script in particular state is discarded and null pointer could be dereferenced
https://forum.zdoom.org/viewtopic.php?t=57718
2017-08-31 11:40:16 +03:00
alexey.lysiuk
ca55d8993f Added Actor.A_SoundVolume(int slot, double volume) function to ZScript
https://forum.zdoom.org/viewtopic.php?t=57594
2017-08-31 09:45:09 +03:00
Magnus Norddahl
77faab5a75 - Fixed overflow for precise blend mode 2017-08-29 19:25:05 +02:00
alexey.lysiuk
20d7c01fc8 Fixed Infinity and NaN floating point values formatting as string
https://forum.zdoom.org/viewtopic.php?t=57706
2017-08-29 11:39:50 +03:00
nashmuhandes
541fac8c6b Cleaned up and shorted the code for R_SetFOV. 2017-08-28 21:14:11 -04:00
nashmuhandes
30966ef951 Use a fallback FOV for the R_SetFOV call. 2017-08-28 21:14:11 -04:00
nashmuhandes
42db31b816 Added per-actor camera FOV. 2017-08-28 21:14:11 -04:00
Magnus Norddahl
27dfebdb7d - Fix plane light levels used when a sector has a lightlist 2017-08-29 01:22:10 +02:00
Magnus Norddahl
293f62fcd2 - Striped wall (lightlist) support
- Add two extra clipping planes to poly backend
- Make ShadedTriVertex internal to drawer backend
2017-08-27 23:26:54 +02:00
Magnus Norddahl
8c146e4e71 - Transfer light support 2017-08-27 17:27:49 +02:00
Magnus Norddahl
45388d8a31 - Clip decals to the wall part 2017-08-27 17:18:39 +02:00
Christoph Oelckers
948e50e458 - fixed: The struct field compiler did not check for forward declared type references that hadn't been resolved yet. 2017-08-27 12:31:47 +02:00
Christoph Oelckers
485c4c71b5 - fixed: When stepping through a sector portal and touching a two sided line on the opposite side, its opening must be used, regardless of the FFCF_NOFLOOR flag. 2017-08-27 10:36:34 +02:00
Christoph Oelckers
e424ef63f2 - fixed: Sprites drawn in the opaque pass still need to set their texture mode so that they can be drawn with STYLE_Stencil. 2017-08-27 09:58:25 +02:00
Christoph Oelckers
ca47b138be - fixed missing check for bad IWADs. 2017-08-27 09:57:37 +02:00
Christoph Oelckers
2e670ae71d - fixed: When offsetting the projectile for testing, P_CheckMissileSpawn must also reset the projectile's sector to its new location.
If this isn't done the portal checks may fail and create incorrect positioning info.
2017-08-27 09:16:04 +02:00
Mike Swanson
1bc8fe7312 Add GOG path for Doom 3: BFG Edition 2017-08-26 09:01:02 +02:00
alexey.lysiuk
fae52d398b Properly handle VM abort exception when occurred in menu
https://forum.zdoom.org/viewtopic.php?t=57677
2017-08-25 15:36:06 +03:00
alexey.lysiuk
7b98fdb910 Added ToInt() and ToDouble() functions to ZScript string
https://forum.zdoom.org/viewtopic.php?t=57678
2017-08-25 15:09:18 +03:00
Magnus Norddahl
b9dc06a4c8 - Fix crash in legacy and deferred light paths 2017-08-21 18:42:07 +02:00
alexey.lysiuk
2375823055 Adapted Cocoa IWAD picker to recent changes in IWAD loading 2017-08-20 12:35:40 +03:00
Christoph Oelckers
cc3e36cfdc - reinstate '.wad' default extension for -iwad parameter. 2017-08-20 10:50:19 +02:00
Christoph Oelckers
2e845584c3 - removed the Linux specific handling for adding upper- and lowercase variants of the IWAD names to the list. Since the new code is doing case insensitive comparisons with a directory scan this is no longer needed to find the files. 2017-08-20 09:37:13 +02:00
Christoph Oelckers
62cbddb7d2 - fixed comparison with previously loaded IWAD. There still was an unnecessary call to ExtractFileBase in there which mangled the name. 2017-08-20 09:28:36 +02:00
alexey.lysiuk
cafd1ca26e Fixed compilation of non-Windows targets 2017-08-20 09:50:51 +03:00
Christoph Oelckers
a6d09596cf - this shouldn't have gotten reverted. 2017-08-20 08:03:48 +02:00
Christoph Oelckers
9878477612 Revert "- fix linux compile"
This reverts commit b8c0e78c91 et al.

Instead, use the already provided access function I_FindName to get the file name from findstate_t.
Also made the contents of findstate_t private so that use of the access functions is required to retrieve the information and direct access triggers a compile error.
2017-08-20 08:01:41 +02:00
Rachael Alexanderson
1ee3239f9e - fixed compile on Clang 2017-08-19 22:57:48 -04:00
Rachael Alexanderson
b7d26b3fa1 - fixed Linux IWAD search thanks to a suggestion by Chris on the forum. Moved the search macros to i_system.h for both platforms. Neither are compatible with the other. This can be improved upon later, but for now, at least the major compile issue is fixed. 2017-08-19 22:10:45 -04:00
raa-eruanna
b8c0e78c91 - fix linux compile 2017-08-19 17:32:10 -04:00
Christoph Oelckers
f3d31e055f - print the version at the start of the log. 2017-08-19 20:13:12 +02:00
Christoph Oelckers
cdff5bdc08 - rewrite of the IWAD loading mechanism.
The old code went through a list of predefined file names and looked each of them up in a list of predefined directories until it found a match. This made it nearly impossible to add custom IWAD support because the list of valid file names could not be extended.
This has now been switched around to run a scan for matching files on each given directory. With this approach it can look for *.iwad and *.ipk3 as IWAD extensions as well and read an IWADINFO out of these files that can be added to the internal list of IWADs, making it finally possible to define custom IWADs without having to add them to the internal list.

(This isn't fully tested yet so some errors may still occur.)
2017-08-19 19:30:48 +02:00
Magnus Norddahl
2f5535dbca - Fix HOM for Line_Horizon specials when used with a skybox 2017-08-19 14:32:34 +02:00
Rachael Alexanderson
45d5eac6ad - fix last commit - somehow it pushed an old version of the fix (yet again?...) - this is the proper fix. 2017-08-19 06:03:26 -04:00
Rachael Alexanderson
dae83f989b - fixed: changing 'uiscale' did not always update the screen size properly. 2017-08-19 05:58:04 -04:00
alexey.lysiuk
69e7bb57d4 Fixed VM abort with null activator for SecretTrigger object
https://forum.zdoom.org/viewtopic.php?t=57612
2017-08-19 11:19:29 +03:00
alexey.lysiuk
ec42e30614 Fixed compilation warning reported by Clang
src/polyrenderer/scene/poly_wall.cpp:166:15: warning: '&&' within '||' [-Wlogical-op-parentheses]
2017-08-19 11:18:52 +03:00
Rachael Alexanderson
1cddd1efaf - RFF_UNCLIPPEDTEX is no longer supported in SoftPoly. 2017-08-18 23:04:11 -04:00
Magnus Norddahl
05ca52d693 - Fix texture coordinates for 3d floor walls 2017-08-19 00:53:41 +02:00
Rachael Alexanderson
b8ab626609 - add sloped 3D floor support to the poly renderer's GetCaps() 2017-08-18 18:33:19 -04:00
Rachael Alexanderson
8a7090b4b7 Revert "- In software rendering, lights now check if they are too far above or below a certain plane before rendering. An example of this is in unloved.pk3 where in map02, some lights are above the ceiling."
- fixed accidental QZDoom rename

This reverts commit eb425f206a.
2017-08-18 18:19:39 -04:00
Rachael Alexanderson
eb425f206a - In software rendering, lights now check if they are too far above or below a certain plane before rendering. An example of this is in unloved.pk3 where in map02, some lights are above the ceiling. 2017-08-18 18:14:43 -04:00
Magnus Norddahl
dd6e0b63f2 - Fix typo in pal drawers that caused rendering errors for non-64x64 flats 2017-08-18 21:12:44 +02:00
Magnus Norddahl
c144eefdad - Draw sloped 3d floors 2017-08-18 20:19:17 +02:00
alexey.lysiuk
54abe5f5d4 Fixed handling of default arguments in Actor.GiveSecret() 2017-08-18 11:22:18 +03:00
Magnus Norddahl
8034793193 - Wrap midtex support 2017-08-17 23:14:02 +02:00
Magnus Norddahl
c2fa360bbc - Improve 3d floor and underwater rendering 2017-08-17 22:34:23 +02:00
Magnus Norddahl
7993ad987c - Fix texture coordinates for lines split into multiple segments in softpoly 2017-08-17 20:54:44 +02:00
Magnus Norddahl
3cf5fb45ae - Add camera extra light to flats 2017-08-17 00:28:58 +02:00
Magnus Norddahl
122c56f005 - Add fog boundary support to softpoly 2017-08-17 00:10:43 +02:00
David Carlier
8d8c353465 Attempty to free memory leaks. 2017-08-16 16:31:23 -04:00
Magnus Norddahl
fbd381988b - Fix wall UV scaling and offsetting bugs in softpoly 2017-08-16 22:26:05 +02:00
Magnus Norddahl
c3562fead2 Merge branch 'dynlightmodels' 2017-08-15 00:27:26 +02:00
alexey.lysiuk
c7d28b0a24 Fixed incorrect damage flags' checks for A_Kill...() functions
Only GCC 7 reported this as a warning but only for one occurrence:
src/p_actionfunctions.cpp:5909:22: warning: enum constant in boolean context [-Wint-in-bool-context]
2017-08-13 17:48:49 +03:00
alexey.lysiuk
d645e55545 Unified suppression of format warnings for GCC and Clang
This disables the following compilation warning reported by Clang:
src/p_3dfloors.cpp:1002:24: warning: format specifies type 'char *' but the argument has type 'int' [-Wformat]
2017-08-13 17:39:15 +03:00
alexey.lysiuk
eb52088487 Fixed compilation warnings reported by Clang
src/gl/scene/gl_sprite.cpp:685:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/polyrenderer/scene/poly_sprite.cpp:297:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/swrenderer/scene/r_opaque_pass.cpp:975:35: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/sound/mididevices/music_timiditypp_mididevice.cpp:548:30: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-08-13 16:42:08 +03:00
alexey.lysiuk
b077518c89 Fixed crash when morph item is used from ACS
https://forum.zdoom.org/viewtopic.php?t=57571
2017-08-13 16:15:31 +03:00
alexey.lysiuk
4afface97c Fixed camera rotation from FraggleScript
https://forum.zdoom.org/viewtopic.php?t=57559
2017-08-13 12:22:48 +03:00
Magnus Norddahl
6d6c25bb26 - Add sprite adjustment to softpoly 2017-08-13 01:10:33 +02:00
Magnus Norddahl
bf38fd57b0 - Replace subsector gbuffer in softpoly with a zbuffer 2017-08-12 15:16:31 +02:00
Christoph Oelckers
4483d665d4 - fixed: FastProjectile's movement code was missong a portal check. 2017-08-12 13:58:16 +02:00
alexey.lysiuk
89980d9e77 Fixed linking with GCC and Clang toolchains 2017-08-12 14:41:23 +03:00
Christoph Oelckers
ba9cf02385 - added a user reserved range of statnums from 70-90 2017-08-12 13:08:11 +02:00
Christoph Oelckers
f52e767b51 - fixed: a destination-less line portal should be ignored by the sight checking code. 2017-08-12 12:51:45 +02:00
Christoph Oelckers
4261a0c592 - print a warning if a decal definition cannot find an animator.
This is important because DECALDEF cannot tentatively find animators declared after the decal.
2017-08-12 12:30:42 +02:00
Christoph Oelckers
aa8424982c - fixed: The color for untranslated font was missing its alpha channel. 2017-08-12 12:04:40 +02:00
Christoph Oelckers
163b10286f - Reset interpolation coordinates for all actors before the current thinking turn instead of at the start of each actor's own Tick function so that indirect actor movement gets properly interpolated. 2017-08-12 11:48:36 +02:00
Christoph Oelckers
c1de32896c - addressed incorrect ACS printbold implementation: For native Hexen maps it will now be correct, but all others will have to set a flag in MAPINFO's 'gameinfo' section to avoid problems with numerous ZDoom maps depending on the incorrect implementation. 2017-08-12 10:20:34 +02:00
Christoph Oelckers
b4fa95ab15 - handle state label resolution in a non-actor cpntext more gracefully.
Note that this is merely a hotfix. Properly handling this to allow universal use of state scopes will require more work in cases where a scoped state is being accessed through a non-self pointer.
2017-08-12 10:04:06 +02:00
Christoph Oelckers
0db79f8dec - removed tag 0 check for 3D floors because as seems to be par for course in Doom modding, some people actually exploited this bug. 2017-08-12 09:15:59 +02:00
alexey.lysiuk
ef9c3b4f54 Fixed unset inflictor in WorldThingDamaged event
https://forum.zdoom.org/viewtopic.php?t=57527
2017-08-09 16:16:33 +03:00
alexey.lysiuk
33beca6e6f Exposed ToLower() and ToUpper() string functions to ZScript
https://forum.zdoom.org/viewtopic.php?t=57515
2017-08-07 15:24:18 +03:00
raa-eruanna
507122b778 - put in actorinlines include as suggested by dpjudas here, to fix compile: https://forum.zdoom.org/viewtopic.php?f=2&t=57484 2017-08-04 09:13:20 -04:00
Magnus Norddahl
801fbddd47 - Fix gcc compile error
- Fix weapon null pointer crash
2017-08-02 01:41:48 +02:00
Magnus Norddahl
aaa00cbcb9 - Include all lights touching a model actor's render radius 2017-08-01 00:43:58 +02:00
Magnus Norddahl
04be9fe6f2 - Remove test code committed by accident 2017-07-31 20:09:45 +02:00
Rachael Alexanderson
8dff91915a - remove vestigial version.h include from r_portal.cpp. This should stop r_all.o from compiling every single commit. 2017-07-31 11:12:08 -04:00
Kevin Caccamo
7ff0040f30 Add a null pointer at the end of TimidityArgs
This actually got the execvp call working consistently for me; now I can listen to MIDI music in GZDoom again.
2017-07-31 11:05:28 -04:00
Kevin Caccamo
a4370a3529 Null-terminate strings 2017-07-31 11:05:28 -04:00
Kevin Caccamo
ff35620a09 Fix freeze when timidity_exe is not set to timidity's absolute path 2017-07-31 11:05:28 -04:00
Kevin Caccamo
18e76c978c Fix code style, and make some minor changes
Assume timidity is in the user's PATH if not the specified location
Also, get the error message for the execvp failure if it does fail
2017-07-31 11:05:28 -04:00
Kevin Caccamo
233fce7ef6 Initial attempt to make timidity work on Linux again
Add code to find the timidity executable, and split the command line into separate arguments by spaces.
For some reason, this doesn't work, although reverting 64e96c5f makes timidity work again.
2017-07-31 11:05:28 -04:00
Christoph Oelckers
49b77f3a17 - added per-level exit texts independent of the current cluster.
This is mainly to support UMAPINFO which does not have clusters but has been extended to define separate exit texts for each target map that can be reached from a given map.
Special names 'normal' and 'secret' can be used to define texts specific to the default exits.

New MAPINFO properties:

* exittext = mapname, "text"...
* textmusic = mapname, "musicname", order
* textflat = mapname, flatname
* textpic = mapname, picname

textflat and textpic are like 'flat' and 'pic' for clusters, one defines a tiled background, the other a fullscreen image.
Setting an empty exittext will disable a cluster-based text screen that may apply to the given map.
2017-07-30 22:50:27 +02:00
Rachael Alexanderson
c07a4461a0 - fixed: GetCaps() did not account for r_drawvoxels cvar 2017-07-30 10:45:05 -04:00
Magnus Norddahl
d5733f515c - Support binding textures for custom PP shaders 2017-07-30 13:59:25 +02:00
alexey.lysiuk
6a5bad0beb Added developer message about unknown GAMEINFO entry 2017-07-30 12:26:18 +03:00
Rachael Alexanderson
b6c15b997a - added 'r_debug_disable_vis_filter' cvar for debug purposes, to show all objects regardless of their actor filter fields. 2017-07-29 17:03:43 -04:00
Rachael Alexanderson
1bfc2faa49 - added 'r_showcaps' command which serves as a documentation for available flags and shows what flags are in use by the current rendering settings 2017-07-29 17:03:43 -04:00
Rachael Alexanderson
91ff447a90 - fixed compile from last commit
- refactored the zscript hookup a bit, made it actually work
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
712d21e26a - implement per-renderer sprite hiding based on the actor's render feature flags
- hook the thing up to zscript (does not currently compile)
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
8bb5687159 - Implemented GetCaps() for the software renderer
- fixed: Forgot to describe Brightmap capability in the GL Renderer
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
9a9fe7c133 - implemented GetCaps() for OpenGL
- renamed RFF_FRAGMENTSHADER to RFF_MATSHADER
- D_Display now calls Renderer->GetCaps() and stores it in a global variable for later use.
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
64deba45a3 - added another render filter 2017-07-29 17:03:43 -04:00
Rachael Alexanderson
80bb1d908a - basic groundwork for render feature visibility flags. I haven't gotten very far with it yet, but since I am taking a break I am going to commit what I have and continue it later.
todo:
* call a render class function in D_Main that enumerates the capabilities of the current renderer into a global variable to be accessed later
* add a debug-specific cvar to always show all actors, regardless of these filters
* put in checks in the renderer themselves that check both flagsets and reject rendering of any sprite/model that does not fit the definition's criteria
2017-07-29 17:03:43 -04:00
raa-eruanna
0df2779004 - fixed mac compile(hopefully?) 2017-07-29 17:03:18 -04:00