1
0
mirror of https://github.com/libretro/RetroArch synced 2024-07-08 20:25:47 +00:00

(PSL1GHT) Compile in OSK now too

This commit is contained in:
Twinaphex 2012-07-01 20:45:13 +02:00
parent e59d66251b
commit cd00eb2b04
4 changed files with 123 additions and 31 deletions

View File

@ -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

View File

@ -17,6 +17,10 @@
#include <stdint.h>
#include <stdlib.h>
#ifndef __PSL1GHT__
#include <sdk_version.h>
#endif
#ifdef __PSL1GHT__
#include <io/pad.h>
#else
@ -31,10 +35,6 @@
#endif
#endif
#ifndef __PSL1GHT__
#include <sdk_version.h>
#endif
#include <sys/memory.h>
#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(&params->containerid, params->osk_memorycontainer);
int ret = pSysMemContainerCreate(&params->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, &params->dialogParam, &params->inputFieldInfo);
ret = pOskLoadAsync(params->containerid, &params->dialogParam, &params->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(&params->outputInfo);
pOskUnloadAsync(&params->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;
}

View File

@ -21,8 +21,14 @@
#include <wchar.h>
#ifdef HAVE_OSKUTIL
#ifdef __PSL1GHT__
#include <sysutil/osk.h>
#else
#include <sysutil/sysutil_oskdialog.h>
#endif
#endif
#include "sdk_defines.h"
#ifdef HAVE_SYSUTILS
#include <sysutil/sysutil_common.h>

View File

@ -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