Jump to content

argent77

Modders
  • Posts

    1,583
  • Joined

Posts posted by argent77

  1. It looks like there is an engine bug with global NPCs who never joined the party yet. If they gain an item in their inventory (by script or otherwise) then the item will be gone when you leave and reenter the map. This behavior is only reproducible for NPCs who were made global statically in the game's default BALDUR.GAM file (which concerns basically all original Bioware NPCs.) The new Beamdog NPCs and (most) modded NPCs are not affected since they use "MakeGlobal()" instead.

    One consequence of that bug can be encountered in a Ding0's Quest Pack, "Additional Shadow Thieves Content" component, where the expanded Mae'Var quest doesn't work out as intended if you choose to betray Edwin.

  2. [BG2EE] Cowled Enforcers should not turn on themselves

    The combat scripts of several cowled enforcers are set up to cast hostile spells on their own members. I have identified several script blocks which probably need an update.

    COWENF01.BCS:

    Spoiler
    IF
      Allegiance(Myself,ENEMY)
      See(SecondNearest([ENEMY]))
      !StateCheck(LastSeenBy(Myself),STATE_STUNNED)
      HaveSpell(WIZARD_POWER_WORD_STUN)
    THEN
      RESPONSE #100
        Spell(LastSeenBy(Myself),WIZARD_POWER_WORD_STUN)
    END
    
    IF
      See(SecondNearest([ENEMY]))
      HaveSpell(WIZARD_GREATER_MALISON)
      HaveSpell(WIZARD_CHAOS)
    THEN
      RESPONSE #100
        DisplayString(Myself,31024)  // Magic Tattoo—Mirror Image
        Spell(LastSeenBy(Myself),WIZARD_GREATER_MALISON)
        Spell(LastSeenBy(Myself),WIZARD_CHAOS)
        ApplySpell(Myself,WIZARD_MIRROR_IMAGE)
    END

    COWENF02.BCS:

    Spoiler
    IF
      Allegiance(Myself,ENEMY)
      See([0.0.0.MAGE])
      HaveSpell(WIZARD_POWER_WORD_SILENCE)
    THEN
      RESPONSE #100
        Spell(LastSeenBy(Myself),WIZARD_POWER_WORD_SILENCE)
    END
    
    IF
      Allegiance(Myself,ENEMY)
      See([ENEMY])
      HaveSpell(WIZARD_GREATER_MALISON)
      HaveSpell(WIZARD_CHAOS)
    THEN
      RESPONSE #100
        DisplayString(Myself,31024)  // Magic Tattoo—Mirror Image
        ApplySpell(Myself,WIZARD_MIRROR_IMAGE)
        Spell(LastSeenBy(Myself),WIZARD_GREATER_MALISON)
        Spell(LastSeenBy(Myself),WIZARD_CHAOS)
    END

     

  3. On 2/1/2024 at 11:49 PM, szef said:

    E: Wbm not working only in PSTEE ;(.

    So, what's the deal with pvrz as an animation?

    PSTEE doesn't provide all the features of the BGEE engine. WBM support may be one of them.

    I haven't seen any instances of background animations using PVRZ in the games yet. But I can imagine that it might be useful if you need a static image as background animation.

  4. 13 hours ago, ktchong said:

    I likely will not install A7's Shader Pack.  Having to reinstall the mod every time I want to change the lighting settings does not appeal to me.

    Except in the case of reinstallation, mod order is actually irrelevant for this mod. The recommended lighting preset should be good enough if you're unsure what to choose. There is usually no need to change the lighting settings once it is installed.

  5. This component modifies stack size only if the chosen size is greater than the original size. Ammo stack size in vanilla EE games is already 80, so setting it to 40 or 80 doesn't change anything.

    Component description in the readme is somewhat vague in this respect, as the only hint can be found in the component name.

  6. I'm not sure if these issues count as bugs that should be fixed by EEFP. They are definitely annoying though.

    1. Some portal activation scripts in PSTEE use HarmlessEntered([PC]) instead of HarmlessEntered(Player1) to trigger portal-related dialogs, which causes the dialog to trigger for each party member individually that enters the trigger region unless they all enter in the same script round. I'd suggest to change all these instances to HarmlessEntered(Player1) unless there's a good reason that someone else than TNO should trigger a portal.

    Affected scripts: 0101PRT1.BCS, 1000PORT.BCS, 1500LIPS.BCS, TO0610A.BCS, TO0610B.BCS

    2. The portal activation scripts from and to the secret area in Ravel's Maze are coded so that when you arrive at the destination the dialog for activating the portal back to the source are triggered immediately. With a bigger party this dialog can be triggered multiple times when you try to move away from the portal. Adding a small delay to the trigger script could fix this issue.

    Affected scripts: TO0610A.BCS, TO0610B.BCS

    Suggestions?

  7. 17 minutes ago, Incrementis said:

    Here are my questions:

    • Is this normal behaviour?

    Yes. The ALWAYS block is executed for each component separately. This is necessary since the user may choose to install both components at once or each component by a separate WeiDU call.

     

    17 minutes ago, Incrementis said:

    Does it make sense to solve this via ACTION_READLN or is there a better way to solve this?

    ACTION_READLN only allows the user to enter data. It doesn't directly solve the problem of sharing data between components.

    To forward array data from one component to another you could use text files with the array content. Another (and probably better) option would be to generate a WeiDU script file (.tph) dynamically by component 1 with the updated array definition that can then be INCLUDEd by component 2 if it exists.

  8. Spellhold Studios

    Trials of the Luremaster for Baldur's Gate

    Trials of the Luremaster for Baldur's Gate is a port of the Icewind Dale expansion for the Baldur's Gate series. It is available for BG2:EE, SoD and EET.

    Version 4.3 adds Simplified Chinese translation to the mod, by Lewis Liu.

    You can grab the latest release from the download links below.

    Download: GitHub
    Forums: SHS, Beamdog
    Readme

  9. Magic Store of Vergadain

    The mod allows you to acquire a magical artifact called "Magic Store of Vergadain" that provides the means to visit any store you have visited in the past. Getting your hands on this unique artifact involves a small quest of one kind or another. It is available for original BG2, Tutu, BGT, BG:EE, SoD, BG2:EE, EET and IWD:EE.

    Version 4.0 adds a new subcomponent to tweak the Magic Store artifact and updates French and Polish translations.

    Download: GitHub

    Discussion: G3, Beamdog

    Readme

  10. Spellhold Studios

    Reveal Hidden Gameplay Options

    This is a mod for all Enhanced Edition games that adds a great number of useful options directly to the game's options menu. These options include the (in)famous debug console, various convenience and graphics options and many more.

    Version 4.6 updates the Simplified Chinese translation and Project Infinity metadata.

    Links:

  11. This error seems to be originally caused by TA's subcomponent "More Interjections".

    The issue can be reproduced by

    1. Installing "More Interjections"
    2. Reinstalling "More Interjections"

    @CamDawg More specifically, it's caused by this code.

    My guess is that the IDS table isn't properly reloaded by WeiDU between the uninstallation and (re-)installation step. Possibly a WeiDU bug?

    As a workaround I could fix it by adding CLEAR_IDS_MAP as the first action to the subcomponent before everything else.

     

    @Proclaim_TV To fix it locally open the file "cdtweaks\setup-cdtweaks.tp2" in your game directory with a text editor. Jump to line 1274 or search for the string "LABEL ~cd_tweaks_more_interjections~" (without the quotes). Right after that line insert a new line with this command:

    CLEAR_IDS_MAP

    and save the file. It should (hopefully) fix this issue when you install or reinstall more mod components.

  12. 19 minutes ago, DavidW said:

    any reason not to just read the number from dialog.tlk?

    That'll probably work too in most cases. However, it might fail with an error if the dialog.tlk size is >16 MB because of (32-bit) WeiDU restrictions. It may also miss strings added by the current installation process since I'm not sure whether WeiDU writes them immediately to disk or just caches them in memory until the installation is complete.

  13. This is a small function that could come in handy to determine the string count in the dialog.tlk. It uses a constant (and small) number of iterations to determine the string count regardless of the actual dialog.tlk size.

    Code:

    Spoiler
    /**
     * Determines the current number of available strings in the dialog.tlk.
     *
     * INT_VAR bits   A positive number that determines the string range to cover.
     *                Default is 24 which covers up to 2^24 = 16,777,216 string entries.
     * RET count      Returns the number of available string entries.
     */
    DEFINE_DIMORPHIC_FUNCTION count_tlk_entries
    INT_VAR bits = 24
    RET count
    BEGIN
      OUTER_SET strref = 1 << bits
      OUTER_SET less = 1
      OUTER_FOR (subrange = (1 << bits) / 2; subrange > 0; subrange >>= 1) BEGIN
        OUTER_SET strref = less ? (strref - subrange) : (strref + subrange)
        ACTION_GET_STRREF strref string
        OUTER_SET less = ~%string%~ STR_EQ ~<Invalid Strref %strref%>~
      END
      OUTER_SET count = strref + (NOT less)
    END
    
    // Usage:
    LAF count_tlk_entries RET count END
    PRINT ~Number of strings in dialog.tlk: %count%~

    Update: The WeiDU command NEXT_STRREF seems to provide the same functionality as this function. I leave it here for educational purposes.

  14. 7 hours ago, grogerson said:

    Trying EET for the first time with no success. I tried from a clean install of BG2EE and a clone with the same result. Attached is my setup-eet.debug file.

    According to the attached debug file it looks like EET could not create a desktop shortcut for the EET game. This is a purely optional feature of EET which (imo) shouldn't have been added to EET in the first place since it's prone to failure.

    You can either run setup-EET.exe from the command line with an additional argument that skips desktop shortcut creation:

    setup-EET.exe --args s

    Or you could open EET\EET.tp2 in a text editor, scroll all the way down and remove everything starting with the line

    ACTION_IF (~%argv[0]%~ STRING_CONTAINS_REGEXP ~[Ss]~ = 0) BEGIN

    and everything afterwards. This will remove the shortcut creation from the mod.

  15. According to NI's Advanced Search I could find

    in BGEE+SoD+BP:
    - 264 detectable traps
    - 436 locked containers
    - 64 locked doors

    in BG2EE+BP2:
    - 188 detectable traps
    - 318 locked containers
    - 46 locked doors

    In BGEE the XP bonus would be negligible. In BG2EE that would be a bonus of more than 1M XP when unlocked/disarmed by thieves of level 16 or higher. However, these numbers include all campaigns and NPC/Quest-specific areas.

  16. 57 minutes ago, AL|EN said:

    This is how Apple is doing things: an application downloaded from the internet must be moved by the user, otherwise it has not access to it's 'Package content' aka files laying directly where the executable is.

    I suggest you add some folder check during extraction: If macOS version of the app is trying to launch itself from the "Downloads" folder, display a dialog asking to move the app and relaunch.

    The macOS version gives me the biggest headache. Mostly because there is no way to associate file types with the app without signing abilities but also because of the increasing number of restrictions Apple adds to each new macOS version. Moreover my macOS testing capabilities are limited to the version that can still run as VM on my system (currently Monterey).

    I'll look into it. In the worst case I have to remove the portable version for macOS.

     

    50 minutes ago, AL|EN said:

    First-time launch is confusing:

    - application is launched
    - instead of the main window, the user is present to select a file, at macOS default settings the required file extension (tp2) is hidden from the user interface until the 'kind' option
    - no main application window is displayed and the 'file selection dialog' is not always topmost

    My suggestion would be first to show the main window to match standard GUI application behavior and then either show the 'file selection dialog' or leave it to the user to click the button.

    The Open File dialog was an attempt to quickly choose a mod for installation. But I can see that it might be confusing for the user when it pops up for the first time. I'll see if there is anything that can be improved.

×
×
  • Create New...