You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xBAK/cgameapplication.cpp

267 lines
6.7 KiB
C++

//#include "AnimationResource.h"
//#include "Directories.h"
//#include "Exception.h"
#include "cfilemanager.h"
#include "cfontresource.h"
#include "cgameapplication.h"
//#include "MoviePlayer.h"
//#include "ObjectResource.h"
//#include "PointerManager.h"
#include "csdl_toolkit.h"
//#include "Text.h"
cGameApplication* cGameApplication::m_instance = nullptr;
cGameApplication::cGameApplication()
// : done ( false )
// , inputGrabbed ( false )
// , game()
// , state ( 0 )
// , screenSaveCount ( 0 )
{
// MediaToolkit* media = MediaToolkit::GetInstance();
// media->GetVideo()->CreateWindow ( 1 );
// media->GetVideo()->SetMode ( LORES_HICOL );
// media->GetVideo()->Clear();
// PaletteResource pal;
// pal.GetPalette()->Fill();
// pal.GetPalette()->Activate ( 0, WINDOW_COLORS );
cFontResource fnt;
cFileManager::getInstance()->load(&fnt, "GAME.FNT");
// TextBlock txt ( "xBaK: Betrayal at Krondor A fan-made remake", 15, 0, 0, 0, false );
// txt.Draw ( 16, 16, 240, 16, fnt.GetFont() );
// media->GetVideo()->Refresh();
// config = new ConfigResource;
// if ( FileManager::GetInstance()->ConfigExists ( "krondor.cfg" ) )
// {
// FileManager::GetInstance()->Load ( config, "krondor.cfg" );
// }
// else
// {
// Preferences *prefs = new Preferences();
// prefs->SetDefaults();
// config->SetPreferences ( prefs );
// FileManager::GetInstance()->Save ( config, "krondor.cfg" );
// }
// game = new GameResource;
// PointerManager::GetInstance()->AddPointer ( "POINTER.BMX" );
// PointerManager::GetInstance()->AddPointer ( "POINTERG.BMX" );
// media->GetClock()->Delay ( 500 );
}
cGameApplication::~cGameApplication()
{
// if ( config )
// {
// delete config;
// }
// if ( game )
// {
// delete game;
// }
// PointerManager::CleanUp();
// MediaToolkit::CleanUp();
// ObjectResource::CleanUp();
// SoundResource::CleanUp();
// FileManager::CleanUp();
}
cGameApplication* cGameApplication::getInstance()
{
if(!m_instance)
m_instance = new cGameApplication();
return(m_instance);
}
void cGameApplication::cleanUp()
{
// GameStateCast::CleanUp();
// GameStateCamp::CleanUp();
// GameStateChapter::CleanUp();
// GameStateCombat::CleanUp();
// GameStateContents::CleanUp();
// GameStateFullMap::CleanUp();
// GameStateInfo::CleanUp();
// GameStateInitialOptions::CleanUp();
// GameStateIntro::CleanUp();
// GameStateInventory::CleanUp();
// GameStateLoad::CleanUp();
// GameStateMap::CleanUp();
// GameStateOptions::CleanUp();
// GameStatePreferences::CleanUp();
// GameStateSave::CleanUp();
// GameStateWorld::CleanUp();
if(m_instance)
{
delete m_instance;
m_instance = 0;
}
}
//Preferences * GameApplication::GetPreferences()
//{
// return config->GetPreferences();
//}
//Game * GameApplication::GetGame()
//{
// return game->GetGame();
//}
//void GameApplication::SetState ( GameState *st )
//{
// state = st;
//}
//void GameApplication::PlayIntro()
//{
// try
// {
// AnimationResource anim;
// FileManager::GetInstance()->Load ( &anim, "INTRO.ADS" );
// MovieResource ttm;
// FileManager::GetInstance()->Load ( &ttm, anim.GetAnimationData ( 1 ).resource );
// MoviePlayer moviePlayer;
// moviePlayer.Play ( &ttm.GetMovieChunks(), true );
// }
// catch ( Exception &e )
// {
// e.Print ( "GameApplication::Intro" );
// }
//}
//void GameApplication::StartNewGame()
//{
// FileManager::GetInstance()->Load ( game, "startup.gam" );
// game->GetGame()->GetParty()->ActivateMember ( 0, 0 );
// game->GetGame()->GetParty()->ActivateMember ( 1, 2 );
// game->GetGame()->GetParty()->ActivateMember ( 2, 1 );
// game->GetGame()->GetCamera()->SetPosition ( Vector2D ( 669600, 1064800 ) );
// game->GetGame()->GetCamera()->SetHeading ( SOUTH );
//}
//void GameApplication::QuitGame()
//{
// done = true;
//}
//void GameApplication::SaveConfig()
//{
// FileManager::GetInstance()->Save ( config, "krondor.cfg" );
//}
void cGameApplication::run()
{
// try
// {
// state = GameStateIntro::GetInstance();
// MediaToolkit::GetInstance()->AddKeyboardListener ( this );
// MediaToolkit::GetInstance()->AddPointerButtonListener ( this );
// MediaToolkit::GetInstance()->AddTimerListener ( this );
// state->Enter();
// GameState *savedState = state;
// done = false;
// while ( !done )
// {
// if ( state != savedState )
// {
// savedState->Leave();
// state->Enter();
// savedState = state;
// }
// state->Execute();
// }
// savedState->Leave();
// MediaToolkit::GetInstance()->RemoveKeyboardListener ( this );
// MediaToolkit::GetInstance()->RemovePointerButtonListener ( this );
// MediaToolkit::GetInstance()->RemoveTimerListener ( this );
// }
// catch ( Exception &e )
// {
// e.Print ( "GameApplication::Run" );
// }
}
//void GameApplication::KeyPressed ( const KeyboardEvent& kbe )
//{
// switch ( kbe.GetKey() )
// {
// case KEY_F11:
// {
// screenSaveCount++;
// std::stringstream filenameStream;
// filenameStream << Directories::GetInstance()->GetCapturePath();
// filenameStream << "xbak_" << std::setw ( 3 ) << std::setfill ( '0' ) << screenSaveCount << ".bmp";
// MediaToolkit::GetInstance()->GetVideo()->SaveScreenShot ( filenameStream.str() );
// }
// break;
// case KEY_F12:
// inputGrabbed = !inputGrabbed;
// MediaToolkit::GetInstance()->GetVideo()->GrabInput ( inputGrabbed );
// break;
// default:
// break;
// }
//}
//void GameApplication::KeyReleased ( const KeyboardEvent& kbe )
//{
// switch ( kbe.GetKey() )
// {
// default:
// break;
// }
//}
//void GameApplication::PointerButtonPressed ( const PointerButtonEvent& pbe )
//{
// switch ( pbe.GetButton() )
// {
// case PB_PRIMARY:
// case PB_SECONDARY:
// if ( !inputGrabbed )
// {
// inputGrabbed = true;
// MediaToolkit::GetInstance()->GetVideo()->GrabInput ( true );
// }
// break;
// case PB_TERTIARY:
// if ( inputGrabbed )
// {
// inputGrabbed = false;
// MediaToolkit::GetInstance()->GetVideo()->GrabInput ( false );
// }
// break;
// default:
// break;
// }
//}
//void GameApplication::PointerButtonReleased ( const PointerButtonEvent& pbe )
//{
// switch ( pbe.GetButton() )
// {
// default:
// break;
// }
//}
//void GameApplication::TimerExpired ( const TimerEvent& te )
//{
// if ( te.GetID() == TMR_MOVING )
// {
// state->Move();
// }
// if ( te.GetID() == TMR_TURNING )
// {
// state->Turn();
// }
//}