summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-27 01:48:13 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-27 01:48:13 +0000
commit2aa69c8f83e2afd25a355bc1c70acb646f425b9f (patch)
tree5ecb316636fce46b3f62d9c4eb8bd1c983a58871 /crawl-ref
parent298d76bd71d68a4e8d3b9ceafbdad1aece9a8f44 (diff)
downloadcrawl-ref-2aa69c8f83e2afd25a355bc1c70acb646f425b9f.tar.gz
crawl-ref-2aa69c8f83e2afd25a355bc1c70acb646f425b9f.zip
Added "error" channel for runtime errors, and changed error messages that
used the "danger" or "warning" channels to use that. Sending an error message to the error channel has the side effect of interrupting all activity. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5276 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/docs/options_guide.txt3
-rw-r--r--crawl-ref/source/acr.cc8
-rw-r--r--crawl-ref/source/chardump.cc2
-rw-r--r--crawl-ref/source/cloud.cc2
-rw-r--r--crawl-ref/source/debug.cc24
-rw-r--r--crawl-ref/source/delay.cc2
-rw-r--r--crawl-ref/source/dungeon.cc5
-rw-r--r--crawl-ref/source/files.cc2
-rw-r--r--crawl-ref/source/hiscores.cc2
-rw-r--r--crawl-ref/source/initfile.cc15
-rw-r--r--crawl-ref/source/items.cc5
-rw-r--r--crawl-ref/source/mapdef.cc4
-rw-r--r--crawl-ref/source/mapmark.cc14
-rw-r--r--crawl-ref/source/maps.cc8
-rw-r--r--crawl-ref/source/message.cc8
-rw-r--r--crawl-ref/source/misc.cc3
-rw-r--r--crawl-ref/source/mpr.h1
-rw-r--r--crawl-ref/source/player.cc2
-rw-r--r--crawl-ref/source/religion.cc2
-rw-r--r--crawl-ref/source/shopping.cc2
-rw-r--r--crawl-ref/source/stash.cc2
-rw-r--r--crawl-ref/source/traps.cc2
22 files changed, 64 insertions, 54 deletions
diff --git a/crawl-ref/docs/options_guide.txt b/crawl-ref/docs/options_guide.txt
index 1be63424a4..0ddfa83188 100644
--- a/crawl-ref/docs/options_guide.txt
+++ b/crawl-ref/docs/options_guide.txt
@@ -72,7 +72,7 @@ The contents of this text are:
recovery, talk, talk_visual, intrinsic_gain, mutation,
monster_spell, monster_enchant, monster_damage,
rotten_meat, equipment, floor, multiturn, examine,
- examine_filter, diagnostics, tutorial
+ examine_filter, diagnostics, error, tutorial
4-m Inscriptions.
autoinscribe
4-n Macro related Options.
@@ -1264,6 +1264,7 @@ CHANNEL_NAME can currently be one of these:
examine = messages from examine your surroundings
examine_filter = boring messages from examining your surroundings
diagnostics = debugging messages
+ error = error messages
tutorial = messages from the tutorial
The channel options are
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index 0f96a4f61e..0eaf325825 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -3159,7 +3159,7 @@ static void _read_each_message()
FILE *mf = fopen(SysEnv.messagefile.c_str(), "r+");
if (!mf)
{
- mprf(MSGCH_WARN, "Couldn't read %s: %s", SysEnv.messagefile.c_str(),
+ mprf(MSGCH_ERROR, "Couldn't read %s: %s", SysEnv.messagefile.c_str(),
strerror(errno));
goto kill_messaging;
}
@@ -3169,7 +3169,7 @@ static void _read_each_message()
if (!lock_file_handle(mf, F_RDLCK))
{
- mprf(MSGCH_WARN, "Failed to lock %s: %s", SysEnv.messagefile.c_str(),
+ mprf(MSGCH_ERROR, "Failed to lock %s: %s", SysEnv.messagefile.c_str(),
strerror(errno));
goto kill_messaging;
}
@@ -3195,7 +3195,7 @@ static void _read_each_message()
if (!lock_file_handle(mf, F_RDLCK))
{
- mprf(MSGCH_WARN, "Failed to lock %s: %s",
+ mprf(MSGCH_ERROR, "Failed to lock %s: %s",
SysEnv.messagefile.c_str(),
strerror(errno));
goto kill_messaging;
@@ -3203,7 +3203,7 @@ static void _read_each_message()
}
if (!lock_file_handle(mf, F_WRLCK))
{
- mprf(MSGCH_WARN, "Unable to write lock %s: %s",
+ mprf(MSGCH_ERROR, "Unable to write lock %s: %s",
SysEnv.messagefile.c_str(),
strerror(errno));
}
diff --git a/crawl-ref/source/chardump.cc b/crawl-ref/source/chardump.cc
index ba88129280..a56d857596 100644
--- a/crawl-ref/source/chardump.cc
+++ b/crawl-ref/source/chardump.cc
@@ -1210,7 +1210,7 @@ static bool write_dump( const std::string &fname, dump_params &par)
succeeded = true;
}
else
- mprf("Error opening file '%s'", file_name.c_str());
+ mprf(MSGCH_ERROR, "Error opening file '%s'", file_name.c_str());
return (succeeded);
}
diff --git a/crawl-ref/source/cloud.cc b/crawl-ref/source/cloud.cc
index 885f9aaeae..9743531da1 100644
--- a/crawl-ref/source/cloud.cc
+++ b/crawl-ref/source/cloud.cc
@@ -358,7 +358,7 @@ void place_fog_machine(fog_machine_type fm_type, cloud_type cl_type,
}
catch (const std::string &err)
{
- mprf(MSGCH_DIAGNOSTICS, "Error while making fog machine: %s",
+ mprf(MSGCH_ERROR, "Error while making fog machine: %s",
err.c_str());
}
}
diff --git a/crawl-ref/source/debug.cc b/crawl-ref/source/debug.cc
index 49b856195a..21aff9341a 100644
--- a/crawl-ref/source/debug.cc
+++ b/crawl-ref/source/debug.cc
@@ -1504,7 +1504,7 @@ void stethoscope(int mwh)
//---------------------------------------------------------------
static void dump_item( const char *name, int num, const item_def &item )
{
- mpr( name, MSGCH_WARN );
+ mpr( name, MSGCH_ERROR );
mprf(" item #%d: base: %d; sub: %d; plus: %d; plus2: %d; special: %ld",
num, item.base_type, item.sub_type,
@@ -1548,7 +1548,7 @@ void debug_item_scan( void )
// Check for invalid (zero quantity) items that are linked in
if (!is_valid_item( mitm[obj] ))
{
- mprf(MSGCH_WARN, "Linked invalid item at (%d,%d)!", x, y);
+ mprf(MSGCH_ERROR, "Linked invalid item at (%d,%d)!", x, y);
dump_item( mitm[obj].name(DESC_PLAIN).c_str(),
obj, mitm[obj] );
}
@@ -1556,7 +1556,7 @@ void debug_item_scan( void )
// Check that item knows what stack it's in
if (mitm[obj].x != x || mitm[obj].y != y)
{
- mprf(MSGCH_WARN,"Item position incorrect at (%d,%d)!",x,y);
+ mprf(MSGCH_ERROR,"Item position incorrect at (%d,%d)!",x,y);
dump_item( mitm[obj].name(DESC_PLAIN).c_str(),
obj, mitm[obj] );
}
@@ -1565,7 +1565,7 @@ void debug_item_scan( void )
// this will also keep this from being an infinite loop.
if (visited[obj])
{
- mprf(MSGCH_WARN,
+ mprf(MSGCH_ERROR,
"Potential INFINITE STACK at (%d, %d)", x, y);
break;
}
@@ -1585,7 +1585,7 @@ void debug_item_scan( void )
// Don't check (-1,-1) player items or (0,0) monster items
if ((mitm[i].x > 0 || mitm[i].y > 0) && !visited[i])
{
- mpr( "Unlinked item:", MSGCH_WARN );
+ mpr( "Unlinked item:", MSGCH_ERROR );
dump_item( name, i, mitm[i] );
mprf("igrd(%d,%d) = %d",
@@ -1623,7 +1623,7 @@ void debug_item_scan( void )
|| strstr( name, "bola" ) != NULL
|| strstr( name, "bugg" ) != NULL)
{
- mpr( "Bad item:", MSGCH_WARN );
+ mpr( "Bad item:", MSGCH_ERROR );
dump_item( name, i, mitm[i] );
}
else if ((mitm[i].base_type == OBJ_WEAPONS
@@ -1643,7 +1643,7 @@ void debug_item_scan( void )
|| (!is_random_artefact( mitm[i] )
&& mitm[i].special >= 30))))
{
- mpr( "Bad plus or special value:", MSGCH_WARN );
+ mpr( "Bad plus or special value:", MSGCH_ERROR );
dump_item( name, i, mitm[i] );
}
}
@@ -1659,8 +1659,8 @@ void debug_item_scan( void )
if (monster.name(DESC_PLAIN, true).find("questionable") !=
std::string::npos)
{
- mprf( MSGCH_WARN, "Program bug detected!" );
- mprf( MSGCH_WARN,
+ mprf( MSGCH_ERROR, "Program bug detected!" );
+ mprf( MSGCH_ERROR,
"Buggy monster detected: monster #%d; position (%d,%d)",
i, monster.x, monster.y );
}
@@ -2054,7 +2054,7 @@ void debug_item_statistics( void )
if (!ostat)
{
#ifndef DOS
- mprf("Can't write items.stat: %s", strerror(errno));
+ mprf(MSGCH_ERROR, "Can't write items.stat: %s", strerror(errno));
#endif
return;
}
@@ -2936,7 +2936,7 @@ static bool debug_fight_sim(int mindex, int missile_slot,
// and it's insufficiently important for a wizmode-only
// feature.
#ifndef DOS
- mprf("Can't write fight.stat: %s", strerror(errno));
+ mprf(MSGCH_ERROR, "Can't write fight.stat: %s", strerror(errno));
#endif
return (false);
}
@@ -3918,7 +3918,7 @@ static bool mg_do_build_level(int niters)
vaults = " (" + vaults + ")";
extern std::string dgn_Build_Method;
- mprf(MSGCH_WARN,
+ mprf(MSGCH_ERROR,
"Bad (disconnected) level on %s%s",
level_id::current().describe().c_str(),
vaults.c_str());
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index 991d6cef20..09310b87b0 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -1449,7 +1449,7 @@ void run_macro(const char *macroname)
if (!clua.callbooleanfn(false, "c_macro", "s", macroname))
{
if (clua.error.length())
- mprf(MSGCH_WARN, "Lua error: %s", clua.error.c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s", clua.error.c_str());
stop_delay();
}
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index cf22e4c9ad..88a75085c2 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -1936,7 +1936,7 @@ static void _portal_vault_level(int level_number)
if (Level_Vaults.empty())
{
- mprf(MSGCH_WARN, "No maps or tags named '%s'.",
+ mprf(MSGCH_ERROR, "No maps or tags named '%s'.",
level_name);
ASSERT(false);
end(-1);
@@ -3963,7 +3963,8 @@ static void _pick_float_exits(vault_placement &place,
if (possible_exits.empty())
{
#ifdef DEBUG_DIAGNOSTICS
- mprf(MSGCH_WARN, "Unable to find exit from %s", place.map.name.c_str());
+ mprf(MSGCH_ERROR, "Unable to find exit from %s",
+ place.map.name.c_str());
#endif
return;
}
diff --git a/crawl-ref/source/files.cc b/crawl-ref/source/files.cc
index 02ddf79278..1dc98c7bbd 100644
--- a/crawl-ref/source/files.cc
+++ b/crawl-ref/source/files.cc
@@ -1788,7 +1788,7 @@ void save_ghost( bool force )
if (gfile == NULL)
{
- mprf("Error creating ghost file: %s", cha_fil.c_str());
+ mprf(MSGCH_ERROR, "Error creating ghost file: %s", cha_fil.c_str());
more();
return;
}
diff --git a/crawl-ref/source/hiscores.cc b/crawl-ref/source/hiscores.cc
index d9521e419c..d123e52c21 100644
--- a/crawl-ref/source/hiscores.cc
+++ b/crawl-ref/source/hiscores.cc
@@ -996,7 +996,7 @@ void scorefile_entry::init()
// elsewhere.
if (you.inv[d].plus < 0 || you.inv[d].plus >= NUM_RUNE_TYPES)
{
- mpr("WARNING: Buggy rune in pack!");
+ mpr("WARNING: Buggy rune in pack!", MSGCH_ERROR);
// Be nice and assume the buggy rune was originally
// different from any of the other rune types.
num_diff_runes++;
diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc
index 7c848219b8..4a56ce88d3 100644
--- a/crawl-ref/source/initfile.cc
+++ b/crawl-ref/source/initfile.cc
@@ -214,7 +214,8 @@ static const std::string message_channel_names[ NUM_MESSAGE_CHANNELS ] =
"recovery", "sound", "talk", "talk_visual", "intrinsic_gain", "mutation",
"monster_spell", "monster_enchant", "friend_spell", "friend_enchant",
"monster_damage", "monster_target", "rotten_meat", "equipment", "floor",
- "multiturn", "examine", "examine_filter", "diagnostic","tutorial"
+ "multiturn", "examine", "examine_filter", "diagnostic", "error",
+ "tutorial"
};
// returns -1 if unmatched else returns 0--(NUM_MESSAGE_CHANNELS-1)
@@ -1392,7 +1393,7 @@ void game_options::read_options(InitLineInput &il, bool runscript,
#ifdef CLUA_BINDINGS
clua.execstring(luacode.c_str());
if (!clua.error.empty())
- mprf(MSGCH_WARN, "Lua error: %s\n", clua.error.c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s\n", clua.error.c_str());
luacode.clear();
#endif
}
@@ -1407,7 +1408,7 @@ void game_options::read_options(InitLineInput &il, bool runscript,
{
clua.execstring(luacode.c_str());
if (!clua.error.empty())
- mprf(MSGCH_WARN, "Lua error: %s\n", clua.error.c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s\n", clua.error.c_str());
}
#endif
luacode.clear();
@@ -1441,7 +1442,7 @@ void game_options::read_options(InitLineInput &il, bool runscript,
luacond += "]] )\n";
clua.execstring(luacond.c_str());
if (!clua.error.empty())
- mprf(MSGCH_WARN, "Lua error: %s\n", clua.error.c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s\n", clua.error.c_str());
}
#endif
@@ -1897,7 +1898,7 @@ void game_options::read_option_line(const std::string &str, bool runscript)
#ifdef CLUA_BINDINGS
clua.execfile(field.c_str(), false, false);
if (!clua.error.empty())
- mprf(MSGCH_WARN, "Lua error: %s\n", clua.error.c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s\n", clua.error.c_str());
#endif
}
else if (key == "colour" || key == "color")
@@ -2775,7 +2776,7 @@ void game_options::read_option_line(const std::string &str, bool runscript)
{
#ifdef CLUA_BINDINGS
if (!clua.error.empty())
- mprf(MSGCH_WARN, "Lua error: %s\n", clua.error.c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s\n", clua.error.c_str());
#endif
named_options[key] = orig_field;
}
@@ -2899,7 +2900,7 @@ void game_options::report_error(const std::string &error)
// If called before game starts, log a startup error,
// otherwise spam the warning channel.
if (crawl_state.need_save)
- mprf(MSGCH_WARN, "Warning: %s", error.c_str());
+ mprf(MSGCH_ERROR, "Warning: %s", error.c_str());
else
crawl_state.add_startup_error(error);
}
diff --git a/crawl-ref/source/items.cc b/crawl-ref/source/items.cc
index 40f43c7358..ab419caef4 100644
--- a/crawl-ref/source/items.cc
+++ b/crawl-ref/source/items.cc
@@ -445,7 +445,7 @@ void unlink_item( int dest )
#if DEBUG
// Okay, the sane ways are gone... let's warn the player:
- mprf( MSGCH_DANGER, "BUG WARNING: Problems unlinking item '%s', (%d, %d)!!!",
+ mprf(MSGCH_ERROR, "BUG WARNING: Problems unlinking item '%s', (%d, %d)!!!",
mitm[dest].name(DESC_PLAIN).c_str(), mitm[dest].x, mitm[dest].y );
// Okay, first we scan all items to see if we have something
@@ -498,7 +498,8 @@ void unlink_item( int dest )
// Okay, finally warn player if we didn't do anything.
if (!linked)
- mpr("BUG WARNING: Item didn't seem to be linked at all.", MSGCH_DANGER);
+ mpr("BUG WARNING: Item didn't seem to be linked at all.",
+ MSGCH_ERROR);
#endif
} // end unlink_item()
diff --git a/crawl-ref/source/mapdef.cc b/crawl-ref/source/mapdef.cc
index 316be3ba20..d330a6e666 100644
--- a/crawl-ref/source/mapdef.cc
+++ b/crawl-ref/source/mapdef.cc
@@ -1380,7 +1380,7 @@ bool map_def::test_lua_boolchunk(dlua_chunk &chunk, bool defval, bool croak)
if (croak)
end(1, false, "Lua error: %s", validate.orig_error().c_str());
else
- mprf(MSGCH_WARN, "Lua error: %s", validate.orig_error().c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s", validate.orig_error().c_str());
return (result);
}
if (dlua.callfn("dgn_run_map", 1, 1))
@@ -1391,7 +1391,7 @@ bool map_def::test_lua_boolchunk(dlua_chunk &chunk, bool defval, bool croak)
end(1, false, "Lua error: %s",
rewrite_chunk_errors(dlua.error).c_str());
else
- mprf(MSGCH_WARN, "Lua error: %s",
+ mprf(MSGCH_ERROR, "Lua error: %s",
rewrite_chunk_errors(dlua.error).c_str());
}
return (result);
diff --git a/crawl-ref/source/mapmark.cc b/crawl-ref/source/mapmark.cc
index d1ea2d624a..1041470e6e 100644
--- a/crawl-ref/source/mapmark.cc
+++ b/crawl-ref/source/mapmark.cc
@@ -173,14 +173,14 @@ map_lua_marker::map_lua_marker(const std::string &s, const std::string &,
if (mapdef_marker)
{
if (dlua.loadstring(("return " + s).c_str(), "lua_marker"))
- mprf(MSGCH_WARN, "lua_marker load error: %s", dlua.error.c_str());
+ mprf(MSGCH_ERROR, "lua_marker load error: %s", dlua.error.c_str());
if (!dlua.callfn("dgn_run_map", 1, 1))
- mprf(MSGCH_WARN, "lua_marker exec error: %s", dlua.error.c_str());
+ mprf(MSGCH_ERROR, "lua_marker exec error: %s", dlua.error.c_str());
}
else
{
if (dlua.execstring(("return " + s).c_str(), "lua_marker_mapless", 1))
- mprf(MSGCH_WARN, "lua_marker_mapless exec error: %s",
+ mprf(MSGCH_ERROR, "lua_marker_mapless exec error: %s",
dlua.error.c_str());
}
check_register_table();
@@ -210,7 +210,7 @@ void map_lua_marker::check_register_table()
{
if (!lua_istable(dlua, -1))
{
- mprf(MSGCH_WARN, "lua_marker: Expected table, didn't get it.");
+ mprf(MSGCH_ERROR, "lua_marker: Expected table, didn't get it.");
initialised = false;
return;
}
@@ -242,7 +242,7 @@ void map_lua_marker::write(writer &outf) const
bool init = initialised;
if (!get_table())
{
- mprf(MSGCH_WARN, "Couldn't find table.");
+ mprf(MSGCH_ERROR, "Couldn't find table.");
init = false;
}
@@ -322,7 +322,7 @@ bool map_lua_marker::callfn(const char *fn, bool warn_err, int args) const
}
const bool res = dlua.callfn("dlua_marker_method", args, 1);
if (!res && warn_err)
- mprf(MSGCH_WARN, "mlua error: %s", dlua.error.c_str());
+ mprf(MSGCH_ERROR, "mlua error: %s", dlua.error.c_str());
return (res);
}
@@ -340,7 +340,7 @@ void map_lua_marker::notify_dgn_event(const dgn_event &e)
push_fn_args("event");
clua_push_dgn_event(dlua, &e);
if (!dlua.callfn("dlua_marker_method", 4, 0))
- mprf(MSGCH_WARN, "notify_dgn_event: Lua error: %s",
+ mprf(MSGCH_ERROR, "notify_dgn_event: Lua error: %s",
dlua.error.c_str());
}
diff --git a/crawl-ref/source/maps.cc b/crawl-ref/source/maps.cc
index 9caa13ee6c..5681996681 100644
--- a/crawl-ref/source/maps.cc
+++ b/crawl-ref/source/maps.cc
@@ -133,7 +133,7 @@ static bool resolve_map(map_def &map, const map_def &original)
if (crawl_state.map_stat_gen)
mapgen_report_error(map, err);
#endif
- mprf(MSGCH_WARN, "Lua error: %s", err.c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s", err.c_str());
return (false);
}
@@ -141,7 +141,7 @@ static bool resolve_map(map_def &map, const map_def &original)
err = map.resolve();
if (!err.empty())
{
- mprf(MSGCH_WARN, "Error: %s", err.c_str());
+ mprf(MSGCH_ERROR, "Error: %s", err.c_str());
return (false);
}
@@ -721,7 +721,7 @@ void run_map_preludes()
if (!chunk.empty())
{
if (chunk.load_call(dlua, NULL))
- mprf(MSGCH_WARN, "Lua error: %s", chunk.orig_error().c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s", chunk.orig_error().c_str());
}
}
for (int i = 0, size = vdefs.size(); i < size; ++i)
@@ -730,7 +730,7 @@ void run_map_preludes()
{
std::string err = vdefs[i].run_lua(true);
if (!err.empty())
- mprf(MSGCH_WARN, "Lua error (map %s): %s",
+ mprf(MSGCH_ERROR, "Lua error (map %s): %s",
vdefs[i].name.c_str(), err.c_str());
}
}
diff --git a/crawl-ref/source/message.cc b/crawl-ref/source/message.cc
index 90dcb3ea95..cfaf13ec16 100644
--- a/crawl-ref/source/message.cc
+++ b/crawl-ref/source/message.cc
@@ -132,7 +132,7 @@ namespace msg
if ( internal_count + 3 > INTERNAL_LENGTH )
{
- mpr("oops, hit overflow", MSGCH_DANGER);
+ mpr("oops, hit overflow", MSGCH_ERROR);
internal_count = 0;
return std::streambuf::traits_type::eof();
}
@@ -262,6 +262,7 @@ int channel_to_colour( msg_channel_type channel, int param )
break;
case MSGCH_WARN:
+ case MSGCH_ERROR:
ret = LIGHTRED;
break;
@@ -371,6 +372,9 @@ static void do_message_print( msg_channel_type channel, int param,
buff[199] = 0;
mpr(buff, channel, param);
+
+ if (channel == MSGCH_ERROR)
+ interrupt_activity( AI_FORCE_INTERRUPT );
}
void mprf( msg_channel_type channel, int param, const char *format, ... )
@@ -402,7 +406,7 @@ void mpr(const char *inf, msg_channel_type channel, int param)
{
if (!crawl_state.io_inited)
{
- if (channel == MSGCH_WARN)
+ if (channel == MSGCH_ERROR)
fprintf(stderr, "%s\n", inf);
return;
}
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index 0d098adaed..8815dfbfaa 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -2876,7 +2876,8 @@ std::string your_hand(bool plural)
switch (you.attribute[ATTR_TRANSFORMATION])
{
default:
- mpr("ERROR: unknown transformation in your_hand() (spells4.cc)");
+ mpr("ERROR: unknown transformation in your_hand() (spells4.cc)",
+ MSGCH_ERROR);
case TRAN_NONE:
case TRAN_STATUE:
case TRAN_LICH:
diff --git a/crawl-ref/source/mpr.h b/crawl-ref/source/mpr.h
index 0219be6df5..67b624a10d 100644
--- a/crawl-ref/source/mpr.h
+++ b/crawl-ref/source/mpr.h
@@ -47,6 +47,7 @@ enum msg_channel_type
MSGCH_EXAMINE, // messages describing monsters, features, items
MSGCH_EXAMINE_FILTER, // "less important" instances of the above
MSGCH_DIAGNOSTICS, // various diagnostic messages
+ MSGCH_ERROR, // error messages
MSGCH_TUTORIAL, // messages for tutorial
NUM_MESSAGE_CHANNELS // always last
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 7ee82d0959..d488080672 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -5286,7 +5286,7 @@ int stat_modifier( stat_type stat )
case STAT_INTELLIGENCE: return _int_modifier();
case STAT_DEXTERITY: return _dex_modifier();
default:
- mprf(MSGCH_DANGER, "Bad stat: %d", stat);
+ mprf(MSGCH_ERROR, "Bad stat: %d", stat);
return 0;
}
}
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 6069c239d1..de30260db8 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -4651,7 +4651,7 @@ static bool _god_likes_items(god_type god)
return false;
case GOD_NO_GOD: case NUM_GODS: case GOD_RANDOM:
- mprf(MSGCH_DANGER, "Bad god, no biscuit! %d", static_cast<int>(god) );
+ mprf(MSGCH_ERROR, "Bad god, no biscuit! %d", static_cast<int>(god) );
return false;
}
return false;
diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc
index fb9c1975c6..ae8b698e69 100644
--- a/crawl-ref/source/shopping.cc
+++ b/crawl-ref/source/shopping.cc
@@ -1506,7 +1506,7 @@ void shop()
if (i == MAX_SHOPS)
{
- mpr("Help! Non-existent shop.", MSGCH_DANGER);
+ mpr("Help! Non-existent shop.", MSGCH_ERROR);
return;
}
diff --git a/crawl-ref/source/stash.cc b/crawl-ref/source/stash.cc
index ecc2fc9fe1..c6f8bc0ea6 100644
--- a/crawl-ref/source/stash.cc
+++ b/crawl-ref/source/stash.cc
@@ -66,7 +66,7 @@ std::string userdef_annotate_item(const char *s, const item_def *item,
lua_set_exclusive_item(item);
std::string ann;
if (!clua.callfn(s, "u>s", item, &ann) && !clua.error.empty())
- mprf(MSGCH_WARN, "Lua error: %s", clua.error.c_str());
+ mprf(MSGCH_ERROR, "Lua error: %s", clua.error.c_str());
if (exclusive)
lua_set_exclusive_item(NULL);
return (ann);
diff --git a/crawl-ref/source/traps.cc b/crawl-ref/source/traps.cc
index c55a50d2b9..3891154632 100644
--- a/crawl-ref/source/traps.cc
+++ b/crawl-ref/source/traps.cc
@@ -504,7 +504,7 @@ void disarm_trap( struct dist &disa )
if (i == MAX_TRAPS - 1)
{
- mpr("Error - couldn't find that trap.");
+ mpr("Error - couldn't find that trap.", MSGCH_ERROR);
return;
}
}