From 7a15a3efe85837d52d950cc9f895eadcc9eb6be1 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Fri, 7 Feb 2014 21:40:00 -0800 Subject: Name the terminal escapes --- src/admin/ladmin.cpp | 22 ++++++++-------------- src/char/char.cpp | 9 +++++---- src/io/tty.cpp | 21 +++++++++++++++++++++ src/io/tty.hpp | 38 ++++++++++++++++++++++++++++++++++++++ src/login/login.cpp | 11 ++++++----- src/map/map.cpp | 7 ++++--- 6 files changed, 82 insertions(+), 26 deletions(-) create mode 100644 src/io/tty.cpp create mode 100644 src/io/tty.hpp (limited to 'src') diff --git a/src/admin/ladmin.cpp b/src/admin/ladmin.cpp index 2c9382c..d875205 100644 --- a/src/admin/ladmin.cpp +++ b/src/admin/ladmin.cpp @@ -13,6 +13,7 @@ #include "../io/cxxstdio.hpp" #include "../io/read.hpp" +#include "../io/tty.hpp" #include "../io/write.hpp" #include "../common/config_parse.hpp" @@ -990,7 +991,7 @@ void delaccount(ZString param) char confirm; do { - PRINTF("\033[1;36m ** Are you really sure to DELETE account [%s]? (y/n) > \033[0m", name); + PRINTF(SGR_BOLD SGR_CYAN " ** Are you really sure to DELETE account [%s]? (y/n) > " SGR_RESET, name); fflush(stdout); int seek = getchar(); confirm = seek; @@ -1763,17 +1764,10 @@ void prompt(void) // while we don't wait new packets while (bytes_to_read == 0) { - // for help with the console colors look here: - // http://www.edoceo.com/liberum/?doc=PRINTF-with-color - // some code explanation (used here): - // \033[2J : clear screen and go up/left (0, 0 position) - // \033[K : clear line from actual position to end of the line - // \033[0m : reset color parameter - // \033[1m : use bold for font Iprintf("\n"); - Iprintf("\033[32mTo list the commands, type 'enter'.\033[0m\n"); - Iprintf("\033[0;36mLadmin-> \033[0m"); - Iprintf("\033[1m"); + Iprintf(SGR_GREEN "To list the commands, type 'enter'." SGR_RESET "\n"); + Iprintf(SGR_CYAN "Ladmin-> " SGR_RESET); + Iprintf(SGR_BOLD); fflush(stdout); // get command and parameter @@ -1782,7 +1776,7 @@ void prompt(void) FString buf; cin->getline(buf); - Iprintf("\033[0m"); + Iprintf(SGR_RESET); fflush(stdout); if (!cin->is_open()) @@ -2835,7 +2829,7 @@ void term_func(void) { delete_session(login_session); - Iprintf("\033[0m----End of Ladmin (normal end with closing of all files).\n"); + Iprintf(SGR_RESET "----End of Ladmin (normal end with closing of all files).\n"); LADMIN_LOG("----End of Ladmin (normal end with closing of all files).\n"); already_exit_function = 1; @@ -2896,7 +2890,7 @@ int do_init(int argc, ZString *argv) version.vend); LADMIN_LOG("Ladmin is ready.\n"); - Iprintf("Ladmin is \033[1;32mready\033[0m.\n\n"); + Iprintf("Ladmin is " SGR_BOLD SGR_GREEN "ready" SGR_RESET ".\n\n"); Connect_login_server(); diff --git a/src/char/char.cpp b/src/char/char.cpp index fe9bf9a..15ea46b 100644 --- a/src/char/char.cpp +++ b/src/char/char.cpp @@ -23,6 +23,7 @@ #include "../io/cxxstdio.hpp" #include "../io/lock.hpp" #include "../io/read.hpp" +#include "../io/tty.hpp" #include "../common/config_parse.hpp" #include "../common/core.hpp" @@ -2057,8 +2058,8 @@ int lan_ip_check(IP4Address addr) { bool lancheck = lan_subnet.covers(addr); - PRINTF("LAN test (result): %s source\033[0m.\n", - (lancheck) ? "\033[1;36mLAN" : "\033[1;32mWAN"); + PRINTF("LAN test (result): %s.\n", + (lancheck) ? SGR_BOLD SGR_CYAN "LAN source" SGR_RESET : SGR_BOLD SGR_GREEN "WAN source" SGR_RESET); return lancheck; } @@ -2625,7 +2626,7 @@ bool lan_check() PRINTF("LAN test of LAN IP of the map-server: "); if (!lan_ip_check(lan_map_ip)) { - PRINTF("\033[1;31m***ERROR: LAN IP of the map-server doesn't belong to the specified Sub-network.\033[0m\n"); + PRINTF(SGR_BOLD SGR_RED "***ERROR: LAN IP of the map-server doesn't belong to the specified Sub-network." SGR_RESET "\n"); return false; } } @@ -2894,7 +2895,7 @@ int do_init(int argc, ZString *argv) CHAR_LOG("The char-server is ready (Server is listening on the port %d).\n", char_port); - PRINTF("The char-server is \033[1;32mready\033[0m (Server is listening on the port %d).\n\n", + PRINTF("The char-server is " SGR_BOLD SGR_GREEN "ready" SGR_RESET " (Server is listening on the port %d).\n\n", char_port); return 0; diff --git a/src/io/tty.cpp b/src/io/tty.cpp new file mode 100644 index 0000000..d2e084e --- /dev/null +++ b/src/io/tty.cpp @@ -0,0 +1,21 @@ +#include "tty.hpp" +// io/tty.cpp - terminal escape sequences +// +// Copyright © 2014 Ben Longbons +// +// This file is part of The Mana World (Athena server) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +/* Nothing to see here, move along */ diff --git a/src/io/tty.hpp b/src/io/tty.hpp new file mode 100644 index 0000000..86616f1 --- /dev/null +++ b/src/io/tty.hpp @@ -0,0 +1,38 @@ +#ifndef TMWA_IO_TTY_HPP +#define TMWA_IO_TTY_HPP +// io/tty.hpp - terminal escape sequences +// +// Copyright © 2014 Ben Longbons +// +// This file is part of The Mana World (Athena server) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +# include "../sanity.hpp" + + +# define SGR_BLACK "\e[30m" +# define SGR_RED "\e[31m" +# define SGR_GREEN "\e[32m" +# define SGR_YELLOW "\e[33m" +# define SGR_BLUE "\e[34m" +# define SGR_MAGENTA "\e[35m" +# define SGR_CYAN "\e[36m" +# define SGR_WHITE "\e[37m" + +# define SGR_BOLD "\e[1m" + +# define SGR_RESET "\e[0m" + +#endif //TMWA_IO_TTY_HPP diff --git a/src/login/login.cpp b/src/login/login.cpp index ba247b6..b1d37dc 100644 --- a/src/login/login.cpp +++ b/src/login/login.cpp @@ -23,6 +23,7 @@ #include "../io/cxxstdio.hpp" #include "../io/lock.hpp" #include "../io/read.hpp" +#include "../io/tty.hpp" #include "../common/config_parse.hpp" #include "../common/core.hpp" @@ -537,7 +538,7 @@ int mmo_auth_init(void) { // no account file -> no account -> no login, including char-server (ERROR) // not anymore! :-) - PRINTF("\033[1;31mmmo_auth_init: Accounts file [%s] not found.\033[0m\n", + PRINTF(SGR_BOLD SGR_RED "mmo_auth_init: Accounts file [%s] not found." SGR_RESET "\n", account_filename); return 0; } @@ -2693,8 +2694,8 @@ bool lan_ip_check(IP4Address p) { bool lancheck = lan_subnet.covers(p); - PRINTF("LAN test (result): %s source\033[0m.\n", - (lancheck) ? "\033[1;36mLAN" : "\033[1;32mWAN"); + PRINTF("LAN test (result): %s.\n", + (lancheck) ? SGR_BOLD SGR_CYAN "LAN source" SGR_RESET : SGR_BOLD SGR_GREEN "WAN source" SGR_RESET); return lancheck; } @@ -3193,7 +3194,7 @@ bool lan_check() PRINTF("LAN test of LAN IP of the char-server: "); if (!lan_ip_check(lan_char_ip)) { - PRINTF("\033[1;31m***ERROR: LAN IP of the char-server doesn't belong to the specified Sub-network\033[0m\n"); + PRINTF(SGR_BOLD SGR_RED "***ERROR: LAN IP of the char-server doesn't belong to the specified Sub-network" SGR_RESET "\n"); LOGIN_LOG("***ERROR: LAN IP of the char-server doesn't belong to the specified Sub-network.\n"); return false; } @@ -3897,7 +3898,7 @@ int do_init(int argc, ZString *argv) LOGIN_LOG("The login-server is ready (Server is listening on the port %d).\n", login_port); - PRINTF("The login-server is \033[1;32mready\033[0m (Server is listening on the port %d).\n\n", + PRINTF("The login-server is " SGR_BOLD SGR_GREEN "ready" SGR_RESET " (Server is listening on the port %d).\n\n", login_port); return 0; diff --git a/src/map/map.cpp b/src/map/map.cpp index 2600412..8a1d8eb 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -16,8 +16,9 @@ #include "../strings/vstring.hpp" #include "../io/cxxstdio.hpp" -#include "../io/write.hpp" #include "../io/read.hpp" +#include "../io/tty.hpp" +#include "../io/write.hpp" #include "../common/config_parse.hpp" #include "../common/core.hpp" @@ -1733,9 +1734,9 @@ int do_init(int argc, ZString *argv) npc_event_do_oninit(); // npcのOnInitイベント実行 if (battle_config.pk_mode == 1) - PRINTF("The server is running in \033[1;31mPK Mode\033[0m.\n"); + PRINTF("The server is running in " SGR_BOLD SGR_RED "PK Mode" SGR_RESET "\n"); - PRINTF("The map-server is \033[1;32mready\033[0m (Server is listening on the port %d).\n\n", + PRINTF("The map-server is " SGR_BOLD SGR_GREEN "ready" SGR_RESET " (Server is listening on the port %d).\n\n", clif_getport()); return 0; -- cgit v1.2.3-60-g2f50