Commit graph

13263 commits

Author SHA1 Message Date
Rachael Alexanderson
0d5cb0536e - enable multiprocessor compilation with MSVC++ using /MP for MSBuild
- Target NEON processors for ARM.
2017-03-10 00:44:25 +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
a4710bcdb0 - did a bit of header cleanup to reduce the dependency on dobject.h. 2017-03-09 23:30:42 +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
6325fbc491 - did a bit of cleanup on the MIDI callback interface, made the function type a typedef and removed the two unused parameters. Only the native Windows player passed something, but it wasn't used by the callback. 2017-03-09 20:28:57 +01:00
Christoph Oelckers
9b87a167d7 - replaced a large batch of DWORDs.
Most of those which still rely on ZDoom's own definition should be gone, unfortunately the code in files that include Windows headers is a gigantic mess with DWORDs being longs there intead of ints, so this needs to be done with care. DWORD should only remain where the Windows type is actually wanted.
2017-03-09 20:19:55 +01:00
Christoph Oelckers
a17685f3fd - removed some long longs, to reduce that type's use to the necessary minimum
.
2017-03-09 20:05:22 +01:00
Christoph Oelckers
d2beacfc5f - except for DWORD, all homegrown integer types are gone - a handful were left where they represent genuine Windows types. 2017-03-09 19:54:41 +01:00
Christoph Oelckers
c008ddaf66 - replaced homegrown SWORD, SBYTE and uint32_t types. 2017-03-09 19:31:45 +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
Christoph Oelckers
609e4c78b4 - fixed: NOINFIGHTSPECIES checked the wrong target actor. 2017-03-09 18:44:32 +01:00
Rachael Alexanderson
536e8fad19 - Make QZDoom GZDoom again! 2017-03-09 11:51:42 -05:00
Christoph Oelckers
f8391ce97e - there was something missing... 2017-03-09 17:44:00 +01:00
Christoph Oelckers
3113faedcf - fixed bad syntax. 2017-03-09 17:42:25 +01:00
Christoph Oelckers
878e6015df - made all iterator classes natively abstract so that they do not get a ConstructNative method so that OP_NEW can refuse creating them without the need to mark them as abstract.
- block creation of actors with the 'new' instruction. Unlike the above these cannot be made abstract because without ConstructNative they cannot be serialized.
2017-03-09 17:21:37 +01:00
Christoph Oelckers
20c56f6dda - added SectorTagIterator and LineIDIterator script classes. 2017-03-09 17:05:51 +01:00
Christoph Oelckers
420f71fc4f - added a BlockLinesIterator script class. 2017-03-09 16:45:48 +01:00
ZZYZX
4dd1910d6d Fixed the size of the local params array for WorldTick/UiTick 2017-03-09 15:38:49 +01:00
ZZYZX
5eb20b7877 Removed Create, CreateOnce, Register, Unregister from the C++ side as well 2017-03-09 15:38:49 +01:00
ZZYZX
01561eb768 Added: UiTick in EventHandlers, a callback that executes at 35fps on every handler in ui scope;
Removed: RenderOverlay, RenderFrame (commented out), Create, CreateOnce, Register, Unregister (completely)
2017-03-09 15:38:49 +01:00
Christoph Oelckers
e080f0cf89 - removed Windows.h include from gl_system.h and cleaned up that file. This means that most OpenGL sources can now be compiled without any Windows dependencies, which is significantly faster. 2017-03-09 13:19:51 +01:00
Christoph Oelckers
396c570a96 - moved Win32GLVideo's definition into the .cpp file, because it isn't needed anywhere else. 2017-03-09 13:09:38 +01:00
Christoph Oelckers
05919a2926 - remove Windows includes from gl_load.h
This is one of two places that unconditionally pulled in all Windows headers into the GL code.
We also do not need the cruft for defining the standard integer types. GZDoom is C++11 which means that stdint.h will be present. So the madness with the definitions should be avoided to ensure that the types are always the same.
2017-03-09 13:03:49 +01:00
Christoph Oelckers
03e1cbcfc0 - removed Windows types from several files which don't need them.
- split out the software renderer's video classes into their own file because they got included by all OpenGL sources.
2017-03-09 12:52:31 +01:00
Christoph Oelckers
8bd9c5a983 - moved some ACS enums from p_acs.h to p_acs.cpp.
There is really no point including this in multiple files if only one of them actually uses these constants.
2017-03-09 09:49:07 +01:00
Christoph Oelckers
77bac4f6fa - fixed code generation for min/max when the first operand was a local variable or constant.
The code for constants was not optimal because the first operand of the instructions cannot be constant. This was solved by swapping it with the second choice which will always be non-constant.
The code for local variables did not allocate a new destination register and would overwrite the first parameter's variable.
2017-03-09 09:36:12 +01:00
Rachael Alexanderson
4d70b01da5 - followed through with GZDoom's SQWORD removals. 2017-03-08 21:35:20 -05:00
Rachael Alexanderson
cc9a2e5121 Merge https://github.com/coelckers/gzdoom 2017-03-08 21:25:24 -05:00
Magnus Norddahl
279fa7e886 Non-SSE version of the sky drawers 2017-03-08 23:35:13 +01:00
Christoph Oelckers
a632fae33f - for some reason the change to c_expr.cpp got lost.
- moved NO_SANITIZE to autosegs.h, because it's the only place where it is used.
2017-03-08 21:14:21 +01:00
Christoph Oelckers
b513b32bcf - reduced missing texture messages in the menu to warnings. 2017-03-08 19:04:35 +01:00
Christoph Oelckers
f341e7fb6a - removed SQWORD, there were only a handful of occurences. 2017-03-08 19:02:50 +01:00
Christoph Oelckers
ba0f5a3f94 - most WORD and SWORD are gone. 2017-03-08 18:55:55 +01:00
Christoph Oelckers
8ab562ef13 - the fourth. 2017-03-08 18:55:54 +01:00
Christoph Oelckers
6dee9ff566 - replaced another large batch of homegrown type use. 2017-03-08 18:55:53 +01:00
Christoph Oelckers
6c6bab73ad - more of the same. 2017-03-08 18:55:53 +01:00
Christoph Oelckers
ad41b23506 - replaced the homegrown integer types in all p* sources and headers. 2017-03-08 18:55:52 +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
b281a697ce Document the algorithm used for generating the 1D shadow maps 2017-03-08 14:12:59 +01:00
Christoph Oelckers
b8f7e305db - changed TObjPtr to take a pointer as its template argument and not the class it points to.
This addresses the main issue with TObjPtr, namely that using it required pulling in the entire class hierarchy in basic headers like r_defs which polluted nearly every single source file in the project.
2017-03-08 13:35:21 +01:00
Christoph Oelckers
1cb89c6b37 - fixed bad call to validate function. 2017-03-08 13:35:21 +01: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
Magnus Norddahl
8687a9868a Rename Level2DShape to LevelAABBTree and add a bit of documentation to it 2017-03-08 12:40:45 +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
alexey.lysiuk
54ca55f070 Default MIDI device is now created by sound backend
OpenAL backend now plays music by default
It uses WinMM device on Windows and OPL on other platforms
2017-03-08 11:04:02 +02:00
alexey.lysiuk
938043892a Update CI configurations
Increase git clone depth to 10 for both services so quick pushes won't break the build
Disable email notifications for AppVeyor
2017-03-08 10:44:42 +02:00
Rachael Alexanderson
527a172fcd Merge https://github.com/coelckers/gzdoom 2017-03-07 22:03:56 -05:00
Magnus Norddahl
cb40c369cd Added PCF shadows 2017-03-08 01:35:07 +01:00
Magnus Norddahl
850e61d1c9 Add shadow test to sprites 2017-03-08 00:34:08 +01:00
Magnus Norddahl
818b72fbf5 Reduce margin a little 2017-03-08 00:33:42 +01:00