- Site Map >
- Modding and Creation >
- Sims 2 Creation >
- Modding Discussion >
- BHAV to perform an EP check?
- Site Map >
- Modding and Creation >
- Sims 2 Creation >
- Modding Discussion >
- BHAV to perform an EP check?
#1
6th Dec 2007 at 12:11 PM
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
#2
6th Dec 2007 at 12:40 PM
Posts: 612
Thanks: 33786 in 19 Posts
#3
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.
#4
6th Dec 2007 at 2:53 PM
Posts: 612
Thanks: 33786 in 19 Posts
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.
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.
#5
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.
#6
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
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
6th Dec 2007 at 11:44 PM
Posts: 166
Thanks: 330 in 1 Posts
Thanks, I was going to ask about this sometime in the future.
#8
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 |
#9
7th Dec 2007 at 9:14 AM
Posts: 612
Thanks: 33786 in 19 Posts
Good to hear you're still working on it and it's your hard work, not mine
Lol, I wonder who don't have the same problem :D
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
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.
Quote: Originally posted by Phaenoh
I've just got about 8 different things on my plate right now. |
Quote: Originally posted by Echo
4) Make sure you haven't got any double nested pie menus |
Quote: Originally posted by Echo
5) Make sure none of your imported BHAVs are using format 0x8009 |
Lab Assistant
#10
7th Dec 2007 at 11:10 PM
Posts: 166
Thanks: 330 in 1 Posts
Double nested menu would that be: menu within a menu within a menu?
#11
9th Dec 2007 at 9:23 AM
Posts: 3,129
Thanks: 4627 in 9 Posts
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.
#12
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.
#13
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?
Yipes! I just looked at the rest of my BHAVs and quite a few of them (19) are 8009! Panic?
#14
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.
#15
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.
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.
#16
13th Dec 2007 at 4:51 AM
Posts: 3,129
Thanks: 4627 in 9 Posts
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. |
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. |
Quote: Originally posted by Phaenoh
...glup... doesn't that mean I will have to redo all my work? |
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.
#17
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!
#18
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. |
I will try the easy way first with the format numbers, fingers crossed!
#19
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.
#20
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?
#21
18th Mar 2008 at 10:29 AM
Posts: 11,682
Thanks: 9680 in 11 Posts
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)
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
#22
18th Mar 2008 at 10:35 AM
Posts: 612
Thanks: 33786 in 19 Posts
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.
#23
18th Mar 2008 at 10:45 AM
Posts: 3,129
Thanks: 4627 in 9 Posts
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.
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.
#24
18th Mar 2008 at 11:23 AM
Posts: 11,682
Thanks: 9680 in 11 Posts
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)
"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
#25
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? |
Who Posted
|