summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tags.h
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-05-25 01:29:27 +0200
committerRobert Vollmert <rvollmert@gmx.net>2010-07-28 19:21:46 +0200
commit0d0c82d5f7445506631bf78a800d22ea554c7fe7 (patch)
treea8048845a1b7af82ed219e8d1313987255fd1efe /crawl-ref/source/tags.h
parent8f49829c07527cc5d5b9eabbad7e6d6c71d46753 (diff)
downloadcrawl-ref-0d0c82d5f7445506631bf78a800d22ea554c7fe7.tar.gz
crawl-ref-0d0c82d5f7445506631bf78a800d22ea554c7fe7.zip
Make monster_info store all the player's knowledge on a monster (v3)
Changes in v3 (rob): - update for master (bleeding, deflect missiles, ...) - fix misled not ending - fix all monsters getting extreme fire resistance Changes in v2: - add operator = monster_info is changed from the monster list's structure to a general purpose structure storing player-known information about a monster. The plan is to make all the user interface code read data from moster_info, so that: 1. There is no risk of accidental leaks, since all the sensitive code is in one place 2. Complicated things like misled and fake monsters are correctly handled, and the code exists once 3. The structure can be serialized for client/server play, and the deserialized structure can be passed to the UI code (this is still theoretical) This will be done in a successive patch. Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
Diffstat (limited to 'crawl-ref/source/tags.h')
-rw-r--r--crawl-ref/source/tags.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/crawl-ref/source/tags.h b/crawl-ref/source/tags.h
index acd36801da..4e6db8c300 100644
--- a/crawl-ref/source/tags.h
+++ b/crawl-ref/source/tags.h
@@ -13,6 +13,7 @@
#include "tag-version.h"
struct show_type;
+struct monster_info;
enum tag_type // used during save/load process to identify data blocks
{
@@ -135,6 +136,7 @@ void marshallString4 (writer &, const std::string &);
void marshallCoord (writer &, const coord_def &);
void marshallItem (writer &, const item_def &);
void marshallMonster (writer &, const monsters &);
+void marshallMonsterInfo (writer &, const monster_info &);
void marshallShowtype (writer &, const show_type &);
void marshallEnumVal (writer &, const enum_info *, int);
@@ -192,6 +194,7 @@ void unmarshallString4 (reader &, std::string&);
coord_def unmarshallCoord (reader &);
void unmarshallItem (reader &, item_def &item);
void unmarshallMonster (reader &, monsters &item);
+void unmarshallMonsterInfo (reader &, monster_info &mi);
show_type unmarshallShowtype (reader &);
int unmarshallEnumVal (reader &, const enum_info *);