diff --git a/TR5Main/Renderer/Render11Helper.cpp b/TR5Main/Renderer/Render11Helper.cpp index 88858451a..b2c27acb1 100644 --- a/TR5Main/Renderer/Render11Helper.cpp +++ b/TR5Main/Renderer/Render11Helper.cpp @@ -148,15 +148,15 @@ namespace T5M::Renderer }*/ } - void Renderer11::updateEffects() + void Renderer11::updateEffects(RenderView& view) { - for (int i = 0; i < m_effectsToDraw.size(); i++) + for (int i = 0; i < view.effectsToDraw.size(); i++) { RendererEffect *fx = m_effectsToDraw[i]; Matrix translation = Matrix::CreateTranslation(fx->Effect->pos.xPos, fx->Effect->pos.yPos, fx->Effect->pos.zPos); Matrix rotation = Matrix::CreateFromYawPitchRoll(TO_RAD(fx->Effect->pos.yRot), TO_RAD(fx->Effect->pos.xRot), TO_RAD(fx->Effect->pos.zRot)); - m_effectsToDraw[i]->World = rotation * translation; + view.effectsToDraw[i]->World = rotation * translation; } } @@ -310,16 +310,14 @@ namespace T5M::Renderer itemToDraw->DoneAnimations = true; } - void Renderer11::updateItemsAnimations() + void Renderer11::updateItemsAnimations(RenderView& view) { Matrix translation; Matrix rotation; - int numItems = m_itemsToDraw.size(); - - for (int i = 0; i < numItems; i++) + for (int i = 0; i < view.itemsToDraw.size(); i++) { - RendererItem *itemToDraw = m_itemsToDraw[i]; + RendererItem *itemToDraw = view.itemsToDraw[i]; ITEM_INFO *item = itemToDraw->Item; CREATURE_INFO *creature = (CREATURE_INFO *)item->data; diff --git a/TR5Main/Renderer/Renderer11.h b/TR5Main/Renderer/Renderer11.h index d13d058a5..9a358f262 100644 --- a/TR5Main/Renderer/Renderer11.h +++ b/TR5Main/Renderer/Renderer11.h @@ -553,8 +553,8 @@ namespace T5M::Renderer void prepareLights(); void collectEffects(short roomNumber, RenderView& renderView); void clearSceneItems(); - void updateItemsAnimations(); - void updateEffects(); + void updateItemsAnimations(RenderView& view); + void updateEffects(RenderView& view); int getFrame(short animation, short frame, short** framePtr, int* rate); bool drawAmbientCubeMap(short roomNumber); bool sphereBoxIntersection(DirectX::SimpleMath::Vector3 boxMin, DirectX::SimpleMath::Vector3 boxMax, DirectX::SimpleMath::Vector3 sphereCentre, float sphereRadius); diff --git a/TR5Main/Renderer/Renderer11Draw.cpp b/TR5Main/Renderer/Renderer11Draw.cpp index fc1a0bcca..c92d1d9e7 100644 --- a/TR5Main/Renderer/Renderer11Draw.cpp +++ b/TR5Main/Renderer/Renderer11Draw.cpp @@ -1924,8 +1924,8 @@ namespace T5M::Renderer clearSceneItems(); collectRooms(view); UpdateLaraAnimations(false); - updateItemsAnimations(); - updateEffects(); + updateItemsAnimations(view); + updateEffects(view); if (g_Configuration.EnableShadows) drawShadowMap(); m_items[Lara.itemNumber].Item = LaraItem;