Anyway basically what happens is that I have a main menu and I start the game this creates a game object and that creates a graphicSetBundle object which is where I am using al_create_fs_entry then from the ingame menu I quit back to main menu calling the game destructor and any others required.
Now the problem is that the second time I run the game it doesn't work. al_fs_entry_exists(gfxsetPath) returns false and most interestingly to me is that gfxsetPath instead of giving the full path D:\blah\graphics\sets it has the value of ../graphics/sets
This is what gfxsetsDir is equal to in both cases but it does not appear to work/give the same result the second time and I don't understand why
This is being compiled on Windows 8.1 x64 with Visual Studio 2010 not that it should matter. Hopefully that is enough code because there is a fair bit of code if the problem is elsewhere and it may not necessarily be particularly tidy code. I can say everything worked (apart from the memory leaks) as it should before I started loading graphics with physfs. (my hardcoded paths and global variables were annoying me)
Edit: it would appear its not the fact that I am deleting my GraphicSetBundle or the Game object that it is created in is the problem. If I create multiple GraphicSetBundles than only the first one will work even if the intended directory is different.
Edit Again: Problem Solved ! I had used al_set_standard_file_interface() instead of using al_set_standard_fs_interface() so presumably it was still using physfs when it wasn't supposed to all good now then.