OSDN Git Service

Loreによるマップ記憶に基づいた描画を実装。 / Implement drawing map by memory from Lore.
[deeangband/Deeangband-new.git] / Deeangband / Deeangband.h
index 454e8a8..f5503d5 100644 (file)
@@ -3,8 +3,21 @@
 #include "resource.h"
 
 #define GAME_TITLE "D'angband"
-#define WINDOW_WIDTH 800
-#define WINDOW_HEIGHT 480
+#define WINDOW_WIDTH 1024
+#define WINDOW_HEIGHT 800
+
+#define CREATURE_MAX_SOUL 999999999L //!< \8dÅ\91å\83\\83E\83\8b\92l
+#define CREATURE_MAX_GOLD 999999999L //!< \8dÅ\91å\83S\81[\83\8b\83h\92l
+#define CREATURE_MAX_MORTAL_LEVEL 30 //!< \92è\96½\8dÅ\91å\83\8c\83x\83\8b
+#define CREATURE_MAX_DIVINE_LEVEL 30 //!< \90_\8ai\8dÅ\91å\92l
+#define FIELD_MAX_WIDTH  65535  //!< \83t\83B\81[\83\8b\83h\8dÅ\91å\95\9d 
+#define FIELD_MAX_HEIGHT 65535  //!< \83t\83B\81[\83\8b\83h\8dÅ\91å\8d\82\82³
+#define CREATURE_MAX_LEVEL CREATURE_MAX_MORTAL_LEVEL+CREATURE_MAX_DIVINE_LEVEL //!< \90_\8ai\8d\9e\82Ý\8dÅ\91å\83\8c\83x\83\8b
+
+#define SPECIAL_NAME_UNKNOWN "UNKNOWN" //!< \96¼\8fÌ\82Ì\83_\83~\81[\96¼
+#define SPECIAL_TAG_UNKNOWN "XXX_UNKNOWN" //!< \83Q\81[\83\80\97v\91f\83^\83O\82Ì\83_\83~\81[\96¼
+
+#define TAG_VARIABLE "VARIABLE" //!< \97v\91f\89Â\95Ï\83^\83O
 
 /*!
  * \83Q\81[\83\80\83R\83}\83\93\83h\92è\8b`
@@ -13,7 +26,18 @@ typedef enum GAME_COMMAND
 {
        GAME_COMMAND_VIEW_PLAYER_STATUS,
        GAME_COMMAND_REDRAW,
-       GAME_COMMAND_EXIT
+       GAME_COMMAND_DEBUG_XML_SAVE,
+       GAME_COMMAND_DEBUG_XML_LOAD,
+       GAME_COMMAND_EXIT,
+       GAME_COMMAND_STAY,
+       GAME_COMMAND_NORTH,
+       GAME_COMMAND_NORTH_EAST,
+       GAME_COMMAND_EAST,
+       GAME_COMMAND_SOUTH_EAST,
+       GAME_COMMAND_SOUTH,
+       GAME_COMMAND_SOUTH_WEST,
+       GAME_COMMAND_WEST,
+       GAME_COMMAND_NORTH_WEST,
 } GAME_COMMAND;
 
 /*!
@@ -50,33 +74,91 @@ typedef enum EQUIP_SLOT
        MAX_SLOT_IDS        //!<\91\95\94õ\95\94\88Ê\90\94
 } EQUIP_SLOT;
 
+/*!
+ * \95û\8ap
+ */
+typedef enum DIRECTION
+{
+       DIRECTION_NORTH_EAST,
+       DIRECTION_EAST,
+       DIRECTION_SOUTH_EAST,
+       DIRECTION_SOUTH,
+       DIRECTION_SOUTH_WEST,
+       DIRECTION_WEST,
+       DIRECTION_NORTH_WEST,
+       DIRECTION_NORTH,
+       DIRECTION_STAY,
+       MAX_DIRECTION        //!<\91\95\94õ\95\94\88Ê\90\94
+} DIRECTION;
+
+/*!
+ * @brief \83N\83\8a\81[\83`\83\83\81[\82Ì\8aî\91b\94\\97Í\92l6\8eí\82Ì\97ñ\8b\93\91Ì
+ */
+enum CREATURE_STATUS
+{
+       CS_STR, /*!<\98r\97Í*/
+       CS_INT, /*!<\92m\97Í*/
+       CS_WIS, /*!<\8c«\82³*/
+       CS_DEX, /*!<\8aí\97p*/
+       CS_CON, /*!<\91Ï\8bv*/
+       CS_CHA, /*!<\96£\97Í*/
+       CS_MAX  /*!<\91\8d\90\94:6*/
+};
+
+class Authority;
+class BaseStatusTable;
+class Building;
+class Coordinates;
 class Creature;
 class CreatureTemplate;
+class CreatureTrait;
+class Dice;
+class Discipline;
+class Door;
 class Dungeon;
 class Effect;
 class GameElement;
+class GameSurfaceSDL;
 class GameWorld;
-class Feature;
 class Floor;
+class FixedArtifact;
+class Field;
+class Item;
+class ItemBase;
+class ItemEgo;
+class ItemTemplate;
+class Karma;
+class Skill;
 class Square;
-class Door;
 class Trap;
 
-typedef int BASE_STATUS; /*!< \8aî\91b\94\\97Í\92l\82Ì\95Ï\90\94\8c^ */
-typedef int HP;     /*!< HP\82Ì\95Ï\90\94\8c^ */
-typedef int MP;     /*!< MP\82Ì\95Ï\90\94\8c^ */
-typedef int SOUL;   /*!< \83\\83E\83\8b\82Ì\95Ï\90\94\8c^ */
-typedef int DISCIPLINE_POINT; /*!< \8fC\97{\92l\82Ì\95Ï\90\94\8c^ */
+typedef int BASE_STATUS; //!< \8aî\91b\94\\97Í\92l\82Ì\95Ï\90\94\8c^
+typedef int LEVEL;  //!< LEVEL\82Ì\95Ï\90\94\8c^
+typedef int HP;     //!< HP\82Ì\95Ï\90\94\8c^
+typedef int MP;     //!< MP\82Ì\95Ï\90\94\8c^
+typedef int FEED;     //!< \8e \97{\93x\82Ì\95Ï\90\94\8c^
+typedef int64_t SOUL;   //!< \83\\83E\83\8b\82Ì\95Ï\90\94\8c^
+typedef int DISCIPLINE_POINT; //!< \8fC\97{\92l\82Ì\95Ï\90\94\8c^
 typedef int AC;     //!< \8aæ\8c\92\90«
 typedef int EV;     //!< \89ñ\94ð\97Í
 typedef int VO;     //!< \88Ó\8eu\97Í
 typedef int ID;     //!< \83Q\81[\83\80\97v\91fID
-typedef string TAG; //!< \83Q\81[\83\80\97v\91f\95\8e\9a\97ñID
-typedef int HEIGHT; //!< \92·\82³
-typedef int WEIGHT; //!< \8fd\97Ê
+typedef std::string TAG;  //!< \83Q\81[\83\80\97v\91f\95\8e\9a\97ñID
+typedef std::string NAME; //!< \96¼\8fÌ
+typedef std::string DESCRIPTION; //!< \89ð\90à
+typedef std::string SYMBOL; //!< \83V\83\93\83{\83\8b
+typedef double HEIGHT; //!< \92·\82³
+typedef double WEIGHT; //!< \8fd\97Ê
 typedef int DEPTH;  //!< \8aK\91w\90[\93x
+typedef int RARITY;  //!< \83\8c\83A\83\8a\83e\83B
 typedef int NUMBER; //!< \8cÂ\90\94
 typedef int PPM;    //!< \95S\96\9c\95ª\97¦
-typedef int MAP_LENGTH; //!<\83}\83b\83v\8b\97\97£
-typedef int POWER;     //!<\8cø\97Í
+typedef int MAP_LENGTH;   //!<\83}\83b\83v\8b\97\97£
+typedef int POWER;        //!<\8cø\97Í
+typedef int BODY_SIZE;    //!<\91Ì\8ai
+typedef int GAME_TIME;    //!<\83Q\81[\83\80\8e\9e\8aÔ
+typedef int TURN;         //!<\83^\81[\83\93\90\94
+typedef int ACTION_WAIT;  //!<\8ds\93®\83E\83F\83C\83g\90\94
+typedef int SKILL_EXP;    //!<\83X\83L\83\8b\8co\8c±\92l
+typedef int SKILL_RANK;   //!<\83X\83L\83\8b\83\89\83\93\83N