Holy...crap!

<< < (2/8) > >>

nothingbutsims:
I had the same experience too, Trepie, with a couple million.

gali:
It happens when you teleport some sim from the family bin, but he is one of a group (like the Singles) - and propose him/her to move in. It's a glitch I think, but I like it!

It happened to me with the Curious brothers, which had only 49,000$, moved to the family bin.

I created a female for Pascal, teleported him from the family bin, and proposed the move in. He brought with him more than 2 million $.
Then I created a female for Lazlo, moved him in, and he brought 5 million $ (!!).
As I used the motherlode before moving the brothers from their house, Vidcund remained in the family bin with 1 million $ - and when I moved him in, this was the only sum he brought.

...Nice glitch...:).

Oddysey:
*twitch*

That's a very specific number. What in the name of all that is binary could be the mechanism of that glitch?

dizzy:
Quote from: Oddysey on 2005 September 27, 04:32:14

*twitch*

That's a very specific number. What in the name of all that is binary could be the mechanism of that glitch?

Hehe. You asked:

Code:

###
# Group = 0x7F859641, Instance = 0x101F
# Title = Move In - Normal New
#
# Format = 8009, Params = 0, Locals = 22
# Tree type = 0, Header flag = 6, Tree version = FFFF8032 (-32718)

     0: Save - Disable/Enable(0); true: 1, false: error
     1: Stack Object := Me; true: 19, false: error
     2: Stack Object := stack obj's person data neighbor id (0x1F); true: 3, false: error
     3: Local 3 := neighbor in stack object family friend count (0x9); true: 4, false: error
     4: Local 0 := my person data family number (0x3D); true: 48, false: error
     5: Local 1 := 0; true: 6, false: error
     6: Local 2 := 0; true: 32, false: error
     7: Stack Object := 0; true: 8, false: error
     8: Local 0 == Const 0x13A:0x1(32766 (0x7FFE)); true: 74, false: 6D
     9: Local 19 := random from 0 to < Const 0x1003:0x4(20000 (0x4E20)); true: A, false: error
     A: Stack Object := my person data neighbor id (0x1F); true: 13, false: error
     B: Generic Sims Call: add to family Stack Obj:nID, Temp 0:familyID; true: 14, false: 3D
     C: Alter Budget: add Local 19 as misc income; true: D, false: D
     D: Stack Object := my person data neighbor id (0x1F); true: E, false: error
     E: Temp 0 := neighbor in stack object family friend count (0x9); true: F, false: error
     F: Temp 0 -= Local 3; true: 40, false: error
    10: Local 0 == Const 0x13A:0x1(32766 (0x7FFE)); true: 5E, false: 6E
    11: Temp 0 := Local 0; true: 12, false: error
    12: Generic Sims Call: combine assets of family in temp 0 Temp 0:familyID; true: 15, false: 15
    13: Temp 0 := 0; true: B, false: error
    14: Selectable: Set(Stack Object); true: 65, false: error
    15: Stack Object := my person data neighbor id (0x1F); true: 4D, false: error
    16: Generic Sims Call: add to family Stack Obj:nID, Temp 0:familyID; true: 57, false: 3C
    17: Temp 0 := 0; true: 56, false: error
    18: Selectable: Set(Stack Object); true: 3B, false: error
    19: .Move In - Assets to Bring - Get T[3,4]; true: 1A, false: error
    1A: Local 5 := Temp 3; true: 1B, false: error
    1B: Local 6 := Temp 4; true: 2, false: error
    1C: .Move In - Add Assets(Local 5, Local 6); true: 1E, false: error
    1D: Local 7 != Local 15; true: 5A, false: 58
    1E: Temp 0 := Local 6; true: 3E, false: error
    1F: Dialog: Text Notification: [Private STR# 0x12D:0x25], priority 1, timeout 20, putting Text ID in temp 0; true: 11, false: error
    20: Dialog: Text Notification: [Private STR# 0x12D:0x29], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
    21: .Move In - Memories; true: 31, false: 31
    22: Stack Object := neighbor in stack object person instance id (0x0); true: 24, false: error
    23: Verify - Person ID(neighbor in stack object person instance id (0x0)); true: 22, false: 26
    24: stack obj's person data Job Data (0x18) Set Flag 3; true: 25, false: error
    25: Selectable: Set(Local 17); true: 2B, false: error
    26: Schedule - Visitor - Immediately(Stack Object, Const 0x10F:0x0(0)); true: 27, false: error
    27: Schedule - Visitor - Set Selectable Flags(Temp 0, 1); true: 49, false: error
    28: Temp 0 := 0; true: 29, false: error
    29: Generic Sims Call: add to family Stack Obj:nID, Temp 0:familyID; true: 30, false: 2A
    2A: Break Point: ; true: 30, false: error
    2B: Stack Object := Local 17; true: 49, false: error
    2C: Manage Inventory: Access the Neighbor Singular Inventory from ID my person data neighbor id (0x1F). with category 0 GUID 0xEDE5D047 (0x7FAB48B1: Token - Move In). Set To Next token. Starting at index from Local 16; true: 2D, false: 3A
    2D: Manage Inventory: Access the Neighbor Singular Inventory from ID my person data neighbor id (0x1F). with category 0 GUID 0xEDE5D047 (0x7FAB48B1: Token - Move In). Pop property off token at index from Local 16. Put property value into Local 15.; true: 21, false: 21
    2E: Manage Inventory: Access the Neighbor Singular Inventory from ID my person data neighbor id (0x1F). with category 0 GUID 0xEDE5D047 (0x7FAB48B1: Token - Move In). Pop property off token at index from Local 16. Put property value into Local 17.; true: 2F, false: 2F
    2F: Stack Object := Local 17; true: 23, false: error
    30: Local 18 ++ and < Local 15; true: 2E, false: D
    31: Local 15 += 1; true: 30, false: error
    32: Stack Object := 0; true: 4E, false: error
    33: Set to Next: Neighbor of Family in temp0; true: 34, false: 7
    34: neighbor's person data family number (0x3D) == my person data family number (0x3D); true: 35, false: 4E
    35: Local 7 += 1; true: 4E, false: error
    36: Local 11 := 1000 (0x3E8); true: 4F, false: error
    37: Local 12 := Local 19; true: 38, false: error
    38: Local 12 /= 1000 (0x3E8); true: 36, false: error
    39: Dialog: Text Notification: [Private STR# 0x12D:0x24], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
    3A: Local 15 := 1; true: D, false: error
    3B: Wants - Refresh All - Recalc(1, 0); true: 43, false: error
    3C: Wants - Refresh All - Recalc(1, 0); true: 44, false: error
    3D: Wants - Refresh All - Recalc(1, 0); true: 42, false: error
    3E: Local 6 := Local 5; true: 3F, false: error
    3F: Local 5 := Temp 0; true: 51, false: error
    40: Local 0 == Const 0x13A:0x0(32767 (0x7FFF)); true: 41, false: 10
    41: Wants - Set CAS History(my person data neighbor id (0x1F), Stack Object); true: 66, false: 66
    42: Save - Disable/Enable(1); true: false, false: error
    43: Save - Disable/Enable(1); true: true, false: error
    44: Save - Disable/Enable(1); true: false, false: error
    45: Want Satisfy: GUID 0xEDAAB0F8 (Move out) with value Stack Object; true: 46, false: 46
    46: Want Satisfy: GUID 0x6DD670D5 (Sim Moves Out (want)) with value Stack Object; true: 47, false: 47
    47: Want Satisfy: GUID 0x4DD673FA (Sim Moves Out (fear)) with value Stack Object; true: 28, false: 28
    48: Local 20 := neighbor in stack object house number (0x6); true: 5, false: error
    49: Local 20 > 0; true: 45, false: 28
    4A: Want Satisfy: GUID 0xEDAAB0F8 (Move out) with value Stack Object; true: 4B, false: 4B
    4B: Want Satisfy: GUID 0x6DD670D5 (Sim Moves Out (want)) with value Stack Object; true: 4C, false: 4C
    4C: Want Satisfy: GUID 0x4DD673FA (Sim Moves Out (fear)) with value Stack Object; true: 55, false: 55
    4D: Local 20 > 0; true: 4A, false: 55
    4E: Temp 0 := Local 0; true: 33, false: error
    4F: Lot - Is College Lot?; true: 50, false: 39
    50: Dialog: Text Notification: [Private STR# 0x12D:0x33], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
    51: Lot - Is College Lot?; true: 52, false: 20
    52: Dialog: Text Notification: [Private STR# 0x12D:0x2B], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
    53: Local 19 := random from 0 to < Const 0x1003:0x5(2000 (0x7D0)); true: A, false: error
    54: Lot - Is College Lot?; true: 53, false: 6F
    55: my person data kEP1 - Time Left In Grading Period (0xAC) := 72 (0x48); true: 17, false: error
    56: College - Remove Key(my person data neighbor id (0x1F)); true: 16, false: error
    57: .Init - Student; true: 18, false: error
    58: Lot - Is College Lot?; true: 59, false: 1F
    59: Dialog: Text Notification: [Private STR# 0x12D:0x34], priority 1, timeout 20, putting Text ID in temp 0; true: 11, false: error
    5A: .Move In - College - Assets Calc(Local 0, Global(Current Family), Local 15, Local 7); true: 5B, false: error
    5B: Temp 0 == 1; true: 5C, false: 1C
    5C: Local 6 := Temp 3; true: 5D, false: error
    5D: Local 5 := Temp 4; true: 51, false: error
    5E: .Townie - Removed from Pool(Me); true: 41, false: error
    5F: .Move In - Add Assets(Local 5, Local 6); true: 64, false: error
    60: Run Tree by Name: CT - Get Move In Funds T[0,1], push onto my stack; true: 62, false: 54
    61: Local 6 := Temp 1; true: 5F, false: error
    62: Local 5 := Temp 0; true: 61, false: error
    63: Stack Object := Me; true: 60, false: error
    64: Local 21 := 1; true: A, false: error
    65: Local 21 == 1; true: D, false: C
    66: Local 21 == 1; true: 6C, false: 37
    67: Dialog: Text Notification: [Private STR# 0x12D:0x29], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
    68: Lot - Is College Lot?; true: 69, false: 67
    69: Dialog: Text Notification: [Private STR# 0x12D:0x2B], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
    6A: Local 6 := Temp 0; true: 68, false: error
    6B: Local 5 := Local 6; true: 6A, false: error
    6C: Temp 0 := Local 5; true: 6B, false: error
    6D: Local 0 == Const 0x13A:0x3(32764 (0x7FFC)); true: 74, false: 75
    6E: Local 0 == Const 0x13A:0x3(32764 (0x7FFC)); true: 5E, false: 1D
    6F: .Move In - Get Townie Wealth(my person data neighbor id (0x1F)); true: 71, false: 9
    70: Local 21 := 1; true: A, false: error
    71: Local 6 := Temp 0; true: 72, false: error
    72: Local 5 := Temp 1; true: 73, false: error
    73: .Move In - Add Assets(Local 5, Local 6); true: 70, false: error
    74: .Move In - Add Items To Townie Inventories; true: 63, false: error
    75: Local 0 == Const 0x13A:0x0(32767 (0x7FFF)); true: 74, false: 2C

Gus Smedstad:
That's what Sims 2 code looks like?  Ye gods, it's spagetti!  I haven't seen anything that bad since I stopped using BASIC 23 years ago.  I started to do a trace, and I was astonished to see -

On line 0x1, the code jumps to line 0x19.
It's impossible for control to flow from line 0x18 to 0x19, since the preceeding line is a jump to 0x3B.
Ergo, there's no conceivable reason why the code at 0x19 wasn't located immediate after line 0x1.
Line 0x1B then jumps to line 0x2, where this segment should have appeared in the first place.

Line 0x4 jumps to 0x48.  Again, it's impossible from control to flow from 0x47 to 0x48, because both paths are a jump to 0x28.
Line 0x48 jumps back to line 0x5, so we've got a one line digression for no apparent reason.

It's difficult for me to imagine a compiler writing code this bad.  It has all the earmarks of code that has been patched by hand.  I.e., as originally written line 0x4 jumped to 0x5, then the programmer realized he needed another instruction in there, so instead of inserting it and changing the line numbers, he changed the jump, added the code, and then jumped back.

That's horrible.

 - Gus

Navigation

[0] Message Index

[#] Next page

[*] Previous page