Commit graph

330 commits

Author SHA1 Message Date
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
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