mirror of
https://github.com/libretro/RetroArch
synced 2025-03-26 11:37:30 +00:00
(Xbox 1/XDK) Screenshot code implemented
This commit is contained in:
parent
fda2dff40c
commit
6d5ed820e0
@ -51,7 +51,7 @@ CFLAGS += -DHAVE_FILE_LOGGER
|
|||||||
CFLAGS += -Iconsole/logger
|
CFLAGS += -Iconsole/logger
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -std=gnu99 -DHAVE_DEFAULT_RETROPAD_INPUT -DHAVE_RGUI -DHAVE_THREAD -DRARCH_CONSOLE -DHAVE_LIBRETRO_MANAGEMENT -DHAVE_RARCH_EXEC -DHAVE_CONFIGFILE=1 -DGEKKO -DHW_RVL -DHAVE_ZLIB -DHAVE_RARCH_MAIN_WRAP -DHAVE_GRIFFIN=1 -DPACKAGE_VERSION=\"0.9.7-rc2\" -Dmain=rarch_main -Wno-char-subscripts
|
CFLAGS += -std=gnu99 -DHAVE_DEFAULT_RETROPAD_INPUT -DHAVE_RGUI -DHAVE_THREAD -DRARCH_CONSOLE -DHAVE_LIBRETRO_MANAGEMENT -DHAVE_RARCH_EXEC -DHAVE_CONFIGFILE=1 -DGEKKO -DHW_RVL -DHAVE_ZLIB -DHAVE_RARCH_MAIN_WRAP -DHAVE_GRIFFIN=1 -DHAVE_SCREENSHOTS -DPACKAGE_VERSION=\"0.9.7-rc2\" -Dmain=rarch_main -Wno-char-subscripts
|
||||||
|
|
||||||
ifeq ($(DEBUG), 1)
|
ifeq ($(DEBUG), 1)
|
||||||
CFLAGS += -O0 -g
|
CFLAGS += -O0 -g
|
||||||
|
@ -291,6 +291,13 @@ NETPLAY
|
|||||||
#include "../../netplay.c"
|
#include "../../netplay.c"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*============================================================
|
||||||
|
SCREENSHOTS
|
||||||
|
============================================================ */
|
||||||
|
#ifdef HAVE_SCREENSHOTS
|
||||||
|
#include "../../screenshot.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
/*============================================================
|
/*============================================================
|
||||||
MENU
|
MENU
|
||||||
============================================================ */
|
============================================================ */
|
||||||
@ -304,7 +311,6 @@ MENU
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_RGUI
|
#ifdef HAVE_RGUI
|
||||||
#include "../../screenshot.c"
|
|
||||||
#include "../rgui/rgui.c"
|
#include "../rgui/rgui.c"
|
||||||
#include "../rgui/list.c"
|
#include "../rgui/list.c"
|
||||||
#endif
|
#endif
|
||||||
|
@ -73,7 +73,11 @@ enum
|
|||||||
SOUND_MODE_LAST
|
SOUND_MODE_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define MAXIMUM_PATH 260
|
||||||
|
#else
|
||||||
#define MAXIMUM_PATH 512
|
#define MAXIMUM_PATH 512
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@ -90,6 +94,7 @@ typedef struct
|
|||||||
char filebrowser_startup_dir[MAXIMUM_PATH];
|
char filebrowser_startup_dir[MAXIMUM_PATH];
|
||||||
char filesystem_root_dir[MAXIMUM_PATH];
|
char filesystem_root_dir[MAXIMUM_PATH];
|
||||||
char input_presets_dir[MAXIMUM_PATH];
|
char input_presets_dir[MAXIMUM_PATH];
|
||||||
|
char screenshots_dir[MAXIMUM_PATH];
|
||||||
#ifdef HAVE_MULTIMAN
|
#ifdef HAVE_MULTIMAN
|
||||||
char multiman_self_file[MAXIMUM_PATH];
|
char multiman_self_file[MAXIMUM_PATH];
|
||||||
#endif
|
#endif
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../rmenu.h"
|
#include "../rmenu.h"
|
||||||
|
#include "../../screenshot.h"
|
||||||
#include "../../gfx/context/xdk_ctx.h"
|
#include "../../gfx/context/xdk_ctx.h"
|
||||||
|
|
||||||
#define ROM_PANEL_WIDTH 510
|
#define ROM_PANEL_WIDTH 510
|
||||||
@ -153,7 +154,19 @@ static void rmenu_ctx_xdk_screenshot_enable(bool enable)
|
|||||||
|
|
||||||
static void rmenu_ctx_xdk_screenshot_dump(void *data)
|
static void rmenu_ctx_xdk_screenshot_dump(void *data)
|
||||||
{
|
{
|
||||||
(void)data;
|
xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
|
||||||
|
char filename[PATH_MAX];
|
||||||
|
char shotname[PATH_MAX];
|
||||||
|
|
||||||
|
screenshot_generate_filename(shotname, sizeof(shotname));
|
||||||
|
snprintf(filename, sizeof(filename), "%s\\%s", default_paths.screenshots_dir, shotname);
|
||||||
|
|
||||||
|
D3DSurface *surf = NULL;
|
||||||
|
d3d->d3d_render_device->GetBackBuffer(-1, D3DBACKBUFFER_TYPE_MONO, &surf);
|
||||||
|
XGWriteSurfaceToFile(surf, filename);
|
||||||
|
surf->Release();
|
||||||
|
|
||||||
|
msg_queue_push(g_extern.msg_queue, "Screenshot saved.", 1, 30);
|
||||||
}
|
}
|
||||||
|
|
||||||
const rmenu_context_t rmenu_ctx_xdk = {
|
const rmenu_context_t rmenu_ctx_xdk = {
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
Optimization="3"
|
Optimization="3"
|
||||||
OptimizeForProcessor="2"
|
OptimizeForProcessor="2"
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
||||||
PreprocessorDefinitions="_DEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;HAVE_GRIFFIN;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER"
|
PreprocessorDefinitions="_DEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;HAVE_GRIFFIN;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER;HAVE_SCREENSHOTS"
|
||||||
MinimalRebuild="TRUE"
|
MinimalRebuild="TRUE"
|
||||||
BasicRuntimeChecks="0"
|
BasicRuntimeChecks="0"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
@ -72,7 +72,7 @@
|
|||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="TRUE"
|
||||||
OptimizeForProcessor="2"
|
OptimizeForProcessor="2"
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
||||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;PROFILE;HAVE_GRIFFIN;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER"
|
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;PROFILE;HAVE_GRIFFIN;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER;HAVE_SCREENSHOTS"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
BufferSecurityCheck="TRUE"
|
BufferSecurityCheck="TRUE"
|
||||||
@ -127,7 +127,7 @@
|
|||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="TRUE"
|
||||||
OptimizeForProcessor="2"
|
OptimizeForProcessor="2"
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
||||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;PROFILE;FASTCAP;HAVE_GRIFFIN;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER"
|
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;PROFILE;FASTCAP;HAVE_GRIFFIN;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER;HAVE_SCREENSHOTS"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
BufferSecurityCheck="TRUE"
|
BufferSecurityCheck="TRUE"
|
||||||
@ -188,7 +188,7 @@
|
|||||||
EnableFiberSafeOptimizations="TRUE"
|
EnableFiberSafeOptimizations="TRUE"
|
||||||
OptimizeForProcessor="2"
|
OptimizeForProcessor="2"
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
||||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;HAVE_GRIFFIN;inline=_inline;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER"
|
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;HAVE_GRIFFIN;inline=_inline;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER;HAVE_SCREENSHOTS"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
BufferSecurityCheck="TRUE"
|
BufferSecurityCheck="TRUE"
|
||||||
@ -241,7 +241,7 @@
|
|||||||
OmitFramePointers="TRUE"
|
OmitFramePointers="TRUE"
|
||||||
OptimizeForProcessor="2"
|
OptimizeForProcessor="2"
|
||||||
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
AdditionalIncludeDirectories=""$(SolutionDir)\msvc-stdint";"$(SolutionDir)\msvc-71""
|
||||||
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;LTCG;HAVE_GRIFFIN;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER"
|
PreprocessorDefinitions="NDEBUG;_XBOX;_XBOX1;HAVE_RMENU;RARCH_CONSOLE;HAVE_XINPUT_XBOX1;PACKAGE_VERSION=\"0.9.7-rc1\";__STDC_CONSTANT_MACROS;HAVE_ZLIB;LTCG;HAVE_GRIFFIN;HAVE_RARCH_MAIN_WRAP;HAVE_LIBRETRO_MANAGEMENT;HAVE_RARCH_EXEC;HAVE_DEFAULT_RETROPAD_INPUT;HAVE_CONFIGFILE;HAVE_VID_CONTEXT;HAVE_DSOUND;HAVE_D3D8;HAVE_FILEBROWSER;HAVE_SCREENSHOTS"
|
||||||
StringPooling="TRUE"
|
StringPooling="TRUE"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
BufferSecurityCheck="TRUE"
|
BufferSecurityCheck="TRUE"
|
||||||
@ -275,7 +275,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="XboxDeploymentTool"
|
Name="XboxDeploymentTool"
|
||||||
RemotePath="xe:\$(SolutionName)\CORE.xbe"
|
RemotePath="xe:\$(SolutionName)\CORE.xbe"
|
||||||
AdditionalFiles="..\..\xbox1\Media;roms;system"
|
AdditionalFiles="..\..\xbox1\Media;roms;system;screenshots"
|
||||||
ForceCopy="TRUE"/>
|
ForceCopy="TRUE"/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="XboxImageTool"
|
Name="XboxImageTool"
|
||||||
|
0
msvc/RetroArch-Xbox1/screenshots/.empty
Normal file
0
msvc/RetroArch-Xbox1/screenshots/.empty
Normal file
@ -88,7 +88,7 @@ static void set_fast_forward_button(bool new_button_state, bool new_hold_button_
|
|||||||
old_hold_button_state = new_hold_button_state;
|
old_hold_button_state = new_hold_button_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_SCREENSHOTS
|
#if defined(HAVE_SCREENSHOTS) && !defined(_XBOX)
|
||||||
static bool take_screenshot_viewport(void)
|
static bool take_screenshot_viewport(void)
|
||||||
{
|
{
|
||||||
unsigned width = 0, height = 0;
|
unsigned width = 0, height = 0;
|
||||||
@ -2237,7 +2237,7 @@ static void check_cheats(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_SCREENSHOTS
|
#if defined(HAVE_SCREENSHOTS) && !defined(_XBOX)
|
||||||
static void check_screenshot(void)
|
static void check_screenshot(void)
|
||||||
{
|
{
|
||||||
static bool old_pressed = false;
|
static bool old_pressed = false;
|
||||||
@ -2301,7 +2301,7 @@ static void check_netplay_flip(void)
|
|||||||
|
|
||||||
static void do_state_checks(void)
|
static void do_state_checks(void)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_SCREENSHOTS
|
#if defined(HAVE_SCREENSHOTS) && !defined(_XBOX)
|
||||||
check_screenshot();
|
check_screenshot();
|
||||||
#endif
|
#endif
|
||||||
#ifndef RARCH_CONSOLE
|
#ifndef RARCH_CONSOLE
|
||||||
|
@ -112,6 +112,7 @@ static void get_environment_settings (void)
|
|||||||
strlcpy(default_paths.filesystem_root_dir, "D:", sizeof(default_paths.filesystem_root_dir));
|
strlcpy(default_paths.filesystem_root_dir, "D:", sizeof(default_paths.filesystem_root_dir));
|
||||||
strlcpy(default_paths.executable_extension, ".xbe", sizeof(default_paths.executable_extension));
|
strlcpy(default_paths.executable_extension, ".xbe", sizeof(default_paths.executable_extension));
|
||||||
strlcpy(default_paths.filebrowser_startup_dir, "D:", sizeof(default_paths.filebrowser_startup_dir));
|
strlcpy(default_paths.filebrowser_startup_dir, "D:", sizeof(default_paths.filebrowser_startup_dir));
|
||||||
|
strlcpy(default_paths.screenshots_dir, "D:\\screenshots", sizeof(default_paths.screenshots_dir));
|
||||||
#elif defined(_XBOX360)
|
#elif defined(_XBOX360)
|
||||||
#ifdef HAVE_HDD_CACHE_PARTITION
|
#ifdef HAVE_HDD_CACHE_PARTITION
|
||||||
strlcpy(default_paths.cache_dir, "cache:\\", sizeof(default_paths.cache_dir));
|
strlcpy(default_paths.cache_dir, "cache:\\", sizeof(default_paths.cache_dir));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user