Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID
New to the forums? Well met! Please read the following rules of conduct for the forums, and we hope you enjoy your stay. Until swords part, friend!

EE Keeper, Updated to v1.0.2

Troodon80Troodon80 Posts: 2,363Member, Moderator, Beta Tester
edited April 19 in General Modding
At the suggestion of @Dee, this thread will be used to post updates (as and when I have time), looking into bug reports, and a host of other things.



Download

The program can be found on SourceForge (link below), and this post will be updated with links when a new version is ready. This PDF document details the basics of the program (please note that the document is now outdated and most of the details will eventually be placed within the Wiki on the Keeper SourceForge page). Unless otherwise stated, an archive unpacker will be required in order to open the RAR archive.

The source code for EE Keeper can be here. The Visual Studio solution is for VS2012, so you will need that in order to do anything (or you could make a quick edit to the solution so it will load in older versions).


Info

EE Keeper* uses MFC (Microsoft Foundation Class), which means that you will need a standard version of Visual Studio, rather than an express version. Even if you don't, but you have programming knowledge and would like to help, then over the course of the next few months the plan I have is to convert all the code to be Unicode friendly. The second part of the plan is to convert to Win32 or (better yet) use Qt or wxWidgets to make it cross-platform friendly. Either way, feel free to post your coding suggestions. I will also be taking suggestions, but please keep them realistic. I don't have a lot of time to spare on this project and so any suggestions will likely take weeks or months to implement; keep them short and sweet, modifications to the UI, tweaks, etc.

*Since EE Keeper seems to be the widely accepted name, that's what it is called officially. However, anyone can call it whatever they like.

Compatibility

Mac This is a big question for a lot of people. The answer is that it is not officially supported. Some trials on Mac via Wineskin, by @Nifft, have been done and it seems to work, depending on the version - it will be up to others to help with that should any issues arise. More details here. @AstroBryGuy, has recently started creating wrappers for new versions of EE Keeper. Please note that a new wrapped version will be released behind the Windows version; it requires that he gets the latest version and then create and upload a wrapper. For future builds I will be submitting one to him sooner so that he can have it wrapped and uploaded in conjunction with the Windows release.

Linux Currently, here is no native version of BG:EE or BG2:EE on Linux, so support for that platform is not in huge demand. I have tried using Keeper in openSUSE using Wine and it functions well enough.

Windows The current version, 1.0.2.3, should work on everything from XP to Windows 8. If you encounter a problem, please see the details below on reporting it any problems you find.

As a final note: just because a new thread is made, and the release is more of a Live/REL version, it doesn't mean that the program is bug free, nor does it mean that I won't be tweaking it any more (I will). If you come across any issues, or you are in doubt over something, feel free to post and either myself of some other helpful community member will try to help overcome it. If you find something, and you're certain that it's a bug (i.e. portraits not displaying when they should), feel free to create a ticket for it here. If the ticket is not a bug, but a misunderstanding, then it will be moderated as such. Feature requests can also be made, just set the 'Report Type' option to 'Feature Request'. When trying to bring a bug to my attention, please specify what platform you are using (Mac or Windows) and exactly what you are or were trying to do at the time of the bug.

Credits

Obviously, like any program, there are testers. If you've tested this to make sure it works in a trial stage, you'll be listed here.

@AstroBryGuyMaintainer of the Mac Wineskin version.
@MikaalTesting
@HeasTesting
@mlneveseTesting
@NifftTesting
@CrevsDaakTesting
@swnmcmlxiTesting
@DeeTesting
@AHFTesting
@IsayaTesting
@KunikosTesting
@AntonTesting
@ermoTesting
@ErgTesting
@mattinmWork on the Qt version so as to natively support other platforms.
Post edited by Troodon80 on
SniiiimonAHFDeeCuvErghansoloNifftJTMKidCarnivalFafnirKirinaldodecadocallimachusAntonValankirKunikosDrugarFenghoangJamesIecerintAnduinAndreaColombomars0124EudaemoniumGodKaiserHellNordomZanianAlhoonYupImMadBrorevaarrderekpAwong124HicoShYarivAkerhonBagorRaistlin82HeasAstroBryGuydarrenkuoTsyrithtypo_tillyermosepotteraqzinaIchigoRXCKavainMessiWigglesDexterMoiraSpaceInvaderYinepuhotepSearonixleeho730IdahoSCARY_WIZARDD3V11_FlauschigCahirjackjackEnterHaerDalisLuthienAkihikoAldericDeltaslayerCrevsDaakislandkingAliard1806luskanMaxAraderThandurinVasculioSgthawker
«13456722

Comments

  • AHFAHF Posts: 1,196Member
    Great work done on this by @Troodon80!
    SjerrieCrevsDaak
  • HooHoo Posts: 91Member
    Wow, what a amazing news! Thank you for the update!
  • hansolohansolo Posts: 131Member
    Great work, thanks.
  • NifftNifft Posts: 1,030Member, Beta Tester
    Using version 1.0.1 with Wineskin, I'm no longer able to configure the game directory in a way that EE Keeper will accept.

    There is no "Baldur.exe" in the OS/X game directory, and version 1.0.0 complained about this but worked anyway. Version 1.0.1 complains and doesn't work.

    @Troodon80: Are you doing some additional "sanity checks" on the configured directory? If so, can you add a way to turn them off, or to detect that the OS/X install is valid in spite of being different from Windows?

    Thanks, -- N
  • Troodon80Troodon80 Posts: 2,363Member, Moderator, Beta Tester
    @Nifft, I can add a way to disable checks, yes. While I'm at it, for compatibility purposes, I will also add an option for a different directory other than Documents for non-Windows systems.

    Can you explain in what way the program complained? There are only two things that link to the issue you are having, that I can think of; one is the ability to leave the languages option blank (if it can't read the tlk file, then it won't allow you to do much of anything), and the other was changing the compiler to an XP compatible one.

    Have you tried setting the language option to see if it will work? The reason why I made it so the language picker could be left blank was for people on other operating systems who didn't want to have to make further levels of directories, they could leave the dialog.tlk in the root directory and use EE Keeper that way.

    If the problem is related to the compiler, then I'm afraid there's not much I can do. My advice, if you can't get it working, is to stick with 1.0.0 since there really isn't anything noticeable in comparison. Hopefully, I will get the time to migrate to Qt or wxWidgets so that I can then compile cross-platform.
  • NifftNifft Posts: 1,030Member, Beta Tester
    @Troodon80 - I had left the language selection blank. D'oh! Now 1.0.1 is finding what it needs.
    Troodon80
  • nsrnsr Posts: 155Member
    Hi,

    I'm wondering if you can put a place to customize where the saves are picked up from. I copy my saved files from my iPad, and I would prefer not to fake the Baldur's Gate EE default save location. Maybe there can be a check to see if the "Baldurs Gate EE" folder exists, and if not default to the original saves subfolder?
    mars0124
  • nsrnsr Posts: 155Member
    I'm guessing my use case is pretty rare, so hopefully this will help:

    _strDocumentsPath = DocPath; _strDocumentsPath += "\\Baldur's Gate - Enhanced Edition\\";
    ++ if (GetFileAttributes(_strDocumentsPath) == 0xFFFFFFFF)
    ++ _strDocumentsPath = _strInstallPath;
  • Troodon80Troodon80 Posts: 2,363Member, Moderator, Beta Tester
    edited February 2013
    @Nifft, great to hear :D. I'll put in a confirmation box in future, "Are you sure you want to leave the language selector blank?" or "One or more options are blank, are you sure you want to use these settings?" That way, it will be a reminder if nothing else.

    @nsr, see the top of my previous post. I'll put in a way to change the default 'Documents' location, which will effect save games, portraits, and exported characters :). In that event, you will have to find the directory you want to use which has the necessary folders within. The default will be Documents\Baldur's Gate Enhanced Edition\ on Windows, but you will be able to change it via the program settings similar to the way you can pick the installation directory.

    Edit: I can do that, certainly.
    Post edited by Troodon80 on
    mars0124
  • nsrnsr Posts: 155Member
    Ah yes, a customizable Documents folder sounds good. It will definitely make this work for Mac as well.
  • MessiMessi Posts: 595Member
    Awesome job, but the name sucks! ;) Either go with just Gatekeeper (I mean the original has basically been dead and buried for years now so the name is up for grabs), or with BEEKeeper (easy to say name in the same 'format' like the previous ones, and at least anyone familiar those understands what the program is for immediately).
  • CoM_SolaufeinCoM_Solaufein Posts: 1,776Member, Beta Tester
    BEEKeeper that's a good one.
    Phyrax
  • KunikosKunikos Posts: 12Member
    Thanks, Troodon!!
  • NifftNifft Posts: 1,030Member, Beta Tester
    Troodon80 said:

    @Nifft, great to hear :D. I'll put in a confirmation box in future, "Are you sure you want to leave the language selector blank?" or "One or more options are blank, are you sure you want to use these settings?" That way, it will be a reminder if nothing else.

    People are being conditioned to ignore pop-up dialog boxes.

    It might be better to just pick a default language ("en_US" would work for me ;-) ).
  • DraconisPrimeDraconisPrime Posts: 25Member
    Thank you! This is awesome! I just have a few questions.

    First, I noticed you can change your character's appearance to all sorts of things, such as githyanki, hobgoblin, orog, etc... Would it be possible to somehow import the sprites/animations/appearances from another Infinity Engine game, specifically the flail-wielding orog cleric Hiepherus from Icewind Dale II ()? Because I'd like to make a character who used Hiepherus' appearance. Just saying. :)

    Second, would it be possible to add an XP-gain-penalty (as Corsymyr did here with his custom race items: http://forum.baldursgate.com/discussion/16284) as a sort of balancing feature to offset other bonuses you give your characters (basically the whole "Level Adjustment" system from third edition DnD)? If so, how?

    Third, just fooling around for fun, I gave my fighter some spells and innate abilities, and clicked +mem to mark them as memorized, but I had no way of accessing and using them in-game. Would there be a way to do this?

    Thanks again, this had made my day. :)
  • Troodon80Troodon80 Posts: 2,363Member, Moderator, Beta Tester
    @Messi, Gate Keeper: Enhanced was what I was thinking - just so as not to step on anyone's toes, or cause confusion with the original Gate Keeper :).

    BEEKeeper seems to be the second favourite. So I'll let you, the users, be the ones to decide.

    @CoM_Solaufein, @Messi, @Nifft, @Mikaal, @mlnevese, @swnmcmlxi, @Aosaw, @AHF, @Isaya, @Kunikos, @Anton, @ermo, @Erg, @nsr: Shall we settle on a name?
    1. BEEKeeper.
    2. BGEEKeeper (with upper or lower case b, so as to either represent BGEE, or emphasis GEEK).
    3. Gate Keeper: Enhanced/Enhanced Edition/EE.
    4. or just plain ol' EE Keeper.
    Since something like this doesn't warrant a poll, leave your feedback on the new name suggestions. I'll go with the most popular. If people don't make any comment on it, then it shall stay as it currently is.

    @Nifft, the main issue with making a default value is that some people apparently want the ability to still load up the dialog.tlk file from the root directory. In the interest of cross-compatibility, I would imagine a dialog box to be more suitable. I generally prefer message boxes rather than making the assumption that someone wants something in a particular way. But I will certainly give it consideration for the future.

    @DraconisPrime,

    First, I noticed you can change your character's appearance to all sorts of things, such as githyanki, hobgoblin, orog, etc... Would it be possible to somehow import the sprites/animations/appearances from another Infinity Engine game, specifically the flail-wielding orog cleric Hiepherus from Icewind Dale II ([...])? Because I'd like to make a character who used Hiepherus' appearance. Just saying. :)

    Short answer: no.

    Longer answer: probably not, since that would require putting in checks to see if you currently have any other Infinity Engine game installed, then running through its resources. Then, since it doesn't have those particular resources in BG:EE, it would have to merge or copy all the necessary resources to the override folder in order to use. This won't be happening any time soon, unless someone specifically makes a mod for it. Sorry about that.


    Second, would it be possible to add an XP-gain-penalty (as Corsymyr did here with his custom race items: http://forum.baldursgate.com/discussion/16284) as a sort of balancing feature to offset other bonuses you give your characters (basically the whole "Level Adjustment" system from third edition DnD)? If so, how?

    There is currently no feature that will offset your level or experience, and nothing that could be put into the save game itself in such a manner. This modifies save games, not items, scripts, or tables, so there's nothing that would give additional features like that. If you want to lower the XP or level in order to offset or balance the items or spells you give to your character, it can be done via the Abilities tab :).

    This sort of feature would generally be handled by modders who create scripts or tables for the game to use, rather than being handled by the save game itself. It is normally a function provided by the tables (2DA/IDS files), so it wouldn't be handled directly be the save game itself.

    I will look further into getting it to read from the required files in order to automatically set XP based on attributes, etc., but I can't promise anything.


    Third, just fooling around for fun, I gave my fighter some spells and innate abilities, and clicked +mem to mark them as memorized, but I had no way of accessing and using them in-game. Would there be a way to do this?

    I'm unsure of the problem here, but can you try going to Settings->Spells... and see if the checkbox labelled "Refresh memorized spells on save" is checked, if it's not then check it and click OK, re-save your game in EE Keeper and try loading it up in-game.

    If that doesn't work, can you find the save game folder (example: 000000001-Quick-Save), archive it and upload to somewhere like RapidShare and send me a PM with a link so that I can see?


    Thanks again, this had made my day. :)

    Great to hear :).
  • ErgErg Posts: 978Member
    Troodon80 said:

    Shall we settle on a name?

    1. BEEKeeper.
    2. BGEEKeeper (with upper or lower case b, so as to either represent BGEE, or emphasis GEEK).
    3. Gate Keeper: Enhanced/Enhanced Edition/EE.
    4. or just plain ol' EE Keeper.
    What's in a name? that which we call a rose
    By any other name would smell as sweet;

    mars0124
  • VintrastormVintrastorm Posts: 202Member
    Troodon80 said:





    Third, just fooling around for fun, I gave my fighter some spells and innate abilities, and clicked +mem to mark them as memorized, but I had no way of accessing and using them in-game. Would there be a way to do this?

    I'm unsure of the problem here, but can you try going to Settings->Spells... and see if the checkbox labelled "Refresh memorized spells on save" is checked, if it's not then check it and click OK, re-save your game in EE Keeper and try loading it up in-game.

    If that doesn't work, can you find the save game folder (example: 000000001-Quick-Save), archive it and upload to somewhere like RapidShare and send me a PM with a link so that I can see?


    Thanks again, this had made my day. :)

    Great to hear :).
    Also, have you tried resting with the character? IIRC I had similar problems a few (7) years back and resting solved some of it.

    Troodon80
  • Troodon80Troodon80 Posts: 2,363Member, Moderator, Beta Tester
    Erg said:


    What's in a name? that which we call a rose
    By any other name would smell as sweet;

    I take thee at thy word:
    Call me whatever you want, and I'll be new baptized;
    Henceforth I never will be EE Keeper.


    Did I just butcher a Shakespearian piece? I think I did...
    Ergermo
  • ErgErg Posts: 978Member
    edited February 2013
    Troodon80 said:

    Erg said:


    What's in a name? that which we call a rose
    By any other name would smell as sweet;

    I take thee at thy word:
    Call me whatever you want, and I'll be new baptized;
    Henceforth I never will be EE Keeper.


    Did I just butcher a Shakespearian piece? I think I did...
    I was actually citing Captain James Tiberius Kirk :-p
    Post edited by Erg on
    ZanianCrevsDaak
  • mlnevesemlnevese Posts: 4,163Member, Moderator, Beta Tester
    @Troodon80 I'd keep the EEKeeper name. When BG2EE is launched the editor can be updated for BG2's path and savegame folder, maybe adding a switch to indicate which game you want to edit, BG1 or 2, and EEKeeper sounds more like an universal EE editor to me.
    RasekovAnton
  • MikaalMikaal Posts: 8Member
    I agree, EEKeeper is a good name.
  • decadodecado Posts: 1,257Member
    You need to plan ahead. Potentially Icewind Dale 1+2 might be remastered under the EE moniker, so maybe something needs to be retained to tie in with a particular series.

    Of course Icewind Dale EE might be a pipe dream but if you don't have dreams what do you have?
  • AHFAHF Posts: 1,196Member
    I like "EEKeeper" myself but am more than happy to take advantage of @Troodon80 's great work under any moniker! It should be a name that won't be taken by someone's inferior copy for:

    he that filches from me my good name Robs me of that which not enriches him, And makes me poor indeed.

    In the meantime, I'll access it by saying:

    I cannot tell what the dickens his name is
  • mattinmmattinm Posts: 18Member
    As a heads up to any other developers interested in assisting @Troodon80 with the project, I'm stepping in and attempting to port the current code (and any additions made in the meantime) over to Qt to make it cross-platform capable. I've gotten a substantial amount of the GUI ported over, and I'm just getting ready to port over the actual "nuts and bolts" code, so hopefully I have something somewhat working soon.

    Some since things about porting to Qt:

    1. Unicode is handled by default, so non-Ascii, especially Asian, languages should be handled
    2. Translations for the GUI are extremely simple, so community members can help translate the actual interface for non-English speakers
    3. Qt works with Windows, Mac, and Linux (if Beamdog are able to release on that platform)

    I wouldn't expect a full-conversion for a while, but I just finished mid-terms and the girlfriend is out of town for the weekend, so I should be able to make some decent headway in the coming week :D
    RasekovmlneveseTroodon80decado
  • RasekovRasekov Posts: 57Member
    Nice to know, @mattinm.

    Just a question, if the plant is to go completely multiplatform, wouldn't it make more sense to port everything to java/.net? Almost every device in the planet can run one or both of them and when I took a look at the source code of the old version it seemed to me not that hard to port apart from the GUI(that you guys are going to port anyway).

    This isn't even intended to be a suggestion, I just want to know what leaded to the current path.
  • mattinmmattinm Posts: 18Member
    edited February 2013
    I'm not really a Java developer -- I prefer C/C++ -- but I can't imagine it would be *too* difficult to port to Java, if someone wanted to port it. NearInfinity is based on Java, iirc, so it's certainly possible to access the resources that way. I'm mainly porting because a) I use Mac and want easy access to EEKeeper, b) I'm interested in learning Qt, and c) it's fun for me :D.

    Me helping port to Qt certainly doesn't prevent anyone else from porting to Java, and it's a valid point that it might be a worthwhile project for the long-term, maybe under a separate project.

    Just my two-cents.
    Post edited by mattinm on
  • IecerintIecerint Posts: 377Member
    Thanks for this! :]
  • NifftNifft Posts: 1,030Member, Beta Tester
    I'd vote for BEEKeeper or GEEKeeper (the latter for "Gate Enhanced Edition Keeper", and GEEK in big letters).

    Good point on people using links! That's something I forgot, but you're totally right.

    So how about a waterfall:
    - Use linked dialog.tlk if available (no language choice, just use what's there)
    - If there's no such dialog.tlk, fill in the drop-down with a default ("en_US")
    --- If you want to get super-clever, read the system's configured language and use that as the default.

    Then, allow people to change the default as you do now.
    mars0124Archaic
«13456722
Sign In or Register to comment.