Commit graph

516 commits

Author SHA1 Message Date
alexey.lysiuk
3936e3018d - added window position and size restoration to SDL backend 2018-06-23 16:22:29 +03:00
alexey.lysiuk
663ac919bd - removed unused header file 2018-06-23 16:21:35 +03:00
alexey.lysiuk
009acf3fb2 - added window position and size restoration to Cocoa backend 2018-06-23 12:45:44 +03:00
alexey.lysiuk
573758bc55 - removed obsolete code from Cocoa backend 2018-06-23 12:44:48 +03:00
Christoph Oelckers
b106f72741 - don't route calls to FMaterial::FlushAll through the framebuffer interface. 2018-06-20 22:18:31 +02:00
Christoph Oelckers
d2309af3d5 Merge remote-tracking branch 'remotes/origin/master' into modern
# Conflicts:
#	src/d_main.cpp
#	src/hwrenderer/scene/hw_weapon.cpp
2018-06-19 19:40:52 +02:00
Christoph Oelckers
548ccb1df4 - removed some references to r_viewpoint in game code
Mainly to reduce number of search results.
2018-06-19 11:20:36 +02:00
alexey.lysiuk
c6e4d6a333 - implemented fullscreen toggle in SDL backend
Made window resizable but its size and position are not saved yet
2018-06-18 22:53:19 +03:00
alexey.lysiuk
37a0c1d6c1 - implemented fullscreen toggle in Cocoa backend
Window size and position are not saved yet
2018-06-18 22:52:37 +03:00
Christoph Oelckers
bac435333b Merge remote-tracking branch 'remotes/origin/master' into modern 2018-06-18 00:24:49 +02:00
Christoph Oelckers
babe55819e - fullscreen toggle and some cleanup. Not fully working yet. 2018-06-17 22:11:35 +02:00
alexey.lysiuk
89ce74443b - adapted SDL backend to new video mode handling 2018-06-17 22:41:05 +03:00
alexey.lysiuk
42587761c7 - adapted Cocoa backend to new video mode handling 2018-06-17 22:35:50 +03:00
Christoph Oelckers
b65b83edb3 - removed the hard screen resolution switch that still was present on Windows and cleaned up the entire video backend code from the remaining support code for this.
Like Linux and macOS this will only support borderless fullscreen in the active desktop resolution now, which is what modern systems need.
The list of discrete resolutions has been removed as it makes no sense anymore with a fixed video mode - all the other scaling options remain active, though.
2018-06-17 20:08:35 +02:00
alexey.lysiuk
5cf3dbfd5b - fixed compilation of SDL backend
src/posix/sdl/sdlglvideo.cpp:200:4: error: use of undeclared identifier 'I_ClosestResolution'
2018-06-17 14:51:04 +03:00
alexey.lysiuk
f2918b748f - deleted leftover declaration in Cocoa backend 2018-06-17 14:39:05 +03:00
Christoph Oelckers
dc2a5b0cc9 - consolidated the 3 identical versions of I_CheckResolution and I_ClosestResolution. 2018-06-17 12:30:01 +02:00
Rachael Alexanderson
77956fc485 - remove ARM specific gl_es definition since it's not even really much different from the main line definition, anyhow 2018-06-09 13:40:39 -04:00
alexey.lysiuk
352f93c066 - deleted now useless code from Cocoa backend
Let's rely on cross-platform code to manage window dimensions and screen resolution
2018-06-03 17:48:58 +03:00
alexey.lysiuk
f8f1148c59 - fixed mouse cursor positioning in menu for Cocoa backend
With video resolution scaling enabled engine coordinates of mouse cursor were wrong
2018-06-03 17:48:58 +03:00
Christoph Oelckers
3f56e02352 Revert "- fix compile on non-Windows targets"
This reverts commit 781cc62f89.

This gets in the way of a real fix.
2018-05-18 00:03:58 +02:00
Rachael Alexanderson
781cc62f89 - fix compile on non-Windows targets 2018-05-17 17:47:42 -04:00
Christoph Oelckers
c0837f42bd - gl_system.h as well, in particular this has no place in hw_* files. 2018-05-16 23:34:52 +02:00
alexey.lysiuk
fd5df6e8d1 - Cocoa: ability to use drag and drop with custom IWADs 2018-05-09 12:47:11 +03:00
alexey.lysiuk
23dcc27542 - Cocoa: proper defaults in .plist 2018-05-09 12:33:19 +03:00
David Carlier
1b68b69ed8 Needed headers for time and WIF* 2018-05-08 22:04:20 +03:00
alexey.lysiuk
78c06554af - proper handle pixel format creation errors in Cocoa backend 2018-05-06 17:53:53 +03:00
alexey.lysiuk
7fcefa2ed1 - SDL: clear button state when switching from/to GUI input
https://forum.zdoom.org/viewtopic.php?t=60451
2018-05-06 14:37:04 +03:00
alexey.lysiuk
2be84dc636 - skip rendering when application is not active
Use vid_activeinbackground CVAR to override this behavior
2018-05-04 11:24:37 +03:00
Christoph Oelckers
06d20e13b8 - cleaned up the gamma correction code.
This had accumulated quite a bit of cruft by now and parts of it should be in non OpenGL code.
2018-04-29 13:45:53 +02:00
alexey.lysiuk
8dfd1e6490 Removed unsupported versions of macOS from detection list 2018-04-27 11:04:19 +03:00
alexey.lysiuk
2ae8d39441 Removed all superfluous #include's
Automatically optimized by CLion IDE with manual corrections
2018-04-24 14:30:35 +03:00
alexey.lysiuk
03ffb30c39 Enabled custom window title in SDL backend 2018-04-09 20:47:49 +02:00
alexey.lysiuk
e6e2b11167 Set common name for system-specific framebuffer class
Implementation details are hidden as much as possible in platform-specific source files
Reduced number of included header files
2018-04-09 20:47:49 +02:00
alexey.lysiuk
5a4307160e Fixed compilation of SDL backend 2018-04-08 13:55:46 +03:00
alexey.lysiuk
1c89de25dd Fixed compilation of Cocoa backend 2018-04-08 13:55:46 +03:00
Christoph Oelckers
df4f435952 - merged vid_renderer, swtruecolor and r_polyrender into one CVAR to reduce menu clutter.
- with renderers freely switchable, some shortcuts in the 3D floor code had to be removed, because now the hardware renderer can get FF_THISINSIDE-flagged 3D floors.
- changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned. For the software renderer the light needs to retain its original values.
2018-04-07 23:30:28 +02:00
Christoph Oelckers
5fbc723842 - live switching of the renderer works. 2018-04-07 12:59:04 +02:00
Christoph Oelckers
221beec979 - added palette shader and fixed a few things. 2018-04-07 12:17:23 +02:00
Christoph Oelckers
d474b849a5 - removed the remaining calls from the FRenderer interface from the main game code.
This does not work with a setup where the same backend is driving both renderers.
Most of this is now routed through 'screen', and the decision between renderers has to be made inside the actual render functions.
The software renderer is still driven by a thin opaque interface to keep it mostly an isolated module.
2018-04-04 00:21:25 +02:00
Christoph Oelckers
9ba32cb994 - with the new order of things we need the software renderer to be always available. 2018-04-03 20:14:26 +02:00
Christoph Oelckers
248a29bf06 - resorted portal render data.
Compiles but does not work...
2018-04-01 22:26:57 +02:00
Christoph Oelckers
711a88bab3 - consolidated cycle_t and glcycle_t because aside from glcycle_t's ability to be deactivated when no profiling takes place they did exactly the same thing. 2018-04-01 13:24:03 +02:00
Christoph Oelckers
1461059dae - moved contents of gl_templates.h to files outside of gl/ 2018-04-01 11:59:12 +02:00
Christoph Oelckers
6d6196388e - made SPROFS a more usable feature.
This was originally invented to fix the sprite offsets for the hardware renderer.
Changed it so that it doesn't override the original offsets but acts as a second set.
A new CVAR has been added to allow controlling the behavior per renderer.
2018-03-31 10:37:46 +02:00
Christoph Oelckers
6cd26dec01 - remove some dead code. 2018-03-31 00:25:15 +02:00
Christoph Oelckers
a001a5304d - removed the old software renderer framebuffers for Windows
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers
1e5fbc1423 Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
# Conflicts:
#	src/posix/cocoa/i_video.mm
2018-03-30 22:06:17 +02:00
alexey.lysiuk
fdd93d704d Merged list of video modes for Cocoa and SDL backends
https://forum.zdoom.org/viewtopic.php?t=59990
2018-03-28 15:12:07 +03:00
Christoph Oelckers
29ad081368 - removed remaining DirectDraw code and a few other things that are no longer being used. 2018-03-27 21:04:01 +02:00
Christoph Oelckers
62f073ef60 - removed Accel2D variable and a little bit of locking cruft. 2018-03-27 17:13:10 +02:00
Christoph Oelckers
377aa95e34 - removed empty header. 2018-03-27 12:01:15 +02:00
Christoph Oelckers
e0f1abdf81 - removed SDLFB and cleaned things up a bit. 2018-03-27 11:59:43 +02:00
Christoph Oelckers
1a28644d83 - cleaned out unused stuff from DCanvas.
- removed CocoaFrameBuffer because it is a software fallback which is no longer supported.
2018-03-27 11:25:06 +02:00
Christoph Oelckers
ba799aebbd - moved locking logic from DCanvas to DFrameBuffer.
The software canvases used for rendering camera textures and save pictures in the software renderer do not need this.
2018-03-27 11:12:13 +02:00
Christoph Oelckers
40bbe5cd8a - removed DirectDraw backend. 2018-03-26 22:03:32 +02:00
Christoph Oelckers
e89a598b31 - renamed FTexture's UseType flags and gave them a dedicated type.
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Rachael Alexanderson
fbc4831072 - remove empty Mac I_HTTPRequest prototype since it's not used 2018-03-12 19:33:49 +01:00
Christoph Oelckers
f2f649bf77 - put all stats related code into one file. 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
033a11a028 - fix compile on clang
- implement TCP connections in Linux
- fix passing of request string to a thread
- implement OS stats for ARM and PPC on Linux
2018-03-12 19:33:48 +01:00
Christoph Oelckers
d2fa4d0ff9 - most stat stuff done. 2018-03-12 19:33:48 +01:00
alexey.lysiuk
61979f63c1 Removed last remnants of PowerPC Mac support 2018-02-11 16:35:34 +02:00
Alexander Wilms
55c6a14059 Added simple fatal error window for Linux
There are three variants: KDE dialog, GTK+ window, SDL message box
https://forum.zdoom.org/viewtopic.php?t=57880
2018-01-28 17:03:10 +02:00
Neil McPhail
ded0c7805d Fix failure to write under ~/ in confinement
When running in a confined environment (such as a snap) it may not be
possible to write to directories such as ~/.config. By using the $HOME
variable instead of the '~' shortcut, the confined environment can pass
an alternative 'home' directory with write privelges.

I have only changed this for posix/unix and haven't touched code for
MacOS, as I don't know if that behaves differently
2018-01-21 10:52:42 +01:00
alexey.lysiuk
f28914d1b6 Simplified handling of command line arguments in Cocoa backend
Empty arguments are no longer ignored
2018-01-14 11:29:45 +02:00
alexey.lysiuk
2eb51e5f79 Disabled modifier keys processing in UI by Cocoa backend
Modifier keys no longer trigger bound actions in menu/console/chat
2017-12-25 18:14:56 +02:00
Rachael Alexanderson
000037dbf6 - implemented 'i_soundinbackground' to continue playing sounds and music while in the background.
- OpenGL rendering continues now even when losing focus while in windowed mode.
2017-12-24 18:01:45 -05:00
Christoph Oelckers
a945418ba6 - added M_GetDocumentsPath function. 2017-12-03 21:03:44 +01:00
Christoph Oelckers
7cbcbe66c0 - sanitization of temporary file stuff for Timidity++.
* do not use the global temp directory. Instead create one in the AppData folder.
* removed lots of unneeded code from tmpfileplus.
* use C++ strings in there.
2017-12-02 17:33:43 +01:00
Christoph Oelckers
8627a48b34 - consolidation of 'stat' calls.
Since this is a non-standard function it's better kept to as few places as possible, so now DirEntryExists returns an additional flag to say what type an entry is and is being used nearly everywhere where stat was used, excluding a few low level parts in the POSIX code.
2017-12-02 16:07:09 +01:00
Christoph Oelckers
838e52001c - got rid of M_ReadFile(Malloc) which werew each used only once in the entire code. These were still using the low level POSIX-style file interface which shouldn't really be used anymore.
- let FScanner::OpenFile return an error instead of throwing an exception. The exception was never used anyway aside from being caught right away to be ignored.
2017-12-02 13:09:59 +01:00
alexey.lysiuk
0f5ff5a5de Removed obsolete files after timer code refactoring 2017-11-25 11:48:22 +02:00
Rachael Alexanderson
6d43c5cdc6 Merge remote-tracking branch 'origin/friendly_window_title' 2017-11-24 14:41:25 -05:00
Rachael Alexanderson
f1405f68a7 Merge remote-tracking branch 'origin/master' into friendly_window_title 2017-11-18 14:08:33 -05:00
raa-eruanna
28d47d463f - fix linux compile
# Conflicts:
#	src/posix/sdl/sdlvideo.cpp
2017-11-18 08:20:58 -05:00
alexey.lysiuk
35bb9ba9d3 Implemented setting of window title in Cocoa backend
# Conflicts:
#	src/posix/cocoa/i_video.mm
2017-11-18 08:19:15 -05:00
Christoph Oelckers
0323f54384 - rename I_FPSTime function.
- now that the frame buffer stores its render time, the 'ms' return from I_GetTimeFrac is not needed anymore, we may just as well use the globally stored value instead.

The only feature this value was ever used for was texture warping.
2017-11-13 00:54:32 +01:00
Christoph Oelckers
2c65f08011 - more timer cleanup
* store the frame time in the current screen buffer from where all render code can access it.
* replace some uses of I_MSTime with I_FPSTime, because they should not use a per-frame timer. The only one left is the wipe code but even this doesn't look like it needs either a per-frame timer or a timer counting from the start of the playsim.
2017-11-13 00:28:43 +01:00
Christoph Oelckers
0db0f2f7b9 - removed redundant POSIX version of I_WaitVBL 2017-11-12 12:12:51 +01:00
Christoph Oelckers
d9808e6d68 - there were still some old definitions left... 2017-11-12 10:02:29 +01:00
Christoph Oelckers
6bd76d6b5a - fixed compilation in debug mode.
- moved timer definitions into their own header/source files. d_main is not the right place for this.
- removed some leftover cruft from the old timer code.
2017-11-12 09:06:40 +01:00
Magnus Norddahl
7d63c3324d - Fix macOS compile errors 2017-11-12 03:51:37 +01:00
Magnus Norddahl
307d8931d8 - Switch to C++11 steady clock
- Move the C++11 implementation to d_main
- Remove the platform specific timer implementations
2017-11-12 03:12:22 +01:00
Chris Robinson
f353f8b5aa Improved OpenGL profile selection in SDL backend
https://forum.zdoom.org/viewtopic.php?t=56852
2017-11-07 11:05:06 +02:00
alexey.lysiuk
587f6f0f91 Added wait for debugger feature to Cocoa backend
Use -wait_for_debugger command line switch to display message box on startup
It's available in Debug configuration only
2017-11-02 14:49:08 +02:00
raa-eruanna
7d4f8af245 - fixed compile on Linux and (maybe?) Mac 2017-11-01 04:13:10 -04:00
Rachael Alexanderson
d16ad3dcb5 - added I_FriendlyWindowTitle cvar, which takes the current game/mod name and uses it as a default window title. 2017-10-31 19:47:56 -04:00
alexey.lysiuk
5f7a06c66e Fixed non-portable usage of __solaris__ preprocessor definition
GCC: this use of "defined" may not be portable [-Wexpansion-to-defined]
Clang: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
2017-10-24 15:32:43 +03:00
alexey.lysiuk
57ecc4ce30 Removed the last deprecated method in Cocoa backend
src/posix/cocoa/i_input.mm:482:36: warning: 'convertScreenToBase:' is deprecated: first deprecated in macOS 10.7 - Use -convertRectFromScreen: instead [-Wdeprecated-declarations]
2017-10-07 15:13:59 +03:00
alexey.lysiuk
7a43fa6ed7 Cocoa window uses OpenGL 2.1 for software renderer 2017-10-07 15:13:41 +03:00
alexey.lysiuk
557958577b Removed all code needed to support macOS earlier than 10.7 Lion 2017-10-07 15:11:30 +03:00
JimmyZD
abc8e4deac Added four text colors: ice, fire, sapphire, teal
https://forum.zdoom.org/viewtopic.php?t=57942
2017-09-23 11:56:16 +02:00
Rachael Alexanderson
76f805062a - updated icon for linux/unix 2017-09-09 13:18:47 -04:00
alexey.lysiuk
8a37356c33 New .icns macOS icon from the same images as Window .ico 2017-09-09 11:28:33 +03:00
Rachael Alexanderson
6f98c5e8fb - replace potentially infringing static EXE assets (including icons) with ones from GZDoom-GPL 2017-09-07 04:13:30 -04:00
alexey.lysiuk
2375823055 Adapted Cocoa IWAD picker to recent changes in IWAD loading 2017-08-20 12:35:40 +03:00
alexey.lysiuk
cafd1ca26e Fixed compilation of non-Windows targets 2017-08-20 09:50:51 +03: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
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
0df2779004 - fixed mac compile(hopefully?) 2017-07-29 17:03:18 -04:00
raa-eruanna
af32edd054 - fixed linux compile 2017-07-29 16:47:10 -04:00
Rachael Alexanderson
e0494b6f13 - fixed an issue with previous commit that undid some scaling code 2017-07-25 08:09:01 -04:00
David Carlier
64e96c5f46 OpenBSD support 2017-07-25 07:56:19 -04:00
Rachael Alexanderson
e42500c07a Revert "- ported Linux crash fix to Mac"
This reverts commit 6a49251722.
2017-07-25 07:34:26 -04:00
Rachael Alexanderson
6a49251722 - ported Linux crash fix to Mac 2017-07-25 06:55:29 -04:00
Magnus Norddahl
d8c6966917 - Fixed startup crash on Linux 2017-07-25 11:51:15 +02:00
Magnus Norddahl
1a4cf16168 - Fix swtruecolor cvar messing up the chosen video mode 2017-07-23 20:54:03 +02:00
Magnus Norddahl
c3702ae9e7 Add vid_scalemode support to GL framebuffer 2017-07-23 00:33:56 +02:00
Christoph Oelckers
03ed0656e1 - fixed: The frame timer for interpolating the renderer should always take its time from the actual beginning of the frame instead of checking the system timer in real time when rendering starts.
This fixes two issues:

* timer related texture animations are not being recreated multiple times if a scene renders multiple viewpoints (e.g. camera textures or portals.)
* interpolation is smoother when maps have a high think time of multiple milliseconds. A good map to see the difference would be ZDCMP2 which has a think time of 4-5 milliseconds. With the timer taken in real time after the thinkers have run and VSync on this resulted in alternating time slices of 11 and 21 ms between frame interpolations instead of an even 16 as should be done for smooth 60 fps because roughly every second frame was offset by those 5 ms.
2017-07-20 14:20:50 +02:00
alexey.lysiuk
c6351825b8 Enable Core Profile on macOS only when OpenGL 3.3 is available 2017-07-13 18:05:58 +03:00
alexey.lysiuk
58b348e75a Skip autogenerated mouse move events in Cocoa backend regardless of mode 2017-07-08 13:36:55 +03:00
alexey.lysiuk
9292b23bb4 Restore mouse position when entering GUI capture mode in Cocoa backend 2017-07-08 12:46:38 +03:00
alexey.lysiuk
925274ca0c Added name of upcoming macOS to OS detection 2017-07-01 12:29:25 +03:00
Christoph Oelckers
c74356a1c0 - made OpenGL 3.3 a requirement for running the modern render path. Also force '-glversion 3' to use the modern render path, even though actual OpenGL 3.0 won't support it.
This will exclude Intel HD3000 and many obsolete drivers for NVidia and ATI which should have been updated long ago.
2017-06-28 17:57:04 +02:00
svdijk
371a8755c2 vid_glswfb: Prevent defunct windows. 2017-05-20 23:21:51 +02:00
Christoph Oelckers
9fc309d5b5 - stop the music when processing a fatal error. 2017-05-19 12:20:33 +02:00
svdijk
b6ef9fae3e SDLGLFB: Implement mouse coordinate scaling for the menus. 2017-05-14 12:12:12 +03:00
Chris Robinson
092b339c8f Replace usleep with nanosleep for macOS too 2017-05-10 09:44:54 +02:00
Chris Robinson
7ad61a97ed Fix handling long wait times on POSIX's I_WaitVBL
usleep only works for sleeping up to one second. The function is also
deprecated and nanosleep should be used instead.
2017-05-09 23:21:32 +02:00
Rachael Alexanderson
65399bf075 - fixed: Added currentrenderer checks to SDL and COCOA implementations of 'swtruecolor' 2017-04-30 16:35:16 -04:00
Rachael Alexanderson
dfa5a3cd07 - Changed cocoa backend's s_currentRenderer to match PC version's 'currentrenderer' to address a possible Mac compilation issue. 2017-04-30 16:21:11 -04:00
alexey.lysiuk
e78d88094d Removed obsolete timer workaround from Cocoa backend 2017-04-23 17:35:35 +03:00
alexey.lysiuk
6fb1689d02 Disabled truecolor software renderer on PowerPC by default
Performance on such old hardware is not acceptable
2017-04-23 17:35:35 +03:00
alexey.lysiuk
ab8759049d Enabled GLSW framebuffer in Cocoa backend by default
Added fallback to generic Cocoa implementation if it's not available (i.e. without OpenGL Core Profile support)
Value of vid_glswfb CVAR is now saved to configuration file
2017-04-23 17:35:35 +03:00
alexey.lysiuk
bd74cf85a4 Added selection of frame buffer implementation in Cocoa backend
Added vid_glswfb CVAR but set it to false by default for compatibility reasons
2017-04-23 14:49:36 +03:00
Christoph Oelckers
57d703236b - changed Doom source license to GPL in all subdirectories and fixed missing licenses in a few other files. 2017-04-17 12:27:19 +02:00
Christoph Oelckers
47bb29bac6 - check the return value of ogl_LoadFunctions and abort if it indicates failure.
If this happens there is normally something very wrong on the system side so continuing is not advised.
2017-04-14 15:32:04 +02:00
Christoph Oelckers
cd180d29c7 - block direct use of 'new' for DObjects.
This is to ensure that the Class pointer can be set right on creation. ZDoom had always depended on handling this lazily which poses some problems for the VM.
So now there is a variadic Create<classtype> function taking care of that, but to ensure that it gets used, direct access to the new operator has been blocked.

This also neccessitated making DArgs a regular object because they get created before the type system is up. Since the few uses of DArgs are easily controllable this wasn't a big issue.

- did a bit of optimization on the bots' decision making whether to pick up a health item or not.
2017-04-14 13:31:58 +02:00
Christoph Oelckers
929affa3cb - removed MarkACSThinker.
The global variable holding a pointer to this thinker should be a weak reference to the instance in the thinker chain, there is no need to mark this global variable, as the thinker's lifetime is only determined by the thinker chain.

- committed a few Posix related file the last commit missed.
2017-04-14 10:59:57 +02:00
Christoph Oelckers
dc5a5419fc - took DCanvas and all its subtypes out of the DObject tree.
I have no idea why they were even in there, as they intentionally circumvented all GC related features - they declared themselves fixed if prone to getting collected, they all used OF_YesReallyDelete when destroying themselves and they never used any of the object creation or RTTI features, aside from a single assert in V_Init2.

Essentially they were a drag on the system and OF_YesReallyDelete was effectively added just to deal with the canvases which were DObjects but not supposed to behave like them in the first place.
2017-04-14 10:48:18 +02:00
Magnus Norddahl
df8fa1274a - Oops, forgot to actually disable vid_glswfb in last commit 2017-04-12 03:22:38 +02:00
Magnus Norddahl
96834fa524 - Turn off vid_glswfb, gl_es on Linux ARM and stop saving it in the config file until it fully works 2017-04-12 03:21:43 +02:00
Rachael Alexanderson
3a36ffee35 - vid_glswfb is now true by default in Linux 2017-04-07 09:53:59 -04:00
alexey.lysiuk
63f85f6b07 Fixed compilation of Cocoa backend
Use the same member names in framebuffer class for all backends
2017-04-02 10:11:41 +03:00
alexey.lysiuk
36ad485edd Proper default value for GL framebuffer lock in Cocoa backend
No more error when running with +map command line parameter with classic HUD:
> VM execution aborted:  Attempt to draw to screen outside a draw function
> Called from BaseStatusBar.DrawImage [Native]
> Called from DoomStatusBar.DrawFullScreenStuff at gzdoom.pk3:zscript/statusbar/doom_sbar.txt, line 140
> Called from DoomStatusBar.Draw at gzdoom.pk3:zscript/statusbar/doom_sbar.txt, line 41
2017-04-01 13:16:31 +03:00
alexey.lysiuk
28be42675d Fixed build of SDL backend on macOS 2017-03-26 11:49:23 +03:00
alexey.lysiuk
80f3c1ed81 Mouse input can now be disabled completely in Cocoa backend 2017-03-25 11:04:06 +02:00
Christoph Oelckers
61c91f05fc Merge branch '3.0_work'
# Conflicts:
#	src/gl/scene/gl_portal.cpp
#	src/r_plane.cpp
2017-03-12 20:31:34 +01:00
Magnus Norddahl
5bcdc7d889 Fix compile error on Linux 2017-03-12 18:56:48 +01:00
alexey.lysiuk
23130678a1 Fixed compilation errors and warnings in Mac PowerPC target
Tested with GCC 5.2 on 10.4 (32-bit only) and Clang from Xcode 8.2 on 10.12 (64-bit only)
2017-03-12 16:27:02 +02:00
Rachael Alexanderson
d868f79413 - fixed: Froze on startup on Linux. 2017-03-11 11:04:37 -05:00
Rachael Alexanderson
81291e6892 - fixed: Clang on Linux compile 2017-03-11 11:01:30 -05:00
Christoph Oelckers
fec958cc0a - finally managed to get rid of the DWORD type.
This one was particularly nasty because Windows also defines a DWORD, but in Windows it is an unsigned long, not an unsigned int so changing types caused type conflicts and not all could be removed.
Those referring to the Windows type have to be kept, fortunately they are mostly in the Win32 directory, with a handful of exceptions elsewhere.
2017-03-10 19:46:22 +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
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
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
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
Rachael Alexanderson
536e8fad19 - Make QZDoom GZDoom again! 2017-03-09 11:51:42 -05:00
Rachael Alexanderson
cc9a2e5121 Merge https://github.com/coelckers/gzdoom 2017-03-08 21:25:24 -05:00