rodecomp/Source/UI/MiniPartyGrid.h
ragnarok-clanker 63f8e08d49 Decompile 3 functions in Source/UI/MiniPartyGrid.cpp, Source/UI/MiniPartyGrid.h, ...
Batch #16016 by Yommy: 2 byte-identical, 1 confirmed by peer review.

- fn_07659 MiniPartyGrid::GetCellPosition: byte-identical
- fn_07660 MiniPartyGrid::GetWindowPosition: byte-identical
- fn_07661 MiniPartyGrid::FindCell: logic confirmed by peer review

Peer-reviewed-by: alisonrag, youko
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-10 14:31:47 +00:00

50 lines
1.3 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_MINIPARTYGRID_H
#define RAGNAROK_SOURCE_UI_MINIPARTYGRID_H
#include <cstddef>
#include <cstdint>
#include <vector>
struct MiniPartyGridPoint {
/* 0000 */ int x;
/* 0004 */ int y;
};
struct MiniPartyGridRectangle {
/* 0000 */ int left;
/* 0004 */ int top;
/* 0008 */ int right;
/* 000C */ int bottom;
};
struct MiniPartyGrid {
MiniPartyGridPoint GetCellPosition(int index) const;
MiniPartyGridPoint GetWindowPosition(int index) const;
int FindCell(int x, int y) const;
void BuildAvailableCells();
/* 0000 */ std::uint32_t vtable;
/* 0004 */ int left;
/* 0008 */ int top;
/* 000C */ int right;
/* 0010 */ int bottom;
/* 0014 */ int columns;
/* 0018 */ int rows;
/* 001C */ std::vector<MiniPartyGridRectangle> exclusions;
/* 0028 */ std::vector<int> availableCells;
};
extern int g_miniPartyCellWidth;
extern int g_miniPartyCellHeight;
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(MiniPartyGridPoint) == 0x08);
static_assert(offsetof(MiniPartyGridPoint, y) == 0x04);
static_assert(sizeof(MiniPartyGridRectangle) == 0x10);
static_assert(offsetof(MiniPartyGridRectangle, bottom) == 0x0C);
static_assert(offsetof(MiniPartyGrid, exclusions) == 0x1C);
static_assert(offsetof(MiniPartyGrid, availableCells) == 0x28);
static_assert(sizeof(MiniPartyGrid) == 0x34);
#endif
#endif