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
alexey.lysiuk
3ba3149df3
Deleted remains of obsolete multisampling in Cocoa backend
2016-08-29 22:08:57 +03:00
alexey.lysiuk
b7ec26335f
Enabled OpenGL Core Profile on macOS
2016-08-29 22:03:25 +03:00
Magnus Norddahl
945d5b154a
Remove gl_vid_multisample
2016-08-28 18:10:39 +02:00
Magnus Norddahl
4e38f31a86
Change GetClientWidth/GetClientHeight on macOS to grab size from view.
...
Fix that GetClientWidth/Height returns 0 when queried before initial show.
Allow window to be resizable on macOS.
2016-08-14 09:05:51 +02:00
Magnus Norddahl
c817979eae
Remove GetTrueHeight from GL renderer and concentrate all viewport calculations in SetOutputViewport
2016-08-14 09:05:48 +02:00
Magnus Norddahl
9953d70eaa
Merge remote-tracking branch 'upstream/master' into truecolor
2016-08-06 20:45:35 +02:00
alexey.lysiuk
d3457f4508
Implemented hardware gamma support for macOS
...
Hardware gamma is limited to main display only, use shader-based correction for other displays
2016-07-31 12:19:08 +03:00
Christoph Oelckers
a69182f9ef
Merge branch 'master' of https://github.com/rheit/zdoom
2016-07-31 09:19:36 +02:00
alexey.lysiuk
bd3fd22ac9
Do not use unicode characters in macOS console window
...
The same characters as in stdout are now used to draw bars in console window on macOS
All messages are treated as in ISO Latin 1 encoding and bars looked like garbage output
2016-07-30 16:21:48 +03:00
alexey.lysiuk
c0b86278e3
Removed old cruft from macOS OpenGL backend
...
The only thing left unimplemented is gl_smooth_rendered CVAR
2016-07-30 12:57:30 +03:00
Magnus Norddahl
aeb7df09de
Added hardware gamma option and improved window handling on Windows
2016-07-27 11:15:19 +02:00
Christoph Oelckers
881731d76b
Merge branch 'master' of https://github.com/rheit/zdoom
2016-07-21 08:28:56 +02:00
Magnus Norddahl
421cd2f403
Merge remote-tracking branch 'upstream/master' into truecolor
2016-07-17 23:36:35 +02:00
alexey.lysiuk
39042dc4bf
macOS application controller is now using proper delegate protocol
...
Fixes compilation error with Xcode 8:
cannot initialize a parameter of type 'id<NSApplicationDelegate> _Nullable' with an lvalue of type 'ApplicationController *'
2016-07-17 08:02:55 +02:00
Magnus Norddahl
40b76dc9b0
Apply gamma when using true color output on Linux and Mac
2016-06-11 18:41:56 +02:00
Magnus Norddahl
9420826094
Merge remote-tracking branch 'upstream/master'
2016-06-10 16:59:20 +02:00
Christoph Oelckers
18ebe92cfc
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# src/g_level.cpp
2016-06-01 11:45:57 +02:00
Magnus Norddahl
4f635983fc
Add bgra support to OS X target
2016-06-01 08:54:39 +02:00
Magnus Norddahl
b9d7a98aec
Change swtruecolor cvar to take effect immediately
2016-06-01 06:02:37 +02:00
Magnus Norddahl
05220a7133
Added IsBgra() to DCanvas
...
Changed SWRender output format to be decided by IsBgra()
2016-05-31 09:36:18 +02:00
alexey.lysiuk
89016020a8
Used ISO Latin 1 encoding for title text in startup window on OS X
...
Windows version uses ANSI_CHARSET to handle the corresponding text
This solves the problem like in https://github.com/alexey-lysiuk/gzdoom/issues/63 :
*** Assertion failure in -[NSTextFieldCell _objectValue:forString:errorDescription:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.47/AppKit.subproj/NSCell.m:1684
Invalid parameter not satisfying: aString != nil
2016-05-29 10:58:12 +03:00
Christoph Oelckers
a0dc4ae738
Merge branch 'master' of https://github.com/rheit/zdoom
2016-05-24 13:53:52 +02:00
alexey.lysiuk
aa6753383d
Fixed fullscreen mode on non-default monitor in OS X backend
...
Fullscreen window was incorrectly placed on the main screen instead of the current one
Honestly I have no idea what was the reason behind that [NSWindow setFrameOrigin:] call
Apparently it's redundant and moreover it's incorrect for multi-monitor configuration
2016-05-22 13:22:07 +03:00
Christoph Oelckers
0cc57c6141
- fixed: BoundTextureDraw2D must reset the texture mode.
2016-05-10 20:50:01 +02:00
alexey.lysiuk
333560086d
Calculate color values for gamma correction directly in shader
...
Gamma table texture is no longer needed
2016-05-02 11:24:42 +03:00
alexey.lysiuk
44b019413c
Implemented gamma correction in OS X native backend using shader effect
2016-05-02 10:04:09 +03:00