From 643e8557ac6e0b08fdae2eef9d3db498dbbb49f7 Mon Sep 17 00:00:00 2001 From: Aleksey Komarov Date: Mon, 21 Feb 2022 01:35:38 +0300 Subject: [PATCH] check when trying to divide by 0 and initialize PCurFrame, which is always used further --- C2_vs2017/Characters.cpp | 6 ++++-- C2_vs2017/RendererD3D.cpp | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/C2_vs2017/Characters.cpp b/C2_vs2017/Characters.cpp index 7b25fad4..f171e732 100644 --- a/C2_vs2017/Characters.cpp +++ b/C2_vs2017/Characters.cpp @@ -8617,8 +8617,10 @@ void CreateChMorphedModel(TCharacter *cptr) PSplineD = PCurFrame & 0xFF; PCurFrame = (PCurFrame >> 8); } - - + else + { + PCurFrame = 0; + } if (!MORPHA) { diff --git a/C2_vs2017/RendererD3D.cpp b/C2_vs2017/RendererD3D.cpp index d295e741..01bf8d7d 100644 --- a/C2_vs2017/RendererD3D.cpp +++ b/C2_vs2017/RendererD3D.cpp @@ -1023,9 +1023,11 @@ void d3dDetectCaps() PrintLog(logt); ResetTextureMap(); - wsprintf(logt, "DETECTED: Texture transfer speed: %dK/sec.\n", 128*10000 / T); - PrintLog(logt); - + if (T != 0) + { + wsprintf(logt, "DETECTED: Texture transfer speed: %dK/sec.\n", 128 * 10000 / T); + PrintLog(logt); + } DDSURFACEDESC ddsd; ZeroMemory( &ddsd, sizeof(DDSURFACEDESC) );