Jump to content

Mike1072

Gibberling Poobah
  • Posts

    3,186
  • Joined

Posts posted by Mike1072

  1. Check out the home page of Larian Studios, developers of the Divinity series.

    http://larian.com/

    The .mp4 file on the page has this this information embedded in it:

    <dc:title>
      <rdf:Alt>
        <rdf:li xml:lang="x-default">BaldursGate_logo_III_retouched.png</rdf:li>
      </rdf:Alt>
    </dc:title>
    <photoshop:TextLayers>
      <rdf:Bag>
        <rdf:li
                photoshop:LayerName="©2019 Wizards of the Coast. All rights reserved. Baldur's Gate,"
                photoshop:LayerText="©2019 Wizards of the Coast. All rights reserved. Baldur's Gate, Dungeons &amp; Dragons, and their respective logos are registered trademarks of Wizards of the Coast LLC. ©2019 Larian Studios. All rights reserved. Larian Studios is a registered trademark of Arrakis nv, affiliate of Larian Studios Games ltd."/>
        <rdf:li
                photoshop:LayerName="GATHER YOUR PARTY"
                photoshop:LayerText="GATHER YOUR PARTY"/>
        <rdf:li
                photoshop:LayerName="GATHER YOUR PARTY"
                photoshop:LayerText="GATHER YOUR PARTY"/>
      </rdf:Bag>
    </photoshop:TextLayers>

     

  2. I disabled Gravatar in the settings, which may be why your avatar disappeared.  Gravatar will no longer being supported in future versions of the forum software, so I was getting a head start.

    You should be able to edit your Profile by clicking your name in the top right, then clicking Profile, then clicking Edit Profile on your profile page.

  3. There are many different implementations of regular expressions.  The different implementations each have their own syntax and support for different operations.

    @AL|EN 's site may be helpful to learn some of the concepts, but keep in mind that, by comparison, WeiDU's regular expressions are relatively basic. They also employ a different syntax.  This is the full explanation of regular expressions from the WeiDU readme:

    Quote

    A regular expression or regexp is "somewhat" like a DOS wildcard but not quite. The big difference is that if you would say * in DOS you say .* in regexp-land. Here’s a definition:

    The syntax for regular expressions is the same as in Gnu Emacs. The special characters are:

    
    $^.*+?[]\
    

    The following constructs are recognized:

    
       .      matches any character except newline
       *      (postfix) matches the previous expression zero, one or several times
       +      (postfix) matches the previous expression one or several times
       ?      (postfix) matches the previous expression once or not at all
       [..]   character set; ranges are denoted with -, as in [a-z];
              an initial ^, as in [^0-9], complements the set
       ^      matches at beginning of line
       $      matches at end of line
       \|     (infix) alternative between two expressions
       \(..\) grouping and naming of the enclosed expression
       \1     the text matched by the first \(...\) expression
              (\2 for the second expression, etc)
       \b     matches word boundaries
       \      quotes special characters.
    

    So spe.* matches "sper01.itm" and "sper.eff" and "special".

    Hopefully this is understandable to most people.

     

  4. 1 hour ago, NdranC said:

    I don't know if this issue is under your purview but after running an EET install last night I noticed Lord Foreshadow gave me a Ring of Human Influence that sets my Charisma to 18 and 1 charm per day. This ring doesn't seem to be affected by the changes on IRR. I found out BG1NPC project seems to be the mod that added that specific item and interaction but under their changelog it claims that they added compatibility with IR back in 2009? Wondering if your changes to IR could be undoing the compatibility.

    Quotes from the relevant posts (initial report and fix).

    On 9/9/2009 at 6:22 AM, Salk said:

    BG1NPC project introduces a ring that according to description raises the Charisma of the wielder to 18. Together with IR, this increase is of only 1 point (and I do welcome it!). Could you please make a BG1 NPC check and, if positive, amend the text description so that the charisma modification is reported correctly?

    On 9/17/2009 at 3:19 PM, cmorgan said:

    Anyways, it is a small file to drop into place. Exported ~RING30.itm~ from a clean install and named it x#ringro.itm.

    So, the original issue was that BG1NPC was creating its version via COPY_EXISTING, but assigning a new description that matched the unmodified abilities.  Therefore, the item description and abilities did not match up.  cmorgan's fix was to include a version of the unmodified item in BG1NPC to ensure the description would be accurate.

    This is still how it is being done today:

    https://github.com/Gibberlings3/BG1NPC/blob/21764e059231e36240ea10513f1f6af6ee2003e4/bg1npc/bg1npc.tp2#L613-L618

  5. 3 hours ago, jastey said:

    @Mike1072 In your example, is "exampe_dv" a variable I can use with OUTER_SPRINT for the rest of the mod?

    Yes.  Any time that variables are assigned (except within functions), those variables can be accessed anywhere.

    On 3/25/2019 at 8:41 AM, DavidW said:

    (Incidentally, it needs to be an action rather than a patch function because as far as I'm aware there's no totally reliable way of finding the resref of the file being patched.)

    You should still have access to SOURCE_RES.  If you were writing a generic patch function, you might not want to rely on it (since it can easily be overridden by an INNER_ACTION) but for something simple like this, it should be okay.

    That being said, this works perfectly fine as an action function.

  6. 11 hours ago, jastey said:

    We could use this (suggestions for code optimization welcome):

    
    /* Patch Exampe.cre with DV */
    COPY_EXISTING ~Exampe.CRE~ ~OVERRIDE~
    READ_ASCII 0x280 ~DV~
    PATCH_IF ((~%DV%~ STRING_EQUAL ~~) OR (~%DV%~STRING_EQUAL_CASE ~none~)) BEGIN
    WRITE_ASCIIE DEATHVAR	~%SOURCE_RES%~ #32 // ~Exampe~
    END
    
    /* Load the cre again and read the current DV */
    COPY_EXISTING ~Exampe.CRE~ ~OVERRIDE~
    READ_ASCII 0x280 ~DV~
    OUTER_SPRINT ~Exampe_dv~ ~%DV%~

     

    /* fetch DV for exampe.cre */
    COPY_EXISTING ~exampe.cre~ ~override~
      READ_ASCII 0x280 exampe_dv
      PATCH_IF ((~%exampe_dv%~ STRING_EQUAL ~~) OR (~%exampe_dv%~ STRING_EQUAL_CASE ~none~)) BEGIN
        TEXT_SPRINT exampe_dv ~%SOURCE_RES%~
        WRITE_ASCIIE DEATHVAR ~%exampe_dv%~ #32
      END
      BUT_ONLY

    This also could/should be rewritten into a function.  I'm on mobile right now which makes writing code painful so I'm not going to do that now.

  7. In that case, I'd scan both SPWI files (that aren't excluded by HIDESPL) and scrolls for 147 effects.  You could do some checking to make sure that the spells are valid, but it sounds like nothing bad would happen if you included something that they can't actually get.

    Edit: I wanted to mention that I don't believe SPELL.IDS has any effect in determining which spells are shown to players at chargen - it's all dependent on the filename.

  8. 7 hours ago, subtledoctor said:

     

    On 2/20/2019 at 6:38 AM, subtledoctor said:

    does anyone have suggestions for the best way to generate an array of all learnable wizard spells?  My current ideas are:

    - Check all scrolls for 147 effects where the underlying .SPL is type=arcane;

    - Trawl through SPELL.IDS for arcane spells of level 1 and higher

    - Check all filenames conforming to [Ss][Pp][Ww][Ii][1-9][0-5][0-9]

    ...In fact I think I use each of those methods at different places in different mods.  Is there an accepted or more-recommended way to do this?

    Any of those three methods might be prone to both false negatives and false positives, in an unpredictable modded game environment...

    I suppose I could just combine a couple of them, and make a master .2da list of learnable wizard spells...

    My first instinct would be to use filenames.  You might want to use filenames & 147 effects.

    The big decider is how important it is that you catch every possible spell that a player could learn.  Are you aiming for just wizard spells or wizard and sorcerer spells?  What about spells added in CLAB files?

  9. Not sure what that error is, but there is an issue with READ_2DA_ENTRIES_NOW row cols.  The second parameter is the required column count.  Instead of using cols (which doesn't appear to be defined), you could put a 1 there.

    However, the entire section of code in the previous post could be replaced with this:

    OUTER_SET prepared_spells_state = IDS_OF_SYMBOL (~splstate~ ~D5_SPL_PREP~)

     

    1. You should be starting with a blank .baf file.  Having the SPWI101 block in there means you have to take extra steps to avoid adding a duplicate block later.
    2. APPEND is generally for game files.  You don't really need your .baf file in the override.  You can use APPEND_OUTER to append to files that are not in the override.  It may even work with inlined files, which would simplify things.
  10. 5 hours ago, subtledoctor said:

    EDIT - is there any way to make "paste as rich text" NOT be the default behavior? For that matter, if I cut and paste text to a different place in the same post, how does that change the formatting??

    Yes, but then nobody would be able to paste any formatted text.  It's up to you to either paste it unformatted or click the button that removes the formatting.

  11. I've had a discussion about this in the past.

    Quote

    Even though the Creative Commons licenses are not recommended for software, I think they would work well enough for mods. I like that it's easy to select between different variations and they have handy understandable explanations. I left out the share-alike versions since explaining those gets complicated and I don't know if our community really cares about that aspect.

    Commercial use restricted

    License Permissions
    © "All rights reserved"
    BY-NC-ND Share the work non-commercially with attribution
    BY-NC Share and modify the work non-commercially with attribution

    Commercial use unrestricted

    License Permissions
    BY-ND Share the work with attribution
    BY Share and modify the work with attribution
    CC0 "No rights reserved" (Share and modify the work unconditionally)

     

×
×
  • Create New...