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)); }
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); } }
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); } }
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. }
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. }
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); }
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); } }
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); } } }
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); }