Last changes

dev-mp
Krzysztof Dermont 2014-06-30 17:40:40 +02:00
parent 68d41d3b21
commit aa190bb59b
3 changed files with 40 additions and 50 deletions

2
data

@ -1 +1 @@
Subproject commit 8867360074568706afcede8cbaa11f8159c96830 Subproject commit aa3b09f4dfbc0d6fae888f528dae724e8fbedf31

View File

@ -29,6 +29,10 @@
#include "common/restext.h" #include "common/restext.h"
#include "common/stringutils.h" #include "common/stringutils.h"
#include "common/resources/resourcemanager.h"
#include "common/resources/inputstream.h"
#include "common/resources/outputstream.h"
#include "object/robotmain.h" #include "object/robotmain.h"
#include "script/cmdtoken.h" #include "script/cmdtoken.h"
@ -48,6 +52,7 @@
#include "ui/window.h" #include "ui/window.h"
#include "ui/edit.h" #include "ui/edit.h"
#include "ui/editvalue.h" #include "ui/editvalue.h"
#include <test/cbot/CBot_console/CClass.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -175,9 +180,6 @@ CMainDialog::CMainDialog()
m_partiTime[i] = 0.0f; m_partiTime[i] = 0.0f;
} }
m_sceneDir = "levels";
#if DEV_BUILD #if DEV_BUILD
m_savegameDir = "savegame"; m_savegameDir = "savegame";
#else #else
@ -762,7 +764,7 @@ pb->SetState(STATE_SHADOW);
{ {
if (!m_sound->IsPlayingMusic()) if (!m_sound->IsPlayingMusic())
{ {
m_sound->PlayMusic("Intro1.ogg", false); m_sound->PlayMusic("music/Intro1.ogg", false);
} }
} }
@ -782,15 +784,15 @@ pb->SetState(STATE_SHADOW);
if ( m_phase == PHASE_FREE ) if ( m_phase == PHASE_FREE )
{ {
strcpy(m_sceneName, "scene"); strcpy(m_sceneName, "levels/missions/");
ReadGamerInfo(); ReadGamerInfo();
m_accessChap = GetChapPassed(); m_accessChap = GetChapPassed();
} }
if ( m_phase == PHASE_TRAINER ) strcpy(m_sceneName, "train"); if ( m_phase == PHASE_TRAINER ) strcpy(m_sceneName, "levels/exercises/");
if ( m_phase == PHASE_DEFI ) strcpy(m_sceneName, "defi" ); if ( m_phase == PHASE_DEFI ) strcpy(m_sceneName, "levels/challenges/" );
if ( m_phase == PHASE_MISSION ) strcpy(m_sceneName, "scene"); if ( m_phase == PHASE_MISSION ) strcpy(m_sceneName, "levels/missions/");
if ( m_phase == PHASE_FREE ) strcpy(m_sceneName, "free"); if ( m_phase == PHASE_FREE ) strcpy(m_sceneName, "levels/freemissions/");
if ( m_phase == PHASE_TEEN ) strcpy(m_sceneName, "teen"); if ( m_phase == PHASE_TEEN ) strcpy(m_sceneName, "teen");
if ( m_phase == PHASE_USER ) strcpy(m_sceneName, "user"); if ( m_phase == PHASE_USER ) strcpy(m_sceneName, "user");
@ -2011,7 +2013,7 @@ bool CMainDialog::EventProcess(const Event &event)
{ {
if (!m_sound->IsPlayingMusic()) if (!m_sound->IsPlayingMusic())
{ {
m_sound->PlayMusic("Intro2.ogg", true); m_sound->PlayMusic("music/Intro2.ogg", true);
} }
} }
@ -3584,10 +3586,22 @@ void CMainDialog::BuildSceneName(std::string &filename, char *base, int rank)
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";
} }
else if ( strcmp(base, "perso") == 0 )
{
filename = "levels/other/perso.txt";
}
else else
{ {
rankStream << std::setfill('0') << std::setw(3) << rank; rankStream << "chapter" << std::setfill('0') << std::setw(3) << (rank / 100);
filename = base + rankStream.str() + ".txt"; if (rank % 100 == 0)
{
rankStream << "/chaptertitle.txt";
}
else
{
rankStream << "/level" << std::setfill('0') << std::setw(3) << (rank % 100) << "/scene.txt";
}
filename = base + rankStream.str();
} }
} }
@ -4282,7 +4296,6 @@ bool CMainDialog::IsIOReadScene()
void CMainDialog::IOReadName() void CMainDialog::IOReadName()
{ {
FILE* file;
CWindow* pw; CWindow* pw;
CEdit* pe; CEdit* pe;
std::string filename; std::string filename;
@ -4304,10 +4317,12 @@ void CMainDialog::IOReadName()
sprintf(op, "Title.E"); sprintf(op, "Title.E");
sprintf(op_i18n, "Title.%c", m_app->GetLanguageChar() ); sprintf(op_i18n, "Title.%c", m_app->GetLanguageChar() );
file = fopen(filename.c_str(), "r"); CInputStream stream;
if ( file != NULL ) stream.open(filename);
if (stream.is_open())
{ {
while ( fgets(line, 500, file) != NULL ) while (stream.getline(line, 500))
{ {
for ( i=0 ; i<500 ; i++ ) for ( i=0 ; i<500 ; i++ )
{ {
@ -4329,7 +4344,7 @@ void CMainDialog::IOReadName()
break; break;
} }
} }
fclose(file); stream.close();
} }
time(&now); time(&now);
@ -4675,10 +4690,10 @@ void CMainDialog::AllMissionUpdate()
void CMainDialog::UpdateSceneChap(int &chap) void CMainDialog::UpdateSceneChap(int &chap)
{ {
FILE* file = NULL;
CWindow* pw; CWindow* pw;
CList* pl; CList* pl;
//struct _finddata_t fileBuffer; FILE *file;
std::string fileName; std::string fileName;
char op[100]; char op[100];
char op_i18n[100]; char op_i18n[100];
@ -4762,26 +4777,16 @@ void CMainDialog::UpdateSceneChap(int &chap)
{ {
for ( j=0 ; j<9 ; j++ ) for ( j=0 ; j<9 ; j++ )
{ {
/* TODO: #if _SCHOOL
if ( m_phase == PHASE_MISSION ) break;
if ( m_phase == PHASE_FREE ) break;
#if _CEEBOTDEMO
if ( m_phase == PHASE_TRAINER && j >= 2 ) break;
#endif
#endif
#if _DEMO
if ( m_phase == PHASE_MISSION && j >= 4 ) break;
if ( m_phase == PHASE_TRAINER && j >= 1 ) break;
#endif */
BuildSceneName(fileName, m_sceneName, (j+1)*100); BuildSceneName(fileName, m_sceneName, (j+1)*100);
file = fopen(fileName.c_str(), "r"); CInputStream stream;
if ( file == NULL ) break; stream.open(fileName);
if (!stream.is_open()) break;
BuildResumeName(name, m_sceneName, j+1); // default name BuildResumeName(name, m_sceneName, j+1); // default name
sprintf(op, "Title.E"); sprintf(op, "Title.E");
sprintf(op_i18n, "Title.%c", m_app->GetLanguageChar()); sprintf(op_i18n, "Title.%c", m_app->GetLanguageChar());
while ( fgets(line, 500, file) != NULL ) while (stream.getline(line, 500))
{ {
for ( i=0 ; i<500 ; i++ ) for ( i=0 ; i<500 ; i++ )
{ {
@ -4803,7 +4808,7 @@ void CMainDialog::UpdateSceneChap(int &chap)
break; break;
} }
} }
fclose(file); stream.close();
bPassed = GetGamerInfoPassed((j+1)*100); bPassed = GetGamerInfoPassed((j+1)*100);
sprintf(line, "%d: %s", j+1, name); sprintf(line, "%d: %s", j+1, name);
@ -4817,14 +4822,6 @@ void CMainDialog::UpdateSceneChap(int &chap)
break; break;
} }
/* TODO: #if _TEEN
if ( m_phase == PHASE_TRAINER && !m_main->GetShowAll() && !bPassed )
{
j ++;
break;
}
#endif*/
if ( m_phase == PHASE_FREE && j == m_accessChap ) if ( m_phase == PHASE_FREE && j == m_accessChap )
{ {
j ++; j ++;
@ -5493,7 +5490,6 @@ void CMainDialog::ChangeSetupButtons()
void CMainDialog::SetupMemorize() void CMainDialog::SetupMemorize()
{ {
GetProfile().SetLocalProfileString("Directory", "scene", m_sceneDir);
GetProfile().SetLocalProfileString("Directory", "savegame", m_savegameDir); GetProfile().SetLocalProfileString("Directory", "savegame", m_savegameDir);
GetProfile().SetLocalProfileString("Directory", "public", m_publicDir); GetProfile().SetLocalProfileString("Directory", "public", m_publicDir);
GetProfile().SetLocalProfileString("Directory", "user", m_userDir); GetProfile().SetLocalProfileString("Directory", "user", m_userDir);
@ -5586,11 +5582,6 @@ void CMainDialog::SetupRecall()
int iValue; int iValue;
std::string key; std::string key;
if ( GetProfile().GetLocalProfileString("Directory", "scene", key) )
{
m_sceneDir = key;
}
if ( GetProfile().GetLocalProfileString("Directory", "savegame", key) ) if ( GetProfile().GetLocalProfileString("Directory", "savegame", key) )
{ {
m_savegameDir = key; m_savegameDir = key;

View File

@ -200,7 +200,6 @@ protected:
int m_persoTab; // perso: tab selected int m_persoTab; // perso: tab selected
float m_persoAngle; // perso: angle of presentation float m_persoAngle; // perso: angle of presentation
std::string m_sceneDir; // scene folder
std::string m_savegameDir; // savegame folder std::string m_savegameDir; // savegame folder
std::string m_publicDir; // program folder std::string m_publicDir; // program folder
std::string m_userDir; // user folder std::string m_userDir; // user folder