| 103 | namespace nethack_qt_ { |
| 104 | |
| 105 | NetHackQtStatusWindow::NetHackQtStatusWindow() : |
| 106 | /* first three rows: hitpoint bar, title (plname the Rank), location */ |
| 107 | hpbar_health(this), |
| 108 | hpbar_injury(this), |
| 109 | name(this,"(name)"), |
| 110 | dlevel(this,"(dlevel)"), |
| 111 | /* next two rows: icon over text label for the six characteristics */ |
| 112 | str(this, "Str"), |
| 113 | dex(this, "Dex"), |
| 114 | con(this, "Con"), |
| 115 | intel(this, "Int"), |
| 116 | wis(this, "Wis"), |
| 117 | cha(this, "Cha"), |
| 118 | /* sixth row, text only: some contain two slash-separated values */ |
| 119 | hp(this,"Hit Points"), |
| 120 | power(this,"Power"), |
| 121 | ac(this,"Armor Class"), |
| 122 | level(this,"Level"), // Xp level, with "/"+Exp points optionally appended |
| 123 | blank1(this, ""), // used for padding to align columns (was once 'exp') |
| 124 | gold(this,"Gold"), // gold used to be this row's first column, now last |
| 125 | /* seventh row: two optionally displayed values (just text, no icons) */ |
| 126 | time(this,"Time"), // if 'time' option On |
| 127 | score(this,"Score"), // if SCORE_ON_BOTL defined and 'showscore' option On |
| 128 | /* last two rows: alignment followed by conditions (icons over text) */ |
| 129 | align(this,"Alignment"), |
| 130 | blank2(this, " "), // used to prevent Conditions row from being empty |
| 131 | hunger(this,""), |
| 132 | encumber(this,""), |
| 133 | stoned(this,"Stone"), // major conditions |
| 134 | slimed(this,"Slime"), |
| 135 | strngld(this,"Strngl"), |
| 136 | sick_fp(this,"FoodPois"), |
| 137 | sick_il(this,"TermIll"), |
| 138 | stunned(this,"Stun"), // minor conditions |
| 139 | confused(this,"Conf"), |
| 140 | hallu(this,"Hallu"), |
| 141 | blind(this,"Blind"), |
| 142 | deaf(this,"Deaf"), |
| 143 | lev(this,"Lev"), // 'other' conditions |
| 144 | fly(this,"Fly"), |
| 145 | ride(this,"Ride"), |
| 146 | vers(this,""), // optional, right justified after 'conditions' |
| 147 | hline1(this), // separators |
| 148 | hline2(this), |
| 149 | hline3(this), |
| 150 | vline1(this), // vertical separator between Characteristics and Alignment |
| 151 | vline2(this), // padding for row 2 to match row 1's separator; not shown |
| 152 | /* miscellaneous; not display fields */ |
| 153 | cursy(0), |
| 154 | first_set(true), |
| 155 | alreadyfullhp(false), |
| 156 | was_polyd(false), |
| 157 | had_exp(false), |
| 158 | had_score(false), |
| 159 | prev_versinfo(0U) |
| 160 | { |
| 161 | if (!qt_compact_mode) { |
| 162 | int w = NetHackQtBind::mainWidget()->width(); |