@Erg, that was in reference to images being saved in anything other than 24 bit BMP.
I've made a new statement, if ( BMPInfo.biBitCount != 24 ) {continue;}, to check. So it will skip over anything saved in 32 bit. I'll upload that version once I get some other things updated .
@mlnevese, I didn't notice (I haven't tried opening character files, just the save games). Thanks for the heads up, I'll get on that .
Edit: it looks for them in Documents\Baldur's Gate - Enhanced Edition\characters. Where should it be looking?
Edit #2: It can load CHR files that you have exported, but it won't detect the default characters: 01FIGHT, 02THIEF, 03MAGE, etc.
I'm not entirely sure but, after a quick search I can't find those characters in any of the game directories, my assumption would be that they are located in the game files themselves.
@Troodon80 They are in one of the bif files. I'll see which one as soon as I can. Anyway, I'll test it again later. When I tested it yesterday it couldn't see an exported char.
@Troodon80, On my Win7 machine I get an "Encountered an improper argument" message when trying to edit a CRE. If extracted to the override editing seems to work. Edit: Ignoring it retrospectively.
@swnmcmlxi, the issue was that the MFC wanted to add the file path to the MRU (Most Recently Used items list). Which, a) isn't being used here and, b) the file is in another file, like a database, so it can't add a proper string value as a path to which the file can then be opened. Overloading the function is the easiest method in this case, though probably not exactly the best .
I have it working here:
Could you try out the update and let me know how it works out?
@Adaram, I honestly can't vouch for the multiplayer aspect (given that I can't use multiplayer), but you should be able to edit mutiplayer games in much the same way as in normal single player games. There's a checkbox for multiplayer games on the open save game dialog.
If you mean change as in change who is the leader of the multiplayer game, I couldn't say but the most likely answer is no.
@Adaram, I honestly can't vouch for the multiplayer aspect (given that I can't use multiplayer), but you should be able to edit mutiplayer games in much the same way as in normal single player games. There's a checkbox for multiplayer games on the open save game dialog.
If you mean change as in change who is the leader of the multiplayer game, I couldn't say but the most likely answer is no.
Thanks for the reply. I kinda of thought that might be the case. Hopefully I will be able to work around my lack of "network skill" and just be able to go back to hosting the game myself.
This is something that I wanted to do more for myself, but thought I would share.
I noticed a thread here, started by @Meekrat, and always wondered why Shadow Keeper didn't have some sort of delete function. Now it has, albeit a bit redundant for the save games.
There is now a delete button on the Open Save Game dialog and the Open Character dialog (note that it only works on your exported characters, not pre-made characters). You will get a warning about deleting, asking whether or not you want to continue, just in case. This was done more for the character deletion rather than for the save games, but hope that it might at least come in useful for someone.
Like anything that deletes or modifies files, only do it if you're absolutely sure. I've tried it out, but it would be good if someone else could have a go . For those who might want to test it and provide feedback, don't try it out on an important save game (should go without saying).
(I will eventually get around to updating the file version number, just in case anyone was curious about that. It has been on 1.0.0.5 for some time now.)
Truly excellent work here, @Troodon80. I've been playing around with it for a few minutes with no issues. Nice to see this old tool being cleaned up again.
I'm glad to have the chance to work on it, just a pity I don't have more time to dedicate to it. Still, bit-by-bit. There are still other minor fixes that I'll be doing, like the image that should appear in the Open Save Game dialog. I'll also add certain little features to it here and there when I see something interesting or potentially helpful.
Troodon80: Thanks so much for updating this program.
I have an idea that people may find useful - swap your primary character from your single player save game with the primary character of a different save game. Switching my save game's player character from Monk to Blackguard seems pretty impossible since not all the class features can be added easily (Rebuke Undead and immunities) without knowing in-depth special codes. However, I can make a new game and make a level 1 character, swap the characters, then add the XP I desire (and possibly other game/quest-earned abilities).
Troodon80: Thanks so much for updating this program.
I have an idea that people may find useful - swap your primary character from your single player save game with the primary character of a different save game. Switching my save game's player character from Monk to Blackguard seems pretty impossible since not all the class features can be added easily (Rebuke Undead and immunities) without knowing in-depth special codes. However, I can make a new game and make a level 1 character, swap the characters, then add the XP I desire (and possibly other game/quest-earned abilities).
The way to do that is to reduce your character to level 0 and strip out the special features from the former class (easier than adding them). Then you can add the XP, and you will get the level 1 abilities that you don't get simply by changing the class.
The way to do that is to reduce your character to level 0 and strip out the special features from the former class (easier than adding them). Then you can add the XP, and you will get the level 1 abilities that you don't get simply by changing the class.
As far as I know, Shadow Keeper and probably EE Keeper do support custom kits. You need to edit the kit list through menu Settings -> List -> Kits. You'll find the code to associate to the kit in the file kitlist.2da in the override directory. Search for a code name reminding of the actual kit name, by the end of the file, and get the code in the first column. Convert it to hexadecimal using the Windows calculator in appropriate mode (depends on your Windows version, can be programmer or scientific). Compare to Priest of Talos (for instance). In kitlist.2da it has a value of 19, which is 0x13 in hexadecimal. In Shadow Keeper, its kit code is 0x40130000. Apply the same logic to the kit code you get : 0x40NN0000, and replace NN with the actual hexadicemal code for the kit you're looking for.
@Kunikos, you would have to edit the kits like @Isaya said.
You will get a dialog box that looks like this:
You will have to find out that the ID number is for the given kit, though. I looked into making program run through the kits in the IDS or 2DA files, but unfortunately it would require gathering the data from one and comparing it against the other, since one has all the ID numbers but all upper-case characters for the names - which doesn't make it very readable - and the other has the names/strrefs, but not the correct IDs (the values are padded with zeros to the left rather than the right, and simple adding extra zeros doesn't work). The simplest method is to enter the ID yourself. Just load up the Keeper and make sure you don't load a save game first (that's a bug which I will fix), then go to Settings->Lists->Kits.
Nice, thanks. I installed Notepad++ and then I could actually read the file with the tabs in it.
I'm a bit confused though, it looks like Wild Mage, Barbarian, and some mage kits don't follow that rule. Exceptions because they are treated more like base classes?
@Kunikos, that looks like it could well be right. Try adding one or two to start with, e.g. the one your character is currently using. Once you add the desired names and values, you can load up a save game and see if it is correct.
Since there is a reasonably sizeable array of mods out there for possible kits, and some that people may never have uploaded and use only for their own use, it would be impossible for me to account for all of them. However, if for some reason you cannot get EE Keeper working with those values, send me the mod (or a link to the mod) and I will input the values for you .
I tried to modify a saved game to convert a character to a Wizard Slayer last night and didn't see it available in the kit options. When I created a Wizard Slayer Charname and opened that save file up I didn't see it listed as a kit and wasn't sure how it was supposed to be recreated. Thanks!
@Mikaal, I have an old XP SP2 machine here, I'll have a look. It sounds like permissions problem. Error (5) is an access denied error - this could be in part to do with me disabling the SAFESEH tag while updating the code and building it, which on newer operating systems will simply pop up a message saying that the program might not be safe. On older systems, though, it might stop it from running. It could also be a compiler problem.
I can't do much right now since I'm not at home, and won't be at home for a week or so. I'll download my last build and post in a short while, just need to get some free time .
Once I have an idea what the problem is, I can fix it when I get home.
Edit: the last build that I uploaded tells me that "EEKeeper.exe is not a valid Win32 application." So I will assume that it's a compiler problem.
@AHF, Wizard Slayer is value 0x40020000. I will include it in the next build for those who are downloading a fresh copy. For those that only want to update the program itself (e.g. those who have altered the kits.uld file to include custom kits), just extract the executable but remember to add the name and value to the kit list.
I can't seem to get the manual way to work. I moved all the files and placed them in my BG:EE folder (since I have the steam version, I have no 07767-whatever folder). Now ShadowKeeper is booting and works but when I move my saved files over to the folder nothing shows up in SK. Any help?
Comments
That's fine then.
However quoting from one of your previous posts: The only thing that should be avoided imho is having images that show in EEKeeper, but don't in BGEE, or vice versa.
I've made a new statement,
if ( BMPInfo.biBitCount != 24 ) {continue;}
, to check. So it will skip over anything saved in 32 bit. I'll upload that version once I get some other things updated .Edit: it looks for them in Documents\Baldur's Gate - Enhanced Edition\characters. Where should it be looking?
Edit #2: It can load CHR files that you have exported, but it won't detect the default characters: 01FIGHT, 02THIEF, 03MAGE, etc.
I'm not entirely sure but, after a quick search I can't find those characters in any of the game directories, my assumption would be that they are located in the game files themselves.
For some reason, it works on my Vista machine. But it won't work on either my Win7 or Win8 machines.
Edit: Ignore that, I know what the problem is. Shame I didn't spot this earlier.
Edit: Ignoring it retrospectively.
I have it working here:
Could you try out the update and let me know how it works out?
I also added the 24 bit bitmap check, too.
If you mean change as in change who is the leader of the multiplayer game, I couldn't say but the most likely answer is no.
This is something that I wanted to do more for myself, but thought I would share.
I noticed a thread here, started by @Meekrat, and always wondered why Shadow Keeper didn't have some sort of delete function. Now it has, albeit a bit redundant for the save games.
There is now a delete button on the Open Save Game dialog and the Open Character dialog (note that it only works on your exported characters, not pre-made characters). You will get a warning about deleting, asking whether or not you want to continue, just in case. This was done more for the character deletion rather than for the save games, but hope that it might at least come in useful for someone.
Like anything that deletes or modifies files, only do it if you're absolutely sure. I've tried it out, but it would be good if someone else could have a go . For those who might want to test it and provide feedback, don't try it out on an important save game (should go without saying).
(I will eventually get around to updating the file version number, just in case anyone was curious about that. It has been on 1.0.0.5 for some time now.)
I'm glad to have the chance to work on it, just a pity I don't have more time to dedicate to it. Still, bit-by-bit. There are still other minor fixes that I'll be doing, like the image that should appear in the Open Save Game dialog. I'll also add certain little features to it here and there when I see something interesting or potentially helpful.
I have an idea that people may find useful - swap your primary character from your single player save game
with the primary character of a different save game. Switching my save game's player character from Monk to Blackguard seems pretty impossible since not all the class features can be added easily (Rebuke Undead and immunities) without knowing in-depth special codes. However, I can make a new game and make a level 1 character, swap the characters, then add the XP I desire (and possibly other game/quest-earned abilities).
I'll add some of the features to the program (add a button to the toolbar, etc) for a potential implementation, but disable them.
What I can do is make a check to see if two windows are open, then enabled the button to allow a swap of primary character.
I'm not sure if it will work, but the theory is there.
Compare to Priest of Talos (for instance). In kitlist.2da it has a value of 19, which is 0x13 in hexadecimal. In Shadow Keeper, its kit code is 0x40130000. Apply the same logic to the kit code you get : 0x40NN0000, and replace NN with the actual hexadicemal code for the kit you're looking for.
You will get a dialog box that looks like this:
You will have to find out that the ID number is for the given kit, though. I looked into making program run through the kits in the IDS or 2DA files, but unfortunately it would require gathering the data from one and comparing it against the other, since one has all the ID numbers but all upper-case characters for the names - which doesn't make it very readable - and the other has the names/strrefs, but not the correct IDs (the values are padded with zeros to the left rather than the right, and simple adding extra zeros doesn't work). The simplest method is to enter the ID yourself. Just load up the Keeper and make sure you don't load a save game first (that's a bug which I will fix), then go to Settings->Lists->Kits.
I'm a bit confused though, it looks like Wild Mage, Barbarian, and some mage kits don't follow that rule. Exceptions because they are treated more like base classes?
Hopefully I didn't goof this up!
Since there is a reasonably sizeable array of mods out there for possible kits, and some that people may never have uploaded and use only for their own use, it would be impossible for me to account for all of them. However, if for some reason you cannot get EE Keeper working with those values, send me the mod (or a link to the mod) and I will input the values for you .
I can't do much right now since I'm not at home, and won't be at home for a week or so. I'll download my last build and post in a short while, just need to get some free time .
Once I have an idea what the problem is, I can fix it when I get home.
Edit: the last build that I uploaded tells me that "EEKeeper.exe is not a valid Win32 application." So I will assume that it's a compiler problem.
@AHF, Wizard Slayer is value 0x40020000. I will include it in the next build for those who are downloading a fresh copy. For those that only want to update the program itself (e.g. those who have altered the kits.uld file to include custom kits), just extract the executable but remember to add the name and value to the kit list.
In specfic, I am unable to access saved games.
When you get this to a point where it's no longer a "Beta" but a "Live" version, post a new thread and I'll sticky it.
Really excellent work here.