Skip to content

[MOD] EEex (v0.10.2-alpha)

1394042444548

Comments

  • OlvynChuruOlvynChuru Member Posts: 3,079
    Bubb wrote: »
    That should work. I personally use this command to both log and display the output:
    InfinityLoader.exe > log.txt 2>&1
    

    Typing that command into the console does cause it to log error messages, but it also causes the game to freeze sometimes when I ALT-TAB out of it.

    Why can't EEex just log the error messages to a file by default when it's started normally? IEex does that, and EEex used to do that.
  • BubbBubb Member Posts: 1,005
    The game freezes if you have a part of the console selected and the engine attempts to output something - that's normal behavior. I haven't observed it freezing in any other situation. It's actually just waiting to lock the console's buffer.

    I don't have InfinityLoader sending output to a file by default because that's really slow. Some mods (and some vanilla interfaces!) spam output constantly, and I don't want to balloon a log file to gigabytes, or cause the game to lag, which it will if it is constantly doing IO. A common report stemmed from EEex + Dragonspear UI++ being unusable until I sped up the output handling.

    Now, an .ini toggle might be feasible, but I fail to see the utility when redirecting stdout/stderr works all the same.
  • OlvynChuruOlvynChuru Member Posts: 3,079
    Bubb wrote: »
    The game freezes if you have a part of the console selected and the engine attempts to output something - that's normal behavior. I haven't observed it freezing in any other situation. It's actually just waiting to lock the console's buffer.

    I don't have InfinityLoader sending output to a file by default because that's really slow. Some mods (and some vanilla interfaces!) spam output constantly, and I don't want to balloon a log file to gigabytes, or cause the game to lag, which it will if it is constantly doing IO. A common report stemmed from EEex + Dragonspear UI++ being unusable until I sped up the output handling.

    Now, an .ini toggle might be feasible, but I fail to see the utility when redirecting stdout/stderr works all the same.

    That's weird because whenever I look at EEex.log from previous versions of EEex, or IEex.log in IWD2EE, it's usually only about hundred kilobytes long, not gigabytes. And the length of the file doesn't seem to get much longer as game time goes on. Are there really a ton of mods out there that have a ridiculous amount of print statements in their code?
  • EndarireEndarire Member Posts: 1,519
    Is it a matter of a log file just capping at a certain file size or number of lines?
  • BubbBubb Member Posts: 1,005
    OlvynChuru wrote: »
    That's weird because whenever I look at EEex.log from previous versions of EEex, or IEex.log in IWD2EE, it's usually only about hundred kilobytes long, not gigabytes. And the length of the file doesn't seem to get much longer as game time goes on. Are there really a ton of mods out there that have a ridiculous amount of print statements in their code?

    It's not so much print statements, but stack traces from Lua errors. You are right that the average log size is on the scale of kilobytes.

    For example: In old versions of Dragonspear UI++ the inventory spams Lua errors, as does chargen's cleric spell selection in newer versions. 1 minute in one of these screens creates a ~40MB log file. You can imagine how quickly the log could grow with the wrong mods installed.

    I can't control when mods go haywire, so instead I need to temper EEex's behavior for when they do. Yes, the decision is on the defensive side, as one of, if not the most used UI mod raises the problem.

    And I feel I have to note: I'm not trying to throw shade specifically at Dragonspear UI++ — it's an amazing mod. I'm just stating what I have to do to make EEex coexist with it, and it's the best example I can think of.
  • Ludwig_IILudwig_II Member Posts: 379
    Well I am using the latest version of Dragonspear UI++ mod and I can confirm it is still spamming infinite messages on inventory screen
  • BubbBubb Member Posts: 1,005
    Ludwig_II wrote: »
    Well I am using the latest version of Dragonspear UI++ mod and I can confirm it is still spamming infinite messages on inventory screen

    I think this (Code -> Download ZIP) is the most recent version, (from artyfox's post here). I don't see any errors in the inventory with it, though maybe I'm not testing under the right conditions.
  • shadowlichshadowlich Member Posts: 60
    Thank you OlvynChuru for your help, and if it's too slow I ll emulate the 2.5 code for a direct access
  • zelazkozelazko Member Posts: 88
    edited February 2023
    Isbcurrent release of EEEX v0.9.18-alpha able to provide support necessary for expanding the party size beyond limit of 6? There's a mod for gemrb 10pp that does that but I doubt it would work since it's gemrb only mod.
    Great work. We are getting slowly something like SKSE for Skyrim or MWSE for Morrowind. It's gonna make modding community grow. :)
  • BubbBubb Member Posts: 1,005
    Unfortunately, it is very unlikely EEex will ever expand the party size limit. The classic / enhanced engines heavily assume a max party size of 6, and would require a major refactor to properly handle an increased limit, which would be difficult to accomplish with the source code, let alone with an exe hack. GemRB + 10pp is probably going to remain the only way to have more than 6 true party members.
  • fortysevenfortyseven Member Posts: 96
    edited February 2023
    @Bubb thank you for porting EEex to the x64 version of the game and all the painstaking work that's taken! I haven't really played the game since 2.5.17 and I'm struggling to get a few things to work.

    Could you give a few examples of implementing hotkey combos in lua for spells and abilities. I presume these are meant to be written in the EEex_Key.lua file?

    The second request I have is how can I make the knock spell disarm traps again using opcode 402. You previously gave me the code for the M_ file to make that work but that seems to be defunct now.

    Many thanks.
  • gatperdutgatperdut Member Posts: 15
    Hey Bubb.

    What are your thoughts on displaying the saving throws, whether succesful or not, in the dialogue feedback?

    I think seeing a failure message (together with the already present one for success), and maybe feedback on the particular numbers involved, would be a nice addition.

    I find involved fights make it also hard to tell against which effect the ST was performed, and if there was no feedback, whether it was because of success or immunity.
  • gatperdutgatperdut Member Posts: 15
    edited March 2023
    duplicated post, ignore
    Post edited by gatperdut on
  • F4LLF4LL Member Posts: 7
    Can you disable some components after installing or must I reinstall?
  • OlvynChuruOlvynChuru Member Posts: 3,079
    edited February 2023
    @F4LL
    F4LL wrote: »
    Can you disable some components after installing or must I reinstall?

    You can potentially disable certain components by going in your override folder, finding the file EEex_Modules.lua, opening it in a text editor like Notepad, and changing certain lines to say false instead of true.
    EEex_Modules = {
    	["B3EffMen"]   = true, --Change this to false to disable the ability to look at spell effects on creatures by holding Shift.
    	["B3Invis"]    = false, --This is not enabled by any component currently, so ignore it.
    	["B3Scale"]    = false, --This is not enabled by any component currently, so ignore it.
    	["B3Timer"]    = true, --Change this to false to disable the timer visualizations.
    	["B3TimeStep"] = true, --Change this to false to disable the ability to advance the game by 1 tick by pressing "d".
    }
    

    Make sure to keep the commas at the end of each line (except the last line which doesn't need a comma).
  • GreenerGreener Member Posts: 430
    gatperdut wrote: »
    Hey Bubb.

    What are your thoughts on displaying the saving throws, whether succesful or not, in the dialogue feedback?

    I think seeing a failure message (together with the already present one for success), and maybe feedback on the particular numbers involved, would be a nice addition.

    I find involved fights make it also hard to tell against which effect the ST was performed, and if there was no feedback, whether it was because of success or immunity.

    I think this is a really interesting idea...
  • EndarireEndarire Member Posts: 1,519
    I too would like to see an option in the chat box to display the results of saves. Temple of Elemental Evil and Pathfinder: Kingmaker use hypertext to show the roll (the natural roll plus all itemized modifiers like mods from STR, luck, BAB, and haste on a melee attack). Knowing what the natural and total rolls were for accuracy, saves, and thieving skills would help.

    Thankee!
  • BubbBubb Member Posts: 1,005
    I'll look into improving saving throw feedback, though I can't promise any sort of timetable. Sounds like a useful feature.


    fortyseven wrote: »
    Could you give a few examples of implementing hotkey combos in lua for spells and abilities. I presume these are meant to be written in the EEex_Key.lua file?

    v0.9.19-alpha should reimplement the old hotkey support. Let me know if you need additional guidance after reading the changelog below.
    fortyseven wrote: »
    The second request I have is how can I make the knock spell disarm traps again using opcode 402. You previously gave me the code for the M_ file to make that work but that seems to be defunct now.

    This was pretty complicated, if I'm remembering right. I'll put it on the list of things to reimplement.



    v0.9.19-alpha:
    Reimplemented:
    • Hotkey module - Allows the creation of advanced, multi-key + modifier-key spell hotkey combinations. See top of override/B3Hotkey.lua after installing the module for examples.
    Fixed:
    • An instance where op408 was being passed a code ptr instead of a projectile.
    For modders:
    • Reimplemented EEex_Action_AddSpriteStartedNextActionListener() / EEex_Action_AddSpriteStartedActionListener() / EEex_Action_NextSpellToPoint().
  • gatperdutgatperdut Member Posts: 15
    Bubb wrote: »
    I'll look into improving saving throw feedback, though I can't promise any sort of timetable. Sounds like a useful feature.

    Thank you for your work 👍 I can see it making the e.g. mage specialist school bonuses/penalties feel more tangible.
  • gatperdutgatperdut Member Posts: 15
    edited March 2023
    duplicated post, ignore
    Post edited by gatperdut on
  • fortysevenfortyseven Member Posts: 96
    Bubb wrote: »

    v0.9.19-alpha should reimplement the old hotkey support. Let me know if you need additional guidance after reading the changelog below.
    fortyseven wrote: »
    The second request I have is how can I make the knock spell disarm traps again using opcode 402. You previously gave me the code for the M_ file to make that work but that seems to be defunct now.

    This was pretty complicated, if I'm remembering right. I'll put it on the list of things to reimplement.


    Hotkeys are back to their old glory! Many many thanks for that!

    Here is the code you gave me previously for the invoke lua file if that is of any help:
    function B3TRAP(effect, object)
    
        local objectID = EEex_GetActorIDShare(object)
    
        local isSprite = EEex_IsSprite(objectID, true)
        local isActive = EEex_IsTrapActive(objectID)
        local isDetectable = (not EEex_IsTrapFlaggedNondetectable(objectID)) and EEex_GetTrapDetectDifficulty(objectID) ~= 100
        local isDetected = EEex_IsTrapDetected(objectID)
        local isDisarmable = EEex_GetTrapDisarmDifficulty(objectID) ~= 100
    
        if not isDetected then
            Infinity_DisplayString("")
            return
        end
    
        if not isDisarmable then
            Infinity_DisplayString("Trap warded against spells")
            return
        end
    
        EEex_DisarmTrap(objectID)
        Infinity_DisplayString("Trap disarmed")
    
    end
    
  • zelazkozelazko Member Posts: 88
    Would this mod be compatible with EEEX?
    https://github.com/tapahob/BG2RadarOverlay
    It shows you the stats of the enemies when you hoover over them and press shift. EEEX has similar thing but only shows buffs.
  • BubbBubb Member Posts: 1,005
    zelazko wrote: »
    Would this mod be compatible with EEEX?
    https://github.com/tapahob/BG2RadarOverlay
    It shows you the stats of the enemies when you hoover over them and press shift. EEEX has similar thing but only shows buffs.
    Yes, I recommend it as a better alternative to EEex's effect menu module.
  • boofboof Member Posts: 22
    I'm running into an issue with save games looking like this.
    https://i.imgur.com/DqVNPv7.png
    This is my weidu log https://pastebin.com/zLtETpaW
    Plain BGEE 2.6.6, no SoD. EEex literally the only thing installed.
    All the saves come up blank. Screenshots also don't work and do not get saved.
    The top save file was taken by entering the game via the standard exe instead of the infinityloader, and the screenshot was taken then as well.
    Odd issue, since it seems to work fine on BG2EE.
    Any insight?
  • BubbBubb Member Posts: 1,005
    Works fine on my end. If I had to guess, it's an antivirus blocking write access to the documents folder. Try adding InfinityLoader.exe to your exceptions list.
  • boofboof Member Posts: 22
    edited March 2023
    Bubb wrote: »
    Works fine on my end. If I had to guess, it's an antivirus blocking write access to the documents folder. Try adding InfinityLoader.exe to your exceptions list.

    Yep that did it, thank you. I wish that I didn't scrap my install with all the mods earlier, now.
    Though why would it do it for BGEE but not BG2EE?
  • BubbBubb Member Posts: 1,005
    No idea, though glad it was a simple fix.
  • EndarireEndarire Member Posts: 1,519
    edited March 2023
    @Bubb
    I'm unsure if this request requires EEex, but I would like sequencers and contingencies to, by default, just auto-fill with whatever abilities were there last time. I still want to be able to change them.

    I mention this default because so many times I've just wanted the 'usual,' whatever that is.

    EDIT: How feasible is being able to zoom in and out on the world map screen? The default size is a small window but it's zoomed in enough so I can see the relevant detail. The newest World Map mod is zoomed out so much I can barely see the names of stuff on a 4K screen.

    Thankee!
    Post edited by Endarire on
  • zelazkozelazko Member Posts: 88
    edited March 2023
    Is providing possibility for extra npcs as 7th npc tagging along feasible or even doable? Jastey's Solaufein and Afaaq dijiin npcs can be taken along as 7th npc thay will follow the party. It works kind of like creature under domination spell. The mod by jastey's grey dog provide the same mechanic and the grey dog can even level up which requires you to join him as one of six npcs but then after you assign grey dog as 7th member of the party he can still gain xp and use his as 7th npc.
  • Ludwig_IILudwig_II Member Posts: 379
    Bubb wrote: »
    Ludwig_II wrote: »
    Well I am using the latest version of Dragonspear UI++ mod and I can confirm it is still spamming infinite messages on inventory screen

    I think this (Code -> Download ZIP) is the most recent version, (from artyfox's post here). I don't see any errors in the inventory with it, though maybe I'm not testing under the right conditions.

    I found out why it was showing those messages on mine but not yours. There is a setting in dragonspear-ui batch file:
    :: Use the old version of inventory:
    set DUI_INVENTORY=v1

    This is how I installed it, and after this setting it keeps spamming those infinite messages. Though I guess this is an issue with dragonspear ui mod, not EEex.
Sign In or Register to comment.