Commit graph

986 commits

Author SHA1 Message Date
alexey.lysiuk
0e706bfecf Use tmpfileplus() instead of tempnam()
Finally get rid of security or deprecated warnings cause by tempnam() function usage
2017-11-07 11:50:07 +02:00
Rachael Alexanderson
2fd5d0da54 - improve speed for ARMv7 processors by specifying hardware float calculations, and tuning it specifically for the Cortex-a7 CPU (for Raspberry Pi 2). 2017-10-25 09:31:55 -04:00
alexey.lysiuk
557958577b Removed all code needed to support macOS earlier than 10.7 Lion 2017-10-07 15:11:30 +03:00
Rachael Alexanderson
f71a6e249d - remove unsafe math operations for armv8 2017-09-07 15:56:00 -04:00
Magnus Norddahl
7a1274ab76 - Collect all PVS information first so that processing the individual sectors can be done on multiple threads 2017-09-07 00:34:09 +02:00
Rachael Alexanderson
30087f7cd7 - cleaned up the video scale mode code a bit, in order to increase future flexibility. 2017-07-27 03:05:01 -04:00
Rachael Alexanderson
c1e3f10802 Merge https://github.com/coelckers/gzdoom 2017-07-15 00:24:25 -04:00
alexey.lysiuk
970adff5e7 Use multiple threads for xBRZ upscaling
Implementation relies on Concurrency Runtime, Grand Central Dispatch aka libdispatch or OpenMP depending on their availability
2017-07-14 16:01:38 +03:00
Magnus Norddahl
c38d0c1637 Merge branch 'line_distance_cull' into qzdoom
# Conflicts:
#	src/swrenderer/scene/r_opaque_pass.cpp
2017-07-12 07:11:43 +02:00
Magnus Norddahl
7d1de667be - Added r_line_distance_cull cvar that culls lines beyond the specified distance 2017-07-12 06:56:34 +02:00
Rachael Alexanderson
d2c8a5c33d Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom"
This reverts commit 65bb8a5185, reversing
changes made to 619281de64.
2017-07-10 11:29:58 -04:00
Rachael Alexanderson
26355ece82 Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom"
This reverts commit 035c036eb2, reversing
changes made to 61660bf147.
2017-07-10 11:29:30 -04:00
Rachael Alexanderson
8c0706e56f Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom"
This reverts commit 56806e3243, reversing
changes made to e1a2de4989.
2017-07-10 11:26:41 -04:00
Rachael Alexanderson
04b1163188 Revert "Add a comment"
This reverts commit d2f4dd41f8.
2017-07-10 11:25:38 -04:00
Magnus Norddahl
69a3d10cb6 Merge branch 'custom_postprocess' into qzdoom
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
2017-07-06 05:41:16 +02:00
Magnus Norddahl
8a0e801cb5 - Move custom postprocess shader to its own file 2017-07-06 05:36:01 +02:00
Rachael Alexanderson
d454fafc9e Merge https://github.com/coelckers/gzdoom 2017-06-19 03:22:23 -04:00
Christoph Oelckers
a1694a79c6 - removed the FGLBitmap class and replaced all uses with the regular FBitmap.
The only reason this ever existed is that the GL renderer used RGBA instead of BGRA but there's no reason why this is even necessary.
2017-06-18 09:14:33 +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
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
Christopher Bruns
d2f4dd41f8 Add a comment 2017-06-01 01:02:46 -04:00
Rachael Alexanderson
56806e3243 Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom 2017-05-30 14:59:24 -04:00
Christopher Bruns
857c183e5f Default to statically linking OpenVR API directly from the public API source files. 2017-05-30 13:59:14 -04:00
Rachael Alexanderson
04e6551bbd Merge https://github.com/coelckers/gzdoom 2017-05-29 12:59:14 -04:00
alexey.lysiuk
3b61be3145 Removed dependency on dxguid library
It's impossible to use VS2017 with XP compatible toolset otherwise
2017-05-29 14:46:56 +03:00
Christopher Bruns
9db4dfd963 Link to platform specific openvr library, and install it, and update license headers. 2017-05-28 10:28:07 -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
alexey.lysiuk
27384fc70d Do not create symlink to executable on macOS too
This link in build directory pointed to non-existing file since we started to create application bundle with CMake
2017-05-13 17:01:24 +03:00
alexey.lysiuk
3ab4a2238e Removed some remains of sound system MIDI device 2017-05-13 16:45:02 +03:00
alexey.lysiuk
a8e379553e Copy default soundfont in post build step 2017-05-13 15:49:23 +03:00
svdijk
fd8613a11e CMake: Fix building on 32-bit Linux (Core 2 Duo) again. 2017-05-09 20:48:48 +02:00
svdijk
4c803b6615 CMake: Fix building on 32-bit Linux (Core 2 Duo). 2017-04-29 13:36:33 +02:00
Christoph Oelckers
9375edda11 - removed p_buildmap.cpp.
This code had been broken for years and inactive for several months. Since there is really little point fixing it it may just be removed entirely.
2017-04-25 12:40:08 +02:00
alexey.lysiuk
1c6cc3e28f Proper detection of Intel 64-bit architecture
Size of pointer check was not enough
2017-04-23 14:49:36 +03:00
alexey.lysiuk
680d1b2dd6 Moved all CMake modules and launcher templates to designated directory
Let's not pollute root directory with various files
2017-04-23 14:49:36 +03:00
Christoph Oelckers
7405f541e8 - allow dynamic loading of all sound related libraries without providing any SDK at all.
The needed headers are now included in the repo, which for these libraries is possible thanks to a stable ABI (at least on Windows, the other platforms still need to be checked but the headers only add, never remove or change existing content.)
The big advantage of this setup is that it allows building the project on Windows without any necessary setup - all that needs to be provided is the DLLs from the binary package.
This still requires some fixes for macOS and Linux. On MacOS the proper library names are missing and the ones for Linux are not verified. Both platforms should work, though, if the dynamic loading is disabled.
2017-04-17 17:05:09 +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
ba5721f98a - rewrote the OPL middle layer to remove the MusLib code.
The new version keeps the non-MusLib code of both files and replaces most of the rest with code from Chocolate Doom.
2017-04-17 00:39:03 +02:00
alexey.lysiuk
fd07b56ae9 Fixed link error for MSVC x64 build with modern Windows SDK
win32video.obj : error LNK2001: unresolved external symbol IID_IDirectDraw2
2017-04-14 16:13:51 +03:00
Christoph Oelckers
6599e2c425 - moved the VM types into their own file and only include it where really needed. 2017-04-13 01:12:04 +02:00
Christoph Oelckers
dfd3535e02 - added a dedicated player class for streamed music formats (i.e. MP3, Ogg and Flac)
The idea is to have more control on the game side instead of dealing with these formats in the backend, which was done for FMod because it already had the decoders implemented.
However, with OpenAL this setup makes no sense and only complicates future extensions that can be better handled at a higher level.
2017-04-01 19:47:12 +02:00
Christoph Oelckers
bc95e5180d - moved the BarShader textures into the texture manager so that ZScript can use them. ZScript only knows about TextureIDs, but those require the texture to be handled by the texture manager. 2017-03-27 01:55:47 +02:00
Magnus Norddahl
a12f0862c9 - remove softpoly intersection math class 2017-03-26 17:12:20 +02:00
Rachael Alexanderson
2d035a39b4 - fixed: Pushed -DNO_SSE for ARM processors unconditionally. We don't support SSE whatsoever on ARM so all code should always be aware of it. 2017-03-25 01:15:24 -04: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
Magnus Norddahl
d437b342db - replaced the softpoly drawers with templated versions 2017-03-21 14:12:19 +01:00
Magnus Norddahl
11e5759913 - detached the poly renderer from the software renderer 2017-03-20 08:28:16 +01:00
Christoph Oelckers
c9296ead57 - moved the skybox texture files to the main textures directory. 2017-03-17 21:12:09 +01:00
Christoph Oelckers
921bc763fb - separated the software-renderer-specific parts of colormap processing from the common parts.
- moved testcolor and test fades into SWRenderer files.

These CCMDs work by hacking the default colormap and were never implemented for hardware rendering because they require many checks throughout the code.
2017-03-15 22:04:59 +01:00
Christoph Oelckers
438b983ab1 - inlined the 4 remaining short functions of the Plane class and removed gl_geometric.cpp.
# Conflicts:
#	src/CMakeLists.txt

# Conflicts:
#	src/CMakeLists.txt
2017-03-12 20:11:57 +01:00
Christoph Oelckers
ef3421eee5 - moved dynamic lights out of the GL code into the common game code.
Since the true color software renderer also handles them there is no point keeping them on the GL side.
This also optimized how they are stored, because we no longer need to be aware of a base engine which doesn't have them.
2017-03-12 19:57:06 +01:00
Christoph Oelckers
9eae422dab Merge branch 'shadowmaps' of https://github.com/raa-eruanna/qzdoom into 3.0_work
# Conflicts:
#	src/CMakeLists.txt
#	wadsrc/static/language.enu
2017-03-11 19:55:43 +01:00
Christoph Oelckers
daacaa961e - removed Windows includes from two more files. 2017-03-10 23:30:30 +01:00
Christoph Oelckers
5eb9587135 - moved the various music format files into their own directory. 2017-03-10 22:26:02 +01:00
Christoph Oelckers
5cc525cd54 - renamed Timidity++ device source file for consistency. 2017-03-10 21:34:42 +01:00
Christoph Oelckers
c8bfef039a - removed dependency on windows.h for music_fluidsynth_mididevice.cpp. It just accesses a single function from Windows so let's manually define this so that this file can use precompiled headers.
- enable precompiled headers for all non-system-specific MIDI devices.
- moved the native Windows and Mac MIDI devices into their respective sections in the project file so that they won't get compiled on the other ones.
2017-03-10 21:18:15 +01:00
Christoph Oelckers
0b645dc42d - reorganized sound related code. 2017-03-10 20:53:03 +01:00
Christoph Oelckers
8d6fe24945 cleanup of MIDI code dependencies
* make the critical section local to the respective platform instead of polluting everything with system specific symbols.
* moved system specific class declarations into the source file instead of having them in the global header.

This commit temporarily disables the Windows system device because it cannot be done without polluting the global header and still needs a bit of refactoring.
2017-03-10 19:08:36 +01:00
Rachael Alexanderson
7dc70b636f - enable multiprocessor compilation with MSVC++ using /MP for MSBuild
- Target NEON processors for ARM.
2017-03-10 00:49:26 +01:00
Christoph Oelckers
4de0f8b1fa - compile both poly and sw renderer as one unit, because due to the includes this gets really slow otherwise. Lumping these together saves 50 seconds per build on my system with a 3.4 GHz Core i7 and an SSD for storage, so on other systems it may be even more. 2017-03-10 00:43:36 +01:00
Christoph Oelckers
1c81c40c59 - moved several files for which fastmath is mostly irrelevant into the PCH group.
Because reducing compile time is more important than some microscopic performance gain in non-time-critical code.
2017-03-09 20:56:33 +01:00
Christoph Oelckers
cc1241a4b8 Merge branch 'make-qzdoom-gzdoom-again' of https://github.com/raa-eruanna/qzdoom into 3.0_work
# Conflicts:
#	src/win32/win32gliface.h
#	src/win32/win32iface.h

This compiles but no guarantees otherwise.
2017-03-09 19:09:13 +01:00
Rachael Alexanderson
cc9a2e5121 Merge https://github.com/coelckers/gzdoom 2017-03-08 21:25:24 -05:00
Christoph Oelckers
ba0f5a3f94 - most WORD and SWORD are gone. 2017-03-08 18:55:55 +01:00
alexey.lysiuk
3a0e29dab9 Added missing linker options for native MIDI support on macOS
Continuous integration is a cool thing: I completely forgot about addition of these frameworks because of my build environment which relies on static libraries and custom command line options
2017-03-08 16:11:04 +02:00
Magnus Norddahl
d09c3ad305 Move all GPU handling to gl_shadowmap and rename gl_lightbsp to gl_aabbtree 2017-03-08 13:31:19 +01:00
alexey.lysiuk
de9c9221fe Added AudioToolbox MIDI device for macOS
This device is the default one for OpenAL backend on Apple's platform
2017-03-08 11:23:36 +02:00
Rachael Alexanderson
effe8a1e80 Revert "- started adding ARM support. incomplete. won't compile. don't try."
This reverts commit be8abba344.
2017-03-05 13:07:25 -05:00
Rachael Alexanderson
be8abba344 - started adding ARM support. incomplete. won't compile. don't try. 2017-03-04 16:50:42 -05:00
Rachael Alexanderson
b8b5360de1 Merge https://github.com/coelckers/gzdoom 2017-03-04 07:28:02 -05:00
Christoph Oelckers
fd4727e701 - did a bit of cleanup.
- disabled the runtime check in OP_CALL because as implemented it doesn't clean up properly and is not fully implemented.
2017-03-04 10:28:51 +01:00
Magnus Norddahl
7a4b01471d Add class updating and managing the shadow map texture 2017-03-02 16:19:06 +01:00
Magnus Norddahl
6363c6cf58 Add a shadowmap shader 2017-03-02 16:19:06 +01:00
Magnus Norddahl
58c7c3c902 Upload BSP tree to the GPU 2017-03-02 16:19:06 +01:00
Rachael Alexanderson
7a5df2bc28 Merge commit 'b0eb19b' 2017-02-26 13:41:02 -05:00
Christoph Oelckers
90b8dbb096 - removed the separate SSE2 version of the node builder's ClassifyLine function and all code associated with it.
Like everything else related to doing standard math with SSE2 vs. x87, there's nothing to be gained here with anything but first generation SSE2 systems which are irrelevant these days.

Taking 'thespir2.wad' from https://forum.zdoom.org/viewtopic.php?f=1&t=10655 the SSE2 version is reproducably ~3% slower than the x87 version on my Core i7, which quite closely mirrors all my previous tests since 2007.
Overall this just looks like an optimization not worth doing.
2017-02-26 12:47:16 +01:00
Magnus Norddahl
735157aea4 Bump minimum architecture to SSE 2 on the x86 platform (a Pentium 4 from 2001!) 2017-02-25 01:22:54 +01:00
Magnus Norddahl
56045c1293 Remove r_drawers.h and move softpoly drawer related stuff out of the swrenderer 2017-02-23 09:02:13 +01:00
Magnus Norddahl
ad507ca246 Removed drawergen tool and all LLVM dependencies (don't let the door hit you on your way out, llvm!) 2017-02-23 08:28:18 +01:00
Magnus Norddahl
42a7dbe33a Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/v_video.cpp
2017-02-19 03:49:13 +01:00
Magnus Norddahl
dfcfd0462f Hook up sprite php drawers (but disable them for now as they don't fully work yet) 2017-02-19 01:23:16 +01:00
Christoph Oelckers
2440951811 -scriptified the ReadThis screen. 2017-02-19 00:08:30 +01:00
Christoph Oelckers
de1e7661eb - removed all native remnants of TextEnterMenu. 2017-02-18 21:25:19 +01:00
Christoph Oelckers
1b4c9e13b8 - cleaned out some cruft from the menu code, now that ListMenu is fully scripted. 2017-02-18 19:11:53 +01:00
Rachael Alexanderson
80f762f8a4 Merge https://github.com/coelckers/gzdoom 2017-02-16 20:40:07 -05:00
Christoph Oelckers
1d52037779 - skip the Direct3D setup if building with a non-XP toolset on Visual Studio. 2017-02-16 21:01:52 +01:00
Christoph Oelckers
36e5bab657 - removed the fixed search path for FMod on drive E: because this can cause problems with automated builds on unknown systems.
This should never have been set up like this.
2017-02-16 19:45:03 +01:00
Rachael Alexanderson
2b8db72cef Merge commit '2234d36c7ac531fd802803216f747f82b58be8c2'
# Conflicts:
#	src/r_main.cpp
#	src/r_plane.cpp
#	src/r_things.cpp
2017-02-15 05:42:57 -05:00
Christoph Oelckers
2234d36c7a Merge branch 'thereisnospoon' of https://github.com/jewalky/gzdoom
# Conflicts:
#	src/dobject.h
2017-02-14 19:10:02 +01:00
Magnus Norddahl
9159e3b1f0 Move software canvas drawing to its own file in the software renderer 2017-02-13 17:32:52 +01:00
Rachael Alexanderson
8c176575c8 Merge https://github.com/coelckers/gzdoom 2017-02-12 21:39:20 -05:00
Christoph Oelckers
f0e925c5a7 - scripted color picker fully working. 2017-02-12 20:20:47 +01:00
Christoph Oelckers
bb6def820f - everything compiles and mostly works again. 2017-02-12 14:04:48 +01:00
Rachael Alexanderson
a52f79055d Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/menu/playerdisplay.cpp
2017-02-11 05:05:24 -05:00
Christoph Oelckers
65174af544 - moved the backdrop for the player box into the texture manager so that the menu doesn't have to bother with managing the texture itself. 2017-02-10 14:07:21 +01:00
Rachael Alexanderson
5948c7b0da Merge https://github.com/coelckers/gzdoom 2017-02-08 18:42:24 -05:00
Christoph Oelckers
18c532c307 - moved the compiler symbols into their own file.
- removed all pointer declarations to types from the symbols. All types must be placed into the type table which means that they can be considered static.
2017-02-08 13:17:25 +01:00
Christoph Oelckers
5a81a4ca16 - moved a few things around to have them into better fitting places. 2017-02-08 12:24:08 +01:00
Rachael Alexanderson
ebb8da563a Merge https://github.com/coelckers/gzdoom 2017-02-04 02:56:18 -05:00
Magnus Norddahl
627a388d57 Move renderer singletons into a RenderThread class 2017-02-04 00:25:37 +01:00
ZZYZX
6a0103a746 Merged p_setup conflict 2017-02-03 13:02:44 +02:00
Christoph Oelckers
1515ab8f4a - removed the long broken and obsolete PlayMovie code. 2017-02-02 23:21:21 +01:00
Magnus Norddahl
e90b73539e Move viewport drawing to its own folder 2017-02-02 15:10:06 +01:00
Magnus Norddahl
92bd752935 Move drawerargs globals into a class and make them local 2017-01-29 07:49:04 +01:00
Magnus Norddahl
29dcea49d7 Move RenderDrawSegment to its own file 2017-01-26 08:13:39 +01:00
ZZYZX
ce616f9c06 Added: prototype event system 2017-01-23 20:48:57 +02:00
Rachael Alexanderson
03226e5a0a Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_things.cpp
2017-01-23 00:17:25 -05:00
Christoph Oelckers
f720073b31 - removed all code that was only there to implement the broken Simplifier that just got removed. 2017-01-23 01:37:43 +01:00
alexey.lysiuk
33b69a27ae Restored HAVE_MMX definition in CMake 2017-01-22 11:14:48 +02:00
Rachael Alexanderson
53acc28f26 Merge https://github.com/coelckers/gzdoom 2017-01-21 17:47:18 -05:00
Christoph Oelckers
4dc1d117f2 - fixed: Without letting CMake find OpenGL, under Windows the library must be added manually to the project or linker errors will happen. 2017-01-21 11:50:53 +01:00
Edoardo Prezioso
da3da61b67 - Make OpenGL library link fully dynamic on Unix.
Also, remove all the OpenGL CMake checks, because they're not needed anymore.
2017-01-20 23:21:37 -05:00
Rachael Alexanderson
410a1aa24c Merge https://github.com/coelckers/gzdoom 2017-01-20 20:56:02 -05:00
Christoph Oelckers
355570198d - moved statusbar code to a separate directory before starting work on it. 2017-01-20 22:59:31 +01:00
alexey.lysiuk
0376c8ba24 Removed no longer present file from CMakeLists.txt 2017-01-19 10:08:00 +02:00
Magnus Norddahl
8af97cbbd3 Removed file was still present in CMakeLists.txt 2017-01-19 03:31:51 +01:00
Rachael Alexanderson
9333ce1888 Merge https://github.com/coelckers/gzdoom 2017-01-18 21:15:08 -05:00
Christoph Oelckers
1ce7b80158 - scriptified the rest of the weapon pieces. 2017-01-18 18:46:24 +01:00
Christoph Oelckers
d8acf774a6 - scriptified the remains of AKey.
- replaced Key.KeyNumber with special1. This is only for internal bookkeeping purposes so there's really no need to complicate this with a new variable when this one works just as well.
2017-01-18 15:17:12 +01:00
Rachael Alexanderson
590781d4a6 Merge https://github.com/coelckers/gzdoom 2017-01-18 05:19:34 -05:00
Christoph Oelckers
cfdd580044 - deleted a_artifacts files. 2017-01-18 10:44:51 +01:00
Magnus Norddahl
2848ca53dc Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_things.cpp
#	src/r_things.h
2017-01-16 23:05:34 +01:00
Braden Obrzut
ae7b95fc52 - There are more DYN options than just fluidsynth so unconditionally use CMAKE_DL_LIBS. 2017-01-16 02:19:03 -05:00
Magnus Norddahl
1c3440e391 Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_plane.cpp
#	src/r_plane.h
2017-01-16 06:03:21 +01:00
Christoph Oelckers
7503937a84 - scriptified PowerTargeter. 2017-01-15 19:44:43 +01:00
Christoph Oelckers
156f9c488e - added script variable access for native code so that many more classes can be fully exported. Tested with the puzzle items. 2017-01-15 18:16:36 +01:00
Christoph Oelckers
6dc1bb8475 - skriptified the skybox actors.
- fixed code generation for internal pointed arrays, they were missing a pointer dereference.
2017-01-14 18:04:49 +01:00
Christoph Oelckers
96777273c4 - scriptified ASoundSequence.
- exported virtual Actor.MarkPrecacheSounds function.
2017-01-14 14:37:29 +01:00
Christoph Oelckers
386c00f17e - scriptified ASoundEnvironment.
This also exposes the functionality as a member function of Sector for easier script access.
2017-01-14 11:43:08 +01:00
Rachael Alexanderson
d707f1c22e Merge https://github.com/coelckers/gzdoom 2017-01-14 00:38:26 -05:00
Christoph Oelckers
40e7fa5be2 - scriptified the RandomSpawner.
- fixed: String constants were not processed by the compiler backend.
- added an explicit name cast for class types.
2017-01-14 02:05:52 +01:00
Magnus Norddahl
1c4e0c6385 Merge remote-tracking branch 'gzdoom/master' into qzdoom 2017-01-14 01:56:18 +01:00
Christoph Oelckers
4be0767d7b - scriptified the moving camera. 2017-01-13 22:13:03 +01:00
Christoph Oelckers
51cc7feb4c - scriptified the particle fountains. 2017-01-13 19:29:54 +01:00
Rachael Alexanderson
2583c94444 Merge https://github.com/coelckers/gzdoom 2017-01-13 09:15:22 -05:00
Christoph Oelckers
d338ca3ec1 - scriptified the sector actions. 2017-01-13 13:51:47 +01:00
Magnus Norddahl
1d941c9839 Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_plane.cpp
#	src/win32/zdoom.rc
2017-01-13 13:21:10 +01:00
Christoph Oelckers
85a84b5e94 - scriptified FastProjectile. 2017-01-13 00:35:56 +01:00
Christoph Oelckers
3d73919092 - scriptified CustomBridge.OnDestroy. 2017-01-12 22:56:06 +01:00
Magnus Norddahl
80e1844d6c Split r_main into r_viewport, r_scene and r_light 2017-01-12 16:21:46 +01:00
Magnus Norddahl
c80860cd5d Split r_visibleplane into more files 2017-01-11 23:27:35 +01:00
Magnus Norddahl
3f8e5d26b8 Rename RenderBSP to RenderOpaquePass and RenderTranslucent to RenderTranslucentPass 2017-01-11 20:42:39 +01:00
Magnus Norddahl
6f1836b68b Move classes in r_visiblesprite to their own files 2017-01-11 19:50:07 +01:00
Magnus Norddahl
dce3a1c81c Move remaining parts of r_things into r_visiblesprite 2017-01-11 15:41:42 +01:00
Rachael Alexanderson
799d0d1091 Merge remote-tracking branch 'remotes/gzdoom/master' 2017-01-10 19:39:12 -05:00
Christoph Oelckers
de4153ceaf some groundwork for the implementation of dynamic arrays
- created script exports for all relevant functions with all integral types.
- created script side definitions for the underlying data types.
- added a void pointer type so that the prototype for the pointer array can use a generic type every pointer can be assigned to.
2017-01-11 00:57:31 +01:00
Rachael Alexanderson
05662e5c4d Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_bsp.cpp
#	src/r_plane.cpp
#	src/r_things.cpp
2017-01-09 09:51:06 -05:00
Magnus Norddahl
579199a246 Move R_DrawVisSprite to r_sprite and move R_DrawMaskedColumn to r_draw 2017-01-09 13:53:02 +01:00
Christoph Oelckers
5ec786eef7 - removed the 'dumpmap' CCMD because it was mostly broken anyway and would require a complete rewrite in UDMF to get back on track. 2017-01-08 11:52:35 +01:00
Rachael Alexanderson
de5f5a1221 Merge https://github.com/coelckers/gzdoom 2017-01-06 22:06:25 -05:00
Christoph Oelckers
ed25cf61c5 - moved the msecnode code to its own file.
Note that this originates from Boom so it needs to keep the Doom license.
2017-01-06 12:54:01 +01:00
Magnus Norddahl
e25645df46 Move r_fogboundary to line folder 2017-01-03 19:16:37 +01:00
Magnus Norddahl
a9fbd421fb Move line handling to r_line and drawseg drawing to r_drawsegment and then remove r_segs 2017-01-03 07:13:40 +01:00
Rachael Alexanderson
c7dce79831 Merge https://github.com/coelckers/gzdoom 2017-01-01 10:54:19 -05:00
Magnus Norddahl
81658d7c88 Move line handling to more files 2017-01-01 10:28:35 +01:00
Edoardo Prezioso
9575715b1e - Added support to GCC/Clang sanitizers. 2017-01-01 00:17:42 +01:00
Magnus Norddahl
3967156d62 Moved remaining parts of r_plane to r_visibleplane 2016-12-31 14:45:41 +01:00
Magnus Norddahl
ad15d56a81 Move files into additional folders 2016-12-31 12:45:07 +01:00
Magnus Norddahl
2f96dcc1a8 Move fog boundary drawing to r_fogboundary 2016-12-31 12:04:23 +01:00
Magnus Norddahl
f354cc8c67 Move flat and slope plane drawing to their own files, isolate and privatize their working variables 2016-12-31 11:42:49 +01:00
Magnus Norddahl
447b162534 Move sky rendering to its own file 2016-12-31 10:19:31 +01:00
Magnus Norddahl
99e263e1b3 Decal rendering to r_decal 2016-12-30 08:31:02 +01:00
Magnus Norddahl
50c525161b Move wallsprite handling to r_wallsprite 2016-12-30 08:11:06 +01:00
Magnus Norddahl
98026c5711 Move player sprite handling to r_playersprite 2016-12-30 07:51:39 +01:00
Magnus Norddahl
bf237799bf Move particle drawing to r_particle 2016-12-30 07:26:25 +01:00
Magnus Norddahl
f133b4caa4 Move vissprite to its own file 2016-12-30 07:15:10 +01:00
Magnus Norddahl
80e369541a Move visplane_t to its own file 2016-12-30 06:42:20 +01:00
Magnus Norddahl
41d0e7c663 Move portal drawing to r_portal 2016-12-30 06:08:47 +01:00
Magnus Norddahl
60c0dcc3c7 Move openings to r_memory 2016-12-30 05:35:25 +01:00
Magnus Norddahl
d3056d2679 Split poly_triangle into multiple files 2016-12-30 02:20:24 +01:00
Rachael Alexanderson
07f22a090c Merge https://github.com/coelckers/gzdoom 2016-12-28 21:16:14 -05:00
Rachael Alexanderson
cab1b60ffc - Some cleanups for c_cmds.cpp, exported some functions as well as functions used for "print/targetinv" to their own file. 2016-12-29 01:30:54 +01:00
Magnus Norddahl
1b284ecf3b Create files for clip, draw and portal segments 2016-12-28 07:04:13 +01:00
Magnus Norddahl
2659090e1c Move renders into folders 2016-12-27 06:31:55 +01:00
Magnus Norddahl
66b9e2208d Draw a rect where the voxels would be 2016-12-25 11:07:50 +01:00
Magnus Norddahl
ced7bdf94a Remove rt drawer family and the infrastructure supporting it 2016-12-25 05:46:16 +01:00
Christoph Oelckers
a825d1d92f Merge branch 'ssao' of https://github.com/dpjudas/dpDoom 2016-12-22 12:40:57 +01:00
Magnus Norddahl
012565228d Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/r_plane.cpp
#	src/r_segs.cpp
2016-12-10 00:08:56 +01:00
Rachael Alexanderson
d1379e26f5 Revert "- moved wallscan code into its own file so that it can get an appropriate copyright notice and does not inflate an already large source file even more."
This reverts commit 15cf9d36a9.
2016-12-09 09:14:01 -05:00
Christoph Oelckers
56f37185b2 - let's be a bit clearer and not name non-Build stuff with Build terms.
(cherry picked from commit f3389ff5b7)
2016-12-09 08:42:35 -05:00
Christoph Oelckers
15cf9d36a9 - moved wallscan code into its own file so that it can get an appropriate copyright notice and does not inflate an already large source file even more.
(cherry picked from commit 34d551fe1f)

# Conflicts:
#	src/r_segs.cpp
2016-12-09 08:39:58 -05:00
Christoph Oelckers
b709db3fd3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-09 13:32:05 +01:00
Christoph Oelckers
f3389ff5b7 - let's be a bit clearer and not name non-Build stuff with Build terms. 2016-12-09 12:21:27 +01:00
Christoph Oelckers
34d551fe1f - moved wallscan code into its own file so that it can get an appropriate copyright notice and does not inflate an already large source file even more. 2016-12-09 11:49:18 +01:00
Rachael Alexanderson
c53030d550 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-09 03:00:05 -05:00
Edoardo Prezioso
67b2e2f52e - Remove valgrind code, now that the assembly stuff is gone. 2016-12-08 22:44:23 +01:00
Christoph Oelckers
f547daccc8 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
2016-12-07 22:51:05 +01:00
Magnus Norddahl
9ed02a6aec Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/doomtype.h
#	src/r_drawt.cpp
2016-12-07 18:35:27 +01:00
Magnus Norddahl
beb70d7dfa Merge remote-tracking branch 'origin/zdoom_multithreaded' into qzdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/r_3dfloors.cpp
#	src/r_bsp.cpp
#	src/r_bsp.h
#	src/r_draw.h
#	src/r_main.cpp
#	src/r_main.h
#	src/r_plane.cpp
#	src/r_plane.h
#	src/r_segs.cpp
#	src/r_segs.h
#	src/r_swrenderer.cpp
#	src/r_things.cpp
#	src/r_things.h
#	src/r_thread.cpp
#	src/r_thread.h
#	src/v_draw.cpp
#	src/win32/fb_d3d9.cpp
2016-12-07 18:22:02 +01:00
Christoph Oelckers
42346c58d3 - disabled assembly entirely to make the MT drawer submission compile.
This still requires a review of the two non-drawer functions that get 'lost'.
2016-12-07 12:31:43 +01:00
Magnus Norddahl
3ff91807b8 Move swrenderer into a namespace, add multithreading framework, and move drawers to commands 2016-12-07 09:34:49 +01:00
Rachael Alexanderson
a78b713f4b Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/v_video.cpp
2016-12-06 18:19:08 -05:00
Magnus Norddahl
dfbd7fd2ad Add drawer commands for pal mode 2016-12-05 10:44:24 +01:00
Magnus Norddahl
8a12d040de Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/r_draw.cpp
#	src/r_draw.h
2016-12-05 08:22:04 +01:00
Magnus Norddahl
e09c7d239f Adjust class naming to closer match the GZDoom renderer and split portal rendering part to its own file 2016-12-03 14:58:56 +01:00
Christoph Oelckers
c927aca2a0 Merge branch 'zscript' of https://github.com/rheit/zdoom into gz-zscript
# Conflicts:
#	wadsrc/static/zscript.txt
2016-11-30 18:46:23 +01:00
Christoph Oelckers
b0f3121bec - split up zscript/shared/inventory.txt.
- moved health items to their own file.
- scriptified ScoreItem and MapRevealer whose entire functionality was a small TryPickup method.
- fixed: bit fields in global variables were not correctly written.

This should conclude the inventory cleanup. It is now possible again to find things in there.
2016-11-30 13:36:13 +01:00
Christoph Oelckers
229c55ce61 - moved ammo to its own file, including the backpack.
- moved weapon declarations to their own header.
2016-11-30 12:24:50 +01:00
Christoph Oelckers
014e04ce82 - copied inventory files to their own folder.
It's about time this stuff is getting cleaned up seriously. Both a_pickups.cpp and a_artifacts.cpp are so overstuffed that it has become a chore finding stuff in there.
2016-11-30 10:28:02 +01:00
Christoph Oelckers
9193466572 - scriptified ASecurityCamera and AAimingCamera.
This concludes this round of script converesions of internal classes.
2016-11-29 20:16:14 +01:00
Christoph Oelckers
a13e23dbe6 - scriptified some trivial stuff from g_shared. 2016-11-29 19:50:34 +01:00
Edoardo Prezioso
7474be6284 - Fixed GCC/Clang compiler errors and warnings. 2016-11-29 19:46:38 +01:00
Christoph Oelckers
0c969746d0 - scriptified Hexen's spike, which was the last remaining item in the game directories.
- added a BlockThingsIterator for scripts.
2016-11-29 18:42:48 +01:00
Christoph Oelckers
f17f6c30c2 - scriptified the Heresiarch. 2016-11-29 17:17:10 +01:00
Christoph Oelckers
e01f680b72 - scriptified the Mauler, completing Strife. 2016-11-29 14:32:49 +01:00
Christoph Oelckers
3af9232fca - scriptified a_strifeitems.cpp and a_debris.cpp.
- Changed the glass shards so that they do not have to override FloorBounceMissile. It was the only place where this was virtually overridden and provided little usefulness.
- made 'out' variables work.
- fixed virtual call handling for HandlePickup.
2016-11-29 12:17:05 +01:00
Rachael Alexanderson
17c4c4a384 - Fixed: Linker now searches for r_drawerasm.obj in the proper place. This probably broke on Mac and Linux. :( 2016-11-28 20:29:57 -05:00
Rachael Alexanderson
37078f7fef - Fixed: CMake now asks DrawerGen to drop its output into the build folder instead of the source folder. Fixes a linker error. 2016-11-28 19:48:44 -05:00
Christoph Oelckers
caef5344b0 - scriptified a_thingstoblowup.cpp.
- changed the power crystal floor movement to use DFloor instead of an incomplete in-place hack to ensure that everything is processed properly.
2016-11-28 21:33:14 +01:00
Christoph Oelckers
dd5494d848 - scriptified Stalker and Sentinel. 2016-11-28 19:56:16 +01:00
Christoph Oelckers
360cbfba2a - scriptified Oracle, Programmer and Rebels. 2016-11-28 19:42:26 +01:00
Christoph Oelckers
119bcb924d - scriptified the Loremaster. 2016-11-28 18:59:57 +01:00
Christoph Oelckers
bf1c2a7e51 - scriptified the Inquisitor. 2016-11-28 18:49:25 +01:00
Christoph Oelckers
b8cf377d9e - scriptified the Crusader. 2016-11-28 18:36:13 +01:00
Magnus Norddahl
e9e7839133 Create drawergen tool 2016-11-28 17:31:56 +01:00
Christoph Oelckers
53318f4bde - scriptified Reaver and Templar. 2016-11-28 15:51:07 +01:00
Christoph Oelckers
c9a4087c18 - scriptified a_entityboss.cpp. 2016-11-28 13:11:27 +01:00
Christoph Oelckers
dc9ee0727a - scriptified a_spectral.cpp.
- consolidated A_Tracer and A_Tracer2.

Note that this commit temporarily disables a few features in order to make it compile.
2016-11-28 12:55:33 +01:00
Christoph Oelckers
b171d6e21f - scriptified a_alienspectres.cpp. 2016-11-28 11:52:03 +01:00
Christoph Oelckers
7ea9f60464 - scriptified the Acolyte. 2016-11-28 10:41:36 +01:00
Christoph Oelckers
d4427e696d - scriptified Hexen's Banishment Device. 2016-11-28 01:30:36 +01:00
Christoph Oelckers
ebd2c27e0a - scriptified Hexen's Bloodscourge and Serpent.
- merged the FrontBlock searcher for the Bloodscourge into RoughMonsterSearch. This also fixes the bug that the searcher was not initialized properly for the MageBoss.
2016-11-28 00:49:10 +01:00
Christoph Oelckers
f9a1388066 - scriptified Hexen's lightning weapon. 2016-11-27 22:14:18 +01:00
Christoph Oelckers
5ce5466e18 - scriptified hexenspecialdecs.
- made '->' a single token. Although ZScript does not use it, the parser tends to get confused and fatally chokes on leftover arrows so this ensures more robust error handling.
2016-11-27 20:14:43 +01:00
Christoph Oelckers
b0ddba2240 Merge branch 'master' of c:\Programming\Doom-Dev\zdoom_\ into zscript 2016-11-27 16:31:26 +01:00
Christoph Oelckers
096c51d546 - changed AInventory::HandlePickup to work iteratively instead of recursively.
Two reasons for this:

1. if this has to be routed through the VM each recursion will cost 1000 bytes of stack space which simply is not good.
2. having the virtual function only care about the item itself but not the entire inventory chain is a lot less error prone for scripting.

Since the scripting interface needs a separate caller function anyway this seemed like a good time to change it. The same will be done for the other chained inventory handlers as well.
2016-11-27 16:24:31 +01:00
Magnus Norddahl
057060022a Merge remote-tracking branch 'gzdoom/master' into ssao 2016-11-27 09:59:57 +01:00
Christoph Oelckers
ab03b016e9 - scriptified the IceGuy. 2016-11-27 00:41:06 +01:00
Christoph Oelckers
796c262285 - scriptified the Quietus. 2016-11-26 23:05:16 +01:00
Christoph Oelckers
80f233cd0b - scriptified the fighter's fist. 2016-11-26 22:25:49 +01:00
Christoph Oelckers
178db4bb09 - scriptified the fighter's hammer. 2016-11-26 21:39:20 +01:00
Christoph Oelckers
bdad526f62 - scriptified the Fighter's axe. 2016-11-26 21:03:00 +01:00
Christoph Oelckers
997e4a2ac4 - scriptified the remaining Cleric weapons. 2016-11-26 19:23:22 +01:00
Christoph Oelckers
659a592f16 - scriptified Korax. 2016-11-26 16:25:10 +01:00
Christoph Oelckers
4fcb397346 - scriptified the remaining parts of the Wraithverge. 2016-11-26 14:06:41 +01:00
Christoph Oelckers
bc1e4eff72 - scriptified the Cleric's flame weapon. Also fixed the angle calculations for the circle flame. 2016-11-26 10:30:41 +01:00
Christoph Oelckers
f508a57bb8 - scriptified ArtiBoostArmor. 2016-11-26 10:08:25 +01:00
Christoph Oelckers
4e802652c7 - scriptified ArtiBlastRadius. 2016-11-26 09:51:14 +01:00
Christoph Oelckers
7385cd70c0 - scriptified the Minotaur.
Interesting tidbit: The damage calculation in P_MinotaurSlam had been incorrect for the Heretic version since the friendly Hexen Dark Servant was added, but nobody ever noticed in 14 years...
2016-11-26 01:14:47 +01:00
Christoph Oelckers
6e1c6c4b33 - scriptified ArtiTeleport.
- shortened ArtiEgg and ArtiPork's use state to a single function.
2016-11-25 19:52:35 +01:00
Christoph Oelckers
0d6f37835f - completed Heretic scriptification with the two remaining artifacts. 2016-11-25 18:41:00 +01:00
Christoph Oelckers
4f370ba181 - scriptified the Phoenix Rod, completing the Heretic weapons. 2016-11-25 18:13:08 +01:00
Christoph Oelckers
aa4b3bb230 Merge branch 'master' of https://github.com/rheit/zdoom 2016-11-24 09:58:29 +01:00
Rachael Alexanderson
2de7f67b7f Merge branch 'master' of https://github.com/rheit/zdoom 2016-11-24 01:31:18 -05:00
Braden Obrzut
dc11b63157 - Fixed building with vanilla MinGW, at least with whatever modified header files that my system has from my last experimentation. 2016-11-24 00:47:53 -05:00
Magnus Norddahl
47aaf781c6 Split RenderPolyScene into two to allow rendering from multiple viewpoints 2016-11-24 05:51:37 +01:00
Christoph Oelckers
3e890d182b - scriptified D'Sparil.
- added retrieval of defaults from an actor pointer.
2016-11-24 01:23:35 +01:00
Christoph Oelckers
5e67cf79d3 - scriptified the Ironlich. 2016-11-23 21:26:59 +01:00