]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Game.h
little cleanup about campaign level handling
[lugaru.git] / Source / Game.h
index 5243716ac2e890dcac5062c184d86cafff13d586..97e3487d61dcabda13282b8e0fa7bc9616230bf1 100644 (file)
@@ -59,6 +59,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "Account.h"
 #include "Sounds.h"
 
+#define NB_CAMPAIGN_MENU_ITEM 7
+
 extern GLuint rabbittexture;
 
 struct TextureInfo;
@@ -89,13 +91,8 @@ class Game
                float selectedlong[100];
                float offsetx[100];
                float offsety[100];
-               float movex[100];
-               float movey[100];
-               float transition;
-               int anim;
                int selected;
                int keyselect;
-               int loaddistrib;
                int indemo;
 
                bool won;
@@ -142,18 +139,12 @@ class Game
                char campaignmapname[50][256];
                char campaigndescription[50][256];
                int campaignchoosenext[50];
-               int campaignnumnext[50];
+               int campaignnumnext[50]; // 0 on final level. As David said: he meant to add story branching, but he eventually hadn't. 
                int campaignnextlevel[50][10];
                int campaignlocationx[50];
                int campaignlocationy[50];
-               int campaignchoicenum;
-               int campaignchoicewhich[10];
                int whichchoice;
-
-               int numlevelspassed;
-               int levelorder[5000];
-               int levelvisible[50];
-               int levelhighlight[50];
+               int actuallevel;
 
                bool minimap;
 
@@ -226,6 +217,7 @@ class Game
                void LoadStuff();
                void LoadingScreen();
                void LoadCampaign();
+               static std::vector<std::string> ListCampaigns();
                void FadeLoadingScreen(float howmuch);
                void Dispose();
                int DrawGLScene(StereoSide side);
@@ -302,7 +294,7 @@ class Game
 
 //keeps track of which textures are loaded
 //TODO: delete them properly
-struct TextureInfo{
+struct TextureInfo {
     bool isLoaded;
     bool isSkin;
     const char* fileName;
@@ -312,7 +304,7 @@ struct TextureInfo{
     GLubyte* array;
     int* skinsize;
 
-    void load(){
+    void load() {
         if(isSkin)
             Game::LoadTextureSaveData(fileName,ptextureid,mipmap,array,skinsize,isLoaded);
         else