Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Test Subject
Original Poster
#1 Old 19th Aug 2014 at 5:03 AM
Default I hate BCONs, scope protection, and everything
SimPE does not seem to allow the linking of new (0x0XXX) BCONs.

I am trying to override a (0x0XXX) function. (0x7FD46CD0, 0x00000254)

It seems I can access a (0x1XXX) BCON from a (0x1XXX) BHAV, but not from a lower (0x0XXX) BHAV. Similarly, I cannot access the (0x1XXX) BHAV from the original function.

From this, it seems the only way around this is to mash my tables onto an existing (0x0XXX) BCON, or is there something else I can do?
Attached files:
File Type: zip  Motives.zip (2.7 KB, 4 downloads) - View custom content
Advertisement
*shrugs*
retired moderator
#2 Old 19th Aug 2014 at 11:38 PM
If I understand you correctly, that's just the way scope works in programming and is not necessarily specific to the Sims data structure. A particular level is generally more accessible to lower levels than to higher ones.

Imagine a classroom with a projector or chalk/dry-erase board. The teacher is up in front teaching at the board or pointing out things on the projection screen. The students sitting in their desks can see what the teacher is projecting onto the wall or writing on the board, but the teacher cannot see what they are writing down in their notebooks. The data on the wall is public (global or semi-global) and individual students' notes are private.

As far as I know, you could perhaps add a new BCON/BHAV to a particular scope level so long as the group number is the same and the instance number does not conflict with another. Or you, as you have found, must also override an existing BCON that is in the BHAV's accessible scope.

I don't mind if you call me "MSD" or something for short.
Tumblr
Perhaps someday I'll have leisure time back...
Test Subject
Original Poster
#3 Old 20th Aug 2014 at 11:02 PM
I figured that; I really was hoping there was some way to override the protections (because, given my complete lack of understanding of what the engine is doing, scope seems meaningless in this respect [I mean, I can understand that 0x0XXX can be accessed from anywhere; but well, yeah... nvm.])

Just for question, what is the "effective" difference between 0x1XXX and 0x2XXX besides the scope order.

Eitherway, thanks for the confirmation.
*shrugs*
retired moderator
#4 Old 21st Aug 2014 at 2:05 AM
I'm not really sure if there is any meaningful difference other than scope in terms of behavior, but I may be wrong. I could easily see it just being the convention that EA decided to have to prevent confusion while developing. Keeping resources grouped or numbered within a range would likely help to distinguish a BHAV that is "semi-global" and meant to be shared with all objects of a particular group (e.g. "Sit" for chairs) versus a BHAV for a particular "special" object with its own behavior.

I don't mind if you call me "MSD" or something for short.
Tumblr
Perhaps someday I'll have leisure time back...
Back to top