diff options
author | haranp <haranp@c06c8d41-db1a-0410-9941-cceddc491573> | 2006-09-22 14:02:54 +0000 |
---|---|---|
committer | haranp <haranp@c06c8d41-db1a-0410-9941-cceddc491573> | 2006-09-22 14:02:54 +0000 |
commit | 54703a5e095d2a33bbdcaf6b8864529fdeb26171 (patch) | |
tree | 1584ed38f8719a722e059b98ee90467db93178e6 | |
parent | 4304e2c7598ce1bafb208194f3835f4450b393a6 (diff) | |
download | crawl-ref-54703a5e095d2a33bbdcaf6b8864529fdeb26171.tar.gz crawl-ref-54703a5e095d2a33bbdcaf6b8864529fdeb26171.zip |
Added 'show resists screen' command. Needs more improvement
(specifically colors.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup@67 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r-- | crawl-ref/source/acr.cc | 5 | ||||
-rw-r--r-- | crawl-ref/source/chardump.cc | 52 | ||||
-rw-r--r-- | crawl-ref/source/chardump.h | 2 | ||||
-rw-r--r-- | crawl-ref/source/enum.h | 1 |
4 files changed, 60 insertions, 0 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc index a23debc2ca..647c842d47 100644 --- a/crawl-ref/source/acr.cc +++ b/crawl-ref/source/acr.cc @@ -1393,6 +1393,10 @@ static void do_action( command_type cmd ) { case CMD_DISPLAY_CHARACTER_STATUS: display_char_status(); break; + + case CMD_RESISTS_SCREEN: + resists_screen(); + break; case CMD_DISPLAY_SKILLS: show_skills(); @@ -2459,6 +2463,7 @@ command_type keycode_to_command( keycode_type key ) { case '<': return CMD_GO_UPSTAIRS; case '>': return CMD_GO_DOWNSTAIRS; case '@': return CMD_DISPLAY_CHARACTER_STATUS; + case '%': return CMD_RESISTS_SCREEN; case ',': return CMD_PICKUP; case ':': return CMD_MAKE_NOTE; case ';': return CMD_INSPECT_FLOOR; diff --git a/crawl-ref/source/chardump.cc b/crawl-ref/source/chardump.cc index 7cacac08cc..b14b5f410f 100644 --- a/crawl-ref/source/chardump.cc +++ b/crawl-ref/source/chardump.cc @@ -1191,3 +1191,55 @@ bool dump_char( const char fname[30], bool show_prices ) // $$$ a try block? return (succeeded); } // end dump_char() + +void resists_screen() { +#ifdef DOS_TERM + char dosbuffer[4000]; + gettext( 1, 1, 80, 25, dosbuffer ); + window( 1, 1, 80, 25 ); +#endif + clrscr(); + textcolor( LIGHTGREY ); + char buffer[25*3][45]; + char text[4000]; + char str_pass[80]; + char* ptr_n; + + text[0] = 0; + get_full_detail(&buffer[0][0], false); + + for (int i = 0; i < 25; i++) + { + ptr_n = &buffer[i][0]; + if (buffer[i+25][0] == '\0' && buffer[i+50][0] == '\0') + snprintf(&str_pass[0], 45, "%s", ptr_n); + else + snprintf(&str_pass[0], 45, "%-32s", ptr_n); + strcat(text, str_pass); + + ptr_n = &buffer[i+25][0]; + if (buffer[i+50][0] == '\0') + snprintf(&str_pass[0], 45, "%s", ptr_n); + else + snprintf(&str_pass[0], 45, "%-20s", ptr_n); + strcat(text, str_pass); + + ptr_n = &buffer[i+50][0]; + if (buffer[i+50][0] != '\0') + { + snprintf(&str_pass[0], 45, "%s", ptr_n); + strcat(text, str_pass); + } + strcat(text, EOL); + } + + cprintf(text); + + getch(); +#ifdef DOS_TERM + puttext(1, 1, 80, 25, dosbuffer); + window(1, 1, 80, 25); +#endif + + redraw_screen(); +} diff --git a/crawl-ref/source/chardump.h b/crawl-ref/source/chardump.h index 22b03ac8d3..b9b0f3811d 100644 --- a/crawl-ref/source/chardump.h +++ b/crawl-ref/source/chardump.h @@ -21,6 +21,8 @@ * *********************************************************************** */ bool dump_char( const char fname[30], bool show_prices ); +void resists_screen(); + std::string munge_description(const std::string &inStr); const char *hunger_level(void); diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h index dd4bfe839c..e99447e558 100644 --- a/crawl-ref/source/enum.h +++ b/crawl-ref/source/enum.h @@ -648,6 +648,7 @@ enum command_type CMD_TOGGLE_NOFIZZLE, CMD_TOGGLE_AUTOPRAYER, CMD_MAKE_NOTE, + CMD_RESISTS_SCREEN, CMD_PERFORM_ACTIVITY, |