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

📄 mhtimemanager.cpp

📁 墨香最新私服
💻 CPP
字号:
// MHTimeManager.cpp: implementation of the CMHTimeManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MHTimeManager.h"
#include "mmsystem.h"


DWORD gCurTime = 0;		//檬扁拳 眠啊
DWORD gTickTime;

#define TICK_PER_DAY 8640000		// 24 * 60 * 60 * 1000
#define TICK_PER_HOUR 3600000		// 60 * 60 * 1000
#define TICK_PER_MINUTE 60000		// 60 * 1000

#define DAY_PER_YEAR 360
#define DAY_PER_MONTH 30

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMHTimeManager::CMHTimeManager()
{
	m_MHDate = 0;
	m_MHTime = 0;
	m_lasttime	= 0;
}

CMHTimeManager::~CMHTimeManager()
{

}

void CMHTimeManager::Init(DWORD mhDate,DWORD mhTime)
{
	m_MHDate = mhDate;
	m_MHTime = mhTime;
}

void CMHTimeManager::Process()
{
	static bool bFirst = true;
//	static DWORD lasttime = 0;
	static DWORD curtime = 0;
	static int tempDay = 0;

	if( !bFirst )
	{
		curtime = timeGetTime();
		if( curtime < m_lasttime )		// DWORD 屈狼 茄拌甫 逞绢艾促
			gTickTime = curtime - m_lasttime + 4294967295; //( 2^32 - 1 )
		else
			gTickTime = curtime - m_lasttime;

		if( gTickTime == 0 ) return;
		
		m_lasttime = curtime;
		
		gCurTime += gTickTime;
		if( gTickTime > 2000 )
			int a = 0;

		
		//////////////////////////////////////////////////////////////////////////
		// 宫氢仿-_-a;
		m_MHTime += gTickTime;
		if(m_MHTime >= TICK_PER_DAY)
		{
			++m_MHDate;
			m_MHTime -= TICK_PER_DAY;
		}
	}	
	else
	{
		curtime = m_lasttime = timeGetTime();
		bFirst = false;
	}

}


DWORD CMHTimeManager::GetNewCalcCurTime()	//cur鸥烙 货肺 罐酒坷扁 扁粮 gCurTime, gTickTime俊 康氢绝促.
{
	DWORD lcurtime = timeGetTime();
	DWORD lTickTime;
		
	if( lcurtime < m_lasttime )		// DWORD 屈狼 茄拌甫 逞绢艾促
		lTickTime = lcurtime - m_lasttime + 4294967295; //( 2^32 - 1 )
	else
		lTickTime = lcurtime - m_lasttime;
	
	return gCurTime + lTickTime;
}


DWORD CMHTimeManager::GetMHDate()
{
	return m_MHDate;
}
DWORD CMHTimeManager::GetMHTime()
{
	return m_MHTime;
}

void CMHTimeManager::GetMHDate(BYTE& year,BYTE& month,BYTE& day)
{
	year = (BYTE)(m_MHDate / DAY_PER_YEAR) + 1;
	month = (BYTE)((m_MHDate - year) / DAY_PER_MONTH) + 1;
	day = (BYTE)m_MHDate % DAY_PER_MONTH + 1;  // -_-a; 宫氢俊急 葛电 崔篮 30老鳖瘤促 -_-	
}

void CMHTimeManager::GetMHTime(BYTE& hour,BYTE& minute)
{
	hour = (BYTE)m_MHTime / TICK_PER_HOUR;
	minute = (BYTE)(m_MHTime - hour) / TICK_PER_MINUTE;
}

⌨️ 快捷键说明

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