Jump to content


Photo

Mod conflicts


  • Please log in to reply
10 replies to this topic

#1 Wisp

Wisp
  • Modder
  • 1353 posts

Posted 11 July 2011 - 09:26 AM

Aurora contains this:
COPY_EXISTING ~spwi102.spl~ ~override/spin138.spl~ //Armor
              ~spwi416.spl~ ~override/spin139.spl~ //Polymorph Self
              ~spwi322.spl~ ~override/spin140.spl~ //Detect Illusion
              ~spwi402.spl~ ~override/spin141.spl~ //Dimension Door
              ~spwi609.spl~ ~override/spin142.spl~ //True Sight
              ~spwi305.spl~ ~override/spin143.spl~ //Haste
              ~spwi306.spl~ ~override/spin144.spl~ //Hold Person
              ~spwi310.spl~ ~override/spin145.spl~ //Non-Detection
              ~spwi701.spl~ ~override/spin146.spl~ //Spell Turning
              ~spwi423.spl~ ~override/spin147.spl~ //Spider Spawn
              ~sppr403.spl~ ~override/spin148.spl~ //Free Action
              ~spwi413.spl~ ~override/spin149.spl~ //Otiluke's Resilient Sphere
  PATCH_IF SOURCE_SIZE > 0x71 BEGIN
[...]

However, this can conflict with other mods that also make use of the SPIN namespace. Notably, SCSII uses ADD_SPELL to add an innate spell it uses to detect traps. On BWP installs this innate ends up occupying the name SPIN139, which is then overwritten by Aurora, with the result that whenever the player lays a trap, he has Polymorph Self cast upon him. Link

While I'm here I should mention that Aurora doesn't install on Linux out-of-the-box, because it tries to run the t-ansi batch file whenever the OS isn't OS X (as opposed to, only when the OS is Windows).

Edited by Wisp, 11 July 2011 - 09:31 AM.


#2 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 11 July 2011 - 12:28 PM

OMG, Miloch's mod is actually overwriting stuff!

Quick, someone notify Demivrgvs and Mike! :lol:

#3 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 11 July 2011 - 08:29 PM

OMG, Miloch's mod is actually overwriting stuff!

Quick, someone notify Demivrgvs and Mike! :lol:

:P (I thought you retired?)

At the time, it didn't overwrite, because that entire section of the SPIN namespace was free for some space in either direction on a BWP expert install. Obviously, some mods have gobbled up the space since then. Also, I don't know if WeiDU had an intelligent ADD_SPELL command (at that time) that was worth the trouble of otherwise hardcoding the reserved innates. And actually, I'm still not sure if it does since it was under some debate I wasn't following too closely a while ago. But I suppose it makes sense to implement it for the next release (whenever that will be). It is still a finite space (I believe) regardless of something like ADD_SPELL.

While I'm here I should mention that Aurora doesn't install on Linux out-of-the-box, because it tries to run the t-ansi batch file whenever the OS isn't OS X (as opposed to, only when the OS is Windows).

Cheers, though I don't think it installed on OS X either, but I never got a confirmation on what the issue was. It helps if folks testing other OSes are explicit since I don't have access to them (well I have Linux but I'm not terribly keen on trying to install IE games on it). Anyway, if that's the only thing holding up the install on Linux should be easy enough to fix.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#4 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 11 July 2011 - 08:52 PM

(I thought you retired?)


I took a hint from Ascension64 and came back in a limited capacity while still remaining officially retired. :) Besides, someone had to make this.

At the time, it didn't overwrite, because that entire section of the SPIN namespace was free for some space in either direction on a BWP expert install.


Out of curiosity, why not simply prefix the innates with something like this:

COPY_EXISTING ~spwi102.spl~ ~override/t-wi102.spl~ //Armor

Edited by aVENGER, 11 July 2011 - 08:53 PM.


#5 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 11 July 2011 - 09:30 PM

Out of curiosity, why not simply prefix the innates with something like this:

COPY_EXISTING ~spwi102.spl~ ~override/t-wi102.spl~ //Armor

They are gained as actual innates under special random circumstances involving an artifact of Halruaa. So I'm pretty sure they need the SPIN prefix, otherwise I wouldn't've bothered even copying them at all (I'd've used the wizard/priest spells). Similarly, I imagine patching the actual artifact to use some sort of dynamically-generated spell names could be the devil's own work (but difficulty wouldn't stop me from patching something, unlike it seems to do for some people :)).

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#6 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 11 July 2011 - 10:29 PM

They are gained as actual innates under special random circumstances involving an artifact of Halruaa. So I'm pretty sure they need the SPIN prefix


Nope, RR/aTweaks assign RR# prefixed innates both through CLAB**** files and via AddSpecialAbility() action and they always worked as expected.

#7 Wisp

Wisp
  • Modder
  • 1353 posts

Posted 12 July 2011 - 02:46 AM

Anyway, if that's the only thing holding up the install on Linux should be easy enough to fix.

There's also a character encoding issue, what with the filenames of Aurora's BAM files being encoded in Windows-1252. If that's close enough to one of the ISO encodings you can probably jiggle it into UTF-8 and have it work (possibly also needing to do something about the encoding of the TP2 code), but I didn't get that far.

#8 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 12 July 2011 - 01:24 PM

Nope, RR/aTweaks assign RR# prefixed innates both through CLAB**** files and via AddSpecialAbility() action and they always worked as expected.

Hmm, so it works in items/spells with opcode #171 too? I thought there was some pitfall with not having the SPIN prefix for innates. It's possible it was only for BG1 - since this mod isn't and likely will never be compatible with vanilla BG1 I suppose it wouldn't apply.

There's also a character encoding issue, what with the filenames of Aurora's BAM files being encoded in Windows-1252.

We're going to do something about that, which requires .exe patch revision. Which Erephine did, but it requires also a simultaneous overhaul of the code and files in both IA and Aurora, so I need a good chunk of time to implement and test it. We're switching to these prefixes, which hopefully should be compatible with any OS and language combination:
£ --> !
Æ --> $
Þ --> &
¢ --> ,
µ --> @
Ð --> -
¥ --> '
Ø --> =
I might have enough time to update both later in August (if I can do it in a week or two) unless something else comes up. (Then again, I understand you are in the business of taking on maintenance for mods whose authors are too busy/lazy to do it - now that aVENGER is 'back', care to switch from aTweaks/RR to Aurora/IA? :D)

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#9 Wisp

Wisp
  • Modder
  • 1353 posts

Posted 13 July 2011 - 10:05 AM

We're switching to these prefixes, which hopefully should be compatible with any OS and language combination:

£ --> !
Æ --> $
Þ --> &
¢ --> ,
µ --> @
Ð --> -
¥ --> '
Ø --> =

I'm not sure about apostrophe and hyphen on *nix. They seem to work in a quick test, but who knows. WeiDU seems to be able to handle all of them, but bash and sh won't be able to handle that set (and I suspect some of the characters have special meaning in Window's command language, as well), in case that matters.

(Then again, I understand you are in the business of taking on maintenance for mods whose authors are too busy/lazy to do it - now that aVENGER is 'back', care to switch from aTweaks/RR to Aurora/IA? :D)

Unfortunately I do not think my schedule permits any additional time sinks.

Edited by Wisp, 13 July 2011 - 10:26 AM.


#10 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 13 July 2011 - 10:25 AM

...now that aVENGER is 'back'...


More like making a special guest apperance. ;)

For the record, I don't plan on actively maintaining RR and aTweaks again, but I might contribute some stuff every now and then.

I'm not sure about apostrophe and hyphen on *nix. They seem to work in a quick test, but who knows.


Same goes for the equals sign on Windows.

#11 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 13 July 2011 - 12:12 PM

WeiDU seems to be able to handle all of them, but bash and sh won't be able to handle that set (and I suspect some of the characters have special meaning in Window's command language, as well), in case that matters.

We should be able to do away with batch and shell scripts entirely, using the same WeiDU syntax you proposed for Kelsey (and is implemented in Fishing for Trouble's tp2). I'm pretty sure the hyphen at least is ok in Unix filenames since I use it all the time. As for the other characters, they are all permitted in Win filenames and even DOS ones. Mac and Unix only prohibit : and /. I was careful to pick those that actually worked in filenames. We could use numbers, but I wanted to avoid conflicting with any modder prefixes (though the chances of conflicting with those in creature animation filenames are slim to none).

Same goes for the equals sign on Windows.

Well it is allowed, but now that I think of it, we replaced one of those with the underscore. Which is used in Tutu filenames but doesn't conflict in BAMs. I think it was the comma we changed though. (Edit: yeah, it was - because it might screw up comma-delimited logs I used to use, though now I usually use tab-delimited.)

Edited by Miloch, 13 July 2011 - 12:13 PM.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle