(PS3/Xbox 1) Menu changes

This commit is contained in:
Twinaphex 2012-08-03 17:54:22 +02:00
parent 9123da72ae
commit 9976b81f18
5 changed files with 62 additions and 46 deletions

View File

@ -334,11 +334,11 @@ const char *ps3_get_resolution_label(uint32_t resolution)
switch (resolution) switch (resolution)
{ {
case CELL_VIDEO_OUT_RESOLUTION_480: case CELL_VIDEO_OUT_RESOLUTION_480:
return "720x480 (480p)"; return "720x480";
case CELL_VIDEO_OUT_RESOLUTION_576: case CELL_VIDEO_OUT_RESOLUTION_576:
return "720x576 (576p)"; return "720x576";
case CELL_VIDEO_OUT_RESOLUTION_720: case CELL_VIDEO_OUT_RESOLUTION_720:
return "1280x720 (720p)"; return "1280x720";
case CELL_VIDEO_OUT_RESOLUTION_960x1080: case CELL_VIDEO_OUT_RESOLUTION_960x1080:
return "960x1080"; return "960x1080";
case CELL_VIDEO_OUT_RESOLUTION_1280x1080: case CELL_VIDEO_OUT_RESOLUTION_1280x1080:
@ -348,7 +348,7 @@ const char *ps3_get_resolution_label(uint32_t resolution)
case CELL_VIDEO_OUT_RESOLUTION_1600x1080: case CELL_VIDEO_OUT_RESOLUTION_1600x1080:
return "1600x1080"; return "1600x1080";
case CELL_VIDEO_OUT_RESOLUTION_1080: case CELL_VIDEO_OUT_RESOLUTION_1080:
return "1920x1080 (1080p)"; return "1920x1080";
default: default:
return "Unknown"; return "Unknown";
} }

View File

@ -62,9 +62,8 @@ bool gfx_ctx_get_wm_info(SDL_SysWMinfo *info);
#ifndef HAVE_GRIFFIN #ifndef HAVE_GRIFFIN
bool gfx_ctx_window_has_focus(void); bool gfx_ctx_window_has_focus(void);
void gfx_ctx_swap_buffers(void);
#endif #endif
void gfx_ctx_swap_buffers(void);
void gfx_ctx_input_driver(const input_driver_t **input, void **input_data); void gfx_ctx_input_driver(const input_driver_t **input, void **input_data);

View File

@ -14,16 +14,17 @@
* If not, see <http://www.gnu.org/licenses/>. * If not, see <http://www.gnu.org/licenses/>.
*/ */
#if defined(__CELLOS_LV2__)
#include <sdk_version.h> #include <sdk_version.h>
#include <cell/sysmodule.h> #include <cell/sysmodule.h>
#include <sysutil/sysutil_screenshot.h> #include <sysutil/sysutil_screenshot.h>
#include <cell/dbgfont.h>
#if(CELL_SDK_VERSION > 0x340000) #if(CELL_SDK_VERSION > 0x340000)
#include <sysutil/sysutil_bgmplayback.h> #include <sysutil/sysutil_bgmplayback.h>
#endif #endif
#include "../ps3_input.h" #endif
#include "../../console/fileio/file_browser.h" #include "../../console/fileio/file_browser.h"
#include "../../console/rarch_console.h" #include "../../console/rarch_console.h"
@ -31,18 +32,30 @@
#include "../../console/rarch_console_input.h" #include "../../console/rarch_console_input.h"
#include "../../console/rarch_console_config.h" #include "../../console/rarch_console_config.h"
#include "../../console/rarch_console_settings.h" #include "../../console/rarch_console_settings.h"
#ifdef HAVE_RSOUND
#include "../../console/rarch_console_rsound.h" #include "../../console/rarch_console_rsound.h"
#endif
#include "../../console/rarch_console_video.h" #include "../../console/rarch_console_video.h"
#ifdef HAVE_ZLIB #ifdef HAVE_ZLIB
#include "../../console/rarch_console_rzlib.h" #include "../../console/rarch_console_rzlib.h"
#endif #endif
#if defined(HAVE_OPENGL)
#include "../../gfx/gl_common.h" #include "../../gfx/gl_common.h"
#include "../../gfx/gl_font.h" #include "../../gfx/gl_font.h"
#endif
#include "../../gfx/gfx_context.h" #include "../../gfx/gfx_context.h"
#if defined(__CELLOS_LV2__)
#include "../../gfx/context/ps3_ctx.h" #include "../../gfx/context/ps3_ctx.h"
#endif
#if defined(HAVE_CG)
#include "../../gfx/shader_cg.h" #include "../../gfx/shader_cg.h"
#endif
#include "../../file.h" #include "../../file.h"
#include "../../general.h" #include "../../general.h"
@ -62,7 +75,6 @@ filebrowser_t browser;
filebrowser_t tmpBrowser; filebrowser_t tmpBrowser;
unsigned set_shader = 0; unsigned set_shader = 0;
static unsigned currently_selected_controller_menu = 0; static unsigned currently_selected_controller_menu = 0;
static char strw_buffer[PATH_MAX];
char m_title[256]; char m_title[256];
static uint64_t old_state = 0; static uint64_t old_state = 0;
@ -362,28 +374,28 @@ menu *menu_stack_get_current_ptr (void)
static void menu_stack_refresh (item *items, menu *current_menu) static void menu_stack_refresh (item *items, menu *current_menu)
{ {
int page, i, j; int page, i, j;
float increment; float y_position;
float increment_step = 0.03f; float increment_step = POSITION_Y_INCREMENT;
float x_position = POSITION_X; float x_position = POSITION_X;
page = 0; page = 0;
j = 0; j = 0;
increment = 0.16f; y_position = POSITION_Y_BEGIN;
for(i = current_menu->first_setting; i < current_menu->max_settings; i++) for(i = current_menu->first_setting; i < current_menu->max_settings; i++)
{ {
if(!(j < (NUM_ENTRY_PER_PAGE))) if(!(j < (NUM_ENTRY_PER_PAGE)))
{ {
j = 0; j = 0;
increment = 0.16f; y_position = POSITION_Y_BEGIN;
page++; page++;
} }
items[i].text_xpos = x_position; items[i].text_xpos = x_position;
items[i].text_ypos = increment; items[i].text_ypos = y_position;
items[i].page = page; items[i].page = page;
set_setting_label(current_menu, items, i); set_setting_label(current_menu, items, i);
increment += increment_step; y_position += increment_step;
j++; j++;
} }
} }
@ -558,7 +570,7 @@ static void display_menubar(menu *current_menu)
char current_path[256], rarch_version[128]; char current_path[256], rarch_version[128];
float x_position = POSITION_X; float x_position = POSITION_X;
float font_size = 0.91f; float font_size = HARDCODE_FONT_SIZE;
snprintf(rarch_version, sizeof(rarch_version), "v%s", PACKAGE_VERSION); snprintf(rarch_version, sizeof(rarch_version), "v%s", PACKAGE_VERSION);
@ -706,9 +718,9 @@ static void select_file(item *items, menu *current_menu, uint64_t input)
bool ret = true; bool ret = true;
float x_position = POSITION_X; float x_position = POSITION_X;
float comment_y_position = 0.83f; float comment_y_position = COMMENT_Y_POSITION;
float comment_two_y_position = 0.91f; float comment_two_y_position = 0.91f;
float font_size = 0.91f; float font_size = HARDCODE_FONT_SIZE;
switch(current_menu->enum_id) switch(current_menu->enum_id)
{ {
@ -814,9 +826,9 @@ static void select_directory(item *items, menu *current_menu, uint64_t input)
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
float x_position = POSITION_X; float x_position = POSITION_X;
float comment_y_position = 0.83f; float comment_y_position = COMMENT_Y_POSITION;
float comment_two_y_position = 0.91f; float comment_two_y_position = 0.91f;
float font_size = 0.91f; float font_size = HARDCODE_FONT_SIZE;
bool is_dir = filebrowser_get_current_path_isdir(&tmpBrowser); bool is_dir = filebrowser_get_current_path_isdir(&tmpBrowser);
browser_update(&tmpBrowser, input, "empty"); browser_update(&tmpBrowser, input, "empty");
@ -1621,9 +1633,9 @@ static void select_setting(item *items, menu *current_menu, uint64_t input)
float x_position = POSITION_X; float x_position = POSITION_X;
float x_position_center = 0.5f; float x_position_center = 0.5f;
float comment_y_position = 0.83f; float comment_y_position = COMMENT_Y_POSITION;
float comment_two_y_position = 0.91f; float comment_two_y_position = 0.91f;
float font_size = 0.91f; float font_size = HARDCODE_FONT_SIZE;
settings_action_t action = SETTINGS_ACTION_NOOP; settings_action_t action = SETTINGS_ACTION_NOOP;
@ -1694,9 +1706,9 @@ static void select_rom(item *items, menu *current_menu, uint64_t input)
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
float x_position = POSITION_X; float x_position = POSITION_X;
float comment_y_position = 0.83f; float comment_y_position = COMMENT_Y_POSITION;
float font_size = 0.91f;
float comment_two_y_position = 0.91f; float comment_two_y_position = 0.91f;
float font_size = HARDCODE_FONT_SIZE;
browser_update(&browser, input, rarch_console_get_rom_ext()); browser_update(&browser, input, rarch_console_get_rom_ext());
@ -1743,11 +1755,11 @@ static void ingame_menu_resize(item *items, menu *current_menu, uint64_t input)
float x_position = POSITION_X; float x_position = POSITION_X;
float x_position_center = 0.5f; float x_position_center = 0.5f;
float font_size = 0.91f; float font_size = HARDCODE_FONT_SIZE;
float y_position = 0.16f; float y_position = POSITION_Y_BEGIN;
float y_position_increment = 0.035f; float y_position_increment = POSITION_Y_INCREMENT;
float comment_y_position = 0.83f; float comment_y_position = COMMENT_Y_POSITION;
g_console.aspect_ratio_index = ASPECT_RATIO_CUSTOM; g_console.aspect_ratio_index = ASPECT_RATIO_CUSTOM;
gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index); gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index);
@ -1902,15 +1914,16 @@ static void ingame_menu_screenshot(item *items, menu *current_menu, uint64_t inp
static void ingame_menu(item *items, menu *current_menu, uint64_t input) static void ingame_menu(item *items, menu *current_menu, uint64_t input)
{ {
char comment[256], overscan_msg[64]; char comment[256], overscan_msg[64];
char strw_buffer[256];
static unsigned menuitem_colors[MENU_ITEM_LAST]; static unsigned menuitem_colors[MENU_ITEM_LAST];
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
float x_position = POSITION_X; float x_position = POSITION_X;
float y_position = 0.16f; float y_position = POSITION_Y_BEGIN;
float comment_y_position = 0.83f; float comment_y_position = COMMENT_Y_POSITION;
float font_size = 0.91f; float font_size = HARDCODE_FONT_SIZE;
float y_position_increment = 0.035f; float y_position_increment = POSITION_Y_INCREMENT;
for(int i = 0; i < MENU_ITEM_LAST; i++) for(int i = 0; i < MENU_ITEM_LAST; i++)
menuitem_colors[i] = GREEN; menuitem_colors[i] = GREEN;
@ -2318,7 +2331,7 @@ void menu_loop(void)
float x_position = POSITION_X; float x_position = POSITION_X;
float starting_y_position = POSITION_Y_START; float starting_y_position = POSITION_Y_START;
float y_position_increment = 0.035f; float y_position_increment = POSITION_Y_INCREMENT;
switch(current_menu->category_id) switch(current_menu->category_id)
{ {

View File

@ -21,6 +21,7 @@
#define DEVICE_CAST gl_t* #define DEVICE_CAST gl_t*
#define input_ptr input_ps3 #define input_ptr input_ps3
#define DEVICE_PTR device_ptr #define DEVICE_PTR device_ptr
#define HARDCODE_FONT_SIZE 0.91f
#define FONT_SIZE (g_console.menu_font_size) #define FONT_SIZE (g_console.menu_font_size)
#define render_msg_pre_func() gl_render_msg_pre(DEVICE_PTR) #define render_msg_pre_func() gl_render_msg_pre(DEVICE_PTR)
#define render_msg_place_func(xpos, ypos, scale, color, msg) gl_render_msg_place(xpos, ypos, scale, color, msg) #define render_msg_place_func(xpos, ypos, scale, color, msg) gl_render_msg_place(xpos, ypos, scale, color, msg)
@ -28,6 +29,9 @@
#define POSITION_X 0.09f #define POSITION_X 0.09f
#define POSITION_Y_START 0.10f #define POSITION_Y_START 0.10f
#define POSITION_Y_BEGIN (POSITION_Y_START + POSITION_Y_INCREMENT)
#define POSITION_Y_INCREMENT 0.035f
#define COMMENT_Y_POSITION 0.83f
#elif defined(_XBOX1) #elif defined(_XBOX1)
#define DEVICE_CAST xdk_d3d_video_t* #define DEVICE_CAST xdk_d3d_video_t*
#define input_ptr input_xinput #define input_ptr input_xinput
@ -39,6 +43,9 @@
#define POSITION_X m_menuMainRomListPos_x #define POSITION_X m_menuMainRomListPos_x
#define POSITION_Y_START m_menuMainRomListPos_y #define POSITION_Y_START m_menuMainRomListPos_y
#define POSITION_Y_BEGIN (POSITION_Y_START + POSITION_Y_INCREMENT)
#define POSITION_Y_INCREMENT 20
#define COMMENT_Y_POSITION (ypos - POSITION_Y_INCREMENT)
#endif #endif
typedef struct typedef struct

View File

@ -47,10 +47,6 @@ d3d_surface_t m_menuMainBG;
// Rom list coords // Rom list coords
int m_menuMainRomListPos_x; int m_menuMainRomListPos_x;
int m_menuMainRomListPos_y; int m_menuMainRomListPos_y;
// Backbuffer width, height
int width;
int height;
#endif #endif
menu menuStack[10]; menu menuStack[10];
@ -351,28 +347,28 @@ menu *menu_stack_get_current_ptr (void)
static void menu_stack_refresh (item *items, menu *current_menu) static void menu_stack_refresh (item *items, menu *current_menu)
{ {
int page, i, j; int page, i, j;
float increment; float y_position;
float increment_step = 0.03f; float increment_step = POSITION_Y_INCREMENT;
float x_position = POSITION_X; float x_position = POSITION_X;
page = 0; page = 0;
j = 0; j = 0;
increment = 0.16f; y_position = 0.16f;
for(i = current_menu->first_setting; i < current_menu->max_settings; i++) for(i = current_menu->first_setting; i < current_menu->max_settings; i++)
{ {
if(!(j < (NUM_ENTRY_PER_PAGE))) if(!(j < (NUM_ENTRY_PER_PAGE)))
{ {
j = 0; j = 0;
increment = 0.16f; y_position = 0.16f;
page++; page++;
} }
items[i].text_xpos = x_position; items[i].text_xpos = x_position;
items[i].text_ypos = increment; items[i].text_ypos = y_position;
items[i].page = page; items[i].page = page;
set_setting_label(current_menu, items, i); set_setting_label(current_menu, items, i);
increment += increment_step; y_position += increment_step;
j++; j++;
} }
} }
@ -736,7 +732,7 @@ static void select_rom(item *items, menu *current_menu, uint64_t input)
int menu_init(void) int menu_init(void)
{ {
xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data; DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
// Set libretro filename and version to variable // Set libretro filename and version to variable
struct retro_system_info info; struct retro_system_info info;
@ -763,7 +759,8 @@ int menu_init(void)
xbox_io_mount("F:", "Harddisk0\\Partition6"); xbox_io_mount("F:", "Harddisk0\\Partition6");
xbox_io_mount("G:", "Harddisk0\\Partition7"); xbox_io_mount("G:", "Harddisk0\\Partition7");
width = d3d->d3dpp.BackBufferWidth; // Backbuffer width
int width = device_ptr->d3dpp.BackBufferWidth;
// Quick hack to properly center the romlist in 720p, // Quick hack to properly center the romlist in 720p,
// it might need more work though (font size and rom selector size -> needs more memory) // it might need more work though (font size and rom selector size -> needs more memory)
@ -991,7 +988,7 @@ void menu_loop(void)
float x_position = POSITION_X; float x_position = POSITION_X;
float starting_y_position = POSITION_Y_START; float starting_y_position = POSITION_Y_START;
float y_position_increment = 20; float y_position_increment = POSITION_Y_INCREMENT;
switch(current_menu->category_id) switch(current_menu->category_id)
{ {