obs-studio/plugins/win-capture
jp9000 2591f24594 win-capture: Add game capture fix for darkest dungeon
Darkest dungeon uses an unusual technique for drawing its frames: a
fixed 1920x1080 frame buffer used in place of the backbuffer, which is
then stretched to fit the size of the screen (whether the screen is
bigger or smaller than the actual texture).

The custom frame would cause glReadBuffer to initially fail with an
error.  When this happens, their custom frame buffer is in use, so all
that needs to be done is simply reset the capture and force the current
output size to 1920x1080 while that custom frame is in use.

They presumably did this in order to ensure the game looks the same at
any resolution.  Instead of having to use power-of-two sprites and
mipmaps for every single game sprite and stretch/skew each of them
(which would risk the final output "not looking quite right" at
different resolutions), they simply use non-pow-2 sprites with no
mipmaps and render them all on to one texture of a fixed size and then
stretch that final output texture.  That ensures that the actual
composite of the game still looks the same at any resolution, while
reducing texture memory by not requiring each sprite to use a
power-of-two texture and mipmaps.
2016-01-26 11:49:28 -08:00
..
d3d8-api Use _MSC_VER for MSVC-specific pragmas 2015-02-09 03:49:18 -08:00
data/locale Add latest translations from Crowdin 2015-11-16 21:04:55 +01:00
get-graphics-offsets win-capture: Hook Reset/ResetEx in Present* funcs 2015-11-20 14:06:37 -08:00
graphics-hook win-capture: Add game capture fix for darkest dungeon 2016-01-26 11:49:28 -08:00
inject-helper win-capture: Fix mingw compiler warnings 2015-07-11 14:26:51 -07:00
CMakeLists.txt win-capture: Add direct hooking and use by default 2015-07-05 15:17:07 -07:00
cursor-capture.c Make capture sources w/o alpha use opaque effect 2015-03-22 19:18:05 -07:00
cursor-capture.h win-capture: Don't draw cursor if outside area 2015-01-03 02:37:18 -08:00
dc-capture.c (API Change) libobs: Use single func for base effects 2015-10-19 00:52:45 -07:00
dc-capture.h (API Change) libobs: Use single func for base effects 2015-10-19 00:52:45 -07:00
duplicator-monitor-capture.c (API Change) libobs: Use single func for base effects 2015-10-19 00:52:45 -07:00
funchook.c win-capture: Fix crash with 64bit bounce hook 2015-09-22 18:07:50 -07:00
funchook.h win-capture: Add 64bit bounce to func_hook 2015-07-03 12:17:25 -07:00
game-capture.c (API Change) libobs: Use single func for base effects 2015-10-19 00:52:45 -07:00
graphics-hook-info.h win-capture: Hook Reset/ResetEx in Present* funcs 2015-11-20 14:06:37 -08:00
hook-helpers.h Fix windows printf format warnings (from mingw) 2015-02-09 03:49:14 -08:00
inject-library.c win-capture: Use MEM_RESERVE to comply with VirtualAllocEx spec 2015-11-06 18:16:29 +01:00
inject-library.h win-capture: Add inject library files 2015-07-05 15:17:06 -07:00
load-graphics-offsets.c win-capture: Hook Reset/ResetEx in Present* funcs 2015-11-20 14:06:37 -08:00
monitor-capture.c (API Change) libobs: Use single func for base effects 2015-10-19 00:52:45 -07:00
obfuscate.c Use _MSC_VER for MSVC-specific pragmas 2015-02-09 03:49:18 -08:00
obfuscate.h win-capture: Add obfuscation functions 2014-12-08 01:53:51 -08:00
plugin-main.c win-capture: Cache data to reduce load time 2015-10-04 21:16:31 -07:00
window-capture.c (API Change) libobs: Use single func for base effects 2015-10-19 00:52:45 -07:00
window-helpers.c win-capture: Check return values on Windows API functions 2015-10-12 23:21:45 +02:00
window-helpers.h win-capture: Expose get_window_exe as extern 2014-12-08 01:53:53 -08:00