avoitishin / xray-16

XRAY 16 Engine Modifications
Other
10 stars 6 forks source link

Implement workaround for 'error in stalker with visual' #8

Closed revolucas closed 9 years ago

revolucas commented 9 years ago

Alter the method on line 223 of xrGame\stalker_animation_manager_update.cpp as shown below:

void CStalkerAnimationManager::update                  ()
{
    START_PROFILE("stalker/client_update/animations")
    try {
        update_impl            ();
    }
    catch(...) {
        Msg("Error in stalker with visual [%s]",*object().cNameVisual());
        global().reset();
        head().reset();
        torso().reset();
        legs().reset();
        return;
    }
    STOP_PROFILE
}

To prevent this error:

! error in stalker with visual actors\stalker_merc\stalker_mercen2b_mask stack trace:

0023:08C6FA61 xrGame.dll, CStalkerAnimationPair::select_animation(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\stalker_animation_pair.cpp, 242 0023:08C6FA96 xrGame.dll, CStalkerAnimationPair::select(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\stalker_animation_pair.cpp, 257 0023:08C6B61A xrGame.dll, CStalkerAnimationManager::global_critical_hit(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\stalker_animation_global.cpp, 74 0023:08C6B693 xrGame.dll, CStalkerAnimationManager::assign_global_animation(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\stalker_animation_global.cpp, 98 0023:08C6D0BC xrGame.dll, CStalkerAnimationManager::play_global(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\stalker_animation_manager_update.cpp, 162 0023:08C6D1FC xrGame.dll, CStalkerAnimationManager::update_impl(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\stalker_animation_manager_update.cpp, 223 0023:08C6D270 xrGame.dll, CStalkerAnimationManager::update(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\stalker_animation_manager_update.cpp, 16707566 0023:08C65420 xrGame.dll, CAI_Stalker::SelectAnimation(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\ai\stalker\ai_stalker.cpp, 1151 0023:08BC39CA xrGame.dll, CCustomMonster::UpdatePositionAnimation(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\custommonster.cpp, 566 0023:08BC6B66 xrGame.dll, CCustomMonster::UpdateCL(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\custommonster.cpp, 525 0023:08C68472 xrGame.dll, CAI_Stalker::UpdateCL(), d:\stalker\source\cop\vs_2008_experimental\engine_vs2008_fixed\xrgame\ai\stalker\ai_stalker.cpp, 892 0023:0041A694 xrEngine.exe, CObjectAnimator::operator=() 0023:004168C3 xrEngine.exe, CBoneData::operator=() 0023:09075D74 xrGame.dll, PI_DIV_2() 0023:090FDE2C xrGame.dll, GS_ExceptionPointers()

[error][ 8] : Not enough storage is available to process this command.

avoitishin commented 9 years ago

Done, fix is available in working branch, although i've slightly changed order (calling global().reset() last) just in case. Let me know if that works

avoitishin commented 9 years ago

Haven't heard any issues yet so closing