It seems like the two moves are very similar, except Seth starts one square down from Franz, and Seth has 0x18000 added to his SETVALs. Can someone help me make sense of these parameters?
Edit: maybe the last digit is the X-coordinate? But there seems to be no Y-coordinate.
Scratch all of that I’m an idiot apparently and this was the correct solution all along. At least I got to see Franz go crazytownbananapants.
Maybe?
I can see that [4,2] converts to 84 00 which works for SETVAL 0x1 0x84 and [0,2] converts to 80 00 which works for SETVAL 0x1 0x80
But [4,5] converts to 44 01 when I expected 04 01. And none of it explains Seth’s extra 0x18000.
EDIT:
Okay, now I’m really lost. I tried changing Franz’s first move (0x104) to 0x80, and he moves to [0,2], then [4,2], then back to [0,2]. So it seems like they are just coordinates.
Then I tried 0x1, and he moved to [1,0] then [4,2] etc. Same for 0x18000+1.
Then I tried 0x2, which makes him go to [3,0].
0x4 makes him go to [5,0].
So I figured that 0x8 might make him go to [7,0] but instead I get this: http://gfycat.com/SizzlingAngryGossamerwingedbutterfly Now, maybe that’s just the pathfinding screwing up from the terrain, but he also went straight to [9,0]
More stuff:
0x10 makes him head to [-1, 1] and crashes the game.
0x11 is [0,1]
0x100 is [3,0]
0x101 is [4,1]
I think I’m a bit too late for this, but I think I figured out how MOVEFORCED works.
It uses 6 bits for X position and 6 bits for Y, and Y goes before X.
Also
0x10 actually is [16,0], but it crashes because it goes beyond the map size.