mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Huge block of experimental code
This commit is contained in:
@@ -262,6 +262,117 @@ JOIN checksums
|
|||||||
RomManipulation.Sort(roms, _norename);
|
RomManipulation.Sort(roms, _norename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
// This block would replace the whole block above from 'string query' on to 'if (merged)'
|
||||||
|
string query = @"
|
||||||
|
SELECT hash.id AS id, hash.size AS size, hash.crc AS crc, hash.md5 AS md5, hash.sha1 AS sha1,
|
||||||
|
hashdata.key AS key, hashdata.value AS value,
|
||||||
|
source.id, source.name, source.url,
|
||||||
|
system.id, system.manufacturer, system.name
|
||||||
|
FROM hash
|
||||||
|
JOIN hashdata
|
||||||
|
ON hash.id=hashdata.hashid
|
||||||
|
JOIN gamesystem
|
||||||
|
ON hash.value=gamesystem.game
|
||||||
|
JOIN gamesource
|
||||||
|
ON hash.value=gamesource.game
|
||||||
|
JOIN system
|
||||||
|
ON gamesystem.systemid=system.id
|
||||||
|
JOIN source
|
||||||
|
ON gamesource.sourceid=source.id" +
|
||||||
|
(_systems != "" || _sources != "" ? "\nWHERE" : "") +
|
||||||
|
(_sources != "" ? " source.id in (" + _sources + ")" : "") +
|
||||||
|
(_systems != "" && _sources != "" ? " AND" : "") +
|
||||||
|
(_systems != "" ? " system.id in (" + _systems + ")" : "") +
|
||||||
|
"\nORDER BY hash.id";
|
||||||
|
|
||||||
|
using (SqliteConnection dbc = new SqliteConnection(_connectionString))
|
||||||
|
{
|
||||||
|
dbc.Open();
|
||||||
|
using (SqliteCommand slc = new SqliteCommand(query, dbc))
|
||||||
|
{
|
||||||
|
using (SqliteDataReader sldr = slc.ExecuteReader())
|
||||||
|
{
|
||||||
|
// If there are no games for this combination, return nothing
|
||||||
|
if (!sldr.HasRows)
|
||||||
|
{
|
||||||
|
_logger.Error("No games could be found with those inputs. Please check and try again.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Retrieve and process the roms for merging
|
||||||
|
string lastid = "";
|
||||||
|
string name = "";
|
||||||
|
string game = "";
|
||||||
|
string type = "";
|
||||||
|
while (sldr.Read())
|
||||||
|
{
|
||||||
|
// If the hash is different than the last
|
||||||
|
if (lastid != "" && sldr.GetString(0) != lastid)
|
||||||
|
{
|
||||||
|
RomData temp = new RomData
|
||||||
|
{
|
||||||
|
Manufacturer = sldr.GetString(11),
|
||||||
|
System = sldr.GetString(12),
|
||||||
|
SystemID = sldr.GetInt32(10),
|
||||||
|
Source = sldr.GetString(8),
|
||||||
|
URL = sldr.GetString(9),
|
||||||
|
SourceID = sldr.GetInt32(7),
|
||||||
|
Game = game,
|
||||||
|
Name = name,
|
||||||
|
Type = type,
|
||||||
|
Size = sldr.GetInt64(1),
|
||||||
|
CRC = sldr.GetString(2),
|
||||||
|
MD5 = sldr.GetString(3),
|
||||||
|
SHA1 = sldr.GetString(4),
|
||||||
|
};
|
||||||
|
|
||||||
|
// Rename the game associated if it's still valid and we allow renames
|
||||||
|
if (merged && !_norename)
|
||||||
|
{
|
||||||
|
temp.Game = temp.Game +
|
||||||
|
(sysmerged ? " [" + temp.Manufacturer + " - " + temp.System + "]" : "") +
|
||||||
|
(srcmerged ? " [" + temp.Source + "]" : "");
|
||||||
|
}
|
||||||
|
|
||||||
|
roms.Add(temp);
|
||||||
|
|
||||||
|
// Reset the variables
|
||||||
|
game = "";
|
||||||
|
name = "";
|
||||||
|
type = "";
|
||||||
|
}
|
||||||
|
// Otherwise, try to get the values
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (sldr.GetString(5))
|
||||||
|
{
|
||||||
|
case "name":
|
||||||
|
name = sldr.GetString(6);
|
||||||
|
break;
|
||||||
|
case "game":
|
||||||
|
game = sldr.GetString(6);
|
||||||
|
break;
|
||||||
|
case "type":
|
||||||
|
type = sldr.GetString(6);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we're in a merged mode, merge
|
||||||
|
if (merged)
|
||||||
|
{
|
||||||
|
roms = RomManipulation.Merge(roms);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now sort the roms by the correct parameters
|
||||||
|
RomManipulation.Sort(roms, _norename);
|
||||||
|
*/
|
||||||
|
|
||||||
// Now check rename within games
|
// Now check rename within games
|
||||||
string lastname = "", lastgame = "";
|
string lastname = "", lastgame = "";
|
||||||
for (int i = 0; i < roms.Count; i++)
|
for (int i = 0; i < roms.Count; i++)
|
||||||
|
|||||||
Reference in New Issue
Block a user