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!
Quick Reply
Search this Thread
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#1 Old 6th Dec 2007 at 12:11 PM
Default BHAV to perform an EP check?
I was working on another project a while ago and just remembered why it got set aside, I wanted to make my mod basegame compatible, but I didn't really feel like the idea of making a separate object. Is there a BHAV that can check for Seasons? If I can use it to skip the seasons coding if the ep isn't there and follow through when it is, then the object would actually be 'Seasons' ready, and be usable by everyone. Yes? please?
-Phaenoh
Advertisement
Instructor
#2 Old 6th Dec 2007 at 12:40 PM
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#3 Old 6th Dec 2007 at 1:42 PM
lol, Jasana, the project I was referring too was the the one you were helping me with, about the changing table, you said it wouldn't be seasons compatible, and here you are answering my question about it. odd. Thank you though.
Instructor
#4 Old 6th Dec 2007 at 2:53 PM
Lol :D
It's not Seasons-compatible by default - you still need some, um, shamanic dances around it, but it is doable
Basically, you need to:
1) first of all:
- either clone base-game table, and then add addon-related bhavs to it
- or clone table with all addons, then fix that field in OBJD, and make sure none of the BHAVs are of too new format
2) for every addon-related BHAV, replace direct calls with proxy BHAV calls which just check "do I have this addon" and then call original BHAV
3) carefully read existing BHAVs like Init and, if they have any difference for versions with and without addons - wrap those differences into addon checks, too

So I misinformed you before about compatibility, because there's a bunch of extra steps needed for it. Nothing complex, really - mostly boring and requiring a lot of attention.
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#5 Old 6th Dec 2007 at 8:25 PM
Thats alright, I'd rather do it that way so people don't need to download a different one when/if they get seasons. There were also a couple of things that you missed originally, but I found them and I'm still kinda working on it. I haven't dropped it, so all your hard work wasn't for nothing. I've just got about 8 different things on my plate right now. Thanks so much for all your help.
Retired Duck
retired moderator
#6 Old 6th Dec 2007 at 10:53 PM
Adding to Jasana's list,

4) Make sure you haven't got any double nested pie menus
5) Make sure none of your imported BHAVs are using format 0x8009

Lab Assistant
#7 Old 6th Dec 2007 at 11:44 PM
Thanks, I was going to ask about this sometime in the future.
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#8 Old 7th Dec 2007 at 12:06 AM
Quote: Originally posted by Echo
Adding to Jasana's list,

4) Make sure you haven't got any double nested pie menus
5) Make sure none of your imported BHAVs are using format 0x8009

wha? huh?
Instructor
#9 Old 7th Dec 2007 at 9:14 AM
Good to hear you're still working on it and it's your hard work, not mine
Quote: Originally posted by Phaenoh
I've just got about 8 different things on my plate right now.
Lol, I wonder who don't have the same problem :D

Quote: Originally posted by Echo
4) Make sure you haven't got any double nested pie menus
I never had any double nested pie menus :o but I forgot to mention it, too - TTAB formats can be different, too. There's some format which works in base game and doesn't work in addons (had this problem a couple of times), and there's Pets format which wouldn't work in earlier games. I don't remember the value for right one, though
Quote: Originally posted by Echo
5) Make sure none of your imported BHAVs are using format 0x8009
I partially mentioned it, but didn't clarified - my fault :o Phaenoh, maybe this wiki article (the end of it) will make it clearer to you.
Lab Assistant
#10 Old 7th Dec 2007 at 11:10 PM
Double nested menu would that be: menu within a menu within a menu?
Fat Obstreperous Jerk
#11 Old 9th Dec 2007 at 9:23 AM
Quote: Originally posted by Phaenoh
I was working on another project a while ago and just remembered why it got set aside, I wanted to make my mod basegame compatible, but I didn't really feel like the idea of making a separate object. Is there a BHAV that can check for Seasons? If I can use it to skip the seasons coding if the ep isn't there and follow through when it is, then the object would actually be 'Seasons' ready, and be usable by everyone. Yes? please?
-Phaenoh

I have a fancy EP-check BHAV in Macrotastics at More Awesome Than You, which does the most rigorous tests to date for both specific EP and engine-version modes, especially for out-of-order bits that Maxis has been using in the newer stuff packs. You could just steal that one. And just never, ever, use 8009. There's no reason any modder would ever realistically want to use it, so always just use 8007.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#12 Old 9th Dec 2007 at 3:46 PM
Thank you, but that sounds far fancier than I need. As far as Jasana and I could tell, the Baby Changing Table's code didn't change until Seasons. The pie menus are hard coded into it. I just need a little BHAV that says "Seasons, yes?" t= continue reading code f= skip the 'outwear' options.
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#13 Old 12th Dec 2007 at 11:40 PM
Ok, I just ran into a problem I think. I'm pretty sure that the format for one of my BHAVs is 8009. What do I do? There is a drop down list that gives different numbers, but I've got no idea what changing it will do so I'll wait for advice.

Yipes! I just looked at the rest of my BHAVs and quite a few of them (19) are 8009! Panic?
Screenshots
Retired Duck
retired moderator
#14 Old 13th Dec 2007 at 2:52 AM
Alas, changing it in the drop down list will, in most cases, cause it to break in all versions of the game. Try and find the equivalent functions from the base game (which will most likely be format 8007), and replace the ones in your object with those.
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#15 Old 13th Dec 2007 at 4:02 AM
...glup...
doesn't that mean I will have to redo all my work?

how do i get SimPE to give me a basegame copy of the table? i read that it could do that somewhere, but i dunno how.
Fat Obstreperous Jerk
#16 Old 13th Dec 2007 at 4:51 AM
Quote: Originally posted by Phaenoh
Thank you, but that sounds far fancier than I need. As far as Jasana and I could tell, the Baby Changing Table's code didn't change until Seasons. The pie menus are hard coded into it. I just need a little BHAV that says "Seasons, yes?" t= continue reading code f= skip the 'outwear' options.
"Seasons, yes" isn't enough. Because BV uses a post-Seasons engine, so you'd ALSO need to invoke that code for BV also, even if Seasons itself is not present. So what you need is not "Seasons or not" but "Seasons+". That is a much more complicated check due to out-of-order stuffpack bits and other nuisances which have to be stripped off first.

Quote: Originally posted by Echo
Alas, changing it in the drop down list will, in most cases, cause it to break in all versions of the game. Try and find the equivalent functions from the base game (which will most likely be format 8007), and replace the ones in your object with those.
This is a not-trueity. Changing it from the drop-down list has always worked fine for me. I always, always, revert any 8009 formats to 8007 for compatibility, because the 8009 only adds a functionality that EAxis practically never uses themselves, at the cost of a wasted byte.

Quote: Originally posted by Phaenoh
...glup...
doesn't that mean I will have to redo all my work?
Naw, it's a simple change, just select everything that says "8009" and make it say "8007".

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Retired Duck
retired moderator
#17 Old 13th Dec 2007 at 5:04 AM
Quote: Originally posted by J. M. Pescado
This is a not-trueity. Changing it from the drop-down list has always worked fine for me. I always, always, revert any 8009 formats to 8007 for compatibility, because the 8009 only adds a functionality that EAxis practically never uses themselves, at the cost of a wasted byte.

Hmm... Not in my experience, although the last time I tried was some time ago now. I had an 8009, it got changed to an 8007, then had intermittent and extremely bizarre errors, including amongst others, this one:
http://www.modthesims2.com/showthread.php?t=194870
Changed it back to an 8009 and it worked like a charm. Shrug. Nothing to lose in trying the simple way first though!
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#18 Old 13th Dec 2007 at 5:19 AM
Quote: Originally posted by J. M. Pescado
"Seasons, yes" isn't enough. Because BV uses a post-Seasons engine, so you'd ALSO need to invoke that code for BV also, even if Seasons itself is not present. So what you need is not "Seasons or not" but "Seasons+". That is a much more complicated check due to out-of-order stuffpack bits and other nuisances which have to be stripped off first.
Even though I'm only trying to prevent the pie menu from listing Outerwear? Or is there really more to it that that?

I will try the easy way first with the format numbers, fingers crossed!
Theorist
#19 Old 17th Mar 2008 at 6:29 PM
Just a quick note to say that both Phaenoh and I have each had complete success in converting 8009 codes to 8007 using only the text entry box, as Pescado suggested. I now do so routinely and have not had any problems so far.
Doing all the things, and *mostly* not failing.
retired moderator
Original Poster
#20 Old 18th Mar 2008 at 7:12 AM
Sorry David thats not quite true, I tried doing it that way and it wouldn't work on my object. Maybe it is a little more object specific?
One horse disagreer of the Apocalypse
#21 Old 18th Mar 2008 at 10:29 AM
Well I would like to get to the bottom of this, as the BHAV editor *intends* you to be able to change BHAV format simply by picking another format. You may need to commit and reload the BHAV after doing so. What happens that makes you aware that it's not working? Or, what's not happening that you had hoped would happen - in more detail than "works" or "doesn't work" please

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Instructor
#22 Old 18th Mar 2008 at 10:35 AM
I had successfully changed BHAV type, too, but I paid attention to Tree Version and changed it too in some cases. I have no idea what it means but sometimes it was equal to 0xFFFF8009 when format was 8009 - so I changed both 9s to 7s. I did few times, so maybe I don't have enough statistics, but no crashes or weird bugs for me.
Fat Obstreperous Jerk
#23 Old 18th Mar 2008 at 10:45 AM
The "tree version" is not related to the format, and if the tree version happens to coincidentally contain "8009" or "8007", it is just that: A coincidence. It is not recommended that you arbitrarily change the tree version, as this can cause your game to undergo extra resetting.

If you tried to manually type "8007" over the "8009" field, it might have failed when you were partially complete, because it would be trying to convert it to an "8" or "80" or "800" in mid-type, and dying horribly. Picking "8007" out of the dropdown list definitely works in every case I have ever tried.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
One horse disagreer of the Apocalypse
#24 Old 18th Mar 2008 at 11:23 AM
JM - mwah! If it's working for you, then it's working

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Theorist
#25 Old 18th Mar 2008 at 3:15 PM
Quote: Originally posted by Phaenoh
Sorry David thats not quite true, I tried doing it that way and it wouldn't work on my object. Maybe it is a little more object specific?
Sorry Phae, I didn't hear further from you so I assumed it had worked. This is most curious! I always make the change as you suggest Pescado, using the dropdown menu and never typing it. I have done this now more times than I can remember, without a single glitch.
Page 1 of 2
Back to top