alexey.lysiuk
0822485593
Used ISO Latin 1 encoding for text in startup window on OS X
...
Attempts to output errors with bad characters encountered during text lumps parsing were failed miserably because of UTF-8 conversion
Example: loading of GZ-Models-r16.pk3 with GZDoom caused 'NSConcreteAttributedString initWithString:: nil value' exception
2016-02-28 23:15:23 +01:00
alexey.lysiuk
243f59d96d
Made sure that the last text line is always visible in OS X startup window
...
These case are handled specifically:
* When waiting for clients or host to join
* When showing a fatal error
2016-02-28 23:15:22 +01:00
alexey.lysiuk
067b421f39
Fixed default width of progress bar in OS X startup window
...
If window was resized before progress bar appears it will have hardcoded and so incorrect width
2016-02-28 23:15:21 +01:00
alexey.lysiuk
64f80456ad
Initialized scroll view with the same rectangle as other controls in OS X startup window
2016-02-28 23:15:20 +01:00
alexey.lysiuk
145b7be0a1
Fixed particular slowdown in OS X startup window
...
During loading of .pk3 that stores hundred of .wad's significant amount of time were spent on scrolling text to the last line
The same applies to other cases like output of thousands warnings/errors
2016-02-28 23:15:19 +01:00
alexey.lysiuk
c687394f72
Added generic way to do periodic updates of OS X startup window
...
It's used to avoid updating of window (progress bar in particular) too often
Most of time were spent on UI events processing but not on data loading
2016-02-28 23:15:18 +01:00
alexey.lysiuk
0fba6563c7
Disabled fullscreen mode for OS X startup window
...
There is no use for auxiliary fullscreen window because it behaves really weird
2016-02-28 23:15:17 +01:00
alexey.lysiuk
9e016bbfc3
Removed useless operations from OS X system code
...
No more 'expression result unused' warnings
2016-02-27 12:48:26 +02:00
alexey.lysiuk
202aea61e5
Fixed incorrect comparison in OS X console window
...
No more 'comparison between pointer and integer' error
2016-02-27 12:48:12 +02:00
alexey.lysiuk
7b0f557514
Enabled zoom window button on OS X
...
Independently from OS version the game will enter fullscreen mode when zoom button is clicked
Window zooming behavior introduced in Yosemite is available on all supported versions of OS X
2016-01-31 10:42:16 +02:00
alexey.lysiuk
4b210a839a
Fixed uninitialized variable in IOKit controller handler
2016-01-24 14:43:55 +02:00
alexey.lysiuk
24501dbc93
Fixed copy to pasteboard on legacy OS X
...
Copy/paste is now implemented using the method available on all supported versions
This fixes 'unrecognized selector' exception on OS X 10.4 and 10.5
2016-01-17 11:58:44 +02:00
alexey.lysiuk
bfc116b2a4
Fixed exit crash on legacy OS X
...
There is no need to close (and thus deallocate) console window explicitly
This will be done by autorelease pool in application controller event loop
OS X with GC and/or ARC was not affected by this issue
Older versions like 10.4 or 10.5 crashed because of double deallocation
2016-01-17 11:51:46 +02:00
Braden Obrzut
0c3b468e42
Merge branch 'osx_start_wnd'
2016-01-11 20:47:06 -05:00
alexey.lysiuk
b27fdcffb5
Added shortcut to toggle fullscreen on OS X
...
Press Command+F to toggle fullscreen mode in native OS X backend
Set k_allowfullscreentoggle CVAR to false to disable the shortcut
2016-01-09 17:12:58 +02:00
Braden Obrzut
a1e0ac0b71
Merge branch 'osx_start_wnd' of git://github.com/alexey-lysiuk/gzdoom into osx_start_wnd
2016-01-04 22:11:46 -05:00
alexey.lysiuk
699f274b06
Fixed mouse cursor centering in fullscreen mode
...
Native OS X backed didn't center mouse cursor in fullscreen mode with Retina/HiDPI support enabled
Incorrect size of content view led to placement of cursor in upper right corner of the screen upon releasing of mouse capture
When some action is assigned to this corner using system Hot Corners feature, the given action was triggered on acquiring mouse capture
2016-01-04 10:51:54 +02:00
alexey.lysiuk
94fec26cb6
Fixed runtime warning on OS X 10.4 Tiger
...
The 'invalid pixel format attribute' warning was introduced with automated graphics switching control
2015-12-31 11:00:05 +02:00
alexey.lysiuk
63993dee96
Hid resize indicator on OS X startup window
...
The resize indicator overlapped with progress bar and Quit/Cancel button on 10.6 and older versions
OS X 10.7 and newer don't have this indicator at all
2015-12-30 16:05:16 +02:00
alexey.lysiuk
3466a8c7a9
Disabled miniaturization for OS X startup window
...
Old versions of OS X don't support changing of window style mask
2015-12-30 12:19:50 +02:00
alexey.lysiuk
db207feed1
Added missing header #include for old OS X SDKs
2015-12-30 12:17:38 +02:00
alexey.lysiuk
3af95e0aea
Added native startup window for OS X
2015-12-29 15:19:42 +02:00
alexey.lysiuk
673e1b4faf
Fixed compilation warning when building with OS X 10.11 SDK
...
The warning was 'null passed to a callee that requires a non-null argument'
2015-12-29 15:14:41 +02:00
alexey.lysiuk
2c3d9e3ab8
Fixed mouse capturing when video isn't initialized yet
2015-12-29 14:52:31 +02:00
alexey.lysiuk
15a269db9d
Extended NSWindow with ability to exit application upon closing by user
2015-12-29 14:52:27 +02:00
alexey.lysiuk
3676a42512
Added missing include guard in i_common.h
2015-12-29 14:52:22 +02:00
alexey.lysiuk
0efdccd942
Separated POSIX's i_system.cpp from native OS X implementation
2015-12-29 14:52:18 +02:00
alexey.lysiuk
6f3e04785d
Added preprocessor macros for AppKit framework versions
...
These macros are needed to build with earlier OS X SDKs
2015-12-29 14:52:11 +02:00
alexey.lysiuk
916b5f796d
Updated list of video resolutions for Cocoa backend
...
Added resolutions for iMac Retina 4K 21.5"
Added comments about a few resolutions specific to Macs
2015-10-14 13:17:21 +03:00
Braden Obrzut
3adda344b6
- Missing common resolution 1680x1050 added to resolution list of SDL and Cocoa.
2015-07-06 02:58:01 -04:00
alexey.lysiuk
ebd8f24103
Fixed compilation with OS X SDK 10.4
2015-04-05 11:39:49 +03:00
alexey.lysiuk
193b491b63
Added control of automatic graphics switching on OS X
...
Automatic graphics switching is enabled by default
Set vid_autoswitch CVAR to false to disable it
2015-04-04 17:36:55 +03:00
alexey.lysiuk
64d663397b
Added video resolution of new 12" MacBook, 2304-by-1440
2015-03-14 11:39:47 +02:00
alexey.lysiuk
5336f1085c
Fixed incorrect value that I_FPSTime() may return when OS X thread-based timer implementation is used
2015-01-11 10:30:30 +02:00
alexey.lysiuk
83c6798651
Fixed a very slim chance that window will be white and empty after startup
...
There are a few quite specific steps to reproduce this issue:
* 640x480 video resolution
* -iwad ... -warp ... command line parameters
* OS X 10.4 or 10.5 PowerPC, maybe performance related
When all these requirements are met, content view doesn't show up sometimes
The simplest solution for this issue is to set initial window size to non-existent video resolution
2015-01-07 14:50:55 +02:00
alexey.lysiuk
324a1a7b77
Added support for dynamic device attachment and removal to IOKit gaming controllers handling
2015-01-06 13:40:39 +02:00
alexey.lysiuk
04d3802960
Fixed build issue with OS X SDK 10.4
2015-01-05 18:12:07 +02:00
alexey.lysiuk
b59fc59539
Added missing header comment
2015-01-05 17:26:06 +02:00
alexey.lysiuk
cb681aad2d
Rearranged header files and #include's
...
Removed unused OS version check
Reduced number of headers
Fixed build with SDK 10.4
2015-01-05 17:24:54 +02:00
alexey.lysiuk
d418648e59
Fixed compiler warning with format string parameter
2015-01-05 15:46:57 +02:00
alexey.lysiuk
31d232e886
Added polling of analog axes to IOKit gaming controllers handling
...
This feature helps a lot with buggy gamepads that constantly generate events from "sticky" hats/sticks
Polling is enabled by default, use joy_axespolling CVAR to turn it on/off
2015-01-05 13:22:53 +02:00
alexey.lysiuk
aa1f51d3d2
Reimplemented gaming controllers support in native OS X backend using pure IOKit
2015-01-04 14:08:53 +02:00
alexey.lysiuk
68dbd56eab
Small cleanup in i_video.mm
2014-12-29 18:03:36 +02:00
alexey.lysiuk
1c102ef9c9
Internals of native OS X backend event processing are no longer exposed
2014-12-29 12:16:17 +02:00
alexey.lysiuk
21d557ee11
Further cleanup of i_main.mm
2014-12-29 12:10:18 +02:00
alexey.lysiuk
e3f92db395
Custom cursor in OS native backend without global variable
2014-12-29 11:34:57 +02:00
alexey.lysiuk
51afe8a541
Removed explicit release of window in Cocoa IVideo implementation
...
It caused a crash on older OS X like 10.5 and it absence doesn't lead to a memory leak
2014-12-29 10:29:16 +02:00
alexey.lysiuk
4662069b94
Fixed compilation issues with GCC 4.2
2014-12-28 17:11:30 +02:00
alexey.lysiuk
a67dc4148b
Split implementation of native OS X backend into several files
2014-12-28 16:35:00 +02:00
alexey.lysiuk
40d4dc502e
Added comprehensive video modes iteration
...
Added letterboxing status for fullscreen modes
Brought back vid_listmodes console command
2014-12-28 12:48:08 +02:00