From d76002aaf5d3e7176033c590f43dcec42c662479 Mon Sep 17 00:00:00 2001 From: robojumper Date: Sat, 12 Apr 2025 20:45:22 +0200 Subject: [PATCH] Fiddle with inlines for d_lyt_meter_minus_btn OK --- config/SOUE01/symbols.txt | 154 +++++++++--------- configure.py | 2 +- include/d/lyt/meter/d_lyt_meter_a_btn.h | 2 + include/d/lyt/meter/d_lyt_meter_drink.h | 5 +- include/d/lyt/meter/d_lyt_meter_minus_btn.h | 10 +- include/d/lyt/meter/d_lyt_meter_nun_stk.h | 2 + include/d/lyt/meter/d_lyt_meter_nunchaku_bg.h | 2 + include/d/lyt/meter/d_lyt_meter_plus_btn.h | 2 + include/d/lyt/meter/d_lyt_meter_remocon_bg.h | 2 + include/d/lyt/meter/d_lyt_meter_z_btn.h | 2 + include/s/s_State.hpp | 10 ++ 11 files changed, 113 insertions(+), 80 deletions(-) diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 1f62c0f2..6cf4547e 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -31224,7 +31224,7 @@ __vt__63sFStateMgr_c<24dLytMeterMinusBtnBlink_c,20sStateMethodUsr_FI_c> = .data: __vt__93sStateMgr_c<24dLytMeterMinusBtnBlink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80513228; // type:object size:0x30 __vt__40sFStateFct_c<24dLytMeterMinusBtnBlink_c> = .data:0x80513258; // type:object size:0x14 __vt__37sFState_c<24dLytMeterMinusBtnBlink_c> = .data:0x80513270; // type:object size:0x18 -__vt__27dLytMeterMinusBtnMenuIcon_c = .data:0x80513288; // type:object size:0x10 +__vt__27dLytMeterMinusBtnMenuIcon_c = .data:0x80513288; // type:object size:0xC __vt__66sFStateMgr_c<27dLytMeterMinusBtnMenuIcon_c,20sStateMethodUsr_FI_c> = .data:0x80513298; // type:object size:0x30 __vt__96sStateMgr_c<27dLytMeterMinusBtnMenuIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x805132C8; // type:object size:0x30 __vt__43sFStateFct_c<27dLytMeterMinusBtnMenuIcon_c> = .data:0x805132F8; // type:object size:0x14 @@ -31508,48 +31508,48 @@ lbl_80516AE8 = .data:0x80516AE8; // type:object size:0xE data:string lbl_80516AF8 = .data:0x80516AF8; // type:object size:0xD data:string __vt__18dLytMeterPlusBtn_c = .data:0x80516B08; // type:object size:0x34 __vt__33sFStateID_c<18dLytMeterPlusBtn_c> = .data:0x80516C5C; // type:object size:0x34 -lbl_80516C90 = .data:0x80516C90; // type:object size:0x10 -lbl_80516CA0 = .data:0x80516CA0; // type:object size:0x10 -lbl_80516CB0 = .data:0x80516CB0; // type:object size:0xC -lbl_80516CBC = .data:0x80516CBC; // type:object size:0xC -lbl_80516CC8 = .data:0x80516CC8; // type:object size:0xC -lbl_80516CD4 = .data:0x80516CD4; // type:object size:0xC -lbl_80516CE0 = .data:0x80516CE0; // type:object size:0xC -lbl_80516CEC = .data:0x80516CEC; // type:object size:0xC -lbl_80516CF8 = .data:0x80516CF8; // type:object size:0xC -lbl_80516D04 = .data:0x80516D04; // type:object size:0xC -lbl_80516D10 = .data:0x80516D10; // type:object size:0xC -lbl_80516D1C = .data:0x80516D1C; // type:object size:0xC -lbl_80516D28 = .data:0x80516D28; // type:object size:0xC -lbl_80516D34 = .data:0x80516D34; // type:object size:0xC -lbl_80516D40 = .data:0x80516D40; // type:object size:0xC -lbl_80516D4C = .data:0x80516D4C; // type:object size:0xC -lbl_80516D58 = .data:0x80516D58; // type:object size:0xC -lbl_80516D64 = .data:0x80516D64; // type:object size:0xC -lbl_80516D70 = .data:0x80516D70; // type:object size:0xC +lbl_80516C90 = .data:0x80516C90; // type:object size:0xF data:string +lbl_80516CA0 = .data:0x80516CA0; // type:object size:0xF data:string +lbl_80516CB0 = .data:0x80516CB0; // type:object size:0xA data:string +lbl_80516CBC = .data:0x80516CBC; // type:object size:0xB data:string +lbl_80516CC8 = .data:0x80516CC8; // type:object size:0xB data:string +lbl_80516CD4 = .data:0x80516CD4; // type:object size:0xB data:string +lbl_80516CE0 = .data:0x80516CE0; // type:object size:0xB data:string +lbl_80516CEC = .data:0x80516CEC; // type:object size:0xB data:string +lbl_80516CF8 = .data:0x80516CF8; // type:object size:0xB data:string +lbl_80516D04 = .data:0x80516D04; // type:object size:0xB data:string +lbl_80516D10 = .data:0x80516D10; // type:object size:0xB data:string +lbl_80516D1C = .data:0x80516D1C; // type:object size:0xB data:string +lbl_80516D28 = .data:0x80516D28; // type:object size:0xB data:string +lbl_80516D34 = .data:0x80516D34; // type:object size:0xB data:string +lbl_80516D40 = .data:0x80516D40; // type:object size:0xB data:string +lbl_80516D4C = .data:0x80516D4C; // type:object size:0xB data:string +lbl_80516D58 = .data:0x80516D58; // type:object size:0xB data:string +lbl_80516D64 = .data:0x80516D64; // type:object size:0xB data:string +lbl_80516D70 = .data:0x80516D70; // type:object size:0xB data:string lbl_80516D7C = .data:0x80516D7C; // type:object size:0xC data:string lbl_80516D88 = .data:0x80516D88; // type:object size:0x70 data:4byte -lbl_80516DF8 = .data:0x80516DF8; // type:object size:0x18 -lbl_80516E10 = .data:0x80516E10; // type:object size:0xC -lbl_80516E1C = .data:0x80516E1C; // type:object size:0x1C -lbl_80516E38 = .data:0x80516E38; // type:object size:0xC -lbl_80516E44 = .data:0x80516E44; // type:object size:0xC -lbl_80516E50 = .data:0x80516E50; // type:object size:0xC -lbl_80516E5C = .data:0x80516E5C; // type:object size:0xC -lbl_80516E68 = .data:0x80516E68; // type:object size:0xC -lbl_80516E74 = .data:0x80516E74; // type:object size:0xC -lbl_80516E80 = .data:0x80516E80; // type:object size:0xC -lbl_80516E8C = .data:0x80516E8C; // type:object size:0xC -lbl_80516E98 = .data:0x80516E98; // type:object size:0xC -lbl_80516EA4 = .data:0x80516EA4; // type:object size:0xC +lbl_80516DF8 = .data:0x80516DF8; // type:object size:0x17 data:string +lbl_80516E10 = .data:0x80516E10; // type:object size:0xB data:string +lbl_80516E1C = .data:0x80516E1C; // type:object size:0x1A data:string +lbl_80516E38 = .data:0x80516E38; // type:object size:0xB data:string +lbl_80516E44 = .data:0x80516E44; // type:object size:0xB data:string +lbl_80516E50 = .data:0x80516E50; // type:object size:0xB data:string +lbl_80516E5C = .data:0x80516E5C; // type:object size:0xB data:string +lbl_80516E68 = .data:0x80516E68; // type:object size:0xB data:string +lbl_80516E74 = .data:0x80516E74; // type:object size:0xB data:string +lbl_80516E80 = .data:0x80516E80; // type:object size:0xB data:string +lbl_80516E8C = .data:0x80516E8C; // type:object size:0xB data:string +lbl_80516E98 = .data:0x80516E98; // type:object size:0xA data:string +lbl_80516EA4 = .data:0x80516EA4; // type:object size:0xA data:string lbl_80516EB0 = .data:0x80516EB0; // type:object size:0x20 data:string -lbl_80516ED0 = .data:0x80516ED0; // type:object size:0x14 -lbl_80516EE4 = .data:0x80516EE4; // type:object size:0x24 +lbl_80516ED0 = .data:0x80516ED0; // type:object size:0x11 data:string +lbl_80516EE4 = .data:0x80516EE4; // type:object size:0x1F data:string lbl_80516F08 = .data:0x80516F08; // type:object size:0x10 data:string -lbl_80516F18 = .data:0x80516F18; // type:object size:0x1C -lbl_80516F34 = .data:0x80516F34; // type:object size:0x20 -lbl_80516F54 = .data:0x80516F54; // type:object size:0x10 -lbl_80516F64 = .data:0x80516F64; // type:object size:0x1C +lbl_80516F18 = .data:0x80516F18; // type:object size:0x19 data:string +lbl_80516F34 = .data:0x80516F34; // type:object size:0x1E data:string +lbl_80516F54 = .data:0x80516F54; // type:object size:0xF data:string +lbl_80516F64 = .data:0x80516F64; // type:object size:0x1A data:string lbl_80516F80 = .data:0x80516F80; // type:object size:0xC data:string lbl_80516F8C = .data:0x80516F8C; // type:object size:0xC data:string lbl_80516F98 = .data:0x80516F98; // type:object size:0xC data:string @@ -31558,19 +31558,19 @@ lbl_80516FB0 = .data:0x80516FB0; // type:object size:0xC data:string lbl_80516FBC = .data:0x80516FBC; // type:object size:0xC data:string lbl_80516FC8 = .data:0x80516FC8; // type:object size:0xC data:string lbl_80516FD4 = .data:0x80516FD4; // type:object size:0xC data:string -lbl_80516FE0 = .data:0x80516FE0; // type:object size:0x1C +lbl_80516FE0 = .data:0x80516FE0; // type:object size:0x1B data:string lbl_80516FFC = .data:0x80516FFC; // type:object size:0xC data:string -lbl_80517008 = .data:0x80517008; // type:object size:0x1C -lbl_80517024 = .data:0x80517024; // type:object size:0xC -lbl_80517030 = .data:0x80517030; // type:object size:0x1C -lbl_8051704C = .data:0x8051704C; // type:object size:0xC -lbl_80517058 = .data:0x80517058; // type:object size:0x10 -lbl_80517068 = .data:0x80517068; // type:object size:0x10 -lbl_80517078 = .data:0x80517078; // type:object size:0xC -lbl_80517084 = .data:0x80517084; // type:object size:0xC -lbl_80517090 = .data:0x80517090; // type:object size:0xC +lbl_80517008 = .data:0x80517008; // type:object size:0x1A data:string +lbl_80517024 = .data:0x80517024; // type:object size:0xB data:string +lbl_80517030 = .data:0x80517030; // type:object size:0x19 data:string +lbl_8051704C = .data:0x8051704C; // type:object size:0xA data:string +lbl_80517058 = .data:0x80517058; // type:object size:0xE data:string +lbl_80517068 = .data:0x80517068; // type:object size:0xF data:string +lbl_80517078 = .data:0x80517078; // type:object size:0x9 data:string +lbl_80517084 = .data:0x80517084; // type:object size:0x9 data:string +lbl_80517090 = .data:0x80517090; // type:object size:0x9 data:string lbl_8051709C = .data:0x8051709C; // type:object size:0x14 data:string -lbl_805170B0 = .data:0x805170B0; // type:object size:0x10 +lbl_805170B0 = .data:0x805170B0; // type:object size:0xF data:string __vt__19dLytMeterMinusBtn_c = .data:0x805170C0; // type:object size:0x34 __vt__38sFStateID_c<23dLytMeterMinusBtnText_c> = .data:0x80517748; // type:object size:0x34 __vt__39sFStateID_c<24dLytMeterMinusBtnBlink_c> = .data:0x8051777C; // type:object size:0x34 @@ -38147,19 +38147,19 @@ lbl_80572400 = .sdata:0x80572400; // type:object size:0x4 data:4byte lbl_80572408 = .sdata:0x80572408; // type:object size:0x8 data:4byte lbl_80572410 = .sdata:0x80572410; // type:object size:0x4 data:4byte lbl_80572418 = .sdata:0x80572418; // type:object size:0x4 data:4byte -lbl_8057241C = .sdata:0x8057241C; // type:object size:0x8 -lbl_80572424 = .sdata:0x80572424; // type:object size:0x8 -lbl_8057242C = .sdata:0x8057242C; // type:object size:0x8 -lbl_80572434 = .sdata:0x80572434; // type:object size:0x8 -lbl_8057243C = .sdata:0x8057243C; // type:object size:0x8 -lbl_80572444 = .sdata:0x80572444; // type:object size:0x8 -lbl_8057244C = .sdata:0x8057244C; // type:object size:0x8 -lbl_80572454 = .sdata:0x80572454; // type:object size:0xC +lbl_8057241C = .sdata:0x8057241C; // type:object size:0x7 data:string +lbl_80572424 = .sdata:0x80572424; // type:object size:0x7 data:string +lbl_8057242C = .sdata:0x8057242C; // type:object size:0x7 data:string +lbl_80572434 = .sdata:0x80572434; // type:object size:0x7 data:string +lbl_8057243C = .sdata:0x8057243C; // type:object size:0x7 data:string +lbl_80572444 = .sdata:0x80572444; // type:object size:0x7 data:string +lbl_8057244C = .sdata:0x8057244C; // type:object size:0x7 data:string +lbl_80572454 = .sdata:0x80572454; // type:object size:0x7 data:string lbl_80572460 = .sdata:0x80572460; // type:object size:0x8 data:4byte lbl_80572468 = .sdata:0x80572468; // type:object size:0x8 data:4byte lbl_80572470 = .sdata:0x80572470; // type:object size:0x4 data:4byte lbl_80572474 = .sdata:0x80572474; // type:object size:0x4 data:4byte -lbl_80572478 = .sdata:0x80572478; // type:object size:0x8 data:4byte +lbl_80572478 = .sdata:0x80572478; // type:object size:0x4 data:4byte lbl_80572480 = .sdata:0x80572480; // type:object size:0x8 lbl_80572488 = .sdata:0x80572488; // type:object size:0x8 lbl_80572490 = .sdata:0x80572490; // type:object size:0x8 @@ -48710,24 +48710,24 @@ LytMeterPlusBtn__STATE_WAIT = .bss:0x805AB660; // type:object size:0x30 data:4by LytMeterPlusBtn__STATE_TO_USE = .bss:0x805AB6A0; // type:object size:0x30 data:4byte LytMeterPlusBtn__STATE_TO_UNUSE = .bss:0x805AB6E0; // type:object size:0x30 data:4byte LytMeterPlusBtn__STATE_UNUSE = .bss:0x805AB720; // type:object size:0x30 data:4byte -lbl_805AB750 = .bss:0x805AB750; // type:object size:0x10 -LytMeterMinusBtnMenuIcon__STATE_WAIT = .bss:0x805AB760; // type:object size:0x40 data:4byte -LytMeterMinusBtnMenuIcon__STATE_ON = .bss:0x805AB7A0; // type:object size:0x40 data:4byte -LytMeterMinusBtnMenuIcon__STATE_SELECT = .bss:0x805AB7E0; // type:object size:0x40 data:4byte -LytMeterMinusBtnMenuIcon__STATE_OFF = .bss:0x805AB820; // type:object size:0x40 data:4byte -LtyMeterMinusBtnBlink__STATE_WAIT = .bss:0x805AB860; // type:object size:0x40 data:4byte -LtyMeterMinusBtnBlink__STATE_ON = .bss:0x805AB8A0; // type:object size:0x40 data:4byte -LtyMeterMinusBtnBlink__STATE_SELECT = .bss:0x805AB8E0; // type:object size:0x40 data:4byte -LtyMeterMinusBtnBlink__STATE_OFF = .bss:0x805AB920; // type:object size:0x40 data:4byte -LtyMeterMinusBtnText__STATE_WAIT = .bss:0x805AB960; // type:object size:0x40 data:4byte -LtyMeterMinusBtnText__STATE_ON = .bss:0x805AB9A0; // type:object size:0x40 data:4byte -LtyMeterMinusBtnText__STATE_SELECT = .bss:0x805AB9E0; // type:object size:0x40 data:4byte -LtyMeterMinusBtnText__STATE_OFF = .bss:0x805ABA20; // type:object size:0x40 data:4byte -LtyMeterMinusBtn__STATE_WAIT = .bss:0x805ABA60; // type:object size:0x40 data:4byte -LtyMeterMinusBtn__STATE_MENU_SELECTING_IN = .bss:0x805ABAA0; // type:object size:0x40 data:4byte -LtyMeterMinusBtn__STATE_MENU_SELECTING = .bss:0x805ABAE0; // type:object size:0x40 data:4byte -LtyMeterMinusBtn__STATE_MENU_SELECTING_OUT = .bss:0x805ABB20; // type:object size:0xC0 data:4byte -LtyMeterMinusBtn__STATE_UNUSE = .bss:0x805ABBE0; // type:object size:0x80 data:4byte +lbl_805AB750 = .bss:0x805AB750; // type:object size:0xC +LytMeterMinusBtnMenuIcon__STATE_WAIT = .bss:0x805AB760; // type:object size:0x30 data:4byte +LytMeterMinusBtnMenuIcon__STATE_ON = .bss:0x805AB7A0; // type:object size:0x30 data:4byte +LytMeterMinusBtnMenuIcon__STATE_SELECT = .bss:0x805AB7E0; // type:object size:0x30 data:4byte +LytMeterMinusBtnMenuIcon__STATE_OFF = .bss:0x805AB820; // type:object size:0x30 data:4byte +LtyMeterMinusBtnBlink__STATE_WAIT = .bss:0x805AB860; // type:object size:0x30 data:4byte +LtyMeterMinusBtnBlink__STATE_ON = .bss:0x805AB8A0; // type:object size:0x30 data:4byte +LtyMeterMinusBtnBlink__STATE_SELECT = .bss:0x805AB8E0; // type:object size:0x30 data:4byte +LtyMeterMinusBtnBlink__STATE_OFF = .bss:0x805AB920; // type:object size:0x30 data:4byte +LtyMeterMinusBtnText__STATE_WAIT = .bss:0x805AB960; // type:object size:0x30 data:4byte +LtyMeterMinusBtnText__STATE_ON = .bss:0x805AB9A0; // type:object size:0x30 data:4byte +LtyMeterMinusBtnText__STATE_SELECT = .bss:0x805AB9E0; // type:object size:0x30 data:4byte +LtyMeterMinusBtnText__STATE_OFF = .bss:0x805ABA20; // type:object size:0x30 data:4byte +LtyMeterMinusBtn__STATE_WAIT = .bss:0x805ABA60; // type:object size:0x30 data:4byte +LtyMeterMinusBtn__STATE_MENU_SELECTING_IN = .bss:0x805ABAA0; // type:object size:0x30 data:4byte +LtyMeterMinusBtn__STATE_MENU_SELECTING = .bss:0x805ABAE0; // type:object size:0x30 data:4byte +LtyMeterMinusBtn__STATE_MENU_SELECTING_OUT = .bss:0x805ABB20; // type:object size:0x30 data:4byte +LtyMeterMinusBtn__STATE_UNUSE = .bss:0x805ABBE0; // type:object size:0x30 data:4byte LtyMeterMinusBtn__STATE_DEMO_OUT = .bss:0x805ABC60; // type:object size:0x30 data:4byte lbl_805ABC90 = .bss:0x805ABC90; // type:object size:0x10 LytMeterCrossBtnParts__STATE_WAIT = .bss:0x805ABCA0; // type:object size:0x40 data:4byte diff --git a/configure.py b/configure.py index b826aa2f..ae955acd 100644 --- a/configure.py +++ b/configure.py @@ -395,7 +395,7 @@ config.libs = [ Object(Matching, "d/lyt/meter/d_lyt_meter_nun_stk.cpp"), Object(Matching, "d/lyt/meter/d_lyt_meter_item_select.cpp"), Object(Matching, "d/lyt/meter/d_lyt_meter_plus_btn.cpp"), - Object(NonMatching, "d/lyt/meter/d_lyt_meter_minus_btn.cpp"), + Object(Matching, "d/lyt/meter/d_lyt_meter_minus_btn.cpp"), Object(NonMatching, "d/lyt/meter/d_lyt_meter_cross_btn.cpp"), Object(NonMatching, "d/lyt/meter/d_lyt_meter_dowsing.cpp"), Object(NonMatching, "d/lyt/meter/d_lyt_meter_rupy.cpp"), diff --git a/include/d/lyt/meter/d_lyt_meter_a_btn.h b/include/d/lyt/meter/d_lyt_meter_a_btn.h index 7c020169..25d467f3 100644 --- a/include/d/lyt/meter/d_lyt_meter_a_btn.h +++ b/include/d/lyt/meter/d_lyt_meter_a_btn.h @@ -37,6 +37,8 @@ private: STATE_FUNC_DECLARE(dLytMeterABtn_c, Active); STATE_FUNC_DECLARE(dLytMeterABtn_c, Off); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterABtn_c); + /* 0x008 */ UI_STATE_MGR_DECLARE(dLytMeterABtn_c); /* 0x044 */ d2d::dLytSub mLyt; /* 0x0D8 */ d2d::AnmGroup_c mAnm[3]; diff --git a/include/d/lyt/meter/d_lyt_meter_drink.h b/include/d/lyt/meter/d_lyt_meter_drink.h index 43d8a7db..b6c4d8b7 100644 --- a/include/d/lyt/meter/d_lyt_meter_drink.h +++ b/include/d/lyt/meter/d_lyt_meter_drink.h @@ -6,7 +6,6 @@ #include "m/m_vec.h" #include "nw4r/lyt/lyt_pane.h" #include "s/s_State.hpp" -#include "s/s_StateMgr.hpp" // Size 0x54 class dLytMeterDrinkParts_c { @@ -46,6 +45,8 @@ private: STATE_FUNC_DECLARE(dLytMeterDrinkParts_c, Visible); STATE_FUNC_DECLARE(dLytMeterDrinkParts_c, Out); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterDrinkParts_c); + /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMeterDrinkParts_c); /* 0x03C */ d2d::AnmGroup_c *mAnmGroups[3]; /* 0x048 */ s32 field_0x48; @@ -82,6 +83,8 @@ private: STATE_FUNC_DECLARE(dLytMeterDrink_c, Move); STATE_FUNC_DECLARE(dLytMeterDrink_c, Out); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterDrink_c); + /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMeterDrink_c); /* 0x040 */ d2d::dLytSub mLyt; /* 0x0D4 */ d2d::AnmGroup_c mAnmGroups[20]; diff --git a/include/d/lyt/meter/d_lyt_meter_minus_btn.h b/include/d/lyt/meter/d_lyt_meter_minus_btn.h index 59c7c6a3..40a697a6 100644 --- a/include/d/lyt/meter/d_lyt_meter_minus_btn.h +++ b/include/d/lyt/meter/d_lyt_meter_minus_btn.h @@ -32,7 +32,8 @@ private: STATE_FUNC_DECLARE(dLytMeterMinusBtnMenuIcon_c, Select); STATE_FUNC_DECLARE(dLytMeterMinusBtnMenuIcon_c, Off); -private: + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterMinusBtnMenuIcon_c); + /* 0x04 */ UI_STATE_MGR_DECLARE(dLytMeterMinusBtnMenuIcon_c); /* 0x40 */ d2d::AnmGroup_c *mpAnm; @@ -62,6 +63,8 @@ private: STATE_FUNC_DECLARE(dLytMeterMinusBtnBlink_c, Select); STATE_FUNC_DECLARE(dLytMeterMinusBtnBlink_c, Off); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterMinusBtnBlink_c); + /* 0x00 */ UI_STATE_MGR_DECLARE(dLytMeterMinusBtnBlink_c); /* 0x3C */ d2d::AnmGroup_c *mpAnm; @@ -91,6 +94,8 @@ private: STATE_FUNC_DECLARE(dLytMeterMinusBtnText_c, Select); STATE_FUNC_DECLARE(dLytMeterMinusBtnText_c, Off); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterMinusBtnText_c); + /* 0x00 */ UI_STATE_MGR_DECLARE(dLytMeterMinusBtnText_c); /* 0x3C */ d2d::AnmGroup_c *mpAnm; @@ -142,6 +147,9 @@ private: STATE_FUNC_DECLARE(dLytMeterMinusBtn_c, DemoMove); STATE_FUNC_DECLARE(dLytMeterMinusBtn_c, DemoOut); + STATE_MGR_DECLARE_UTIL_ISSTATE(dLytMeterMinusBtn_c); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterMinusBtn_c); + /* 0x0008 */ dLytMeterMinusBtnMenuIcon_c mIcon[8]; /* 0x0244 */ dLytMeterMinusBtnBlink_c mBlink; /* 0x028C */ dLytMeterMinusBtnText_c mText[2]; diff --git a/include/d/lyt/meter/d_lyt_meter_nun_stk.h b/include/d/lyt/meter/d_lyt_meter_nun_stk.h index 0031e183..5bfba28b 100644 --- a/include/d/lyt/meter/d_lyt_meter_nun_stk.h +++ b/include/d/lyt/meter/d_lyt_meter_nun_stk.h @@ -35,6 +35,8 @@ private: STATE_FUNC_DECLARE(dLytMeterNunStk_c, Active); STATE_FUNC_DECLARE(dLytMeterNunStk_c, Off); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterNunStk_c); + /* 0x008 */ UI_STATE_MGR_DECLARE(dLytMeterNunStk_c); /* 0x044 */ d2d::dLytSub mLyt; /* 0x0D8 */ d2d::AnmGroup_c mAnm[2]; diff --git a/include/d/lyt/meter/d_lyt_meter_nunchaku_bg.h b/include/d/lyt/meter/d_lyt_meter_nunchaku_bg.h index ede149c3..fdcaab5f 100644 --- a/include/d/lyt/meter/d_lyt_meter_nunchaku_bg.h +++ b/include/d/lyt/meter/d_lyt_meter_nunchaku_bg.h @@ -30,6 +30,8 @@ private: STATE_FUNC_DECLARE(dLytMeterNunchakuBg_c, Active); STATE_FUNC_DECLARE(dLytMeterNunchakuBg_c, Off); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterNunchakuBg_c); + /* 0x008 */ UI_STATE_MGR_DECLARE(dLytMeterNunchakuBg_c); /* 0x044 */ d2d::dLytSub mLyt; /* 0x0D8 */ d2d::AnmGroup_c mAnm[3]; diff --git a/include/d/lyt/meter/d_lyt_meter_plus_btn.h b/include/d/lyt/meter/d_lyt_meter_plus_btn.h index 87fc22cd..111a3f0c 100644 --- a/include/d/lyt/meter/d_lyt_meter_plus_btn.h +++ b/include/d/lyt/meter/d_lyt_meter_plus_btn.h @@ -37,6 +37,8 @@ private: STATE_FUNC_DECLARE(dLytMeterPlusBtn_c, ToUnuse); STATE_FUNC_DECLARE(dLytMeterPlusBtn_c, Unuse); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterPlusBtn_c); + /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMeterPlusBtn_c); /* 0x040 */ d2d::dLytSub mLyt; /* 0x0D8 */ d2d::AnmGroup_c mAnm[3]; diff --git a/include/d/lyt/meter/d_lyt_meter_remocon_bg.h b/include/d/lyt/meter/d_lyt_meter_remocon_bg.h index 08edc93f..b3900cde 100644 --- a/include/d/lyt/meter/d_lyt_meter_remocon_bg.h +++ b/include/d/lyt/meter/d_lyt_meter_remocon_bg.h @@ -28,6 +28,8 @@ private: STATE_FUNC_DECLARE(dLytMeterRemoconBg_c, Active); STATE_FUNC_DECLARE(dLytMeterRemoconBg_c, Off); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterRemoconBg_c); + /* 0x08 */ UI_STATE_MGR_DECLARE(dLytMeterRemoconBg_c); /* 0x44 */ d2d::dLytSub mLyt; /* 0xD8 */ nw4r::lyt::Pane *mpPane[1]; diff --git a/include/d/lyt/meter/d_lyt_meter_z_btn.h b/include/d/lyt/meter/d_lyt_meter_z_btn.h index a65a4415..e2d57f10 100644 --- a/include/d/lyt/meter/d_lyt_meter_z_btn.h +++ b/include/d/lyt/meter/d_lyt_meter_z_btn.h @@ -36,6 +36,8 @@ private: STATE_FUNC_DECLARE(dLytMeterZBtn_c, Active); STATE_FUNC_DECLARE(dLytMeterZBtn_c, Off); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytMeterZBtn_c); + /* 0x008 */ UI_STATE_MGR_DECLARE(dLytMeterZBtn_c); /* 0x04C */ d2d::dLytSub mLyt; /* 0x0D8 */ d2d::AnmGroup_c mAnm[3]; diff --git a/include/s/s_State.hpp b/include/s/s_State.hpp index 23dbc2f8..8e68ed91 100644 --- a/include/s/s_State.hpp +++ b/include/s/s_State.hpp @@ -34,6 +34,16 @@ #define STATE_MGR(class_name) sFStateMgr_c +#define STATE_MGR_DEFINE_UTIL_CHANGESTATE(class_name) \ + void changeState(const sStateIDIf_c &value) { \ + mStateMgr.changeState(value); \ + } + +#define STATE_MGR_DECLARE_UTIL_ISSTATE(class_name) \ + bool isState(const sFStateID_c &value) const { \ + return *mStateMgr.getStateID() == value; \ + } + // TODO this is probably not the whole solution. // The problems with this approach are: // * You can't define the same state name for multiple files in the same TU due to baseID_ symbol clash.