clickable. '_' toggles between inventory and spell display. Actual tiles are still missing, but everything works as it should.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10648 c06c8d41-db1a-0410-9941-cceddc491573
A5PQLNX3XFGSNBUEEI6DYWZZ3U2HZVEPZA6GTIT4ZEC4SHKJUENAC DDYDJKL5CGSTC3NGTOBCNKHDTG5LX5F4U7VNZN2YAK5ANLT7UO5AC MXGC23X2PXGP6TM2FIGK2HQM74QYGY3HVZSH3BSTXAYUUUQCPASAC C35MTVNINKCQBR7V52L7SLPO7455LDCQ5MBBXJFPQKJBF43JHRPQC 7NPJXMYAWQD47U2DFEOLIAV3VFFRAW4Y5ZBWE7CR3GVRPWQK3HGAC 4WF6HXUDMBJJMBSYMXJ6BHAG77HT4BRXLCJ4SQZ4INL5PPM2HGCQC Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC XIFNWKKXBHUZG52JL2PICXF4C3I5HDGFAEU2CHHVBXNT75WQE5NAC IYKF7624NNMXQET3NQ5RVEB6DXXCZX4GQOPUGWF2DWBOIMUAB2QAC P5XTDFSJX6W4TXSO2SZCKUY6PIOBUAZBZ7GPKE7QMPY4L7QDXWPAC NDE6CROMCVOJRMRMEID7QISFPZKUK2VCV6ISP5OEQRBH7EIXUIEQC OGDVYT4KKXIUOB4NCNWBX64EJWS25B54DF23UP3NMQ6QWHEW2RAAC XKSYV5QUG2PET6BNBZPNI4D7LDBJGWOH335OD3J24AKJWE63J3WQC 2H6MSLB3SR42LG524K2QHJVCZ747RHAKI3VHFVTQ2K7X2LSOIEDQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 76XAPPSY2BXXT7AC45TNI7DL7AP6242DXC45CDIZ6T3RN4ZI3R4AC POP6UTTHSJGDU5NU7ENQJOZVFUHYM63HJ6HLPXDDLK7XFIP4XEIQC 3QMVUDNISBRQJZY76HDNCPB3L6J3Z6QIGFKSUI674QZB6NYZYI5AC FCL7KOWXA5O3GLMDR22JCGMTHMZ57C4WQIJKBIIUQV3LI2CI3X7AC JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC VVT3MLWGHKXHO3TAWGKRHU6DY3F5J3LNPJCEYRRXMLKKHTKS7JGQC UXAXAS5XM2C2X7B77JUZXDD4TL7UATYMUJBPK4J7PPAFLAMCG7MQC 4QE4GYRBDR2URCA7UE7TSRBYYMWM3ZBD4PSZGOVTTHC2GON52V3QC JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC F2ZJ55CL3T66DFM34BQWCJNHIT4XJFCGTWTA5KESV6NHWFLTGUYAC IXWJ54CASZWYHSTDOU3TRQS2DSF4MKBRPO4VZYLE72JL5RD22O2AC HBPUTW5HDHUEPB62DMJ6GGP2D2GLZB53O5VRTWDLQ4Z53NWB3MKQC RX6575DZOHRUXQUZH34YZGPZJF4STUPLBQDIVTINA2L6LVCKRIGQC TFYLN3PQEKFQNOYRVJRCXFJ4J6VSKC7QQFOHNWTDPSVYWAPAJABAC UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC 4NNN5LKBZLDXMDN2322PBG7WFHF4TWOEMVODSO7BXXCM3AZKQN4QC BWH4C6ZVGZV37Y3ILA6Q22IBZKEYY35TJTT2YULSRIYI6SQNLPQQC NS3KXJXQSN33UQSOBDK3WXXKA3KY5YOUJL67NBZKGQAJYDYZ2COQC for (int i = 0; i < 52; ++i){const char letter = index_to_letter(i);const spell_type spell = get_spell_by_letter(letter);if (spell == SPELL_NO_SPELL)continue;InventoryTile desc;// desc.tile = tileidx_spell(item);desc.tile = TILE_ERROR;desc.idx = (int) spell;// If an equipped artefact prevents teleportation, the following spells// cannot be cast.if ((spell == SPELL_BLINK || spell == SPELL_CONTROLLED_BLINK|| spell == SPELL_TELEPORT_SELF)&& scan_artefacts(ARTP_PREVENT_TELEPORTATION, false)){desc.flag |= TILEI_FLAG_MELDED;}else if (spell_mana(spell) > you.magic_points)desc.flag |= TILEI_FLAG_MELDED;inv.push_back(desc);}const int mx = m_region_inv->mx;const int my = m_region_inv->my;
const unsigned int max_spells = std::min(22, mx*my);while (inv.size() < max_spells){InventoryTile desc;// if ((int)inv.size() >= max_pack_items)// desc.flag |= TILEI_FLAG_INVALID;inv.push_back(desc);}m_region_inv->update(inv.size(), &inv[0]);}void TilesFramework::update_inventory(){
static int _handle_spells_mouse(MouseEvent &event, int idx, int item_idx){const spell_type spell = (spell_type) idx;if (event.button == MouseEvent::LEFT){you.last_clicked_item = item_idx;if (!cast_a_spell(true, spell))flush_input_buffer( FLUSH_ON_FAILURE );return CK_MOUSE_CMD;}else if (event.button == MouseEvent::RIGHT){you.last_clicked_item = item_idx;describe_spell(spell);redraw_screen();return CK_MOUSE_CMD;}return 0;}
if (keyin == '?' || keyin == '*'){keyin = list_spells(true, false, minRange);if (!keyin)keyin = ESCAPE;
if (keyin == '?' || keyin == '*'){keyin = list_spells(true, false, minRange);if (!keyin)keyin = ESCAPE;
if (keyin == ESCAPE){canned_msg( MSG_OK );return (false);}
if (!isalpha(keyin)){mpr("You don't know that spell.");crawl_state.zero_turns_taken();return (false);}
if (!isalpha(keyin)){mpr("You don't know that spell.");crawl_state.zero_turns_taken();return (false);
spell = get_spell_by_letter( keyin );
//---------------------------------------------------------------//// describe_spell//// Describes (most) every spell in the game.////---------------------------------------------------------------void describe_spell(spell_type spelled, const item_def* item)
bool _get_spell_description(const spell_type spell, std::string &description,const item_def* item = NULL)
print_description(description);
void get_spell_desc(const spell_type spell, describe_info &inf){std::string desc;_get_spell_description(spell, desc);inf.body << desc;}//---------------------------------------------------------------//// describe_spell//// Describes (most) every spell in the game.////---------------------------------------------------------------void describe_spell(spell_type spelled, const item_def* item){std::string desc;bool can_mem = _get_spell_description(spelled, desc, item);print_description(desc);