public virtual bool ConvertHints() { var result = true; try { var hintDscFile = Globals.Path.Combine(AdventureFolderPath, "HINTS.DSC"); foreach (var hint in HintList) { using (var hintDscStream = Globals.File.OpenRead(hintDscFile)) { var hintDscFlr = new FixedLengthReader(hintDscStream, (hint._hptr - 1) * 255, true); for (var i = 0; i < hint._nh; i++) { var answer = new EDXDesc(); hintDscFlr.read(answer); hint.AnswerList.Add(answer); } } } } catch (Exception ex) { ErrorMessage = ex.Message; result = false; } return(result); }
public static PPMEntry GetPPMEntry(string ppmx) { string encodedstar = _ppmdb.Get(ReadOptions.Default, ppmx.Substring(0, 15)).ToString(); PPMEntry md = new PPMEntry(); FixedLengthReader flr = new FixedLengthReader(encodedstar); flr.read(md); return(md); }
public static void BuildVSXCatalog(string directory) { string[] files = Directory.GetFiles(directory); int i = 0; var db = new StarCatalogContext(); foreach (string file in files) { StreamReader stream = File.OpenText(file); //int found = 0; //int notfound = 0; while (!stream.EndOfStream) { string entry = stream.ReadLine(); D_VSXEntry md = new D_VSXEntry(); FixedLengthReader flr = new FixedLengthReader(entry); flr.read(md); db.VSXEntries.Add(md); //string key = FindPPMXKey(md.RADeg, md.DEDeg); //if (key != null) //{ // found++; // _ppmdb.Put(WriteOptions.Default, key+".vsxinfo", entry); //} //else //{ // notfound++; // // Just use the closes match. // key = ConvertToKey(md.RADeg, md.DEDeg)[1]; // _ppmdb.Put(WriteOptions.Default, key + ".vsxinfo", entry); //} //if ((found+notfound)%100 == 0) // Console.Write(String.Format("\rFound: {0} Not Found: {1}", found, notfound)); if (i++ % 1000 == 0) { db.SaveChanges(); db.Dispose(); db = new StarCatalogContext(); } } Console.WriteLine(); Console.WriteLine("Completed loading catalog: " + file); } }
public virtual bool ConvertAdventures() { var result = true; try { var roomDatFile = Globals.Path.Combine(AdventureFolderPath, "ROOMS.DAT"); var roomDscFile = Globals.Path.Combine(AdventureFolderPath, "ROOMS.DSC"); var artifactDatFile = Globals.Path.Combine(AdventureFolderPath, "ARTIFACT.DAT"); var artifactDscFile = Globals.Path.Combine(AdventureFolderPath, "ARTIFACT.DSC"); var monsterDatFile = Globals.Path.Combine(AdventureFolderPath, "MONSTERS.DAT"); var monsterDscFile = Globals.Path.Combine(AdventureFolderPath, "MONSTERS.DSC"); var effectDscFile = Globals.Path.Combine(AdventureFolderPath, "EFFECT.DSC"); foreach (var adventure in AdventureList) { using (var roomDatStream = Globals.File.OpenRead(roomDatFile)) { var roomDatFlr = new FixedLengthReader(roomDatStream, (adventure._rptr - 1) * 101, true); using (var roomDscStream = Globals.File.OpenRead(roomDscFile)) { var roomDscFlr = new FixedLengthReader(roomDscStream, (adventure._rptr - 1) * 255, true); for (var i = 0; i < adventure._nr; i++) { var room = new EDXRoom(); roomDatFlr.read(room); var desc = new EDXDesc(); roomDscFlr.read(desc); room._rdesc = desc._text; adventure.RoomList.Add(room); } } } using (var artifactDatStream = Globals.File.OpenRead(artifactDatFile)) { var artifactDatFlr = new FixedLengthReader(artifactDatStream, (adventure._aptr - 1) * 51, true); using (var artifactDscStream = Globals.File.OpenRead(artifactDscFile)) { var artifactDscFlr = new FixedLengthReader(artifactDscStream, (adventure._aptr - 1) * 255, true); for (var i = 0; i < adventure._na; i++) { var artifact = new EDXArtifact(); artifactDatFlr.read(artifact); var desc = new EDXDesc(); artifactDscFlr.read(desc); artifact._artdesc = desc._text; adventure.ArtifactList.Add(artifact); } } } using (var monsterDatStream = Globals.File.OpenRead(monsterDatFile)) { var monsterDatFlr = new FixedLengthReader(monsterDatStream, (adventure._mptr - 1) * 61, true); using (var monsterDscStream = Globals.File.OpenRead(monsterDscFile)) { var monsterDscFlr = new FixedLengthReader(monsterDscStream, (adventure._mptr - 1) * 255, true); for (var i = 0; i < adventure._nm; i++) { var monster = new EDXMonster(); monsterDatFlr.read(monster); var desc = new EDXDesc(); monsterDscFlr.read(desc); monster._mdesc = desc._text; adventure.MonsterList.Add(monster); } } } using (var effectDscStream = Globals.File.OpenRead(effectDscFile)) { var effectDscFlr = new FixedLengthReader(effectDscStream, (adventure._eptr - 1) * 255, true); for (var i = 0; i < adventure._ne; i++) { var effect = new EDXDesc(); effectDscFlr.read(effect); adventure.EffectList.Add(effect); } } } } catch (Exception ex) { ErrorMessage = ex.Message; result = false; } return(result); }