diff --git a/include/d/d_menu_option.h b/include/d/d_menu_option.h index 02f7812ba..a1cc796e5 100644 --- a/include/d/d_menu_option.h +++ b/include/d/d_menu_option.h @@ -46,7 +46,7 @@ public: void _delete(); void _move(); void _draw(); - void _open(); + bool _open(); bool _close(); private: diff --git a/src/d/d_menu_option.cpp b/src/d/d_menu_option.cpp index 8c56383ea..34046fae5 100644 --- a/src/d/d_menu_option.cpp +++ b/src/d/d_menu_option.cpp @@ -818,7 +818,7 @@ void dMenu_Option_c::initialize() { /* 801D5224-801D53F0 .text _create__14dMenu_Option_cFv */ void dMenu_Option_c::_create() { - /* Nonmatching */ + /* Nonmatching - Code 100% */ scrn = new J2DScreen(); JUT_ASSERT(1074, scrn != NULL); scrn->set("option.blo", mpArchive); @@ -857,8 +857,37 @@ void dMenu_Option_c::_draw() { } /* 801D5C04-801D5CBC .text _open__14dMenu_Option_cFv */ -void dMenu_Option_c::_open() { - /* Nonmatching */ +bool dMenu_Option_c::_open() { + bool ret = false; + + dMenu_setPushMenuButton(0); + + if (mC80[0].mUserArea == 0) { + noteSet(); + } + + mC80[0].mUserArea++; + + if (mC80[0].mUserArea <= 7) { + mainMove(); + } + else if (mC80[0].mUserArea <= 0xe) { + noteMove(); + + titleMove(); + + _move(); + + if (mC80[0].mUserArea == 0xe) { + mE40 = 2; + + mC80[0].mUserArea = 0; + + ret = true; + } + } + + return ret; } /* 801D5CBC-801D5D38 .text _close__14dMenu_Option_cFv */