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

📄 utility.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 H
字号:
// FrameSkip.h

#ifndef	__FRAMESKIP_H
#define	__FRAMESKIP_H

#define   D3DREND_ALPHA_NONE    0xFFFFFFFF
#define   D3DREND_ALPHA_TRANS   0x77FFFFFF

#define   RGB565TOARGB4444(Color)		0xf000| ((Color) & 0xf000)>>4 | ((Color) & 0x0780)>>3 | ((Color) & 0x001e)>>1
#define   RGB565TOARGB8888(Color)		0xff000000| RGB16R(Color)<<16 | RGB16G(Color)<<8 | RGB16B(Color)

#define FLOATTOINT(f,i){\
__asm fld         (f)\
__asm fistp       (i)\
}

#define	FRAME_VELOCITY	30.0f

class CUtility
{
public:
	struct sFrameSkip
	{
		sFrameSkip();
		
		BOOL	Skip (void);
		int		Wait (void);
		void	GetTime (void);
		void	ResetFrame (void);
		
		float	m_fTime;
		int		m_nFps;
		float	m_fRate;
		DWORD	m_dwTimeSaving;
	};
	
	static void		ResetFrame();
	static BOOL		FrameSkip();
	static void		SetTimer(DWORD dwTime);

	static int		StrTrim(char *dst, char *src, int len);
	static int		TokenStr(char *dst, char *src, int nLimit);
	
	static void		SetComma(char *szBuffer, int num);
	static int		GetComma(char *szBuffer);
	static void		SetDate(char* dest, char* src);
	static void		GetDate(char* dest, char* src);
	
	static BOOL		RectInRect(RECT rect1, RECT rect2);
	static int		GetStringPixel(HDC hdc, char* dest, char* src, int width);
	
	static void		Log(const char *log, ...);
	
	static float	V1ToV2Length(D3DXVECTOR3& v1, D3DXVECTOR3& v2)		{ return D3DXVec3Length( &(v1-v2) ); }
	static float	SectorV1ToV2(D3DXVECTOR3 *pV1, D3DXVECTOR3 *pV2);	// 滴 氦磐狼 荤捞阿阑 府畔茄促.
	static void		QuaternionRotateVector(D3DXQUATERNION Quater, D3DXVECTOR3 *pV);	// 孽磐甫 啊瘤绊 氦磐甫 雀傈矫挪促.
	static void		RotateVector(D3DXVECTOR3 *pOut,D3DXVECTOR3 *pAxis, float Angle);

	static BOOL		IntersectTriangle( const D3DXVECTOR3& , const D3DXVECTOR3& , D3DXVECTOR3&,
										D3DXVECTOR3& , D3DXVECTOR3& , FLOAT* , FLOAT* , FLOAT* );
	static float	AngleBetweenV( D3DXVECTOR3 &P1, D3DXVECTOR3 &P2 );

	static void		printf_Debug(const char *Msg,...);	// 叼滚弊芒俊 免仿

	static char *	GetDirPath( char * szPath, char *szDir, char *szFileName, char *szName );

	// 伙阿屈 痢 器窃 抛胶飘.
	// vN [In] : 乞搁俊 过急
	// vPoint [In] : 备客 乞搁狼 背痢
	// *pV [In]	: 滚咆胶 3俺 硅凯狼 霉锅掳 林家(器窃盲农甫 且 弃府帮)
	static bool		PointInTri(D3DXVECTOR3 &vN, D3DXVECTOR3 &vPoint, D3DXVECTOR3 *pV);
	static bool		PointInTriEdge(D3DXVECTOR3 &vCenter,float R,D3DXVECTOR3 &vPoint, D3DXVECTOR3 *pV);

	// pP [In] : 乞搁
	// vCenter [In] : 备狼 吝缴
	// R [In]	: 馆瘤抚
	// pPoint [Out] : 备秦柳 背痢
	static bool		SphereToPlane(D3DXPLANE *pP, D3DXVECTOR3 &vCenter, float R, D3DXVECTOR3 *pPoint, float *pDist);

	// 器拱急
	// vV [In] : 规氢 + 加档啊 钦贸柳 归磐
	// vStartPt [In] : 矫累 困摹
	// t [In] : 儒弗 矫埃 ( 拌加 绵利登绰.. )
	// g [In] : 吝仿蔼
	// pt[Out] : 弥绊 瘤痢俊 档崔窍绰 矫埃
	// h [Out] : 弥绊 瘤痢俊 臭捞.
	static D3DXVECTOR3 Parabola(D3DXVECTOR3& vV, D3DXVECTOR3& vStartPt,float AddedT, float t, float G=9.8f, float *pt=NULL,float *h=NULL);

	// 壶函
	static D3DXVECTOR3 Hypotenuse(D3DXVECTOR3 &vN, D3DXVECTOR3 &vDir, float Speed);

	// 橇饭烙 扁霖俊 单捞磐 魂免(??), 矫埃扁霖栏肺 利寸茄 芭府 拌魂
	static float FrameSecDist(float speed,DWORD time);

	// MaxSpeed : 0捞搁 公茄 加档
	static float FrameSecDist(float *speed,DWORD time, float Acceler, float MaxSpeed=0);
	
private:
	static sFrameSkip  g_FrameSkip;
	static DWORD	   g_dwCurrentTime;
};

#endif

⌨️ 快捷键说明

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