Example #1
0
    public void SaveMenu()
    {
        int       optionSave        = 0;
        const int YSECONDCURSOR_MAX = 2;
        const int YSECONDCURSOR_MIN = 0;

        SdlHardware.Pause(100);
        do
        {
            SdlHardware.DrawHiddenImage(greyBackground, 0, 0);
            SdlHardware.DrawHiddenImage(saveBackground, -100, 0);
            SdlHardware.DrawHiddenImage(selector, 200, 270 + 120 * optionSave);
            SdlHardware.ShowHiddenScreen();
            if (SdlHardware.KeyPressed(SdlHardware.KEY_W) && optionSave >
                YSECONDCURSOR_MIN)
            {
                optionSave--;
            }
            else if (SdlHardware.KeyPressed(SdlHardware.KEY_S) && optionSave <
                     YSECONDCURSOR_MAX)
            {
                optionSave++;
            }
            else if (SdlHardware.KeyPressed(SdlHardware.KEY_RETURN))
            {
                Oneiric.SaveGame("data/savedGames/" + (optionSave + 1) + "_game.save");
            }
            SdlHardware.Pause(100);
        } while (!SdlHardware.KeyPressed(SdlHardware.KEY_ESC));
    }
Example #2
0
    public void LoadItems()
    {
        try
        {
            StreamReader file = File.OpenText("data/langs/" +
                                              Oneiric.Languages[Oneiric.Language].Substring(
                                                  0, 2).ToLower() + "/items.dat");

            string line = file.ReadLine();

            do
            {
                line = file.ReadLine();

                if (line != null)
                {
                    string[] data = line.Split(';');
                    if (data[0] == "c")
                    {
                        droppableItems.Add(new ConsumableItem(data[1], Convert.ToInt32(data[2]),
                                                              Convert.ToInt32(data[3]), Convert.ToInt32(data[4]),
                                                              Convert.ToInt32(data[5]), Convert.ToInt32(data[6]),
                                                              Convert.ToInt32(data[7]), Convert.ToInt32(data[8]),
                                                              Convert.ToInt32(data[9])));
                    }
                    else if (data[0] == "e")
                    {
                        droppableItems.Add(new EquipableItem(data[1], Convert.ToInt32(data[2]),
                                                             Convert.ToInt32(data[3]), Convert.ToInt32(data[4]),
                                                             Convert.ToInt32(data[5]), Convert.ToInt32(data[6]),
                                                             Convert.ToInt32(data[7]), Convert.ToInt32(data[8])));
                    }
                    else
                    {
                        droppableItems.Add(new Item(data[1], Convert.ToInt32(data[2]),
                                                    Convert.ToInt32(data[3]), Convert.ToInt32(data[4]),
                                                    Convert.ToInt32(data[5]), Convert.ToInt32(data[6]),
                                                    Convert.ToInt32(data[7]), Convert.ToInt32(data[8])));
                    }
                }
            } while (line != null);
        }
        catch (PathTooLongException)
        {
            Oneiric.SaveLog("Path too long Error");
        }
        catch (FileNotFoundException)
        {
            Oneiric.SaveLog("File Not Found");
        }
        catch (IOException e)
        {
            Oneiric.SaveLog("IO Error: " + e);
        }
        catch (Exception e)
        {
            Oneiric.SaveLog("Error: " + e);
        }
    }
Example #3
0
 public void Load(string fileName)
 {
     internalPointer = SdlImage.IMG_Load(fileName);
     if (internalPointer == IntPtr.Zero)
     {
         Oneiric.SaveLog("Image not found: " + fileName);
         SdlHardware.FatalError("Image not found: " + fileName);
     }
 }
Example #4
0
 public int Run()
 {
     option = 0;
     LoadText(Oneiric.Languages[Oneiric.Language], "loadSaveMenu");
     SdlHardware.Pause(100);
     do
     {
         SdlHardware.ClearScreen();
         DrawMenu();
         SdlHardware.ShowHiddenScreen();
         if (SdlHardware.KeyPressed(SdlHardware.KEY_W) && option >
             YCURSOR_MIN)
         {
             option--;
         }
         else if (SdlHardware.KeyPressed(SdlHardware.KEY_S) && option <
                  YCURSOR_MAX)
         {
             option++;
         }
         else if (SdlHardware.KeyPressed(SdlHardware.KEY_ESC))
         {
             option = YCURSOR_MAX;
         }
         else if (SdlHardware.KeyPressed(SdlHardware.KEY_RETURN))
         {
             string nameFile = "data/savedGames/" + (option + 1) +
                               "_game.save";
             if (option == YCURSOR_MAX)
             {
                 return(1);
             }
             else
             {
                 if (!File.Exists(nameFile))
                 {
                     Oneiric.SaveLog("Can't load the game. File Not Found " +
                                     nameFile);
                 }
                 else
                 {
                     Oneiric.LoadGame(nameFile);
                     return(0);
                 }
             }
         }
         SdlHardware.Pause(100);
     }while (true);
     //The loop ends when an option is choosed.
 }
Example #5
0
    public int Run()
    {
        option = 0;
        LoadText(Oneiric.Languages[Oneiric.Language], "optionMenu");

        SdlHardware.Pause(100);
        do
        {
            SdlHardware.ClearScreen();
            DrawMenu(Oneiric.Languages[Oneiric.Language],
                     Oneiric.Difficultation[Oneiric.Difficulty]);
            SdlHardware.ShowHiddenScreen();
            if (SdlHardware.KeyPressed(SdlHardware.KEY_W) && option >
                YCURSOR_MIN)
            {
                option--;
            }
            else if (SdlHardware.KeyPressed(SdlHardware.KEY_S) && option <
                     YCURSOR_MAX)
            {
                option++;
            }
            else if (SdlHardware.KeyPressed(SdlHardware.KEY_ESC))
            {
                option = YCURSOR_MAX;
            }
            else if (SdlHardware.KeyPressed(SdlHardware.KEY_RETURN))
            {
                if (option == YCURSOR_MAX)
                {
                    Oneiric.LoadItemsName();
                    return(option);
                }
            }
            else if (SdlHardware.KeyPressed(SdlHardware.KEY_A))
            {
                ChangeOptions(-1, Oneiric.Languages.Length - 1,
                              Oneiric.Difficultation.Length - 1);
            }
            else if (SdlHardware.KeyPressed(SdlHardware.KEY_D))
            {
                ChangeOptions(1, Oneiric.Languages.Length - 1,
                              Oneiric.Difficultation.Length - 1);
            }
            SdlHardware.Pause(100);
        }while (true);
        //The loop ends when an option is choosed.
    }
Example #6
0
    public int ChoosedOption()
    {
        int value = 0;

        switch (option)
        {
        case 0:
            ShowParty();
            value = 0;
            break;

        case 1:
            SdlHardware.Pause(200);
            ShowInventory();
            value = 1;
            break;

        case 2:
            value = 2;
            break;

        case 3:
            SaveMenu();
            value = 3;
            break;

        case 4:
            Oneiric.os.Run();
            Oneiric.SaveOptions();
            value = 4;
            break;

        case 5:
            value = 5;
            break;

        case 6:
            value = 6;
            break;
        }

        return(value);
    }
Example #7
0
    public void LoadText(string language, string fileName)
    {
        texts.Clear();
        try
        {
            StreamReader file = File.OpenText("data/langs/" +
                                              language.Substring(0, 2).ToLower() + "/systemText/" + fileName +
                                              ".dat");

            string line;

            do
            {
                line = file.ReadLine();

                if (line != null)
                {
                    texts.Add((line.Split(';'))[0], (line.Split(';'))[1]);
                }
            } while (line != null);
            file.Close();
        }
        catch (PathTooLongException)
        {
            Oneiric.SaveLog("Path too long Error");
        }
        catch (FileNotFoundException)
        {
            Oneiric.SaveLog("File Not Found");
        }
        catch (IOException e)
        {
            Oneiric.SaveLog("IO Error: " + e);
        }
        catch (Exception e)
        {
            Oneiric.SaveLog("Error: " + e);
        }
    }
Example #8
0
    public void AddItems()
    {
        while (items.Count == 0)
        {
            try
            {
                StreamReader file = File.OpenText("data/langs/" +
                                                  Oneiric.Languages[Oneiric.Language].Substring(
                                                      0, 2).ToLower() + "/items.dat");
                string line = file.ReadLine();

                do
                {
                    line = file.ReadLine();

                    if (line != null)
                    {
                        string[] data = line.Split(';');

                        if (Convert.ToInt32(data[data.Length - 1]) == rarity)
                        {
                            if (Game.rand.Next(0, 4) == 1)
                            {
                                if (data[0] == "c")
                                {
                                    items.Add(new ConsumableItem(data[1], Convert.ToInt32(data[2]),
                                                                 Convert.ToInt32(data[3]), Convert.ToInt32(data[4]),
                                                                 Convert.ToInt32(data[5]), Convert.ToInt32(data[6]),
                                                                 Convert.ToInt32(data[7]), Convert.ToInt32(data[8]),
                                                                 Convert.ToInt32(data[9])));
                                }
                                else if (data[0] == "e")
                                {
                                    items.Add(new EquipableItem(data[1], Convert.ToInt32(data[2]),
                                                                Convert.ToInt32(data[3]), Convert.ToInt32(data[4]),
                                                                Convert.ToInt32(data[5]), Convert.ToInt32(data[6]),
                                                                Convert.ToInt32(data[7]), Convert.ToInt32(data[8])));
                                }
                                else
                                {
                                    items.Add(new Item(data[1], Convert.ToInt32(data[2]),
                                                       Convert.ToInt32(data[3]), Convert.ToInt32(data[4]),
                                                       Convert.ToInt32(data[5]), Convert.ToInt32(data[6]),
                                                       Convert.ToInt32(data[7]), Convert.ToInt32(data[8])));
                                }
                            }
                        }
                    }
                } while (line != null && items.Count < maxItems);

                file.Close();
            }
            catch (PathTooLongException)
            {
                Oneiric.SaveLog("Path too long Error");
            }
            catch (FileNotFoundException)
            {
                Oneiric.SaveLog("File Not Found");
            }
            catch (IOException e)
            {
                Oneiric.SaveLog("IO Error: " + e);
            }
            catch (Exception e)
            {
                Oneiric.SaveLog("Error: " + e);
            }
        }
    }
Example #9
0
    public void DrawMenu()
    {
        SdlHardware.DrawHiddenImage(realWallpaper, 0, 0);
        SdlHardware.DrawHiddenImage(Wallpaper, 0, 0);
        SdlHardware.WriteHiddenText(texts["lg"],
                                    202, 102,
                                    0x00, 0x00, 0x00,
                                    font72);
        SdlHardware.WriteHiddenText(texts["lg"],
                                    200, 100,
                                    0xFF, 0xFF, 0xFF,
                                    font72);
        SdlHardware.WriteHiddenText("1",
                                    372, 267,
                                    0x00, 0x00, 0x00,
                                    Font28);
        SdlHardware.WriteHiddenText("1",
                                    370, 265,
                                    0xFF, 0xFF, 0xFF,
                                    Font28);

        if (File.Exists("data/savedGames/1_game.save"))
        {
            string time = CalculateTime(
                Oneiric.GetTime("data/savedGames/1_game.save"));

            SdlHardware.WriteHiddenText(texts["gt"] + time,
                                        592, 302,
                                        0x00, 0x00, 0x00,
                                        font12);
            SdlHardware.WriteHiddenText(texts["gt"] + time,
                                        590, 300,
                                        0xFF, 0xFF, 0xFF,
                                        font12);
        }
        else
        {
            SdlHardware.WriteHiddenText(texts["nd"],
                                        482, 267,
                                        0x00, 0x00, 0x00,
                                        Font28);
            SdlHardware.WriteHiddenText(texts["nd"],
                                        480, 265,
                                        0xFF, 0xFF, 0xFF,
                                        Font28);
        }
        SdlHardware.WriteHiddenText("2",
                                    372, 387,
                                    0x00, 0x00, 0x00,
                                    Font28);
        SdlHardware.WriteHiddenText("2",
                                    370, 385,
                                    0xFF, 0xFF, 0xFF,
                                    Font28);
        if (File.Exists("data/savedGames/2_game.save"))
        {
            string time = CalculateTime(
                Oneiric.GetTime("data/savedGames/2_game.save"));

            SdlHardware.WriteHiddenText(texts["gt"] + time,
                                        592, 422,
                                        0x00, 0x00, 0x00,
                                        font12);
            SdlHardware.WriteHiddenText(texts["gt"] + time,
                                        590, 420,
                                        0xFF, 0xFF, 0xFF,
                                        font12);
        }
        else
        {
            SdlHardware.WriteHiddenText(texts["nd"],
                                        482, 387,
                                        0x00, 0x00, 0x00,
                                        Font28);
            SdlHardware.WriteHiddenText(texts["nd"],
                                        480, 385,
                                        0xFF, 0xFF, 0xFF,
                                        Font28);
        }
        SdlHardware.WriteHiddenText("3",
                                    372, 497,
                                    0x00, 0x00, 0x00,
                                    Font28);
        SdlHardware.WriteHiddenText("3",
                                    370, 495,
                                    0xFF, 0xFF, 0xFF,
                                    Font28);
        if (File.Exists("data/savedGames/3_game.save"))
        {
            string time = CalculateTime(
                Oneiric.GetTime("data/savedGames/3_game.save"));

            SdlHardware.WriteHiddenText(texts["gt"] + time,
                                        592, 532,
                                        0x00, 0x00, 0x00,
                                        font12);
            SdlHardware.WriteHiddenText(texts["gt"] + time,
                                        590, 530,
                                        0xFF, 0xFF, 0xFF,
                                        font12);
        }
        else
        {
            SdlHardware.WriteHiddenText(texts["nd"],
                                        482, 497,
                                        0x00, 0x00, 0x00,
                                        Font28);
            SdlHardware.WriteHiddenText(texts["nd"],
                                        480, 495,
                                        0xFF, 0xFF, 0xFF,
                                        Font28);
        }
        SdlHardware.WriteHiddenText(texts["bc"],
                                    502, 618,
                                    0x00, 0x00, 0x00,
                                    Font28);
        SdlHardware.WriteHiddenText(texts["bc"],
                                    500, 616,
                                    0xFF, 0xFF, 0xFF,
                                    Font28);
        SdlHardware.DrawHiddenImage(selector, option != YCURSOR_MAX? 235:430,
                                    250 + 115 * option);
    }