summaryrefslogtreecommitdiffstats
path: root/src/app/app.cpp
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2012-06-26 22:23:05 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2012-06-26 22:23:05 +0200
commitebed57aa22b772211387a5561f995eee8f5faed1 (patch)
tree9a0b08371df54c125957e63c7ecff81c001d4eaf /src/app/app.cpp
parentfc5389d18816799ba2698914384cd099ba8a7a6c (diff)
downloadcolobot-ebed57aa22b772211387a5561f995eee8f5faed1.tar.gz
colobot-ebed57aa22b772211387a5561f995eee8f5faed1.tar.bz2
colobot-ebed57aa22b772211387a5561f995eee8f5faed1.zip
Whitespace and language change
- changed tabs to spaces and DOS line endings to Unix (except in CBot and metafile) - changed language to English - fixed #include <d3d.h> in d3dengine.h
Diffstat (limited to 'src/app/app.cpp')
-rw-r--r--src/app/app.cpp602
1 files changed, 301 insertions, 301 deletions
diff --git a/src/app/app.cpp b/src/app/app.cpp
index 726d32d..466d757 100644
--- a/src/app/app.cpp
+++ b/src/app/app.cpp
@@ -34,492 +34,492 @@
*/
struct ApplicationPrivate
{
- //! Display surface
- SDL_Surface *surface;
- //! Currently handled event
- SDL_Event currentEvent;
- //! Joystick
- SDL_Joystick *joystick;
- //! Index of joystick device
- int joystickDevice;
-
- ApplicationPrivate()
- {
- memset(&currentEvent, 0, sizeof(SDL_Event));
- surface = NULL;
- joystick = NULL;
- joystickDevice = 0;
- }
+ //! Display surface
+ SDL_Surface *surface;
+ //! Currently handled event
+ SDL_Event currentEvent;
+ //! Joystick
+ SDL_Joystick *joystick;
+ //! Index of joystick device
+ int joystickDevice;
+
+ ApplicationPrivate()
+ {
+ memset(&currentEvent, 0, sizeof(SDL_Event));
+ surface = NULL;
+ joystick = NULL;
+ joystickDevice = 0;
+ }
};
CApplication::CApplication()
{
- m_private = new ApplicationPrivate();
- m_exitCode = 0;
+ m_private = new ApplicationPrivate();
+ m_exitCode = 0;
- m_iMan = new CInstanceManager();
- m_event = new CEvent(m_iMan);
+ m_iMan = new CInstanceManager();
+ m_event = new CEvent(m_iMan);
- m_engine = 0;
- m_robotMain = 0;
- m_sound = 0;
+ m_engine = 0;
+ m_robotMain = 0;
+ m_sound = 0;
- m_keyState = 0;
- m_axeKey = Math::Vector(0.0f, 0.0f, 0.0f);
- m_axeJoy = Math::Vector(0.0f, 0.0f, 0.0f);
+ m_keyState = 0;
+ m_axeKey = Math::Vector(0.0f, 0.0f, 0.0f);
+ m_axeJoy = Math::Vector(0.0f, 0.0f, 0.0f);
- m_vidMemTotal = 0;
- m_active = false;
- m_activateApp = false;
- m_ready = false;
- m_joystick = false;
- m_time = 0.0f;
+ m_vidMemTotal = 0;
+ m_active = false;
+ m_activateApp = false;
+ m_ready = false;
+ m_joystick = false;
+ m_time = 0.0f;
- for (int i = 0; i < 32; i++)
- {
- m_joyButton[i] = false;
- }
+ for (int i = 0; i < 32; i++)
+ {
+ m_joyButton[i] = false;
+ }
- m_windowTitle = "COLOBOT";
+ m_windowTitle = "COLOBOT";
- m_appUseZBuffer = true;
- m_appUseStereo = true;
- m_showStats = false;
- m_debugMode = false;
- m_audioState = true;
- m_audioTrack = true;
- m_niceMouse = false;
- m_setupMode = true;
+ m_appUseZBuffer = true;
+ m_appUseStereo = true;
+ m_showStats = false;
+ m_debugMode = false;
+ m_audioState = true;
+ m_audioTrack = true;
+ m_niceMouse = false;
+ m_setupMode = true;
- ResetKey();
+ ResetKey();
}
CApplication::~CApplication()
{
- delete m_private;
- m_private = NULL;
+ delete m_private;
+ m_private = NULL;
- delete m_iMan;
- m_iMan = NULL;
+ delete m_iMan;
+ m_iMan = NULL;
}
Error CApplication::ParseArguments(int argc, char *argv[])
{
- for (int i = 1; i < argc; ++i)
- {
- std::string arg = argv[i];
-
- if (arg == "-debug")
- {
- m_showStats = true;
- SetDebugMode(true);
- }
- else if (arg == "-audiostate")
- {
- m_audioState = false;
- }
- else if (arg == "-audiotrack")
- {
- m_audioTrack = false;
- }
- // TODO else {} report invalid argument
- }
-
- return ERR_OK;
+ for (int i = 1; i < argc; ++i)
+ {
+ std::string arg = argv[i];
+
+ if (arg == "-debug")
+ {
+ m_showStats = true;
+ SetDebugMode(true);
+ }
+ else if (arg == "-audiostate")
+ {
+ m_audioState = false;
+ }
+ else if (arg == "-audiotrack")
+ {
+ m_audioTrack = false;
+ }
+ // TODO else {} report invalid argument
+ }
+
+ return ERR_OK;
}
bool CApplication::Create()
{
/*
TODO
- Full screen by default unless in debug mode
- if (! m_debugMode)
- m_deviceConfig.fullScreen = true;
+ Full screen by default unless in debug mode
+ if (! m_debugMode)
+ m_deviceConfig.fullScreen = true;
- int full = 0;
- if (GetProfileInt("Device", "FullScreen", full))
- m_deviceConfig.fullScreen = full == 1;
+ int full = 0;
+ if (GetProfileInt("Device", "FullScreen", full))
+ m_deviceConfig.fullScreen = full == 1;
*/
- // Temporarily -- only in windowed mode
- m_deviceConfig.fullScreen = false;
+ // Temporarily -- only in windowed mode
+ m_deviceConfig.fullScreen = false;
/*
TODO
- // Create the 3D engine.
- m_engine = new CEngine(m_iMan, this);
+ // Create the 3D engine.
+ m_engine = new CEngine(m_iMan, this);
- // Initialize the app's custom scene stuff
- if (! m_engine->OneTimeSceneInit())
- {
- SystemDialog(SDT_ERROR, "COLOBOT - Error", m_engine->RetError());
- return false;
- }
+ // Initialize the app's custom scene stuff
+ if (! m_engine->OneTimeSceneInit())
+ {
+ SystemDialog(SDT_ERROR, "COLOBOT - Error", m_engine->RetError());
+ return false;
+ }
- // Create the sound instance.
- m_sound = new CSound(m_iMan);
+ // Create the sound instance.
+ m_sound = new CSound(m_iMan);
- // Create the robot application.
- m_robotMain = new CRobotMain(m_iMan);
+ // Create the robot application.
+ m_robotMain = new CRobotMain(m_iMan);
*/
- Uint32 initFlags = SDL_INIT_VIDEO;
- if (m_joystick)
- initFlags |= SDL_INIT_JOYSTICK;
+ Uint32 initFlags = SDL_INIT_VIDEO;
+ if (m_joystick)
+ initFlags |= SDL_INIT_JOYSTICK;
- if (SDL_Init(initFlags) < 0)
- {
- SystemDialog( SDT_ERROR, "COLOBOT - Error", "SDL initialization error:\n" + std::string(SDL_GetError()) );
- return false;
- }
+ if (SDL_Init(initFlags) < 0)
+ {
+ SystemDialog( SDT_ERROR, "COLOBOT - Error", "SDL initialization error:\n" + std::string(SDL_GetError()) );
+ return false;
+ }
- const SDL_VideoInfo *videoInfo = SDL_GetVideoInfo();
- if (! videoInfo)
- {
- SystemDialog( SDT_ERROR, "COLOBOT - Error", "SDL error while getting video info:\n " + std::string(SDL_GetError()) );
- return false;
- }
+ const SDL_VideoInfo *videoInfo = SDL_GetVideoInfo();
+ if (! videoInfo)
+ {
+ SystemDialog( SDT_ERROR, "COLOBOT - Error", "SDL error while getting video info:\n " + std::string(SDL_GetError()) );
+ return false;
+ }
- Uint32 videoFlags = SDL_OPENGL | SDL_GL_DOUBLEBUFFER | SDL_HWPALETTE;
+ Uint32 videoFlags = SDL_OPENGL | SDL_GL_DOUBLEBUFFER | SDL_HWPALETTE;
- if (m_deviceConfig.resizeable)
- videoFlags |= SDL_RESIZABLE;
+ if (m_deviceConfig.resizeable)
+ videoFlags |= SDL_RESIZABLE;
- // Use hardware surface if available
- if (videoInfo->hw_available)
- videoFlags |= SDL_HWSURFACE;
- else
- videoFlags |= SDL_SWSURFACE;
+ // Use hardware surface if available
+ if (videoInfo->hw_available)
+ videoFlags |= SDL_HWSURFACE;
+ else
+ videoFlags |= SDL_SWSURFACE;
- // Enable hardware blit if available
- if (videoInfo->blit_hw)
- videoFlags |= SDL_HWACCEL;
+ // Enable hardware blit if available
+ if (videoInfo->blit_hw)
+ videoFlags |= SDL_HWACCEL;
- if (m_deviceConfig.fullScreen)
- videoFlags |= SDL_FULLSCREEN;
+ if (m_deviceConfig.fullScreen)
+ videoFlags |= SDL_FULLSCREEN;
- SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
- SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
+ SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
- if ((IMG_Init(IMG_INIT_PNG) & IMG_INIT_PNG) == 0)
- {
- SystemDialog( SDT_ERROR, "COLOBOT - Error", std::string("SDL_Image initialization error:\n") +
- std::string(IMG_GetError()) );
- return false;
- }
+ if ((IMG_Init(IMG_INIT_PNG) & IMG_INIT_PNG) == 0)
+ {
+ SystemDialog( SDT_ERROR, "COLOBOT - Error", std::string("SDL_Image initialization error:\n") +
+ std::string(IMG_GetError()) );
+ return false;
+ }
- m_private->surface = SDL_SetVideoMode(m_deviceConfig.width, m_deviceConfig.height,
- m_deviceConfig.bpp, videoFlags);
+ m_private->surface = SDL_SetVideoMode(m_deviceConfig.width, m_deviceConfig.height,
+ m_deviceConfig.bpp, videoFlags);
- if (! m_private->surface)
- {
- SystemDialog( SDT_ERROR, "COLOBT - Error", std::string("SDL error while setting video mode:\n") +
- std::string(SDL_GetError()) );
- return false;
- }
+ if (! m_private->surface)
+ {
+ SystemDialog( SDT_ERROR, "COLOBT - Error", std::string("SDL error while setting video mode:\n") +
+ std::string(SDL_GetError()) );
+ return false;
+ }
- SDL_WM_SetCaption(m_windowTitle.c_str(), m_windowTitle.c_str());
+ SDL_WM_SetCaption(m_windowTitle.c_str(), m_windowTitle.c_str());
- SDL_EnableUNICODE(1);
+ SDL_EnableUNICODE(1);
/*
TODO
- InitJoystick();
+ InitJoystick();
- if ( !GetProfileInt("Setup", "Sound3D", b3D) )
- {
- b3D = true;
- }
- m_pSound->SetDebugMode(m_bDebugMode);
- m_pSound->Create(m_hWnd, b3D);
- m_pSound->CacheAll();
- m_pSound->SetState(m_bAudioState);
- m_pSound->SetAudioTrack(m_bAudioTrack);
- m_pSound->SetCDpath(m_CDpath);
+ if ( !GetProfileInt("Setup", "Sound3D", b3D) )
+ {
+ b3D = true;
+ }
+ m_pSound->SetDebugMode(m_bDebugMode);
+ m_pSound->Create(m_hWnd, b3D);
+ m_pSound->CacheAll();
+ m_pSound->SetState(m_bAudioState);
+ m_pSound->SetAudioTrack(m_bAudioTrack);
+ m_pSound->SetCDpath(m_CDpath);
- // First execution?
- if ( !GetProfileInt("Setup", "ObjectDirty", iValue) )
- {
- m_pD3DEngine->FirstExecuteAdapt(true);
- }
+ // First execution?
+ if ( !GetProfileInt("Setup", "ObjectDirty", iValue) )
+ {
+ m_pD3DEngine->FirstExecuteAdapt(true);
+ }
- // Creates the file colobot.ini at the first execution.
- m_pRobotMain->CreateIni();
+ // Creates the file colobot.ini at the first execution.
+ m_pRobotMain->CreateIni();
- m_pRobotMain->ChangePhase(PHASE_WELCOME2);
+ m_pRobotMain->ChangePhase(PHASE_WELCOME2);
- m_engine->TimeInit();
+ m_engine->TimeInit();
*/
- // The app is ready to go
- m_ready = true;
+ // The app is ready to go
+ m_ready = true;
- return true;
+ return true;
}
void CApplication::Destroy()
{
- if (m_private->joystick != NULL)
- {
- SDL_JoystickClose(m_private->joystick);
- m_private->joystick = NULL;
- }
+ if (m_private->joystick != NULL)
+ {
+ SDL_JoystickClose(m_private->joystick);
+ m_private->joystick = NULL;
+ }
- SDL_FreeSurface(m_private->surface);
- m_private->surface = NULL;
+ SDL_FreeSurface(m_private->surface);
+ m_private->surface = NULL;
- IMG_Quit();
+ IMG_Quit();
- SDL_Quit();
+ SDL_Quit();
}
int CApplication::Run()
{
- m_active = true;
-
- while (m_private->currentEvent.type != SDL_QUIT)
- {
- // Use SDL_PeepEvents() if the app is active, so we can use idle time to
- // render the scene. Else, use SDL_PollEvent() to avoid eating CPU time.
- int count = 0;
- if (m_active)
- {
- SDL_PumpEvents();
- count = SDL_PeepEvents(&m_private->currentEvent, 1, SDL_GETEVENT, SDL_ALLEVENTS);
- }
- else
- {
- SDL_PollEvent(&m_private->currentEvent);
- }
-
- // If received an event
- if ((m_active && count > 0) || (!m_active))
- {
- ParseEvent();
- }
-
- // Render a frame during idle time (no messages are waiting)
- if (m_active && m_ready)
- {
- Event event;
- while (m_event->GetEvent(event))
- {
- if (event.event == EVENT_QUIT)
- {
- goto end; // exit both loops
- }
-
- //m_robotMain->EventProcess(event);
- }
-
- //if ( !RetNiceMouse())
- //{
- // SetMouseType(m_engine->RetMouseType());
- //}
-
- // If an error occurs, push quit event to the queue
- if (! Render())
- {
- SDL_Event quitEvent;
- memset(&quitEvent, 0, sizeof(SDL_Event));
- quitEvent.type = SDL_QUIT;
- SDL_PushEvent(&quitEvent);
- }
- }
- }
+ m_active = true;
+
+ while (m_private->currentEvent.type != SDL_QUIT)
+ {
+ // Use SDL_PeepEvents() if the app is active, so we can use idle time to
+ // render the scene. Else, use SDL_PollEvent() to avoid eating CPU time.
+ int count = 0;
+ if (m_active)
+ {
+ SDL_PumpEvents();
+ count = SDL_PeepEvents(&m_private->currentEvent, 1, SDL_GETEVENT, SDL_ALLEVENTS);
+ }
+ else
+ {
+ SDL_PollEvent(&m_private->currentEvent);
+ }
+
+ // If received an event
+ if ((m_active && count > 0) || (!m_active))
+ {
+ ParseEvent();
+ }
+
+ // Render a frame during idle time (no messages are waiting)
+ if (m_active && m_ready)
+ {
+ Event event;
+ while (m_event->GetEvent(event))
+ {
+ if (event.event == EVENT_QUIT)
+ {
+ goto end; // exit both loops
+ }
+
+ //m_robotMain->EventProcess(event);
+ }
+
+ //if ( !RetNiceMouse())
+ //{
+ // SetMouseType(m_engine->RetMouseType());
+ //}
+
+ // If an error occurs, push quit event to the queue
+ if (! Render())
+ {
+ SDL_Event quitEvent;
+ memset(&quitEvent, 0, sizeof(SDL_Event));
+ quitEvent.type = SDL_QUIT;
+ SDL_PushEvent(&quitEvent);
+ }
+ }
+ }
end:
- //m_sound->StopMusic();
- Destroy();
+ //m_sound->StopMusic();
+ Destroy();
- return m_exitCode;
+ return m_exitCode;
}
void CApplication::ParseEvent()
{
-/* Event event;
-
- if (m_private->currentEvent.type == SDL_MOUSEBUTTONDOWN)
- {
- if (m_private->currentEvent.button.button == SDL_BUTTON_LEFT)
- event.event = EVENT_LBUTTONDOWN;
- else if (m_private->currentEvent.button.button == SDL_BUTTON_RIGHT)
- event.event = EVENT_RBUTTONDOWN;
- }
- else if (m_private->currentEvent.type == SDL_MOUSEBUTTONUP)
- {
- if (m_private->currentEvent.button.button == SDL_BUTTON_LEFT)
- event.event = EVENT_LBUTTONUP;
- else if (m_private->currentEvent.button.button == SDL_BUTTON_RIGHT)
- event.event = EVENT_RBUTTONUP;
- }
- else if (m_private->currentEvent.type == SDL_MOUSEMOTION)
- {
- event.event = EVENT_MOUSEMOVE;
- }
- else if (m_private->currentEvent.type == SDL_KEYDOWN)
- {
- event.event = EVENT_KEYDOWN;
- }
- else if (m_private->currentEvent.type == SDL_KEYUP)
- {
- event.event = EVENT_KEYUP;
- }
-
- if (m_robotMain != NULL && event.event != EVENT_NULL)
- {
- m_robotMain->EventProcess(event);
- }
- if (m_engine != NULL)
- {
- m_engine->MsgProc( hWnd, uMsg, wParam, lParam );
- }
-
- ProcessEvent(event);*/
+/* Event event;
+
+ if (m_private->currentEvent.type == SDL_MOUSEBUTTONDOWN)
+ {
+ if (m_private->currentEvent.button.button == SDL_BUTTON_LEFT)
+ event.event = EVENT_LBUTTONDOWN;
+ else if (m_private->currentEvent.button.button == SDL_BUTTON_RIGHT)
+ event.event = EVENT_RBUTTONDOWN;
+ }
+ else if (m_private->currentEvent.type == SDL_MOUSEBUTTONUP)
+ {
+ if (m_private->currentEvent.button.button == SDL_BUTTON_LEFT)
+ event.event = EVENT_LBUTTONUP;
+ else if (m_private->currentEvent.button.button == SDL_BUTTON_RIGHT)
+ event.event = EVENT_RBUTTONUP;
+ }
+ else if (m_private->currentEvent.type == SDL_MOUSEMOTION)
+ {
+ event.event = EVENT_MOUSEMOVE;
+ }
+ else if (m_private->currentEvent.type == SDL_KEYDOWN)
+ {
+ event.event = EVENT_KEYDOWN;
+ }
+ else if (m_private->currentEvent.type == SDL_KEYUP)
+ {
+ event.event = EVENT_KEYUP;
+ }
+
+ if (m_robotMain != NULL && event.event != EVENT_NULL)
+ {
+ m_robotMain->EventProcess(event);
+ }
+ if (m_engine != NULL)
+ {
+ m_engine->MsgProc( hWnd, uMsg, wParam, lParam );
+ }
+
+ ProcessEvent(event);*/
}
void CApplication::ProcessEvent(Event event)
{
-
+
}
bool CApplication::Render()
{
- bool result = m_engine->Render();
- if (! result)
- return false;
+ bool result = m_engine->Render();
+ if (! result)
+ return false;
- if (m_deviceConfig.doubleBuf)
- SDL_GL_SwapBuffers();
+ if (m_deviceConfig.doubleBuf)
+ SDL_GL_SwapBuffers();
- return true;
+ return true;
}
void CApplication::Pause(bool pause)
{
- // TODO
+ // TODO
}
void CApplication::SetMousePos(Math::Point pos)
{
- // TODO
+ // TODO
}
void CApplication::StepSimulation(float rTime)
{
- // TODO
+ // TODO
}
void SetShowStat(bool show)
{
- // TODO
+ // TODO
}
bool CApplication::RetShowStat()
{
- // TODO
- return false;
+ // TODO
+ return false;
}
void CApplication::SetDebugMode(bool mode)
{
- // TODO
+ // TODO
}
bool CApplication::RetDebugMode()
{
- // TODO
- return false;
+ // TODO
+ return false;
}
bool CApplication::RetSetupMode()
{
- // TODO
- return false;
+ // TODO
+ return false;
}
void CApplication::FlushPressKey()
{
- // TODO
+ // TODO
}
void CApplication::ResetKey()
{
- // TODO
+ // TODO
}
void CApplication::SetKey(int keyRank, int option, int key)
{
- // TODO
+ // TODO
}
int CApplication::RetKey(int keyRank, int option)
{
- // TODO
- return 0;
+ // TODO
+ return 0;
}
void CApplication::SetJoystick(bool enable)
{
- // TODO
+ // TODO
}
bool CApplication::RetJoystick()
{
- // TODO
- return false;
+ // TODO
+ return false;
}
void SetMouseType(Gfx::MouseType type)
{
- // TODO
+ // TODO
}
void SetNiceMouse(bool nice)
{
- // TODO
+ // TODO
}
bool CApplication::RetNiceMouse()
{
- return false;
+ return false;
}
bool CApplication::RetNiceMouseCap()
{
- return false;
+ return false;
}
bool CApplication::WriteScreenShot(char *filename, int width, int height)
{
- // TODO
+ // TODO
}
void CApplication::InitText()
{
- // TODO
+ // TODO
}
void CApplication::DrawSuppl()
{
- // TODO
+ // TODO
}
void CApplication::ShowStats()
{
- // TODO
+ // TODO
}
void CApplication::OutputText(long x, long y, char* str)
{
- // TODO
+ // TODO
}