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

📄 sysdef.h

📁 liu7788414
💻 H
字号:
#ifndef GAMEDEF_H
#define GAMEDEF_H
//#include <AEE.h>        // Standard AEE definitions
//#include <AEEStdlib.h>  // AEE Standard C library functions


////////////////////////////////
// ASSERT definition
////////////////////////////////

#include <afx.h>
#include <malloc.h>
#include <string.h>

#define MALLOC(A)	malloc(A)
#define FREE(A)		free(A)
#define MEMSET(A,B,C)	memset(A,B,C)
#define STRCPY(A,B)		strcpy(A,B)
#define STRCAT(A,B)		strcat(A,B)
#define MEMCPY(A,B,C)	memcpy(A,B,C)
#define GETUPTIMEMS()	GetTickCount()
#define DBGPRINTF		printf
#define	SPRINTF			sprintf
#define STRCMP			strcmp
#define STRNCPY			strncpy
#define STRLEN			strlen
#define ABS				abs
#define  SUCCESS              0        // No error

#ifndef byte
typedef unsigned char byte;
#endif

#ifndef boolean
typedef unsigned char boolean;
#endif


#ifdef AEE_SIMULATOR
	int __stdcall MessageBoxA(
		void* hWnd ,
		const char *lpText,
		const char *lpCaption,
		unsigned int uType);

		__inline void Assert(int x, char *file, int line,char *s)
		{
			if(!x){
				char msg[64];
				SPRINTF(msg, "%s\n line:%d\n%s",file, line, s);
				//MessageBoxA(NULL, msg, NULL, 0);
				__asm int 3;
			}
		}

	#define SYS_ASSERT(x)		Assert(x,__FILE__,__LINE__,"")
	#define SYS_ASSERT2(x,s)	Assert(x,__FILE__,__LINE__,s)
	#define LOG DBGPRINTF
	#define ASSERT_OF(x, y)		if ((double)(x) * (double)(y) >= 0x7fffffff)	Assert(0, __FILE__, __LINE__, "");
	#define ASSERT_OF2(x, y)	if ((double)(x) * (double)(y) >= 0xffffffff)	Assert(0, __FILE__, __LINE__, "");
	
#else	//arm
//	#ifndef __FEATURE_SIGNED_CHAR //we must use -zc in mak file
//		/*use -zc in make file  */#define a(  //hehe
//	#endif

	#define SYS_ASSERT(x)		//if(!(x)) DBGPRINTF("A %s:%d", __FILE__, __LINE__)
	#define SYS_ASSERT2(x,s)	//if(!(x)) DBGPRINTF("A %s:%d", __FILE__, __LINE__,s)	
	#define LOG DBGPRINTF
	#define ASSERT_OF(x, y)
	#define ASSERT_OF2(x, y)
#endif

//////////////////////////////////
// BREW version definition
//////////////////////////////////



//////////////////////////////////
// Resource file name
//////////////////////////////////
#define RES_FILE "res.pak"


//////////////////////////////////
// Save file name
//////////////////////////////////
#define SAVEFILE_NAME "save.dat"
#define SAVEFILE_NAME1 "save1.dat"






//////////////////////////////////
// Memory size
//////////////////////////////////
// local

#define LOCAL_MEMORY_SIZE	(2600 * 1024)    



#define GLOBAL_MEMORY_SIZE	(1200 * 1024)



//===========================================================================//
// Device
//===========================================================================//

// screen size
		
#define SCREEN_WIDTH   176
#define SCREEN_HEIGHT  203

//============================================================================//
//  FOR 3D RENDER
//============================================================================//

#define	INTERFACE_HEIGHT         0
#define RENDER_WIDTH    SCREEN_WIDTH
#define RENDER_HEIGHT   SCREEN_HEIGHT - INTERFACE_HEIGHT



//=============================================================================//





#define SCREEN_WIDTH_D2    (SCREEN_WIDTH>>1)
#define SCREEN_HEIGHT_D2   (SCREEN_HEIGHT>>1)

#define MAX_ACTOR_WIDTH     30
#define MAX_ACTOR_HEIGHT    60


#define GAME_BAR_LENGTH    40
#define GAME_BAR_HEIGHT    4

//
#define MAX_CAMERA_SLIDE_VELOCITY  20 // PIXELS

// block size
#define BLOCK_WIDTH        64//128
#define BLOCK_HEIGHT       64//128

//
#define MAX_CAMERA_SLIDE_POINTS_NUMBER  7
#define MAX_HITS_NUMBER  10
#define MAX_RADAR_LIST_NUMBER  10
#define MAX_DRAW_LIST_SIZE  50
#define MAX_ENEMY_SNIPE_CROSS_NUMBER  6
#define DURATION_CAMERA_SLIDE_POINTS_STAYING  30

#define RADERWIDTH_D2   11
#define SQUARE_RADER    (RADERWIDTH_D2*RADERWIDTH_D2)
#define bLoadAnimsOnce  false



// Input System   

#define gk_HOLD_TIME   10                                                            
// Game key
#define gk_UP          1
#define gk_DOWN        (1<<1)
#define gk_LEFT        (1<<2)
#define gk_RIGHT       (1<<3)
#define gk_NUM0        (1<<4)
#define gk_NUM1        (1<<5)
#define gk_NUM2        (1<<6)
#define gk_NUM3        (1<<7)
#define gk_NUM4        (1<<8)
#define gk_NUM5        (1<<9)
#define gk_NUM6        (1<<10)
#define gk_NUM7        (1<<11)
#define gk_NUM8        (1<<12)
#define gk_NUM9        (1<<13)
#define gk_STAR        (1<<14)
#define gk_POUND       (1<<15)
#define gk_LSOFT       (1<<16)
#define gk_RSOFT       (1<<17)
#define gk_MSOFT       (1<<18)
#define gk_BACK        (1<<19)
#define gk_SEND        (1<<20)

// Virtual Key
#define VKEY_SCROLL_LEFT     (gk_LEFT|gk_NUM4)
#define VKEY_SCROLL_RIGHT    (gk_RIGHT|gk_NUM6)
#define VKEY_SCROLL_UP       (gk_UP|gk_NUM2)
#define VKEY_SCROLL_DOWN     (gk_DOWN|gk_NUM8)

#define VKEY_THROW_GRENADE   (gk_NUM3|gk_NUM9)
#define VKEY_COMMAND         (gk_MSOFT|gk_NUM5)
#define VKEY_SNIPER          (gk_STAR)
#define VKEY_KNIFE           gk_NUM0
#define VKEY_THROW_FLASH     (gk_NUM1|gk_NUM7)

#define VKEY_MENU_SELECT     (gk_NUM5|gk_RSOFT|gk_MSOFT)
#define VKEY_MENU_BACK       (gk_LSOFT|gk_BACK)
#define VKEY_MENU_UP         (gk_UP|gk_NUM2)
#define VKEY_MENU_DOWN       (gk_DOWN|gk_NUM8)
#define VKEY_MENU_LEFT       (gk_LEFT|gk_NUM4)
#define VKEY_MENU_RIGHT      (gk_RIGHT|gk_NUM6)
#define VKEY_MENU_CLR        gk_BACK
#define VKEY_MENU_PAUSE      gk_RSOFT
#define VKEY_MENU_RETRY		 gk_LSOFT
#define VKEY_MENU_EXIT		gk_RSOFT
#define VKEY_MENU_CONTINUE	gk_LSOFT




#define DEFAULT_SOUND_SET   0  //Milo 0 for without default sound 12-29

// Sound System

#define SOUND_NUMBER      24




#if CHECK_MATH


	// ---------------------------------------------------------------------------
	//	Check integer arithmetics overflow
	// ---------------------------------------------------------------------------
	void _Check_Int_Limit(double);	// Defined in IMath.cpp
	void _Check_Short_Limit(double);

	#define CHECK_SHORT_LIMIT(x)	_Check_Short_Limit(x);
	#define CHECK_LIMIT(x)				_Check_Int_Limit(x);
    void _Check_Precision(double fResult, int nResult, double fTolerancePercentage);

	#define CHK_MULT(x,y)		CHECK_LIMIT(double(x)*double(y))
	#define CHK_ADD(x,y)		CHECK_LIMIT(double(x)+double(y))
    #define CHK_PRECISION(fResult, nResult, fTolerancePercentage) _Check_Precision(fResult, nResult, fTolerancePercentage);

#else
	#define CHECK_SHORT_LIMIT(x)
	#define CHECK_LIMIT(x)
	#define	CHK_MULT(x,y)
	#define CHK_ADD(x,y)
    #define CHK_PRECISION(fResult, nResult, fTolerancePercentage)

#endif //#if CHECK_MATH


#endif

⌨️ 快捷键说明

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