Windows: Initialization fails because CascLib is looking for .agent.db #26

Closed
robpaveza opened this Issue Nov 13, 2015 · 3 comments

Projects

None yet

2 participants

@robpaveza

On my Windows machine, games are located as such:

  • c:\Program Files (x86)\Battle.net\ <-- This is where .agent.db lives
  • c:\Program Files (x86)\Heroes of the Storm\ <-- .build.info lives here
  • c:\Program Files (x86)\World of Warcraft\ <-- .build.info lives here

Games are fully patched.

Even the comments of InitializeCascDirectories says "The root directory is the one where .build.info is", but CheckGameDirectory() looks for .agent.db. If I modify InitializeCascDirectories to check the parent of the current directory for .build.info instead, it works.

@robpaveza robpaveza added a commit to robpaveza/CascLib that referenced this issue Nov 13, 2015
@robpaveza robpaveza Fixed issue #26: At least on my Windows machine, the .agent.db file d…
…oesn't exist in game directories, only in the Battle.net launcher app directory. This change checks the initialization directory's parent to see if .build.info exists there, and if so, initializes the storage with the input directory as the data directory, and the parent as the root directory. This aligns with the way that storage appears on my machine, which just had Battle.net installed on 2015-11-10.
0e01802
@ladislav-zezula
Owner

The problem is more complcated than that. The Agent.db is searched because CascLib searches for the data subdirectory there. My plan was that caller of CascOpenStorage could use any directory within the game

  • The game directory itself
  • Any subdirectory

To see where the CASC data are actually located, the library searches for ".agent.db" to find "data_dir" there. That is then used as a subdirectory where the data files are searched.

Checked all my game installations, and the ".agent.db" is always present, with the date quite recent - Even Starcraft II, which I recently updated to contain CASC storage, has the file there. If you are saying that the file is not always present, then I have a problem.

@robpaveza

I do not find .agent.db within my game directories at all.

On Nov 13, 2015, at 7:41 AM, Ladislav Zezula notifications@github.com wrote:

The problem is more complcated than that. The Agent.db is searched because CascLib searches for the data subdirectory there. My plan was that caller of CascOpenStorage could use any directory within the game

The game directory itself
Any subdirectory To see where the CASC data are actually located, the library searches for ".agent.db" to find "data_dir" there. That is then used as a subdirectory where the data files are searched.

Reply to this email directly or view it on GitHub.

@ladislav-zezula
Owner

Fixed in commit 223e15f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment