?? game.c
字號:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
* Filename:
* ---------
* Game.c
*
* Project:
* --------
* Maui
*
* Description:
* ------------
* Game Menu
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#include "MMI_include.h"
#ifdef __MMI_GAME__
#include "gui.h"
#include "CustResDef.h"
#include "MiscFunctions.h"
#include "GameResDef.h"
#include "GameProts.h"
#include "FunAndGamesDefs.h"
#include "MainMenuDef.h"
#include "GameFramework.h"
#include "SettingProfile.h" /* SUCCESS_TONE define */
#include "Commonscreens.h"
#ifdef IS_F1RACE_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_F1RACE_BASE_GAME */
#ifdef IS_HANOI_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_HANOI_BASE_GAME */
#ifdef IS_RICHES_BASE_GAME
#include "RichesProts.h"
#include "RichesResDef.h"
#endif /* IS_RICHES_BASE_GAME */
#ifdef IS_COLORBALL_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_COLORBALL_BASE_GAME */
#ifdef IS_SNAKE_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_SNAKE_BASE_GAME */
#ifdef IS_SMASH_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_SMASH_BASE_GAME */
#ifdef IS_DOLL_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_DOLL_BASE_GAME */
#ifdef IS_MAJUNG_BASE_GAME
#include "MajungProts.h"
#include "MajungResDef.h"
#endif /* IS_MAJUNG_BASE_GAME */
#ifdef IS_COPTER_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_COPTER_BASE_GAME */
#ifdef IS_PUZZLE_BASE_GAME
#include "PuzzleResDef.h"
#include "PuzzleProts.h"
#endif /* IS_PUZZLE_BASE_GAME */
#ifdef IS_BLOCK_BASE_GAME
#include "BlockHead.h"
#endif /* IS_BLOCK_BASE_GAME */
#ifdef IS_PANDA_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_PANDA_BASE_GAME */
#ifdef IS_STAIR_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_STAIR_BASE_GAME */
#ifdef IS_UFO_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_UFO_BASE_GAME */
#ifdef IS_DANCE_BASE_GAME
/* under construction !*/
/* under construction !*/
#endif /* IS_DANCE_BASE_GAME */
#ifdef IS_MAGICSUSHI_BASE_GAME
#include "MagicsushiResDef.h"
#include "MagicsushiProts.h"
#endif /* IS_MAGICSUSHI_BASE_GAME */
#ifdef IS_FRUIT_BASE_GAME
#include "FruitResDef.h"
#include "FruitProts.h"
#endif /* IS_FRUIT_BASE_GAME */
#ifdef IS_VSMJ_BASE_GAME
#include "VsmjResDef.h"
#include "VsmjProts.h"
#endif /* IS_VSMJ_BASE_GAME */
#include "DateTimeType.h"
#include "App_DateTime.h"
#ifdef __MMI_GAME_MULTI_LANGUAGE_SUPPORT__
#include "GameProts.h"
#endif
/****************************************************************************
* Macro
*****************************************************************************/
#define GAME_SWITCH(index, func_ptr) \
{ \
case index: \
{ \
SetLeftSoftkeyFunction(func_ptr,KEY_EVENT_UP); \
SetKeyHandler(func_ptr, KEY_RIGHT_ARROW,KEY_EVENT_DOWN);\
} \
break; \
}
typedef enum
{
#if defined(__MMI_GAME__)
#ifdef __MMI_GAME_MULTICHANNEL_SOUND__
MMI_GAME_SETTING_BACKGROUND,
MMI_GAME_SETTING_SOUND_EFFECTS,
#else /* __MMI_GAME_MULTICHANNEL_SOUND__ */ /* /__MMI_GAME_MULTICHANNEL_SOUND__ */
MMI_GAME_SETTING_AUD,
#endif /* __MMI_GAME_MULTICHANNEL_SOUND__ */
MMI_GAME_SETTING_VIB,
#endif /* defined(__MMI_GAME__) */
MMI_GAME_SETTING_ITEM_COUNT
} mmi_game_setting_inline_enum;
typedef struct
{
/* strings for inline selection display */
#ifdef __MMI_GAME_MULTICHANNEL_SOUND__
UI_string_type background_music_str[2];
UI_string_type sound_effect_str[2];
#else /* __MMI_GAME_MULTICHANNEL_SOUND__ */
UI_string_type aud_str[2];
#endif /* __MMI_GAME_MULTICHANNEL_SOUND__ */
UI_string_type vib_str[2];
#ifdef __MMI_GAME_MULTICHANNEL_SOUND__
S32 bgm_selected;
S32 sound_effect_selected;
#else /* __MMI_GAME_MULTICHANNEL_SOUND__ */
S32 aud_selected;
#endif /* __MMI_GAME_MULTICHANNEL_SOUND__ */
S32 vib_selected;
/* inline selection item */
InlineItem inline_game_items[MMI_GAME_SETTING_ITEM_COUNT *2]; /* one for caption, one for selection */
} mmi_game_cntx_struct;
mmi_game_cntx_struct g_mmi_game_cntx;
#ifdef __MMI_GAME_MULTI_LANGUAGE_SUPPORT__
/*used for multi-language language_mapping_table_struct , currently we max support ten languages*/
mmi_game_language_mapping_table_struct g_mmi_game_language_mapping_table[] =
{
{MMI_GAME_LANGUAGE0, "English", "*#0044#"},
{MMI_GAME_LANGUAGE1, "Chinese", "*#0086#"},
{MMI_GAME_LANGUAGE2, "Arabic" , "*#0966#"},
{MMI_GAME_LANGUAGE3, "", ""},
{MMI_GAME_LANGUAGE4, "", ""},
{MMI_GAME_LANGUAGE5, "", ""},
{MMI_GAME_LANGUAGE6, "", ""},
{MMI_GAME_LANGUAGE7, "", ""},
{MMI_GAME_LANGUAGE8, "", ""},
{MMI_GAME_LANGUAGE9, "", ""}
};
extern U16 gCurrLangIndex;
extern const sLanguageDetails mtk_gLanguageArray[];
U16 g_mmi_game_current_language_index;
#endif /*__MMI_GAME_MULTI_LANGUAGE_SUPPORT__*/
/****************************************************************************
* Local Functions
*****************************************************************************/
static void mmi_game_highlight_hdlr(S32 index);
static void mmi_game_entry_app_screen(void);
static void mmi_game_exit_setting_screen(void);
static void mmi_game_setting_highlight_hdlr(S32 index);
static void mmi_game_setting_done_hdlr(void);
static void mmi_game_entry_setting_screen(void);
#ifdef __MMI_GAME_MULTI_LANGUAGE_SUPPORT__ /*used for multi-language*/
static U16 mmi_gfx_get_current_language_index(void);
static U8 mmi_gfx_get_fisrt_valid_language_index(void);
#endif /*__MMI_GAME_MULTI_LANGUAGE_SUPPORT__*/
/*****************************************************************************
* FUNCTION
* mmi_game_highlight_hdlr
* DESCRIPTION
* highlight hdlr for games
* PARAMETERS
* index [IN] Highlighted index
* RETURNS
* void
*****************************************************************************/
static void mmi_game_highlight_hdlr(S32 index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =