More Awesome Than You!

TS2: Burnination => Oops! You Broke It! => Topic started by: Motoki on 2006 October 26, 11:08:46



Title: ZOMGPETS!!!1111oneone & the dreaded too many iterations
Post by: Motoki on 2006 October 26, 11:08:46
I always run with debug mode on (OMG B00lPROP!!1111oneoneone) and got a couple of too many iterations errors on cats. I was running little or no hacks at the time and believe the errors to be MaxEAian in nature.

Just throwing this out there for Pes to look at. Don't know if it's anything serious or a one time deal, haven't had them happen again, but still in theory we shouldn't be getting "too many iterations" from regular game play.

One seems like was having issues with the kitty condo and the other was trying to go to work (Fifi is a star! ;) ) and seems like she got routefail even though the stairs out the front door are double stairs next to each other and there's also an alternate route out through the garage. :P


Title: Re: ZOMGPETS!!!1111oneone & the dreaded too many iterations
Post by: syberspunk on 2006 October 26, 22:32:13
I'm no expert but...

in the 2nd error log, the stack doesn't seem to match default Maxis EA code. I tried to trace through, and from CT - Route Failure Feedback - Animation I do not see a call to Verify - Person ID. I could be wrong... but that tells me you may have some kind of hack that is changing the CT - Route Failure Feedback - Animation BHAV? I'm not sure what that could be.

in the 1st error log, the BHAV is very weird...

Code:
# Group = 0x7F484095, Instance = 0x1007
# Title = CT - Pet Sit Get Off
#
# Format = 8009, Params = 1, Locals = 1
# Tree type = 0, Header flag = 0, Tree version = FFFF800D (-32755), Cache flags = 0

     0: Param 0 := Const 0x1000(Anim Offsets):0x1=1; true: 1, false: error
     1: stack object's slot 0 == Me; true: 5, false: 2
     2: stack object's slot 1 == Me; true: 6, false: A
     3: Snap: slot number 0x2, ask person to move; true: 1B, false: 18
     4: Snap: slot number 0x3, ask person to move; true: 8, false: 7
     5: Param 0 += Const 0x1000(Anim Offsets):0x2=0; true: 17, false: error
     6: Param 0 += Const 0x1000(Anim Offsets):0x3=3; true: 4, false: error
     7: Snap: slot number 0x4, ask person to move; true: 9, false: false
     8: Param 0 += Const 0x1000(Anim Offsets):0x6=0; true: 1B, false: error
     9: Param 0 += Const 0x1000(Anim Offsets):0x7=2; true: 1B, false: error
     A: stack object's slot 4 == Me; true: C, false: B
     B: stack object's slot 6 == Me; true: D, false: false
     C: Param 0 += Const 0x1000(Anim Offsets):0x4=10; true: E, false: error
     D: Param 0 += Const 0x1000(Anim Offsets):0x5=17 (0x11); true: 12, false: error
     E: Snap: slot number 0x5, ask person to move; true: F, false: 10
     F: Param 0 += Const 0x1000(Anim Offsets):0x8=4; true: 1B, false: error
    10: Snap: slot number 0x4, ask person to move; true: 11, false: 19
    11: Param 0 += Const 0x1000(Anim Offsets):0x7=2; true: 1B, false: error
    12: Snap: slot number 0x6, ask person to move; true: F, false: 13
    13: Snap: slot number 0x4, ask person to move; true: 11, false: false
    14: Snap - Away (flip sim around); true: 15, false: error
    15: Animate Sim: anim id in Param 0 from Cat list, No Event Tree, IK Object Stack Object, medium priority; true: 16, false: 16
    16: my person data Sitting? (0x0) := Const 0x173(Pet Sit States):0x0=0; true: 1C, false: error
    17: My Anim Offset Z Rotation (0x6F) := 0; true: 3, false: error
    18: My Anim Offset Z Rotation (0x6F) := 270 (0x10E); true: false, false: error
    19: Snap: slot number 0x3, ask person to move; true: 1A, false: false
    1A: Param 0 += Const 0x1000(Anim Offsets):0x6=0; true: 1B, false: error
    1B: My Shadow Type (0x44) := 1; true: 14, false: error
    1C: My Shadow Type (0x44) := 0; true: true, false: error

courtesy of teh new dizziness, there are a couple of things that I notice are strange right off the bat:

1) Param 0 is passed to this BHAV, which I think is the Obj ID for the Cat Condo. However... in the very first line, that value is obliterated by assigning a BCON value to P0. ???

2) Then... there are places in the code where a BCON value gets added to Param 0... but the value is 0! Check out lines 5 and 8 at least. Uh... wtf does that do? I could be like totally retarded... but am I missing something? It would make more sense if it was Assigning the value 0 Or if it was checking if it was a bit that was set or setting a bit to 0, maybe even if it was supposed to multiply by 0. But just adding 0? Does that even change anything?

Anyhew. I don't know enough about it. But it looks to me like Param 0 is supposed to be the anim id used to animate the Cat in line 15. Maybe Pescado, TJ, or dizzy can take a look and have a better chance of makin heads or tails out of this mess. :P

Ste


Title: Re: ZOMGPETS!!!1111oneone & the dreaded too many iterations
Post by: Motoki on 2006 October 26, 22:42:53
On the second one I may have started adding in a few hacks by that point, but when the kitty condo incident happened I'm fairly certain I only had two hacks in, lesswhiny and nowhatsthis, neither of which I see messing with the cat or kitty condo in any way.


Title: Re: ZOMGPETS!!!1111oneone & the dreaded too many iterations
Post by: twojeffs on 2006 October 27, 04:07:28
Not sure about the first one, probably just random though. I've gotten a few anim errors related to pets, but no too many iterations yet.

The second one is probably from lesswhiny, but my guess would be that it was a one off deal just due to changing code that the cat was probably already running when the lot was saved.

Ste - the 'blowout' of P0 is fairly common in bhavs that run animations. It's not expecting any data. P0 is used by the Animate Sim to determine the anim index to run.


Title: Re: ZOMGPETS!!!1111oneone & the dreaded too many iterations
Post by: J. M. Pescado on 2006 October 27, 11:10:27
Yes, parameter indexes are often used for value-passing to primitives, but in order to be used as such, they have to be declared. This gives the illusion that the function expects arguments, when it actually just ignores them, stomping them flat and abusing the variable for its own purposes. This is true of people as well: They behave as if they expect arguments, then proceed to ignore any offered and simply abuse the matter for their own ends.


Title: Re: ZOMGPETS!!!1111oneone & the dreaded too many iterations
Post by: Motoki on 2006 October 27, 14:06:47
LMAO! Thanks for the explanation. So true, haha.