Commit graph

377 commits

Author SHA1 Message Date
Christoph Oelckers
d474b849a5 - removed the remaining calls from the FRenderer interface from the main game code.
This does not work with a setup where the same backend is driving both renderers.
Most of this is now routed through 'screen', and the decision between renderers has to be made inside the actual render functions.
The software renderer is still driven by a thin opaque interface to keep it mostly an isolated module.
2018-04-04 00:21:25 +02:00
Christoph Oelckers
9ba32cb994 - with the new order of things we need the software renderer to be always available. 2018-04-03 20:14:26 +02:00
Christoph Oelckers
248a29bf06 - resorted portal render data.
Compiles but does not work...
2018-04-01 22:26:57 +02:00
Christoph Oelckers
711a88bab3 - consolidated cycle_t and glcycle_t because aside from glcycle_t's ability to be deactivated when no profiling takes place they did exactly the same thing. 2018-04-01 13:24:03 +02:00
Christoph Oelckers
1461059dae - moved contents of gl_templates.h to files outside of gl/ 2018-04-01 11:59:12 +02:00
Christoph Oelckers
6d6196388e - made SPROFS a more usable feature.
This was originally invented to fix the sprite offsets for the hardware renderer.
Changed it so that it doesn't override the original offsets but acts as a second set.
A new CVAR has been added to allow controlling the behavior per renderer.
2018-03-31 10:37:46 +02:00
Christoph Oelckers
6cd26dec01 - remove some dead code. 2018-03-31 00:25:15 +02:00
Christoph Oelckers
a001a5304d - removed the old software renderer framebuffers for Windows
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers
1e5fbc1423 Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
# Conflicts:
#	src/posix/cocoa/i_video.mm
2018-03-30 22:06:17 +02:00
alexey.lysiuk
fdd93d704d Merged list of video modes for Cocoa and SDL backends
https://forum.zdoom.org/viewtopic.php?t=59990
2018-03-28 15:12:07 +03:00
Christoph Oelckers
29ad081368 - removed remaining DirectDraw code and a few other things that are no longer being used. 2018-03-27 21:04:01 +02:00
Christoph Oelckers
62f073ef60 - removed Accel2D variable and a little bit of locking cruft. 2018-03-27 17:13:10 +02:00
Christoph Oelckers
377aa95e34 - removed empty header. 2018-03-27 12:01:15 +02:00
Christoph Oelckers
e0f1abdf81 - removed SDLFB and cleaned things up a bit. 2018-03-27 11:59:43 +02:00
Christoph Oelckers
1a28644d83 - cleaned out unused stuff from DCanvas.
- removed CocoaFrameBuffer because it is a software fallback which is no longer supported.
2018-03-27 11:25:06 +02:00
Christoph Oelckers
ba799aebbd - moved locking logic from DCanvas to DFrameBuffer.
The software canvases used for rendering camera textures and save pictures in the software renderer do not need this.
2018-03-27 11:12:13 +02:00
Christoph Oelckers
40bbe5cd8a - removed DirectDraw backend. 2018-03-26 22:03:32 +02:00
Christoph Oelckers
e89a598b31 - renamed FTexture's UseType flags and gave them a dedicated type.
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Rachael Alexanderson
fbc4831072 - remove empty Mac I_HTTPRequest prototype since it's not used 2018-03-12 19:33:49 +01:00
Christoph Oelckers
f2f649bf77 - put all stats related code into one file. 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
033a11a028 - fix compile on clang
- implement TCP connections in Linux
- fix passing of request string to a thread
- implement OS stats for ARM and PPC on Linux
2018-03-12 19:33:48 +01:00
Christoph Oelckers
d2fa4d0ff9 - most stat stuff done. 2018-03-12 19:33:48 +01:00
alexey.lysiuk
61979f63c1 Removed last remnants of PowerPC Mac support 2018-02-11 16:35:34 +02:00
Alexander Wilms
55c6a14059 Added simple fatal error window for Linux
There are three variants: KDE dialog, GTK+ window, SDL message box
https://forum.zdoom.org/viewtopic.php?t=57880
2018-01-28 17:03:10 +02:00
Neil McPhail
ded0c7805d Fix failure to write under ~/ in confinement
When running in a confined environment (such as a snap) it may not be
possible to write to directories such as ~/.config. By using the $HOME
variable instead of the '~' shortcut, the confined environment can pass
an alternative 'home' directory with write privelges.

I have only changed this for posix/unix and haven't touched code for
MacOS, as I don't know if that behaves differently
2018-01-21 10:52:42 +01: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
a945418ba6 - added M_GetDocumentsPath function. 2017-12-03 21:03:44 +01:00
Christoph Oelckers
7cbcbe66c0 - sanitization of temporary file stuff for Timidity++.
* do not use the global temp directory. Instead create one in the AppData folder.
* removed lots of unneeded code from tmpfileplus.
* use C++ strings in there.
2017-12-02 17:33:43 +01: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
Christoph Oelckers
838e52001c - got rid of M_ReadFile(Malloc) which werew each used only once in the entire code. These were still using the low level POSIX-style file interface which shouldn't really be used anymore.
- let FScanner::OpenFile return an error instead of throwing an exception. The exception was never used anyway aside from being caught right away to be ignored.
2017-12-02 13:09:59 +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
raa-eruanna
28d47d463f - fix linux compile
# Conflicts:
#	src/posix/sdl/sdlvideo.cpp
2017-11-18 08:20:58 -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
0db0f2f7b9 - removed redundant POSIX version of I_WaitVBL 2017-11-12 12:12:51 +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
Chris Robinson
f353f8b5aa Improved OpenGL profile selection in SDL backend
https://forum.zdoom.org/viewtopic.php?t=56852
2017-11-07 11:05:06 +02: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
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