(PS3) Initial joypad button rebinding through menu

This commit is contained in:
TwinAphex51224 2012-02-29 09:15:59 +01:00
parent 59dbc4727b
commit 6c64a024eb
6 changed files with 223 additions and 447 deletions

View File

@ -31,6 +31,8 @@ extern "C" {
#define SNES_DEVICE_ID_JOYPAD_L 10
#define SNES_DEVICE_ID_JOYPAD_R 11
#define SNES_DEVICE_ID_MAX_JOYPAD_BUTTON (SNES_DEVICE_ID_JOYPAD_R)
#define SNES_DEVICE_ID_MOUSE_X 0
#define SNES_DEVICE_ID_MOUSE_Y 1
#define SNES_DEVICE_ID_MOUSE_LEFT 2

View File

@ -613,11 +613,6 @@ begin_shutdown:
if(g_console.return_to_launcher)
{
/* for multiman - need to refactor this
sys_spu_initialize(6, 0);
sys_game_process_exitspawn2((char*)MULTIMAN_EXECUTABLE, NULL, NULL, NULL, 0, 2048,
SYS_PROCESS_PRIMARY_STACK_SIZE_1M);
*/
char spawn_data[256];
for(unsigned int i = 0; i < sizeof(spawn_data); ++i)
spawn_data[i] = i & 0xff;

View File

@ -527,6 +527,62 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.09f,
0.83f,
},
{
SETTING_CONTROLS_BUTTON_CROSS,
"Cross button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_B
},
{
SETTING_CONTROLS_BUTTON_SQUARE,
"Square button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_Y
},
{
SETTING_CONTROLS_BUTTON_SELECT,
"Select button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_SELECT
},
{
SETTING_CONTROLS_BUTTON_START,
"Start button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_START
},
{
SETTING_CONTROLS_DPAD_UP,
"D-Pad Up",
@ -597,20 +653,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.83f,
SNES_DEVICE_ID_JOYPAD_A
},
{
SETTING_CONTROLS_BUTTON_CROSS,
"Cross button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_B
},
{
SETTING_CONTROLS_BUTTON_TRIANGLE,
"Triangle button",
@ -625,48 +667,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.83f,
SNES_DEVICE_ID_JOYPAD_X
},
{
SETTING_CONTROLS_BUTTON_SQUARE,
"Square button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_Y
},
{
SETTING_CONTROLS_BUTTON_SELECT,
"Select button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_SELECT
},
{
SETTING_CONTROLS_BUTTON_START,
"Start button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SNES_DEVICE_ID_JOYPAD_START
},
{
SETTING_CONTROLS_BUTTON_L1,
"L1 button",
@ -695,288 +695,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0.83f,
SNES_DEVICE_ID_JOYPAD_R
},
{
SETTING_CONTROLS_BUTTON_L2,
"L2 button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0
},
{
SETTING_CONTROLS_BUTTON_R2,
"R2 button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0
},
{
SETTING_CONTROLS_BUTTON_L3,
"L3 button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0
},
{
SETTING_CONTROLS_BUTTON_R3,
"R3 button",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0
},
{
SETTING_CONTROLS_BUTTON_L2_BUTTON_L3,
"Button combo: L2 & L3",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0
},
{
SETTING_CONTROLS_BUTTON_L2_BUTTON_R3,
"Button combo: L2 & R3",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0
},
{
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT,
"Button combo: L2 & RStick Right",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_CHEAT_INDEX_PLUS
},
{
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT,
"Button combo: L2 & RStick Left",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_CHEAT_INDEX_MINUS
},
{
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP,
"Button combo: L2 & RStick Up",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_CHEAT_TOGGLE
},
{
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN,
"Button combo: L2 & RStick Down",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_CHEAT_INPUT
},
{
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT,
"Button combo: R2 & RStick Right",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_STATE_SLOT_PLUS
},
{
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT,
"Button combo: R2 & RStick Left",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_STATE_SLOT_MINUS
},
{
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP,
"Button combo: R2 & RStick Up",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_LOAD_STATE_KEY
},
{
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN,
"Button combo: R2 & RStick Down",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_SAVE_STATE_KEY
},
{
SETTING_CONTROLS_BUTTON_R2_BUTTON_R3,
"Button combo: R2 & R3",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_SRAM_WRITE_PROTECT
},
{
SETTING_CONTROLS_BUTTON_R3_BUTTON_L3,
"Button combo: R3 & L3",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0
},
{
SETTING_CONTROLS_ANALOG_R_UP,
"Right Stick - Up",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0
},
{
SETTING_CONTROLS_ANALOG_R_DOWN,
"Right Stick - Down",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_FAST_FORWARD_KEY
},
{
SETTING_CONTROLS_ANALOG_R_LEFT,
"Right Stick - Left",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
0,
1
},
{
SETTING_CONTROLS_ANALOG_R_RIGHT,
"Right Stick - Right",
"",
0.0f,
0.0f,
YELLOW,
"",
WHITE,
0.91f,
0.09f,
0.83f,
SSNES_FAST_FORWARD_KEY,
1
},
{
SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS,
"SAVE CUSTOM CONTROLS",

View File

@ -312,7 +312,7 @@ static void browser_update(filebrowser_t * b)
if (CTRL_R2(state))
{
b->currently_selected = (MIN(b->currently_selected + 50, b->file_count-1));
if(b->currently_selected < 0)
if(!b->currently_selected)
b->currently_selected = 0;
set_delay = DELAY_SMALL;
}
@ -371,6 +371,38 @@ static void browser_render(filebrowser_t * b)
cellDbgFontDraw();
}
static uint32_t default_keybind_lut[] =
{
CTRL_CROSS_MASK, //SNES_DEVICE_ID_JOYPAD_B
CTRL_SQUARE_MASK, //SNES_DEVICE_ID_JOYPAD_Y
CTRL_SELECT_MASK, //SNES_DEVICE_ID_JOYPAD_SELECT
CTRL_START_MASK, //SNES_DEVICE_ID_JOYPAD_START
CTRL_UP_MASK, //SNES_DEVICE_ID_JOYPAD_UP
CTRL_DOWN_MASK, //SNES_DEVICE_ID_JOYPAD_DOWN
CTRL_LEFT_MASK, //SNES_DEVICE_ID_JOYPAD_LEFT
CTRL_RIGHT_MASK, //SNES_DEVICE_ID_JOYPAD_RIGHT
CTRL_CIRCLE_MASK, //SNES_DEVICE_ID_JOYPAD_A
CTRL_TRIANGLE_MASK, //SNES_DEVICE_ID_JOYPAD_X
CTRL_L1_MASK, //SNES_DEVICE_ID_JOYPAD_L
CTRL_R1_MASK //SNES_DEVICE_ID_JOYPAD_R
};
static const char * default_keybind_name_lut[] =
{
"Button B", //SNES_DEVICE_ID_JOYPAD_B
"Button Y", //SNES_DEVICE_ID_JOYPAD_Y
"Select button", //SNES_DEVICE_ID_JOYPAD_SELECT
"Start button", //SNES_DEVICE_ID_JOYPAD_START
"D-Pad Up", //SNES_DEVICE_ID_JOYPAD_UP
"D-Pad Down", //SNES_DEVICE_ID_JOYPAD_DOWN
"D-Pad Left", //SNES_DEVICE_ID_JOYPAD_LEFT
"D-Pad Right", //SNES_DEVICE_ID_JOYPAD_RIGHT
"Button A", //SNES_DEVICE_ID_JOYPAD_A
"Button X", //SNES_DEVICE_ID_JOYPAD_X
"L Button", //SNES_DEVICE_ID_JOYPAD_L
"R Button" //SNES_DEVICE_ID_JOYPAD_R
};
static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
{
switch(currentsetting)
@ -654,6 +686,10 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
case SETTING_CONTROLS_SCHEME:
break;
case SETTING_CONTROLS_NUMBER:
if(currently_selected_controller_menu == 0)
menu_obj->items[currentsetting].text_color = GREEN;
else
menu_obj->items[currentsetting].text_color = ORANGE;
break;
case SETTING_CONTROLS_DPAD_UP:
case SETTING_CONTROLS_DPAD_DOWN:
@ -667,26 +703,12 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
case SETTING_CONTROLS_BUTTON_START:
case SETTING_CONTROLS_BUTTON_L1:
case SETTING_CONTROLS_BUTTON_R1:
case SETTING_CONTROLS_BUTTON_L2:
case SETTING_CONTROLS_BUTTON_R2:
case SETTING_CONTROLS_BUTTON_L3:
case SETTING_CONTROLS_BUTTON_R3:
case SETTING_CONTROLS_BUTTON_L2_BUTTON_L3:
case SETTING_CONTROLS_BUTTON_L2_BUTTON_R3:
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT:
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT:
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP:
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN:
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT:
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT:
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP:
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN:
case SETTING_CONTROLS_BUTTON_R2_BUTTON_R3:
case SETTING_CONTROLS_BUTTON_R3_BUTTON_L3:
case SETTING_CONTROLS_ANALOG_R_UP:
case SETTING_CONTROLS_ANALOG_R_DOWN:
case SETTING_CONTROLS_ANALOG_R_LEFT:
case SETTING_CONTROLS_ANALOG_R_RIGHT:
if(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey == default_keybind_lut[currentsetting-FIRST_CONTROL_BIND])
menu_obj->items[currentsetting].text_color = GREEN;
else
menu_obj->items[currentsetting].text_color = ORANGE;
snprintf(menu_obj->items[currentsetting].comment, sizeof(menu_obj->items[currentsetting].comment), "INFO - [%s] on the PS3 controller is mapped to action:\n[%s].", menu_obj->items[currentsetting].text, default_keybind_name_lut[g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].id]);
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), default_keybind_name_lut[g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].id]);
break;
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
if(menu_obj->selected == currentsetting)
@ -1007,6 +1029,49 @@ static void select_directory(uint32_t menu_id)
}
static void set_keybind_digital(uint64_t state, uint32_t system_joypad_id, uint32_t default_snes_joypad_id)
{
bool found_keybind = false;
if(CTRL_LEFT(state) | CTRL_LSTICK_LEFT(state))
{
for(uint32_t i = 0; i < SNES_DEVICE_ID_MAX_JOYPAD_BUTTON && !found_keybind; i++)
{
if(g_settings.input.binds[currently_selected_controller_menu][i].joykey == system_joypad_id)
{
found_keybind = true;
if(g_settings.input.binds[currently_selected_controller_menu][i].id > 0)
g_settings.input.binds[currently_selected_controller_menu][i].id--;
}
}
set_delay = DELAY_MEDIUM;
}
if(CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state))
{
for(uint32_t i = 0; i < SNES_DEVICE_ID_MAX_JOYPAD_BUTTON && !found_keybind; i++)
{
if(g_settings.input.binds[currently_selected_controller_menu][i].joykey == system_joypad_id)
{
found_keybind = true;
if(g_settings.input.binds[currently_selected_controller_menu][i].id < SNES_DEVICE_ID_MAX_JOYPAD_BUTTON)
g_settings.input.binds[currently_selected_controller_menu][i].id++;
}
}
set_delay = DELAY_MEDIUM;
}
if(CTRL_START(state))
{
g_settings.input.binds[currently_selected_controller_menu][default_snes_joypad_id].id = default_snes_joypad_id;
g_settings.input.binds[currently_selected_controller_menu][default_snes_joypad_id].joykey = default_keybind_lut[default_snes_joypad_id];
set_delay = DELAY_MEDIUM;
}
}
static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
{
uint64_t state;
@ -1480,39 +1545,58 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
case SETTING_CONTROLS_SCHEME:
break;
case SETTING_CONTROLS_NUMBER:
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_CROSS(state))
{
if(currently_selected_controller_menu != 0)
currently_selected_controller_menu--;
set_delay = DELAY_MEDIUM;
}
if(CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state))
{
if(currently_selected_controller_menu < 6)
currently_selected_controller_menu++;
set_delay = DELAY_MEDIUM;
}
if(CTRL_START(state))
currently_selected_controller_menu = 0;
break;
case SETTING_CONTROLS_DPAD_UP:
set_keybind_digital(state, CTRL_UP_MASK, SNES_DEVICE_ID_JOYPAD_UP);
break;
case SETTING_CONTROLS_DPAD_DOWN:
set_keybind_digital(state, CTRL_DOWN_MASK, SNES_DEVICE_ID_JOYPAD_DOWN);
break;
case SETTING_CONTROLS_DPAD_LEFT:
set_keybind_digital(state, CTRL_LEFT_MASK, SNES_DEVICE_ID_JOYPAD_LEFT);
break;
case SETTING_CONTROLS_DPAD_RIGHT:
set_keybind_digital(state, CTRL_RIGHT_MASK, SNES_DEVICE_ID_JOYPAD_RIGHT);
break;
case SETTING_CONTROLS_BUTTON_CIRCLE:
set_keybind_digital(state, CTRL_CIRCLE_MASK, SNES_DEVICE_ID_JOYPAD_A);
break;
case SETTING_CONTROLS_BUTTON_CROSS:
set_keybind_digital(state, CTRL_CROSS_MASK, SNES_DEVICE_ID_JOYPAD_B);
break;
case SETTING_CONTROLS_BUTTON_TRIANGLE:
set_keybind_digital(state, CTRL_TRIANGLE_MASK, SNES_DEVICE_ID_JOYPAD_X);
break;
case SETTING_CONTROLS_BUTTON_SQUARE:
set_keybind_digital(state, CTRL_SQUARE_MASK, SNES_DEVICE_ID_JOYPAD_Y);
break;
case SETTING_CONTROLS_BUTTON_SELECT:
set_keybind_digital(state, CTRL_SELECT_MASK, SNES_DEVICE_ID_JOYPAD_SELECT);
break;
case SETTING_CONTROLS_BUTTON_START:
set_keybind_digital(state, CTRL_START_MASK, SNES_DEVICE_ID_JOYPAD_START);
break;
case SETTING_CONTROLS_BUTTON_L1:
set_keybind_digital(state, CTRL_L1_MASK, SNES_DEVICE_ID_JOYPAD_L);
break;
case SETTING_CONTROLS_BUTTON_R1:
case SETTING_CONTROLS_BUTTON_L2:
case SETTING_CONTROLS_BUTTON_R2:
case SETTING_CONTROLS_BUTTON_L3:
case SETTING_CONTROLS_BUTTON_R3:
case SETTING_CONTROLS_BUTTON_L2_BUTTON_L3:
case SETTING_CONTROLS_BUTTON_L2_BUTTON_R3:
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT:
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT:
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP:
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN:
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT:
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT:
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP:
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN:
case SETTING_CONTROLS_BUTTON_R2_BUTTON_R3:
case SETTING_CONTROLS_BUTTON_R3_BUTTON_L3:
case SETTING_CONTROLS_ANALOG_R_UP:
case SETTING_CONTROLS_ANALOG_R_DOWN:
case SETTING_CONTROLS_ANALOG_R_LEFT:
case SETTING_CONTROLS_ANALOG_R_RIGHT:
set_keybind_digital(state, CTRL_R1_MASK, SNES_DEVICE_ID_JOYPAD_R);
break;
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
break;

View File

@ -111,38 +111,18 @@ enum
SETTING_PATH_DEFAULT_ALL,
SETTING_CONTROLS_SCHEME,
SETTING_CONTROLS_NUMBER,
SETTING_CONTROLS_BUTTON_CROSS,
SETTING_CONTROLS_BUTTON_SQUARE,
SETTING_CONTROLS_BUTTON_SELECT,
SETTING_CONTROLS_BUTTON_START,
SETTING_CONTROLS_DPAD_UP,
SETTING_CONTROLS_DPAD_DOWN,
SETTING_CONTROLS_DPAD_LEFT,
SETTING_CONTROLS_DPAD_RIGHT,
SETTING_CONTROLS_BUTTON_CIRCLE,
SETTING_CONTROLS_BUTTON_CROSS,
SETTING_CONTROLS_BUTTON_TRIANGLE,
SETTING_CONTROLS_BUTTON_SQUARE,
SETTING_CONTROLS_BUTTON_SELECT,
SETTING_CONTROLS_BUTTON_START,
SETTING_CONTROLS_BUTTON_L1,
SETTING_CONTROLS_BUTTON_R1,
SETTING_CONTROLS_BUTTON_L2,
SETTING_CONTROLS_BUTTON_R2,
SETTING_CONTROLS_BUTTON_L3,
SETTING_CONTROLS_BUTTON_R3,
SETTING_CONTROLS_BUTTON_L2_BUTTON_L3,
SETTING_CONTROLS_BUTTON_L2_BUTTON_R3,
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT,
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT,
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP,
SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN,
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT,
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT,
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP,
SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN,
SETTING_CONTROLS_BUTTON_R2_BUTTON_R3,
SETTING_CONTROLS_BUTTON_R3_BUTTON_L3,
SETTING_CONTROLS_ANALOG_R_UP,
SETTING_CONTROLS_ANALOG_R_DOWN,
SETTING_CONTROLS_ANALOG_R_LEFT,
SETTING_CONTROLS_ANALOG_R_RIGHT,
SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS,
SETTING_CONTROLS_DEFAULT_ALL
};
@ -154,7 +134,7 @@ enum
#define FIRST_EMU_AUDIO_SETTING SETTING_EMU_VIDEO_DEFAULT_ALL+1
#define FIRST_PATH_SETTING SETTING_EMU_AUDIO_DEFAULT_ALL+1
#define FIRST_CONTROLS_SETTING_PAGE_1 SETTING_PATH_DEFAULT_ALL+1
#define FIRST_CONTROL_BIND SETTING_CONTROLS_DPAD_UP
#define FIRST_CONTROL_BIND SETTING_CONTROLS_BUTTON_CROSS
#define MAX_NO_OF_VIDEO_SETTINGS SETTING_DEFAULT_VIDEO_ALL+1
#define MAX_NO_OF_AUDIO_SETTINGS SETTING_DEFAULT_AUDIO_ALL+1

View File

@ -414,12 +414,6 @@ static inline void gl_compute_fbo_geometry(gl_t *gl, unsigned width, unsigned he
}
}
#define gl_start_frame_fbo(gl) \
glBindTexture(GL_TEXTURE_2D, gl->texture[gl->tex_index]); \
glBindFramebufferOES(GL_FRAMEBUFFER_OES, gl->fbo[0]); \
gl->render_to_tex = true; \
set_viewport(gl, gl->fbo_rect[0].img_width, gl->fbo_rect[0].img_height, true);
static void set_viewport(gl_t *gl, unsigned width, unsigned height, bool force_full)
{
uint32_t m_viewport_x_temp, m_viewport_y_temp, m_viewport_width_temp, m_viewport_height_temp;
@ -489,11 +483,11 @@ static void set_viewport(gl_t *gl, unsigned width, unsigned height, bool force_f
static void set_lut_texture_coords(const GLfloat *coords)
{
// For texture images.
pglClientActiveTexture(GL_TEXTURE1);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, coords);
pglClientActiveTexture(GL_TEXTURE0);
// For texture images.
pglClientActiveTexture(GL_TEXTURE1);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, coords);
pglClientActiveTexture(GL_TEXTURE0);
}
#define set_texture_coords(coords, xamt, yamt) \
@ -530,26 +524,26 @@ void gl_frame_menu (void)
void ps3graphics_set_orientation(uint32_t orientation)
{
switch (orientation)
{
case ORIENTATION_NORMAL:
vertex_ptr = vertexes_flipped;
break;
switch (orientation)
{
case ORIENTATION_NORMAL:
vertex_ptr = vertexes_flipped;
break;
case ORIENTATION_VERTICAL:
vertex_ptr = vertexes_90;
break;
case ORIENTATION_VERTICAL:
vertex_ptr = vertexes_90;
break;
case ORIENTATION_FLIPPED:
vertex_ptr = vertexes_180;
break;
case ORIENTATION_FLIPPED:
vertex_ptr = vertexes_180;
break;
case ORIENTATION_FLIPPED_ROTATED:
vertex_ptr = vertexes_270;
break;
}
case ORIENTATION_FLIPPED_ROTATED:
vertex_ptr = vertexes_270;
break;
}
glVertexPointer(2, GL_FLOAT, 0, vertex_ptr);
glVertexPointer(2, GL_FLOAT, 0, vertex_ptr);
}
static bool gl_frame(void *data, const void *frame, unsigned width, unsigned height, unsigned pitch, const char *msg)
@ -565,7 +559,10 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
if (gl->fbo_inited)
{
gl_compute_fbo_geometry(gl, width, height, gl->vp_out_width, gl->vp_out_height);
gl_start_frame_fbo(gl);
glBindTexture(GL_TEXTURE_2D, gl->texture[gl->tex_index]);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, gl->fbo[0]);
gl->render_to_tex = true;
set_viewport(gl, gl->fbo_rect[0].img_width, gl->fbo_rect[0].img_height, true);
}
@ -721,13 +718,13 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
static void psgl_deinit(gl_t *gl)
{
glFinish();
cellDbgFontExit();
glFinish();
cellDbgFontExit();
psglDestroyContext(gl->gl_context);
psglDestroyDevice(gl->gl_device);
psglDestroyContext(gl->gl_context);
psglDestroyDevice(gl->gl_device);
psglExit();
psglExit();
}
static void gl_free(void *data)
@ -971,15 +968,15 @@ static void *gl_init(const video_info_t *video, const input_driver_t **input, vo
static bool gl_alive(void *data)
{
(void)data;
cellSysutilCheckCallback();
return !g_quitting;
(void)data;
cellSysutilCheckCallback();
return !g_quitting;
}
static bool gl_focus(void *data)
{
(void)data;
return true;
(void)data;
return true;
}
static void ps3graphics_set_swap_block_swap(void * data, bool toggle)