1
Troubleshooting / Re: Chryssalid Crash
« on: October 10, 2013, 02:42:46 am »
I found the solution to my particular problem, finally. It seems I have messed up when patching the original Xcom files from version 1.0 to 1.2. I am surprised the game ran at all.
My Solution:
Check if the file "%OPENXCOMFOLDER%\data\units\chrys.pck" has a size of 23504 bytes. The file should be 24897 bytes large when including the death sprites. Redo all the patches if the file is smaller and copy the needed folders into your "%OPENXCOMFOLDER%\data" folder again, voila.
tl;dr:
After some debugging I found out that the Chrysalid SurfaceSet only had 224 frames and that OpenXcom attempted to recover the death animation frames above that value causing an unhandled exception at UnitSprite.cpp line:1088:
Sneaky Chrysalids... lets finish this!
My Solution:
Check if the file "%OPENXCOMFOLDER%\data\units\chrys.pck" has a size of 23504 bytes. The file should be 24897 bytes large when including the death sprites. Redo all the patches if the file is smaller and copy the needed folders into your "%OPENXCOMFOLDER%\data" folder again, voila.
tl;dr:
After some debugging I found out that the Chrysalid SurfaceSet only had 224 frames and that OpenXcom attempted to recover the death animation frames above that value causing an unhandled exception at UnitSprite.cpp line:1088:
Code: [Select]
void UnitSprite::drawRoutine7()
{
...
torso = _unitSurface->getFrame(die + _unit->getFallingPhase());
torso->blit(this); https:// torso == NULL
...
}
Bomb Bloke's X-Com Toolkit helped to extract the sprites from the .pck files to verify that things were missing.Sneaky Chrysalids... lets finish this!