Jump to content


Photo

[BWP] KIT.IDS fubar-ed


  • Please log in to reply
19 replies to this topic

#1 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 27 March 2010 - 06:17 AM

As has been reported by myself and a few others over in the BWP thread (BWP v8.3 thread) there appears to be some kind of problem with the Wildmage kit in BWP installs that has yet to be pinned down, probably because the reports of it have been sporadic due to the modular nature of the BWP, and it having managed to escape a lot of people's notice (not everyone wants to play a Wildmage). The symptoms of the problem have already been mentioned here (Chars changing classes mid-game), and after some changelogs we started digging through .tp2's to try and sniff out what was causing the Wildmage kit to be more broken than Jackie Chan's skeleton during a movie shoot. In case you were wondering, I'm posting this here because Refinements deals with assigning kits in order to function properly (and you might want to know what could potentially break your junk), and.. well, I've never written a scrap of code in my life and could use your expertise

My comments are pretty much all speculation. I'm sure there are things I've misunderstood or missed in ignorance, but that aside, here is the chain of .tp2 changes that appear to be relevant,
Spoiler



What I suspect is that the break occurs at Questpack and again later at Divine Remix, and that it can be fixed by replacing these lines in both of those .tp2s
REPLACE_TEXTUALLY ~.*\bBARBARIAN\b~              ~0x0000 BARBARIAN~

APPEND ~kit.ids~ ~0x0000 BARBARIAN~
UNLESS ~\bBARBARIAN\b~
with
REPLACE_TEXTUALLY ~.*\bBARBARIAN\b~              ~0x401F BARBARIAN~

APPEND ~kit.ids~ ~0x401F BARBARIAN~
UNLESS ~\bBARBARIAN\b~


What do you think?
BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING

#2 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 27 March 2010 - 07:41 AM

What makes you think that I am the correct person to ask how to fix a mod I am not the author of?

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#3 Hoppy

Hoppy

    Mage Hunter

  • Member
  • 2107 posts

Posted 27 March 2010 - 07:55 AM

What makes you think that I am the correct person to ask how to fix a mod I am not the author of?


Maybe a better question or a better phrasing of the question is what KIT.IDS patching/fix does Refinements work the best with as far as not getting the aforementioned errors? I assume G3 fixpack is the standard and any other mods that try to fix the IDS or think they fix it should not be installed pre-Refinements.
?May God defend me from my friends; I can defend myself from my enemies.? - Voltaire

"If you think that a size of the mod indicates an amount of bugs that it introduces and their severity you're totally wrong...
Try not to use next time a load of shitty "super-mega-improving-tweaking-revising" small mods that you have installed and try to meet Wulfgar once again."
- King Diamond


Posted Image The Definitive Guide to Trolls

"Finding food and a place to sleep is your own business. I imagine Paul the Cat should have some fun with you, too" - Potencius in The Darkest Day
"You have been warned, little bastard!" -Khelben to a young <CHARNAME>in Check the Bodies
There are those who will snivel, and offer nothing in return except criticism, meanwhile never lifting a finger to do other than to cut other peoples labor down simply for the fact that they lack the capability to put anything of their own together. -erebusant

#4 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 27 March 2010 - 09:11 AM

What makes you think that I am the correct person to ask how to fix a mod I am not the author of?

I don't know that anyone but the mod's creator would be the "correct" person to ask, and in an ideal world they'd always be there to answer you. But some of those dudes can't be reached and you're the code guru around here, so if it ain't you hoss, I don't know who it is. Also as Hoppy mentioned, I'm more concerned with what, in your opinion, would provide the best continuity chain leading into Refinements.

Edited by AndrewB, 27 March 2010 - 04:21 PM.

BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING

#5 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 28 March 2010 - 12:23 AM

Did some more digging. The fixpack uses the "0x0000 BARBARIAN , 0x0000 WILDMAGE" model but I found an old thread in the fixpack forum relating to this.

It occurs to me that maybe those other mods don't even need to be changed. Maybe Refinements could add a compatibility line to account for those with the 0x0000 BARBARIAN entry to make sure it gets them where they need to be. I would guess something like this to the end of it's kit.ids table:

REPLACE_TEXTUALLY ~0x0000 BARBARIAN~ ~0x401F BARBARIAN~

BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING

#6 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 28 March 2010 - 07:32 AM

I tried a bunch of variations and I can't get them to work. I'm afraid I'll have to block barbarians being dual-classable to thief and mage to avoid issues :(

Edited by the bigg, 28 March 2010 - 07:37 AM.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#7 Miloch

Miloch

    Barbarian

  • Modder
  • 6573 posts

Posted 28 March 2010 - 10:36 PM

Did some more digging. The fixpack uses the "0x0000 BARBARIAN , 0x0000 WILDMAGE" model but I found an old thread in the fixpack forum relating to this.

Very confusing. So which is right? The IESDP has barbarian at 0x4000 which I'm fairly certain is not right.

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


#8 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 29 March 2010 - 03:37 AM

In that thread in the Fixpack forum, Idobek says that he spent some time testing and he found out that 0x401f and 0x0000 are both correct and wrong in different and subtle ways - and Idobek is usually a very reliable guy.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#9 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 29 March 2010 - 05:28 AM

could this be doing it? This is from the "Currently Known Issues" thread here on the Refinements board.

G3 Tweak Pack: Dual-able barbarians has to be installed after Refinements, the rest of the G3 Tweak Pack has to be installed before Refinements. (install A before B, B before C and C before A :) )

my WeiDu log has it being installed before Refinements, and after checking BWP 8.3's .pdf and .bat, it appears that component is being installed out of order.

edit: It also appears that this component (of the G3 Tweak pack) has it's own KIT.IDS fixer that might overwrite your changes in refinements:
Spoiler

Edited by AndrewB, 29 March 2010 - 07:05 AM.

BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING

#10 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 29 March 2010 - 07:49 AM

That message is five years old, I can't recall what the problem is/was (and Use Scrolls was completely rewritten since that message was posted, so it's likely that any problems that might've existed are nonexistent now). I've also tested a dozen of kit.ids and scripting variations and none of them worked correctly, so I'll be lazy and simply disable barb->thief and barb->mage.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#11 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 29 March 2010 - 08:57 AM

bummer. Well, thank you for giving the issue your attention. I know you've had a lot going on with WeiDu and Generalized Biffing lately.
BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING

#12 maximus2001

maximus2001
  • Member
  • 525 posts

Posted 30 March 2010 - 08:41 PM

Well some good news! It is the BG2 Tweaks component #2140 // Expanded Dual-Class Options: v8. (for Barbarians and Wild Mages)

I removed this from the BWP install.bat and summoned Worgas the wildmage and it works fine. Weapons work, spells work, etc.

:cheers:

#13 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 31 March 2010 - 01:28 AM

I just noticed another little oddity in my KIT.IDS while looking in NI. Take a look at this section of my KIT.IDS and see if you notice anything out of place..

Spoiler


Also, what kind of trouble are you seeing with Barb/Thief? Is it just with the Use Scrolls HLA? I noticed some immediate problems with Barb/Mage (immediately after dual-classing the inactive class lost it's kit and when it reactived, it did so as a generic kitless-fighter and never regained Barb Rage and proper usability flags) but the only problem I noticed with Barb/Thief occurred when I took Use Scrolls. The inactive class reactivated properly and gained all of it's unique kit features and usabilities, but everything went haywire when I took Use Scrolls. The usability flag got all screwy, and the inactive class lost it's kit and reverted to a generic kitless fighter immediately after taking that HLA.

If it is just that HLA in particular, would you be able to just disallow them from using that particular HLA? Barbarian's are illiterate anyway.

Edited by AndrewB, 31 March 2010 - 02:11 AM.

BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING

#14 Wisp

Wisp
  • Modder
  • 1353 posts

Posted 31 March 2010 - 02:36 AM

I just noticed another little oddity in my KIT.IDS while looking in NI. Take a look at this section of my KIT.IDS and see if you notice anything out of place..

I think some mod(s) replace MAGESCHOOL_GENERALIST with WILDMAGE, rather than appending WILDMAGE. I don't think MAGESCHOOL_GENERALIST should be replaced.

#15 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 31 March 2010 - 02:52 AM

ahh, I see now. Yes, that makes sense. That entry is right where Generalist should be. I will try to pinpoint the mod doing it.
BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING

#16 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 31 March 2010 - 02:52 AM

And narrowing that down, I've scoured my mod folder for any that do this and (drumroll)

- Amber
- ding0's Tweakpack
- ding0's Questpack
- Kitanya

All 4 of their .tp2's have:
REPLACE_TEXTUALLY ~.*\bMAGESCHOOL_GENERALIST\b~  ~0x0000 WILDMAGE~
:o

"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#17 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 31 March 2010 - 04:00 AM

The problem is that there is no reliable way (or I couldn't find one) to distinguish between a Barbarian and a Wild Mage, something that Refinements needs to avoid errors.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#18 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 31 March 2010 - 06:03 AM

is that why you can't "grey out" Use Scrolls for a Barb/Thief? Barb/Mage is probably hopelessly screwed, but you could play the entire game as a Barb/Thief and not notice anything funky unless you took Use Scrolls. I noticed that this works for the Wizard Slayer, at least.

and about the BG2 Tweaks component: I think I'm going to try installing that component after refinements, as per the suggestion in the Known Issues thread, to see if it doesn't produce better results. But I'm going to wait until whatever is going on with BP and the new WeiDU gets worked out to reinstall.

Edited by AndrewB, 31 March 2010 - 06:18 AM.

BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING

#19 the bigg

the bigg

    2083 is a prime number.

  • Modder
  • 3331 posts

Posted 31 March 2010 - 06:41 AM

Look, I'd have to write two pages of text detailing the in-depth implementation of Use Scrolls to give an ultimately convincing answer, and I'm far too lazy to do that (not to mention that it such a remote and complex hack that even an experienced modder would require a non trivial amount of time to properly understand it). The result of not being able to detect the kit is that Barbarians (including the various dual-class combinations) will either be able to use scrolls when they shouldn't, or not be able to use scrolls when they should (and, in either case, selecting the US HLA will actually be a waste of an HLA slot). Of course, I could leave US enabled, scrolls always enabled, and let the player police himself; however, I'm not a fan of that solution, and the other authors were strongly against that.

Italian users: help test the Stivan NPC!

Author or Co-Author: WeiDU - Widescreen - Generalized Biffing - Refinements - TB#Tweaks - IWD2Tweaks - TB#Characters - Traify Tool - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics - Nalia Mod - Nvidia Fix
Code dumps: Detect custom secondary types - Stutter Investigator

If possible, send diffs, translations and other contributions using Git.


#20 AndrewB

AndrewB
  • Member
  • 147 posts

Posted 31 March 2010 - 06:54 AM

fair enough. If I've been a pain or a thorn in your side over it, I hope you realize it is only because I enjoy Refinements a great deal, and I wouldn't consider playing without it.

Edited by AndrewB, 31 March 2010 - 11:55 PM.

BEGIN BIFFING

ACTION_IF!(FILE_EXISTS ~McFly~) THEN BEGIN
SAY ~BUTTHEAD!~
Posted Image
END BIFFING