ASSERT(fp) in 'command.cc' at line 1130 failed. (Failed to open 'quickstart.md'!) Version: Dungeon Crawl Stone Soup 0.26-a0-854-gdc81c2f Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 0, deterministic pregen: 1 Command line: /var/dcss/builds/dcss-trunk/latest/bin/dcss -name DiscoBob -rc /var/dcss/gamedata/dcss-trunk/rc-files/DiscoBob.rc -macro /var/dcss/gamedata/dcss-trunk/rc-files/DiscoBob.macro -morgue /var/dcss/gamedata/dcss/morgue/DiscoBob/ -extra-opt-first travel_delay=20 -extra-opt-first rest_delay=0 -dir /var/dcss/gamedata/dcss-trunk/save/ -webtiles-socket /var/dcss/sockets/DiscoBob:2020-11-22.04:55:35.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 26 stack frames. /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z17write_stack_traceP8_IO_FILE+0x38) [0x72b118]: write_stack_trace(_IO_FILE*) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z13do_crash_dumpv+0x3c7) [0x732327]: do_crash_dump() /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z20crash_signal_handleri+0x1f0) [0x72b580]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x354c0) [0x7f8bef5094c0]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0x29) [0x7f8bef8af269]: /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x731ae9] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z12AssertFailedPKcS0_iS0_z+0x188) [0x731c78]: AssertFailed(char const*, char const*, int, char const*, ...) /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x727090] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z9show_helpiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1ec) [0x727d0c]: show_help(int, std::__cxx11::basic_string, std::allocator >) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN13UINewGameMenu19menu_item_activatedEi+0x5d) [0xab534d]: UINewGameMenu::menu_item_activated(int) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZNSt17_Function_handlerIFbRKN2ui5EventEEZNS0_6Widget17on_activate_eventIZN13UINewGameMenuC4EiR11newgame_defS9_RKS8_EUlRKNS0_13ActivateEventEE_EEvOT_EUlS3_E_E9_M_invokeERKSt9_Any_dataS3_+0x5d) [0xac0f3d]: 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&) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN2ui6Widget8on_eventERKNS_5EventE+0x86) [0xc60216]: ui::Widget::on_event(ui::Event const&) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN2ui6UIRoot13deliver_eventERNS_5EventE+0x94) [0xc618b4]: ui::UIRoot::deliver_event(ui::Event&) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN10MenuButton8activateEv+0x8a) [0xad4a5a]: MenuButton::activate() /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN2ui6UIRoot13deliver_eventERNS_5EventE+0x3c7) [0xc61be7]: ui::UIRoot::deliver_event(ui::Event&) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN2ui6UIRoot8on_eventER8wm_event+0xc7) [0xc61d77]: ui::UIRoot::on_event(wm_event&) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN2ui11pump_eventsEi+0x89) [0xc61e99]: ui::pump_events(int) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN2ui10run_layoutESt10shared_ptrINS_6WidgetEERKbS2_+0x9a) [0xc62d5a]: ui::run_layout(std::shared_ptr, bool const&, std::shared_ptr) /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xab8b77] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xab90ea] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z11choose_gameR11newgame_defS0_RKS_+0xa8) [0xabd748]: choose_game(newgame_def&, newgame_def&, newgame_def const&) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z12startup_stepv+0x149e) [0xbcf58e]: startup_step() /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xce46f8] /var/dcss/builds/dcss-trunk/latest/bin/dcss(main+0x17e) [0x692e7e]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f8bef4f4840]: /var/dcss/builds/dcss-trunk/latest/bin/dcss(_start+0x29) [0x6938f9]: Trying to run gdb. GNU gdb (Ubuntu 8.2-0ubuntu1~16.04.1) 8.2 Copyright (C) 2018 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". 0x00007f8bef8aef2a in __waitpid (pid=18668, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 #0 0x00007f8bef8aef2a in __waitpid (pid=18668, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 resultvar = 18446744073709551104 sc_ret = #1 0x000000000072af95 in call_gdb (file=file@entry=0x7f8bef899540 <_IO_2_1_stderr_>) at crash.cc:436 gdb = attach_cmd = "attach 18619\000\000\000\000\000\000\000" #2 0x0000000000732343 in do_crash_dump () at dbg-asrt.cc:685 t = 1606020939 dir = "/var/dcss/gamedata/dcss/morgue/DiscoBob/" name = "/var/dcss/gamedata/dcss/morgue/DiscoBob/crash--20201122-045539.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(fp) in 'command.cc' at line 1130 failed. (Failed to open 'quickstart.md'!)" file = 0x7f8bef899540 <_IO_2_1_stderr_> #3 0x000000000072b580 in crash_signal_handler (sig_num=6) at crash.cc:196 No locals. #4 No locals. #5 0x00007f8bef8af269 in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:35 resultvar = 0 pid = #6 0x0000000000731ae9 in _BreakStrToDebugger (mesg=mesg@entry=0x7ffd9ed1d720 "ASSERT(fp) in 'command.cc' at line 1130 failed. (Failed to open 'quickstart.md'!)", assert=true) at dbg-asrt.cc:817 No locals. #7 0x0000000000731c78 in AssertFailed (expr=expr@entry=0xcf670f "fp", file=file@entry=0xcf6704 "command.cc", line=line@entry=1130, text=text@entry=0xcf66ef "Failed to open '%s'!") at dbg-asrt.cc:850 detail = "Failed to open 'quickstart.md'!\000d\000\000\000\000\000\000\000\030\326ў\375\177\000\000\220\325ў\375\177\000\000\220\325ў\375\177\000\000 \327ў\375\177\000\000\366+\317\000\000\000\000\000\260\325ў\375\177\000\000\260\325ў\375\177\000\000@\327ў\375\177\000\060N\f\322\000\000\000\000\000\320\325ў\375\177\000\000\320\325ў\375\177\000\000`\327ў\375\177\000\000D\336\363\360\213\177\000\000H\327ў\375\177\000\000\033\002\000\000\000\000\000\000\000\260\024\361\213\177\000\000\200}M\357\213\177\000\000\370ON\357\213\177\000\000{\346\363\360\213\177\000\000\033\002\000\000\000\000\000\000\370ON\357\213\177\000\000\000\260\024"... final_mesg = "ASSERT(fp) in 'command.cc' at line 1130 failed. (Failed to open 'quickstart.md'!)\000M\357\213\177\000\000\000\260\024\361\213\177\000\000\377\377\377\377\000\000\000\000\240t\211\357\213\177\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000k\000\000\000\000\000\000\000 \330ў\375\177\000\000\340\"\023\001\000\000\000\000\020\330ў\000\000\000\000\240t\211\357\213\177\000\000\341'.a\002\200\377\377\037\330ў\375\177\000\000\002\000\000\000\000\000\000\000\b\000\000\000"... mesg = "ASSERT(fp) in 'command.cc' at line 1130 failed.\000\031", '\000' , "\002\000\000\000\n\000\000\000\000\000\000\000>\v\322\000\000\000\000\000\027\330ў\375\177\000\000\001\000\000\000\000\000\000\000\373x\317\000\000\000\000\000\000\000\000\000\001\000\000\000\060\324ў\375\177\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\020\000\000\000\060\000\000\000\200\342ў\375\177\000\000\260\341ў\375\177\000\000\220\342ў\375\177\000\000\300\341ў\375\177\000\000\240\342ў\375\177\000\000\020\000\000\000\060\000\000\000\260\342ў\375\177\000\000\340\341ў\375\177\000\000\220"... args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffd9ed1dc10, reg_save_area = 0x7ffd9ed1db30}} fileName = #8 0x0000000000727090 in _get_help_section (section=, header_out=..., text_out=..., scroll_out=) at command.cc:1130 buf = ' ' , "Spc Coj Hex Cha Sum Nec Trl Trm Fir Ice Air Ear Poi\n\000gic\n\000\n\000\n\000\n\000\236\375\177\000\000\a\000\000\000\000\000\000\000\240\337ў\375\177\000\000\300\337ў\375\177\000\000\000\000\000\000\000\000\000\000\350\337ў\375\177\000\000\320\340ў\375\177\000\000%\000\000\000\000\000\000\000\260\337ў\375\177\000\000u\373\201\000\000\000\000\000\350\337ў\375\177\000\000\305t\264\000\000\000\000\000\260t\264", '\000' , "\300\337ў\375\177\000" fname = "quickstart.md" fp = 0x0 text = {ops = std::vector of length 0, capacity 0} next_is_hotkey = false i = hotkeys = std::map with 20 elements = {[49] = 1498, [50] = 2009, [51] = 2208, [52] = 2373, [53] = 2946, [54] = 3066, [97] = 31, [98] = 77, [99] = 183, [100] = 336, [101] = 570, [102] = 628, [103] = 707, [104] = 1026, [105] = 1082, [106] = 1129, [107] = 1161, [108] = 1206, [109] = 1268, [110] = 1304} page_text = std::map with 2 elements = {[37] = {ops = std::vector of length 174, capacity 174 = {{type = FSOP_TEXT, colour = -1, text = "TABLES OF APTITUDES\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "The following three tables describe all aptitudes of the various species\n"}, {type = FSOP_TEXT, colour = -1, text = "for the various skills. Knowledge, neither explicit nor implicit, of these\n"}, {type = FSOP_TEXT, colour = -1, text = "are not necessary for winning in Crawl. The qualitative information behind\n"}, {type = FSOP_TEXT, colour = -1, text = "this sheet (i.e., which species are good at which tasks) can be obtained in\n"}, {type = FSOP_TEXT, colour = -1, text = "two other ways:\n"}, {type = FSOP_TEXT, colour = -1, text = "- Read the species section in the manual about strengths and weaknesses.\n"}, {type = FSOP_TEXT, colour = -1, text = "- Look at which combinations of species and background are recommended.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = " -- no aptitude (cannot learn this skill at all)\n"}, {type = FSOP_TEXT, colour = -1, text = " -5 abysmal aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = " -4 terrible aptitude (learning half as fast as at 0 aptitude)\n"}, {type = FSOP_TEXT, colour = -1, text = " -3 very poor aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = " -2 poor aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = " -1 slightly disfavoured aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = " 0 standard aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = " +1 slightly favoured aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = " +2 strong aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = " +3 very strong aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = " +4 outstanding aptitude (learning twice as fast as at 0 aptitude)\n"}, {type = FSOP_TEXT, colour = -1, text = " +5 exceptional aptitude\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "There are four special values: HP, MP, Experience and Magic Resistance:\n"}, {type = FSOP_TEXT, colour = -1, text = "- The HP value indicates the percentage of hit points gained per experience\n"}, {type = FSOP_TEXT, colour = -1, text = " level, 100% being the Human standard.\n"}, {type = FSOP_TEXT, colour = -1, text = "- The MP value indicates a fixed additive modifier to magic points.\n"}, {type = FSOP_TEXT, colour = -1, text = "- The Experience value indicates how much experience has to be earned in\n"}, {type = FSOP_TEXT, colour = -1, text = " order to gain a new experience level, +1 being the Human standard. These\n"}, {type = FSOP_TEXT, colour = -1, text = " values use the same scale as the skill aptitudes.\n"}, {type = FSOP_TEXT, colour = -1, text = "- The Magic Resistance value indicates resistance to hostile enchantments per\n"}, {type = FSOP_TEXT, colour = -1, text = " experience level, +3 being the Human standard.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "The abbreviations used for the skills are:\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "General skills, Experience Melee and Ranged Combat Spellcasting and Magic\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , " ", '-' , " ", '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "Arm - Armour", ' ' , "Fgt - Fighting", ' ' , "Spc - Spellcasting\n"}, {type = FSOP_TEXT, colour = -1, text = "Ddg - Dodging", ' ' , "SBl - Short Blades Coj - Conjurations\n"}, {type = FSOP_TEXT, colour = -1, text = "Sth - Stealth", ' ' , "LBl - Long Blades", ' ' , "Hex - Hexes\n"}, {type = FSOP_TEXT, colour = -1, text = "Shd - Shields", ' ' , "M&F - Maces & Flails Cha - Charms\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Axs - Axes", ' ' , "Sum - Summonings\n"}, {type = FSOP_TEXT, colour = -1, text = "Inv - Invocations", ' ' , "Pla - Polearms", ' ' , "Nec - Necromancy\n"}, {type = FSOP_TEXT, colour = -1, text = "Evo - Evocations", ' ' , "Stv - Staves", ' ' , "Trl - Translocations\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "UC - Unarmed Combat Trm - Transmutations\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "HP - hit points", ' ' , "Thr - Throwing", ' ' , "Fir - Fire Magic\n"}, {type = FSOP_TEXT, colour = -1, text = "MP - magic points", ' ' , "Slg - Slings", ' ' , "Ice - Ice Magic\n"}, {type = FSOP_TEXT, colour = -1, text = "Exp - experience", ' ' , "Bws - Bows", ' ' , "Air - Air Magic\n"}, {type = FSOP_TEXT, colour = -1, text = "MR - magic resistance Crb - Crossbows", ' ' , "Ear - Earth Magic\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Poi - Poison Magic\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Arm Ddg Sth Shd Inv Evo HP MP Exp MR\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "Human", ' ' , "0 0 +1 0 +1 0 +0% 0 +1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Barachi", ' ' , "+2 +1 0 +1 -1 +1 +0% 0 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Demigod", ' ' , "-1 -1 0 -1 -- -1 +10% +2 -2 +4\n"}, {type = FSOP_TEXT, colour = -1, text = "Demonspawn -1 -1 0 -1 +3 0 +0% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Draconian -- -1 0 0 +1 0 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = " Black -- -1 0 0 +1 0 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = " Green -- -1 0 0 +1 0 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = " Grey -- -1 0 0 +1 0 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = " Pale -- -1 0 0 +1 +1 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = " Purple -- -1 0 0 +1 +1 +10% 0 -1 +6\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Red -- -1 0 0 +1 0 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = " White -- -1 0 0 +1 0 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = " Yellow -- -1 0 0 +1 0 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Deep Dwarf +1 +1 +3 +1 +3 +3 +20% 0 -1 +6\n"}, {type = FSOP_TEXT, colour = -1, text = "Deep Elf -2 +2 +3 -2 +1 +1 -20% +2 -1 +4\n"}, {type = FSOP_TEXT, colour = -1, text = "Felid", ' ' , "-- +3 +4 -- 0 +1 -40% +1 -1 +6\n"}, {type = FSOP_TEXT, colour = -1, text = "Formicid +1 -1 +3 +2 +2 +1 +0% 0 +1 +4\n"}, {type = FSOP_TEXT, colour = -1, text = "Gargoyle +1 -2 +2 +1 +1 -1 -20% 0 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Ghoul", ' ' , "-1 -1 +2 -1 +1 -1 +10% -1 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Gnoll", ' ' , "+8 +8 +8 +8 +9 +8 +0% 0 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Halfling +1 +1 +2 +1 +1 0 -10% 0 +1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Kobold", ' ' , "-2 +2 +4 -2 +1 +2 -20% 0 +1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Merfolk", ' ' , "-3 +3 +2 0 +1 0 +0% 0 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Minotaur +2 +1 -1 +2 0 -1 +10% -1 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Mummy", ' ' , "-2 -2 -1 -2 -1 -2 +0% 0 -1 +5\n"}, {type = FSOP_TEXT, colour = -1, text = "Naga", ' ' , "-2 -2 +5 -2 +1 0 +20% 0 0 +5\n"}, {type = FSOP_TEXT, colour = -1, text = "Octopode -- 0 +4 0 +1 +1 -10% 0 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Ogre", ' ' , "-2 -1 -2 -1 +1 -2 +30% 0 0 +4\n"}, {type = FSOP_TEXT, colour = -1, text = "Hill Orc +1 -2 -1 +1 +3 0 +10% 0 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Palentonga -2 -2 -3 -2 +1 -1 +10% 0 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Spriggan -3 +4 +5 -3 0 +3 -30% +1 -1 +7\n"}, {type = FSOP_TEXT, colour = -1, text = "Tengu", ' ' , "+1 +1 +1 0 -1 0 -20% +1 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Troll", ' ' , "-2 -2 -5 -2 -1 -3 +30% -1 -1 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Vampire", ' ' , "-2 +1 +5 -1 -1 -1 +0% 0 -1 +4\n"}, {type = FSOP_TEXT, colour = -1, text = "Vine Stalker -2 -2 +3 -1 0 -1 -30% +1 0 +5\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Arm Ddg Sth Shd Inv Evo HP MP Exp MR\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Fgt SBl LBl M&F Axs Pla Stv UC Thr Slg Bws Crb\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "Human", ' ' , "0 0 0 0 0 0 0 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Barachi", ' ' , "+2 +1 +2 +1 +1 0 +1 +1 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Demigod", ' ' , "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Demonspawn 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Draconian +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = " Black +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = " Green +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = " Grey +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = " Pale +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = " Purple +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Red +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = " White +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = " Yellow +1 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Deep Dwarf -1 -1 0 0 +1 -1 -1 -1 -1 +1 -3 +1\n"}, {type = FSOP_TEXT, colour = -1, text = "Deep Elf -2 0 -1 -3 -2 -3 0 -2 0 -2 +3 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Felid", ' ' , "0 -- -- -- -- -- -- 0 -- -- -- --\n"}, {type = FSOP_TEXT, colour = -1, text = "Formicid +1 0 0 0 0 0 0 0 0 +1 -2 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Gargoyle +1 -1 -1 0 -1 -1 0 0 -1 -1 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Ghoul", ' ' , "+1 -1 -1 -1 -1 -1 -1 +1 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Gnoll", ' ' , "+8 +8 +8 +8 +8 +8 +8 +8 +8 +8 +8 +8\n"}, {type = FSOP_TEXT, colour = -1, text = "Halfling -1 +2 0 -1 0 -1 -2 -2 0 +4 +1 +1\n"}, {type = FSOP_TEXT, colour = -1, text = "Kobold", ' ' , "+1 +3 -2 -1 -2 -2 -1 0 +1 0 0 +2\n"}, {type = FSOP_TEXT, colour = -1, text = "Merfolk", ' ' , "+1 +2 +1 -2 -2 +4 -2 +1 0 -2 -2 -2\n"}, {type = FSOP_TEXT, colour = -1, text = "Minotaur +2 +1 +2 +2 +2 +2 +2 +1 0 +1 +1 +1\n"}, {type = FSOP_TEXT, colour = -1, text = "Mummy", ' ' , "0 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2\n"}, {type = FSOP_TEXT, colour = -1, text = "Naga", ' ' , "0 0 0 0 0 0 0 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Octopode", ' ' , "0 0 0 0 0 0 0 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Ogre", ' ' , "+3 -1 -1 -1 0 0 0 -1 0 -3 -3 -3\n"}, {type = FSOP_TEXT, colour = -1, text = "Hill Orc +2 0 +1 +1 +3 +1 -1 +1 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Palentonga 0 0 0 0 0 -1 0 0 -3 -3 -2 -2\n"}, {type = FSOP_TEXT, colour = -1, text = "Spriggan -2 +1 -2 -3 -2 -3 -3 -2 0 +2 +2 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Tengu", ' ' , "0 +1 +1 +1 +1 +1 +1 +1 0 0 +1 +1\n"}, {type = FSOP_TEXT, colour = -1, text = "Troll", ' ' , "-2 -2 -2 -1 -2 -2 -2 0 -1 -4 -4 -4\n"}, {type = FSOP_TEXT, colour = -1, text = "Vampire", ' ' , "-1 +1 0 -2 -1 -1 -2 +1 -2 -2 -2 -2\n"}, {type = FSOP_TEXT, colour = -1, text = "Vine Stalker -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Fgt SBl LBl M&F Axs Pla Stv UC Thr Slg Bws Crb\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Spc Coj Hex Cha Sum Nec Trl Trm Fir Ice Air Ear Poi\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = "Human", ' ' , "-1 0 0 0 0 0 0 0 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Barachi", ' ' , "0 +1 +1 0 +2 -1 +1 +1 +1 +2 +1 0 +1\n"}, {type = FSOP_TEXT, colour = -1, text = "Demigod", ' ' , "-2 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Demonspawn -1 0 0 0 0 +1 -1 -1 -1 -1 -1 -1 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Draconian -1 0 -1 0 0 0 0 0 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = " Black -1 0 -1 0 0 0 0 0 0 0 +2 -2 0\n"}, {type = FSOP_TEXT, colour = -1, text = " Green -1 0 -1 0 0 0 0 0 0 0 0 0 +2\n"}, {type = FSOP_TEXT, colour = -1, text = " Grey -1 0 -1 0 0 0 0 0 0 0 -2 +2 0\n"}, {type = FSOP_TEXT, colour = -1, text = " Pale -1 0 -1 0 0 0 0 0 +1 0 +1 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = " Purple +1 0 +1 0 0 0 0 0 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Red -1 0 -1 0 0 0 0 0 +2 -2 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = " White -1 0 -1 0 0 0 0 0 -2 +2 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = " Yellow -1 0 -1 0 0 0 0 0 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Deep Dwarf -2 -1 -2 0 -1 +1 +1 -1 -1 -1 -3 +3 -2\n"}, {type = FSOP_TEXT, colour = -1, text = "Deep Elf +3 +1 +3 0 +1 +2 +1 +1 +1 +1 0 +1 +1\n"}, {type = FSOP_TEXT, colour = -1, text = "Felid", ' ' , "-1 -1 +4 0 0 0 +4 +1 -1 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Formicid", ' ' , "0 -1 +2 0 0 0 -1 +1 0 0 -2 +2 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Gargoyle -1 +1 -1 0 -1 -2 -1 -2 0 0 -2 +2 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Ghoul", ' ' , "-2 -2 -2 0 -1 0 -1 -1 -2 +1 -2 +1 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Gnoll", ' ' , "+8 +6 +6 0 +6 +6 +6 +6 +6 +6 +6 +6 +6\n"}, {type = FSOP_TEXT, colour = -1, text = "Halfling -3 -2 -2 0 -2 -2 +1 -4 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Kobold", ' ' , "0 0 0 0 0 0 0 0 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Merfolk", ' ' , "-1 -2 0 0 0 -2 -2 +3 -3 +1 -2 -2 +1\n"}, {type = FSOP_TEXT, colour = -1, text = "Minotaur -4 -3 -4 0 -3 -3 -3 -2 -3 -3 -3 -2 -3\n"}, {type = FSOP_TEXT, colour = -1, text = "Mummy", ' ' , "+2 -2 -1 0 -2 0 -2 -2 -2 -2 -2 -2 -2\n"}, {type = FSOP_TEXT, colour = -1, text = "Naga", ' ' , "-1 0 0 0 0 0 0 0 0 0 0 0 +3\n"}, {type = FSOP_TEXT, colour = -1, text = "Octopode -1 0 0 0 0 0 0 0 0 0 0 0 +2\n"}, {type = FSOP_TEXT, colour = -1, text = "Ogre", ' ' , "+1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Hill Orc -3 0 0 0 0 0 -2 -3 +1 -1 -2 0 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Palentonga -1 -1 0 0 -2 0 0 0 -2 -2 -2 -1 -2\n"}, {type = FSOP_TEXT, colour = -1, text = "Spriggan +2 -3 +2 0 -2 -1 +4 +3 -2 -2 -1 -1 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Tengu", ' ' , "-1 +3 -3 0 +2 +1 -2 -2 +1 -1 +3 -3 0\n"}, {type = FSOP_TEXT, colour = -1, text = "Troll", ' ' , "-5 -3 -4 0 -3 -2 -3 -3 -3 -3 -4 -1 -3\n"}, {type = FSOP_TEXT, colour = -1, text = "Vampire", ' ' , "-1 -3 +4 0 0 +1 -2 +1 -2 0 0 0 -1\n"}, {type = FSOP_TEXT, colour = -1, text = "Vine Stalker 0 0 0 0 0 0 0 0 0 0 0 0 0\n"}, {type = FSOP_TEXT, colour = -1, text = '-' , "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' , "Spc Coj Hex Cha Sum Nec Trl Trm Fir Ice Air Ear Poi"}}}, [42] = {ops = std::vector of length 3130, capacity 3130 = {{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 Dungeon Crawl is strictly a single player game, you can interact with\n"}, {type = FSOP_TEXT, colour = -1, text = "others over a server. Connecting to a server opens several interesting\n"}, {type = FSOP_TEXT, colour = -1, text = "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 = "A full list of available servers and information on how to connect to them\n"}, {type = FSOP_TEXT, colour = -1, text = "can be found at: http://crawl.develz.org/wordpress/howto\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "The servers carry no guarantees, though they are generally always running.\n"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "There is also a lively IRC channel dedicated to Crawl at ##crawl on\n"}, {type = FSOP_TEXT, colour = -1, text = "irc.freenode.net. You can ask for help and there will always be someone to\n"}, {type = FSOP_TEXT, colour = -1, text = "watch your game and give hints if you happen to play on a server.\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 hit points 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 resistance to hostile enchantments\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 and strengths of the different 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 examine it with 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 hit points. Usually, you regain hit points slowly over time.\n"}, {type = FSOP_TEXT, colour = -1, text = " Pressing '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"}...}}} headers = std::map with 7 elements = {[37] = "Aptitudes", [38] = "Options", [42] = "Manual", [63] = "Key help", [94] = "Quickstart", [116] = "Tiles", [126] = "Macros"} page = 32651 header = "quickstart.md" #9 0x0000000000727d0c in help_popup::process_key (ch=37, this=0x7ffd9ed1dfc0) at command.cc:1205 key = 37 header_text = {ops = std::vector of length 0, capacity 0} help_text = {ops = std::vector of length 0, capacity 0} line_height = 1 scroll = 1634036768 page = key = line_height = scroll = page = header_text = help_text = #10 help_popup::help_popup (key=37, this=0x7ffd9ed1dfc0) at command.cc:1185 No locals. #11 show_help (section=section@entry=37, highlight_string="") at command.cc:1256 help = { = {_vptr.formatted_scroller = 0xdb2218 , highlight = "", contents = {ops = std::vector of length 0, capacity 0}, 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 = 0, m_flags = 2, m_scroll = 0, m_contents_dirty = true, m_scroll_dirty = false, m_scroller = std::shared_ptr (empty) = {get() = 0x0}}, prev_page = 0} key = #12 0x0000000000ab534d in UINewGameMenu::menu_item_activated (this=0x29d9f20, id=) at newgame.cc:1463 viable = false #13 0x0000000000ac0f3d in UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::ActivateEvent const&)#1}::operator()(ui::ActivateEvent const&) const (event=..., __closure=0x7ffd9ed1e160) at newgame.cc:1186 button = this = 0x29d9f20 this = button = #14 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=..., this=0x7ffd9ed1e160) at ui.h:444 cb = {__this = 0x29d9f20} cb = #15 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++/9/bits/std_function.h:285 No locals. #16 0x0000000000c60216 in std::function::operator()(ui::Event const&) const (__args#0=..., this=0x7ffd9ed1e160) at /usr/include/c++/9/bits/std_function.h:263 No locals. #17 ui::Slot::emit(ui::Widget*, ui::Event const&) (args#0=..., target=, this=0x112f0c0 ) at ui.h:250 func = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x29d9f20, _M_const_object = 0x29d9f20, _M_function_pointer = 0x29d9f20, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x29d9f20, this adjustment 43623760}, _M_pod_data = " \237\235\002\000\000\000\000P\245\231\002\000\000\000"}, _M_manager = 0xabf740 (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&, 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} const&, std::_Manager_operation)>}, _M_invoker = 0xac0ee0 (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 = 0x26764f0, second = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x29d9f20, _M_const_object = 0x29d9f20, _M_function_pointer = 0x29d9f20, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x29d9f20}, _M_pod_data = " \237\235\002", '\000' }, _M_manager = 0xabf740 (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&, 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} const&, std::_Manager_operation)>}, _M_invoker = 0xac0ee0 (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 = #18 ui::Widget::on_event (this=, event=...) at ui.cc:210 No locals. #19 0x0000000000c618b4 in ui::UIRoot::deliver_event (this=, event=...) at ui.cc:2981 w = 0x26764f0 #20 0x0000000000ad4a5a in MenuButton::activate (this=) at outer-menu.cc:33 ev = { = {m_type = ui::Event::Activate, m_target = std::shared_ptr (use count 5, weak count 1) = {get() = 0x24f2a50}}, } #21 0x0000000000c61be7 in std::function::operator()(ui::Event const&) const (__args#0=..., this=0x7ffd9ed1e2c0) at /usr/include/c++/9/bits/std_function.h:263 No locals. #22 ui::Slot::emit_if > (this=0x112f0f8 , args#0=..., pred=...) at ui.h:239 func = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24f2a50, _M_const_object = 0x24f2a50, _M_function_pointer = 0x24f2a50, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24f2a50, this adjustment 140727268009120}, _M_pod_data = "P*O\002\000\000\000\000\240\344ў\375\177\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>} it = {first = 0x24f2a50, second = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24f2a50, _M_const_object = 0x24f2a50, _M_function_pointer = 0x24f2a50, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24f2a50, this adjustment 43875040}, _M_pod_data = "P*O\002\000\000\000\000\340z\235\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}} __for_range = std::multimap with 36 elements = {[0x24934a0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24934a0, _M_const_object = 0x24934a0, _M_function_pointer = 0x24934a0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24934a0, this adjustment 8245925382787724659}, _M_pod_data = "\240\064I\002\000\000\000\000superior"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x2498960] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x2498960, _M_const_object = 0x2498960, _M_function_pointer = 0x2498960, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x2498960}, _M_pod_data = "`\211I\002", '\000' }, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x24bb6b0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24bb6b0, _M_const_object = 0x24bb6b0, _M_function_pointer = 0x24bb6b0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24bb6b0, this adjustment 38524112}, _M_pod_data = "\260\266K\002\000\000\000\000\320\324K\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x24bd460] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24bd460, _M_const_object = 0x24bd460, _M_function_pointer = 0x24bd460, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24bd460, this adjustment 160}, _M_pod_data = "`\324K\002\000\000\000\000\240\000\000\000\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x24c6590] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24c6590, _M_const_object = 0x24c6590, _M_function_pointer = 0x24c6590, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24c6590, this adjustment 8029953768318465377}, _M_pod_data = "\220eL\002\000\000\000\000aunch po"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x24cad30] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24cad30, _M_const_object = 0x24cad30, _M_function_pointer = 0x24cad30, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24cad30, this adjustment 38576608}, _M_pod_data = "0\255L\002\000\000\000\000\340\241L\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x24d2910] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24d2910, _M_const_object = 0x24d2910, _M_function_pointer = 0x24d2910, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24d2910, this adjustment 8299980655831445619}, _M_pod_data = "\020)M\002\000\000\000\000sprint/s"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x24e0dc0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24e0dc0, _M_const_object = 0x24e0dc0, _M_function_pointer = 0x24e0dc0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24e0dc0, this adjustment 7881137085903692659}, _M_pod_data = "\300\rN\002\000\000\000\000scroll_m"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x24f2a50] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24f2a50, _M_const_object = 0x24f2a50, _M_function_pointer = 0x24f2a50, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24f2a50, this adjustment 38743008}, _M_pod_data = "P*O\002\000\000\000\000\340+O\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x24f9180] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x24f9180, _M_const_object = 0x24f9180, _M_function_pointer = 0x24f9180, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x24f9180, this adjustment 38769072}, _M_pod_data = "\200\221O\002\000\000\000\000\260\221O\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x2502520] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x2502520, _M_const_object = 0x2502520, _M_function_pointer = 0x2502520, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x2502520, this adjustment 38346784}, _M_pod_data = " %P\002\000\000\000\000 I\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25092f0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25092f0, _M_const_object = 0x25092f0, _M_function_pointer = 0x25092f0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25092f0}, _M_pod_data = "\360\222P\002", '\000' }, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25096a0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25096a0, _M_const_object = 0x25096a0, _M_function_pointer = 0x25096a0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25096a0, this adjustment 38673616}, _M_pod_data = "\240\226P\002\000\000\000\000\320\034N\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x2511f90] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x2511f90, _M_const_object = 0x2511f90, _M_function_pointer = 0x2511f90, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x2511f90, this adjustment 43312912}, _M_pod_data = "\220\037Q\002\000\000\000\000\020\347\224\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x253b930] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x253b930, _M_const_object = 0x253b930, _M_function_pointer = 0x253b930, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x253b930, this adjustment 38777248}, _M_pod_data = "0\271S\002\000\000\000\000\240\261O\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x253caa0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x253caa0, _M_const_object = 0x253caa0, _M_function_pointer = 0x253caa0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x253caa0, this adjustment 40686048}, _M_pod_data = "\240\312S\002\000\000\000\000\340\321l\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x254a110] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x254a110, _M_const_object = 0x254a110, _M_function_pointer = 0x254a110, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x254a110, this adjustment 1}, _M_pod_data = "\020\241T\002\000\000\000\000\001\000\000\000\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25630e0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25630e0, _M_const_object = 0x25630e0, _M_function_pointer = 0x25630e0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25630e0, this adjustment 2318281977532252164}, _M_pod_data = "\340\060V\002\000\000\000\000\004\000\000\000-1, "}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x2575d60] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x2575d60, _M_const_object = 0x2575d60, _M_function_pointer = 0x2575d60, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x2575d60, this adjustment 7526756837608483938}, _M_pod_data = "`]W\002\000\000\000\000ble with"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x259d280] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x259d280, _M_const_object = 0x259d280, _M_function_pointer = 0x259d280, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x259d280, this adjustment 8299980655831445619}, _M_pod_data = "\200\322Y\002\000\000\000\000sprint/s"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25ae4c0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25ae4c0, _M_const_object = 0x25ae4c0, _M_function_pointer = 0x25ae4c0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25ae4c0, this adjustment 3347130425577447532}, _M_pod_data = "\300\344Z\002\000\000\000\000l races."}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25b6180] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25b6180, _M_const_object = 0x25b6180, _M_function_pointer = 0x25b6180, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25b6180}, _M_pod_data = "\200a[\002", '\000' }, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25bd380] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25bd380, _M_const_object = 0x25bd380, _M_function_pointer = 0x25bd380, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25bd380}, _M_pod_data = "\200\323[\002", '\000' }, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25ccdd0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25ccdd0, _M_const_object = 0x25ccdd0, _M_function_pointer = 0x25ccdd0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25ccdd0, this adjustment 95}, _M_pod_data = "\320\315\\\002\000\000\000\000_\000\000\000\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25d1800] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25d1800, _M_const_object = 0x25d1800, _M_function_pointer = 0x25d1800, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25d1800, this adjustment 43649376}, _M_pod_data = "\000\030]\002\000\000\000\000`\t\232\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x25d3dc0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x25d3dc0, _M_const_object = 0x25d3dc0, _M_function_pointer = 0x25d3dc0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x25d3dc0, this adjustment 41101792}, _M_pod_data = "\300=]\002\000\000\000\000\340)s\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x26764f0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x29d9f20, _M_const_object = 0x29d9f20, _M_function_pointer = 0x29d9f20, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x29d9f20, this adjustment 2340012980158082675}, _M_pod_data = " \237\235\002\000\000\000\000s. They "}, _M_manager = 0xabf780 (UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::KeyEvent const&)#2}&&)::{lambda(ui::Event const&)#1}>::_M_manager(std::_Any_data&, ui::Widget::on_hotkey_event(UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::KeyEvent const&)#2}&&)::{lambda(ui::Event const&)#1} const&, std::_Manager_operation)>}, _M_invoker = 0xac07a0 (UINewGameMenu::UINewGameMenu(int, newgame_def&, newgame_def&, newgame_def const&)::{lambda(ui::KeyEvent const&)#2}&&)::{lambda(ui::Event const&)#1}>::_M_invoke(std::_Any_data const&, ui::Event const&)>}, [0x26d5910] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x26d5910, _M_const_object = 0x26d5910, _M_function_pointer = 0x26d5910, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x26d5910, this adjustment 23}, _M_pod_data = "\020Ym\002\000\000\000\000\027\000\000\000\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x26e3b50] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x26e3b50, _M_const_object = 0x26e3b50, _M_function_pointer = 0x26e3b50, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x26e3b50, this adjustment -9223372032559808513}, _M_pod_data = "P;n\002\000\000\000\000\377\377\377\377\000\000\000\200"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x26fea70] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x26fea70, _M_const_object = 0x26fea70, _M_function_pointer = 0x26fea70, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x26fea70, this adjustment 8083799021790061939}, _M_pod_data = "p\352o\002\000\000\000\000serial/p"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x270c300] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x270c300, _M_const_object = 0x270c300, _M_function_pointer = 0x270c300, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x270c300, this adjustment 39610816}, _M_pod_data = "\000\303p\002\000\000\000\000\300i\\\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x270c720] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x270c720, _M_const_object = 0x270c720, _M_function_pointer = 0x270c720, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x270c720, this adjustment 40943520}, _M_pod_data = " \307p\002\000\000\000\000\240\277p\002\000\000\000"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x27122f0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x27122f0, _M_const_object = 0x27122f0, _M_function_pointer = 0x27122f0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x27122f0, this adjustment 4692786134070075424}, _M_pod_data = "\360\"q\002\000\000\000\000 A"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x2952000] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x2952000, _M_const_object = 0x2952000, _M_function_pointer = 0x2952000, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x2952000, this adjustment 2314885530279477252}, _M_pod_data = "\000 \225\002\000\000\000\000\004\000\000\000 "}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x2992a30] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x2992a30, _M_const_object = 0x2992a30, _M_function_pointer = 0x2992a30, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x2992a30, this adjustment 8315167063272419938}, _M_pod_data = "0*\231\002\000\000\000\000branches"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}, [0x29b9850] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x29b9850, _M_const_object = 0x29b9850, _M_function_pointer = 0x29b9850, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x29b9850, this adjustment 36031270920126465}, _M_pod_data = "P\230\233\002\000\000\000\000\001\000\000\000@\002\200"}, _M_manager = 0xad3330 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xad4b60 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}} __for_begin = __for_end = #23 ui::UIRoot::deliver_event (this=0x112f200 , event=...) at ui.cc:2923 hotkey_handled = top = key = 37 #24 0x0000000000c61d77 in ui::UIRoot::on_event (this=0x112f200 , event=...) at ui.cc:2857 key_event = { = {m_type = ui::Event::KeyDown, m_target = std::shared_ptr (use count 4, weak count 1) = {get() = 0x253b930}}, m_key = 37} #25 0x0000000000c61e99 in ui::pump_events (wait_event_timeout=wait_event_timeout@entry=2147483647) at ui.cc:3306 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 = 37, 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 = 37 #26 0x0000000000c62d5a in ui::run_layout (root=std::shared_ptr (use count 3, weak count 1) = {...}, done=@0x29d9fd0: false, initial_focus=std::shared_ptr (empty) = {...}) at ui.cc:3317 No locals. #27 0x0000000000ab8b77 in _prompt_choice (choice_type=, ng=..., ng_choice=..., defaults=...) at newgame.cc:1619 newgame_ui = popup = std::shared_ptr (empty) = {get() = } #28 0x0000000000ab90ea in _choose_species_job (defaults=..., ng_choice=..., ng=...) at newgame.cc:321 No locals. #29 _choose_char (ng=..., choice=..., defaults=...) at newgame.cc:488 ng_reset = {name = "DiscoBob", 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} #30 0x0000000000abd748 in choose_game (ng=..., choice=..., defaults=...) at newgame.cc:997 No locals. #31 0x0000000000bcf58e in startup_step () at startup.cc:1065 choice = {name = "DiscoBob", type = GAME_TYPE_NORMAL, filename = "DiscoBob.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_VINE_STALKER}, allowed_jobs = std::vector of length 1, capacity 1 = {JOB_ICE_ELEMENTALIST}, allowed_weapons = std::vector of length 0, capacity 0, species = SP_VINE_STALKER, job = JOB_ICE_ELEMENTALIST, weapon = WPN_UNKNOWN, fully_random = false} newchar = false ng = {name = "DiscoBob", 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} #32 0x0000000000ce46f8 in _launch_game () at main.cc:413 game_start = ccon = #33 0x0000000000692e7e in _launch_game_loop () at main.cc:385 game_ended = false game_ended = ge = fe = E = #34 main (argc=, argv=0x7ffd9ed1f3e8) at main.cc:337 echo = {prev_state = MB_MAYBE} [Inferior 1 (process 18619) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 9.3.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 -DCLUA_BINDINGS -DDGAMELAUNCH -DWEB_DIR_PATH="/web/" -D_GNU_SOURCE -isystem /usr/include/ncursesw 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 '/var/dcss/builds/dcss-trunk/0.26-a0-854-gdc81c2f/bin/../dat/' found. Loading databases... Loading spells and features... Loading maps... Hello, welcome to Dungeon Crawl Stone Soup 0.26-a0-854-gdc81c2f! (c) Copyright 1997-2002 Linley Henzell, 2002-2020 Crawl DevTeam Options read from "DiscoBob.rc". >>>>>>>>>>>>>>>>>>>>>> Version history: No version history (current version is 0.26-a0-854-gdc81c2f) 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: 0, 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 (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/59 Short Blades | | 0 | 0 | 0 | 0 | 0/0 Long Blades | | 0 | 0 | 0 | 0 | 0/0 Axes | | 0 | 0 | 0 | 0 | 0/50 Maces & Flails | | 0 | 0 | 0 | 0 | 0/0 Polearms | | 0 | 0 | 0 | 0 | 0/0 Staves | | 0 | 0 | 0 | 0 | 0/59 Slings | | 0 | 0 | 0 | 0 | 0/0 Bows | | 0 | 0 | 0 | 0 | 0/0 Crossbows | | 0 | 0 | 0 | 0 | 0/59 Throwing | | 0 | 0 | 0 | 0 | 0/0 Armour | | 0 | 0 | 0 | 0 | 0/0 Dodging | | 0 | 0 | 0 | 0 | 0/70 Stealth | | 0 | 0 | 0 | 0 | 0/0 Shields | | 0 | 0 | 0 | 0 | 0/42 Unarmed Combat | | 0 | 0 | 0 | 0 | 0/0 Spellcasting | | 0 | 0 | 0 | 0 | 0/70 Conjurations | | 0 | 0 | 0 | 0 | 0/0 Hexes | | 0 | 0 | 0 | 0 | 0/0 Summonings | | 0 | 0 | 0 | 0 | 0/0 Necromancy | | 0 | 0 | 0 | 0 | 0/0 Translocations | | 0 | 0 | 0 | 0 | 0/50 Transmutations | | 0 | 0 | 0 | 0 | 0/0 Fire Magic | | 0 | 0 | 0 | 0 | 0/0 Ice Magic | | 0 | 0 | 0 | 0 | 0/42 Air Magic | | 0 | 0 | 0 | 0 | 0/0 Earth Magic | | 0 | 0 | 0 | 0 | 0/0 Poison Magic | | 0 | 0 | 0 | 0 | 0/59 Invocations | | 0 | 0 | 0 | 0 | 0/0 Evocations | | 0 | 0 | 0 | 0 | 0/4 Spell bugs: Durations: Attributes: #59: 1 Mutations: Inventory bugs: Equipment: }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: @ clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>