Added CMenu. Thanks @ZedekThePlagueDoctor

This commit is contained in:
krystalgamer 2024-05-19 16:52:58 +02:00
parent 9b0ee2fa7d
commit c9b5f7568a
3 changed files with 84 additions and 8 deletions

View File

@ -1,11 +1,45 @@
#include "export.h"
#include "front.h"
#include "validate.h"
CMenu::CMenu(int x,int y,unsigned char Justification,int HiScale,int LowScale, int LineSep){
CMenu::CMenu(int x,int y,unsigned char Justification,int HiScale,int LowScale, int LineSep)
{
}
CMenu::~CMenu(){
}
CMenu::~CMenu()
{
}
void validate_CMenu(void)
{
VALIDATE_SIZE(CMenu, 0x53C);
VALIDATE(CMenu, ptr_to, 0x4);
VALIDATE(CMenu, menu_width, 0x8);
VALIDATE(CMenu, text_val_b, 0xA);
VALIDATE(CMenu, text_val_a, 0xC);
VALIDATE(CMenu, unk_a, 0xE);
VALIDATE(CMenu, unk_b, 0xF);
VALIDATE(CMenu, scrollbar_one, 0x10);
VALIDATE(CMenu, scrollbar_zero, 0x11);
VALIDATE(CMenu, mJustification, 0x12);
VALIDATE(CMenu, selected_index, 0x14);
VALIDATE(CMenu, mCursorLine, 0x15);
VALIDATE(CMenu, mNumLines, 0x1A);
VALIDATE(CMenu, field_1E, 0x1E);
VALIDATE(CMenu, mX, 0x24);
VALIDATE(CMenu, mY, 0x28);
VALIDATE(CMenu, mLineSep, 0x2C);
VALIDATE(CMenu, mEntry, 0x3C);
}
void validate_SEntry(void)
{
VALIDATE_SIZE(SEntry, 0x20);
}

48
front.h
View File

@ -1,13 +1,53 @@
#pragma once
#ifndef FRONT_H
#define FRONT_H
class CMenu {
#include "export.h"
struct SEntry
{
unsigned char fullPad[0x20];
};
class CMenu {
public:
unsigned char unk[0x538];
EXPORT virtual ~CMenu();
EXPORT CMenu(int x,int y,unsigned char Justification,int HiScale,int LowScale, int LineSep);
};
int ptr_to;
__int16 menu_width;
__int16 text_val_b;
__int16 text_val_a;
char unk_a;
char unk_b;
char scrollbar_one;
char scrollbar_zero;
char mJustification;
unsigned char padAfterJust;
unsigned char selected_index;
unsigned char mCursorLine;
unsigned char padAfterCursorLine[4];
unsigned char mNumLines;
unsigned char padAfterNumLines[2];
__int16 field_1E;
unsigned char padAfter1E[4];
int mX;
int mY;
int mLineSep;
unsigned char padAfterLineSep[0xC];
SEntry mEntry[40];
};
void validate_SEntry(void);
void validate_CMenu(void);
#endif

View File

@ -211,6 +211,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
validate_CSmokeTrail();
validate_CMessage();
validate_CTrapWebEffect();
validate_CMenu();
validate_SEntry();
puts("[*] Validation done!");