It’s moving… again… almost!

It’s been some time but now the executePlayerInput from Operation Stealth is completely reverse engineered. Here’s proof:

Full graph of Operation Stealth's executePlayerInput-function in IDA
Full graph of Operation Stealth’s executePlayerInput-function in IDA (2916×2994 image i.e. LARGE!)

I tried a semi-quick hack to put it into ScummVM and it did seem to help with my previous problem of borking the player input handling with my incomplete fix in r33872 (See a forum post about the problem or my previous blog post for more info). Feels good getting things done 🙂 Now just to clean it up a bit and see that I didn’t break anything else with it… and yes, also committing it 😉



2 Responses to “It’s moving… again… almost!”

  1. DrMcCoy Says:

    I dunno, I never got the hang of the graph view (partly because I’d have to run IDA in wine all the time :P. The Linux version is console only and therefore without graphs).
    I’ll write assembly-ish C code into a new file/tab in vim directly from the normal text view in IDA, clean that up / C-ify it as far as I can and then paste it into my working code.

    More on topic, though: Congratz 🙂

    • Buddha Says:

      Thanks :). I really like the graph view myself and I feel it very much helps reverse engineering functions with a more complex control flow (although I got to say even the control flow in this function wasn’t *that* complex but still the graph was quite hard to understand… now it looks understandable but that’s because I’ve combined quite some many if-clauses into the pseudo code “switch” in the topmost box).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: