Exemple #1
0
        private void ReadFromReader(SQLiteDataReader dr, bool readRoms = false)
        {
            GameId             = Convert.ToUInt32(dr["GameId"]);
            DatId              = Convert.ToUInt32(dr["DatId"]);
            Name               = dr["name"].ToString();
            Description        = dr["description"].ToString();
            Manufacturer       = dr["manufacturer"].ToString();
            CloneOf            = dr["cloneOf"].ToString();
            RomOf              = dr["romof"].ToString();
            SourceFile         = dr["sourcefile"].ToString();
            IsBios             = dr["isbios"].ToString();
            Board              = dr["board"].ToString();
            Year               = dr["year"].ToString();
            IsTrurip           = Convert.ToBoolean(dr["istrurip"]);
            Publisher          = dr["publisher"].ToString();
            Developer          = dr["developer"].ToString();
            Edition            = dr["edition"].ToString();
            Version            = dr["version"].ToString();
            Type               = dr["type"].ToString();
            Media              = dr["media"].ToString();
            Language           = dr["language"].ToString();
            Players            = dr["players"].ToString();
            Ratings            = dr["ratings"].ToString();
            Genre              = dr["genre"].ToString();
            Peripheral         = dr["peripheral"].ToString();
            BarCode            = dr["barcode"].ToString();
            MediaCatalogNumber = dr["mediacatalognumber"].ToString();

            if (readRoms)
            {
                Roms = RvRom.ReadRoms(GameId);
            }
        }
Exemple #2
0
        public static List <RvRom> ReadRoms(uint gameId)
        {
            List <RvRom> roms = new List <RvRom>();

            SqlRead.Parameters["GameId"].Value = gameId;

            using (SQLiteDataReader dr = SqlRead.ExecuteReader())
            {
                while (dr.Read())
                {
                    RvRom row = new RvRom
                    {
                        RomId              = Convert.ToUInt32(dr["RomId"]),
                        GameId             = gameId,
                        Name               = dr["name"].ToString(),
                        Size               = FixLong(dr["size"]),
                        CRC                = VarFix.CleanMD5SHA1(dr["CRC"].ToString(), 8),
                        SHA1               = VarFix.CleanMD5SHA1(dr["SHA1"].ToString(), 40),
                        MD5                = VarFix.CleanMD5SHA1(dr["MD5"].ToString(), 32),
                        Merge              = dr["merge"].ToString(),
                        Status             = dr["status"].ToString(),
                        FileId             = FixLong(dr["FileId"]),
                        fileSize           = FixLong(dr["fileSize"]),
                        fileCompressedSize = FixLong(dr["fileCompressedSize"]),
                        fileCRC            = VarFix.CleanMD5SHA1(dr["fileCRC"].ToString(), 8),
                        fileSHA1           = VarFix.CleanMD5SHA1(dr["fileSHA1"].ToString(), 40),
                        fileMD5            = VarFix.CleanMD5SHA1(dr["fileMD5"].ToString(), 32)
                    };

                    roms.Add(row);
                }
                dr.Close();
            }
            return(roms);
        }
Exemple #3
0
        public void DBRead(int gameId, bool readRoms = false)
        {
            if (_commandRvGameRead == null)
            {
                _commandRvGameRead = new SQLiteCommand(@"
                SELECT GameId, DatId, name, description, manufacturer, cloneof, romof, sourcefile, isbios, board, year, istrurip, publisher, developer, edition, version, type, media, language, players, ratings, genre, peripheral, barcode, mediacatalognumber
                    FROM GAME WHERE GameId=@GameId ORDER BY name", Program.db.Connection);
                _commandRvGameRead.Parameters.Add(new SQLiteParameter("GameId"));
            }

            _commandRvGameRead.Parameters["GameId"].Value = gameId;

            using (DbDataReader dr = _commandRvGameRead.ExecuteReader())
            {
                if (dr.Read())
                {
                    RvGameReadFromReader(dr, this);
                }

                dr.Close();
            }

            if (readRoms)
            {
                Roms = RvRom.ReadRoms(GameId);
            }
        }
Exemple #4
0
        public static List <RvGame> ReadGames(uint datId, bool readRoms = false)
        {
            if (_commandRvGameReadDatGames == null)
            {
                _commandRvGameReadDatGames = new SQLiteCommand(@"
                SELECT GameId, DatId, name, description, manufacturer, cloneof, romof, sourcefile, isbios, board, year, istrurip, publisher, developer, edition, version, type, media, language, players, ratings, genre, peripheral, barcode, mediacatalognumber
                    FROM GAME WHERE DatId=@DatId ORDER BY name", Program.db.Connection);
                _commandRvGameReadDatGames.Parameters.Add(new SQLiteParameter("DatId"));
            }

            List <RvGame> games = new List <RvGame>();

            _commandRvGameReadDatGames.Parameters["DatId"].Value = datId;

            using (DbDataReader dr = _commandRvGameReadDatGames.ExecuteReader())
            {
                while (dr.Read())
                {
                    RvGame rvGame = new RvGame();
                    RvGameReadFromReader(dr, rvGame);
                    games.Add(rvGame);
                }
                dr.Close();
            }

            if (readRoms)
            {
                foreach (RvGame game in games)
                {
                    game.Roms = RvRom.ReadRoms(game.GameId);
                }
            }

            return(games);
        }
Exemple #5
0
        private static void MakeDB()
        {
            ExecuteNonQuery(@"CREATE TABLE IF NOT EXISTS [VERSION] ([Version] INTEGER NOT NULL); INSERT INTO VERSION (version) VALUES (@Version);", "version", DBVersion);

            ExecuteNonQuery(@"
                                
                CREATE TABLE IF NOT EXISTS [DIR] (
                    [DirId] INTEGER PRIMARY KEY NOT NULL,
                    [ParentDirId] INTEGER NULL,
                    [name] NVARCHAR(300) NOT NULL,
                    [fullname] NVARCHAR(300) NOT NULL,
                    [expanded] BOOLEAN DEFAULT 1 NOT NULL,
                    [found] BOOLEAN DEFAULT 1,
                    [RomTotal] INTEGER NULL,
                    [RomGot] iNTEGER NULL,
                    [RomNoDump] INTEGER NULL
                );
             
        ");

            RvDat.MakeDB();
            RvGame.MakeDB();
            RvRom.MakeDB();
            RvFile.MakeDB();
        }
Exemple #6
0
        public static List <RvRom> ReadRoms(uint gameId)
        {
            if (_commandRvRomReader == null)
            {
                _commandRvRomReader = new SQLiteCommand(
                    @"SELECT RomId,name,
                    type,
                    rom.size,
                    rom.crc,
                    rom.sha1,
                    rom.md5,
                    merge,status,putinzip,
                    rom.FileId,
                    files.size as fileSize,
                    files.compressedsize as fileCompressedSize,
                    files.crc as filecrc,
                    files.sha1 as filesha1,
                    files.md5 as filemd5
                FROM rom LEFT OUTER JOIN files ON files.FileId=rom.FileId WHERE GameId=@GameId ORDER BY RomId", Program.db.Connection);
                _commandRvRomReader.Parameters.Add(new SQLiteParameter("GameId"));
            }


            List <RvRom> roms = new List <RvRom>();

            _commandRvRomReader.Parameters["GameId"].Value = gameId;

            using (DbDataReader dr = _commandRvRomReader.ExecuteReader())
            {
                while (dr.Read())
                {
                    RvRom row = new RvRom
                    {
                        RomId              = Convert.ToUInt32(dr["RomId"]),
                        GameId             = gameId,
                        Name               = dr["name"].ToString(),
                        AltType            = VarFix.FixFileType(dr["type"]),
                        Size               = VarFix.FixLong(dr["size"]),
                        CRC                = VarFix.CleanMD5SHA1(dr["CRC"].ToString(), 8),
                        SHA1               = VarFix.CleanMD5SHA1(dr["SHA1"].ToString(), 40),
                        MD5                = VarFix.CleanMD5SHA1(dr["MD5"].ToString(), 32),
                        Merge              = dr["merge"].ToString(),
                        Status             = dr["status"].ToString(),
                        PutInZip           = (bool)dr["putinzip"],
                        FileId             = VarFix.FixLong(dr["FileId"]),
                        FileSize           = VarFix.FixLong(dr["fileSize"]),
                        FileCompressedSize = VarFix.FixLong(dr["fileCompressedSize"]),
                        FileCRC            = VarFix.CleanMD5SHA1(dr["fileCRC"].ToString(), 8),
                        FileSHA1           = VarFix.CleanMD5SHA1(dr["fileSHA1"].ToString(), 40),
                        FileMD5            = VarFix.CleanMD5SHA1(dr["fileMD5"].ToString(), 32)
                    };

                    roms.Add(row);
                }
                dr.Close();
            }
            return(roms);
        }
Exemple #7
0
        public int AddRom(RvRom rvRom)
        {
            if (Roms == null)
            {
                Roms = new List <RvRom>();
            }

            Roms.Add(rvRom);
            return(Roms.Count - 1);
        }
Exemple #8
0
        public int AddRom(RvRom rvRom)
        {
            if (Roms == null)
            {
                Roms = new List <RvRom>();
            }

            int index;

            ChildNameSearch(rvRom.Name, out index);
            Roms.Insert(index, rvRom);
            return(index);
        }
Exemple #9
0
        private void MakeDB()
        {
            /******** Create Tables ***********/

            ExecuteNonQuery(@"
                CREATE TABLE IF NOT EXISTS [VERSION] (
                    [Version] INTEGER NOT NULL);
                INSERT INTO VERSION (version) VALUES (@Version);",
                            "version", DBVersion);

            RvDir.CreateTable();
            RvDat.CreateTable();
            RvGame.CreateTable();
            RvFile.CreateTable();
            RvRom.CreateTable();
        }
Exemple #10
0
        public static List<RvRom> ReadRoms(uint gameId)
        {
            List<RvRom> roms = new List<RvRom>();
            SqlRead.Parameters["GameId"].Value = gameId;

            using (SQLiteDataReader dr = SqlRead.ExecuteReader())
            {
                while (dr.Read())
                {
                    RvRom row = new RvRom
                    {
                        RomId = Convert.ToUInt32(dr["RomId"]),
                        GameId = gameId,
                        Name = dr["name"].ToString(),
                        Size = FixLong(dr["size"]),
                        CRC = VarFix.CleanMD5SHA1(dr["CRC"].ToString(), 8),
                        SHA1 = VarFix.CleanMD5SHA1(dr["SHA1"].ToString(), 40),
                        MD5 = VarFix.CleanMD5SHA1(dr["MD5"].ToString(), 32),
                        Merge = dr["merge"].ToString(),
                        Status = dr["status"].ToString(),
                        FileId = FixLong(dr["FileId"]),
                        fileSize = FixLong(dr["fileSize"]),
                        fileCompressedSize = FixLong(dr["fileCompressedSize"]),
                        fileCRC = VarFix.CleanMD5SHA1(dr["fileCRC"].ToString(), 8),
                        fileSHA1 = VarFix.CleanMD5SHA1(dr["fileSHA1"].ToString(), 40),
                        fileMD5 = VarFix.CleanMD5SHA1(dr["fileMD5"].ToString(), 32)
                    };

                    roms.Add(row);
                }
                dr.Close();
            }
            return roms;
        }
Exemple #11
0
        private static bool LoadRomFromDat(RvGame rvGame)
        {
            if (DatFileLoader.Next != "(")
            {
                DatUpdate.SendAndShowDat("( not found after rom", DatFileLoader.Filename);
                return false;
            }
            DatFileLoader.Gn();

            if (DatFileLoader.Next.ToLower() != "name")
            {
                DatUpdate.SendAndShowDat("Name not found as first object in ( )", DatFileLoader.Filename);
                return false;
            }

            RvRom rvRom = new RvRom();
            rvRom.Name = VarFix.CleanFullFileName(DatFileLoader.Gn());
            DatFileLoader.Gn();

            while (DatFileLoader.Next != ")")
            {
                switch (DatFileLoader.Next.ToLower())
                {
                    case "size": rvRom.Size = VarFix.ULong(DatFileLoader.Gn()); DatFileLoader.Gn(); break;
                    case "crc": rvRom.CRC = VarFix.CleanMD5SHA1(DatFileLoader.Gn(), 8); DatFileLoader.Gn(); break;
                    case "sha1": rvRom.SHA1 = VarFix.CleanMD5SHA1(DatFileLoader.Gn(), 40); DatFileLoader.Gn(); break;
                    case "md5": rvRom.MD5 = VarFix.CleanMD5SHA1(DatFileLoader.Gn(), 32); DatFileLoader.Gn(); break;
                    case "merge": rvRom.Merge = VarFix.CleanFullFileName(DatFileLoader.Gn()); DatFileLoader.Gn(); break;
                    case "flags": rvRom.Status = VarFix.ToLower(DatFileLoader.Gn()); DatFileLoader.Gn(); break;
                    case "date": DatFileLoader.Gn(); DatFileLoader.Gn(); break;
                    case "bios": DatFileLoader.Gn(); DatFileLoader.Gn(); break;
                    case "region": DatFileLoader.Gn(); DatFileLoader.Gn(); break;
                    case "offs": DatFileLoader.Gn(); DatFileLoader.Gn(); break;
                    case "nodump": rvRom.Status = "nodump"; DatFileLoader.Gn(); break;
                    default:
                        DatUpdate.SendAndShowDat("Error: key word '" + DatFileLoader.Next + "' not known in rom", DatFileLoader.Filename);
                        DatFileLoader.Gn();
                        break;
                }
            }

            rvGame.AddRom(rvRom);

            return true;
        }
Exemple #12
0
        private static void LoadRomFromDat(RvGame rvGame, XmlNode romNode)
        {
            if (romNode.Attributes == null)
                return;

            RvRom rvRom=new RvRom();
            rvRom.Name = VarFix.CleanFullFileName(romNode.Attributes.GetNamedItem("name"));
            rvRom.Size = VarFix.ULong(romNode.Attributes.GetNamedItem("size"));
            rvRom.CRC = VarFix.CleanMD5SHA1(romNode.Attributes.GetNamedItem("crc"), 8);
            rvRom.SHA1 = VarFix.CleanMD5SHA1(romNode.Attributes.GetNamedItem("sha1"), 40);
            rvRom.MD5 = VarFix.CleanMD5SHA1(romNode.Attributes.GetNamedItem("md5"), 32);
            rvRom.Merge = VarFix.CleanFullFileName(romNode.Attributes.GetNamedItem("merge"));
            rvRom.Status = VarFix.ToLower(romNode.Attributes.GetNamedItem("status"));

            rvGame.AddRom(rvRom);
        }
Exemple #13
0
        public int AddRom(RvRom rvRom)
        {
            if (Roms == null)
                Roms = new List<RvRom>();

            Roms.Add(rvRom);
            return Roms.Count - 1;
        }