OSDN Git Service

Add Deeangband::GenerateFloor().
[deeangband/Deeangband-new.git] / Deeangband / Deeangband.h
1 #pragma once
2
3 #include "resource.h"
4
5 #define GAME_TITLE "D'angband"
6 #define WINDOW_WIDTH 800
7 #define WINDOW_HEIGHT 480
8
9 #define CREATURE_MAX_SOUL 999999999L //!< \8dÅ\91å\83\\83E\83\8b\92l
10 #define CREATURE_MAX_GOLD 999999999L //!< \8dÅ\91å\83S\81[\83\8b\83h\92l
11 #define CREATURE_MAX_MORTAL_LEVEL 30 //!< \92è\96½\8dÅ\91å\83\8c\83x\83\8b
12 #define CREATURE_MAX_DIVINE_LEVEL 30 //!< \90_\8ai\8dÅ\91å\92l
13 #define CREATURE_MAX_LEVEL CREATURE_MAX_MORTAL_LEVEL+CREATURE_MAX_DIVINE_LEVEL //!< \90_\8ai\8d\9e\82Ý\8dÅ\91å\83\8c\83x\83\8b
14
15 #define SPECIAL_NAME_UNKNOWN "UNKNOWN" //!< \96¼\8fÌ\82Ì\83_\83~\81[\96¼
16 #define SPECIAL_TAG_UNKNOWN "XXX_UNKNOWN" //!< \83Q\81[\83\80\97v\91f\83^\83O\82Ì\83_\83~\81[\96¼
17 #define CAMP_VARIABLE -1     //!< \8f\8a\91®\90w\89c\81F\96¢\8cÅ\92è\81iSpecies\83N\83\89\83X\8e\9e\82Ì\82Ý\81j
18 #define CAMP_FLOOR_NATIVE -2 //!< \8f\8a\91®\90w\89c\81F\83t\83\8d\83A\93y\92\85
19
20 /*!
21  * \83Q\81[\83\80\83R\83}\83\93\83h\92è\8b`
22  */
23 typedef enum GAME_COMMAND
24 {
25         GAME_COMMAND_VIEW_PLAYER_STATUS,
26         GAME_COMMAND_REDRAW,
27         GAME_COMMAND_DEBUG_XML_SAVE,
28         GAME_COMMAND_DEBUG_XML_LOAD,
29         GAME_COMMAND_EXIT
30 } GAME_COMMAND;
31
32 /*!
33  * \83v\83\8c\83C\8fI\97¹\83R\81[\83h
34  */
35 typedef enum PLAY_EXIT_CODE
36 {
37         PLAY_EXIT_NONE,  //!<\83v\83\8c\83C\8fI\97¹\83R\81[\83h:\82È\82µ(\83v\83\8c\83C\8cp\91±)
38         PLAY_EXIT_DEAD,  //!<\83v\83\8c\83C\8fI\97¹\83R\81[\83h:\83Q\81[\83\80\83I\81[\83o\81[
39         PLAY_EXIT_QUIT,  //!<\83v\83\8c\83C\8fI\97¹\83R\81[\83h:\92Ê\8fí\8fI\97¹
40         PLAY_EXIT_ERROR, //!<\83v\83\8c\83C\8fI\97¹\83R\81[\83h:\88Ù\8fí\8fI\97¹
41 } PLAY_EXIT_CODE;
42
43 /*!
44  * \91\95\94õ\95\94\88Ê
45  */
46 typedef enum EQUIP_SLOT
47 {
48         SLOT_ID_INVENTORY,  //!<\91\95\94õ\95\94\88Ê: \8f\8a\8e\9d
49         SLOT_ID_HAND,       //!<\91\95\94õ\95\94\88Ê: \8eè
50         SLOT_ID_AMMO,       //!<\91\95\94õ\95\94\88Ê: \92e\96ò
51         SLOT_ID_RING,       //!<\91\95\94õ\95\94\88Ê: \8ew\97Ö
52         SLOT_ID_AMULET,     //!<\91\95\94õ\95\94\88Ê: \83A\83~\83\85\83\8c\83b\83g
53         SLOT_ID_BODY,       //!<\91\95\94õ\95\94\88Ê: \91Ì
54         SLOT_ID_OUTER,      //!<\91\95\94õ\95\94\88Ê: \91Ì\82Ì\8fã
55         SLOT_ID_HEAD,       //!<\91\95\94õ\95\94\88Ê: \93ª\95\94
56         SLOT_ID_ARMS,       //!<\91\95\94õ\95\94\88Ê: \98r\95\94
57         SLOT_ID_FEET,       //!<\91\95\94õ\95\94\88Ê: \8br\95\94
58         SLOT_ID_INSTRUMENT, //!<\91\95\94õ\95\94\88Ê: \8ay\8aí
59         SLOT_ID_LITE,       //!<\91\95\94õ\95\94\88Ê: \8cõ\8c¹
60         SLOT_ID_TAIL,       //!<\91\95\94õ\95\94\88Ê: \94ö\95\94
61         SLOT_ID_INTAKE,     //!<\91\95\94õ\95\94\88Ê: \8eæ\8d\9e
62         SLOT_ID_ORGAN,      //!<\91\95\94õ\95\94\88Ê: \8aí\8a¯
63         MAX_SLOT_IDS        //!<\91\95\94õ\95\94\88Ê\90\94
64 } EQUIP_SLOT;
65
66 /*!
67  * \95û\8ap
68  */
69 typedef enum DIRECTION
70 {
71         DIRECTION_NORTH_EAST,
72         DIRECTION_EAST,
73         DIRECTION_SOUTH_EAST,
74         DIRECTION_SOUTH,
75         DIRECTION_SOUTH_WEST,
76         DIRECTION_WEST,
77         DIRECTION_NORTH_WEST,
78         DIRECTION_NORTH,
79         DIRECTION_STAY,
80         MAX_DIRECTION        //!<\91\95\94õ\95\94\88Ê\90\94
81 } DIRECTION;
82
83 /*!
84  * @brief \83N\83\8a\81[\83`\83\83\81[\82Ì\8aî\91b\94\\97Í\92l6\8eí\82Ì\97ñ\8b\93\91Ì
85  */
86 enum CREATURE_STATUS
87 {
88         CS_STR, /*!<\98r\97Í*/
89         CS_INT, /*!<\92m\97Í*/
90         CS_WIS, /*!<\8c«\82³*/
91         CS_DEX, /*!<\8aí\97p*/
92         CS_CON, /*!<\91Ï\8bv*/
93         CS_CHA, /*!<\96£\97Í*/
94         CS_MAX  /*!<\91\8d\90\94:6*/
95 };
96
97 class Authority;
98 class BaseStatusTable;
99 class Building;
100 class Coordinates;
101 class Creature;
102 class CreatureTemplate;
103 class CreatureTrait;
104 class Dice;
105 class Discipline;
106 class Door;
107 class Dungeon;
108 class Effect;
109 class GameElement;
110 class GameSurfaceSDL;
111 class GameWorld;
112 class Feature;
113 class FixedArtifact;
114 class Floor;
115 class Item;
116 class ItemBase;
117 class ItemEgo;
118 class ItemTemplate;
119 class Karma;
120 class Skill;
121 class Square;
122 class Trap;
123
124 typedef int BASE_STATUS; //!< \8aî\91b\94\\97Í\92l\82Ì\95Ï\90\94\8c^
125 typedef int LEVEL;  //!< LEVEL\82Ì\95Ï\90\94\8c^
126 typedef int HP;     //!< HP\82Ì\95Ï\90\94\8c^
127 typedef int MP;     //!< MP\82Ì\95Ï\90\94\8c^
128 typedef int FEED;     //!< \8e \97{\93x\82Ì\95Ï\90\94\8c^
129 typedef int64_t SOUL;   //!< \83\\83E\83\8b\82Ì\95Ï\90\94\8c^
130 typedef int DISCIPLINE_POINT; //!< \8fC\97{\92l\82Ì\95Ï\90\94\8c^
131 typedef int AC;     //!< \8aæ\8c\92\90«
132 typedef int EV;     //!< \89ñ\94ð\97Í
133 typedef int VO;     //!< \88Ó\8eu\97Í
134 typedef int ID;     //!< \83Q\81[\83\80\97v\91fID
135 typedef std::string TAG;  //!< \83Q\81[\83\80\97v\91f\95\8e\9a\97ñID
136 typedef std::string NAME; //!< \96¼\8fÌ
137 typedef int HEIGHT; //!< \92·\82³
138 typedef int WEIGHT; //!< \8fd\97Ê
139 typedef int DEPTH;  //!< \8aK\91w\90[\93x
140 typedef int NUMBER; //!< \8cÂ\90\94
141 typedef int PPM;    //!< \95S\96\9c\95ª\97¦
142 typedef int MAP_LENGTH;   //!<\83}\83b\83v\8b\97\97£
143 typedef int POWER;        //!<\8cø\97Í
144 typedef int BODY_SIZE;    //!<\91Ì\8ai
145 typedef int GAME_TIME;    //!<\83Q\81[\83\80\8e\9e\8aÔ
146 typedef int TURN;         //!<\83^\81[\83\93\90\94
147 typedef int SKILL_EXP;    //!<\83X\83L\83\8b\8co\8c±\92l
148 typedef int SKILL_RANK;   //!<\83X\83L\83\8b\83\89\83\93\83N