Commit graph

12843 commits

Author SHA1 Message Date
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
Christoph Oelckers
2f29b075b2 - made CountInv clearscope and const. 2017-03-07 22:55:15 +01:00
Christoph Oelckers
d911cdcfe7 - missed a bit. 2017-03-07 22:18:50 +01:00
Christoph Oelckers
e2f3a09dd0 - refactored the scope check for VirtualScope calls.
It now uses a dedicated opcode instead of piggybacking on OP_CALL and it passes data that is closer to the VM. Symbols should be avoided at this level.
It also will skip the scope instruction if the code generator detects that both calling function and the self pointer type have the same scope, this assumes that subclasses cannot flip between UI and Play.
2017-03-07 22:17:48 +01:00
Christoph Oelckers
0c686c593b - simplify the runtime checks for OP_NEW.
They are not needed for OP_NEW_K which can evaluate the class relations at compile time and for OP_NEW the calling function can also be checked at compile time, passing only the scope value itself.
2017-03-07 19:57:55 +01:00
Christoph Oelckers
7a0c466b24 - fixed: For reflective floors, closed doors need to be considered an outer boundary, even if the floor below the door is reflective itself. 2017-03-07 18:59:48 +01:00
Christoph Oelckers
7ce8009576 - made several read-only actor functions accessible to UI code. 2017-03-07 18:59:48 +01:00
alexey.lysiuk
5e91e79a4f Updated Travis CL configuration
Remove Debug macOS target
Add GCC 6 Linux target
Set Clang Linux target to build Debug configuration
Add FMOD Ex dependency
Exclude AppVeyor test branches from build
Set git clone depth to three
Remove unused APT source
2017-03-07 17:15:48 +02:00
Rachael Alexanderson
71f400e238 Merge https://github.com/coelckers/gzdoom 2017-03-07 10:00:20 -05:00
Magnus Norddahl
6df3b3fbca Changed the light collision structure uploaded to the GPU to be a binary tree using AABBs for the nodes instead of a BSP plane 2017-03-07 15:58:22 +01:00
ZZYZX
620ce72ebd Fixed E_Responder for mouse events. It being active during console was actually a bug, because console should prevent any events. 2017-03-07 12:46:26 +01:00
ZZYZX
883048b538 Added E_Responder call for direct mouse input interception 2017-03-07 12:46:26 +01:00
alexey.lysiuk
e5a3d2244e Updated AppVeyor configuration
Add dependencies for sound backends
Exclude travis test branches from build
Set git clone depth to one
2017-03-07 11:59:52 +02:00
Christoph Oelckers
1c95ddacb8 Revert "Moved some ancient playsim mouse input code around so that it works properly with input events"
This reverts commit 2e0eb742eb.

This effectively nullifies the attempt to get a higher mouse update rate for the display.
2017-03-07 10:26:03 +01:00
ZZYZX
a681b5b706 Just in case, don't send useless mouse move events to G_Responder. 2017-03-07 09:47:47 +01:00
ZZYZX
2e0eb742eb Moved some ancient playsim mouse input code around so that it works properly with input events 2017-03-07 09:47:47 +01:00
Rachael Alexanderson
bd50b5d05a Merge https://github.com/coelckers/gzdoom 2017-03-06 19:40:55 -05:00
Magnus Norddahl
65f8d65858 Minor code clean up 2017-03-06 23:27:02 +01:00
Rachael Alexanderson
cb8b2de287 - somehow, this missed a few. 2017-03-06 16:58:48 -05:00
Christoph Oelckers
9d6b5f7015 - switched the menu code over to the data types of the event system.
Note that this will require adjustment of all menu code which overrides the Responder method!
2017-03-06 22:27:51 +01:00
Rachael Alexanderson
28abc96aef - fully implemented "nolightfade" to turn off diminishing lights in the software renderer.
- unfortunately, LIGHT2SHADE had to be transformed into a namespaced function.
2017-03-06 16:14:54 -05:00