Insimenator.org
May 25, 2022, 04:11:42 am *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
  Home   Forum   Help Search Calendar Login Register  
Pages: [1]
  Print  
Author Topic: Set to Next [Simantics Primitive]  (Read 7434 times)
0 Members and 1 Guest are viewing this topic.
Eric
BANNED
Member

Posts: 1404


View Profile
« on: August 29, 2005, 12:17:31 am »

These are my notes on how the Set to Next primitive is used. This is by no means a complete set of instructions for this primitive, but a work in progress.
 
Primitive: Set to Next (0x001F)
 
example. #1: Set to Next object with GUID 24C95F99

 
example. #2: Set to Next person

 
• Operand 1, Operand 2, Operand 3 and Operand 4 are used for an objects's GUID (in reverse order)
• Operand 5 is the next object param that is being looked for.
 
Next object params:
80 (0x0) - object
81 (0x1) - person
82 (0x2) - non person
83 (0x3) - part of a multi-tile object
84 (0x4) - object of type
85 (0x5) - neighbor id
86 (0x6) - obj with category == sp 0
87 (0x7) - neighbor of type
88 (0x8) - obj on same tile
89 (0x9) - obj adjacent to object in local
8A (0xA) - career
8B (0xB) - Lot ID
8C (0xC) - obj with category == temp 0
8D (0xD) - person closest to person in temp 0, distance returned in temp 4, relative direction in temp 5.
8E (0xE) - Job Obj Instance from Job Obj GUID in sim in stack obj
8F (0xF) - Job Obj Instance from job obj GUID from neighbor ID in stack obj
90 (0x10) - vehicle
91 (0x11) - Neighbor of Family in temp0
92 (0x12) - Object of type GUID in temp 0/1
93 (0x13) - Group member of object in temp0
94 (0x14) - Group member in revese order of object in temp0
95 (0x15) - Family member parent (of neighbor ID in temp 0)
96 (0x16) - Family member sibling (of neighbor ID in temp 0)
97 (0x17) - Family member child (of neighbor ID in temp 0)
98 (0x18) - Visible object in my view within distance in temp0
99 (0x19) - Object in Room in Temp 0
9A (0x1A) - Verify Stack Object
9B (0x1B) - Utility Using Object
9C (0x1C) - Neighbor with non zero var3 relationship to neighbor ID in temp 0
9D (0x1D) - Verify Neighbor ID in Stack Object
9E (0x1E) - Verify Sim in Stack Object
9F (0x1F) - Family member Spouse (of neighbor ID in temp 0)
A0 (0x20) - Owner of Object (Object in Temp0, Threshold in Temp1) returns Neighbor ID
A1 (0x21) - Hauntable Object
A2 (0x22) - Object within one tile of object in local
A3 (0x23) - NeighborID with an STR value greater than temp 0 to me.
A4 (0x24) - NeighborID with rel var 1 & temp 1
A5 (0x25) - Object With Wants Category equal to Temp 0
A6 (0x26) - Influence
A7 (0x27) - unknown
A8 (0x28) - unknown
A9 (0x29) - pet
AA (0x2A) - unknown
AB (0x2B) - unknown
AC (0x2C) - unknown
AD (0x2D) - unknown
AE (0x2E) - unknown
AF (0x2F) - pet neighbor id
 
Feel free to offer your input and/or correct errors on my part.
« Last Edit: October 22, 2006, 03:30:31 pm by Eric » Logged
Morague
Member

Posts: 25


View Profile
« Reply #1 on: April 24, 2006, 05:37:33 pm »

Hello Eric,

Thank you for sharing your insights with budding modders.

I am stuck. I am looking at the Holiday Roast & I see this instruction:

[prim 0x001F] Set to Next (object of type GUID 0x703ADB66,  result in Stack Object ID)

I can not find anything with a GUID of 0x703ADB66 - but obviously it must be there. I'm thinking that maybe "object of type" is some special case - like a global way to cateegorize say counters or stoves. If that's what it is, where would I go to find out what this GUID represents?

Many thanks!

Morague
Logged
jase439
Member

Posts: 1172


View Profile
« Reply #2 on: April 24, 2006, 06:44:56 pm »

In SimPE you can do a GUID search.  Go to Tools | Search...click on the GUID tab and punch in your GUID and off you go.  If it matches anything in objects.package, it should take you right to it.  You can also use the PJSE Object Finder.  There's a button on the tool bar for this.
« Last Edit: April 24, 2006, 06:47:37 pm by jase439 » Logged

"Craaaazy...toys in the attic...I am craaaazy...truly gone fishing...they must have taken my marbles away..."
Morague
Member

Posts: 25


View Profile
« Reply #3 on: April 24, 2006, 08:31:11 pm »

Hello Jase439,

Thanks but I already did that & that GUID just doesn;t show up. I know it must be in the game somewhere. I searched the regular object.packages as well as the holiday package :/

I am fairly certain it means a specific type of object - like a counter or a table, but I don't know where to find that information.

Morague
« Last Edit: April 24, 2006, 08:34:58 pm by Morague » Logged
jase439
Member

Posts: 1172


View Profile
« Reply #4 on: April 24, 2006, 10:18:00 pm »

Usually when you're doing a category search you're using Set to Next 0x8C with a category code in Temp 0.  I've never seen a categorical object search done by GUID.  In every case I've seen, a GUID has been bound to a specific object.  Are you certain the object even exists?  There is so much dead code in the package files - could it possibly refer to an item that once was but was pulled from the game?
Logged

"Craaaazy...toys in the attic...I am craaaazy...truly gone fishing...they must have taken my marbles away..."
Morague
Member

Posts: 25


View Profile
« Reply #5 on: April 25, 2006, 07:01:53 pm »

Hi again,

Well, see that's the problem. I don't know if it even exists - I was trying to figure out what it is/was. The line of code from (from one of the BHAVs in the Holiday Roast) is:

[prim 0x001F] Set to Next (object of type GUID 0x703ADB66, result in Stack Object ID)


I was just wanting to figure out what that was - what the command was doing.

Morague
Logged
jase439
Member

Posts: 1172


View Profile
« Reply #6 on: April 25, 2006, 09:58:13 pm »

I don't think there's any magic here.  It's looking for an object(s) whose GUID is 0x703AD866.  I think one of SimPE's "finder" tools will let you recurse an entire directory tree (instead of just the active package) where you can search by name or GUID or a bunch of other stuff.

Another idea is to see the TRUE transition to ERROR and then play the game and see if you can't trip the Undefined Transition - which will produce a log and the displayed Stack Object will be the name of the object that has that GUID.
Logged

"Craaaazy...toys in the attic...I am craaaazy...truly gone fishing...they must have taken my marbles away..."
Squinge
Spamming Dork
Super Mod
*****
Gender: Male
Posts: 5696



View Profile WWW
« Reply #7 on: October 10, 2006, 12:15:04 pm »

Quote from: Morague
I am stuck. I am looking at the Holiday Roast & I see this instruction:
Even though the GUID doesn't match it's looking for the "A Touch of Autumn Cornucopia" Sculpture, if it's not there then the holiday roast doesn't appear on the fridge menu.
Logged

If you have a question about my mods post it here
Pages: [1]
  Print  
 
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.038 seconds with 30 queries.
SimplePortal 2.1.1