ASSERT(top.type == UIStackFrame::UI) in 'tileweb.cc' at line 879 failed. Version: Dungeon Crawl Stone Soup 0.33-a0-1476-g11d99efb1b Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 0, deterministic pregen: 1 Command line: /usr/games/crawl-git-11d99efb1b -name cornishon -rc /dgldir/rcfiles/crawl-git/cornishon.rc -macro /dgldir/rcfiles/crawl-git/cornishon.macro -morgue /dgldir/morgue/cornishon/ -webtiles-socket /crawl-master/webserver/sockets/cornishon:2025-04-23.19:53:08.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 39 stack frames. /usr/games/crawl-git-11d99efb1b(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x5b4bc0abd6de]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-11d99efb1b(_Z13do_crash_dumpv+0x43a) [0x5b4bc0acb7ea]: do_crash_dump() /usr/games/crawl-git-11d99efb1b(_Z20crash_signal_handleri+0x1fa) [0x5b4bc0abdbba]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x71fe32c42910]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b) [0x71fe32c9999b]: /lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x71fe32c42866]: /usr/games/crawl-git-11d99efb1b(+0x4dabbd) [0x5b4bc0acabbd]: /usr/games/crawl-git-11d99efb1b(_Z12AssertFailedPKcS0_iS0_z+0x1c7) [0x5b4bc0acb0c7]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-git-11d99efb1b(_ZN14TilesFramework15ui_state_changeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj+0x22b) [0x5b4bc123fb4b]: TilesFramework::ui_state_change(std::__cxx11::basic_string, std::allocator > const&, unsigned int) /usr/games/crawl-git-11d99efb1b(_ZN9OuterMenu23scroll_button_into_viewEP10MenuButton+0x1e0) [0x5b4bc0f6eba0]: OuterMenu::scroll_button_into_view(MenuButton*) /usr/games/crawl-git-11d99efb1b(_ZN9OuterMenu21recv_outer_menu_focusEPKci+0x102) [0x5b4bc0f6ef92]: OuterMenu::recv_outer_menu_focus(char const*, int) /usr/games/crawl-git-11d99efb1b(_ZN14TilesFramework23_handle_control_messageE11sockaddr_unNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0xa4e) [0x5b4bc124b89e]: TilesFramework::_handle_control_message(sockaddr_un, std::__cxx11::basic_string, std::allocator >) /usr/games/crawl-git-11d99efb1b(_ZN14TilesFramework24_receive_control_messageEv+0x178) [0x5b4bc124be38]: TilesFramework::_receive_control_message() /usr/games/crawl-git-11d99efb1b(_ZN14TilesFramework11await_inputERjb+0x18a) [0x5b4bc124c34a]: TilesFramework::await_input(unsigned int&, bool) /usr/games/crawl-git-11d99efb1b(_Z8getch_ckv+0x121) [0x5b4bc124ff61]: getch_ck() /usr/games/crawl-git-11d99efb1b(_ZN2ui11pump_eventsEi+0xf0) [0x5b4bc119d920]: ui::pump_events(int) /usr/games/crawl-git-11d99efb1b(_ZN4Menu7do_menuEv+0x43a) [0x5b4bc0e0e27a]: Menu::do_menu() /usr/games/crawl-git-11d99efb1b(_ZN4Menu4showEb+0xa8) [0x5b4bc0e159f8]: Menu::show(bool) /usr/games/crawl-git-11d99efb1b(_Z26keyhelp_query_descriptions12command_type+0x22a) [0x5b4bc0d889ca]: keyhelp_query_descriptions(command_type) /usr/games/crawl-git-11d99efb1b(+0x4c39ca) [0x5b4bc0ab39ca]: /usr/games/crawl-git-11d99efb1b(_Z9show_helpiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1dc) [0x5b4bc0ab3bdc]: show_help(int, std::__cxx11::basic_string, std::allocator >) /usr/games/crawl-git-11d99efb1b(_ZN13UINewGameMenu19menu_item_activatedEi+0x214) [0x5b4bc0f44ab4]: UINewGameMenu::menu_item_activated(int) /usr/games/crawl-git-11d99efb1b(_ZNSt17_Function_handlerIFbRKN2ui5EventEEZNS0_6Widget17on_activate_eventIZN13UINewGameMenuC4EiR11newgame_defS9_RKS8_EUlRKNS0_13ActivateEventEE_EEvOT_EUlS3_E_E9_M_invokeERKSt9_Any_dataS3_+0x51) [0x5b4bc0f4e6c1]: std::_Function_handler(UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}>::_M_invoke(std::_Any_data const&, ui::Event const&) /usr/games/crawl-git-11d99efb1b(_ZN2ui6Widget8on_eventERKNS_5EventE+0x74) [0x5b4bc11945e4]: ui::Widget::on_event(ui::Event const&) /usr/games/crawl-git-11d99efb1b(_ZN2ui6UIRoot13deliver_eventERNS_5EventE+0xd5) [0x5b4bc1198275]: ui::UIRoot::deliver_event(ui::Event&) /usr/games/crawl-git-11d99efb1b(_ZN10MenuButton8activateEv+0xb0) [0x5b4bc0f6f130]: MenuButton::activate() /usr/games/crawl-git-11d99efb1b(_ZN2ui6UIRoot13deliver_eventERNS_5EventE+0x348) [0x5b4bc11984e8]: ui::UIRoot::deliver_event(ui::Event&) /usr/games/crawl-git-11d99efb1b(_ZN2ui6UIRoot8on_eventER8wm_event+0x77) [0x5b4bc11986d7]: ui::UIRoot::on_event(wm_event&) /usr/games/crawl-git-11d99efb1b(_ZN2ui11pump_eventsEi+0xa5) [0x5b4bc119d8d5]: ui::pump_events(int) /usr/games/crawl-git-11d99efb1b(_ZN2ui10run_layoutESt10shared_ptrINS_6WidgetEERKbS2_+0x7a) [0x5b4bc119dbda]: ui::run_layout(std::shared_ptr, bool const&, std::shared_ptr) /usr/games/crawl-git-11d99efb1b(+0x957313) [0x5b4bc0f47313]: /usr/games/crawl-git-11d99efb1b(+0x957998) [0x5b4bc0f47998]: /usr/games/crawl-git-11d99efb1b(_Z11choose_gameR11newgame_defS0_RKS_+0xef) [0x5b4bc0f4b9ff]: choose_game(newgame_def&, newgame_def&, newgame_def const&) /usr/games/crawl-git-11d99efb1b(_Z12startup_stepv+0x95d) [0x5b4bc10df4dd]: startup_step() /usr/games/crawl-git-11d99efb1b(+0xc6cfcd) [0x5b4bc125cfcd]: /usr/games/crawl-git-11d99efb1b(main+0x1f7) [0x5b4bc09f2d07]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x71fe32c280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x71fe32c28189]: /usr/games/crawl-git-11d99efb1b(_start+0x25) [0x5b4bc09f3705]: Trying to run gdb. GNU gdb (Ubuntu 14.0.50.20230907-0ubuntu1) 14.0.50.20230907-git Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x000071fe32d0fbf7 in __GI___wait4 (pid=1498071, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x000071fe32d0fbf7 in __GI___wait4 (pid=1498071, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005b4bc0abdd8c in call_gdb (file=0x71fe32dff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 1498032\000\000\000\000\000" #2 0x00005b4bc0acb808 in do_crash_dump () at dbg-asrt.cc:673 t = 1745437991 dir = "/dgldir/morgue/cornishon/" name = "/dgldir/morgue/cornishon/crash--20250423-195311.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(top.type == UIStackFrame::UI) in 'tileweb.cc' at line 879 failed." file = 0x71fe32dff6c0 <_IO_2_1_stderr_> #3 0x00005b4bc0abdbba in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 tid = ret = 0 pd = old_mask = {__val = {879}} ret = pd = old_mask = ret = tid = ret = resultvar = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = __private = __oldval = #6 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78 No locals. #7 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 No locals. #8 0x000071fe32c42866 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x00005b4bc0acabbd in _BreakStrToDebugger (mesg=mesg@entry=0x7ffc50b69390 "ASSERT(top.type == UIStackFrame::UI) in 'tileweb.cc' at line 879 failed.", assert=true) at dbg-asrt.cc:799 No locals. #10 0x00005b4bc0acb0c7 in AssertFailed (expr=expr@entry=0x5b4bc12a676d "top.type == UIStackFrame::UI", file=file@entry=0x5b4bc12a65c6 "tileweb.cc", line=line@entry=879, text=text@entry=0x0) at dbg-asrt.cc:837 mesg = "ASSERT(top.type == UIStackFrame::UI) in 'tileweb.cc' at line 879 failed.\000\247\0253\376q\000\000\020\224\266P\374\177\000\000 kx\301K[\000\000 \224\266P\374\177\000\000\343\247\0253\376q\000\000\360\234\266P\374\177\000\000 kx\301K[\000\000@\224\266P\374\177\000\000v\330#\301K[\000\000\":\000P\374\177\000\000\030\000\000\0000\000\000\000 \235\266P\374\177\000\000P\234\266P\374\177\000\000116\000\000\177\000\000\255\353&\301K[\000\0008\225\266P\374\177\000\000"... args = {{gp_offset = 0, fp_offset = 0, overflow_arg_area = 0x7ffc00000002, reg_save_area = 0x7}} fileName = #11 0x00005b4bc123fb4b in TilesFramework::ui_state_change (this=this@entry=0x5b4bc1786b20 , type="newgame-choice", state_slot=state_slot@entry=0) at tileweb.cc:879 top = #12 0x00005b4bc0f6eba0 in OuterMenu::scroll_button_into_view (this=this@entry=0x5b4bc3779130, btn=0x5b4bc3456770) at outer-menu.cc:332 gp = scroller = btn_reg = scr_reg = shade_height = btn_top = btn_bot = scr_top = scr_bot = delta = #13 0x00005b4bc0f6ef92 in OuterMenu::recv_outer_menu_focus (menu_id=, hotkey=116) at outer-menu.cc:483 btn = __for_range = std::vector of length 60, capacity 60 = {0x0, 0x0, 0x0, 0x5b4bc3780ec0, 0x5b4bc34ba150, 0x5b4bc3518220, 0x5b4bc34ddff0, 0x5b4bc3452d80, 0x5b4bc3456770, 0x5b4bc35d6810, 0x5b4bc34664d0, 0x5b4bc3451080, 0x5b4bc3a93840, 0x5b4bc32a35c0, 0x5b4bc3510410, 0x5b4bc34b1210, 0x5b4bc3476180, 0x5b4bc32c38c0, 0x5b4bc3685d40, 0x5b4bc34a1870, 0x5b4bc34ee4b0, 0x5b4bc341e4d0, 0x5b4bc34ee790, 0x5b4bc35e4780, 0x5b4bc3b357f0, 0x5b4bc3abda70, 0x5b4bc3434d00, 0x5b4bc3b40d00, 0x5b4bc32c84e0, 0x5b4bc374a100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} __for_begin = __for_end = open_menu = tmp = {val = @0x5b4bc17318d8, oldval = false} menu = 0x5b4bc3779130 #14 0x00005b4bc124b89e in TilesFramework::_handle_control_message (this=this@entry=0x5b4bc1786b20 , addr=..., data="{\"hotkey\":116,\"menu_id\":\"species-main\",\"msg\":\"outer_menu_focus\"}") at tileweb.cc:557 menu_id = hotkey = obj = msg = msgtype = "outer_menu_focus" c = 0 #15 0x00005b4bc124be38 in TilesFramework::_receive_control_message (this=this@entry=0x5b4bc1786b20 ) at tileweb.cc:357 buf = "{\"hotkey\":116,\"menu_id\":\"species-main\",\"msg\":\"outer_menu_focus\"}\020\000\000\000\000\000\000\000\000\243\266P\374\177\000\000\230\241\266P\374\177\000\000\320\000G\303K[\000\000\210\241\266P\374\177\000\000\001\000\000\000\000\000\000\000 \243\266P\374\177\000\000\365\316\3052\376q\000\000\001\000\000\000\377\377\377\377Ц\266P\374\177\000\000\334\353&\301K[\000\000\310\323\3052\376q\000\000\230\247\266P\374\177\000\000\360\246\266P\374\177\000\000\000\000\000\000\000\000\000\000\202\364V\303K[\000\0000\247\266P\374\177\000\000\322"... srcaddr = {sun_family = 1, sun_path = "/tmp/crawl_ambwlmw.socket", '\000' } srcaddr_len = 28 len = data = "{\"hotkey\":116,\"menu_id\":\"species-main\",\"msg\":\"outer_menu_focus\"}" #16 0x00005b4bc124c34a in TilesFramework::await_input (this=this@entry=0x5b4bc1786b20 , c=@0x7ffc50b6b240: 3285168792, block=block@entry=true) at tileweb.cc:650 result = fds = {fds_bits = {8, 0 }} maxfd = 3 __d = __d = #17 0x00005b4bc124ff61 in _get_key_from_curses () at libunix.cc:528 c = 3285168792 c = c = #18 getch_ck () at libunix.cc:616 c = #19 0x00005b4bc119d920 in ui::pump_events (wait_event_timeout=wait_event_timeout@entry=2147483647) at ui.cc:3294 macro_key = -1 k = #20 0x00005b4bc0e0e27a in Menu::do_menu (this=this@entry=0x7ffc50b6b510) at menu.cc:1593 done = false #21 0x00005b4bc0e159f8 in Menu::show (this=this@entry=0x7ffc50b6b510, reuse_selections=reuse_selections@entry=false) at menu.cc:1531 cs = {cstate = false} #22 0x00005b4bc0d889ca in LookupHelpMenu::show (reuse_selections=false, this=0x7ffc50b6b510) at lookup-help.cc:1607 No locals. #23 keyhelp_query_descriptions (where_from=where_from@entry=CMD_DISPLAY_COMMANDS) at lookup-help.cc:1621 m = { = {_vptr.Menu = 0x5b4bc15d3680 , f_selitem = 0x0, f_keyfilter = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' }, _M_manager = 0x0}, _M_invoker = 0x0}, on_single_selection = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' }, _M_manager = 0x5b4bc0d8ec30 ::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0d90040 ::_M_invoke(std::_Any_data const&, MenuEntry const&)>}, on_examine = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' }, _M_manager = 0x0}, _M_invoker = 0x0}, on_show = {> = {}, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' }, _M_manager = 0x0}, _M_invoker = 0x0}, action_cycle = Menu::CYCLE_NONE, menu_action = Menu::ACT_EXECUTE, _title_prompt_help_tag = "", title = 0x5b4bc34bce70, title2 = 0x0, m_indent_title = false, flags = 262786, tag = "", cur_page = 1, num_pages = 23371, more = {ops = std::vector of length 0, capacity 0}, m_keyhelp_more = true, items = std::vector of length 15, capacity 16 = {0x5b4bc37d05c0, 0x5b4bc35f1d60, 0x5b4bc37af110, 0x5b4bc350ec60, 0x5b4bc3cfb760, 0x5b4bc3cfa950, 0x5b4bc3cfaa40, 0x5b4bc3cfb380, 0x5b4bc3cfb470, 0x5b4bc3c65340, 0x5b4bc3c65430, 0x5b4bc3c65520, 0x5b4bc3c65610, 0x5b4bc3c678b0, 0x5b4bc346f680}, sel = std::vector of length 0, capacity 0, select_filter = std::vector of length 0, capacity 0, highlighter = 0x5b4bc349d010, num = -1, lastch = 0, alive = true, more_needs_init = false, remap_numpad = true, last_hovered = 0, m_kmc = KMC_MENU, m_filter = 0x0, m_ui = {popup = std::shared_ptr (use count 2, weak count 1) = {get() = 0x5b4bc3c679b0}, menu = std::shared_ptr (use count 2, weak count 1) = {get() = 0x5b4bc3ab6d50}, scroller = std::shared_ptr (use count 2, weak count 1) = {get() = 0x5b4bc34da420}, title = std::shared_ptr (use count 2, weak count 1) = {get() = 0x5b4bc3b3e040}, more = std::shared_ptr (use count 2, weak count 1) = {get() = 0x5b4bc3c651d0}, more_bin = std::shared_ptr (empty) = {get() = 0x0}, vbox = std::shared_ptr (use count 2, weak count 1) = {get() = 0x5b4bc3b5bc60}}, _webtiles_title_changed = false, _webtiles_title = {ops = std::vector of length 2, capacity 2 = {{type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Lookup information about:"}}}}, back_cmd = CMD_DISPLAY_COMMANDS} rng = {previous = rng::GAMEPLAY} #24 0x00005b4bc0ab39ca in _show_help_special (key=) at command.cc:1456 No locals. #25 0x00005b4bc0ab3bdc in show_help (section=49, highlight_string="") at command.cc:1482 help = { = {_vptr.formatted_scroller = 0x5b4bc15d0578 , highlight = "", contents = {ops = std::vector of length 3255, capacity 3255 = {{type = FSOP_TEXT, colour = -1, text = ' ' , "DUNGEON CRAWL Stone Soup\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "- the manual -\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Contents\n"}, {type = FSOP_TEXT, colour = -1, text = "--------\n"}, {type = FSOP_TEXT, colour = -1, text = "A. Overview\n"}, {type = FSOP_TEXT, colour = -1, text = "B. Starting screen\n"}, {type = FSOP_TEXT, colour = -1, text = "C. Attributes and stats\n"}, {type = FSOP_TEXT, colour = -1, text = "D. Exploring the dungeon\n"}, {type = FSOP_TEXT, colour = -1, text = "E. Experience and skills\n"}, {type = FSOP_TEXT, colour = -1, text = "F. Monsters\n"}, {type = FSOP_TEXT, colour = -1, text = "G. Items\n"}, {type = FSOP_TEXT, colour = -1, text = "H. Spellcasting\n"}, {type = FSOP_TEXT, colour = -1, text = "I. Targeting\n"}, {type = FSOP_TEXT, colour = -1, text = "J. Religion\n"}, {type = FSOP_TEXT, colour = -1, text = "K. Mutations\n"}, {type = FSOP_TEXT, colour = -1, text = "L. Licence, contact, history\n"}, {type = FSOP_TEXT, colour = -1, text = "M. Macros, options, performance\n"}, {type = FSOP_TEXT, colour = -1, text = "N. Philosophy (pas de faq)\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Appendices\n"}, {type = FSOP_TEXT, colour = -1, text = "1. List of character species\n"}, {type = FSOP_TEXT, colour = -1, text = "2. List of character backgrounds\n"}, {type = FSOP_TEXT, colour = -1, text = "3. List of skills\n"}, {type = FSOP_TEXT, colour = -1, text = "4. List of keys and commands\n"}, {type = FSOP_TEXT, colour = -1, text = "5. Inscriptions\n"}, {type = FSOP_TEXT, colour = -1, text = "6. Dungeon sprint modes\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "A.", ' ' , "OVERVIEW\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Crawl is a fun game in the grand tradition of similar games like Rogue,\n"}, {type = FSOP_TEXT, colour = -1, text = "Hack and Moria. The objective is to travel deep into a subterranean cave\n"}, {type = FSOP_TEXT, colour = -1, text = "complex and retrieve the Orb of Zot, guarded by many horrible and hideous\n"}, {type = FSOP_TEXT, colour = -1, text = "creatures.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "If you have never played Crawl (or a similar game) before, select the\n"}, {type = FSOP_TEXT, colour = -1, text = "tutorial from the starting menu. The tutorial explains the interface in\n"}, {type = FSOP_TEXT, colour = -1, text = "five easy lessons. Once you're familiar with the controls, you may want to\n"}, {type = FSOP_TEXT, colour = -1, text = "play a few games using hints mode.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Detailed instructions for playing Crawl follow. To simplify this manual, we\n"}, {type = FSOP_TEXT, colour = -1, text = "assume you're using the standard distribution and you've not changed the\n"}, {type = FSOP_TEXT, colour = -1, text = "default options. If you don't want to read the whole manual and prefer a\n"}, {type = FSOP_TEXT, colour = -1, text = "short summary of the important points, review the quick-start guide file\n"}, {type = FSOP_TEXT, colour = -1, text = "(quickstart.txt) and learn as you play.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "You can also read these documents while playing Crawl by hitting '?' at the\n"}, {type = FSOP_TEXT, colour = -1, text = "help menu. A list of frequently asked questions about gameplay and design\n"}, {type = FSOP_TEXT, colour = -1, text = "can be accessed by pressing '?Q' in the game.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "While Crawl is strictly a single player game, you can interact with others\n"}, {type = FSOP_TEXT, colour = -1, text = "over a server. Connecting to a server opens several interesting options.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "You can:\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "- watch other players and even communicate with them\n"}, {type = FSOP_TEXT, colour = -1, text = "- view your past games or those of others\n"}, {type = FSOP_TEXT, colour = -1, text = "- battle ghosts of other players\n"}, {type = FSOP_TEXT, colour = -1, text = "- compete using a common score list\n"}, {type = FSOP_TEXT, colour = -1, text = "- take part in the semiannual tournament\n"}, {type = FSOP_TEXT, colour = -1, text = "- play the most recent development version\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "See the Crawl website to find an online server, links to download the game\n"}, {type = FSOP_TEXT, colour = -1, text = "for offline play, and other community resources:\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = " http://crawl.develz.org/\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "B.", ' ' , "STARTING SCREEN\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "At the Crawl start screen, you will be presented with various game modes, a\n"}, {type = FSOP_TEXT, colour = -1, text = "list of saved games (if any), and will be prompted to type a name for your\n"}, {type = FSOP_TEXT, colour = -1, text = "character. You can navigate the game modes and saved games with the cursor\n"}, {type = FSOP_TEXT, colour = -1, text = "'up' and 'down' arrow keys.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Game modes are:\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Dungeon Crawl\n"}, {type = FSOP_TEXT, colour = -1, text = " Start a standard game of Crawl.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Choose game seed\n"}, {type = FSOP_TEXT, colour = -1, text = " Start a standard game of Crawl with a custom seed (see \"Seeded play\"\n"}, {type = FSOP_TEXT, colour = -1, text = " below).\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Tutorial for Dungeon Crawl\n"}, {type = FSOP_TEXT, colour = -1, text = " Start one of several specialised tutorials to learn how to play.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Hints Mode for Dungeon Crawl\n"}, {type = FSOP_TEXT, colour = -1, text = " Start a standard game of Crawl, modified to provide help as you play.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Dungeon Sprint\n"}, {type = FSOP_TEXT, colour = -1, text = " Start one of several single-map challenge mode games of Crawl.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Instructions\n"}, {type = FSOP_TEXT, colour = -1, text = " View the instructional help text you are currently reading.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "The Arena\n"}, {type = FSOP_TEXT, colour = -1, text = " Initiate an automated fight mode between two specified combatant groups.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "High Scores\n"}, {type = FSOP_TEXT, colour = -1, text = " View scores for prior games played, sorted by decreasing score.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Pressing 'enter' immediately after typing your name will select standard\n"}, {type = FSOP_TEXT, colour = -1, text = "Dungeon Crawl mode, and you will be prompted to select a species and\n"}, {type = FSOP_TEXT, colour = -1, text = "background. Names are unique; entering a name from the saved game list will\n"}, {type = FSOP_TEXT, colour = -1, text = "continue that saved game. If you select a game mode instead of entering a\n"}, {type = FSOP_TEXT, colour = -1, text = "name, you will eventually be prompted to enter a name.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "You can choose species and background in either order or randomise any\n"}, {type = FSOP_TEXT, colour = -1, text = "combination if you would rather have the game decide for you. If both are\n"}, {type = FSOP_TEXT, colour = -1, text = "random, you will be prompted to confirm the chosen combination before the\n"}, {type = FSOP_TEXT, colour = -1, text = "game starts.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "The choice of species affects several important characteristics, in\n"}, {type = FSOP_TEXT, colour = -1, text = "particular the speed at which you learn different skills. This is very\n"}, {type = FSOP_TEXT, colour = -1, text = "important, and helps to clearly differentiate the many available species.\n"}, {type = FSOP_TEXT, colour = -1, text = "The following factors are species-dependent:\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Major:\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "- The amount of health you get each level\n"}, {type = FSOP_TEXT, colour = -1, text = "- Your rate of skill advancement\n"}, {type = FSOP_TEXT, colour = -1, text = "- Your initial primary attributes (this also depends on background)\n"}, {type = FSOP_TEXT, colour = -1, text = "- Various special abilities, powers and limitations\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Minor:\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "- Your rate of level advancement\n"}, {type = FSOP_TEXT, colour = -1, text = "- Occasional bonus points added to some primary attributes\n"}, {type = FSOP_TEXT, colour = -1, text = "- The amount of magic points you get each level\n"}, {type = FSOP_TEXT, colour = -1, text = "- Your innate willpower, your resistance to subtle magic\n"}, {type = FSOP_TEXT, colour = -1, text = "- Your initial equipment (this also depends on background)\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Note: Humans are the average to which all other species are compared.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "The choice of character background is definitely less decisive than that of\n"}, {type = FSOP_TEXT, colour = -1, text = "species in Crawl. Basically, the background determines what the character\n"}, {type = FSOP_TEXT, colour = -1, text = "has learned prior to entering the dungeon (i.e. the starting skills), and\n"}, {type = FSOP_TEXT, colour = -1, text = "also helps determine equipment at start.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "You will notice that a different set of backgrounds will be recommended\n"}, {type = FSOP_TEXT, colour = -1, text = "(white) for each species. Although you are free to pick any background with\n"}, {type = FSOP_TEXT, colour = -1, text = "almost any species (the only restrictions are religious backgrounds where\n"}, {type = FSOP_TEXT, colour = -1, text = "some species are not permitted to worship certain gods, or backgrounds\n"}, {type = FSOP_TEXT, colour = -1, text = "where the starting equipment is completely unusable by a given species),\n"}, {type = FSOP_TEXT, colour = -1, text = "looking at the recommended combinations should give you a rough impression\n"}, {type = FSOP_TEXT, colour = -1, text = "of the weaknesses, strengths, and roleplaying flavour of the different\n"}, {type = FSOP_TEXT, colour = -1, text = "species.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "For some backgrounds, you must pick a starting weapon before starting the\n"}, {type = FSOP_TEXT, colour = -1, text = "game.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "When you start a new character (or load an old one) and want to get a rough\n"}, {type = FSOP_TEXT, colour = -1, text = "impression, you may read the full character dump with ?# or examine it with\n"}, {type = FSOP_TEXT, colour = -1, text = "the following commands:\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "A\n"}, {type = FSOP_TEXT, colour = -1, text = " shows any peculiarities like unusual speed or body parts\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "m\n"}, {type = FSOP_TEXT, colour = -1, text = " shows your skills and lets you disable (or focus) training as desired\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "i\n"}, {type = FSOP_TEXT, colour = -1, text = " lists equipment and items\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "^\n"}, {type = FSOP_TEXT, colour = -1, text = " displays information on your god, should you have started with a religion\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "%\n"}, {type = FSOP_TEXT, colour = -1, text = " gives a general, if terse, overview of your gear and most attributes\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Ctrl-O\n"}, {type = FSOP_TEXT, colour = -1, text = " gives an overview of the parts of the dungeon you have discovered so far\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "C.", ' ' , "ATTRIBUTES AND STATS\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "The stat area to the right of the playing map shows a lot of information.\n"}, {type = FSOP_TEXT, colour = -1, text = "It starts with the character's name and title (determined by the\n"}, {type = FSOP_TEXT, colour = -1, text = "character's highest skill), followed by a line listing the species. If the\n"}, {type = FSOP_TEXT, colour = -1, text = "character worships a god, the name of the deity is also listed in the\n"}, {type = FSOP_TEXT, colour = -1, text = "second line, together with an indicator of piety. Below these two lines\n"}, {type = FSOP_TEXT, colour = -1, text = "follow a lot of numbers. These describe different aspects of the character.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Health\n"}, {type = FSOP_TEXT, colour = -1, text = " A measure of life force. Synonymous with hit points and sometimes\n"}, {type = FSOP_TEXT, colour = -1, text = " abbreviated as HP. You die if your health drops to zero or less (although\n"}, {type = FSOP_TEXT, colour = -1, text = " you can die in other ways, too). The main screen shows both your current\n"}, {type = FSOP_TEXT, colour = -1, text = " and maximum health. Usually, you regain health slowly over time. Pressing\n"}, {type = FSOP_TEXT, colour = -1, text = " '5' or Shift-Num-5 lets you wait for a longer period.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Magic\n"}, {type = FSOP_TEXT, colour = -1, text = " A measure of magic or other intrinsic power. This is used primarily for\n"}, {type = FSOP_TEXT, colour = -1, text = " spellcasting, but is sometimes also used for the evoking and invoking of\n"}, {type = FSOP_TEXT, colour = -1, text = " many other special abilities. They are displayed in the same way as\n"}...}}, m_tag = "help", m_title = {ops = std::vector of length 0, capacity 0}, m_more = {ops = std::vector of length 0, capacity 0}, m_lastch = 47, m_flags = 2, m_scroll = 1565, m_contents_dirty = false, m_scroll_dirty = false, m_scroller = std::shared_ptr (use count 1, weak count 1) = {get() = 0x5b4bc3493a10}}, prev_page = 42} key = #26 0x00005b4bc0f44ab4 in UINewGameMenu::menu_item_activated (this=0x5b4bc34f5f30, id=) at newgame.cc:1495 viable = false #27 0x00005b4bc0f4e6c1 in UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}::operator()(ui::ActivateEvent const&) const (event=..., __closure=0x7ffc50b6b940) at newgame.cc:1221 button = this = 0x5b4bc34f5f30 this = button = #28 ui::Widget::on_activate_event(UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}::operator()(ui::Event const&) const (event=..., __closure=0x7ffc50b6b940) at /home/crawl-dev/dgamelaunch-config/crawl-build/crawl-git-repository/crawl-ref/source/ui.h:449 cb = {__this = 0x5b4bc34f5f30} cb = #29 std::__invoke_impl(UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}&, ui::Event const&>(std::__invoke_other, ui::Widget::on_activate_event(UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}&, ui::Event const&) (__f=...) at /usr/include/c++/13/bits/invoke.h:61 No locals. #30 std::__invoke_r(UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}&, ui::Event const&>(ui::Widget::on_activate_event(UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}&, ui::Event const&) (__fn=...) at /usr/include/c++/13/bits/invoke.h:138 No locals. #31 std::_Function_handler(UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}>::_M_invoke(std::_Any_data const&, ui::Event const&) (__functor=..., __args#0=...) at /usr/include/c++/13/bits/std_function.h:290 No locals. #32 0x00005b4bc11945e4 in std::function::operator()(ui::Event const&) const (__args#0=..., this=0x7ffc50b6b940) at /usr/include/c++/13/bits/std_function.h:591 No locals. #33 ui::Slot::emit(ui::Widget*, ui::Event const&) (args#0=..., target=, this=0x5b4bc1783620 ) at /home/crawl-dev/dgamelaunch-config/crawl-build/crawl-git-repository/crawl-ref/source/ui.h:255 func = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34f5f30, _M_const_object = 0x5b4bc34f5f30, _M_function_pointer = 0x5b4bc34f5f30, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34f5f30}, _M_pod_data = "0_O\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f4d7f0 (UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}>::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f4e670 (UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}>::_M_invoke(std::_Any_data const&, ui::Event const&)>} it = {first = 0x5b4bc37d4c20, second = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34f5f30, _M_const_object = 0x5b4bc34f5f30, _M_function_pointer = 0x5b4bc34f5f30, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34f5f30}, _M_pod_data = "0_O\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f4d7f0 (UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}>::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f4e670 (UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}&&)::{lambda(ui::Event const&)#1}>::_M_invoke(std::_Any_data const&, ui::Event const&)>}} i = i = it = func = #34 ui::Widget::on_event (this=, event=...) at ui.cc:234 No locals. #35 0x00005b4bc1198275 in ui::UIRoot::deliver_event (this=, event=...) at ui.cc:2983 w = 0x5b4bc37d4c20 #36 0x00005b4bc1198793 in ui::raise_event (event=...) at ui.cc:3611 No locals. #37 0x00005b4bc0f6f130 in MenuButton::activate (this=0x5b4bc3abd700) at outer-menu.cc:33 ev = { = {m_type = ui::Event::Activate, m_target = std::shared_ptr (use count 5, weak count 1) = {get() = 0x5b4bc3abd700}}, } #38 0x00005b4bc11984e8 in std::function::operator()(ui::Event const&) const (__args#0=..., this=0x7ffc50b6baa0) at /usr/include/c++/13/bits/std_function.h:591 No locals. #39 ui::Slot::emit_if > (this=0x5b4bc1783658 , args#0=..., pred=...) at /home/crawl-dev/dgamelaunch-config/crawl-build/crawl-git-repository/crawl-ref/source/ui.h:244 func = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3abd700, _M_const_object = 0x5b4bc3abd700, _M_function_pointer = 0x5b4bc3abd700, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3abd700}, _M_pod_data = "\000\327\253\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>} it = {first = 0x5b4bc3abd700, second = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3abd700, _M_const_object = 0x5b4bc3abd700, _M_function_pointer = 0x5b4bc3abd700, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3abd700}, _M_pod_data = "\000\327\253\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}} __for_range = std::multimap with 36 elements = {[0x5b4bc32a35c0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc32a35c0, _M_const_object = 0x5b4bc32a35c0, _M_function_pointer = 0x5b4bc32a35c0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc32a35c0}, _M_pod_data = "\3005*\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc32c38c0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc32c38c0, _M_const_object = 0x5b4bc32c38c0, _M_function_pointer = 0x5b4bc32c38c0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc32c38c0}, _M_pod_data = "\3008,\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc32c84e0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc32c84e0, _M_const_object = 0x5b4bc32c84e0, _M_function_pointer = 0x5b4bc32c84e0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc32c84e0}, _M_pod_data = "\340\204,\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc341e4d0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc341e4d0, _M_const_object = 0x5b4bc341e4d0, _M_function_pointer = 0x5b4bc341e4d0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc341e4d0}, _M_pod_data = "\320\344A\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3434d00] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3434d00, _M_const_object = 0x5b4bc3434d00, _M_function_pointer = 0x5b4bc3434d00, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3434d00}, _M_pod_data = "\000MC\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3442aa0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3442aa0, _M_const_object = 0x5b4bc3442aa0, _M_function_pointer = 0x5b4bc3442aa0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3442aa0}, _M_pod_data = "\240*D\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3451080] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3451080, _M_const_object = 0x5b4bc3451080, _M_function_pointer = 0x5b4bc3451080, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3451080}, _M_pod_data = "\200\020E\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3452d80] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3452d80, _M_const_object = 0x5b4bc3452d80, _M_function_pointer = 0x5b4bc3452d80, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3452d80}, _M_pod_data = "\200-E\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3456770] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3456770, _M_const_object = 0x5b4bc3456770, _M_function_pointer = 0x5b4bc3456770, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3456770}, _M_pod_data = "pgE\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc34664d0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34664d0, _M_const_object = 0x5b4bc34664d0, _M_function_pointer = 0x5b4bc34664d0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34664d0}, _M_pod_data = "\320dF\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3476180] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3476180, _M_const_object = 0x5b4bc3476180, _M_function_pointer = 0x5b4bc3476180, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3476180}, _M_pod_data = "\200aG\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc34a1870] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34a1870, _M_const_object = 0x5b4bc34a1870, _M_function_pointer = 0x5b4bc34a1870, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34a1870}, _M_pod_data = "p\030J\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc34b1210] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34b1210, _M_const_object = 0x5b4bc34b1210, _M_function_pointer = 0x5b4bc34b1210, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34b1210}, _M_pod_data = "\020\022K\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc34b3090] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34b3090, _M_const_object = 0x5b4bc34b3090, _M_function_pointer = 0x5b4bc34b3090, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34b3090}, _M_pod_data = "\2200K\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc34ba150] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34ba150, _M_const_object = 0x5b4bc34ba150, _M_function_pointer = 0x5b4bc34ba150, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34ba150}, _M_pod_data = "P\241K\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc34ddff0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34ddff0, _M_const_object = 0x5b4bc34ddff0, _M_function_pointer = 0x5b4bc34ddff0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34ddff0}, _M_pod_data = "\360\337M\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc34ee4b0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34ee4b0, _M_const_object = 0x5b4bc34ee4b0, _M_function_pointer = 0x5b4bc34ee4b0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34ee4b0}, _M_pod_data = "\260\344N\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc34ee790] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34ee790, _M_const_object = 0x5b4bc34ee790, _M_function_pointer = 0x5b4bc34ee790, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34ee790}, _M_pod_data = "\220\347N\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3506c50] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3506c50, _M_const_object = 0x5b4bc3506c50, _M_function_pointer = 0x5b4bc3506c50, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3506c50}, _M_pod_data = "PlP\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3508f00] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3508f00, _M_const_object = 0x5b4bc3508f00, _M_function_pointer = 0x5b4bc3508f00, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3508f00}, _M_pod_data = "\000\217P\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3510410] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3510410, _M_const_object = 0x5b4bc3510410, _M_function_pointer = 0x5b4bc3510410, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3510410}, _M_pod_data = "\020\004Q\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3518220] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3518220, _M_const_object = 0x5b4bc3518220, _M_function_pointer = 0x5b4bc3518220, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3518220}, _M_pod_data = " \202Q\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3532dc0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3532dc0, _M_const_object = 0x5b4bc3532dc0, _M_function_pointer = 0x5b4bc3532dc0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3532dc0}, _M_pod_data = "\300-S\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc35d6810] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc35d6810, _M_const_object = 0x5b4bc35d6810, _M_function_pointer = 0x5b4bc35d6810, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc35d6810}, _M_pod_data = "\020h]\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc35e4780] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc35e4780, _M_const_object = 0x5b4bc35e4780, _M_function_pointer = 0x5b4bc35e4780, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc35e4780}, _M_pod_data = "\200G^\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3685d40] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3685d40, _M_const_object = 0x5b4bc3685d40, _M_function_pointer = 0x5b4bc3685d40, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3685d40}, _M_pod_data = "@]h\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc374a100] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc374a100, _M_const_object = 0x5b4bc374a100, _M_function_pointer = 0x5b4bc374a100, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc374a100}, _M_pod_data = "\000\241t\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc376d780] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc376d780, _M_const_object = 0x5b4bc376d780, _M_function_pointer = 0x5b4bc376d780, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc376d780}, _M_pod_data = "\200\327v\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3780ec0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3780ec0, _M_const_object = 0x5b4bc3780ec0, _M_function_pointer = 0x5b4bc3780ec0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3780ec0}, _M_pod_data = "\300\016x\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc37d4c20] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc34f5f30, _M_const_object = 0x5b4bc34f5f30, _M_function_pointer = 0x5b4bc34f5f30, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc34f5f30}, _M_pod_data = "0_O\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f4d6e0 (UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::KeyEvent const&)#1}&&)::{lambda(ui::Event const&)#1}>::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f4d990 (UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::KeyEvent const&)#1}&&)::{lambda(ui::Event const&)#1}>::_M_invoke(std::_Any_data const&, ui::Event const&)>}, [0x5b4bc3a93840] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3a93840, _M_const_object = 0x5b4bc3a93840, _M_function_pointer = 0x5b4bc3a93840, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3a93840}, _M_pod_data = "@8\251\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3abd700] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3abd700, _M_const_object = 0x5b4bc3abd700, _M_function_pointer = 0x5b4bc3abd700, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3abd700}, _M_pod_data = "\000\327\253\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3abda70] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3abda70, _M_const_object = 0x5b4bc3abda70, _M_function_pointer = 0x5b4bc3abda70, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3abda70}, _M_pod_data = "pګ\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3adb120] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3adb120, _M_const_object = 0x5b4bc3adb120, _M_function_pointer = 0x5b4bc3adb120, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3adb120}, _M_pod_data = " \261\255\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3b357f0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3b357f0, _M_const_object = 0x5b4bc3b357f0, _M_function_pointer = 0x5b4bc3b357f0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3b357f0}, _M_pod_data = "\360W\263\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x5b4bc3b40d00] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x5b4bc3b40d00, _M_const_object = 0x5b4bc3b40d00, _M_function_pointer = 0x5b4bc3b40d00, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x5b4bc3b40d00}, _M_pod_data = "\000\r\264\303K[\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x5b4bc0f6e010 >(MenuButton::MenuButton()::&&):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x5b4bc0f6f240 >(MenuButton::MenuButton()::&&):: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}} __for_begin = __for_end = #40 ui::UIRoot::deliver_event (this=0x5b4bc1783760 , event=...) at ui.cc:2925 hotkey_handled = top = key = 63 #41 0x00005b4bc11986d7 in ui::UIRoot::on_event (this=this@entry=0x5b4bc1783760 , event=...) at ui.cc:2859 key_event = { = {m_type = ui::Event::KeyDown, m_target = std::shared_ptr (use count 4, weak count 1) = {get() = 0x5b4bc34ee4b0}}, m_key = 63} #42 0x00005b4bc119d8d5 in ui::pump_events (wait_event_timeout=wait_event_timeout@entry=2147483647) at ui.cc:3313 ev = {type = 2 '\002', active = {type = 0 '\000', gain = 0 '\000', state = 0 '\000'}, key = {type = 0 '\000', state = 0 '\000', keysym = {scancode = 0 '\000', sym = 63, key_mod = 0 '\000', unicode = 0}}, mouse_event = {type = 0 '\000', event = wm_mouse_event::PRESS, button = wm_mouse_event::NONE, held = 0, mod = 0 '\000', px = 0, py = 0}, resize = {type = 0 '\000', w = 0, h = 0}, expose = {type = 0 '\000'}, quit = {type = 0 '\000'}, custom = {type = 0 '\000', code = 0, data1 = 0x0, data2 = 0x0}} macro_key = k = #43 0x00005b4bc119dbda in ui::run_layout (root=std::shared_ptr (use count 3, weak count 1) = {...}, done=@0x5b4bc34f5fe0: false, initial_focus=std::shared_ptr (empty) = {...}) at ui.cc:3324 No locals. #44 0x00005b4bc0f47313 in _prompt_choice (choice_type=, ng=..., ng_choice=..., defaults=...) at /usr/include/c++/13/bits/shared_ptr_base.h:1097 newgame_ui = popup = std::shared_ptr (empty) = {get() = } #45 0x00005b4bc0f47998 in _choose_species_job (defaults=..., ng_choice=..., ng=...) at newgame.cc:338 No locals. #46 _choose_char (ng=..., choice=..., defaults=...) at newgame.cc:512 ng_reset = {name = "cornishon", type = GAME_TYPE_NORMAL, filename = "", seed = 0, pregenerate = false, map = "", arena_teams = "", allowed_combos = std::vector of length 0, capacity 0, allowed_species = std::vector of length 0, capacity 0, allowed_jobs = std::vector of length 0, capacity 0, allowed_weapons = std::vector of length 0, capacity 0, species = SP_UNKNOWN, job = JOB_UNKNOWN, weapon = WPN_UNKNOWN, fully_random = false} #47 0x00005b4bc0f4b9ff in choose_game (ng=..., choice=..., defaults=...) at newgame.cc:1033 No locals. #48 0x00005b4bc10df4dd in startup_step () at startup.cc:1097 choice = {name = "cornishon", type = GAME_TYPE_NORMAL, filename = "cornishon.cs", seed = 0, pregenerate = false, map = "", arena_teams = "", allowed_combos = std::vector of length 0, capacity 0, allowed_species = std::vector of length 0, capacity 0, allowed_jobs = std::vector of length 0, capacity 0, allowed_weapons = std::vector of length 0, capacity 0, species = SP_UNKNOWN, job = JOB_UNKNOWN, weapon = WPN_UNKNOWN, fully_random = false} defaults = {name = "", type = GAME_TYPE_NORMAL, filename = "", seed = 0, pregenerate = false, map = "", arena_teams = "", allowed_combos = std::vector of length 0, capacity 0, allowed_species = std::vector of length 1, capacity 1 = {SP_NAGA}, allowed_jobs = std::vector of length 1, capacity 1 = {JOB_SHAPESHIFTER}, allowed_weapons = std::vector of length 0, capacity 0, species = SP_NAGA, job = JOB_SHAPESHIFTER, weapon = WPN_UNKNOWN, fully_random = false} newchar = false ng = {name = "cornishon", type = GAME_TYPE_NORMAL, filename = "", seed = 0, pregenerate = false, map = "", arena_teams = "", allowed_combos = std::vector of length 0, capacity 0, allowed_species = std::vector of length 0, capacity 0, allowed_jobs = std::vector of length 0, capacity 0, allowed_weapons = std::vector of length 0, capacity 0, species = SP_UNKNOWN, job = JOB_UNKNOWN, weapon = WPN_UNKNOWN, fully_random = false} #49 0x00005b4bc125cfcd in _launch_game () at main.cc:420 game_start = ccon = #50 0x00005b4bc09f2d07 in _launch_game_loop () at main.cc:392 game_ended = false game_ended = ge = fe = #51 main (argc=12, argv=0x7ffc50b6ce78) at main.cc:342 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }}} [Inferior 1 (process 1498032) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 13.2.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-git-11d99efb1b/saves" -DSHARED_DIR_PATH="/crawl-master/crawl-git/saves" -DDATA_DIR_PATH="/crawl-master/crawl-git-11d99efb1b/data/" -DWEB_DIR_PATH="/crawl-master/crawl-git-11d99efb1b/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 1 Level id: D:1 Level build method = ABSENT, level layout type = ABSENT, absdepth0 = 0 Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Data directory '/crawl-master/crawl-git-11d99efb1b/data/dat/' found. Loading databases... Loading spells and features... Loading maps... Hello, welcome to Dungeon Crawl Stone Soup 0.33-a0-1476-g11d99efb1b! (c) Copyright 1997-2002 Linley Henzell, 2002-2025 Crawl DevTeam Options read from "cornishon.rc". >>>>>>>>>>>>>>>>>>>>>> Version history: No version history (current version is 0.33-a0-1476-g11d99efb1b) Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 0, saving_game: 0, updating_scores: 0: seen_hups: 1, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_NO_CMD repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [] Species: Yak Job: Unemployed HP: 0/0; mods: 0/0 MP: 0/0; mod: 0 Stats: 0 0 0 Position: (0, 0) , god: No God (0), turn_is_over: 0, banished: 0 Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | | 0 | 0 | 0 | 0 | 0/2 Short Blades | | 0 | 0 | 0 | 0 | 0/0 Long Blades | | 0 | 0 | 0 | 0 | 0/50 Axes | | 0 | 0 | 0 | 0 | 0/2 Maces & Flails | | 0 | 0 | 0 | 0 | 0/0 Polearms | | 0 | 0 | 0 | 0 | 0/50 Staves | | 0 | 0 | 0 | 0 | 0/2 Ranged Weapons | | 0 | 0 | 0 | 0 | 0/50 Throwing | | 0 | 0 | 0 | 0 | 0/0 Armour | | 0 | 0 | 0 | 0 | 0/50 Dodging | | 0 | 0 | 0 | 0 | 0/2 Stealth | | 0 | 0 | 0 | 0 | 0/0 Shields | | 0 | 0 | 0 | 0 | 0/2 Unarmed Combat | | 0 | 0 | 0 | 0 | 0/42 Spellcasting | | 0 | 0 | 0 | 0 | 0/2 Conjurations | | 0 | 0 | 0 | 0 | 0/0 Hexes | | 0 | 0 | 0 | 0 | 0/59 Summonings | | 0 | 0 | 0 | 0 | 0/4 Translocations | | 0 | 0 | 0 | 0 | 0/2 Forgecraft | | 0 | 0 | 0 | 0 | 0/3 Ice Magic | | 0 | 0 | 0 | 0 | 0/2 Air Magic | | 0 | 0 | 0 | 0 | 0/1 Alchemy | | 0 | 0 | 0 | 0 | 0/2 Invocations | | 0 | 0 | 0 | 0 | 0/14 Shapeshifting | | 0 | 0 | 0 | 0 | 0/2 Spell bugs: Durations: Attributes: Mutations: Inventory bugs: Equipment: }}}}}}}}}}} Webtiles message buffer: {"from_client":true,"menu_id":"species-main","button_focus":116 Webtiles JSON stack: start: 0 end: 1 type: } Screenshot: @ clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>