summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/skills2.h
diff options
context:
space:
mode:
authorRaphael Langella <raphael.langella@gmail.com>2011-06-29 11:05:22 +0000
committerRaphael Langella <raphael.langella@gmail.com>2011-07-04 23:58:53 +0200
commit49f5b3ea6cabf83a2bf369cec84ef5fcfb9152d4 (patch)
treeb585a37fa34e659218f593eae8fa46ef5be0cbdd /crawl-ref/source/skills2.h
parentdbd756eb9cdde538881a8c36049cfe5ce10f5508 (diff)
downloadcrawl-ref-49f5b3ea6cabf83a2bf369cec84ef5fcfb9152d4.tar.gz
crawl-ref-49f5b3ea6cabf83a2bf369cec84ef5fcfb9152d4.zip
Move the skill menu into its own file.
Diffstat (limited to 'crawl-ref/source/skills2.h')
-rw-r--r--crawl-ref/source/skills2.h136
1 files changed, 0 insertions, 136 deletions
diff --git a/crawl-ref/source/skills2.h b/crawl-ref/source/skills2.h
index 1bf624bb40..4dd6ff474d 100644
--- a/crawl-ref/source/skills2.h
+++ b/crawl-ref/source/skills2.h
@@ -9,9 +9,7 @@
const int MAX_SKILL_ORDER = 100;
-#include <queue>
#include "enum.h"
-#include "menu.h"
#include "player.h"
int get_skill_percentage(const skill_type x);
@@ -91,138 +89,4 @@ static const skill_type skill_display_order[] =
static const int ndisplayed_skills = ARRAYSZ(skill_display_order);
-// Skill Menu
-
-enum skill_menu_flags
-{
-//Actions
- SKMF_DO_PRACTISE = 0x0001,
- SKMF_DO_SHOW_DESC = 0x0002,
- SKMF_DO_RESKILL_FROM = 0x0004,
- SKMF_DO_RESKILL_TO = 0x0008,
- SKMF_ACTION_MASK = 0x000F,
-
-//Display
- SKMF_DISP_NORMAL = 0x0010,
- SKMF_DISP_ENHANCED = 0x0020,
- SKMF_DISP_RESKILL = 0x0040,
- SKMF_DISP_NEW_LEVEL = 0x0080,
- SKMF_DISP_POINTS = 0x0100,
- SKMF_DISP_MASK = 0x01F0,
- SKMF_DISP_ALL = 0x0200,
- SKMF_DISP_APTITUDE = 0x0400,
-
-//Ashenzari transfer knowledge ability set this flag.
- SKMF_RESKILLING = 0x0800,
-
- SKMF_SKILL_ICONS = 0x1000,
- SKMF_SIMPLE = 0x2000, // Simple mode for tutorial and hint mode.
-};
-
-class SkillMenu;
-
-class SkillMenuEntry
-{
-public:
- static menu_letter m_letter;
- static SkillMenu* m_skm;
-
- SkillMenuEntry() {};
- SkillMenuEntry(coord_def coord, MenuFreeform* ff);
- void set_skill(skill_type sk = SK_NONE);
- skill_type get_skill() const;
- void set_name(bool keep_hotkey);
- void set_display();
- void refresh(bool keep_hotkey);
- int get_id();
- bool is_set(int flag) const;
- bool is_selectable(bool keep_hotkey = true);
- TextItem* get_name_item() const;
-
-private:
- skill_type m_sk;
-
- TextItem* m_name;
-#ifdef USE_TILE
- TextTileItem* m_name_tile;
-#endif
- NoSelectTextItem* m_level;
- NoSelectTextItem* m_progress;
- FormattedTextItem* m_aptitude;
-
- COLORS _get_colour() const;
- std::string _get_prefix();
- void _set_level();
- void _set_progress();
- void _set_aptitude();
- void _set_reskill_progress();
- void _set_new_level();
- void _set_title();
- void _clear();
-#ifdef DEBUG_DIAGNOSTICS
- void _set_points();
-#endif
-};
-
-static const int SK_ARR_LN = (ndisplayed_skills - 1) / 2;
-static const int SK_ARR_COL = 2;
-
-class SkillMenu : public PrecisionMenu
-{
-public:
- SkillMenu(bool reskilling);
- bool is_set(int flag) const;
- void set_flag(int flag);
- void clear_flag(int flag);
- void toggle_flag(int flag);
- void change_action();
- void change_display(bool init = false);
- void toggle_practise(skill_type sk, int keyn);
- void show_description(skill_type sk);
- void toggle_show_all();
- void clear_selections();
-
-private:
- MenuFreeform* m_ff;
- BoxMenuHighlighter* m_highlighter;
-
- int m_flags;
- int m_current_help;
- coord_def m_min_coord;
- coord_def m_max_coord;
- coord_def m_pos;
-
- bool m_crosstrain;
- bool m_antitrain;
- bool m_enhanced;
- bool m_reduced;
-
- SkillMenuEntry m_skills[SK_ARR_LN][SK_ARR_COL];
-
- NoSelectTextItem* m_title;
- FormattedTextItem* m_help;
- NoSelectTextItem* m_current_action;
- TextItem* m_next_action;
- TextItem* m_next_display;
- TextItem* m_show_all;
-
- std::queue<int> m_disp_queue;
-
- SkillMenuEntry* _find_entry(skill_type sk);
- void _init_flags(bool reskilling);
- void _init_disp_queue();
- void _init_title();
- void _init_footer(coord_def coord);
- void _refresh_display();
- void _refresh_names();
- void _set_title();
- void _set_skills();
- void _set_help(int flag = 0);
- void _set_footer();
- TextItem* _find_closest_selectable(int start_ln, int col);
- void _set_links();
- int _get_next_action() const;
- int _get_next_display() const;
-};
-
#endif