alexey.lysiuk
61979f63c1
Removed last remnants of PowerPC Mac support
2018-02-11 16:35:34 +02: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
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
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
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
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
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
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
raa-eruanna
0df2779004
- fixed mac compile(hopefully?)
2017-07-29 17:03:18 -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
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
Christoph Oelckers
9fc309d5b5
- stop the music when processing a fatal error.
2017-05-19 12:20:33 +02:00
Chris Robinson
092b339c8f
Replace usleep with nanosleep for macOS too
2017-05-10 09:44:54 +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
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
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
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
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
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
Rachael Alexanderson
5dad292c56
Merge remote-tracking branch 'remotes/gzdoom/master'
2017-02-15 05:43:15 -05: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
alexey.lysiuk
dd0f55e8d8
Fixed compilation of Cocoa backend
2017-02-14 22:02:47 +02: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
Rachael Alexanderson
6ed46921c8
Merge https://github.com/coelckers/gzdoom
2017-02-09 11:21:01 -05:00
alexey.lysiuk
7c8babceba
Extended mouse wheel handling in Cocoa backend
...
Horizontal scrolling using mouse wheel with Shift keyboard button hold is no longer ignored
2017-02-09 16:07:28 +02:00
ZZYZX
b833f5a852
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-02-04 10:27:37 +02:00
Rachael Alexanderson
ebb8da563a
Merge https://github.com/coelckers/gzdoom
2017-02-04 02:56:18 -05:00
alexey.lysiuk
c6e42d6fa0
Added handling of modifier keys for mouse events in Cocoa backend
2017-02-03 22:01:34 +02:00
alexey.lysiuk
f04b0d129d
Removed useless assignment in Cocoa backend
2017-02-03 21:56:14 +02:00
ZZYZX
03f7c39ea7
Fixed mouse input in event handlers. Added RequireMouse field in event handler to signify that native mouse should be turned on for certain handlers.
2017-02-03 20:34:34 +02:00
ZZYZX
6a0103a746
Merged p_setup conflict
2017-02-03 13:02:44 +02:00
ZZYZX
9bb4cf1c03
User input events first take
2017-02-03 12:28:40 +02:00
Rachael Alexanderson
4e45ea2300
Merge https://github.com/coelckers/gzdoom
2017-01-31 23:04:56 -05:00
alexey.lysiuk
b12c8a8f79
RDTSC-based glcycle_t for macOS
...
Time profiler implementation is now closer to Windows version
2017-01-31 16:00:14 +02:00
alexey.lysiuk
1cdfcb4935
RDTSC-based cycle_t for macOS
...
Windows and macOS now share most of related code
Old implementation using mach_absolute_time() was more precise (at least in theory) but too costly
2017-01-31 15:57:47 +02: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
alexey.lysiuk
4001e7e6bd
Fixed compilation with macOS SDK earlier than 10.7
2017-01-13 10:52:35 +02:00
alexey.lysiuk
96228fd645
Fixed compilation of non-Windows backends
2016-12-27 12:55:26 +02:00
Rachael Alexanderson
383a59259a
Revert "Merge commit 'refs/pull/122/head' of https://github.com/coelckers/gzdoom "
...
This reverts commit 71b4f57058
, reversing
changes made to 449d4963ae
.
2016-11-25 21:02:18 -05:00
Rachael Alexanderson
509108f8b6
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-11-24 23:46:33 -05:00
Christoph Oelckers
aa4b3bb230
Merge branch 'master' of https://github.com/rheit/zdoom
2016-11-24 09:58:29 +01:00
Edoardo Prezioso
68dc3c4f2d
- Preventive fix for future include conflicts.
...
basicinlines.h is only included in m_fixed.h, while basictypes.h is included only in headers, so it's better to respect this convention. OSX compiles fine also without m_fixed.h, even better.
2016-11-24 09:09:09 +01:00
Rachael Alexanderson
fc011e42dd
Merge branch 'master' of https://github.com/rheit/zdoom
2016-11-19 12:46:01 -05:00
alexey.lysiuk
c28bcca3f3
Print unknown if release information is unavailable on macOS
...
At least 10.4 Tiger doesn't support required sysctl name
2016-11-19 16:42:16 +01:00
alexey.lysiuk
60ac12be0a
Fixed compilation warnings in Cocoa backend
2016-11-19 16:42:16 +01:00
Rachael Alexanderson
71b4f57058
Merge commit 'refs/pull/122/head' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/posix/cocoa/i_video.mm
# src/posix/sdl/hardware.cpp
# src/win32/hardware.cpp
2016-11-16 01:03:32 -05:00
Rachael Alexanderson
813030efef
- Fully implemented CVAR_OVERRIDEGET for vid_renderer from the ZDoom code submission.
2016-11-15 20:03:50 -05:00
Magnus Norddahl
8b297221fe
Merge branch 'gl_swframebuffer' into qzdoom
2016-10-16 23:18:16 +02:00
Magnus Norddahl
f81d0d3964
macOS support and Intel driver bug fixes
2016-10-16 22:40:08 +02:00
Magnus Norddahl
f37ee3a024
Add bgra support to OpenGLSWFrameBuffer
2016-10-11 15:43:12 +02:00
raa-eruanna
2a7b902a0a
Merge http://github.com/coelckers/gzdoom
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
2016-10-10 10:39:07 -04:00
Christoph Oelckers
14a6e7989b
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# wadsrc/static/menudef.txt
2016-10-10 11:38:08 +02:00
alexey.lysiuk
9a72ef1bf1
Added detection of current macOS version
2016-10-08 15:47:16 +03:00
alexey.lysiuk
e9b1da57a3
Fixed compilation on macOS
2016-09-25 17:43:52 +03:00
raa-eruanna
842558384a
Forgot to set vid_renderer defaults for Linux and Mac.
2016-09-14 07:33:31 -04:00
raa-eruanna
b0029fcd1e
Set version to 0.0 (prerelease), set render defaults for true-color software renderer since that is the focus of this project
2016-09-14 06:38:08 -04:00
raa-eruanna
b17b7446cb
Merge http://github.com/coelckers/gzdoom
2016-09-14 03:15:56 -04:00
alexey.lysiuk
66c5121e38
Do not use OpenGL Core Profile for software renderer on macOS
2016-09-10 17:54:19 +03:00
raa-eruanna
dede94b7e2
Merge branch 'master' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/posix/cocoa/i_video.mm
# src/win32/hardware.cpp
# wadsrc/static/menudef.txt
2016-09-08 03:26:11 -04:00
alexey.lysiuk
108dcf122a
Updated support for legacy renderer in Cocoa backend
...
Added fallback to legacy profile when creation of pixel format for core context failed
Added handling of -glversion command line switch
2016-09-04 15:25:37 +03:00