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

📄 gamecomplete.c

📁 凌阳32位单片机开发的小游戏
💻 C
字号:
/******************************************************************************
 *
 *     The information contained herein is the exclusive property of
 *   Sunplus Technology Co. And shall not be distributed, reproduced,
 *   or disclosed in whole in part without prior written permission.
 *
 *         (C) COPYRIGHT 2005   SUNPLUS TECHNOLOGY CO.
 *                        ALL RIGHTS RESERVED
 *
 * The entire notice above must be reproduced on all authorized copies.
 *
 *****************************************************************************/

/******************************************************************************
 *  Filename:   	GameComplete.c
 *  Author:     	Robin.xjliu  (eMail: xjliu@sunplus.com)
 *  Tel:        	00885-028-87848688-5884
 *  Date:       	2005-11-22
 *  Description:	complete a level
 *  Reference:
 *  Version history:
 *-----------------------------------------------------------------------------
 *	Version   YYYY-MM-DD-INDEX   Modified By         Description
 *	1.0.0     2005-11-22           xjliu               Create
 *
 *****************************************************************************/
#include "Include/GameComplete.h"

extern U16 nHMovementCnt;
extern bool g_bHMovementFlag;

U8 nComState;
const LOAD_INFO LoadComInfo[8] =
{
 	{".\\Game\\CeShow\\Pass_Index1.bin"		, TEXT1_PNT_ADDR	, O_RDONLY, 0x4000  },//O_CREAT
	{".\\Game\\CeShow\\Pass_Index2.bin"		, TEXT2_PNT_ADDR	, O_RDONLY, 0x4000  },
	{".\\Game\\CeShow\\Pass_Index3.bin"		, TEXT3_PNT_ADDR	, O_RDONLY, 0x0000  },
 	{".\\Game\\CeShow\\Pass_Pixel1.bin"		, TEXT1_PGT_ADDR	, O_RDONLY, 0x100000},
	{".\\Game\\CeShow\\Pass_Pixel2.bin"		, TEXT2_PGT_ADDR	, O_RDONLY, 0x100000},
	{".\\Game\\CeShow\\Pass_Pixel3.bin"		, TEXT3_PGT_ADDR	, O_RDONLY, 0x000000},
	{".\\Game\\CeShow\\Pass_Palette.bin"	 	, BG_PAL_ADDR   	, O_RDONLY, 0x4000  },
	{".\\Game\\CeShow\\Pass_TextHeader.bin" 	, TEXT_HEADER_ADDR	, O_RDONLY, 0x8000  },
};
/*
void Complete_Init(void)
{
	InitTV();
	Sys_Load_SDCard(&LoadComInfo, ASZ(LoadComInfo));
	
	InitSystem();
	*P_PPU_TX1_Control = 0x000a;
	*P_PPU_TX2_Control = 0x011a;
	*P_PPU_TX3_Control = 0x0002;
	*P_PPU_TX2_Blending = 50;
	*P_PPU_TX1_X = 0;
	*P_PPU_TX2_X = 0;
	*P_PPU_TX3_X = 0;
	*P_PPU_TX1_Y = 0;
	*P_PPU_TX2_Y = 0;
	*P_PPU_TX3_Y = 0;
	
//	E_InitMotion();   
//	pPrelude_Motion_Start=E_AllocMotion(&Start_Action[0], 0, 256, 304-64, SP_PRIO_7);
//	pPrelude_Motion_Sensor=E_AllocMotion(&Sensor_Action[0], 0, 224, 304, SP_PRIO_7);
//	pPrelude_Motion_MP4=E_AllocMotion(&Mp4_Action[0], 0, 256, 304+64, SP_PRIO_7);
//	pPrelude_Motion_Acotor=E_AllocMotion(&Actor_Action[0], 2, 96, 200, SP_PRIO_15);

	nHMovementCnt = 0;//HMovement
	g_bHMovementFlag = true;

	PPU_ShowSprite(true);
	WaitBlanking();
	FadeIn();
	nCompleteState = Com_Loop;
}*/
/*
void Complete_Loop(void)
{
	Play_ProcessInput();
	if ( g_stEvent.Ev_Key == VK_START )
	{
		nCompleteState = Com_End;
	}
	WaitBlanking();
}*/

/**
 * BW_Play - game play main loop
 */
GAMESTATE BW_Complete(void)
{
	nComState = COMINIT;
   
	while(1)
	{ 
   		//Check State 
		switch(nComState)
		{
		case COMINIT:
			//Complete_Init();
			InitTV();
			Sys_Load_SDCard(&LoadComInfo, ASZ(LoadComInfo));
			
			InitSystem();
			*P_PPU_TX1_Control = 0x000a;
			*P_PPU_TX2_Control = 0x011a;
			*P_PPU_TX3_Control = 0x0002;
			*P_PPU_TX2_Blending = 50;
			*P_PPU_TX1_X = 0;
			*P_PPU_TX2_X = 0;
			*P_PPU_TX3_X = 0;
			*P_PPU_TX1_Y = 0;
			*P_PPU_TX2_Y = 0;
			*P_PPU_TX3_Y = 0;
			
		/*	E_InitMotion();   
			pPrelude_Motion_Start=E_AllocMotion(&Start_Action[0], 0, 256, 304-64, SP_PRIO_7);
			pPrelude_Motion_Sensor=E_AllocMotion(&Sensor_Action[0], 0, 224, 304, SP_PRIO_7);
			pPrelude_Motion_MP4=E_AllocMotion(&Mp4_Action[0], 0, 256, 304+64, SP_PRIO_7);
			pPrelude_Motion_Acotor=E_AllocMotion(&Actor_Action[0], 2, 96, 200, SP_PRIO_15);
		*/
			nHMovementCnt = 0;//HMovement
			g_bHMovementFlag = true;
#ifdef MIDI_ENABLE
			//SetMidiChannelMask(0x0000, 0xFFFF);
			//SetMidiVolume(127);
			StopMidi();
			//InitSPU();	// tested by Bruce
			PlayMidi(MIDI_END, SS_PLAYMIDI_INFINITY);
#endif
			PPU_ShowSprite(true);
			WaitBlanking();
			FadeIn();
			nComState = COMLOOP;
			break;
		case COMLOOP: 
			//Complete_Loop();
			Play_ProcessInput();
			if ( g_stEvent.Ev_Key == VK_START )
			{
				nComState = COMEND;
			}
			WaitBlanking();
			break;
		case COMEND:
			FadeOut();
#ifdef MIDI_ENABLE
			StopMidi();
			//SetMidiVolume(0);
			//InitSPU();
#endif
			return BW_PRELUDE;			
			break;
		}  
   }
   return BW_GAMESTATE_MAXNUM;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -