From cd7a41b6f5f8f1878a164f873367fae5981e3659 Mon Sep 17 00:00:00 2001 From: krystalgamer Date: Sat, 25 May 2024 19:49:58 +0200 Subject: [PATCH] CPolyLine::SetSemiTransparent --- bit2.cpp | 19 +++++++++++++++++++ bit2.h | 11 +++++++++++ main.cpp | 1 + 3 files changed, 31 insertions(+) diff --git a/bit2.cpp b/bit2.cpp index ad0eba2..b1673cc 100644 --- a/bit2.cpp +++ b/bit2.cpp @@ -24,6 +24,17 @@ void CGLine::SetRGB1(unsigned char a2, unsigned char a3, unsigned char a4) this->field_40 = a2 | (a4 << 16) | (a3 << 8); } +// @NotOk +// figure out what the ptr is +void CPolyLine::SetSemiTransparent(void) +{ + for (int i = 0; i < this->field_40; i++) + { + unsigned char * ptr = reinterpret_cast(this->field_44); + ptr[0x10*i] |= 2; + } +} + void validate_CGPolyLine(void){ VALIDATE_SIZE(CGPolyLine, 0x58); @@ -51,3 +62,11 @@ void validate_CGLine(void) VALIDATE(CGLine, field_54, 0x54); VALIDATE(CGLine, field_58, 0x58); } + +void validate_CPolyLine(void) +{ + VALIDATE_SIZE(CPolyLine, 0x48); + + VALIDATE(CPolyLine, field_40, 0x40); + VALIDATE(CPolyLine, field_44, 0x44); +} diff --git a/bit2.h b/bit2.h index 15e298d..303dea9 100644 --- a/bit2.h +++ b/bit2.h @@ -41,7 +41,18 @@ class CGLine : public CBit int field_58; }; +class CPolyLine : public CBit +{ + public: + EXPORT void SetSemiTransparent(void); + unsigned char topPad; + + int field_40; + int field_44; +}; + void validate_CGPolyLine(void); +void validate_CPolyLine(void); void validate_CGLine(void); #endif diff --git a/main.cpp b/main.cpp index 1dc40d1..3a43029 100644 --- a/main.cpp +++ b/main.cpp @@ -268,6 +268,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, validate_SControl(); validate_Bitmap256(); validate_WeirdTextureHolder(); + validate_CPolyLine(); puts("[*] Validation done!");