Merge remote-tracking branch 'origin/dev' into dev-graphics

dev-ui
adiblol 2012-09-30 03:20:52 +02:00
commit af4ff31b4e
1 changed files with 530 additions and 537 deletions

View File

@ -50,6 +50,7 @@
#include <sstream> #include <sstream>
#include <iomanip> #include <iomanip>
#include <boost/filesystem.hpp> #include <boost/filesystem.hpp>
#include <boost/foreach.hpp>
//TODO Get rid of all sprintf's //TODO Get rid of all sprintf's
@ -236,7 +237,7 @@ void CMainDialog::ChangePhase(Phase phase)
pos.y = 0.10f; pos.y = 0.10f;
ddim.x = 0.30f; ddim.x = 0.30f;
ddim.y = 0.80f; ddim.y = 0.80f;
/* TODO: #if _TEEN /* TODO: #if _TEEN
pw = m_interface->CreateWindows(pos, ddim, 12, EVENT_WINDOW5); pw = m_interface->CreateWindows(pos, ddim, 12, EVENT_WINDOW5);
#else*/ #else*/
pw = m_interface->CreateWindows(pos, ddim, 10, EVENT_WINDOW5); pw = m_interface->CreateWindows(pos, ddim, 10, EVENT_WINDOW5);
@ -255,7 +256,7 @@ void CMainDialog::ChangePhase(Phase phase)
ddim.y = 0.30f; ddim.y = 0.30f;
pw->CreateGroup(pos, ddim, 4, EVENT_INTERFACE_GLINTr); // blue corner pw->CreateGroup(pos, ddim, 4, EVENT_INTERFACE_GLINTr); // blue corner
/* TODO: #if _SCHOOL /* TODO: #if _SCHOOL
ddim.x = 0.20f; ddim.x = 0.20f;
ddim.y = dim.y*2.4f; ddim.y = dim.y*2.4f;
pos.x = 0.40f; pos.x = 0.40f;
@ -290,7 +291,7 @@ void CMainDialog::ChangePhase(Phase phase)
pg = pw->CreateGroup(pos, ddim, 26, EVENT_LABEL1); // red pg = pw->CreateGroup(pos, ddim, 26, EVENT_LABEL1); // red
pg->SetState(STATE_SHADOW); pg->SetState(STATE_SHADOW);
/* TODO: #if _SCHOOL /* TODO: #if _SCHOOL
ddim.x = 0.18f; ddim.x = 0.18f;
ddim.y = dim.y*1; ddim.y = dim.y*1;
pos.x = 0.41f; pos.x = 0.41f;
@ -300,14 +301,14 @@ void CMainDialog::ChangePhase(Phase phase)
pos.y = oy+sy*8.0f; pos.y = oy+sy*8.0f;
#if _TEEN #if _TEEN
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_TEEN); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_TEEN);
#else #else
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_DEFI); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_DEFI);
#endif #endif
#if _CEEBOTDEMO #if _CEEBOTDEMO
pb->ClearState(STATE_ENABLE); pb->ClearState(STATE_ENABLE);
#endif #endif
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
#else */ #else */
ddim.x = 0.18f; ddim.x = 0.18f;
ddim.y = dim.y*1; ddim.y = dim.y*1;
@ -344,20 +345,20 @@ void CMainDialog::ChangePhase(Phase phase)
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_QUIT); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_QUIT);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
// TODO: #if !_DEMO & !_SCHOOL // TODO: #if !_DEMO & !_SCHOOL
if ( m_accessEnable && m_accessUser ) if ( m_accessEnable && m_accessUser )
{ {
pos.x = 447.0f/640.0f; pos.x = 447.0f/640.0f;
pos.y = 313.0f/480.0f; pos.y = 313.0f/480.0f;
ddim.x = 0.09f; ddim.x = 0.09f;
/*#if _POLISH /*#if _POLISH
pos.x -= 5.0f/640.0f; pos.x -= 5.0f/640.0f;
ddim.x += 10.0f/640.0f; ddim.x += 10.0f/640.0f;
#endif*/ #endif*/
pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_USER); pb = pw->CreateButton(pos, ddim, -1, EVENT_INTERFACE_USER);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
} }
// #endif // #endif
if ( m_app->GetDebugMode() ) if ( m_app->GetDebugMode() )
{ {
@ -398,7 +399,7 @@ void CMainDialog::ChangePhase(Phase phase)
GetResource(RES_TEXT, RT_TITLE_NAME, name); GetResource(RES_TEXT, RT_TITLE_NAME, name);
pw->SetName(name); pw->SetName(name);
/* TODO: #if _NEWLOOK /* TODO: #if _NEWLOOK
pos.x = 80.0f/640.0f; pos.x = 80.0f/640.0f;
pos.y = 93.0f/480.0f; pos.y = 93.0f/480.0f;
ddim.x = 285.0f/640.0f; ddim.x = 285.0f/640.0f;
@ -518,7 +519,7 @@ void CMainDialog::ChangePhase(Phase phase)
GetResource(RES_TEXT, RT_TITLE_PERSO, name); GetResource(RES_TEXT, RT_TITLE_PERSO, name);
pw->SetName(name); pw->SetName(name);
/* TODO: #if _NEWLOOK /* TODO: #if _NEWLOOK
pos.x = 95.0f/640.0f; pos.x = 95.0f/640.0f;
pos.y = 66.0f/480.0f; pos.y = 66.0f/480.0f;
ddim.x = 443.0f/640.0f; ddim.x = 443.0f/640.0f;
@ -788,7 +789,7 @@ void CMainDialog::ChangePhase(Phase phase)
GetResource(RES_TEXT, res, name); GetResource(RES_TEXT, res, name);
pw->SetName(name); pw->SetName(name);
/* TODO: #if _NEWLOOK /* TODO: #if _NEWLOOK
pos.x = 100.0f/640.0f; pos.x = 100.0f/640.0f;
pos.y = 226.0f/480.0f; pos.y = 226.0f/480.0f;
ddim.x = 216.0f/640.0f; ddim.x = 216.0f/640.0f;
@ -1023,7 +1024,7 @@ void CMainDialog::ChangePhase(Phase phase)
ddim.y = 0.05f; ddim.y = 0.05f;
pw->CreateGroup(pos, ddim, 3, EVENT_NULL); // transparent -> gray pw->CreateGroup(pos, ddim, 3, EVENT_NULL); // transparent -> gray
/* TODO: #if _NEWLOOK /* TODO: #if _NEWLOOK
if ( m_phase == PHASE_SETUPd || // setup/display ? if ( m_phase == PHASE_SETUPd || // setup/display ?
m_phase == PHASE_SETUPds ) m_phase == PHASE_SETUPds )
{ {
@ -1349,7 +1350,7 @@ void CMainDialog::ChangePhase(Phase phase)
ddim.y = dim.y*1; ddim.y = dim.y*1;
pos.x = ox+sx*10; pos.x = ox+sx*10;
pos.y = oy+sy*2; pos.y = oy+sy*2;
/* TODO: #if _POLISH /* TODO: #if _POLISH
ddim.x += 20.0f/640.0f; ddim.x += 20.0f/640.0f;
pos.x -= 20.0f/640.0f*3.0f; pos.x -= 20.0f/640.0f*3.0f;
#endif*/ #endif*/
@ -1372,20 +1373,20 @@ void CMainDialog::ChangePhase(Phase phase)
ddim.y = dim.y*0.5f; ddim.y = dim.y*0.5f;
pos.x = ox+sx*3; pos.x = ox+sx*3;
pos.y = 0.65f; pos.y = 0.65f;
//? pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_TOTO); //? pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_TOTO);
//? pc->SetState(STATE_SHADOW); //? pc->SetState(STATE_SHADOW);
//? pos.y -= 0.048f; //? pos.y -= 0.048f;
/*TODO: #if _SCHOOL /*TODO: #if _SCHOOL
#if _EDU #if _EDU
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SOLUCE4); pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SOLUCE4);
pc->SetState(STATE_SHADOW); pc->SetState(STATE_SHADOW);
pos.y -= 0.048f; pos.y -= 0.048f;
#endif #endif
#else*/ #else*/
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_MOVIES); pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_MOVIES);
pc->SetState(STATE_SHADOW); pc->SetState(STATE_SHADOW);
pos.y -= 0.048f; pos.y -= 0.048f;
//#endif //#endif
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SCROLL); pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_SCROLL);
pc->SetState(STATE_SHADOW); pc->SetState(STATE_SHADOW);
pos.y -= 0.048f; pos.y -= 0.048f;
@ -1397,12 +1398,12 @@ void CMainDialog::ChangePhase(Phase phase)
pos.y -= 0.048f; pos.y -= 0.048f;
pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_EFFECT); pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_EFFECT);
pc->SetState(STATE_SHADOW); pc->SetState(STATE_SHADOW);
//? pos.y -= 0.048f; //? pos.y -= 0.048f;
//? pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_NICERST); //? pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_NICERST);
//? pc->SetState(STATE_SHADOW); //? pc->SetState(STATE_SHADOW);
//? pos.y -= 0.048f; //? pos.y -= 0.048f;
//? pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_HIMSELF); //? pc = pw->CreateCheck(pos, ddim, -1, EVENT_INTERFACE_HIMSELF);
//? pc->SetState(STATE_SHADOW); //? pc->SetState(STATE_SHADOW);
ddim.x = dim.x*6; ddim.x = dim.x*6;
ddim.y = dim.y*0.5f; ddim.y = dim.y*0.5f;
@ -1503,7 +1504,7 @@ void CMainDialog::ChangePhase(Phase phase)
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL1, name); pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL1, name);
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT); pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
// TODO: #if (_FULL | _NET) & _SOUNDTRACKS // TODO: #if (_FULL | _NET) & _SOUNDTRACKS
pos.x = ox+sx*3; pos.x = ox+sx*3;
pos.y = 0.40f; pos.y = 0.40f;
ddim.x = dim.x*4.0f; ddim.x = dim.x*4.0f;
@ -1516,7 +1517,7 @@ void CMainDialog::ChangePhase(Phase phase)
GetResource(RES_EVENT, EVENT_INTERFACE_VOLMUSIC, name); GetResource(RES_EVENT, EVENT_INTERFACE_VOLMUSIC, name);
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL2, name); pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL2, name);
pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT); pl->SetTextAlign(Gfx::TEXT_ALIGN_LEFT);
// #endif // #endif
ddim.x = dim.x*6; ddim.x = dim.x*6;
ddim.y = dim.y*0.5f; ddim.y = dim.y*0.5f;
@ -1561,7 +1562,7 @@ void CMainDialog::ChangePhase(Phase phase)
ddim.y = 0.50f; ddim.y = 0.50f;
pw->CreateGroup(pos, ddim, 4, EVENT_INTERFACE_GLINTr); // blue corner pw->CreateGroup(pos, ddim, 4, EVENT_INTERFACE_GLINTr); // blue corner
/* TODO: #if _NEWLOOK /* TODO: #if _NEWLOOK
pos.x = 100.0f/640.0f; pos.x = 100.0f/640.0f;
pos.y = 66.0f/480.0f; pos.y = 66.0f/480.0f;
ddim.x = 438.0f/640.0f; ddim.x = 438.0f/640.0f;
@ -1645,7 +1646,7 @@ void CMainDialog::ChangePhase(Phase phase)
ddim.y = 0.50f; ddim.y = 0.50f;
pw->CreateGroup(pos, ddim, 4, EVENT_INTERFACE_GLINTr); // blue corner pw->CreateGroup(pos, ddim, 4, EVENT_INTERFACE_GLINTr); // blue corner
/* TODO: #if _NEWLOOK /* TODO: #if _NEWLOOK
pos.x = 100.0f/640.0f; pos.x = 100.0f/640.0f;
pos.y = 66.0f/480.0f; pos.y = 66.0f/480.0f;
ddim.x = 438.0f/640.0f; ddim.x = 438.0f/640.0f;
@ -1713,7 +1714,7 @@ void CMainDialog::ChangePhase(Phase phase)
pos.y = 0.10f; pos.y = 0.10f;
ddim.x = 0.30f; ddim.x = 0.30f;
ddim.y = 0.80f; ddim.y = 0.80f;
/*TODO: #if _TEEN /*TODO: #if _TEEN
pw = m_interface->CreateWindows(pos, ddim, 12, EVENT_WINDOW5); pw = m_interface->CreateWindows(pos, ddim, 12, EVENT_WINDOW5);
#else*/ #else*/
pw = m_interface->CreateWindows(pos, ddim, 10, EVENT_WINDOW5); pw = m_interface->CreateWindows(pos, ddim, 10, EVENT_WINDOW5);
@ -1830,7 +1831,7 @@ void CMainDialog::ChangePhase(Phase phase)
ddim.y = 0.0f; ddim.y = 0.0f;
pw = m_interface->CreateWindows(pos, ddim, -1, EVENT_WINDOW5); pw = m_interface->CreateWindows(pos, ddim, -1, EVENT_WINDOW5);
// TODO: #if _FULL | _NET // TODO: #if _FULL | _NET
pos.x = 80.0f/640.0f; pos.x = 80.0f/640.0f;
pos.y = 240.0f/480.0f; pos.y = 240.0f/480.0f;
ddim.x = 490.0f/640.0f; ddim.x = 490.0f/640.0f;
@ -1854,18 +1855,18 @@ void CMainDialog::ChangePhase(Phase phase)
pe->SetFontType(Gfx::FONT_COURIER); pe->SetFontType(Gfx::FONT_COURIER);
pe->SetFontSize(6.5f); pe->SetFontSize(6.5f);
pe->ReadText("help/licences.txt"); pe->ReadText("help/licences.txt");
// #endif // #endif
/* TODO: #if _SCHOOL /* TODO: #if _SCHOOL
#if _CEEBOTDEMO #if _CEEBOTDEMO
pos.x = 80.0f/640.0f; pos.x = 80.0f/640.0f;
pos.y = 210.0f/480.0f; pos.y = 210.0f/480.0f;
ddim.x = 490.0f/640.0f; ddim.x = 490.0f/640.0f;
ddim.y = 150.0f/480.0f; ddim.y = 150.0f/480.0f;
#else #else
pos.x = 80.0f/640.0f; pos.x = 80.0f/640.0f;
pos.y = 200.0f/480.0f; pos.y = 200.0f/480.0f;
ddim.x = 490.0f/640.0f; ddim.x = 490.0f/640.0f;
ddim.y = 150.0f/480.0f; ddim.y = 150.0f/480.0f;
#endif*/ #endif*/
pe = pw->CreateEdit(pos, ddim, 0, EVENT_EDIT1); pe = pw->CreateEdit(pos, ddim, 0, EVENT_EDIT1);
pe->SetGenericMode(true); pe->SetGenericMode(true);
@ -1875,33 +1876,33 @@ void CMainDialog::ChangePhase(Phase phase)
pe->SetFontSize(8.0f); pe->SetFontSize(8.0f);
pe->ReadText("help/authors.txt"); pe->ReadText("help/authors.txt");
/* #if _DEMO /* #if _DEMO
//? pos.x = 80.0f/640.0f; //? pos.x = 80.0f/640.0f;
//? pos.y = 240.0f/480.0f; //? pos.y = 240.0f/480.0f;
//? ddim.x = 490.0f/640.0f; //? ddim.x = 490.0f/640.0f;
//? ddim.y = 110.0f/480.0f; //? ddim.y = 110.0f/480.0f;
//? pe = pw->CreateEdit(pos, ddim, 0, EVENT_EDIT1); //? pe = pw->CreateEdit(pos, ddim, 0, EVENT_EDIT1);
//? pe->SetGenericMode(true); //? pe->SetGenericMode(true);
//? pe->SetEditCap(false); //? pe->SetEditCap(false);
//? pe->SetHiliteCap(false); //? pe->SetHiliteCap(false);
//? pe->SetFontType(Gfx::FONT_COURIER); //? pe->SetFontType(Gfx::FONT_COURIER);
//? pe->SetFontSize(8.0f); //? pe->SetFontSize(8.0f);
//? pe->ReadText("help/demo.txt"); //? pe->ReadText("help/demo.txt");
//? pos.x = 80.0f/640.0f; //? pos.x = 80.0f/640.0f;
//? pos.y = 140.0f/480.0f; //? pos.y = 140.0f/480.0f;
//? ddim.x = 490.0f/640.0f; //? ddim.x = 490.0f/640.0f;
//? ddim.y = 100.0f/480.0f; //? ddim.y = 100.0f/480.0f;
//? pe = pw->CreateEdit(pos, ddim, 0, EVENT_EDIT2); //? pe = pw->CreateEdit(pos, ddim, 0, EVENT_EDIT2);
//? pe->SetGenericMode(true); //? pe->SetGenericMode(true);
//? pe->SetEditCap(false); //? pe->SetEditCap(false);
//? pe->SetHiliteCap(false); //? pe->SetHiliteCap(false);
//? pe->SetFontType(Gfx::FONT_COURIER); //? pe->SetFontType(Gfx::FONT_COURIER);
//? pe->SetFontSize(8.0f); //? pe->SetFontSize(8.0f);
//? pe->ReadText("help/authors.txt"); //? pe->ReadText("help/authors.txt");
#endif */ #endif */
// TODO: #if !_DEMO // TODO: #if !_DEMO
pos.x = 40.0f/640.0f; pos.x = 40.0f/640.0f;
pos.y = 83.0f/480.0f; pos.y = 83.0f/480.0f;
ddim.x = 246.0f/640.0f; ddim.x = 246.0f/640.0f;
@ -1931,9 +1932,9 @@ void CMainDialog::ChangePhase(Phase phase)
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL4, name); pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL4, name);
pl->SetFontType(Gfx::FONT_COURIER); pl->SetFontType(Gfx::FONT_COURIER);
pl->SetFontSize(8.0f); pl->SetFontSize(8.0f);
// #endif // #endif
/* TODO: #if _DEMO /* TODO: #if _DEMO
pos.x = 481.0f/640.0f; pos.x = 481.0f/640.0f;
pos.y = 51.0f/480.0f; pos.y = 51.0f/480.0f;
ddim.x = 30.0f/640.0f; ddim.x = 30.0f/640.0f;
@ -1947,7 +1948,7 @@ void CMainDialog::ChangePhase(Phase phase)
ddim.y = 30.0f/480.0f; ddim.y = 30.0f/480.0f;
pb = pw->CreateButton(pos, ddim, 49, EVENT_INTERFACE_ABORT); pb = pw->CreateButton(pos, ddim, 49, EVENT_INTERFACE_ABORT);
pb->SetState(STATE_SHADOW); pb->SetState(STATE_SHADOW);
// #endif // #endif
m_engine->SetBackground("generic.png", m_engine->SetBackground("generic.png",
Gfx::Color(0.0f, 0.0f, 0.0f, 0.0f), Gfx::Color(0.0f, 0.0f, 0.0f, 0.0f),
@ -1975,24 +1976,24 @@ void CMainDialog::ChangePhase(Phase phase)
m_phase == PHASE_READ || m_phase == PHASE_READ ||
m_phase == PHASE_LOADING ) m_phase == PHASE_LOADING )
{ {
/*TODO: #if _SCHOOL /*TODO: #if _SCHOOL
#if _TEEN #if _TEEN
pos.x = 50.0f/640.0f; pos.x = 50.0f/640.0f;
pos.y = 430.0f/480.0f; pos.y = 430.0f/480.0f;
ddim.x = 200.0f/640.0f; ddim.x = 200.0f/640.0f;
ddim.y = 10.0f/480.0f; ddim.y = 10.0f/480.0f;
#else #else
pos.x = 450.0f/640.0f; pos.x = 450.0f/640.0f;
pos.y = 0.0f/480.0f; pos.y = 0.0f/480.0f;
ddim.x = 170.0f/640.0f; ddim.x = 170.0f/640.0f;
ddim.y = 9.0f/480.0f; ddim.y = 9.0f/480.0f;
#endif #endif
#else */ #else */
pos.x = 540.0f/640.0f; pos.x = 540.0f/640.0f;
pos.y = 9.0f/480.0f; pos.y = 9.0f/480.0f;
ddim.x = 90.0f/640.0f; ddim.x = 90.0f/640.0f;
ddim.y = 10.0f/480.0f; ddim.y = 10.0f/480.0f;
//#endif //#endif
GetResource(RES_TEXT, RT_VERSION_ID, name); GetResource(RES_TEXT, RT_VERSION_ID, name);
pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL1, name); pl = pw->CreateLabel(pos, ddim, 0, EVENT_LABEL1, name);
pl->SetFontType(Gfx::FONT_COURIER); pl->SetFontType(Gfx::FONT_COURIER);
@ -2019,8 +2020,8 @@ bool CMainDialog::EventProcess(const Event &event)
{ {
m_phaseTime += event.rTime; m_phaseTime += event.rTime;
//? if ( m_phase == PHASE_WELCOME1 ) welcomeLength = WELCOME_LENGTH+2.0f; //? if ( m_phase == PHASE_WELCOME1 ) welcomeLength = WELCOME_LENGTH+2.0f;
//? else welcomeLength = WELCOME_LENGTH; //? else welcomeLength = WELCOME_LENGTH;
welcomeLength = WELCOME_LENGTH; welcomeLength = WELCOME_LENGTH;
if ( m_phase == PHASE_WELCOME1 || if ( m_phase == PHASE_WELCOME1 ||
@ -2077,7 +2078,7 @@ bool CMainDialog::EventProcess(const Event &event)
if ( m_shotDelay == 0 ) if ( m_shotDelay == 0 )
{ {
m_engine->WriteScreenShot(m_shotName, 320, 240); m_engine->WriteScreenShot(m_shotName, 320, 240);
//? m_engine->WriteScreenShot(m_shotName, 160, 120); //? m_engine->WriteScreenShot(m_shotName, 160, 120);
} }
} }
@ -2124,8 +2125,8 @@ bool CMainDialog::EventProcess(const Event &event)
} }
if ( m_phase == PHASE_INIT ) if ( m_phase == PHASE_INIT )
{ {
//? m_eventQueue->MakeEvent(newEvent, EVENT_QUIT); //? m_eventQueue->MakeEvent(newEvent, EVENT_QUIT);
//? m_eventQueue->AddEvent(newEvent); //? m_eventQueue->AddEvent(newEvent);
m_main->ChangePhase(PHASE_GENERIC); m_main->ChangePhase(PHASE_GENERIC);
} }
if ( m_phase == PHASE_SIMUL ) if ( m_phase == PHASE_SIMUL )
@ -2189,14 +2190,14 @@ bool CMainDialog::EventProcess(const Event &event)
case EVENT_KEY_DOWN: case EVENT_KEY_DOWN:
if ( event.key.key == KEY(ESCAPE) ) if ( event.key.key == KEY(ESCAPE) )
{ {
//? StartQuit(); // would you leave? //? StartQuit(); // would you leave?
m_sound->Play(SOUND_TZOING); m_sound->Play(SOUND_TZOING);
m_main->ChangePhase(PHASE_GENERIC); m_main->ChangePhase(PHASE_GENERIC);
} }
break; break;
case EVENT_INTERFACE_QUIT: case EVENT_INTERFACE_QUIT:
//? StartQuit(); // would you leave? //? StartQuit(); // would you leave?
m_sound->Play(SOUND_TZOING); m_sound->Play(SOUND_TZOING);
m_main->ChangePhase(PHASE_GENERIC); m_main->ChangePhase(PHASE_GENERIC);
break; break;
@ -3243,7 +3244,7 @@ Math::Vector SoundRand()
void CMainDialog::FrameParticle(float rTime) void CMainDialog::FrameParticle(float rTime)
{ {
/* TODO: #if _NEWLOOK /* TODO: #if _NEWLOOK
#else */ #else */
Math::Vector pos, speed; Math::Vector pos, speed;
Math::Point dim; Math::Point dim;
@ -3525,7 +3526,7 @@ void CMainDialog::FrameParticle(float rTime)
} }
} }
} }
// #endif // #endif
} }
// Some nice particles following the mouse. // Some nice particles following the mouse.
@ -3599,17 +3600,15 @@ void CMainDialog::BuildSceneName(std::string &filename, char *base, int rank)
std::ostringstream rankStream; std::ostringstream rankStream;
if ( strcmp(base, "user") == 0 ) if ( strcmp(base, "user") == 0 )
{ {
//TODO: Change this to point user dir acocrding to operating system //TODO: Change this to point user dir according to operating system
rankStream << std::setfill('0') << std::setw(2) << rank%100; rankStream << std::setfill('0') << std::setw(2) << rank%100;
filename = m_userDir + "/" + m_userList[rank/100-1] + "/" + rankStream.str() + ".txt"; filename = m_userDir + "/" + m_userList[rank/100-1] + "/" + rankStream.str() + ".txt";
// sprintf(filename, "%s\\%s\\scene%.2d.txt", m_userDir.c_str(), m_userList[rank/100-1], rank%100);
} }
else else
{ {
rankStream << std::setfill('0') << std::setw(3) << rank; rankStream << std::setfill('0') << std::setw(3) << rank;
filename = base + rankStream.str() + ".txt"; filename = base + rankStream.str() + ".txt";
filename = CApplication::GetInstance().GetDataFilePath(DIR_LEVEL, filename); filename = CApplication::GetInstance().GetDataFilePath(DIR_LEVEL, filename);
// sprintf(filename, "%s\\%s%.3d.txt", m_sceneDir, base, rank);
} }
} }
@ -3639,7 +3638,8 @@ void CMainDialog::ReadNameList()
bool bDo; bool bDo;
char dir[MAX_FNAME]; char dir[MAX_FNAME];
char temp[MAX_FNAME]; char temp[MAX_FNAME];
char filenames[MAX_FNAME][100]; // char filenames[MAX_FNAME][100];
std::vector<std::string> fileNames;
int nbFilenames, i; int nbFilenames, i;
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5)); pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
@ -3650,51 +3650,36 @@ void CMainDialog::ReadNameList()
nbFilenames = 0; nbFilenames = 0;
//TODO list files try
// sprintf(dir, ".\\%s", m_savegameDir);
// if (! fs::exists(dir))
// {
// GetLogger()->Error("Savegame dir does not exist %s\n",dir);
// }
// else
// {
// GetLogger()->Info("Opening file");
// }
// hFile = _findfirst(dir, &fBuffer);
// if ( hFile != -1 )
// {
// do
// {
// if ( (fBuffer.attrib & _A_SUBDIR) && fBuffer.name[0] != '.' )
// {
// strcpy(filenames[nbFilenames++], fBuffer.name);
// }
// }
// while ( _findnext(hFile, &fBuffer) == 0 && nbFilenames < 100 );
// }
// do // sorts all names:
// {
// bDo = false;
// for ( i=0 ; i<nbFilenames-1 ; i++ )
// {
// if ( strcmp(filenames[i], filenames[i+1]) > 0 )
// {
// strcpy(temp, filenames[i]);
// strcpy(filenames[i], filenames[i+1]);
// strcpy(filenames[i+1], temp);
// bDo = true;
// }
// }
// }
// while ( bDo );
strcpy(filenames[nbFilenames++], "Test");
for ( i=0 ; i<nbFilenames ; i++ )
{ {
pl->SetName(i, filenames[i]); if (! fs::exists(m_savegameDir) && fs::is_directory(m_savegameDir))
{
GetLogger()->Error("Savegame dir does not exist %s\n",dir);
}
else
{
fs::directory_iterator dirIt(m_savegameDir), dirEndIt;
BOOST_FOREACH (const fs::path & p, std::make_pair(dirIt, dirEndIt))
{
if (fs::is_directory(p))
{
fileNames.push_back(p.leaf().string());
}
}
}
}
catch (std::exception & e)
{
GetLogger()->Error("Error on listing savegame directory : %s\n", e.what());
return;
}
fileNames.push_back("Test");
for ( i=0 ; i<fileNames.size() ; ++i )
{
pl->SetName(i, fileNames.at(i).c_str());
} }
} }
@ -3877,7 +3862,7 @@ void CMainDialog::NameCreate()
CWindow* pw; CWindow* pw;
CEdit* pe; CEdit* pe;
char name[100]; char name[100];
char dir[100]; std::string dir;
char c; char c;
int len, i, j; int len, i, j;
@ -3920,8 +3905,13 @@ void CMainDialog::NameCreate()
// TODO: _mkdir(m_savegameDir); // if does not exist yet! // TODO: _mkdir(m_savegameDir); // if does not exist yet!
sprintf(dir, "%s/%s", m_savegameDir.c_str(), name);
// TODO: if ( _mkdir(dir) != 0 ) dir = m_savegameDir + "/" + name;
if (!fs::exists(dir))
{
fs::create_directories(dir);
}
else
{ {
m_sound->Play(SOUND_TZOING); m_sound->Play(SOUND_TZOING);
pe->SetText(name); pe->SetText(name);
@ -3938,40 +3928,27 @@ void CMainDialog::NameCreate()
// Deletes a folder and all its offspring. // Deletes a folder and all its offspring.
bool RemoveDir(char *dirname) bool RemoveDir(char *dirName)
{ {
/* TODO: remove dir try
long hFile; {
struct _finddata_t fBuffer;
char filename[100];
sprintf(filename, "%s/*", dirname); if (!fs::exists(dirName) && fs::is_directory(dirName))
hFile = _findfirst(filename, &fBuffer);
if ( hFile != -1 )
{ {
do GetLogger()->Error("Directory does not exist %s\n",dirName);
{ return false;
if ( fBuffer.name[0] != '.' )
{
if ( fBuffer.attrib & _A_SUBDIR )
{
sprintf(filename, "%s/%s", dirname, fBuffer.name);
RemoveDir(filename);
} }
else else
{ {
sprintf(filename, "%s/%s", dirname, fBuffer.name); fs::remove_all(dirName);
remove(filename);
}
}
}
while ( _findnext(hFile, &fBuffer) == 0 );
} }
if ( _rmdir(dirname) != 0 ) }
catch (std::exception & e)
{ {
GetLogger()->Error("Error on removing directory %s : %s\n", dirName, e.what());
return false; return false;
}*/ }
return true; return true;
} }
@ -4518,6 +4495,22 @@ void CMainDialog::IODeleteScene()
return; return;
} }
std::ostringstream rankStream;
std::string fileName;
rankStream << std::setfill('0') << std::setw(3) << sel;
fileName = m_savegameDir + "/" + m_main->GetGamerName() + "/save" + m_sceneName[0] + rankStream.str();
try
{
if (fs::exists(fileName) && fs::is_directory(fileName))
{
fs::remove_all(fileName);
}
}
catch (std::exception & e)
{
GetLogger()->Error("Error on removing directory %s : %s\n", e.what());
}
/* TODO: remove files /* TODO: remove files
// Deletes all the contents of the file. // Deletes all the contents of the file.
sprintf(dir, "%s/%s/save%c%.3d/*", m_savegameDir, m_main->GetGamerName(), m_sceneName[0], sel); sprintf(dir, "%s/%s/save%c%.3d/*", m_savegameDir, m_main->GetGamerName(), m_sceneName[0], sel);
@ -4580,7 +4573,7 @@ bool CMainDialog::IOWriteScene()
//TODO: Change this to point user dir according to operating system //TODO: Change this to point user dir according to operating system
// sprintf(filename, "%s\\%s\\save%c%.3d", m_savegameDir, m_main->GetGamerName(), m_sceneName[0], sel); // sprintf(filename, "%s\\%s\\save%c%.3d", m_savegameDir, m_main->GetGamerName(), m_sceneName[0], sel);
GetLogger()->Info("Creating save directory\n"); GetLogger()->Debug("Creating save directory\n");
selectStream << std::setfill('0') << std::setw(3) << sel; selectStream << std::setfill('0') << std::setw(3) << sel;
directoryName = m_savegameDir + "/" + m_main->GetGamerName() + "/" + "save" + m_sceneName[0] + selectStream.str(); directoryName = m_savegameDir + "/" + m_main->GetGamerName() + "/" + "save" + m_sceneName[0] + selectStream.str();
if (!fs::exists(directoryName)) if (!fs::exists(directoryName))