tylerbrawl / Galaxy-Plugin-Rockstar

MIT License
69 stars 7 forks source link

Current details necessary to write a working plugin #166

Open skull-squadron opened 1 year ago

skull-squadron commented 1 year ago
  1. List of all owned (and some unowned) games - Login and scrape https://socialclub.rockstargames.com/games using the following XPaths

    1. List of game ids - //div[contains(@class, "Games__game__")]/@data-ui-name -> array of strs like ['rdr2', 'gtav', 'gtasaunreal', 'gtavcunreal', 'gta3unreal', 'lan', 'lanvr', 'bully', 'mp3', 'gtaiv']
    2. Human-readable game names - //div[contains(@class, "Games__game__")]//img/@alt -> array of strs ['Red Dead Redemption 2', 'Grand Theft Auto V', 'Grand Theft Auto: San Andreas - The Definitive Edition', 'Grand Theft Auto: Vice City - The Definitive Edition', 'Grand Theft Auto III - The Definitive Edition', 'L.A. Noire', 'L.A. Noire: The VR Case Files', 'Bully', 'Max Payne 3', 'Grand Theft Auto IV']
    3. Box art images - //div[contains(@class, "Games__game__")]//img/@src -> array of strs (the urls)
    4. (Probably not needed except to launch a browser) Relative URI to game on socialclub - //div[contains(@class, "Games__game__")]//a/@href (URI base is https://socialclub.rockstargames.com/) -> array of strs
    5. (Likely needs some other metadata for GOG to correspond to a MobyGame title, year, developer(s), and publisher(s))
  2. RS Launcher-installed games are listed at:

    1. Windows
      1. Parse .*Wrote to (.*\\)([^[\\]*\.exe)$ from %ALLUSERSPROFILE%\Rockstar Games\Launcher\service_log.txt
        1. First regex capture group - Path to the game
        2. Second regex capture group - Predictable executable names that never change and are unique per game. There are only about a dozen, so match them with a dict to the name/game id of each possible game
      2. (Not all that useful secondary way) HKCU\Software\Rockstar Games\InstallGUID\ type REG_SZ are GUIDS with names of game identifiers without the unreal suffix. GUIDs don't point to anywhere else in the registry
    2. Mac: (Didn't look, don't care)