Jump to content

mickabouille

Members
  • Posts

    510
  • Joined

  • Last visited

Posts posted by mickabouille

  1. Hi,

    I think this is probably a typo, regarding mage spell for a Druid/Ranger...

    Unless Druid/Ranger is actually modelled as a Cleric/Mage?

    Quote

    Druid/Rangers will be asked to select one too many mage spells to memorize at character creation. (The extra spells will be grayed out and uncastable; you can delete them from your memorized spells in-game.)

     

  2. I managed to get a failure with "just" component 2000 Install all spell tweaks (if you don't select this, you will be given a chance to choose by category): 35.2
    which admittedly doesn't restrict much as it's a multiple components in one.

     

    EDIT: now I got it with just 2060

    // Log of Currently Installed WeiDU Mods
    // The top of the file is the 'oldest' mod
    // ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
    ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #2060 // Rebalancings of slightly-too-powerful spells: 35.2

    Adding logs (why do we need to use different log command when in PATCH_ or not? This is messed-up) showed me when I have the failure, it always happens when ADD_STORE_ITEM adding an antimagic shell scroll in "edion.sto". unless I misread things (not a modder).

  3. (was on 35.1 initially, just tested again on 35.2 before submitting)

    On iwd:ee I have random failure when installing this component. Sometimes it will install fine (weidu reports a success with no error visible in debug file) and sometimes it will fail with exactly the same components selected.

    Each time when there is an error it's the same:

    ERROR: [edion.sto] -> [override/edion.sto] Patching Failed (COPY) (Invalid_argument("String.blit / Bytes.blit_string"))

    weidu.log

    // Log of Currently Installed WeiDU Mods
    // The top of the file is the 'oldest' mod
    // ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
    ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #1600 // Use Baldur's Gate-style Insect Plague and Creeping Doom instead of Icewind Dale versions: 35.2
    ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #1610 // Use Baldur's Gate-style Mordenkainen's Sword in addition to Icewind Dale version: 35.2
    ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #2000 // Install all spell tweaks (if you don't select this, you will be given a chance to choose by category): 35.2

    OS is linux, no idea if that's a condition.

    I'd say the failure happens roughly half the time or maybe 1/3.

    EDIT:apparently I can't obtain a failure with _just_ component 3510
     

    setup-stratagems.debug.zip

  4. This one involves substrings lookup I think

    In the "lib_ietools.tph" file there is a function

    DEFINE_DIMORPHIC_FUNCTION handle_unusable

    It searches inside an item for the strrref for "unusable by:" like that:

    OUTER_SET strref=is_iwd?34753:is_bg2?74251:31522

    For example on bg2ee in french it willl decide on

    @74251 = ~Non utilisable par :~

    The little space between "par" and the colon is a "no-breaking space"

    Then it looks up (IIUC) this string inside an item description.

    index=INDEX_BUFFER ("%unusable_string%")

    For the first one (order in fineweapon.2da created in fine_weapons.tpa), ax1h01, it apparentlu obtains

    [...]
    Non utilisable par :
    [...]

    But there the space between "par" and the colon is a basic ascii space (so not the same character).

    So it find nothing and index is -1

    The DELETE operation that follows ends up with

    ERROR: [ax1h01.itm] -> [override/ax1h02.itm] Patching Failed (COPY) (Invalid_argument("String.sub / Bytes.sub"))

     

    NOTE: The french version is not actually installable at the moment (missing too many tra entries). So this is not easily reproducible right now. Maybe just this component (3020) is installable by itself.

  5. I think that's probably a weidu bug.

    I've seen traces in the changelog that the "temporarily uninstalled" case is not under complete control.

    Version 67:
      * Fixed a bug where temporarily uninstalled components would be
        handled poorly when you wanted to re-install them, blah, I can't
        even describe this bug. Anyway, it caused (at least) at lot of
        errors like "Unix.Stat(solarom/uninstall/1/uninstall.1)" but it
        didn't seem to actually hurt anything. Still, it marked a
        conceptual flaw in my understanding of what was going on.

     

    (10 years ago, and the occasional bugfix after that. Not judging, these things are _HARD_)

  6. Ok thanks, I can see it now.

    Strange indeed.

    Somehow, it feels like an "uninstall in the wrong order".

    If you first uninstall component 1 (portraits), no error. Then uninstall component 0, no error.

    But if you uninstall whole mod in one go, the error appears.

    EDIT: in fact, the log says

    • must temporarily uninstall comp 1
    • done
    • uninstall comp 0
    • done
    • now uninstall comp 1
    • woops "already temporarily uninstalled"
    • unable to unlink etc.

     

     

  7. Hmm I may have missed a step

    - install the 2 components of fishing (the portrait one is dependant on the first component)

    - weidu uninstall

    But I saw no error in the output

    Full output:

    weidu --uninstall FishingForTrouble/FishingForTrouble.tp2[weidu] WeiDU version 24900
    [./chitin.key] 191 BIFFs, 62570 resources
    [./lang/fr_fr/dialog.tlk] 106832 string entries
    [./lang/fr_fr/dialogf.tlk] 106832 string entries
    [./lang/de_de/dialog.tlk] claims to be writeable.
    [./lang/de_de/dialog.tlk] claims to be a regular file.
    [./lang/de_de/dialogf.tlk] claims to be writeable.
    [./lang/de_de/dialogf.tlk] claims to be a regular file.
    [./lang/en_us/dialog.tlk] claims to be writeable.
    [./lang/en_us/dialog.tlk] claims to be a regular file.
    [./lang/es_es/dialog.tlk] claims to be writeable.
    [./lang/es_es/dialog.tlk] claims to be a regular file.
    [./lang/es_es/dialogf.tlk] claims to be writeable.
    [./lang/es_es/dialogf.tlk] claims to be a regular file.
    [./lang/fr_fr/dialog.tlk] claims to be writeable.
    [./lang/fr_fr/dialog.tlk] claims to be a regular file.
    [./lang/fr_fr/dialogf.tlk] claims to be writeable.
    [./lang/fr_fr/dialogf.tlk] claims to be a regular file.
    [./lang/it_it/dialog.tlk] claims to be writeable.
    [./lang/it_it/dialog.tlk] claims to be a regular file.
    [./lang/it_it/dialogf.tlk] claims to be writeable.
    [./lang/it_it/dialogf.tlk] claims to be a regular file.
    [./lang/ko_kr/dialog.tlk] claims to be writeable.
    [./lang/ko_kr/dialog.tlk] claims to be a regular file.
    [./lang/pl_pl/dialog.tlk] claims to be writeable.
    [./lang/pl_pl/dialog.tlk] claims to be a regular file.
    [./lang/pl_pl/dialogf.tlk] claims to be writeable.
    [./lang/pl_pl/dialogf.tlk] claims to be a regular file.
    [./lang/ru_ru/dialog.tlk] claims to be writeable.
    [./lang/ru_ru/dialog.tlk] claims to be a regular file.
    [./lang/ru_ru/dialogf.tlk] claims to be writeable.
    [./lang/ru_ru/dialogf.tlk] claims to be a regular file.
    [./lang/zh_cn/dialog.tlk] claims to be writeable.
    [./lang/zh_cn/dialog.tlk] claims to be a regular file.
    Using Language [English]
    [English] has 1 top-level TRA files
    [FishingForTrouble/language/english/english.tra] has 3441 translation strings
    
    Using ./lang/fr_fr/dialog.tlk and ./lang/fr_fr/dialogf.tlk
    FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2  0  0 Installed
    FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2  0  1 Installed
    
    Removing [Fishing for Trouble by Yovaneth] (component #0)
    uninstall: FishingForTrouble/FishingForTrouble.tp2 0
    We must temporarily uninstall [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1
    Will uninstall  63 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1.
    Uninstalled     63 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 1.
    Will uninstall 1739 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0.
      Restoring backed-up [FishingForTrouble/backup/0/areas_bg2.tbl]
    Uninstalled    1739 files for [FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2] component 0.
    
    
    SUCCESSFULLY REMOVED [Fishing for Trouble by Yovaneth] (component #0)
    
    Removing [Fishing for Trouble - Major character portraits] (component #1)
    uninstall: FishingForTrouble/FishingForTrouble.tp2 1
    uninstall: FishingForTrouble/FishingForTrouble.tp2 1 already temporarily uninstalled
    
    
    SUCCESSFULLY REMOVED [Fishing for Trouble - Major character portraits] (component #1)
    Saving This Log:
    FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2  0  0 Permanently_Uninstalled
    FISHINGFORTROUBLE/FISHINGFORTROUBLE.TP2  0  1 Permanently_Uninstalled
    [FishingForTrouble/language/english/english.tra] has 3441 translation strings

    And TIL weidu doesn't append to debug files when uninstalling (missing an option maybe?)

    Maybe that's a language thing? I'll try again with "en_US" in weidu.conf...

     

    EDIT: didn't change anything

  8. So replacing for example

    COPY ~fishingfortrouble/areas/cloudpeaks/.~ ~override/.~

    with

    COPY ~fishingfortrouble/areas/cloudpeaks~ ~override~

    The mod installs, doesn't creat eduplicates in uninstall.0 and uninstalls witout the errors.

    But I don't know if it actually creates an identical installation.

    Maybe a binary diff of override/ would check that?

    EDIT: seems it didn't change anything to the result in override/

  9. And I'm puzzled by these constructs

    	COPY ~fishingfortrouble/areas/Calim Desert/cave/.~ ~override/.~
    	SAY 0x664 @411
    	SAY 0x728 @410

    It copies a _directory_ (not files) and then... patches string in?

    Wouldn't this need a glob (like ~fishingfortrouble/areas/Calim Desert/cave/*~) ?

    EDIT/ hm weidu doc agrees with these uses...

  10. I don't know if it's relevant but this mod seems to be a nightmare of mixed-casing

     

    Other than than, the fileswith errors seem to appear twice in backup/0/uninstall.0
     

    override/./ys0180.tis
    [...]
    override/YS0180.tis

    If (just a guess) weidu uses this file to remove installed files, then it will succeed to remove once, try a second time and fail.

     

    And the mod source contains multiple ocurrences of `override/.` in areas.tpa

  11. 20 hours ago, DavidW said:

    though tbh I don’t really want to be making blind edits. I need someone to tell me ‘I made these changes. Now it works fine on OSX

    Which is perfectly sensible.

    But I can't help further, I'd need both the changes...and the mac!

  12. Probably this part

    DEFINE_ACTION_FUNCTION ~compile_ssl_to_bcs_core~ INT_VAR skip_bcs=0 STR_VAR script="" variables="" booleans="" location="" locbase="" locabs="" rename_to="" inline="" BEGIN
     ACTION_IF !FILE_EXISTS "%workspace%/autolib.slb" BEGIN
         COPY ~.../stratagems-inline/blank~ ~%workspace%\autolib.slb~
     END

    It appears there is a bunch of these in the code, I don't know if all of them are used or are a problem (for example, if they are in a if WEIDU_OS they should be ok)

    %workspace%\
×
×
  • Create New...