CogentHub / HomeLoader

Home Loader
Other
27 stars 3 forks source link

Error Line 37714 Subscript used on non-accessible variable #4

Open DarkVamprism opened 4 years ago

DarkVamprism commented 4 years ago

I have tried a few times to use this application but I always get this error, it occurs on ReScan but I am not sure what game it breaks on, at the bottom of the application it has "OrbusVR Demo appID 1090890" which is my last appmanifest file.

P.S. on the Scan Library messagebox it says "The Game Library is emtpty" when I run the application, just incase you want to fix that spelling mistake.

CogentHub commented 4 years ago

Hi, thanks for Feedback. Regarding the Typo, I will fix that with the next release. The mentioned error comes indeed from a game, two others had that too. The first one had an issue with a game that used a special character ":" in the name. I fixed that by replacing it and adding it back after the Scan. The second one was some app called google stories or something like that. The problem was that it did not have Icons on Steamdb. I fixed that by using the local Steam Icons instead of getting them online from Steam. In your case I was not able to reproduce it with OrbusVR Demo. I don't think that was the problem. Check if it makes a difference if you disable "Request Steamdb Info" and "Request Steamdb Tags". If not then you can also try to use version 0.79 with the "HomeLoader_DebugMode.zip" from version 0.79. That will activate the Debug Mode and shows some more information. After the error appears you can copy the text (last few lines) from the console Window and send it to me. There will also be some more log Files that will be helpful in the "...\HomeLoader\System\logs" folder.

Hope we can find it.

DarkVamprism commented 4 years ago

Just tried and the error still occurs when I have the Request info and tags disabled. I just downloaded the source to output some values and apparently its trying to look at "$Steam_app_key_TEMP = steam.app.3343797038" just before it dies, I dont have any appmanifest file that high so I am not sure how it is finding that at all.

EDIT: I found the issue, inside my steamapps.vrmanifest I have non-steam games added, these are given apparently random and super high IDs and its crashing when it gets to those.

{
      "app_key": "steam.app.3343797038",
      "strings": {
        "en_us": {
          "name": "TestGame"
        }

      }
,
      "image_path": "\"Z:\\Projects\\Unity\\TestGame\\Bin\\TestGame.exe\"",
      "launch_type": "binary",
      "binary_path_windows": "Z:\\Projects\\Unity\\TestGame\\Bin\\TestGame.exe --launch",
      "working_directory": "Z:\\Projects\\Unity\\TestGame\\",
      "arguments": ""
    }

error_log.txt function_log.txt scan_log.txt stats_log.txt

@@ Trace(28065) : $Steam_app_Name_TEMP = _StringBetween($Steamapps_vrmanifest_Array[$Loop + 4], '"', '"', $STR_ENDNOTSTART)

Error code: 1

@@ Trace(28067) : $Steam_app_Name_TEMP = $Steam_app_Name_TEMP[1]

CogentHub commented 4 years ago

Ok thanks for the log Files and the copied content of your steamapps.vrmanifest File. Now I think I can see the issue. What it does is after reading the line "app_key": "steam.app.3343797038"," it counts 4 lines down to read the Name with "....[$Loop + 4]....". But in your case the name of the added non-steam game is only 3 lines down. There is one line missing in your steamapps.vrmanifest File, "launch_type". Compare it to the others and you will see that they are different.

It should look like this: "app_key": "steam.app.275850", "launch_type": "url", "strings": { ...

I can fix that by checking if the line contains the word "name" before I try to get it into the array. If not then it will check the previous line and/or the next line. I think with that I schould be able to get rid of that error. You can add that line and it should work. I will add the mentioned method to the next release. Already changed some stuff but wanted to take some more time for the next one, the idea was that it will be the last one. Currently I am busy with other private things but will pick it up in the next weeks. You noticed that I am not native english speaker, I hope everything was understandable. Thank you for your investigation. Hope you liked the Half-Life: Alyx announcement/Trailer too, such a good time for VR in front of us :-)

DarkVamprism commented 4 years ago

I actually didn't know you weren't a native english speaker until I saw in your tutorial video that your PC wasn't set to english, I would have never guessed, you do really well :) Good luck with your private things, no rush with the update, keep up the good work and yes I am so ready for Half-Life: Alyx :D

mschuerewegen commented 3 months ago

even now.. i still love this thing.. but doesnt work anymore due to difference in the steam vr shortcuts.vdf format.

{
  "shortcuts": [
    {
      "appid": -1645546477,
      "AppName": "Fallout 4 VR",
      "exe": "\"D:\\games\\Fallout 4 VR\\Fallout4VR.exe\"",
      "StartDir": "\"D:\\games\\Fallout 4 VR\\\"",
      "icon": "D:\\games\\Fallout 4 VR\\header.jpg",
      "ShortcutPath": "",
      "LaunchOptions": "",
      "IsHidden": false,
      "AllowDesktopConfig": true,
      "AllowOverlay": true,
      "openvr": true,
      "Devkit": false,
      "DevkitGameID": "",
      "DevkitOverrideAppID": false,
      "LastPlayTime": "1970-01-01T00:32:50.000Z",
      "FlatpakAppID": "",
      "tags": [
        "My VR"
      ]
    },

if you had implemented this with json parsing instead of calculating the "spot" it would have survived :-)