diff --git a/bitmap256.cpp b/bitmap256.cpp index 915486f..d1351c8 100644 --- a/bitmap256.cpp +++ b/bitmap256.cpp @@ -1,11 +1,27 @@ #include "bitmap256.h" #include "validate.h" +#include +#include -// @SMALLTODO -Bitmap256::Bitmap256(char *,u16 *,i32,i32,i32) +// @Ok +// @Matching +Bitmap256::Bitmap256( + char *a2, + u16* a3, + i32 a4, + i32 a5, + i32 a6) { - printf("Bitmap256::Bitmap256(char *,u16 *,i32,i32,i32)"); + this->field_21C = a4; + this->field_220 = a5; + + this->field_0 = new u8[this->field_21C * this->field_220]; + + memcpy(this->field_0, a2, this->field_21C * this->field_220); + memcpy(this->field_4, a3, sizeof(this->field_4)); + memset(this->field_204, 0, sizeof(this->field_204)); + this->field_204[5] = a6; } // @SMALLTODO @@ -16,4 +32,11 @@ Bitmap256::~Bitmap256(void) void validate_Bitmap256(void) { + VALIDATE_SIZE(Bitmap256, 0x224); + + VALIDATE(Bitmap256, field_0, 0x0); + VALIDATE(Bitmap256, field_4, 0x4); + VALIDATE(Bitmap256, field_204, 0x204); + VALIDATE(Bitmap256, field_21C, 0x21C); + VALIDATE(Bitmap256, field_220, 0x220); } diff --git a/bitmap256.h b/bitmap256.h index 41ff41a..cb6b3ea 100644 --- a/bitmap256.h +++ b/bitmap256.h @@ -10,6 +10,13 @@ class Bitmap256 public: EXPORT Bitmap256(char *,u16 *,i32,i32,i32); EXPORT ~Bitmap256(void); + + void* field_0; + u8 field_4[0x200]; + i32 field_204[6]; + + i32 field_21C; + i32 field_220; }; void validate_Bitmap256(void);