Author Topic: GROUP order  (Read 9670 times)

Offline Galactygon

  • Modding since 2002
  • Planewalker
  • *****
  • Posts: 378
  • Gender: Male
  • Creator of spells
GROUP order
« on: August 30, 2010, 01:48:09 AM »
I've been wondering about the order in which GROUPS are prompted. The components of SpellPack are grouped according to the following order:
Levels 1-3 priest spells (@10001)
Levels 4-5 priest spells (@10002)
Levels 6-7 priest spells (@10003)
Levels 1-3 wizard spells (@20001)
Levels 4-6 wizard spells (@20002)
Levels 7-9 wizard spells (@20003)

But the GROUPs are prompted out of order:
Levels 4-5 priest spells
Levels 1-3 priest spells
Levels 1-3 wizard spells
Levels 6-7 priest spells
Levels 4-6 wizard spells
Levels 7-9 wizard spells

There are a lot of components that overlap into different GROUPS. I've tried placing the dummy components in front of the code, as per the GROUP tutorial, but this didn't change the order:
Code: [Select]
BEGIN ~~
DEPRECATED ~~
GROUP @10001
BEGIN ~~
DEPRECATED ~~
GROUP @10002
BEGIN ~~
DEPRECATED ~~
GROUP @10003
BEGIN ~~
DEPRECATED ~~
GROUP @20001
BEGIN ~~
DEPRECATED ~~
GROUP @20002
BEGIN ~~
DEPRECATED ~~
GROUP @20003

-Galactygon

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #1 on: August 30, 2010, 06:56:45 AM »
GROUPs are displayed in reverse order relative to the component number of the last component that has that GROUP as its first GROUP declaration.

In layman terms: put your dummy components at the end of your tp2, in the order you'd like to see them appear (I'll fix the readme ASAP).
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Galactygon

  • Modding since 2002
  • Planewalker
  • *****
  • Posts: 378
  • Gender: Male
  • Creator of spells
Re: GROUP order
« Reply #2 on: August 30, 2010, 07:15:31 AM »
Thanks, that works.

-Galactygon

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #3 on: August 30, 2010, 07:58:16 AM »
Revised documentation - does anybody have suggestions and/or corrections?
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Galactygon

  • Modding since 2002
  • Planewalker
  • *****
  • Posts: 378
  • Gender: Male
  • Creator of spells
Re: GROUP order
« Reply #4 on: August 30, 2010, 10:06:13 AM »
You could explain how WeiDU determines the order the GROUPS are prompted - like you did 3 posts above. And then say something like "there is a technique with which you can manipulate the order in which GROUPS are prompted" and then go on to explain about dummy components, implying that it's optional and just a trick (very few modders care about GROUP order anyway).

Other than that, it looks fine.

-Galactygon

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #5 on: October 05, 2010, 12:03:15 PM »
Can a GROUP prompt be suppressed if all the components within it fail a REQUIRE_PREDICATE or similar?

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #6 on: October 05, 2010, 12:18:21 PM »
Can a GROUP prompt be suppressed if all the components within it fail a REQUIRE_PREDICATE or similar?
No. Assume this tp2 (which has the same structure as SCII, so you can't claim I'm using straw men to avoid working  ;) ):
Code: [Select]
BEGIN ~component 0~
<...>
BEGIN ~component 1~
REQUIRE_COMPONENT ~mymod.tp2~ 0 ~whatever~
GROUP ~group name~
<...>
BEGIN ~component 2~
REQUIRE_COMPONENT ~mymod.tp2~ 0 ~whatever~
GROUP ~group name~
Under 'normal' usage, the user will never be asked about the group, because all of its components depend on component 0, which is not installed when GROUPs are queried for. If I then don't ask about components 1 and 2 (even if component 0 is installed), most users will miss the components. If I do ask about those components, you've lost the point of GROUP.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #7 on: October 05, 2010, 12:35:27 PM »
Yeah... I'm provisionally using the same structure for L1NPCs, which has the main component and a bunch of NPC subcomponents that depend on the main component. But it seems kind of stupid to query "Would you like to display the components from [Baldur's Gate I NPCs]?" when you're installing on BG2 (and not BGT or Tutu). Don't suppose something like GROUP @123 (GAME_IS ~bg2 tob~) would be possible?

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #8 on: October 05, 2010, 12:54:33 PM »
I suppose it could be done.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline DavidW

  • Planewalker
  • *****
  • Posts: 316
Re: GROUP order
« Reply #9 on: October 05, 2010, 01:20:57 PM »
Can a GROUP prompt be suppressed if all the components within it fail a REQUIRE_PREDICATE or similar?
No. Assume this tp2 (which has the same structure as SCSII, so you can't claim I'm using straw men to avoid working  ;) ):



SCSII - providing code too complicated for its own good since 2007 (TM)

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #10 on: October 08, 2010, 04:02:38 AM »
Done.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #11 on: October 09, 2010, 07:05:39 AM »
Seems to work for simple stuff, but of course this code can't be simple, can it...

For example, there's this requirement for most BG1 NPCs:
GROUP @129800 ((GAME_IS ~tutu tutu_totsc bgt~) //BG1 NPCs

Some have special mod variants though, such as for Ajantis:
GROUP @129800 ((GAME_IS ~tutu tutu_totsc bgt~) OR (FILE_EXISTS_IN_GAME ~c#ajan08.cre~)) //BG1 NPCs

If Ajantis is installed on BG2, it will still suppress the BG1 NPCs group, but it shouldn't in this case (where he's a BG1 NPC that's been added to BG2). So it appears it's looking at the predicates for the first instance of the GROUP. Can it instead look at all of the predicates for that GROUP in all components and treat it as a big OR for all of them? I suppose it's solvable by putting that huge disjunction in all instances of the GROUP, but if the source code can do it fairly easily I'd rather not.

Edit: to be a further PITA, I suppose we need traifiable string(s) for:
~Skipping GROUP [~
~] because it fails its requirements.~
« Last Edit: October 09, 2010, 07:09:31 AM by Miloch »

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #12 on: October 09, 2010, 07:27:56 AM »
My suggestion would be to remove Ajantis (Xan, Gavin, ...) from the BG1 NPC group, and use REQUIRE_PREDICATE ((GAME_IS ~tutu tutu_totsc bgt~ && ASKING_ABOUT_GROUP ~BG1~) || (GAME_IS ~soa tob~ && ASKING_ABOUT_GROUP ~BG2~ && FILE_EXISTS_IN_GAME c#ajan08.cre)) instead (ASKING_FOR_GROUP being a new patch expression, and returning true if running with command-line switches and/or re-installing). After all, it doesn't make sense to classify Ajantis as a BG1 NPC if in that game he also appears in the BG2 section.
« Last Edit: October 09, 2010, 07:31:54 AM by the bigg »
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #13 on: October 09, 2010, 08:01:09 AM »
Eh, I'm trying to simplify things where I can, because it's already overly complex. So I'm using purely arbitrary groups of "BG1 NPCs" to classify NPCs who originally appeared in BG1 and "BG2 NPCs" for vanilla SoA/ToB NPCs. Some get both GROUPs (Imoen, Jaheira, etc.). So if someone's added BG1 NPCs to your BG2 game, it makes sense IMO to query for them. Another group is for "Mod NPCs" (original ones who don't normally exist in either game, e.g. Gavin) and yet another one for "Megamod NPCs" (in case you don't feel like getting asked about every Sue and Stu on your BWP/TDD/SOS install). I don't think it's a good idea to add the likes of Ajantis and Xan to "Mod NPCs" because then you'll get queried for that group on Tutu or BGT regardless of whether you've got the mod NPCs installed, unless maybe I use some language like what you've specified, but again, my goal is to streamline things.

Not sure I understand ASKING_FOR_GROUP (or is it ASKING_ABOUT_GROUP?). It returns true only if using command-line switches or reinstalling, so does it therefore not do so during a normal interactive install? Are you suggesting it as a replacement for GROUP for something like this then or what?

Edit: I'm guessing the GROUPing for "Mod NPCs" will need the predicate of the big long laundry list of mod NPCs too, unless this can be changed to look at the predicate for every occurrence of the GROUP.
« Last Edit: October 09, 2010, 08:03:12 AM by Miloch »

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #14 on: October 09, 2010, 08:31:50 AM »
Since Imoen is classified as BG1 + BG2, why not classify Ajantis in the same way:

BEGIN ~Ajantis~
GROUP ~BG1~
GROUP ~BG2~
REQUIRE_PREDICATE (GAME_IS ~tutu tutu_totsc bgt~ || FILE_EXISTS_IN_GAME ~c#ajan08.cre~)

Makes more sense than declaring BG2-Ajantis to be a BG1 NPC and asking about BG1 NPCs if the user is on plain ToB and installed BG2-Ajantis.

Yes, this means that a BGT user who didn't install Ajantis for BG2 and is only installing the BG2 section of L1NPC will still be asked about Ajantis. Raise your hand if you feel this is an issue (and I'll add ASKING_ABOUT_GROUP so you can force that situation to work correctly).

Edit: I'm guessing the GROUPing for "Mod NPCs" will need the predicate of the big long laundry list of mod NPCs too, unless this can be changed to look at the predicate for every occurrence of the GROUP.
I guess it makes sense.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #15 on: October 09, 2010, 09:06:04 AM »
Since Imoen is classified as BG1 + BG2, why not classify Ajantis in the same way
Because Ajantis is not natively in BG2. By that reasoning, I'd have to add *every* BG1 NPC to the BG2 group, because TDD or something adds them all to BG2. Like I said, it's just an arbitrary filter to avoid getting spammed with NPC components if you only want to address certain ones.
Quote
Quote
Edit: I'm guessing the GROUPing for "Mod NPCs" will need the predicate of the big long laundry list of mod NPCs too, unless this can be changed to look at the predicate for every occurrence of the GROUP.
I guess it makes sense.
Makes sense for me to code it that way or for you? If I have to do it, that's fine I guess - it would just be more friendly to the addition of future NPC components for WeiDU to look for all GROUP predicates instead.

Maybe I'm being daft, but I still don't quite get how ASKING_ABOUT_GROUP is supposed to work - you would still need it in addition to the existing (beta) GROUP (PREDICATE) usage or instead of it? The latter should suffice for these purposes - it just either needs to account for all predicate instances or I need to do so.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #16 on: October 09, 2010, 09:31:05 AM »
If you add Alora (or whomever) to the BG2 group and use REQUIRE_PREDICATE, people who aren't on BGT and didn't install TDD will not be asked about Alora. Of course, it defies a the point of using groups on BGT+TDD, but you can't expect that things make sense on that platform.

Mod NPCs have convinced me to recode GROUP predicates "your way".

ASKING_ABOUT_GROUP is true if you answered [Y]es to that GROUP's query, or if the user wasn't presented with GROUP queries for that TP2 at all.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #17 on: October 09, 2010, 10:13:31 AM »
ASKING_ABOUT_GROUP is true if you answered [Y]es to that GROUP's query, or if the user wasn't presented with GROUP queries for that TP2 at all.
I guess my daftness results from the assumption that it's a bit redundant to put that in REQUIRE_PREDICATE - if the user says N to the group, that component won't be displayed anyway (unless it's also in a GROUP the user says Y to) right?

Still need the .tra strings when you get a chance. Also noticed a typo what seems to have sprung up during uninstall:
Skipping [NPC] because another its requirements aren't met.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #18 on: October 09, 2010, 10:43:36 AM »
I guess my daftness results from the assumption that it's a bit redundant to put that in REQUIRE_PREDICATE - if the user says N to the group, that component won't be displayed anyway (unless it's also in a GROUP the user says Y to) right?
REQUIRE_PREDICATE + ASKING_ABOUT_GROUP allows fine-tuning in complex cases, but if you put all components in a single GROUP (or don't mind small inconsistencies like Ajantis being offered for install if in BG2 mode when BG2-Ajantis isn't isntalled) it's not really needed.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #19 on: October 09, 2010, 02:29:21 PM »
Done. While I was there, GROUP ~whatever~ (GAME_IS bgt) now implies REQUIRE_PREDICATE (GAME_IS bgt) (for that component only).


@-1036 = "Skipping GROUP ["
@-1037 = "] because it fails its requirements."

Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #20 on: October 09, 2010, 04:10:45 PM »
@-1036 = "Skipping GROUP ["
@-1037 = "] because it fails its requirements."
I take it you replaced "Skipping [NPC] because another its requirements aren't met." with those strings (or the 2nd half anyway - I suppose there's already one for "Skipping [")?

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #21 on: October 09, 2010, 04:19:14 PM »
Actually, I just fixed that line without making it translatable. Now it is actually translatable.

Of course, 'Skipping' (@-1020) is without the square bracket (or the space), while '] because it fails its requirements.' (@-1037) has it.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #22 on: October 10, 2010, 05:39:50 AM »
'Skipping' (@-1020) is without the square bracket (or the space), while '] because it fails its requirements.' (@-1037) has it.
So did you just hardcode the left bracket for "Skipping [component] because it fails its requirements", add a new string or what? I don't know if there are any languages where brackets will be different (maybe Chinese or something). I suppose you could also just drop the GROUP from @-1036 and use the same text for both GROUPs and components.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: GROUP order
« Reply #23 on: October 10, 2010, 06:40:53 AM »
It's using this:

log_and_print "%s [%s%s\n" (get_trans (-1020)) package_name (get_trans (-1037));

WeiDU is pretty inconsistent on this - in some cases the [ (or whatever) is hardcoded in the formatting string, in others it's supposed to be translated.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: GROUP order
« Reply #24 on: October 23, 2010, 04:15:30 PM »
So I've got the Edwin component in both the "BG1 NPCs" and "BG2 NPCs" group, i.e.:
GROUP ~BG2 NPCs~ (GAME_IS ~bg2 tob~)
GROUP ~BG1 NPCs~ (GAME_IS ~tutu tutu_totsc bgt~)

In v220.11 this was working as expected - I was getting prompted on both BG2 and Tutu. As of v221, it's skipping Edwin on Tutu, apparently acting as a conjunction instead of a disjunction (that is, should get prompted if either group is chosen or detected). I did choose to install components of the BG1 NPCs group - those that aren't in 2 groups work fine.

Moreover, it just says "SKIPPING: [Edwin Odesseiron]" - I thought there was a slightly more descriptive message previously (like "because it fails its requirements" - then again, I guess it wasn't getting skipped previously so maybe that was just for GROUPs).

Lastly, the "GROUP accepts a constraint" thing is not documented AFAICT.

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: