I’m not sure how it happened but on some of our machines the profile directory is not “username” but “username.domain”. so it would be, for example c:\documents and settings\User1.ANATOMICALTRAVEL instead of c:\documents and settings\User1. Yet krakatoa still puts it’s cache into c:\documents and settings\User1\local settings\application data\prime focus\krakatoa. I’ve only seen this on one XP machine so far. The env var USERPROFILE=c:\documents and settings\user1.ANATOMICALTRAVEL
Ahh nevermind, that’s the location where Krakatoa’s settings are stored which is not what I was thinking of. I’m not sure why they are called .Cache files (Bobo could enlighten us once he’s back from Vancouver). I’ll log this as a bug.
They are called .cache because they cache the names of all files history and preset files found in the respective sub-folders. This allows me to display the sorted lists immediately without ever sorting by date again. When a new file is created, it is appended to the end of the text file and is thus also in order.
The folder structure is not resolved using the Max user directory methods so it IS a bug. The current code looks like
global Krakatoa_PresetsDirectory = (“C:\Documents and Settings\”+sysinfo.username+"\Local Settings\Application Data\Prime Focus\Krakatoa")
This is not a good idea - I will see if I can get to the correct path using some of the built in MAXScript methods.
global Krakatoa_PresetsDirectory = (dotnetclass “System.Environment”).GetFolderPath (dotnetclass “System.Environment+SpecialFolder”).LocalApplicationData + “\Prime Focus\Krakatoa”
which in the general case should produce the same result as before, but in those cases where the folder and the user name are not the same, it should “see” what Windows sees.
This and the other relevant storage paths will be printed to the Krakatoa Log on startup in the next build.