[Modding Question] BHAV calling scope

<< < (2/2)

J. M. Pescado:
Quote from: rufio on 2010 January 01, 07:36:39

Right - but just to be clear, it's local/semiglobal where the current stack object is concerned, right?
Depends on the arguments. Using an RTBN-2, yes, the BHAV run will be the one associated with the stack object in aforementioned order of precedence. RTBN-3, however, will let you invoke a BHAV by a GUID of an object that may or may not actually be present, which will also be invoked in aforementioned order of precedence, only the stack object will be twaddle and no physical object will exist, and the BHAVs run will be those associated with the GUID.

rufio:
The -2/-3 is the version/format/whatever-it-was setting when setting opcodes and operands, then?  I haven't messed with it much, but I have noticed that the Relationship primitive seems to have different incarnations based on what goes there.

"Associated with the GUID" just means "in the same group as the OBJD of the object with that GUID", right?

(Slightly) related question: NREFs determine group numbers, right?  If I put an NREF with a unique name/number into a package with one OBJD (and the same instance as that OBJD) then when the package is loaded, everything in the package will be considered to be in the group corresponding to the NREF - correct?  If there are multiple OBJDs in the package (and multiple NREFs corresponding to them by instance number) does this divide all the non-immediately-OBJD-associated resources (like general-purpose non-Pie-Menu-related BHAVs and BCONs) into different groups?  What does including NREFs in a package do, from a purely functional standpoint?  Are they necessary/do things break if they aren't there?  Sims 2 Wiki just says something about unknown EAxian hash functions.

If it is possible to hand-pick group numbers using NREFs, is it also possible to set up one's own semiglobal groups and determine which private groups have access to their resources?  Are the semiglobal groups determined by some mathematical function of the group numbers, or are they hardcoded?

J. M. Pescado:
Quote from: rufio on 2010 January 03, 18:16:39

"Associated with the GUID" just means "in the same group as the OBJD of the object with that GUID", right?
Or its semiglobal, or its global.

Quote from: rufio on 2010 January 03, 18:16:39

(Slightly) related question: NREFs determine group numbers, right?  If I put an NREF with a unique name/number into a package with one OBJD (and the same instance as that OBJD) then when the package is loaded, everything in the package will be considered to be in the group corresponding to the NREF - correct?
Nope. Everything in 0xFFFFFFFF in one package is associated and shares a group. Everything outside that package isn't, unless explicitly given a group.

Quote from: rufio on 2010 January 03, 18:16:39

If there are multiple OBJDs in the package (and multiple NREFs corresponding to them by instance number) does this divide all the non-immediately-OBJD-associated resources (like general-purpose non-Pie-Menu-related BHAVs and BCONs) into different groups?
No.

Quote from: rufio on 2010 January 03, 18:16:39

What does including NREFs in a package do, from a purely functional standpoint?  Are they necessary/do things break if they aren't there?  Sims 2 Wiki just says something about unknown EAxian hash functions.
They show up in error logs. Other than that, nothing we can tell.

Quote from: rufio on 2010 January 03, 18:16:39

If it is possible to hand-pick group numbers using NREFs, is it also possible to set up one's own semiglobal groups and determine which private groups have access to their resources?  Are the semiglobal groups determined by some mathematical function of the group numbers, or are they hardcoded?
They are determined by a reference type, GLOB, or something.

rufio:
Ahh.  I had thought they might have something to do with the group number, because the NREFs in objects.package seem to have numbers corresponding to the groups they are in.

Navigation

[0] Message Index

[*] Previous page