From 5271c4676c2489766eb54db0fc53a7b471bed8ad Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 20 Jun 2016 22:49:05 +0200 Subject: Remove debug-only 'show all stats' code --- lib/help/debug.txt | 6 +- lib/mods/theme/help/debug.txt | 6 +- src/CMakeLists.txt | 1 - src/status.cc | 771 ------------------------------------------ src/status.hpp | 3 - src/wizard2.cc | 5 - 6 files changed, 2 insertions(+), 790 deletions(-) delete mode 100644 src/status.cc delete mode 100644 src/status.hpp diff --git a/lib/help/debug.txt b/lib/help/debug.txt index 65e7ff91..b3e9c223 100644 --- a/lib/help/debug.txt +++ b/lib/help/debug.txt @@ -12,7 +12,7 @@ will not be scored if you use debug commands. ~~~~~100|Debug|Command List #####R=== Command List Summary === - *****debug.txt*1[a Autorestore] *****debug.txt*2[A Show all stats] + *****debug.txt*1[a Autorestore] *****debug.txt*3[b Teleport to target] *****debug.txt*4[B HP to zero] *****debug.txt*5[c Create object] *****debug.txt*6[C Create artifact] *****debug.txt*7[d Detect all] *****debug.txt*8[D Teleport to the wilderness] @@ -85,10 +85,6 @@ maximal legal value. ~~~~~1 [[[[[GAutorestore (a)] Restores all your stats. This includes HP, SP, hunger, lost levels, etc. -~~~~~2 -[[[[[GShow all stats (A)] - This brings up the Character status menu, where you can view - all the stats about your character. ~~~~~3 [[[[[GTeleport to target (b)] You first need to have a monster targeted, then you can use diff --git a/lib/mods/theme/help/debug.txt b/lib/mods/theme/help/debug.txt index 1fa0efd5..1d97bf2d 100644 --- a/lib/mods/theme/help/debug.txt +++ b/lib/mods/theme/help/debug.txt @@ -12,7 +12,7 @@ will not be scored if you use debug commands. ~~~~~100|Debug|Command List #####R=== Command List Summary === - *****debug.txt*1[a Autorestore] *****debug.txt*2[A Show all stats] + *****debug.txt*1[a Autorestore] *****debug.txt*3[b Teleport to target] *****debug.txt*4[B HP to zero] *****debug.txt*5[c Create object] *****debug.txt*6[C Create artifact] *****debug.txt*7[d Detect all] *****debug.txt*8[D Teleport to the wilderness] @@ -85,10 +85,6 @@ maximal legal value. ~~~~~1 [[[[[GAutorestore (a)] Restores all your stats. This includes HP, SP, hunger, lost levels, etc. -~~~~~2 -[[[[[GShow all stats (A)] - This brings up the Character status menu, where you can view - all the stats about your character. ~~~~~3 [[[[[GTeleport to target (b)] You first need to have a monster targeted, then you can use diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5a4b326f..6ce7dffa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -97,7 +97,6 @@ SET(SRCS_COMMON spells5.cc spells6.cc squeltch.cc - status.cc store.cc tables.cc traps.cc diff --git a/src/status.cc b/src/status.cc deleted file mode 100644 index c175fd7d..00000000 --- a/src/status.cc +++ /dev/null @@ -1,771 +0,0 @@ -/* File status.c */ - -/* Purpose: Status information */ - -/* Written by Pat Gunn for ToME - * This file is released into the public domain - */ - -/* Throughout this file, I make use of 2-d arrays called flag_arr. - * I fill them out with esp as the 0th element because then the second - * index is equal to the f-number that they are in the attributes, and - * that makes it more intuitive to use. I do need to fill them out in an - * odd order, but that's all abstracted nicely away. The 6th element is used - * to mark if the rest of the array is filled, that is, if there's an object - * there. - */ - -#include "files.hpp" -#include "monster2.hpp" -#include "monster_type.hpp" -#include "object1.hpp" -#include "player_type.hpp" -#include "stats.hpp" -#include "util.hpp" -#include "util.h" -#include "variable.h" -#include "variable.hpp" -#include "xtra1.hpp" - -#include -#include -#include - -static void row_trival(const char*, s16b, u32b, s16b, u32b, int, u32b[INVEN_TOTAL - INVEN_WIELD + 2][7]); -static void row_bival(const char*, s16b, u32b, int, u32b[INVEN_TOTAL - INVEN_WIELD + 2][7]); -static void row_npval(const char*, s16b, u32b, int, u32b[INVEN_TOTAL - INVEN_WIELD + 2][7]); -static void statline(const char*, int, u32b, int, u32b[INVEN_TOTAL - INVEN_WIELD + 2][7]); -static void row_hd_bon(int, int, u32b[INVEN_TOTAL - INVEN_WIELD + 2][7]); -static void row_count(const char*, s16b, u32b, int, s16b, u32b, int, s16b, u32b, int, s16b, u32b, int, int, u32b[INVEN_TOTAL - INVEN_WIELD + 2][7]); -static int row_x_start = 0; - -static void status_count(s32b val1, int v1, s32b val2, int v2, s32b val3, int v3, s32b val4, int v4, byte ypos, byte xpos); -static void status_trival(s32b, s32b, byte, byte); -static void status_bival(s32b, byte, byte); -static void status_numeric(s32b, byte, byte); -static void status_curses(void); -static void status_companion(void); -static void status_sight(void); -static void status_attr(void); -static void status_combat(void); -static void status_move(void); -static void status_item(void); -static void az_line(int, u32b[INVEN_TOTAL - INVEN_WIELD + 2][7]); - -#define STATNM_LENGTH 11 -#define SL_LENGTH 11 - -#define INVEN_PLAYER (INVEN_TOTAL - INVEN_WIELD + 1) - -static void status_attr(void) -{ - u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]; - int yo = 0; - char c; - - clear_from(0); - c_put_str(TERM_L_BLUE, "Statistics", yo++, 1); - yo += 2; - az_line(SL_LENGTH, flag_arr); - statline("Str", A_STR, TR1_STR, yo++, flag_arr); - statline("Int", A_INT, TR1_INT, yo++, flag_arr); - statline("Wis", A_INT, TR1_WIS, yo++, flag_arr); - statline("Con", A_CON, TR1_CON, yo++, flag_arr); - statline("Dex", A_DEX, TR1_DEX, yo++, flag_arr); - statline("Chr", A_CHR, TR1_CHR, yo++, flag_arr); - row_npval("Luck", 5, TR5_LUCK, yo++, flag_arr); - yo++; - row_npval("Life", 2, TR2_LIFE, yo++, flag_arr); - row_npval("Mana", 1, TR1_MANA, yo++, flag_arr); - - - c_put_str(TERM_WHITE, "Press ESC to continue", 23, 0); - Term_fresh(); - while (1) - { - c = inkey(); - if (c == ESCAPE) break; - } -} - -void status_move(void) -{ - u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]; - int yo = 3; - clear_from(0); - c_put_str(TERM_L_BLUE, "Movement", 0, 1); - az_line(STATNM_LENGTH, flag_arr); - - row_trival("Fly/Lev", 4, TR4_FLY, 3, TR3_FEATHER, yo++, flag_arr); - row_bival("Climb", 4, TR4_CLIMB, yo++, flag_arr); - row_npval("Dig", 1, TR1_TUNNEL, yo++, flag_arr); - row_npval("Speed", 1, TR1_SPEED, yo++, flag_arr); - row_bival("Wraith", 3, TR3_WRAITH, yo++, flag_arr); - yo++; - row_npval("Stealth", 1, TR1_STEALTH, yo++, flag_arr); - row_bival("Telep", 3, TR3_TELEPORT, yo++, flag_arr); - - c_put_str(TERM_WHITE, "Press ESC to continue", 23, 0); - Term_fresh(); - while (1) - { - bool_ loop_exit = FALSE; - char c; - c = inkey(); - switch (c) - { - case ESCAPE: - { - loop_exit = TRUE; - } - } - if (loop_exit) - { - break; - } - } -} - -static void status_sight(void) -/* Tell player about ESP, infravision, auto-id, see invis, and similar */ -{ - u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]; - int yo = 3; - clear_from(0); - c_put_str(TERM_L_BLUE, "Sight", 0, 1); - az_line(STATNM_LENGTH, flag_arr); - - row_bival("SeeInvis", 3, TR3_SEE_INVIS, yo++, flag_arr); - row_npval("Invis", 2, TR2_INVIS, yo++, flag_arr); - row_npval("Infra", 1, TR1_INFRA, yo++, flag_arr); - row_npval("Search", 1, TR1_SEARCH, yo++, flag_arr); - row_bival("AutoID", 4, TR4_AUTO_ID, yo++, flag_arr); - row_count("Light", 3, TR3_LITE1, 1, 4, TR4_LITE2, 2, 4, TR4_LITE3, 3, 0, 0, 0, yo++, flag_arr); - row_bival("Full ESP", 0, ESP_ALL, yo++, flag_arr); - row_bival("Orc ESP", 0, ESP_ORC, yo++, flag_arr); - row_bival("Trol ESP", 0, ESP_TROLL, yo++, flag_arr); - row_bival("Drag ESP", 0, ESP_DRAGON, yo++, flag_arr); - row_bival("GiantESP", 0, ESP_GIANT, yo++, flag_arr); - row_bival("DemonESP", 0, ESP_DEMON, yo++, flag_arr); - row_bival("Undd ESP", 0, ESP_UNDEAD, yo++, flag_arr); - row_bival("Evil ESP", 0, ESP_EVIL, yo++, flag_arr); - row_bival("Anim ESP", 0, ESP_ANIMAL, yo++, flag_arr); - row_bival("Drid ESP", 0, ESP_THUNDERLORD, yo++, flag_arr); - row_bival("Good ESP", 0, ESP_GOOD, yo++, flag_arr); - row_bival("SpidrESP", 0, ESP_SPIDER, yo++, flag_arr); - row_bival("NonlvESP", 0, ESP_NONLIVING, yo++, flag_arr); - row_bival("Uniq ESP", 0, ESP_UNIQUE, yo++, flag_arr); - - c_put_str(TERM_WHITE, "Press ESC to continue", 23, 0); - Term_fresh(); - while (1) - { - bool_ loop_exit = FALSE; - char c; - c = inkey(); - switch (c) - { - case ESCAPE: - { - loop_exit = TRUE; - } - } - if (loop_exit) - { - break; - } - } -} - -static void status_item(void) -{ - u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]; - int yo = 3; - clear_from(0); - c_put_str(TERM_L_BLUE, "Misc", 0, 1); - - row_x_start = 40; - az_line(STATNM_LENGTH + row_x_start, flag_arr); - row_bival("Blessed", 3, TR3_BLESSED, yo++, flag_arr); - row_bival("Activate", 3, TR3_ACTIVATE, yo++, flag_arr); - row_bival("EasyKnow", 3, TR3_EASY_KNOW, yo++, flag_arr); - row_bival("HideType", 3, TR3_HIDE_TYPE, yo++, flag_arr); - yo++; - row_bival("SafeAcid", 3, TR3_IGNORE_ACID, yo++, flag_arr); - row_bival("SafeElec", 3, TR3_IGNORE_ELEC, yo++, flag_arr); - row_bival("SafeFire", 3, TR3_IGNORE_FIRE, yo++, flag_arr); - row_bival("SafeCold", 3, TR3_IGNORE_COLD, yo++, flag_arr); - row_bival("ResMorgul", 5, TR5_RES_MORGUL, yo++, flag_arr); - - yo = 3; - row_x_start = 0; - az_line(STATNM_LENGTH, flag_arr); - row_bival("Sh.fire", 3, TR3_SH_FIRE, yo++, flag_arr); - row_bival("Sh.elec", 3, TR3_SH_ELEC, yo++, flag_arr); - row_bival("Regen", 3, TR3_REGEN, yo++, flag_arr); - row_bival("SlowDigest", 3, TR3_SLOW_DIGEST, yo++, flag_arr); - row_bival("Precog", 4, TR4_PRECOGNITION, yo++, flag_arr); - row_bival("Auto.Id", 4, TR4_AUTO_ID, yo++, flag_arr); - row_bival("Spell.In", 5, TR5_SPELL_CONTAIN, yo++, flag_arr); - - c_put_str(TERM_WHITE, "Press ESC to continue", 23, 0); - Term_fresh(); - while (1) - { - bool_ loop_exit = FALSE; - char c; - c = inkey(); - switch (c) - { - case ESCAPE: - loop_exit = TRUE; - } - if (loop_exit) - { - break; - } - } -} - -static void status_combat(void) -{ - u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]; - int yo = 3; - clear_from(0); - c_put_str(TERM_L_BLUE, "Combat", 0, 1); - az_line(STATNM_LENGTH, flag_arr); - - row_npval("Spell", 1, TR1_SPELL, yo++, flag_arr); - row_npval("Blows", 1, TR1_BLOWS, yo++, flag_arr); - row_npval("Crits", 5, TR5_CRIT, yo++, flag_arr); - row_npval("Ammo_Mgt", 3, TR3_XTRA_MIGHT, yo++, flag_arr); - row_npval("Ammo_Sht", 3, TR3_XTRA_SHOTS, yo++, flag_arr); - row_bival("Vorpal", 1, TR1_VORPAL, yo++, flag_arr); - row_bival("Quake", 1, TR1_IMPACT, yo++, flag_arr); - row_bival("Chaotic", 1, TR1_CHAOTIC, yo++, flag_arr); - row_bival("Vampiric", 1, TR1_VAMPIRIC, yo++, flag_arr); - row_bival("Poison", 1, TR1_BRAND_POIS, yo++, flag_arr); - row_bival("Acidic", 1, TR1_BRAND_ACID, yo++, flag_arr); - row_bival("Shocks", 1, TR1_BRAND_ELEC, yo++, flag_arr); - row_bival("Burns", 1, TR1_BRAND_FIRE, yo++, flag_arr); - row_bival("Chills", 1, TR1_BRAND_COLD, yo++, flag_arr); - row_bival("Wound", 5, TR5_WOUNDING, yo++, flag_arr); - - row_x_start = 40; - yo = 3; - az_line(row_x_start + STATNM_LENGTH, flag_arr); - row_bival("No.Blow", 4, TR4_NEVER_BLOW, yo++, flag_arr); - row_trival("S/K Undd", 1, TR1_SLAY_UNDEAD, 5, TR5_KILL_UNDEAD, yo++, flag_arr); - row_trival("S/K Dmn", 1, TR1_SLAY_DEMON, 5, TR5_KILL_DEMON, yo++, flag_arr); - row_trival("S/K Drag", 1, TR1_SLAY_DRAGON, 1, TR1_KILL_DRAGON, yo++, flag_arr); - row_bival("Sl.Orc", 1, TR1_SLAY_ORC, yo++, flag_arr); - row_bival("Sl.Troll", 1, TR1_SLAY_TROLL, yo++, flag_arr); - row_bival("Sl.Giant", 1, TR1_SLAY_GIANT, yo++, flag_arr); - row_bival("Sl.Evil", 1, TR1_SLAY_EVIL, yo++, flag_arr); - row_bival("Sl.Animal", 1, TR1_SLAY_ANIMAL, yo++, flag_arr); - row_hd_bon(0, yo++, flag_arr); - row_hd_bon(1, yo++, flag_arr); - row_x_start = 0; - - c_put_str(TERM_WHITE, "Press ESC to continue", 23, 0); - Term_fresh(); - while (1) - { - bool_ loop_exit = FALSE; - char c; - c = inkey(); - switch (c) - { - case ESCAPE: - loop_exit = TRUE; - } - if (loop_exit) - { - break; - } - } -} - -static void status_curses(void) -{ - u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]; - int yo = 3; - - clear_from(0); - c_put_str(TERM_L_BLUE, "Curses", 0, 1); - az_line(STATNM_LENGTH, flag_arr); - - row_trival("Hvy/Nrm", 3, TR3_HEAVY_CURSE, 3, TR3_CURSED, yo++, flag_arr); - row_bival("Perma", 3, TR3_PERMA_CURSE, yo++, flag_arr); - row_trival("DG/Ty", 4, TR4_DG_CURSE, 3, TR3_TY_CURSE, yo++, flag_arr); - row_trival("Prm/Auto", 3, TR3_PERMA_CURSE, 3, TR3_AUTO_CURSE, yo++, flag_arr); - row_bival("NoDrop", 4, TR4_CURSE_NO_DROP, yo++, flag_arr); - yo++; - row_bival("B.Breath", 4, TR4_BLACK_BREATH, yo++, flag_arr); - row_bival("Dr.Exp", 3, TR3_DRAIN_EXP, yo++, flag_arr); - row_bival("Dr.Mana", 5, TR5_DRAIN_MANA, yo++, flag_arr); - row_bival("Dr.HP", 5, TR5_DRAIN_HP, yo++, flag_arr); - row_bival("No Hit", 4, TR4_NEVER_BLOW, yo++, flag_arr); - row_bival("NoTelep", 3, TR3_NO_TELE, yo++, flag_arr); - row_bival("NoMagic", 3, TR3_NO_MAGIC, yo++, flag_arr); - row_bival("Aggrav", 3, TR3_AGGRAVATE, yo++, flag_arr); - row_bival("Clone", 4, TR4_CLONE, yo++, flag_arr); - row_bival("Temp", 5, TR5_TEMPORARY, yo++, flag_arr); - yo++; - row_bival("Antimagic", 4, TR4_ANTIMAGIC_50, yo++, flag_arr); - - c_put_str(TERM_WHITE, "Press ESC to continue", 23, 0); - Term_fresh(); - while (1) - { - bool_ loop_exit = FALSE; - char c; - - c = inkey(); - switch (c) - { - case ESCAPE: - { - loop_exit = TRUE; - } - } - if (loop_exit == TRUE) - { - break; - } - } -} - -static void status_res(void) -{ - u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]; - int yo = 3; - - clear_from(0); - c_put_str(TERM_L_BLUE, "Resistances", 0, 1); - az_line(STATNM_LENGTH, flag_arr); - - row_trival("Fire", 2, TR2_IM_FIRE, 2, TR2_RES_FIRE, yo++, flag_arr); - row_trival("Cold", 2, TR2_IM_COLD, 2, TR2_RES_COLD, yo++, flag_arr); - row_trival("Acid", 2, TR2_IM_ACID, 2, TR2_RES_ACID, yo++, flag_arr); - row_trival("Lightning", 2, TR2_IM_ELEC, 2, TR2_RES_ELEC, yo++, flag_arr); - row_bival("Poison", 2, TR2_RES_POIS, yo++, flag_arr); - row_bival("Lite", 2, TR2_RES_LITE, yo++, flag_arr); - row_bival("Dark", 2, TR2_RES_DARK, yo++, flag_arr); - row_bival("Sound", 2, TR2_RES_SOUND, yo++, flag_arr); - row_bival("Shards", 2, TR2_RES_SHARDS, yo++, flag_arr); - row_trival("Nether", 4, TR4_IM_NETHER, 2, TR2_RES_NETHER, yo++, flag_arr); - row_bival("Nexus", 2, TR2_RES_NEXUS, yo++, flag_arr); - row_bival("Chaos", 2, TR2_RES_CHAOS, yo++, flag_arr); - row_bival("Disen.", 2, TR2_RES_DISEN, yo++, flag_arr); - row_bival("Confusion", 2, TR2_RES_CONF, yo++, flag_arr); - row_bival("Blindness", 2, TR2_RES_BLIND, yo++, flag_arr); - row_bival("Fear", 2, TR2_RES_FEAR, yo++, flag_arr); - row_bival("Free Act", 2, TR2_FREE_ACT, yo++, flag_arr); - row_bival("Reflect", 2, TR2_REFLECT, yo++, flag_arr); - row_bival("Hold Life", 2, TR2_HOLD_LIFE, yo++, flag_arr); - - c_put_str(TERM_WHITE, "Press ESC to continue", 23, 0); - Term_fresh(); - while (1) - { - bool_ loop_exit = FALSE; - char c; - - c = inkey(); - switch (c) - { - case ESCAPE: - { - loop_exit = TRUE; - } - } - if (loop_exit == TRUE) - { - break; - } - } -} - -void status_main() -{ - int do_quit = 0; - char c; - - character_icky = TRUE; - Term_save(); - while (1) - { - clear_from(0); - c_put_str(TERM_WHITE, format("%s Character Status screen", game_module), 0, 10); - c_put_str(TERM_WHITE, "1) Statistics", 2, 5); - c_put_str(TERM_WHITE, "2) Movement", 3, 5); - c_put_str(TERM_WHITE, "3) Combat", 4, 5); - c_put_str(TERM_WHITE, "4) Resistances", 5, 5); - c_put_str(TERM_WHITE, "5) Misc", 6, 5); - c_put_str(TERM_WHITE, "6) Curses", 7, 5); - c_put_str(TERM_WHITE, "7) Sight", 8, 5); - c_put_str(TERM_WHITE, "8) Companions", 9, 5); - c_put_str(TERM_RED, "Press 'q' to Quit", 23, 5); - c = inkey(); - switch (c) - { - case '1': - status_attr(); - break; - case '2': - status_move(); - break; - case '3': - status_combat(); - break; - case '4': - status_res(); - break; - case '5': - status_item(); - break; - case '6': - status_curses(); - break; - case '7': - status_sight(); - break; - case '8': - status_companion(); - break; - case 'q': - case ESCAPE: - do_quit = 1; /* Schedule leaving the outer loop */ - break; - } - Term_fresh(); - if (do_quit) break; - } - Term_load(); - character_icky = FALSE; - p_ptr->redraw |= (PR_WIPE | PR_FRAME | PR_MAP); - handle_stuff(); -} - -static void az_line(int xo, u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]) -{ - int index = xo; /* Leave room for description */ - int i; - for (i = INVEN_WIELD; i < INVEN_TOTAL; i++) - { - if (p_ptr->inventory[i].k_idx) /* Wearing anything here? */ - { - char cstrng[2]; - cstrng[0] = (i - INVEN_WIELD) + 'a'; /* Assumes ASCII */ - cstrng[1] = '\0'; /* terminate it */ - c_put_str(TERM_WHITE, cstrng, 2, index++); /* Assumes ASCII */ - - /* DGDGDGDG */ - /* object_flags_known(&inventory[i],*/ - object_flags(&p_ptr->inventory[i], /* Help me debug */ - &flag_arr[i - INVEN_WIELD][1], /* f1 */ - &flag_arr[i - INVEN_WIELD][2], /* f2 */ - &flag_arr[i - INVEN_WIELD][3], /* f3 */ - &flag_arr[i - INVEN_WIELD][4], /* f4 */ - &flag_arr[i - INVEN_WIELD][5], /* f5 */ - &flag_arr[i - INVEN_WIELD][0]); /* esp */ - flag_arr[i - INVEN_WIELD][6] = 1; /* And mark it to display */ - } - else flag_arr[i - INVEN_WIELD][6] = 0; /* Otherwise don't display it */ - } - c_put_str(TERM_WHITE, "@", 2, index++); - player_flags( - &flag_arr[INVEN_PLAYER][1], /* f1 */ - &flag_arr[INVEN_PLAYER][2], /* f2 */ - &flag_arr[INVEN_PLAYER][3], /* f3 */ - &flag_arr[INVEN_PLAYER][4], /* f4 */ - &flag_arr[INVEN_PLAYER][5], /* f5 */ - &flag_arr[INVEN_PLAYER][0] /* esp */ - ); - flag_arr[INVEN_PLAYER][6] = 1; -} - -static void status_trival(s32b val1, s32b val2, byte ypos, byte xpos) -{ - if (val1 != 0) - c_put_str(TERM_L_BLUE, "*", ypos, xpos); - else if (val2 != 0) - c_put_str(TERM_L_BLUE, "+", ypos, xpos); - else - c_put_str(TERM_WHITE, ".", ypos, xpos); -} - -static void status_bival(s32b val, byte ypos, byte xpos) -{ - if (val != 0) - c_put_str(TERM_L_BLUE, "+", ypos, xpos); - else - c_put_str(TERM_WHITE, ".", ypos, xpos); -} - -static void status_numeric(s32b val, byte ypos, byte xpos) -{ - u32b magnitude = ABS(val); - int color = TERM_WHITE; /* default */ - char strnum[2]; - - if (val<0) { - color = TERM_RED; - }; - if (val>0) { - color = TERM_GREEN; - }; - - if (magnitude == 0) { - sprintf(strnum, "."); - } if (magnitude > 9) { - sprintf(strnum, "*"); - } else { - sprintf(strnum, "%lu", (unsigned long int) magnitude); - } - - c_put_str(color, strnum, ypos, xpos); -} - -static void status_count(s32b val1, int v1, s32b val2, int v2, s32b val3, int v3, s32b val4, int v4, byte ypos, byte xpos) -{ - int v = 0; - - if (val1 != 0) v += v1; - if (val2 != 0) v += v2; - if (val3 != 0) v += v3; - if (val4 != 0) v += v4; - - status_numeric(v, ypos, xpos); -} - -static void row_count(const char* statname, s16b row1, u32b flag1, int v1, s16b row2, u32b flag2, int v2, s16b row3, u32b flag3, int v3, s16b row4, u32b flag4, int v4, int yo, u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]) -{ - int i; - int x = row_x_start; - - c_put_str(TERM_L_GREEN, statname, yo, row_x_start); - - for (i = 0; i < (INVEN_TOTAL - INVEN_WIELD + 2); i++) - { - if (flag_arr[i][6] == 1) - { - status_count((flag_arr[i][row1] & flag1), v1, (flag_arr[i][row2] & flag2), v2, (flag_arr[i][row3] & flag3), v3, (flag_arr[i][row4] & flag4), v4, yo, x + STATNM_LENGTH); - x++; - } - } -} - -static void row_trival(const char* statname, s16b row, u32b flag, s16b row2, u32b flag2, int yo, u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]) -{ - int i; - int x = row_x_start; - c_put_str(TERM_L_GREEN, statname, yo, row_x_start); - for (i = 0; i < (INVEN_TOTAL - INVEN_WIELD + 2); i++) - { - if (flag_arr[i][6] == 1) - { - status_trival( - (flag_arr[i][row] & flag), - (flag_arr[i][row2] & flag2), - yo, x + STATNM_LENGTH); - x++; - } - } -} - -static void row_bival(const char* statname, s16b row, u32b flag, int yo, u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]) -{ - int i; - int x = row_x_start; - c_put_str(TERM_L_GREEN, statname, yo, row_x_start); - for (i = 0; i < (INVEN_TOTAL - INVEN_WIELD + 2); i++) - { - if (flag_arr[i][6] == 1) - { - status_bival((flag_arr[i][row] & flag), yo, x + STATNM_LENGTH); - x++; - } - } -} - -static void row_npval(const char* statname, s16b row, u32b flag, int yo, u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]) -/* Displays nicely a pval-based status row */ -{ - int i; - int x = row_x_start; - c_put_str(TERM_L_GREEN, statname, yo, row_x_start); - for (i = 0; i < (INVEN_TOTAL - INVEN_WIELD + 2); i++) - { - if (flag_arr[i][6] == 1) - { - if (i == INVEN_PLAYER) - /* Special case, player_flags */ - /* Players lack a pval, no way to calc value */ - { - if (flag_arr[i][row] & flag) - c_put_str(TERM_YELLOW, "*", yo, x + STATNM_LENGTH); - else c_put_str(TERM_WHITE, ".", yo, x + STATNM_LENGTH); - x++; - continue; - } - if (flag_arr[i][row] & flag) - status_numeric(p_ptr->inventory[i + INVEN_WIELD].pval, yo, x + STATNM_LENGTH); - else - c_put_str(TERM_WHITE, ".", yo, x + STATNM_LENGTH); - x++; - } - } -} - -static void statline(const char* statname, int statidx, u32b flag, int yo, u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]) -/* Displays a status row for a primary stat */ -{ - int i; - int x = row_x_start; - char statstr[8]; - byte stat_color = TERM_L_RED; - - cnv_stat(p_ptr->stat_use[statidx], statstr); - - c_put_str(TERM_L_GREEN, statstr, yo, 4 + row_x_start); - for (i = 0; i < (INVEN_TOTAL - INVEN_WIELD + 2); i++) - { - byte color = TERM_L_RED; - - if (flag_arr[i][6] == 1) - { - switch (statidx) - { - case A_STR: - if (flag_arr[i][2] & TR2_SUST_STR) - color = TERM_L_BLUE; - break; - case A_INT: - if (flag_arr[i][2] & TR2_SUST_INT) - color = TERM_L_BLUE; - break; - case A_WIS: - if (flag_arr[i][2] & TR2_SUST_WIS) - color = TERM_L_BLUE; - break; - case A_DEX: - if (flag_arr[i][2] & TR2_SUST_DEX) - color = TERM_L_BLUE; - break; - case A_CON: - if (flag_arr[i][2] & TR2_SUST_CON) - color = TERM_L_BLUE; - break; - case A_CHR: - if (flag_arr[i][2] & TR2_SUST_CHR) - color = TERM_L_BLUE; - break; - } - - if (i == INVEN_PLAYER ) /* Player flags */ - { - if (flag_arr[i][1] & flag) - c_put_str((color == TERM_L_RED) ? TERM_YELLOW : color, "*", yo, x + SL_LENGTH); - else c_put_str((color == TERM_L_RED) ? TERM_WHITE : color, ".", yo, x + SL_LENGTH); - x++; - continue; - } - if (flag_arr[i][1] & flag) - status_numeric(p_ptr->inventory[i + INVEN_WIELD].pval, yo, x + SL_LENGTH); - else - c_put_str((color == TERM_L_RED) ? TERM_WHITE : color, ".", yo, x + SL_LENGTH); - - if (color != TERM_L_RED) - stat_color = color; - - x++; - } - } - - c_put_str(stat_color, statname, yo, row_x_start); -} - -static void row_hd_bon(int which, int yo, u32b flag_arr[INVEN_TOTAL - INVEN_WIELD + 2][7]) -/* To-hit/dmg modifiers, selected by 1st argument */ -{ - int i; - int x = row_x_start; - if ((which != 0) && (which != 1)) return; - c_put_str(TERM_L_GREEN, ((which == 0) ? "To-Hit" : "To-Dmg"), yo, row_x_start); - for (i = 0; i < (INVEN_TOTAL - INVEN_WIELD + 2); i++) - { - if (flag_arr[i][6] == 1) - { - if (i == INVEN_PLAYER) /* Player? */ - { - c_put_str(TERM_WHITE, ".", yo, x + STATNM_LENGTH); - x++; - continue; - } - if ( (which == 0) && (p_ptr->inventory[INVEN_WIELD + i].to_h != 0)) - { - status_numeric(p_ptr->inventory[INVEN_WIELD + i].to_h, yo, x + STATNM_LENGTH); - x++; - continue; - } - if ( (which == 1) && (p_ptr->inventory[INVEN_WIELD + i].to_d != 0)) - { - status_numeric(p_ptr->inventory[INVEN_WIELD + i].to_d, yo, x + STATNM_LENGTH); - x++; - continue; - } - c_put_str(TERM_WHITE, ".", yo, x + STATNM_LENGTH); - x++; - } - } -} - -static void status_companion(void) -{ - Term_clear(); - - fmt::MemoryWriter w; - - /* Process the monsters (backwards) */ - for (int i = m_max - 1; i >= 1; i--) - { - /* Access the monster */ - monster_type *m_ptr = &m_list[i]; - - if (m_ptr->status == MSTATUS_COMPANION) - { - char m_name[80]; - monster_desc(m_name, m_ptr, 0x80); - - std::string exp_for_next_level = (m_ptr->level < MONSTER_LEVEL_MAX) - ? std::to_string(monster_exp(m_ptr->level + 1)) - : "****"; - - w.write("#####BCompanion: {}\n", m_name); - - w.write(" Lev/Exp : [[[[[G{} / {}]\n", m_ptr->level, m_ptr->exp); - w.write(" Next lvl: [[[[[G{}]\n", exp_for_next_level); - - w.write(" HP : [[[[[G{} / {}]\n", m_ptr->hp, m_ptr->maxhp); - w.write(" AC : [[[[[G{}]\n", m_ptr->ac); - w.write(" Speed : [[[[[G{}]\n", m_ptr->mspeed - 110); - - int y = 0; - for (int b = 0; b < 4; b++) - { - if (!m_ptr->blow[b].d_dice) continue; - if (!m_ptr->blow[b].d_side) continue; - - w.write(" Blow {} : [[[[[G{}d{}]\n", y + 1, m_ptr->blow[b].d_dice, m_ptr->blow[b].d_side); - y++; - } - - w.write("\n"); - } - } - - /* Display */ - show_string(w.c_str(), "Companion List"); -} diff --git a/src/status.hpp b/src/status.hpp deleted file mode 100644 index 74624446..00000000 --- a/src/status.hpp +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -void status_main(); diff --git a/src/wizard2.cc b/src/wizard2.cc index 0614022c..de1530d8 100644 --- a/src/wizard2.cc +++ b/src/wizard2.cc @@ -24,7 +24,6 @@ #include "object_kind.hpp" #include "player_type.hpp" #include "randart.hpp" -#include "status.hpp" #include "spells1.hpp" #include "spells2.hpp" #include "stats.hpp" @@ -1571,10 +1570,6 @@ void do_cmd_debug() do_cmd_spoilers(); break; - case 'A': - status_main(); - break; - /* Hack -- Help */ case '?': do_cmd_help(); -- cgit v1.2.3