📄 osdgame.c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 04/08/27 9:40a $ ****************/
/*************** $Revision:: 1 $ ****************/
/*************** ****************/
/*************** Description : OSD Game ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : ****************/
/**********************************************************************/
#include "general.h"
#define BLOCK_WIDTH 16
#define BLOCK_HEIGHT 16
BYTE _bX = 0;
BYTE _bY = 0;
void vOsdGamePasteBmp(BYTE bBmpIndex, WORD wX, WORD wY)
{
BYTE bLang = bSharedInfo(SI_OSD_LANG);
BYTE bLefCmdNo;
// if((ReadBIM(BIM_ANIRQ)&AOSDI)==0)
{
bLefCmdNo = bSharedInfo(SI_OSD_CMD_NS);
if(bLefCmdNo<10)
{
bNowCmdGR = bSharedInfo(SI_OSD_CMD_WPTR) + SI_OSD_CMD_PRM_GRP;
vWaitBusy();
vBeginWriteSharedGrp(bNowCmdGR, OSD_CMD_PAS_BMP);
vWriteNextSharedItem(bBmpIndex);
vWriteNextSharedItem(bLang);
vWriteNextSharedItem(MENU_MSG);
vWriteNextSharedItem(OSD_MSG_SETUP_START);
vWriteNextSharedItem(bLoByte(wX));
vWriteNextSharedItem(bHiByte(wX));
vWriteNextSharedItem(bLoByte(wY));
vWriteNextSharedItem(bHiByte(wY));
vSendOsdCmd();
}
}
}
void vOsdGameInit(void)
{
BYTE bLang = bSharedInfo(SI_OSD_LANG);
BYTE bLefCmdNo;
// if((ReadBIM(BIM_ANIRQ)&AOSDI)==0)
{
bLefCmdNo = bSharedInfo(SI_OSD_CMD_NS);
if(bLefCmdNo<10)
{
bNowCmdGR = bSharedInfo(SI_OSD_CMD_WPTR) + SI_OSD_CMD_PRM_GRP;
vWaitBusy();
vBeginWriteSharedGrp(bNowCmdGR, OSD_CMD_SHOW_WHITE_BOARD_256);
vWriteNextSharedItem(bLang);
vWriteNextSharedItem(MENU_MSG);
vWriteNextSharedItem(OSD_MSG_SETUP_START);
vWriteNextSharedItem(OSD_MSG_SETUP_END);
vSendOsdCmd();
}
}
}
void vOsdGameStart(void)
{
INT i=0;
INT j=0;
for(i=0; i<256; i+=BLOCK_WIDTH)
for(j=0; j<256; j+=BLOCK_HEIGHT)
vOsdGamePasteBmp(0, i, j);
vOsdGamePasteBmp(1, _bX*BLOCK_WIDTH, _bY*BLOCK_HEIGHT);
}
void vGameStateMachine(BYTE bKey)
{
vOsdGamePasteBmp(0, _bX*BLOCK_WIDTH, _bY*BLOCK_HEIGHT);
switch(bKey)
{
case IR_UP:
if (_bY>0)
_bY--;
break;
case IR_DOWN:
// if (bY<0)
_bY++;
break;
case IR_LEFT:
if (_bX>0)
_bX--;
break;
case IR_RIGHT:
// if (bX>0)
_bX++;
break;
}
vOsdGamePasteBmp(1, _bX*BLOCK_WIDTH, _bY*BLOCK_HEIGHT);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -