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!

disaSim2 - Sims 2 BHAV console disassembler 2.4f

by dizzy2 Posted 22nd Dec 2004 at 5:06 AM - Updated 27th Nov 2013 at 9:31 PM by Nysha
 
143 Comments / Replies (Who?) - 132 Feedback Posts
Page 5 of 6
Object(ive) Investigator
retired moderator
#101 Old 6th Nov 2005 at 1:08 AM
Please do keep working on it. I find it easier to search the text version then have SimPE do it. Maybe you could write a plugin for SimPE to extract the selected bhav or all bhavs as text/html. It'll save us, as modders, some time.
Lab Assistant
#102 Old 13th Nov 2005 at 8:27 AM
Hey Dizzy.

But confused about this:

3: Array Operation: Stack Object's Object Array: [STR# 0x118:0x0]. Operation: Clear contents of array.; true: 4, false: error
4: Array Operation: Stack Object's Object Array: [STR# 0x118:0x0]. Operation: Resize array to size from 10.; true: 7, false: error

I can't find any STR# 0x118 anywhere.

What am I missing?

More recent hacks can be found at http://www.moreawesomethanyou.com
Don't ask me, I just code
#103 Old 13th Nov 2005 at 9:08 AM Last edited by pljones : 13th Nov 2005 at 7:35 PM.
I'm guessing Maxis don't bother shipping the object array names for their objects... Having them would be handy, though. (Or maybe the instance number is wrong... But I've not found anything that looks like it could be used instead...)

Nothing to stop you having a STR# 0x0118 file in your own packages, Crammyboy. PJSE (when the next release comes out, if not in the current one: I forget) will use it.

<edit>
Speaking of which, I've finished all the opcodes now. Thanks again to dizzy2 and Shy for making disaSim2 available . My code is generally all GPL but, as disaSim2 is public domain, I felt I should reciprocate: the BhavWizPrim.cs file that contains all the C# code for the parsing is now public domain.
</edit>
Don't ask me, I just code
#104 Old 20th Nov 2005 at 10:06 AM Last edited by pljones : 20th Nov 2005 at 10:57 AM.
Over on the PJSE forum, I just posted this in response to a question:
Quote:
Originally Posted by pljones
Yup, I can see there's a difference. PJSE thinks "Run Functional Tree" calls the OBJF entry point. disaSim2 thinks it calls the "function" as in "Find Best Object for Function". The string sets are different (F5 for OBJF entry points and C9 for Best Object for Function) and don't really match up well. It's odd that Maxis chose two completely different sets of strings (and hence parameter values) for essentially the same thing... no surprises there, then!

Dizzy/Shy -- Can you check whether disaSim2 is using the right string set (it's using C9 rather than F5, IIRC). It looks wrong to me and I'm loathe to change it to be the same as disaSim2 if disaSim2's going to change. But I don't want to be giving PJSE users the wrong info, either.

My view is that "Find best object" is doing different things, other than just looking at the OBJF table. However, "Run Functional Tree" just needs to know the OBJF table index number, so would use the OBJF names.
<edit>
Of course, I could just look at some of the BHAVs that use it...
disaSim2:
Code:
# Group = 0x7F01EC29, Instance = 0x208B
# Title = Function - Message Handler
...
     E: Run Functional Tree: message handler, passing parameters from calling tree; true: true, false: true
...

PJSE:
Code:
[prim 0x0014] Run Functional Tree (wash hands, change icon: False, passing parameters from calling tree: True, running check tree only: False)

The disaSim2 code certainly makes more sense. /sigh/
</edit>
Test Subject
#105 Old 22nd Nov 2005 at 8:12 AM
Yes, disaSim2 is using the right string set (C9). The game convert strings from "Function table names" to OBJF table index numbers. For example, "prepare food" to "prep", "cook food" to "cook", "flat surface" to "surface".
Don't ask me, I just code
#106 Old 26th Nov 2005 at 11:47 PM
Thanks Shy. Any idea what the process for the conversion is? I get the feeling there more to it than a straight cross-reference process. Is in some BHAV or buried inside the game engine?
Test Subject
#107 Old 29th Nov 2005 at 1:45 PM
The conversion is buried inside the game engine (in Sims2*.exe).
Field Researcher
#108 Old 6th Mar 2006 at 6:56 AM
It looks like disaSim2 might need an update? I'm not sure... I hope that either Shy or dizzy come out of hiding, or maybe someone can take the source code and update it. It's really is a fantastic and much needed tool.

I am getting tons of Range error: messages, which I don't know if those are harmless or not.

Ste
Retired Duck
retired moderator
#109 Old 6th Mar 2006 at 7:13 AM
The out of range errors are probably happening because several new properties were added to sims, amongst other things. We don't know what they all represent yet, so the program can't decode them properly. I'd guess that they're pretty harmless as errors.
One horse disagreer of the Apocalypse
#110 Old 6th Mar 2006 at 7:53 AM
Maybe Shy and Dizzy are working on something exciting ready to amaze us all (one can hope).

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Test Subject
#111 Old 10th Mar 2006 at 7:44 AM
Version 2.4a

New: Fixed bugs in Change Outfit and Array Operation. Open for Business is partially supported.
Attached files:
File Type: zip  disaSim2-24a.zip (139.8 KB, 45 downloads)
File Type: zip  disaSim2-24a-src.zip (138.6 KB, 31 downloads)
Test Subject
#112 Old 21st Mar 2006 at 8:32 AM
Version 2.4b

New: Updated for Open For Business.
Attached files:
File Type: zip  disaSim2-24b.zip (188.3 KB, 55 downloads)
File Type: zip  disaSim2-24b-src.zip (151.1 KB, 40 downloads)
The ModFather
retired moderator
#113 Old 21st Mar 2006 at 8:47 AM
Shy!!! How nice to see you again! And with an updated version of DisaSims2!
Thanks a million

What about Dizzy? Is (s)he still around? I haven't seen any posts by Dizzy lately...

I've finally started my Journal. Information only, no questions.

My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)


I *DON'T* accept requests, sorry.
One horse disagreer of the Apocalypse
#114 Old 21st Mar 2006 at 11:10 AM
Numenor, Shy may know more about Dizzy than I do as they have been working on this project together, but I have found out something that might help. A chat friend dug out his mIRC logs and we worked back through them till we found the last few times that Dizzy visited the #grah chatroom. He was not coming so often by then according to other people in the room saying "where have you been?" and he was telling about some poor relationships with other people in the community (I won't go into details here publicly) and also that he was getting heavily into Ubuntu Linux and would probably stop Simming until The Sims 2 would run under Wine.

So the signs are that he simply moved on. Before finding that, it had looked like he left so suddenly that some of us had been getting worried about his welfare.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Field Researcher
#115 Old 27th Mar 2006 at 8:34 PM Last edited by syberspunk : 26th Jun 2006 at 3:18 AM.
Thanks:

@echo - for the info. I kinda figured they were 'harmless' but I wasn't absolutely sure. I figured it wouldn't break anything, but I didn't know if the info it would spit out would be egregious or authentic.

@Shy - for coming through with a much needed and appreciated update

@Numenor - just, well because your stuff rocks.

@Inge - for the terribly mysterious and intriguing info. I want to give it the benefit of the doubt, despite what salacious or outlandish rumors that Pescado purports. But... see now I'm curious about what possible drama might have been going on. I do love juicy gossip.

Ste
Object(ive) Investigator
retired moderator
#116 Old 27th Mar 2006 at 10:47 PM
I'm still getting out-of-range errors for the dialog primitive when I run this on OfB's objects.package.

Please don't PM me with questions. Post them in the appropriate thread.
Test Subject
#117 Old 19th Apr 2006 at 11:33 AM
Version 2.4c

New: Updated for Family Fun Stuff.
Attached files:
File Type: zip  disaSim2-24c.zip (189.7 KB, 56 downloads)
File Type: zip  disaSim2-24c-src.zip (152.6 KB, 31 downloads)
Object(ive) Investigator
retired moderator
#118 Old 27th Apr 2006 at 1:07 AM
I still get out of range errors on OfB's objects.package:
Range error: Dialog primitives (255/0xFF) Group = 7F7C5505, Instance = 1008
Range error: Dialog primitives (255/0xFF) Group = 7F8CE369, Instance = 1008

Please don't PM me with questions. Post them in the appropriate thread.
Field Researcher
Original Poster
#119 Old 28th Jul 2006 at 3:30 AM
Sweet. Thanks for keeping up the good work, Shy.

jaxad0127, don't count on those errors going away any time soon. I doubt anyone knows what Dialog(-1) is supposed to do.
The ModFather
retired moderator
#120 Old 28th Jul 2006 at 7:58 AM
Dizzy!!! I was despairing to see you again around... :P
It's so nice to have you back

I've finally started my Journal. Information only, no questions.

My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)


I *DON'T* accept requests, sorry.
One horse disagreer of the Apocalypse
#121 Old 28th Jul 2006 at 8:48 AM
Quote:
Originally Posted by dizzy2
jaxad0127, don't count on those errors going away any time soon. I doubt anyone knows what Dialog(-1) is supposed to do.


I don't think it's meant to do anything. Those are just fake BHAVs that could never run anyway. Their lines are not even linked to run.
Object(ive) Investigator
retired moderator
#122 Old 28th Jul 2006 at 9:00 AM
Quote:
Originally Posted by Inge Jones
I don't think it's meant to do anything. Those are just fake BHAVs that could never run anyway. Their lines are not even linked to run.

So, could disaSim2 ignore unreachable (not linked to) lines?

Please don't PM me with questions. Post them in the appropriate thread.
Field Researcher
Original Poster
#123 Old 3rd Aug 2006 at 6:27 PM
It can, but it's more work than it's worth IMO. This tool has pretty much served its intended purpose already (R&D for an improved SimPE plugin).
Test Subject
#124 Old 27th Oct 2006 at 8:40 AM
Version 2.4d

New: Updated for Pets.
Attached files:
File Type: zip  disaSim2-24d.zip (207.5 KB, 58 downloads)
File Type: zip  disaSim2-24d-src.zip (170.2 KB, 42 downloads)
One horse disagreer of the Apocalypse
#125 Old 27th Oct 2006 at 11:15 AM
/me waves to Shy
Page 5 of 6