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