123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- /******************************************************************************/
- /**
- *
- * \file osdgame_if.h
- *
- *
- * \brief The header file for the declaration of the osd game Interface API Functions and Data Structures. \n
- *
- * \note Copyright (c) 2009 Sunmedia Technology Co., Ltd. \n
- * All rights reserved.
- *
- *
- * author xy.zhu@sunmedia.com.cn
- *
- ******************************************************************************/
- #ifndef _OSDGAME_IF_H
- #define _OSDGAME_IF_H
- #ifdef OSDGAME_IF_IMPLEMENTATION
- #define EBD_IF_EXTERN
- #else
- #define EBD_IF_EXTERN extern
- #endif
- #define USER_NAME_LEN (4)
- #define DEFAULT_SCORE_LIST_NUM (5)
- /*
- For the boxman game.
- The Apis.
- */
- #ifdef CONFIG_OSDGAME_BOXMAN_SUPPORT
- #define BOX_MAN_SYSINFO_SIZE (152)
- #else
- #define BOX_MAN_SYSINFO_SIZE (0)
- #endif
- #ifdef CONFIG_OSDGAME_TETRIS_SUPPORT
- #define RUSSIA_SYSINFO_SIZE (1 + 1 + 1 + 1+ USER_NAME_LEN * DEFAULT_SCORE_LIST_NUM + 2 * DEFAULT_SCORE_LIST_NUM + 2)//speed, difficult, listnum, aligned, score_list, aligned
- #else
- #define RUSSIA_SYSINFO_SIZE (0)
- #endif
- #ifdef CONFIG_OSDGAME_HITRAT_SUPPORT
- #define HITRAT_SYSINFO_SIZE (1 + 1 + 2+ USER_NAME_LEN * DEFAULT_SCORE_LIST_NUM + 2 * DEFAULT_SCORE_LIST_NUM + 2)//level, list_num, aligner, score_list, aligned
- #else
- #define HITRAT_SYSINFO_SIZE (0)
- #endif
- #ifdef CONFIG_OSDGAME_SUDOKU_SUPPORT
- #define SUDOKU_SYSINFO_SIZE (1 + 1 + 2)//Level, count, aligned
- #else
- #define SUDOKU_SYSINFO_SIZE (0)
- #endif
- #ifdef CONFIG_OSDGAME_GOBANG_SUPPORT
- #define GOBANG_SYSINFO_SIZE (4)// Reserved 4 bytes for future
- #else
- #define GOBANG_SYSINFO_SIZE (0)
- #endif
- #define OSDGAME_USERDATE_LEN (RUSSIA_SYSINFO_SIZE + BOX_MAN_SYSINFO_SIZE + HITRAT_SYSINFO_SIZE + SUDOKU_SYSINFO_SIZE + GOBANG_SYSINFO_SIZE)
- #define MESSAGE_QUEUE_TYPE_GAMEDRV (1<<25)
- typedef enum
- {
- GAME_RESPOND_N32GAME_RUNNING_DONE = 1,
- GAME_RESPOND_N32GAME_RUNNING_MPG,
- GAME_RESPOND_N32GAME_RUNNING_MPG_DONE,
- GAME_RESPOND_NESGAME_RUNNING_DONE,
- GAME_RESPOND_NESGAME_HOMEMENU_DONE,
- GAME_RESPOND_GOTO_HOMEMENU,
- GAME_RESPOND_NESGAME_POWER_DONE,
- GAME_RESPOND_NESGAME_EJECT_DONE,
- GAME_RESPOND_OSDGAME_RUNNING_DONE,
- GAME_RESPOND_MDGAME_RUNNING_DONE,
- GAME_RESPOND_RUNNING_EBOOK,
- GAME_RESPOND_RUNNING_KARAOKE,
- GAME_RESPOND_RUNNING_KARAOKE_NES,
- GAME_RESPOND_RUNNING_DONE_BY_READ_ERROR,
- GAME_RESPOND_RUNNING_DONE_BY_UNSUPPORT_GAME,
- GAME_RESPOND_OSDGAME_NAME_EDIT,
- GAME_RESPOND_OSDGAME_EXIT_GAME,
- GAME_RESPOND_MAX
- }GAME_RESPOND_Message_t;
- typedef enum _OsdGame_Type_e
- {
- OSDGAMA_GOBANG = 1,
- OSDGAMA_SUDOKU,
- OSDGAMA_BOXMAN,
- OSDGAMA_RUSSIA,
- OSDGAMA_HITRAT,
- } OsdGame_Type_e;
- typedef enum _OSDGAME_NATIVEGAME_E_
- {
- NUM_EVENT_0 = 0,
- NUM_EVENT_1,
- NUM_EVENT_2,
- NUM_EVENT_3,
- NUM_EVENT_4,
- NUM_EVENT_5,
- NUM_EVENT_6,
- NUM_EVENT_7,
- NUM_EVENT_8,
- NUM_EVENT_9,
- LEFT_EVENT,
- RIGHT_EVENT,
- UP_EVENT,
- DN_EVENT,
- PAGEUP_EVENT,
- PAGEDN_EVENT,
- SELECT_EVENT,
- RETURN_EVENT,
- UPDATE_UI_EVENT,
- UPDATE_PIC_EVENT,
- TIMER_EVENT,
- UPDATE_TIMER_COUNT,
- EXIT_EVENT,
- DELETE_EVENT,
- BOSS_QUEUE_EVENT,
- MAX_EVENT_NUM
- }OSDGAME_NATIVEGAME_E;
- #define OSDGAME_MESSAGE_MASK (0x0000FFFF)
- #define OSDGAME_MESSAGE_TYPE_MASK (0xFFFF0000)
- #define OSDGAME_GLOBAL_EVENT_TYPE (1<<31)
- #define OSDGAME_INTERNAL_MESSAGE_TYPE (1<<28)
- #define OSDGAME_TASKCREATE_FAIL 0
- #define OSDGAME_TASKCREATE_SUCCESS 1
- typedef struct _OSDGAME_MessageBody_t
- {
- UINT32 dMessage;
- UINT32 dParam;
- UINT32 dParam2;
- } OSDGAME_MessageBody_t;
- #define OSDGAME_APP_MESSAGE_BODY_SIZE (sizeof(OSDGAME_MessageBody_t))
- typedef int (*OSD_Game_EventCallback) (GAME_RESPOND_Message_t dGMWCallbackType, UINT32 dParam);
- extern OSD_Game_EventCallback g_pfOsdGameCallback;
- typedef struct _OsdGameParaStructure_t
- {
- UINT8 u8FontSize;
- bool bIsFullScreen;
- OsdGame_Type_e bOsdType;
- GL_Queue_t* pIRMSGQueueHandle;
- OSD_Game_EventCallback pfEvenCallback;
- } OsdGameParaStructure_t;
- /****************************IR PART***********************************************/
- /**************************** return value define*************************************/
- #define OSDGAME_IF_SUCCESSFUL (0)
- #define OSDGAME_IF_FAIL (-1)
- #define OSDGAME_IF_ERROE_PROCESS (-2)
- #define OSDGAME_IF_ERROE_QUEUE_CREAT_FAIL (-3)
- /****************************FUNCTION PART****************************************/
- /**************************************************************************************/
- /******************************************************************************************/
- /**fun: int OsdGame_Initilaize(OsdGame_Type_e bOsdType,GL_Queue_t* pIRMSGQueueHandle, GL_Queue_t* pNavQueueHandle);
- *
- * \brief Play OsdGame API
- * \param bOsdType:OsdGame type:Gobang Sudoku Hitrat Russia Boxman
- * \param pIRMSGQueueHandle: ir_event QueueHandle
- * \param pfEvenCallback: game driver Respond MSG Handle
- *
- * \return OSDGAME_IF_SUCCESSFUL if the gamedriver is initialized.
- *
- * \note You must creat two message queue (IRMsgHandle & NavMsgHandle) and set this message handle to gamedriver.\n
- * When game is running,you must send Ir event message to pIRMSGQueueHandle,receive nav message from pNavQueueHandle.\n
- * The message body definetion defined in this *.h file too.
- *
- *\author xy.zhu@sunmedia.com.cn
- ******************************************************************************************/
- /*******************************************************************************************************************/
- EBD_IF_EXTERN int OsdGame_Initilaize(OsdGameParaStructure_t* tParaStructure);
- EBD_IF_EXTERN UINT8 *OsdGame_GetGameDataAddr(void);//jgliu 2009-12-08 add for game saving
- EBD_IF_EXTERN void OsdGame_Reset(void);//jgliu 2009-12-08 add for game saving
- EBD_IF_EXTERN void OsdGame_Exit(void);//2010/01/12 yhong 0077217 When Timer Wake at Game, System block.
- EBD_IF_EXTERN void OsdGame_SetFontBmpSize(UINT8 u8Width,UINT8 u8Height);
- EBD_IF_EXTERN int OsdGame_GetExitTime(void);//jgliu 2010-06-24 add for mantis:92771
- EBD_IF_EXTERN void OsdGame_ExitGame(void);
- //fanzhang add 2010/09/08 for mantis bug 104051 start {
- EBD_IF_EXTERN void OsdGame_SetTransparency(UINT8 bValue);
- EBD_IF_EXTERN UINT8 OsdGame_GetTransparency(void);
- //fanzhang add 2010/09/08 for mantis bug 104051 end }
- #endif //_OSDGAME_IF_H
|