Example #1
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 #2
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 #3
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 #4
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 #5
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);
            }
        }
    }