Umm.. I know you don't want to hear this.. :)
Yes the crash when giving Roger a command in SQ3 is gone, congratulations!
However... heap corruption (I guess) is causing stuff like this intermittent
crash when exiting FreeSCI in src/gfx/gfx_tools.c line 164:
free(pxm->index_data);
When scaling is at 1x1, everything becomes a lot more unstable and crashes can
occur anytime, anywhere. Don't quote me, but I think it only starts stuffing up
after you've given Roger a command, not before.
Call stack for that crash I mentioned above by the way:
CheckBytes(unsigned char * 0x01dde7a0, unsigned char 253, unsigned int 3) line
1356 + 5 bytes
_free_dbg_lk(void * 0x00dde8a0, int 1) line 1062 + 28 bytes
_free_dbg(void * 0x00dde8a0, int 1) line 1001 + 13 bytes
free(void * 0x00dde8a0) line 956 + 11 bytes
gfx_free_pixmap(_gfx_driver * 0x100ab120, gfx_pixmap_t * 0x00b82658) line 164 +
15 bytes
sdl_exit(_gfx_driver * 0x100ab120) line 312 + 23 bytes
gfxop_exit(gfx_state_t * 0x00435308 static_gfx_state) line 611 + 18 bytes
main(int 1, char * * 0x00880d40) line 1084 + 12 bytes
mainCRTStartup() line 206 + 25 bytes
KERNEL32! 77e97d08()
Cheers,
Alex.