diff --git a/Source/Render/DeviceContext/DCBitmap.cpp b/Source/Render/DeviceContext/DCBitmap.cpp index 1ae23a75..57e480c0 100644 --- a/Source/Render/DeviceContext/DCBitmap.cpp +++ b/Source/Render/DeviceContext/DCBitmap.cpp @@ -127,11 +127,9 @@ void CDCBitmap::DrawScaledSprite( // OFFSET: 0x005469E0 void CDCBitmap::DrawScaledSurface( int x, int y, int width, int height, CSurface* source, int sourceWidth, int sourceHeight, float scaleX, float scaleY, std::uint32_t color, bool mirrored, - int offsetX, int offsetY, int sourceX, int sourceY, int format + int offsetX, int offsetY, int sourceX, int sourceY ) { - this->m_bitmap.DrawScaledSurface( - x, y, width, height, source, sourceWidth, sourceHeight, scaleX, scaleY, color, mirrored, offsetX, offsetY, sourceX, sourceY, format - ); + this->m_bitmap.DrawScaledSurface(x, y, width, height, source, sourceWidth, sourceHeight, scaleX, scaleY, color, mirrored, offsetX, offsetY, sourceX, sourceY); } // OFFSET: 0x005489F0 diff --git a/Source/Render/DeviceContext/DCBitmap.h b/Source/Render/DeviceContext/DCBitmap.h index 1939985c..1ffe4619 100644 --- a/Source/Render/DeviceContext/DCBitmap.h +++ b/Source/Render/DeviceContext/DCBitmap.h @@ -34,7 +34,7 @@ public: ) override; void DrawScaledSurface( int x, int y, int width, int height, CSurface* source, int sourceWidth, int sourceHeight, float scaleX, float scaleY, std::uint32_t color, bool mirrored, - int offsetX, int offsetY, int sourceX, int sourceY, int format + int offsetX, int offsetY, int sourceX, int sourceY ) override; void Brighten(int x, int y, int width, int height, int amount) override; void Dim(int x, int y, int width, int height, int percent) override; diff --git a/Source/Render/DeviceContext/DCSurface.cpp b/Source/Render/DeviceContext/DCSurface.cpp index c78c18e9..1f1b0c93 100644 --- a/Source/Render/DeviceContext/DCSurface.cpp +++ b/Source/Render/DeviceContext/DCSurface.cpp @@ -264,7 +264,7 @@ void CDCSurface::DrawScaledSprite( // OFFSET: 0x00549250 // FUNCTION: fn_01872 -void CDCSurface::DrawScaledSurface(int, int, int, int, CSurface*, int, int, float, float, std::uint32_t, bool, int, int, int, int, int) { +void CDCSurface::DrawScaledSurface(int, int, int, int, CSurface*, int, int, float, float, std::uint32_t, bool, int, int, int, int) { } // OFFSET: 0x00549370 diff --git a/Source/Render/DeviceContext/DCSurface.h b/Source/Render/DeviceContext/DCSurface.h index 0cb90e21..6037b91c 100644 --- a/Source/Render/DeviceContext/DCSurface.h +++ b/Source/Render/DeviceContext/DCSurface.h @@ -80,7 +80,7 @@ public: ) override; void DrawScaledSurface( int x, int y, int width, int height, CSurface* source, int sourceWidth, int sourceHeight, float scaleX, float scaleY, std::uint32_t color, bool mirrored, - int offsetX, int offsetY, int sourceX, int sourceY, int format + int offsetX, int offsetY, int sourceX, int sourceY ) override; void Brighten(int x, int y, int width, int height, int amount) override; void Dim(int x, int y, int width, int height, int percent) override; diff --git a/Source/Render/DeviceContext/DeviceContext.h b/Source/Render/DeviceContext/DeviceContext.h index 3695e31b..3408127a 100644 --- a/Source/Render/DeviceContext/DeviceContext.h +++ b/Source/Render/DeviceContext/DeviceContext.h @@ -38,7 +38,7 @@ public: ) = 0; virtual void DrawScaledSurface( int x, int y, int width, int height, CSurface* source, int sourceWidth, int sourceHeight, float scaleX, float scaleY, std::uint32_t color, bool mirrored, - int offsetX, int offsetY, int sourceX, int sourceY, int format + int offsetX, int offsetY, int sourceX, int sourceY ) = 0; virtual void Brighten(int x, int y, int width, int height, int amount) = 0; virtual void Dim(int x, int y, int width, int height, int percent) = 0; diff --git a/Source/Render/Textures/BitmapPixels.cpp b/Source/Render/Textures/BitmapPixels.cpp index 221f5a23..b775dbf6 100644 --- a/Source/Render/Textures/BitmapPixels.cpp +++ b/Source/Render/Textures/BitmapPixels.cpp @@ -413,13 +413,14 @@ void BitmapPixels::DrawSurface( // FUNCTION: fn_01840 void BitmapPixels::DrawScaledSurface( int x, int y, int drawWidth, int drawHeight, CSurface* source, int sourceWidth, int sourceHeight, float scaleX, float scaleY, std::uint32_t color, - bool mirrored, int offsetX, int offsetY, int sourceX, int sourceY, int format + bool mirrored, int offsetX, int offsetY, int sourceX, int sourceY ) { if (!source || x < 0 || this->width < static_cast(x) || y < 0 || this->height < static_cast(y) || drawWidth < 0 || drawHeight < 0 || this->width < static_cast(x) + drawWidth || this->height < static_cast(y) + drawHeight || !(scaleX > 0) || !(scaleY > 0) || !color) { return; } + const int format = static_cast(source)->Format(); SurfaceLock locked = source->Lock(); if (!locked.success) { return; @@ -582,8 +583,7 @@ void BitmapPixels::DrawScaledSprite( this->DrawScaledSurface( x, y, drawWidth, drawHeight, surface, image->width, image->height, scaleX, scaleY, color, cell.mirrored != 0, static_cast(static_cast(cell.x) * scaleX + static_cast(offsetX)), - static_cast(static_cast(cell.y) * scaleY + static_cast(offsetY)), static_cast(record.u0 * 256), static_cast(record.v0 * 256), - static_cast(surface)->Format() + static_cast(static_cast(cell.y) * scaleY + static_cast(offsetY)), static_cast(record.u0 * 256), static_cast(record.v0 * 256) ); } } diff --git a/Source/Render/Textures/BitmapPixels.h b/Source/Render/Textures/BitmapPixels.h index 8ee45c62..abdfd21c 100644 --- a/Source/Render/Textures/BitmapPixels.h +++ b/Source/Render/Textures/BitmapPixels.h @@ -40,7 +40,7 @@ struct BitmapPixels { ); void DrawScaledSurface( int x, int y, int width, int height, CSurface* source, int sourceWidth, int sourceHeight, float scaleX, float scaleY, std::uint32_t color, bool mirrored, - int offsetX, int offsetY, int sourceX, int sourceY, int format + int offsetX, int offsetY, int sourceX, int sourceY ); void DrawRleSprite(int x, int y, std::span cells, const SpriteRleImage* const* const* images, const std::uint32_t* palette, int cellCount); diff --git a/Source/UI/Quest/UIRenewQuestWnd.cpp b/Source/UI/Quest/UIRenewQuestWnd.cpp index e6c269f2..c773cc2b 100644 --- a/Source/UI/Quest/UIRenewQuestWnd.cpp +++ b/Source/UI/Quest/UIRenewQuestWnd.cpp @@ -599,12 +599,12 @@ void UIRenewDetailQuestInfoWnd::Paint() { CTexture* texture = g_texMgr.Load("유저인터페이스\\renew_questui\\bg_quest01.bmp", 0, false, true, false); if (texture) { - this->geometry.surface->DrawScaledSurface(9, 70, 324, 138, texture, texture->Width(), texture->Height(), 1.0f, 1.0f, 0x80FFFFFF, false, 0, 0, 0, 0, 0); + this->geometry.surface->DrawScaledSurface(9, 70, 324, 138, texture, texture->Width(), texture->Height(), 1.0f, 1.0f, 0x80FFFFFF, false, 0, 0, 0, 0); } texture = g_texMgr.Load("유저인터페이스\\renew_questui\\bg_quest02.bmp", 0, false, true, false); if (texture) { - this->geometry.surface->DrawScaledSurface(9, 283, 208, 92, texture, texture->Width(), texture->Height(), 1.0f, 1.0f, 0x80FFFFFF, false, 0, 0, 0, 0, 0); + this->geometry.surface->DrawScaledSurface(9, 283, 208, 92, texture, texture->Width(), texture->Height(), 1.0f, 1.0f, 0x80FFFFFF, false, 0, 0, 0, 0); } } else { this->DrawPanelBackground(0, 0, "유저인터페이스\\renew_questui\\bg_questSub.bmp"); diff --git a/Source/UI/RuneSystem/UIRuneSystemWnd.cpp b/Source/UI/RuneSystem/UIRuneSystemWnd.cpp index 63da1144..b6015e43 100644 --- a/Source/UI/RuneSystem/UIRuneSystemWnd.cpp +++ b/Source/UI/RuneSystem/UIRuneSystemWnd.cpp @@ -2042,7 +2042,7 @@ void UIRuneSet_Info::Paint() { if (texture) { const float scale = 90.0f / static_cast(texture->Width()); this->geometry.surface->DrawScaledSurface( - g_runeSetSlotX[slot], g_runeSetSlotY[slot], 90, 120, texture, texture->Width(), texture->Height(), scale, scale, 0xFFFFFFFF, false, 0, 0, 0, 0, 0 + g_runeSetSlotX[slot], g_runeSetSlotY[slot], 90, 120, texture, texture->Width(), texture->Height(), scale, scale, 0xFFFFFFFF, false, 0, 0, 0, 0 ); if (!this->m_runeSet->m_slots[slot]->IsActive()) { this->geometry.surface->Dim(g_runeSetSlotX[slot], g_runeSetSlotY[slot], 90, 120, 55); @@ -2150,7 +2150,7 @@ void UIRune_Decom::Paint() { CTexture* texture = g_texMgr.Load(this->unknown_0094.c_str(), 0, false, true, false); if (texture) { const float scale = 180.0f / static_cast(texture->Width()); - this->geometry.surface->DrawScaledSurface(0xE1, 0x4B, 0xB4, 0xF0, texture, texture->Width(), texture->Height(), scale, scale, 0xFFFFFFFF, false, 0, 0, 0, 0, 0); + this->geometry.surface->DrawScaledSurface(0xE1, 0x4B, 0xB4, 0xF0, texture, texture->Width(), texture->Height(), scale, scale, 0xFFFFFFFF, false, 0, 0, 0, 0); } if (this->unknown_007C.size()) { diff --git a/Source/UI/Window/UINavigationWnd.cpp b/Source/UI/Window/UINavigationWnd.cpp index 753f989f..f09cf8c3 100644 --- a/Source/UI/Window/UINavigationWnd.cpp +++ b/Source/UI/Window/UINavigationWnd.cpp @@ -617,7 +617,7 @@ void UINavigationWnd::Paint() { const float scale = static_cast(size) / static_cast(g_navigationMapTexture->Width()); this->geometry.surface->DrawScaledSurface( mapX, mapY, size, size, g_navigationMapTexture, g_navigationMapTexture->Width(), g_navigationMapTexture->Height(), scale, scale, 0xFFFFFFFFu, false, 0, 0, 0, - 0, 0 + 0 ); } diff --git a/Source/UI/Window/UIWindow.cpp b/Source/UI/Window/UIWindow.cpp index 96929129..8412346a 100644 --- a/Source/UI/Window/UIWindow.cpp +++ b/Source/UI/Window/UIWindow.cpp @@ -1925,7 +1925,7 @@ void UINavigationV4Wnd::DrawMapTexture(int x, int y, int size) { const float scale = static_cast(size) / static_cast(g_navigationMapTexture->Width()); this->geometry.surface->DrawScaledSurface( x, y, size, size, g_navigationMapTexture, g_navigationMapTexture->Width(), g_navigationMapTexture->Height(), scale, scale, 0xFFFFFFFFu, false, 0, 0, 0, - 0, 0 + 0 ); } }