Mr Random is making a new Frontend
#31
@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:
  • Perfect
  • Playable
  • Glitches
  • Severe Glitches
  • Broken
  • [Close]
A reflection of our existing system. These will of course internally registered as 0 to 5 rating. Labels and amount is open for discussion.
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
And we'll gather the current setup in pcsx2, yes automatically. I saw the settings database which one guy tried to make in repo.

[Image: attachment.php?aid=60152]
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:
 
[Image: attachment.php?aid=60153]

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.


Attached Files Thumbnail(s)
       
Reply

Sponsored links

#32
Maybe i missed something but how are you going to gather the data? Automatically dump and upload it somewhere or having the user complete a survey and then upload it?
Isn't that a bit privacy-invading?
Also, why automate everything, why not have all the known settings together in a list and have the user decide if to apply it or not, maybe his/her machine won't need a particular fix/tweak.
Reply
#33
@Canes
Quote:Any of the other options will extend the prompt asking if the user wants to upload the setup. (yes/no)
Ok so yes, it might be privacy invading if i downloaded all users bank notes and photo albums. But these are just settings for pcsx2 no identifying information whatsoever. And i don't think the privacy even matters since the user is actively being asked to consent every time. We can do whatever we want as long as we ask for permission first. (Which is BTW a practice that destroyed Windows Vista with UAC, it's nice for safety yes. But after the 100th prompt, you just click yes, yes, yes, yes, yes, plis stop asking)
And yes some settings apply to a specific computer setup, but most the settings are platform agnostic. That's why you can open the wiki and some the settings that are most common. Were not dealing with special cases right not. It could be a good idea to gather information about the uploaders rig. Like some settings might work better for an Intel brand than an AMD brand and thus we should find a pair of settings that apply a similar architecture.
But THAT is privacy invading, because we're not actually gathering information hosted in own pcsx2 application but rather we're gathering system information outside the bounds of our pcsx2. So for now, no special cases until we discussed properly about downloading the users rig data.
Reply
#34
(06-11-2016, 10:03 AM)CyberFox Wrote: @Canes
Ok so yes, it might be privacy invading if i downloaded all users bank notes and photo albums. But these are just settings for pcsx2 no identifying information whatsoever. And i don't think the privacy even matters since the user is actively being asked to consent every time. We can do whatever we want as long as we ask for permission first. (Which is BTW a practice that destroyed Windows Vista with UAC, it's nice for safety yes. But after the 100th prompt, you just click yes, yes, yes, yes, yes, plis stop asking)
And yes some settings apply to a specific computer setup, but most the settings are platform agnostic. That's why you can open the wiki and some the settings that are most common. Were not dealing with special cases right not. It could be a good idea to gather information about the uploaders rig. Like some settings might work better for an Intel brand than an  AMD brand and thus we should find a pair of settings that apply a similar architecture.
But THAT is privacy invading, because we're not actually gathering information hosted in own pcsx2 application but rather we're gathering system information outside the bounds of our pcsx2. So for now, no special cases until we discussed properly about downloading the users rig data.

Fair point, but this brings up another issue. What about fake data? User is bored, or doesn't understand what he/she reads and agrees to random prompts.
Wouldn't it be better to skip settings for now and focus on something else?
Reply
#35
That's horrible. It that ever got put in pcsx2, I'd have to make and release my own version without that BS. This frontend concept is getting worse by the post as far as I'm concerned.
Reply
#36
(06-11-2016, 06:53 PM)FlatOut Wrote: That's horrible. It that ever got put in pcsx2, I'd have to make and release my own version without that BS. This frontend concept is getting worse by the post as far as I'm concerned.

Read please.
Reply
#37
(06-11-2016, 06:53 PM)FlatOut Wrote: That's horrible. It that ever got put in pcsx2, I'd have to make and release my own version without that BS. This frontend concept is getting worse by the post as far as I'm concerned.

Yeah, I have to agree. I believe the OP is heading at a wrong direction over here. I just don't get the point on why he's building another database. (All information are already available at the In-built GameDB of PCSX2)
Reply
#38
(06-11-2016, 07:10 PM)K.F Wrote: Read please.

Even if it's just to 'fetch rig information', I am not a fan of this feature if it was to be implemented.

And yes, you can 'deny' it, but if it's going to keep on popping up until you do accept it, then that's just an annoyance
AMD Ryzen 5 3600 @ 3.60~4.20 GHz | Corsair Vengeance LPX 32 GB (2x16GB) DDR4-3200
MSI GeForce GTX 1660 Super @ 6 GB | Samsung 980 1TB | Windows 10 Pro x64 (22H2)
Reply
#39
Just make it simple. You're making this overly and unnecessarily complicated.
Reply
#40
I like it
Reply




Users browsing this thread: 1 Guest(s)