⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osdgame.c

📁 mtkDVD源代码程序4*16 很好玩的内置5.1环绕音效 大家可以玩一下
💻 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 + -