Didn't do anything with exp as there didn't seem to be consensus.
Not implemented:
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4043 c06c8d41-db1a-0410-9941-cceddc491573
Q263OF72GJOH2VQHGCF5IYZ5UHKV5DNX3J3WTCEONPN3WGGNZOUQC
NO2HRD7RZS42S55UG4FQ5EFQDY6WYWKGIXHUKYLWF36HHE3VZ7WAC
56JVX6R2B54KWATOPKE5RIED4M2AW7FPTPUSUU57RXY7OKJVOI2QC
PUZ35HA537R2HZPB7SZ5KLHDOR2DXNQG7CM2UQ7LIHF55GR7LN5QC
SE6T5ILU7BD6ICIOP7BTIQIBNBDEJX3J5OBO7Z2DZA336ETTHYJAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
IHOKNI4O7EEW4UBMKHP6XOZNEIQSW4AYOT4O3JXUIXNNR553IQAQC
ZBPZZ5A7AB2VFZKQ2UJXVDGUK22OCZJCEN2RWTGDGK3VXFCCDKVAC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
EOMCPVNQLX3IMLC46EAO67DPBH5KEG2FQTPBLGU62HIRWA3UQ7XQC
GSPHLNMEIUY5KSOV2LPKQLGJVBPGHXZENIXSJELA6ZBT74F5ZGRQC
ASFH3NFXSJ6AWVLIBJNTIC35HCOSHY42YQG2ELGPEYAULZUIRRRQC
4UQBOVCMAMNCCF6PPX222H6JJO7MPYOKKC2NBKMVYIT5R5FOACNAC
QSJECU2LZOQ5K5QUQDQOPQ4J3GAZEE5ZWIIM4DVBXYLVVX5DYLWQC
IQFLSXLOKMSMM65BL7XOEI5ZP55WKZ7BFBOIA44AMTPNJ7DAQXBQC
PS2BPOBKMUTQPFSQX4MTQ3A7B6MQGLWKTRAGUZED47KCWF5DPCJAC
YIIILIV4ZPRIPWWT4GL7YWSJCUVH6RJJLXV4XIHY6SF3H7Y3EAYAC
6PNVX6Q45HH733TZDXYBA6BYPJKDMND5BA4N2MP6HA3QVNCEPN2QC
3VWSZUGYL36SO5AOZRASGK3VHFCFZUGGCGRT3R7BZB36IZPN7OSQC
TM35IHKZZNBCMR3ERBS4EYHGUK5IVCPUT2JUITMT74AYAIUZSYFQC
LIBWXPN6HLJAIGEFJYLOL4HLIUD236U3WM5QPHIZ3DSB4CCUJERAC
YWYXUCZKGNIAWAUKUESIPFCAL5HZOKOEWHUEUW7X4DMAX2HG2FSAC
FACD4S74A4PYPEYDEIDP56BPE5NJGRK2RWVOKROXLMT7FJUPTYQAC
3YBQGKQ22WFXA5RXDSKLFWMABLJ6KHBVWEIA3WIDHWM25OECNTYAC
X76YXE6RFL7QY5WL6MSSS44WHVA5FQMDQY3XTYP2UL6UZB4E6XMQC
AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC
JM6GKZ6VMX6FNVOZIDXIV22HGX7YESMIFZFE6EEQVCMFJIEA3FNAC
UB73UGG2GEG6AL4T76UILFLTELH4Z5WN54UROLJD6RDR3JG77CXAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
5UVDIVD4NSXA52U4QMQIVST3GSZJ2A2YZK3RUEXKPM43YVQ7LI5AC
TR4NPGNO5QNNRJNVMNSUEO5QLT37HCXXDOBKXCB5XWXRQNAJ5SHAC
void draw_border(void)
{
textcolor( BORDER_COLOR );
clrscr();
redraw_skill( you.your_name, player_title() );
cgotoxy(1, 2, GOTO_STAT);
cprintf( "%s %s",
species_name( you.species, you.experience_level ).c_str(),
(you.wizard ? "*WIZARD*" : "" ) );
textcolor(Options.status_caption_colour);
cgotoxy(1, 3, GOTO_STAT); cprintf("HP:");
cgotoxy(1, 4, GOTO_STAT); cprintf("Magic:");
cgotoxy(1, 5, GOTO_STAT); cprintf("AC:");
cgotoxy(1, 6, GOTO_STAT); cprintf("EV:");
cgotoxy(1, 7, GOTO_STAT); cprintf("Str:");
cgotoxy(1, 8, GOTO_STAT); cprintf("Int:");
cgotoxy(1, 9, GOTO_STAT); cprintf("Dex:");
cgotoxy(1, 10, GOTO_STAT); cprintf("Gold:");
if (Options.show_turns)
{
cgotoxy(1 + 15, 10, GOTO_STAT);
cprintf("Turn:");
}
cgotoxy(1, 11, GOTO_STAT); cprintf("Experience:");
textcolor(LIGHTGREY);
cgotoxy(1, 12, GOTO_STAT); cprintf("Level");
} // end draw_border()
// y: View gets leftover; then mlist; then message
// mlist might be left with less than MLIST_MIN_HEIGHT, but
// that's the breaks.
// y: View gets as much as it wants
// mlist tries to get at least its minimum
// msg expands as much as it wants
// mlist gets any leftovers
{
const int saved_leftover_y = leftover_y();
_increment(viewsz.y, saved_leftover_y, Options.view_max_height);
if ((viewsz.y % 2) != 1) --viewsz.y;
if (mlistsz.y < Options.mlist_min_height)
{
_increment(mlistsz.y, saved_leftover_y, Options.mlist_min_height);
}
}
_increment(msgsz.y, leftover_y(), INT_MAX);
_increment(viewsz.y, leftover_leftcol_y(), Options.view_max_height);
if ((viewsz.y % 2) != 1) --viewsz.y;
if (mlistsz.y < Options.mlist_min_height)
_increment(mlistsz.y, leftover_rightcol_y(), Options.mlist_min_height);
_increment(msgsz.y, leftover_y(), MSG_MAX_HEIGHT);
_increment(mlistsz.y, leftover_rightcol_y(), INT_MAX);
draw_hp_bar(you.hp, you.hp_max);
#else
clear_to_end_of_line();
#endif
draw_hp_bar(19, y, you.hp, you.hp_max);
static void _print_stats_wp()
static void _print_stats_ev(int x, int y)
{
cgotoxy(x+4, y, GOTO_STAT);
if (you.duration[DUR_FORESCRY])
textcolor(LIGHTBLUE); // no end of effect warning
cprintf( "%2d ", player_evasion() );
textcolor(LIGHTGREY);
}
static void _print_stats_wp(int y)
if (you.redraw_hit_points) { you.redraw_hit_points = false; _print_stats_hp(); }
if (you.redraw_magic_points) { you.redraw_magic_points = false; _print_stats_mp(); }
if (you.redraw_strength) { you.redraw_strength = false; _print_stats_str(); }
if (you.redraw_intelligence) { you.redraw_intelligence = false; _print_stats_int(); }
if (you.redraw_dexterity) { you.redraw_dexterity = false; _print_stats_dex(); }
if (you.redraw_armour_class) { you.redraw_armour_class = false; _print_stats_ac(); }
if (you.redraw_hit_points) { you.redraw_hit_points = false; _print_stats_hp ( 1, 3); }
if (you.redraw_magic_points) { you.redraw_magic_points = false; _print_stats_mp ( 1, 4); }
if (you.redraw_strength) { you.redraw_strength = false; _print_stats_str( 1, 5); }
if (you.redraw_intelligence) { you.redraw_intelligence = false; _print_stats_int( 1, 6); }
if (you.redraw_dexterity) { you.redraw_dexterity = false; _print_stats_dex( 1, 7); }
if (you.redraw_evasion)
{
cgotoxy(5, 6, GOTO_STAT);
if (you.duration[DUR_FORESCRY])
textcolor(LIGHTBLUE); // no end of effect warning
cprintf( "%d ", player_evasion() );
textcolor(LIGHTGREY);
you.redraw_evasion = 0;
}
if (you.redraw_armour_class) { you.redraw_armour_class = false; _print_stats_ac (19, 5); }
// (you.redraw_armour_class) { you.redraw_armour_class = false; _print_stats_sh (19, 6); }
if (you.redraw_evasion) { you.redraw_evasion = false; _print_stats_ev (19, 7); }
if (you.wield_change) { you.wield_change = false; _print_stats_wp(); }
if (you.quiver_change) { you.quiver_change = false; _print_stats_qv(); }
if (you.wield_change) { you.wield_change = false; _print_stats_wp(11); }
if (you.quiver_change) { you.quiver_change = false; _print_stats_qv(12); }
// For some odd reason, only redrawn on level change.
void print_stats_level(const std::string& description)
{
cgotoxy(7, 10, GOTO_STAT);
textcolor(LIGHTGREY);
#if DEBUG_DIAGNOSTICS
cprintf( "(%d) ", you.your_level + 1 );
#endif
cprintf("%s", description.c_str());
clear_to_end_of_line();
}
void draw_border(void)
{
textcolor( BORDER_COLOR );
clrscr();
redraw_skill( you.your_name, player_title() );
cgotoxy(1, 2, GOTO_STAT);
cprintf( "%s %s",
species_name( you.species, you.experience_level ).c_str(),
(you.wizard ? "*WIZARD*" : "" ) );
textcolor(Options.status_caption_colour);
cgotoxy( 1, 3, GOTO_STAT); cprintf("HP:");
cgotoxy( 1, 4, GOTO_STAT); cprintf("Magic:");
cgotoxy( 1, 5, GOTO_STAT); cprintf("Str:");
cgotoxy( 1, 6, GOTO_STAT); cprintf("Int:");
cgotoxy( 1, 7, GOTO_STAT); cprintf("Dex:");
cgotoxy( 1, 8, GOTO_STAT); cprintf("Gold:");
cgotoxy( 1, 9, GOTO_STAT); cprintf("Experience:");
cgotoxy(19, 5, GOTO_STAT); cprintf("AC:");
cgotoxy(19, 6, GOTO_STAT); cprintf("Sh:");
cgotoxy(19, 7, GOTO_STAT); cprintf("Ev:");
if (Options.show_turns)
{
cgotoxy(19, 8, GOTO_STAT); cprintf("Turn:");
}
textcolor(LIGHTGREY);
cgotoxy( 1,10, GOTO_STAT); cprintf("Level");
} // end draw_border()
textcolor(LIGHTGREY);
cgotoxy(7, 12, GOTO_STAT);
#if DEBUG_DIAGNOSTICS
cprintf( "(%d) ", you.your_level + 1 );
#endif