(Wii) Prepare for Griffin

This commit is contained in:
Twinaphex 2012-04-14 01:00:09 +02:00
parent 1bcb253ce7
commit b0cc4a6f61
5 changed files with 58 additions and 176 deletions

View File

@ -50,6 +50,8 @@ struct aspect_ratio_elem
float value;
};
extern struct aspect_ratio_elem aspectratio_lut[ASPECT_RATIO_END];
#include "console_ext_input.h"
/*============================================================

View File

@ -19,7 +19,7 @@
/*============================================================
GENERAL
============================================================ */
#if defined(__CELLOS_LV2__) || defined(_XBOX)
#if defined(__CELLOS_LV2__) || defined(_XBOX) || defined(GEKKO)
#define HAVE_GRIFFIN_OVERRIDE_VIDEO_FRAME_FUNC 1
#endif

View File

@ -1,173 +0,0 @@
/* SSNES - A frontend for libretro.
* Copyright (C) 2010-2012 - Hans-Kristian Arntzen
* Copyright (C) 2011-2012 - Daniel De Matteis
*
* SSNES is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* SSNES is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with SSNES.
* If not, see <http://www.gnu.org/licenses/>.
*/
#if defined(_XBOX)
#include "../../msvc/msvc_compat.h"
#endif
/*============================================================
CONSOLE EXTENSIONS
============================================================ */
#include "../console_ext.c"
/*============================================================
COMPATIBILITY
============================================================ */
#include "../../compat/compat.c"
/*============================================================
CONFIG FILE
============================================================ */
#ifdef _XBOX
#undef __SSNES_POSIX_STRING_H
#undef __SSNES_MSVC_COMPAT_H
#undef strcasecmp
#endif
#include "../../conf/config_file.c"
#include "func_hooks.h"
/*============================================================
VIDEO
============================================================ */
#if defined(__CELLOS_LV2__)
#include "../../gfx/shader_cg.c"
#include "../../ps3/ps3_video_psgl.c"
#include "../../ps3/image.c"
#elif defined(_XBOX)
#include "../../360/xdk360_video.cpp"
#include "../../360/fonts.cpp"
#endif
/*============================================================
INPUT
============================================================ */
#if defined(__CELLOS_LV2__)
#include "../../ps3/ps3_input.c"
#elif defined(_XBOX)
#include "../../360/xdk360_input.c"
#endif
/*============================================================
SNES STATE
============================================================ */
#include "../../gfx/state_tracker.c"
/*============================================================
DRIVERS
============================================================ */
#include "../../driver.c"
/*============================================================
FIFO BUFFER
============================================================ */
#include "../../fifo_buffer.c"
/*============================================================
AUDIO HERMITE
============================================================ */
#include "../../audio/hermite.c"
/*============================================================
RSOUND
============================================================ */
#ifdef __CELLOS_LV2__
#include "../../console/librsound/librsound.c"
#include "../../audio/rsound.c"
#endif
/*============================================================
AUDIO UTILS
============================================================ */
#include "../../audio/utils.c"
/*============================================================
AUDIO
============================================================ */
#if defined(__CELLOS_LV2__)
#include "../../ps3/ps3_audio.c"
#elif defined(_XBOX)
#include "../../360/xdk360_audio.cpp"
#endif
/*============================================================
DYNAMIC
============================================================ */
#include "../../dynamic.c"
/*============================================================
FILE
============================================================ */
#if defined(__CELLOS_LV2__) || defined(_XBOX)
#include "../fileio/file_browser.c"
#endif
#include "../../file.c"
#include "../../file_path.c"
/*============================================================
MESSAGE
============================================================ */
#include "../../message.c"
/*============================================================
PATCH
============================================================ */
#include "../../patch.c"
/*============================================================
SETTINGS
============================================================ */
#include "../../settings.c"
/*============================================================
REWIND
============================================================ */
#include "../../rewind.c"
/*============================================================
MAIN
============================================================ */
#if defined(__CELLOS_LV2__)
#include "../../ps3/main.c"
#elif defined(_XBOX)
#include "../../360/main.c"
#endif
/*============================================================
SSNES
============================================================ */
#include "../../ssnes.c"
/*============================================================
THREAD
============================================================ */
#include "../../thread.c"
/*============================================================
NETPLAY
============================================================ */
#include "../../netplay.c"
/*============================================================
MENU
============================================================ */
#if defined(__CELLOS_LV2__)
#include "../../ps3/menu.c"
#elif defined(_XBOX)
#include "../../360/menu.cpp"
#endif

View File

@ -71,4 +71,29 @@
xdk360_input_state(driver.input_data, snes_keybinds, port, device, index, id)
#define input_key_pressed_func(key) xdk360_key_pressed(driver.input_data, key)
#define input_free_func() xdk360_free_input(driver.input_data)
/*============================================================
GAMECUBE / WII
============================================================ */
#elif defined(GEKKO)
#define video_init_func(video_info, input, input_data) wii_init(video_info, input, input_data)
#define video_frame_func(data, width, height, pitch, msg) \
wii_frame(driver.video_data, data, width, height, pitch, msg)
#define video_set_nonblock_state_func(state) wii_set_nonblock_state(driver.video_data, state)
#define video_alive_func() wii_alive(driver.video_data)
#define video_focus_func() wii_focus(driver.video_data)
#define video_xml_shader_func(path) driver.video->xml_shader(driver.video_data, path)
#define video_free_func() wii_free(driver.video_data)
#define video_set_rotation_func(orientation) wii_set_orientation(driver.video_data, orientation)
#define video_set_aspect_ratio_func(aspectratio_idx) wii_set_aspect_ratio(driver.video_data, aspectratio_idx)
#define input_init_func() wii_input_initialize()
#define input_poll_func() wii_input_poll(driver.input_data)
#define input_input_state_func(snes_keybinds, port, device, index, id) \
wii_input_state(driver.input_data, snes_keybinds, port, device, index, id)
#define input_key_pressed_func(key) wii_key_pressed(driver.input_data, key)
#define input_free_func() wii_free_input(driver.input_data)
#endif

View File

@ -16,6 +16,7 @@
#include "../driver.h"
#include "../general.h"
#include "driver.h"
#include "../console/console_ext.h"
#include <gccore.h>
#include <ogcsys.h>
#include <malloc.h>
@ -274,6 +275,30 @@ static void wii_free(void *data)
(void)data;
}
static void wii_swap(void * data)
{
(void)data;
/* TODO */
}
static void wii_set_aspect_ratio(void * data, uint32_t aspectratio_index)
{
(void)data;
g_settings.video.aspect_ratio = aspectratio_lut[g_console.aspect_ratio_index].value;
g_settings.video.force_aspect = false;
/* TODO */
}
static void wii_set_rotation(void * data, uint32_t orientation)
{
(void)data;
(void)orientation;
/* TODO */
}
const video_driver_t video_wii = {
.init = wii_init,
.frame = wii_frame,
@ -281,6 +306,9 @@ const video_driver_t video_wii = {
.set_nonblock_state = wii_set_nonblock_state,
.focus = wii_focus,
.free = wii_free,
.ident = "wii"
.ident = "wii",
.set_swap_block_state = wii_swap,
.set_rotation = wii_set_rotation,
.set_aspect_ratio = wii_set_aspect_ratio,
.swap = wii_swap
};