diff --git a/src/Layers/xrRenderPC_R1/FStaticRender_Loader.cpp b/src/Layers/xrRenderPC_R1/FStaticRender_Loader.cpp index 0544f9f06cd..c3a011babfd 100644 --- a/src/Layers/xrRenderPC_R1/FStaticRender_Loader.cpp +++ b/src/Layers/xrRenderPC_R1/FStaticRender_Loader.cpp @@ -177,13 +177,16 @@ void CRender::LoadBuffers (CStreamReader *base_fs) u32 count = fs->r_u32(); DCL.resize (count); VB.resize (count); + + u32 buffer_size = (MAXD3DDECLLENGTH+1)*sizeof(D3DVERTEXELEMENT9); + D3DVERTEXELEMENT9 *dcl = (D3DVERTEXELEMENT9*)_alloca(buffer_size); + for (u32 i=0; ipointer(); - u32 buffer_size = (MAXD3DDECLLENGTH+1)*sizeof(D3DVERTEXELEMENT9); - D3DVERTEXELEMENT9 *dcl = (D3DVERTEXELEMENT9*)_alloca(buffer_size); + fs->r (dcl,buffer_size); fs->advance (-(int)buffer_size); diff --git a/src/xrGame/DestroyablePhysicsObject.cpp b/src/xrGame/DestroyablePhysicsObject.cpp index 8cc1b87a0d7..8e1afad519a 100644 --- a/src/xrGame/DestroyablePhysicsObject.cpp +++ b/src/xrGame/DestroyablePhysicsObject.cpp @@ -99,7 +99,7 @@ void CDestroyablePhysicsObject::Destroy() { VERIFY(!physics_world()->Processing()); const CGameObject *who_object = smart_cast(FatalHit().initiator()); - callback(GameObject::eDeath)(lua_game_object(),who_object ? who_object : 0); + callback(GameObject::eDeath)(lua_game_object(),who_object ? who_object->lua_game_object() : 0); CPHDestroyable::Destroy(ID(),"physic_destroyable_object"); if(m_destroy_sound._handle()) {