alexey.lysiuk
f0ca7fb213
- fixed compilation of Linux targets
2020-04-12 11:03:01 +03:00
alexey.lysiuk
91914b728b
- fixed compilation of Cocoa backend
2020-04-12 11:02:28 +03:00
Christoph Oelckers
0cb2a1b8e9
- moved gl_load to common.
2020-04-11 20:20:59 +02:00
Christoph Oelckers
56f2b2ac56
- reduce backend's dependency on game state by using callbacks.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
05d8856fe0
- moved file system implementation to 'common'.
2020-04-11 14:00:20 +02:00
Christoph Oelckers
c1bb7de23a
- more file system refactoring.
...
* moved the sprite renaming out of the file system entirely into a caller-provided callback.
* renamed several functions to closer match the terms of a file system.
* moved the VM interface out of the implementation.
2020-04-11 14:00:19 +02:00
Christoph Oelckers
6bccde3b51
- renamed the file system related classes to actually use the term "FileSystem".
2020-04-11 14:00:18 +02:00
Christoph Oelckers
fdc14ca805
- renamed fullscreen CVar internally to vid_fullscreen to make searching for it easier.
...
The word 'fullscreen' appears a bit too frequently in the source.
2020-04-11 14:00:15 +02:00
Christoph Oelckers
d523da1313
- make DumpCPUInfo return a string instead of letting it print the info itself. Also consolidated I_Init, because both existing versions were identical.
2020-04-11 14:00:15 +02:00
Christoph Oelckers
fb1a7679ec
- moved most basic utility code without any dependencies on the rest of the engine to 'common' directory.
...
Again the objective is easier sharing with Raze.
2020-04-11 14:00:13 +02:00
Christoph Oelckers
6996d54a23
- moved more code to 'common'.
...
This is all low level utilities with no dependencies on game logic. Having this in a separate directory makes sharing with Raze a lot easier.
2020-04-11 14:00:12 +02:00
alexey.lysiuk
43eb262571
- fixed compilation of Cocoa backend
...
src/utility/i_time.h:6:15: error: redefinition of 'TimeScale' as different kind of symbol
2020-03-28 15:38:45 +02:00
alexey.lysiuk
51b46f1408
- removed detection of unsupported macOS versions
2020-03-28 15:38:05 +02:00
johannes hanika
5ee864ab5b
vid: remove explicit bit depth gl calls
...
this makes gzdoom start on xorg configured with 30bit/pixel deep
colour modes, too. it seems these explicit calls are not required,
and detection via SDL_GetWindowPixelFormat does not yet work with
extended bit depths, so detection + setting size to 8 or 10 depending
on the result is unreliable too (as of SDL 2.0.1).
2020-02-21 11:08:29 +02:00
dondiego
e13e034cc4
SoftPoly only worked with Vulkan support on POSIX platforms ( #1036 )
...
* - CMake: fix wrong filename.
* - Fixed: SoftPoly only worked with Vulkan support on POSIX platforms.
2020-02-15 17:41:52 -05:00
alexey.lysiuk
d527866e6d
- moved showing of start window banner to proper location in Cocoa backend
2020-02-02 11:29:17 +02:00
alexey.lysiuk
f9906ae6cd
- fixed I_FindAttr() to handle symlinks on POSIX platforms
2020-01-26 11:04:06 +02:00
alexey.lysiuk
d425d8d9ca
- put common POSIX system code to a separate file
2020-01-26 11:01:13 +02:00
alexey.lysiuk
7092a0a8f0
- fixed Linux and macOS implementations of I_FindAttr()
...
At the moment, we assume that dirent struct has d_type member, and DT_DIR is defined
This is true for supported versions of macOS, and Linux with glibc
https://forum.zdoom.org/viewtopic.php?t=66945
2020-01-12 23:03:59 +02:00
Christoph Oelckers
d636acb002
- GAMESIG was never supposed to be used in printed output. Replaced all occurences with GAMENAME.
2020-01-12 09:43:47 +01:00
alexey.lysiuk
1bc67cf7b9
- added ability to use static SDL2 library
...
This is intended for developers only, e.g. for testing SDL backend on macOS
2020-01-09 15:37:01 +02:00
alexey.lysiuk
442f953d67
- fixed invalid context warnings with Cocoa backend
...
A bunch of 'CGContext<...>: invalid context 0x0' messages were printed to console during OpenGL view creation and resizing
2020-01-07 14:37:25 +02:00
alexey.lysiuk
fca492df2b
- fixed compilation of debug target with older macOS SDKs
...
src/posix/cocoa/i_video.mm:633:31: error: property 'layer' not found on object of type 'id'
2020-01-06 14:26:16 +02:00
Fabian Greffrath
cc7807bb10
do not expect user input if stdin is redirected
...
If GZDoom is built on a POSIX system without the GTK frontend and not
run from a KDE session, an IWAD picker is presented on the terminal
and expects the user to select a game wad. However, if stdin is
redirected, this won't work, so start with the default IWAD instead.
2019-12-11 08:16:08 +02:00
Braden Obrzut
5a578ba1ae
Fixed: GetClientWidth and GetClientHeight were still using SDL_Surface which on some systems would allocate an SDL_Renderer automatically.
2019-12-09 18:39:36 -05:00
Magnus Norddahl
bf68f1a851
Change SDL renderer creation error to a fatal one and also include why SDL failed the call
2019-12-09 23:33:22 +01:00
Braden Obrzut
4ae2e12cbf
Convert SDL_Surface code to SDL_Renderer
2019-12-08 21:31:16 -05:00
alexey.lysiuk
e4587138bb
- added support for softpoly backend on macOS
...
Grabbed most of code from old Cocoa backend with separate code path for software rendering
2019-12-07 13:25:12 +02:00
Madame Rachelle
f3897e26f0
- allow to change acceleration type in SDL backend for softpoly
2019-12-06 14:38:25 -05:00
Madame Rachelle
c646478aa0
- allow SDL to use OpenGL acceleration for polybackend
2019-12-05 18:27:46 -05:00
Magnus Norddahl
ab4f3ee0b1
Fix black border clears
2019-12-05 22:04:28 +01:00
Magnus Norddahl
e4bd2483e5
Implement SDL present functions
2019-12-05 21:26:01 +01:00
Magnus Norddahl
0f6aec5e99
Some vid_preferbackend compile fixes
2019-12-02 20:12:27 +01:00
alexey.lysiuk
d44d91d6a4
- fixed compilation of Cocoa backend with 10.9 SDK
...
src/posix/cocoa/i_video.mm:68:31: error: property 'delegate' not found on object of type 'id'
src/posix/cocoa/st_console.mm:464:37: error: property 'delegate' not found on object of type 'id'
2019-10-15 22:31:02 +03:00
alexey.lysiuk
29e3222fb3
- updated Cocoa backend to follow single exit point workflow
2019-10-12 14:44:13 +03:00
alexey.lysiuk
bb5ca2ce39
- deleted leftovers of exit refactoring
2019-10-12 12:43:49 +03:00
alexey.lysiuk
b68a9ebef5
- cleanup SDL fatal error reporting
...
Output error text to terminal if SDL message box cannot be shown
Removed wrong "No IWAD found" message
2019-10-11 12:03:23 +03:00
alexey.lysiuk
279b327c6c
- fixed potential crashes in Linux crash reporter
...
Do not access various global objects at early stage of initialization and late stage of shutdown
2019-10-11 12:01:36 +03:00
alexey.lysiuk
08a66abde9
- call SDL_Quit() from main() instead of atexit()
...
This should help with crash reporting during SDL shutdown
2019-10-11 11:56:38 +03:00
alexey.lysiuk
d87170ed9e
- restored command line arguments initialization in SDL backend
2019-10-08 22:18:47 +03:00
alexey.lysiuk
d87f7593b8
- fixed compilation of POSIX targets
...
src/posix/cocoa/i_main.mm:152:2: error: use of undeclared identifier 'ShutdownJoysticks'
src/posix/sdl/i_system.cpp:128:3: error: ‘I_FatalError_Gtk’ was not declared in this scope
src/posix/sdl/st_start.cpp:329:8: error: ‘CExitEvent’ was not declared in this scope
2019-10-08 10:48:43 +03:00
Christoph Oelckers
2e7af1338c
- the big cleanup of the exit cleanup is done!
...
atterm is gone and only a few system-side functions use atexit.
All game side cleanup is performed in D_DoomMain now.
2019-10-07 20:28:55 +02:00
Christoph Oelckers
ff379e7c0c
replaced all 'exit's with an ExitEvent exception
...
The main exits are initiated from code that cannot filter this back to D_DoomMain easily so the exception is the only way to get there.
The 3 main points of exit are:
* quit/exit CCMD
* quitting the menu through ST_Endoom
* receiving a quit message on the main window.
2019-10-07 01:24:51 +02:00
Christoph Oelckers
96006eb94f
- moved all exception handling out of the backends
...
The main catch is now in D_DoomMain, only calling platform specific functions to handle the output for the error.
As a nice side effect, -norun can now be done without an exception, just by exiting D_DoomMain with a special exit code.
2019-10-07 00:37:56 +02:00
Christoph Oelckers
b5fa08bf15
- consolidated I_FatalError functions
...
This also removes the handling from thr Posix backend and will not compile on non-Windows.
2019-10-07 00:20:07 +02:00
Christoph Oelckers
cd086ae1da
- consolidated the 3 I_Error implementations
...
Debug output is now being handled by the respective interface functions, not by the Windows I_Error itself.
2019-10-07 00:01:12 +02:00
alexey.lysiuk
ad3327bdf5
- fixed compilation of Cocoa backend
...
src/posix/cocoa/st_start.mm:63:7: error: redefinition of 'FBasicStartupScreen'
2019-10-02 10:57:39 +03:00
Christoph Oelckers
5179a69fdb
- don't let Vulkan access the vid_vsync variable directly.
...
Since the FrameBuffers have a SetVsync method anything these last set must count, not the global variable directly.
2019-10-01 20:50:15 +02:00
Christoph Oelckers
d2c156224b
- cleanup of the sound init/exit code.
...
Now there is only one single entry point for both, instead of previously 2 entry and 4 exit points.
This also eliminates the explicit shutdown of ZMusic. Timidity++'s two buffers have been put in containers that self-destruct on shutdown and calling dumb_exit is not necessary because the only feature requiring it is not used by any code in the music library.
2019-10-01 20:04:46 +02:00
Christoph Oelckers
86ab366958
- some reformatting on exit code, mainly to make searching for the content easier.
2019-10-01 19:06:28 +02:00