From cd00eb2b04e384da1a1e488de91233a7fcb98d3a Mon Sep 17 00:00:00 2001 From: Twinaphex Date: Sun, 1 Jul 2012 20:45:13 +0200 Subject: [PATCH] (PSL1GHT) Compile in OSK now too --- Makefile.psl1ght | 4 +- ps3/ps3_input.c | 40 +++++++++--------- ps3/ps3_input.h | 6 +++ ps3/sdk_defines.h | 104 ++++++++++++++++++++++++++++++++++++++++++---- 4 files changed, 123 insertions(+), 31 deletions(-) diff --git a/Makefile.psl1ght b/Makefile.psl1ght index 58b3c2019a..28ba301063 100644 --- a/Makefile.psl1ght +++ b/Makefile.psl1ght @@ -21,7 +21,7 @@ LIBDIRS := -L$(PS3DEV)/ppu/lib -L. MACHDEP := -D__CELLOS_LV2__ -D__PSL1GHT__ CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(INCLUDE) LDFLAGS := $(MACHDEP) -LIBS := -lretro_psl1ght -laudio -lio -lm -ljpgdec -lpngdec +LIBS := -lretro_psl1ght -laudio -lio -lm -ljpgdec -lpngdec -lsysutil OBJ = console/griffin/griffin.o console/rzlib/rzlib.o @@ -35,7 +35,7 @@ ifeq ($(HAVE_FILE_LOGGER), 1) CFLAGS += -DHAVE_FILE_LOGGER endif -CFLAGS += -std=gnu99 -DHAVE_FILEBROWSER -DHAVE_MOUSE -DHAVE_DEFAULT_RETROPAD_INPUT -DRARCH_CONSOLE -DHAVE_CONFIGFILE=1 -DHAVE_ZLIB -DHAVE_RARCH_MAIN_WRAP -DHAVE_GRIFFIN=1 -DPACKAGE_VERSION=\"0.9.6\" -Dmain=rarch_main -Wno-char-subscripts +CFLAGS += -std=gnu99 -DHAVE_FILEBROWSER -DHAVE_OSKUTIL -DHAVE_MOUSE -DHAVE_DEFAULT_RETROPAD_INPUT -DRARCH_CONSOLE -DHAVE_CONFIGFILE=1 -DHAVE_ZLIB -DHAVE_RARCH_MAIN_WRAP -DHAVE_GRIFFIN=1 -DPACKAGE_VERSION=\"0.9.6\" -Dmain=rarch_main -Wno-char-subscripts ifeq ($(DEBUG), 1) CFLAGS += -O0 -g diff --git a/ps3/ps3_input.c b/ps3/ps3_input.c index 4236c5b4b7..16e8d70981 100644 --- a/ps3/ps3_input.c +++ b/ps3/ps3_input.c @@ -17,6 +17,10 @@ #include #include +#ifndef __PSL1GHT__ +#include +#endif + #ifdef __PSL1GHT__ #include #else @@ -31,10 +35,6 @@ #endif #endif -#ifndef __PSL1GHT__ -#include -#endif - #include #ifdef HAVE_OSKUTIL @@ -229,7 +229,7 @@ void oskutil_init(oskutil_params *params, unsigned int containersize) static bool oskutil_enable_key_layout (void) { - int ret = cellOskDialogSetKeyLayoutOption(CELL_OSKDIALOG_10KEY_PANEL | \ + int ret = pOskSetKeyLayoutOption(CELL_OSKDIALOG_10KEY_PANEL | \ CELL_OSKDIALOG_FULLKEY_PANEL); if (ret < 0) return (false); @@ -243,26 +243,26 @@ static void oskutil_create_activation_parameters(oskutil_params *params) params->dialogParam.controlPoint.y = 0.0; int32_t LayoutMode = CELL_OSKDIALOG_LAYOUTMODE_X_ALIGN_CENTER | CELL_OSKDIALOG_LAYOUTMODE_Y_ALIGN_TOP; - cellOskDialogSetLayoutMode(LayoutMode); + pOskSetLayoutMode(LayoutMode); - params->dialogParam.allowOskPanelFlg = + params->dialogParam.osk_allowed_panels = CELL_OSKDIALOG_PANELMODE_ALPHABET | CELL_OSKDIALOG_PANELMODE_NUMERAL | CELL_OSKDIALOG_PANELMODE_NUMERAL_FULL_WIDTH | CELL_OSKDIALOG_PANELMODE_ENGLISH; params->dialogParam.firstViewPanel = CELL_OSKDIALOG_PANELMODE_ENGLISH; - params->dialogParam.prohibitFlgs = 0; + params->dialogParam.osk_prohibit_flags = 0; } void oskutil_write_message(oskutil_params *params, const wchar_t* msg) { - params->inputFieldInfo.message = (uint16_t*)msg; + params->inputFieldInfo.osk_inputfield_message = (uint16_t*)msg; } void oskutil_write_initial_message(oskutil_params *params, const wchar_t* msg) { - params->inputFieldInfo.init_text = (uint16_t*)msg; + params->inputFieldInfo.osk_inputfield_starttext = (uint16_t*)msg; } bool oskutil_start(oskutil_params *params) @@ -275,19 +275,19 @@ bool oskutil_start(oskutil_params *params) if (params->flags & OSK_IN_USE) return (true); - int ret = sys_memory_container_create(¶ms->containerid, params->osk_memorycontainer); + int ret = pSysMemContainerCreate(¶ms->containerid, params->osk_memorycontainer); if(ret < 0) return (false); - params->inputFieldInfo.limit_length = CELL_OSKDIALOG_STRING_SIZE; + params->inputFieldInfo.osk_inputfield_max_length = CELL_OSKDIALOG_STRING_SIZE; oskutil_create_activation_parameters(params); if(!oskutil_enable_key_layout()) return (false); - ret = cellOskDialogLoadAsync(params->containerid, ¶ms->dialogParam, ¶ms->inputFieldInfo); + ret = pOskLoadAsync(params->containerid, ¶ms->dialogParam, ¶ms->inputFieldInfo); if(ret < 0) return (false); @@ -299,20 +299,20 @@ bool oskutil_start(oskutil_params *params) void oskutil_close(oskutil_params *params) { - cellOskDialogAbort(); + pOskAbort(); } void oskutil_finished(oskutil_params *params) { int num; - params->outputInfo.result = CELL_OSKDIALOG_INPUT_FIELD_RESULT_OK; - params->outputInfo.numCharsResultString = 256; - params->outputInfo.pResultString = (uint16_t *)params->osk_text_buffer; + params->outputInfo.osk_callback_return_param = CELL_OSKDIALOG_INPUT_FIELD_RESULT_OK; + params->outputInfo.osk_callback_num_chars = 256; + params->outputInfo.osk_callback_return_string = (uint16_t *)params->osk_text_buffer; - cellOskDialogUnloadAsync(¶ms->outputInfo); + pOskUnloadAsync(¶ms->outputInfo); - switch (params->outputInfo.result) + switch (params->outputInfo.osk_callback_return_param) { case CELL_OSKDIALOG_INPUT_FIELD_RESULT_OK: num = wcstombs(params->osk_text_buffer_char, params->osk_text_buffer, 256); @@ -333,7 +333,7 @@ void oskutil_finished(oskutil_params *params) void oskutil_unload(oskutil_params *params) { - sys_memory_container_destroy(params->containerid); + pSysMemContainerDestroy(params->containerid); params->is_running = false; } diff --git a/ps3/ps3_input.h b/ps3/ps3_input.h index c5f4693a71..137223092f 100644 --- a/ps3/ps3_input.h +++ b/ps3/ps3_input.h @@ -21,8 +21,14 @@ #include #ifdef HAVE_OSKUTIL +#ifdef __PSL1GHT__ +#include +#else #include #endif +#endif + +#include "sdk_defines.h" #ifdef HAVE_SYSUTILS #include diff --git a/ps3/sdk_defines.h b/ps3/sdk_defines.h index 2350205ffc..42be39461c 100644 --- a/ps3/sdk_defines.h +++ b/ps3/sdk_defines.h @@ -95,7 +95,7 @@ #endif /*============================================================ - INPUT PROTOTYPES + INPUT PAD PROTOTYPES ============================================================ */ #ifdef __PSL1GHT__ @@ -112,22 +112,26 @@ #else /* define all the ps3 pad structs */ +/* #if (CELL_SDK_VERSION > 0x340000) */ +#define pPadInfo CellPadInfo2 +#define pPadGetInfo cellPadGetInfo2 +/* +#else #define pPadInfo CellPadInfo +#define pPadGetInfo cellPadGetInfo +#endif +*/ + #define pPadData CellPadData /* define all the ps3 pad functions */ #define pPadInit cellPadInit #define pPadGetData cellPadGetData -#define pPadGetInfo cellPadGetInfo - -#if(CELL_SDK_VERSION > 0x340000) -#undef pPadInfo -#undef pPadGetInfo -#define pPadInfo CellPadInfo2 -#define pPadGetInfo cellPadGetInfo2 #endif -#endif +/*============================================================ + INPUT MOUSE PROTOTYPES +============================================================ */ #ifdef HAVE_MOUSE @@ -167,6 +171,76 @@ #endif +/*============================================================ + OSK PROTOTYPES +============================================================ */ + +#ifdef HAVE_OSKUTIL + +#ifdef __PSL1GHT__ +/* define all the OSK functions */ +#define pOskLoadAsync oskLoadAsync +#define pOskSetLayoutMode oskSetLayoutMode +#define pOskSetKeyLayoutOption oskSetKeyLayoutOption +#define pOskGetSize oskGetSize +#define pOskDisableDimmer oskDisableDimmer +#define pOskAbort oskAbort +#define pOskUnloadAsync oskUnloadAsync + +/* define OSK structs / types */ +#define sys_memory_container_t sys_mem_container_t +#define CellOskDialogPoint oskPoint +#define CellOskDialogInputFieldInfo oskInputFieldInfo +#define CellOskDialogCallbackReturnParam oskCallbackReturnParam +#define CellOskDialogParam oskParam + +#define osk_allowed_panels allowedPanels +#define osk_prohibit_flags prohibitFlags + +#define osk_inputfield_message message +#define osk_inputfield_starttext startText +#define osk_inputfield_max_length maxLength +#define osk_callback_return_param res +#define osk_callback_num_chars len +#define osk_callback_return_string str + +/* define the OSK defines */ +#define CELL_OSKDIALOG_10KEY_PANEL OSK_10KEY_PANEL +#define CELL_OSKDIALOG_FULLKEY_PANEL OSK_FULLKEY_PANEL +#define CELL_OSKDIALOG_LAYOUTMODE_X_ALIGN_CENTER OSK_LAYOUTMODE_HORIZONTAL_ALIGN_CENTER +#define CELL_OSKDIALOG_LAYOUTMODE_Y_ALIGN_TOP OSK_LAYOUTMODE_VERTICAL_ALIGN_TOP +#define CELL_OSKDIALOG_PANELMODE_NUMERAL OSK_PANEL_TYPE_NUMERAL +#define CELL_OSKDIALOG_PANELMODE_NUMERAL_FULL_WIDTH OSK_PANEL_TYPE_NUMERAL_FULL_WIDTH +#define CELL_OSKDIALOG_PANELMODE_ALPHABET OSK_PANEL_TYPE_ALPHABET +#define CELL_OSKDIALOG_PANELMODE_ENGLISH OSK_PANEL_TYPE_ENGLISH +#define CELL_OSKDIALOG_INPUT_FIELD_RESULT_OK (0) +#define CELL_OSKDIALOG_INPUT_FIELD_RESULT_CANCELED (1) +#define CELL_OSKDIALOG_INPUT_FIELD_RESULT_ABORT (2) +#define CELL_OSKDIALOG_INPUT_FIELD_RESULT_NO_INPUT_TEXT (3) +#define CELL_OSKDIALOG_STRING_SIZE (512) +#else +/* define all the OSK functions */ +#define pOskLoadAsync cellOskDialogLoadAsync +#define pOskSetLayoutMode cellOskDialogSetLayoutMode +#define pOskSetKeyLayoutOption cellOskDialogSetKeyLayoutOption +#define pOskGetSize cellOskDialogGetSize +#define pOskDisableDimmer cellOskDialogDisableDimmer +#define pOskAbort cellOskDialogAbort +#define pOskUnloadAsync cellOskDialogUnloadAsync + +/* define OSK structs / types */ +#define osk_allowed_panels allowOskPanelFlg +#define osk_prohibit_flags prohibitFlgs +#define osk_inputfield_message message +#define osk_inputfield_starttext init_text +#define osk_inputfield_max_length limit_length +#define osk_callback_return_param result +#define osk_callback_num_chars numCharsResultString +#define osk_callback_return_string pResultString +#endif + +#endif + /*============================================================ JPEG/PNG DECODING/ENCODING PROTOTYPES ============================================================ */ @@ -331,4 +405,16 @@ #define pThreadExit sys_ppu_thread_exit #endif +/*============================================================ + MEMORY PROTOTYPES +============================================================ */ + +#ifdef __PSL1GHT__ +#define pSysMemContainerCreate sysMemContainerCreate +#define pSysMemContainerDestroy sysMemContainerDestroy +#else +#define pSysMemContainerCreate sys_memory_container_create +#define pSysMemContainerDestroy sys_memory_container_destroy +#endif + #endif