Skip to content

Getting Shadowkeeper to work with BGEE

123457

Comments

  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @Aosaw, I will probably do that in about a week, once I get home. I just want to be sure that all the functionality works - and that people on Windows XP, like @Mikaal, can use it - before making it a final/Live release. After that, it's set to go. Unicode support will come eventually, but I'm not sure if I have the time. I'm working on two separate builds, one is the current build that everyone can get, and the other is a Unicode build; but there are buffer problems and some of the code needs further updating (especially the version of StaticZlib that was used).

    The last version of the Shadow Keeper source code is not Unicode friendly, thus why I'm keeping it separate from the stable build.

    The current build, if most people can agree on its functionality, can be classified as a live version once I release the next build (more minor tweaks and updates).

    And thank you :).
  • MikaalMikaal Member Posts: 15
    Thanks. This are great news.
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    edited February 2013
    @Troodon80 I take that it wouldn't be easy to port the code to other OS then... With the Mac version being released tomorrow it would be interesting to have a native version of EEKeeper...
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    edited February 2013
    @mlnevese, right now, with it programmed in MFC, no. I will probably be rewriting it to use wxWidgets in the future, since cross-platform sounds like a good idea. Unfortunately, with my current schedule, time is something I don't have much to spare now.

    In the new thread I'll make in the future, I'll offer up the source code on SourceForge. If someone wants to recode it so as to be cross-platform friendly (Linux, Mac, and Windows), they can do so, and I will assist in any way I can :).
    Post edited by Troodon80 on
    Kirinaldo
  • KunikosKunikos Member Posts: 12
    Looks like the new update to BGEE added a few kits: Dwarven Defender, Dragon Disciple, Shadowdancer, Dark Moon Monk, and Sun Soul Monk. Can you add these to the kits list "out of the box"?
    Anton
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @Kunikos, once I get home and download the patch, certainly :).
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    In the mean time, you can add them yourself using the trick exposed on page 6 of this discussion.
    Since the kitlist.2da is not present in the override if you do not install a kit mod, it's not possible to read the codes with a simple text editor, as explained. So here are the codes for all the BGEE kits :
    32 Blackguard 0x40200000
    33 SHADOWDANCER 0x40210000
    34 DWARVEN_DEFENDER 0x40220000
    35 DRAGON_DISCIPLE 0x40230000
    36 DARK_MOON 0x40240000
    37 SUN_SOUL 0x40250000
    Troodon80Madhaxtoanwrath
  • nsrnsr Member Posts: 174
    Is it possible to update this version to look for dialog.tlk in the root directory if the language directory does not exist? I only have the iPad version. For mod installation, I create the BG directory with the expected folder structure. I tried setting the languages folder to empty, but it still didn't work.
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @nsr, I can make it look for the the root directory as a backup option, certainly. e.g. leave the language option blank and it will only look for it in the root directory.

    I'll get on that as soon as I am back at my desk :).
  • nsrnsr Member Posts: 174
    that would be very helpful thanks!
  • toanwrathtoanwrath Member Posts: 621
    edited February 2013
    So I managed to set up BGEE:Keeper (heh) so that I can edit my games. However, when I check the "multiplayer" box, none of my games are present. Is there a way to edit those games? I saw someone mentioning temporarily moving the multiplayer game into the single player folder to edit it, and I'll do that if necessary, but I was wondering if there was a simpler and more permanent method.

    EDIT: Also @Isaya thank you very much for providing those codes, now I can change my brother's monk to Sun Soul just as he always wanted!

    EDIT2: Also, when checking in the 00766 folder I found my Single Player saves in the folder "save" but can't find my multiplayer saves. Where would I find these?

    I managed to edit the multiplayer game. Now, when I edited a Monk into a Sun soul monk (he was already level 6), his abilities did not change to those of a sun soul though his kit description and class title changed. Do I have to manually edit his abilities to reflect the changes?

    Edited the abilities, now he has the proper ones. Hopefully on level up he will get the sun soul progression instead of normal monk.
    Post edited by toanwrath on
  • fritzlfritzl Member Posts: 12
    edited February 2013
    Hi Friends! I have installed some portraits to my documents\baldurgateee\ etc etc. I can use them ingame but using eekeper I can´t choose them!! What am I doing wrong? Thanks in advance and please excuse my english.
  • NifftNifft Member Posts: 1,065
    EE Keeper on Mac OS/X 10.6:
    http://forum.baldursgate.com/discussion/16363/ee-keeper-via-wineskin-in-osx-initial-tests

    This works for me on 10.6, but it seems like some paths may be different on other OS/X versions, and I can't test those myself. Use at your own risk, results may vary, may cause your dog to bite, etc.
    Troodon80
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    edited February 2013
    @toanwrath, since I haven't tried the multiplayer, I have no idea where those save games are stored. If you can find out where they are, I can make whatever modifications are necessary to the code :).

    Also, there's a new thread, made at the suggestion of @Aosaw.
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @fritzl, can you archive and upload the images so that I can examine them?
  • DeeDee Member Posts: 10,447
    I'm unstickying this thread and stickying the other one.

    This thread will remain open for discussions, but it's no longer necessary for people wanting to know how to use EEKeeper.
  • SivarSivar Member Posts: 53
    edited November 2013
    Troodon80 said:

    @ermo, I most likely will provide the source. But I would rather get it working with things like the language folders first :).

    I'm using VS6, too much bother trying to alter it for VS2012 right now. Everything else is as it was, just the few lines of code to get the Documents folder and I hard coded the lang folder to en_US.


    Troodon,
    Just this morning I modified ShadowKeeper to work with Visual C++ 2010. It may be worthwhile for you to do so since VS6 is very old. I'd be happy to help out. Here is what I did:


    1) Open the project in a newer version of Visual Studio and let it modify the project when asked.

    2) Initialized the integer indices named "i". Simply adding "int i;" before the first use of the counter in each function using them was sufficient. Your first compile will tell you where all of them are.

    3) Update ZLIB.
    a. Under "External dependencies", update zconf.h and zlib.h to the latest versions (www.zlib.net)
    b. Place the new "zlib1.dll" in the executeable's directory (\debug, for example). I didn't bother with the static linking.
    c. Put zlib.def and zlib.dll in the project root and replace the old static library linker dependency (ZLibStatic.lib or somesuch) with zlib.dll.

    4) Right around "FindInstallPath(CString &)" in Global.cpp, right around line 178, change
    dwMask = (DWORD)pow(2,i);

    -to-

    dwMask = (DWORD)pow(2.0f,i);


    This takes about 20 minutes and will get ShadowKeeper to compile.
    One additional issue I've run into is this:
    When ShadowKeeper loads RacialEnemy.uld and all those other .ULD files, it seems to think that some (those that are 4 bytes) are empty. the problem seems to be in the function:
    VALUELIST* CDaleKeeperApp::LoadList(const char *, BOOL &)

    ...right around like 623 or DaleKeeper.cpp.
    I suspect it's a simple issue like needing an extra null at the end of the file or something, but just as I started working on it, I saw this thread and that you are farther than I am in making an "EEKeeper".

    Best of luck!
    Post edited by Sivar on
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @Sivar, that post was made months ago. :)

    Since then, I've been using Visual Studio 2012.



    EE Keeper now only loads two ULD files, Kits and Affects. I've already changed everything you mentioned above. :)

    The thread you saw was the most up to date I've done so far.

    If you would like to help, I can e-mail you the source (I went off SourceForge for the constant updating of the code). I could use some extra hands in making it UTF8 friendly, as I have sparse time right now with everything else going on.
  • SivarSivar Member Posts: 53
    @Troodon80
    I'd be happy to help in any way I can. While I may be out of date on the choice of UI lib as well, may I suggest Qt instead of WxWidgets? It's as pleasant a UI development experience as I've ever seen in C++, and is one of the few complex libraries I've used where I was frequently impressed (rather than horrified) by the design.
    Email is CharlesNBurns at [google's email service] dot com.
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @Sivar, if you're interested, there was a Qt version in progress by another member of the forum, @mattinm, and myself (I was looking at it again recently, actually, as I would like to natively support Mac, Linux, and Windows), and can be found on SourceForge as the master code (I stopped updating the MFC branch).

    This is what has already been done by mattinm:



    One thing that put me off was the size of the overall distribution of EE Keeper and the required Qt libraries, which would be around 30MB. As it is, I thought the idea of the MFC Feature Pack more than quadrupling the size of my executable from 800KB to 3.6MB was a bit steep. Not that it really matters to most people, I'm sure, but I know the frustration of trying to download something 1MB in size over five hours (thankfully not any more, though).
  • SivarSivar Member Posts: 53
    @Troodon80
    I wrote an article on making Qt small. It's for Qt 4, but should mostly apply to 5 as well:
    http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @Sivar, I was aware of the static linking, but I found an issue with it in the non-commercial versions' licence agreement, so we (myself and mattinm) decided against that. I can't even remember quite what the issue was, but I remember we tossed the idea of static linking (which is what I am currently doing with the MFC executable) back and forth quite a bit.

    Still, if you would like to help, the source code can be found here. You can make any additions or modification to it. If you have a SourceForge account, I can also add you as a developer if you PM me with your details.
  • SivarSivar Member Posts: 53
    @Troodon80 SF says "this user has requested to not receive email from other users", but my SF name is "burnchar".
  • GoddardGoddard Member Posts: 134
    edited November 2013
    This looks interesting where is the link for shadow keeper QT? I would like to help.
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @Goddard, the SourceForge project can be found here.
  • UnumUnum Member Posts: 23
    edited November 2013
    ermo said:


    Please note that ShadowKeeper is coded to check for a file called BGMain.exe (the BG2 equivalent to BG:EE's baldur.exe) and save the path in which BGMain.exe lives to a registry entry, which it checks on each startup. I hasten to add that it doesn't have to be the real BGMain.exe file, just a file with that name.

    As I explained earlier in this thread, if you create a file called BGMain.exe next to baldur.exe, SK will stop complaining.

    I had trouble getting Shadowkeeper working - until I read this. Thank you!
  • RamshineRamshine Member Posts: 36
    Hi there! I am trying to change the race of a character to dual class him (i didn't know he needed to be a human. can someone help out with how to do this? i find shadow keeper hard to use. i am also on a Mac and the resources on shadow keeper seem limited. Is that the case?
  • OlleDenStoreOlleDenStore Member Posts: 43
    edited November 2013
    You could also install the component in bg2 tweaks that allows non-human dual-classing.
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @Ramshine, to clarify, are you using the original 'Shadow Keeper' or 'EE Keeper'?
  • RamshineRamshine Member Posts: 36
    ee keeper
Sign In or Register to comment.