| Line 3... | Line 3... | 
          
            | 3 | //////////////////////////////////////////////////////////////////////
 | 3 | //////////////////////////////////////////////////////////////////////
 | 
          
            | 4 |  
 | 4 |  
 | 
          
            | 5 | #include "stdafx.h"
 | 5 | #include "stdafx.h"
 | 
          
            | 6 | #include "LCDDisplay.h"
 | 6 | #include "LCDDisplay.h"
 | 
          
            | 7 | //#include "LCDCustomScreen.h"
 | 7 | //#include "LCDCustomScreen.h"
 | 
          
            | 8 |  
 | - |   | 
          
            | - |   | 8 | #include "Utils\String.h"
 | 
          
            | 9 | //////////////////////////////////////////////////////////////////////
 | 9 | //////////////////////////////////////////////////////////////////////
 | 
          
            | 10 | // Construction/Destruction
 | 10 | // Construction/Destruction
 | 
          
            | 11 | //////////////////////////////////////////////////////////////////////
 | 11 | //////////////////////////////////////////////////////////////////////
 | 
          
            | 12 |  
 | 12 |  
 | 
          
            | 13 | CLCDDisplay::CLCDDisplay( CEzLcd *lcd, CX3Data *data )
 | 13 | CLCDDisplay::CLCDDisplay( CEzLcd *lcd, CX3Data *data )
 | 
          
            | Line 67... | Line 67... | 
          
            | 67 | 	{
 | 67 | 	{
 | 
          
            | 68 | 		int x = (40 * (i % 4));
 | 68 | 		int x = (40 * (i % 4));
 | 
          
            | 69 | 		int y = 14 + (10 * (i / 4));
 | 69 | 		int y = 14 + (10 * (i / 4));
 | 
          
            | 70 | 	    HANDLE shipsText = lcd->AddText(LG_STATIC_TEXT, LG_SMALL, DT_LEFT, 20);
 | 70 | 	    HANDLE shipsText = lcd->AddText(LG_STATIC_TEXT, LG_SMALL, DT_LEFT, 20);
 | 
          
            | 71 | 	    lcd->SetOrigin ( shipsText, x, y);
 | 71 | 	    lcd->SetOrigin ( shipsText, x, y);
 | 
          
            | 72 | 		lcd->SetText ( shipsText, GetShipClassName(i) );
 | 72 | 		lcd->SetText ( shipsText, GetShipClassName(i).c_str() );
 | 
          
            | 73 | 	}
 | 73 | 	}
 | 
          
            | 74 |  
 | 74 |  
 | 
          
            | 75 | 	// class stats varibless
 | 75 | 	// class stats varibless
 | 
          
            | 76 | 	for ( i = 0; i < MAXSHIPCLASS; i++ )
 | 76 | 	for ( i = 0; i < MAXSHIPCLASS; i++ )
 | 
          
            | 77 | 	{
 | 77 | 	{
 | 
          
            | Line 265... | Line 265... | 
          
            | 265 | 	m_pLcd->SetText ( m_hGameTime, m_pData->gameTime().c_str() );
 | 265 | 	m_pLcd->SetText ( m_hGameTime, m_pData->gameTime().c_str() );
 | 
          
            | 266 | 	m_pLcd->SetText ( m_hInsurance1, Utils::WString::Number(m_pData->GetInsurance()).c_str() );
 | 266 | 	m_pLcd->SetText ( m_hInsurance1, Utils::WString::Number(m_pData->GetInsurance()).c_str() );
 | 
          
            | 267 |  
 | 267 |  
 | 
          
            | 268 | 	// second stats pages (each ship classes)
 | 268 | 	// second stats pages (each ship classes)
 | 
          
            | 269 |     m_pLcd->ModifyControlsOnPage(1);
 | 269 |     m_pLcd->ModifyControlsOnPage(1);
 | 
          
            | 270 | 	m_pLcd->SetText(m_hStatsTitle2, name);
 | 270 | 	m_pLcd->SetText(m_hStatsTitle2, name.c_str());
 | 
          
            | 271 | 	for ( i = 0; i < MAXSHIPCLASS; i++ )
 | 271 | 	for ( i = 0; i < MAXSHIPCLASS; i++ )
 | 
          
            | 272 | 		m_pLcd->SetText ( m_hClasses[i], Utils::WString::Number(m_pData->GetShipClass(i)).c_str() );
 | 272 | 		m_pLcd->SetText ( m_hClasses[i], Utils::WString::Number(m_pData->GetShipClass(i)).c_str() );
 | 
          
            | 273 | 	m_pLcd->SetText ( m_hInsurance2, Utils::WString::Number(m_pData->GetInsurance()).c_str() );
 | 273 | 	m_pLcd->SetText ( m_hInsurance2, Utils::WString::Number(m_pData->GetInsurance()).c_str() );
 | 
          
            | 274 |  
 | 274 |  
 | 
          
            | 275 | 	// first combat page, your current ship)
 | 275 | 	// first combat page, your current ship)
 | 
          
            | 276 |     m_pLcd->ModifyControlsOnPage(2);
 | 276 |     m_pLcd->ModifyControlsOnPage(2);
 | 
          
            | 277 | 	m_pLcd->SetText ( m_hCombatTitle1, m_pData->myShip() );
 | 277 | 	m_pLcd->SetText ( m_hCombatTitle1, m_pData->myShip().c_str());
 | 
          
            | 278 | 	m_pLcd->SetProgressBarPosition ( m_hMyHull, (float)m_pData->GetHull());
 | 278 | 	m_pLcd->SetProgressBarPosition ( m_hMyHull, (float)m_pData->GetHull());
 | 
          
            | 279 | 	m_pLcd->SetProgressBarPosition ( m_hMyShield, (float)m_pData->GetShields());
 | 279 | 	m_pLcd->SetProgressBarPosition ( m_hMyShield, (float)m_pData->GetShields());
 | 
          
            | 280 | 	m_pLcd->SetProgressBarPosition ( m_hMyWeapon, (float)m_pData->GetWeaponEnergy ());
 | 280 | 	m_pLcd->SetProgressBarPosition ( m_hMyWeapon, (float)m_pData->GetWeaponEnergy ());
 | 
          
            | 281 | 	m_pLcd->SetText ( m_hMissiles, Utils::WString::Number(m_pData->GetMissiles()).c_str() );
 | 281 | 	m_pLcd->SetText ( m_hMissiles, Utils::WString::Number(m_pData->GetMissiles()).c_str() );
 | 
          
            | 282 | 	m_pLcd->SetText ( m_hEnemies, Utils::WString::Number(m_pData->GetEnemies()).c_str() );
 | 282 | 	m_pLcd->SetText ( m_hEnemies, Utils::WString::Number(m_pData->GetEnemies()).c_str() );
 | 
          
            | Line 288... | Line 288... | 
          
            | 288 | 	if ( !m_pData->targetRelation().empty() )
 | 288 | 	if ( !m_pData->targetRelation().empty() )
 | 
          
            | 289 | 	{
 | 289 | 	{
 | 
          
            | 290 | 		target += L" / ";
 | 290 | 		target += L" / ";
 | 
          
            | 291 | 		target += m_pData->targetRelation();
 | 291 | 		target += m_pData->targetRelation();
 | 
          
            | 292 | 	}
 | 292 | 	}
 | 
          
            | 293 | 	m_pLcd->SetText ( m_hCombatTitle2, target);
 | 293 | 	m_pLcd->SetText ( m_hCombatTitle2, target.c_str());
 | 
          
            | 294 | 	m_pLcd->SetText ( m_hSpeedText1, _T("Speed:") );
 | 294 | 	m_pLcd->SetText ( m_hSpeedText1, _T("Speed:") );
 | 
          
            | 295 | 	m_pLcd->SetText ( m_hSpeedText2, _T("Distance:") );
 | 295 | 	m_pLcd->SetText ( m_hSpeedText2, _T("Distance:") );
 | 
          
            | 296 | 	Utils::WString speed = Utils::WString::Number(m_pData->GetTargetSpeed()) + L" (" + Utils::WString::Number(m_pData->GetMySpeed()) + L")";
 | 296 | 	Utils::WString speed = Utils::WString::Number(m_pData->GetTargetSpeed()) + L" (" + Utils::WString::Number(m_pData->GetMySpeed()) + L")";
 | 
          
            | 297 | 	m_pLcd->SetText ( m_hMySpeed, speed);
 | 297 | 	m_pLcd->SetText ( m_hMySpeed, speed.c_str());
 | 
          
            | 298 | 	m_pLcd->SetText ( m_hTargetSpeed, m_pData->GetTargetDistanceStr());
 | 298 | 	m_pLcd->SetText ( m_hTargetSpeed, m_pData->GetTargetDistanceStr().c_str());
 | 
          
            | 299 | 	m_pLcd->SetProgressBarPosition ( m_hTargetHull, (float)m_pData->GetTargetHull() );
 | 299 | 	m_pLcd->SetProgressBarPosition ( m_hTargetHull, (float)m_pData->GetTargetHull() );
 | 
          
            | 300 | 	m_pLcd->SetProgressBarPosition ( m_hTargetShield, (float)m_pData->GetTargetShield() );
 | 300 | 	m_pLcd->SetProgressBarPosition ( m_hTargetShield, (float)m_pData->GetTargetShield() );
 | 
          
            | 301 | 	m_pLcd->SetText ( m_hMissiles2, Utils::WString::Number(m_pData->GetMissiles()).c_str() );
 | 301 | 	m_pLcd->SetText ( m_hMissiles2, Utils::WString::Number(m_pData->GetMissiles()).c_str() );
 | 
          
            | 302 | 	m_pLcd->SetText ( m_hEnemies2, Utils::WString::Number(m_pData->GetEnemies()).c_str() );
 | 302 | 	m_pLcd->SetText ( m_hEnemies2, Utils::WString::Number(m_pData->GetEnemies()).c_str() );
 | 
          
            | 303 |  
 | 303 |  
 | 
          
            | Line 319... | Line 319... | 
          
            | 319 | 		else if ( pos < 0 )
 | 319 | 		else if ( pos < 0 )
 | 
          
            | 320 | 			continue;
 | 320 | 			continue;
 | 
          
            | 321 | 		Utils::WString sRep = rep.sRank + L" (" + (long)rep.iRepPct + L"%)";
 | 321 | 		Utils::WString sRep = rep.sRank + L" (" + (long)rep.iRepPct + L"%)";
 | 
          
            | 322 | 		if ( rep.bIncludeRace )
 | 322 | 		if ( rep.bIncludeRace )
 | 
          
            | 323 | 			sRep = rep.sRace + ": " + sRep;
 | 323 | 			sRep = rep.sRace + ": " + sRep;
 | 
          
            | 324 | 		m_pLcd->SetText ( m_hRepText[pos], sRep);
 | 324 | 		m_pLcd->SetText ( m_hRepText[pos], sRep.c_str());
 | 
          
            | 325 | 	}
 | 325 | 	}
 | 
          
            | 326 |  
 | 326 |  
 | 
          
            | 327 | 	// wait while data is locked
 | 327 | 	// wait while data is locked
 | 
          
            | 328 | 	while ( m_pData->IsLocked() ) Sleep(1);
 | 328 | 	while ( m_pData->IsLocked() ) Sleep(1);
 | 
          
            | 329 |  
 | 329 |  
 | 
          
            | Line 333... | Line 333... | 
          
            | 333 | 	Utils::WString page(L"(Page: ");
 | 333 | 	Utils::WString page(L"(Page: ");
 | 
          
            | 334 | 	page += (long)(pages + 1);
 | 334 | 	page += (long)(pages + 1);
 | 
          
            | 335 | 	page += L"/";
 | 335 | 	page += L"/";
 | 
          
            | 336 | 	page += (long)(m_iSplitPage + 1);
 | 336 | 	page += (long)(m_iSplitPage + 1);
 | 
          
            | 337 | 	page += L")";
 | 337 | 	page += L")";
 | 
          
            | 338 | 	m_pLcd->SetText ( m_hCustomPage, page);
 | 338 | 	m_pLcd->SetText ( m_hCustomPage, page.c_str());
 | 
          
            | 339 |  
 | 339 |  
 | 
          
            | 340 | 	size_t pos = m_iSplitPage * 4;
 | 340 | 	size_t pos = m_iSplitPage * 4;
 | 
          
            | 341 | 	const Utils::WStringNode* pCustom = list[pos];
 | 341 | 	const Utils::WStringNode* pCustom = list[pos];
 | 
          
            | 342 |  
 | 342 |  
 | 
          
            | 343 | 	for ( i = 0; i < 4; i++ )
 | 343 | 	for ( i = 0; i < 4; i++ )
 | 
          
            | 344 | 	{
 | 344 | 	{
 | 
          
            | 345 | 		if ( !pCustom )
 | 345 | 		if ( !pCustom )
 | 
          
            | 346 | 			m_pLcd->SetText ( m_hCustomText[i], _T("") );
 | 346 | 			m_pLcd->SetText ( m_hCustomText[i], _T("") );
 | 
          
            | 347 | 		else
 | 347 | 		else
 | 
          
            | 348 | 		{
 | 348 | 		{
 | 
          
            | 349 | 			m_pLcd->SetText ( m_hCustomText[i], pCustom->data);
 | 349 | 			m_pLcd->SetText ( m_hCustomText[i], pCustom->data.c_str());
 | 
          
            | 350 | 			pCustom = list[++pos];
 | 350 | 			pCustom = list[++pos];
 | 
          
            | 351 | 		}
 | 351 | 		}
 | 
          
            | 352 | 	}
 | 352 | 	}
 | 
          
            | 353 |  
 | 353 |  
 | 
          
            | 354 |     m_pLcd->ModifyControlsOnPage(6);
 | 354 |     m_pLcd->ModifyControlsOnPage(6);
 | 
          
            | 355 | 	m_pLcd->SetText ( m_hMissiles2, Utils::WString::Number(m_pData->GetMissiles()));
 | 355 | 	m_pLcd->SetText ( m_hMissiles2, Utils::WString::Number(m_pData->GetMissiles()).c_str());
 | 
          
            | 356 | 	m_pLcd->SetText ( m_hEnemies2, Utils::WString::Number(m_pData->GetEnemies2()));
 | 356 | 	m_pLcd->SetText ( m_hEnemies2, Utils::WString::Number(m_pData->GetEnemies2()).c_str());
 | 
          
            | 357 |  
 | 357 |  
 | 
          
            | 358 |     m_pLcd->ModifyControlsOnPage(m_iTitlePage);
 | 358 |     m_pLcd->ModifyControlsOnPage(m_iTitlePage);
 | 
          
            | 359 | 	m_pLcd->SetText(m_hMainText, m_pData->GetGameName().tokens(L" ", 2));
 | 359 | 	m_pLcd->SetText(m_hMainText, m_pData->GetGameName().tokens(L" ", 2).c_str());
 | 
          
            | 360 |     m_pLcd->ModifyControlsOnPage(m_iLoadingPage);
 | 360 |     m_pLcd->ModifyControlsOnPage(m_iLoadingPage);
 | 
          
            | 361 | 	m_pLcd->SetText(m_hMainText2, m_pData->GetGameName().tokens(L" ", 2));
 | 361 | 	m_pLcd->SetText(m_hMainText2, m_pData->GetGameName().tokens(L" ", 2).c_str());
 | 
          
            | 362 |  
 | 362 |  
 | 
          
            | 363 | }
 | 363 | }
 | 
          
            | 364 |  
 | 364 |  
 | 
          
            | 365 | int CLCDDisplay::FindMaxRacePages()
 | 365 | int CLCDDisplay::FindMaxRacePages()
 | 
          
            | 366 | {
 | 366 | {
 |