Direct.dat is useful for checking if a tactical game loaded from a saved tactical game or not.
The direct.dat file as well as saveinfo.dat can be used at the start of a tactical mission to determine if the mission was loaded from a savegame or if it is a new tactical mission. This is done (assuming you are using a batch program or xcomutil or both) by deleting direct.dat after a tactical mission so it will not be there when you check for its existence at the start of the next tactical (unless it is a savegame), this way direct.dat will only be found when it's a savegame, as it's only created upon loading a saved tactical.
Saveinfo.dat has the savegame name (GAME_XX) added into the file if tactical is being loaded from a savegame, if it is a new tactical, no name is added, and the file is shorter.
By my observations, SAVEINFO.DAT is always forty bytes and never contains the name of the save folder. That'd be redundant given that DIRECT.DAT already holds it. It does hold the save game names users manually type in, though.
The exception is the copy that goes in MissDat (which the user doesn't get to name, so instead the string space just contains rubbish). It's still the same size either way.
You're spot on with DIRECT.DAT though.
- Bomb Bloke 13:52, 26 February 2008 (PST)