@rama I'm gonna explain this so everyone can follow up. So what is the idea with this sqlite? Well initially i just want a database that contains settings. But i riddle you this. How does settings relate to games?
Normally you'd just point at your file on you desktop and say THIS .iso but an iso is identified by POOP-01234. And you ding that into pcsx2 and it can't find any settings related to this serial. So you get either bad performance, glitches or it wont run at all. Bummer!
My idea of relating the settings to the games is simple. Check for exact and then increase fuzzyness until we have something.
First level:
DiscSerialNumber is compared with the input .iso and then if we can't find a match here we move on to the next.
Second level:
GameDiscCrc is checked for a matching entry in the database. If no match, we move on.
Third level:
Region. NTSC-E or watever. is checked. If no match we move to
Fourth and final level:
Game name. The simple string. If there is no match at this point there will be no settings to apply and it will just apply application defaults.
So how is the end user gonna deal with all of this? Well for creating the settings data we have the editor. But we need more. I had the idea that when we close a game we can ask the user to submit a rating of how well the game played with no comments. (Only games not registered with any settings)
The prompt will have 5 options:
Anyway. A user clicks [Close] and the prompt will disappear only to ask again next time.
Any of the other options will extend the prompt asking if the user wants to upload the setup. (yes/no)
If yes then we gather all the information from the iso currently loaded. Which is
This is from the svn checked out a few weeks ago. This looks simple no? The reality however that pcsx2 contains about 80 fields, so it would really look more like this:
I'm laughing my ass off just looking at it. So how about we just keep it as automatic as we can.
OK, so we now have a collection of settings and we have the associations with diskSerial, crc, region and gameName. That means the next guy who comes in with his .iso from a different Region, we can just match the most common denominator and he'll most probably get some working settings.
Another thing. The database contains a lot of information NOT related to games setup. I gathered most the data anyways from the wiki because it would become very useful for when we get the games list up and running. You plug in the ISO and pcsx2 will find rating, game name, descriptions and lots of neat data. We don't need to think about scraping it later on. It also helped me understand how the relationships work together.
EDIT: I just realized that the GameRegion and the GameName in the EmulationSettings can just be omitted because we have the relationships.
Normally you'd just point at your file on you desktop and say THIS .iso but an iso is identified by POOP-01234. And you ding that into pcsx2 and it can't find any settings related to this serial. So you get either bad performance, glitches or it wont run at all. Bummer!
My idea of relating the settings to the games is simple. Check for exact and then increase fuzzyness until we have something.
First level:
DiscSerialNumber is compared with the input .iso and then if we can't find a match here we move on to the next.
Second level:
GameDiscCrc is checked for a matching entry in the database. If no match, we move on.
Third level:
Region. NTSC-E or watever. is checked. If no match we move to
Fourth and final level:
Game name. The simple string. If there is no match at this point there will be no settings to apply and it will just apply application defaults.
So how is the end user gonna deal with all of this? Well for creating the settings data we have the editor. But we need more. I had the idea that when we close a game we can ask the user to submit a rating of how well the game played with no comments. (Only games not registered with any settings)
The prompt will have 5 options:
- Perfect
- Playable
- Glitches
- Severe Glitches
- Broken
- [Close]
Anyway. A user clicks [Close] and the prompt will disappear only to ask again next time.
Any of the other options will extend the prompt asking if the user wants to upload the setup. (yes/no)
If yes then we gather all the information from the iso currently loaded. Which is
- DiscSerialNumber
- GameDiscCrc
- Region
- GameName
This is from the svn checked out a few weeks ago. This looks simple no? The reality however that pcsx2 contains about 80 fields, so it would really look more like this:
I'm laughing my ass off just looking at it. So how about we just keep it as automatic as we can.
OK, so we now have a collection of settings and we have the associations with diskSerial, crc, region and gameName. That means the next guy who comes in with his .iso from a different Region, we can just match the most common denominator and he'll most probably get some working settings.
Another thing. The database contains a lot of information NOT related to games setup. I gathered most the data anyways from the wiki because it would become very useful for when we get the games list up and running. You plug in the ISO and pcsx2 will find rating, game name, descriptions and lots of neat data. We don't need to think about scraping it later on. It also helped me understand how the relationships work together.
EDIT: I just realized that the GameRegion and the GameName in the EmulationSettings can just be omitted because we have the relationships.