From 5c58e082d5fd0e25f5f792a62b59f19d5933fb0e Mon Sep 17 00:00:00 2001 From: Talles <115373190+digital-apple@users.noreply.github.com> Date: Thu, 5 Dec 2024 19:50:34 -0300 Subject: [PATCH 1/7] Update LevelUpMenu.h --- include/RE/L/LevelUpMenu.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/RE/L/LevelUpMenu.h b/include/RE/L/LevelUpMenu.h index 9841e0276..c25f80b8e 100644 --- a/include/RE/L/LevelUpMenu.h +++ b/include/RE/L/LevelUpMenu.h @@ -20,10 +20,10 @@ namespace RE void Accept(CallbackProcessor* a_cbReg) override; // 01 // members - bool unk30; // 30 - std::uint8_t pad31; // 31 - std::uint16_t pad32; // 32 - std::uint32_t pad34; // 34 + bool playerLeveled; // 30 + std::uint8_t pad31; // 31 + std::uint16_t pad32; // 32 + std::uint32_t pad34; // 34 }; static_assert(sizeof(LevelUpMenu) == 0x38); } From 3a214ae5e8b508f00e2bedb9192fdd9217a0660f Mon Sep 17 00:00:00 2001 From: Talles <115373190+digital-apple@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:03:27 -0300 Subject: [PATCH 2/7] implement ConfirmLevelUpAttributeCallback --- include/RE/L/LevelUpMenu.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/RE/L/LevelUpMenu.h b/include/RE/L/LevelUpMenu.h index c25f80b8e..76ca471b6 100644 --- a/include/RE/L/LevelUpMenu.h +++ b/include/RE/L/LevelUpMenu.h @@ -1,6 +1,7 @@ #pragma once #include "RE/I/IMenu.h" +#include "RE/I/IMessageBoxCallback.h" namespace RE { @@ -14,6 +15,21 @@ namespace RE inline static constexpr auto RTTI = RTTI_LevelUpMenu; constexpr static std::string_view MENU_NAME = "LevelUp Menu"; + class ConfirmLevelUpAttributeCallback : public IMessageBoxCallback + { + inline static constexpr auto RTTI = RTTI___ConfirmLevelUpAttributeCallback; + + ~ConfirmLevelUpAttributeCallback() override; // 00 + + // override (IMessageBoxCallback) + void Run(Message a_msg) override; // 01 + + // members + LevelUpMenu* menu; // 10 + RE::ActorValue actorValue; // 18 + } + static_assert(sizeof(ConfirmLevelUpAttributeCallback) == 0x20) + ~LevelUpMenu() override; // 00 // override (IMenu) From aabb683e21b413709d5fa9aee881e09ee0522512 Mon Sep 17 00:00:00 2001 From: Talles <115373190+digital-apple@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:05:30 -0300 Subject: [PATCH 3/7] Update LevelUpMenu.h --- include/RE/L/LevelUpMenu.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/RE/L/LevelUpMenu.h b/include/RE/L/LevelUpMenu.h index 76ca471b6..7ad6d04b5 100644 --- a/include/RE/L/LevelUpMenu.h +++ b/include/RE/L/LevelUpMenu.h @@ -17,6 +17,7 @@ namespace RE class ConfirmLevelUpAttributeCallback : public IMessageBoxCallback { + public: inline static constexpr auto RTTI = RTTI___ConfirmLevelUpAttributeCallback; ~ConfirmLevelUpAttributeCallback() override; // 00 @@ -25,10 +26,10 @@ namespace RE void Run(Message a_msg) override; // 01 // members - LevelUpMenu* menu; // 10 + LevelUpMenu* menu; // 10 RE::ActorValue actorValue; // 18 - } - static_assert(sizeof(ConfirmLevelUpAttributeCallback) == 0x20) + }; + static_assert(sizeof(ConfirmLevelUpAttributeCallback) == 0x20); ~LevelUpMenu() override; // 00 From e867e92f01499ecb15e6be6e1bbe4a3b5e91145d Mon Sep 17 00:00:00 2001 From: Talles <115373190+digital-apple@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:29:24 -0300 Subject: [PATCH 4/7] Update LevelUpMenu.h --- include/RE/L/LevelUpMenu.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/RE/L/LevelUpMenu.h b/include/RE/L/LevelUpMenu.h index 7ad6d04b5..666f5e820 100644 --- a/include/RE/L/LevelUpMenu.h +++ b/include/RE/L/LevelUpMenu.h @@ -19,6 +19,7 @@ namespace RE { public: inline static constexpr auto RTTI = RTTI___ConfirmLevelUpAttributeCallback; + inline static constexpr auto VTABLE = VTABLE___ConfirmLevelUpAttributeCallback; ~ConfirmLevelUpAttributeCallback() override; // 00 From ee00d3c017ea2ed04c4323efb33c2c84dd60cb22 Mon Sep 17 00:00:00 2001 From: Talles <115373190+digital-apple@users.noreply.github.com> Date: Fri, 6 Dec 2024 22:19:30 -0300 Subject: [PATCH 5/7] Update MessageBoxData.h --- include/RE/M/MessageBoxData.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/RE/M/MessageBoxData.h b/include/RE/M/MessageBoxData.h index f1ad8a420..ea730b9e8 100644 --- a/include/RE/M/MessageBoxData.h +++ b/include/RE/M/MessageBoxData.h @@ -25,16 +25,16 @@ namespace RE } // members - BSString bodyText; // 10 - BSTArray buttonText; // 20 - std::uint32_t unk38; // 38 - std::int32_t unk3C; // 3C - BSTSmartPointer callback; // 40 - std::uint32_t unk48; // 48 - std::uint8_t unk4C; // 4C - std::uint8_t unk4D; // 4D - std::uint8_t unk4E; // 4E - std::uint8_t unk4F; // 4F + BSString bodyText; // 10 + BSTArray buttonText; // 20 + std::uint32_t type; // 38 - some sort of identifier ranging from 0-29, being 25 the one with the "highest priority" + std::int32_t cancelOptionIndex; // 3C + BSTSmartPointer callback; // 40 + std::uint32_t menuDepth; // 48 + std::uint8_t firstOptionOffset; // 4C + bool useHtml; // 4D + bool verticalButtons; // 4E + bool isCancellable; // 4F }; static_assert(sizeof(MessageBoxData) == 0x50); } From 465c5fa75d6b7cbc5e0bd58a9cf46752ca32f9f6 Mon Sep 17 00:00:00 2001 From: Talles <115373190+digital-apple@users.noreply.github.com> Date: Fri, 6 Dec 2024 22:32:25 -0300 Subject: [PATCH 6/7] Update MessageBoxData.h --- include/RE/M/MessageBoxData.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/RE/M/MessageBoxData.h b/include/RE/M/MessageBoxData.h index ea730b9e8..41d50bad7 100644 --- a/include/RE/M/MessageBoxData.h +++ b/include/RE/M/MessageBoxData.h @@ -31,7 +31,7 @@ namespace RE std::int32_t cancelOptionIndex; // 3C BSTSmartPointer callback; // 40 std::uint32_t menuDepth; // 48 - std::uint8_t firstOptionOffset; // 4C + std::uint8_t optionOffset; // 4C bool useHtml; // 4D bool verticalButtons; // 4E bool isCancellable; // 4F From 3a9c6964e4cf5a09a7a8759d9ec992248c295cb1 Mon Sep 17 00:00:00 2001 From: Talles <115373190+digital-apple@users.noreply.github.com> Date: Fri, 6 Dec 2024 22:34:08 -0300 Subject: [PATCH 7/7] Update MessageBoxData.h --- include/RE/M/MessageBoxData.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/RE/M/MessageBoxData.h b/include/RE/M/MessageBoxData.h index 41d50bad7..7a5b0eebf 100644 --- a/include/RE/M/MessageBoxData.h +++ b/include/RE/M/MessageBoxData.h @@ -31,7 +31,7 @@ namespace RE std::int32_t cancelOptionIndex; // 3C BSTSmartPointer callback; // 40 std::uint32_t menuDepth; // 48 - std::uint8_t optionOffset; // 4C + std::uint8_t optionIndexOffset; // 4C bool useHtml; // 4D bool verticalButtons; // 4E bool isCancellable; // 4F