Proof Of Concept

Here you can see my vision of EventRecorder I’ve implemented. I’ve summoned all my mad msPaint skills and hopeing that it looking as well clear as funny. Let me describe how it works:

recording:
EventsRecorder subscribed as observer to EventManager. Every income message it push into _eventsQueue. Every iteration of main loop(sync), engine calls EventsRecorder’s sync method and all events from queue falling down into the file.

playback:
Every iteration of main loop (sync), EventsRecorder clear _eventsQueue and push events from file to events queue. Then push it back into EventManager.

Video of working demo: http://www.youtube.com/watch?v=6AcXYGLH4vE

I’ve forked scummvm on github and trying to understand how can i work with code (all this repositories, branches and collaborate work is very new for me).  Now there is only clone of scummvm in my repository, but anyway, here is link for it:
https://github.com/jakimushka/scummvm