display_player_basic_info(player_ptr);
display_magic_realms(player_ptr);
if (PlayerClass(player_ptr).equals(PlayerClassType::CHAOS_WARRIOR) || (player_ptr->muta.has(PlayerMutationType::CHAOS_GIFT))) {
- display_player_one_line(ENTRY_PATRON, patron_list[player_ptr->chaos_patron].name.data(), TERM_L_BLUE);
+ display_player_one_line(ENTRY_PATRON, patron_list[player_ptr->chaos_patron].name, TERM_L_BLUE);
}
display_phisique(player_ptr);
* @param val 値を保管した文字列ポインタ
* @param attr 項目表示の色
*/
-void display_player_one_line(int entry, concptr val, TERM_COLOR attr)
+void display_player_one_line(int entry, std::string_view val, TERM_COLOR attr)
{
auto head = disp_player_lines[entry].header;
auto head_len = strlen(head);
auto len = disp_player_lines[entry].len;
term_putstr(col, row, -1, TERM_WHITE, head);
- if (!val) {
- return;
- }
-
if (len <= 0) {
term_putstr(col + head_len, row, -1, attr, val);
return;
}
int val_len = len - head_len;
- char buf[40];
- sprintf(buf, "%*.*s", val_len, val_len, val);
- term_putstr(col + head_len, row, -1, attr, buf);
+ std::string str;
+ if (val_len > static_cast<int>(val.length())) {
+ str.append(val_len - val.length(), ' ');
+ }
+ str.append(val);
+ term_putstr(col + head_len, row, -1, attr, str);
}
int xdig = player_ptr->skill_dig;
auto sd = likert(xthn, 12);
- display_player_one_line(ENTRY_SKILL_FIGHT, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_FIGHT, sd.first, sd.second);
sd = likert(xthb, 12);
- display_player_one_line(ENTRY_SKILL_SHOOT, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_SHOOT, sd.first, sd.second);
sd = likert(xsav, 7);
- display_player_one_line(ENTRY_SKILL_SAVING, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_SAVING, sd.first, sd.second);
sd = likert((xstl > 0) ? xstl : -1, 1);
- display_player_one_line(ENTRY_SKILL_STEALTH, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_STEALTH, sd.first, sd.second);
sd = likert(xfos, 6);
- display_player_one_line(ENTRY_SKILL_PERCEP, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_PERCEP, sd.first, sd.second);
sd = likert(xsrh, 6);
- display_player_one_line(ENTRY_SKILL_SEARCH, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_SEARCH, sd.first, sd.second);
sd = likert(xdis, 8);
- display_player_one_line(ENTRY_SKILL_DISARM, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_DISARM, sd.first, sd.second);
sd = likert(xdev, 6);
- display_player_one_line(ENTRY_SKILL_DEVICE, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_DEVICE, sd.first, sd.second);
sd = likert(xdig, 4);
- display_player_one_line(ENTRY_SKILL_DIG, sd.first.data(), sd.second);
+ display_player_one_line(ENTRY_SKILL_DIG, sd.first, sd.second);
if (!muta_att) {
display_player_one_line(ENTRY_BLOWS, format("%d+%d", blows1, blows2), TERM_L_BLUE);