-#include "angband.h"\r
+#include "angband.h"\r
#include "grid.h"\r
#include "rooms.h"\r
#include "generate.h"\r
* Note: If two centers are on the same point then this algorithm will create a\r
* blank bubble filled with walls. - This is prevented from happening.\r
*/\r
-static void build_bubble_vault(int x0, int y0, int xsize, int ysize)\r
+static void build_bubble_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize)\r
{\r
#define BUBBLENUM 10 /* number of bubbles */\r
\r
/* array of center points of bubbles */\r
coord center[BUBBLENUM];\r
\r
- int i, j, x, y;\r
+ int i, j;\r
+ POSITION x, y;\r
u16b min1, min2, temp;\r
bool done;\r
\r
/* Offset from center to top left hand corner */\r
- int xhsize = xsize / 2;\r
- int yhsize = ysize / 2;\r
+ POSITION xhsize = xsize / 2;\r
+ POSITION yhsize = ysize / 2;\r
\r
- msg_print_wizard(CHEAT_DUNGEON, _("\96A\8c^\83\89\83\93\83_\83\80Vault\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Room Vault."));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("泡型ランダムVaultを生成しました。", "Room Vault."));\r
\r
/* Allocate center of bubbles */\r
center[0].x = (byte)randint1(xsize - 3) + 1;\r
{\r
/* Get distances to two closest centers */\r
\r
- /* initialize */\r
min1 = (u16b)distance(x, y, center[0].x, center[0].y);\r
min2 = (u16b)distance(x, y, center[1].x, center[1].y);\r
\r
}\r
\r
/* Create a random vault that looks like a collection of overlapping rooms */\r
-static void build_room_vault(int x0, int y0, int xsize, int ysize)\r
+static void build_room_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize)\r
{\r
- int i, x1, x2, y1, y2, xhsize, yhsize;\r
+ POSITION x1, x2, y1, y2, xhsize, yhsize;\r
+ int i;\r
\r
/* get offset from center */\r
xhsize = xsize / 2;\r
yhsize = ysize / 2;\r
\r
- msg_print_wizard(CHEAT_DUNGEON, _("\95\94\89®\8c^\83\89\83\93\83_\83\80Vault\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Room Vault."));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("部屋型ランダムVaultを生成しました。", "Room Vault."));\r
\r
/* fill area so don't get problems with arena levels */\r
for (x1 = 0; x1 < xsize; x1++)\r
{\r
- int x = x0 - xhsize + x1;\r
+ POSITION x = x0 - xhsize + x1;\r
\r
for (y1 = 0; y1 < ysize; y1++)\r
{\r
- int y = y0 - yhsize + y1;\r
+ POSITION y = y0 - yhsize + y1;\r
\r
place_extra_bold(y, x);\r
cave[y][x].info &= (~CAVE_ICKY);\r
\r
\r
/* Create a random vault out of a fractal cave */\r
-static void build_cave_vault(int x0, int y0, int xsiz, int ysiz)\r
+static void build_cave_vault(POSITION x0, POSITION y0, POSITION xsiz, POSITION ysiz)\r
{\r
- int grd, roug, cutoff, xhsize, yhsize, xsize, ysize, x, y;\r
+ int grd, roug, cutoff;\r
bool done, light, room;\r
+ POSITION xhsize, yhsize, xsize, ysize, x, y;\r
\r
/* round to make sizes even */\r
xhsize = xsiz / 2;\r
xsize = xhsize * 2;\r
ysize = yhsize * 2;\r
\r
- msg_print_wizard(CHEAT_DUNGEON, _("\93´\8c\8a\83\89\83\93\83_\83\80Vault\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Cave Vault."));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("洞穴ランダムVaultを生成しました。", "Cave Vault."));\r
\r
light = done = FALSE;\r
room = TRUE;\r
\r
\r
/*!\r
-* @brief Vault\92n\8c`\82ð\89ñ\93]\81A\8fã\89º\8d¶\89E\94½\93]\82·\82é\82½\82ß\82Ì\8dÀ\95W\95Ï\8a·\82ð\95Ô\82· / coordinate translation code\r
-* @param x \95Ï\8a·\82µ\82½\82¢\93_\82ÌX\8dÀ\95W\8eQ\8fÆ\83|\83C\83\93\83^\r
-* @param y \95Ï\8a·\82µ\82½\82¢\93_\82ÌY\8dÀ\95W\8eQ\8fÆ\83|\83C\83\93\83^\r
-* @param xoffset Vault\90¶\90¬\8e\9e\82Ì\8aî\8f\80X\8dÀ\95W\r
-* @param yoffset Vault\90¶\90¬\8e\9e\82Ì\8aî\8f\80Y\8dÀ\95W\r
-* @param transno \8f\88\97\9dID\r
-* @return \82È\82µ\r
+* @brief Vault地形を回転、上下左右反転するための座標変換を返す / coordinate translation code\r
+* @param x 変換したい点のX座標参照ポインタ\r
+* @param y 変換したい点のY座標参照ポインタ\r
+* @param xoffset Vault生成時の基準X座標\r
+* @param yoffset Vault生成時の基準Y座標\r
+* @param transno 処理ID\r
+* @return なし\r
*/\r
static void coord_trans(POSITION *x, POSITION *y, POSITION xoffset, POSITION yoffset, int transno)\r
{\r
\r
\r
/*!\r
-* @brief Vault\82ð\83t\83\8d\83A\82É\94z\92u\82·\82é / Hack -- fill in "vault" rooms\r
-* @param yval \90¶\90¬\8aî\8f\80Y\8dÀ\95W\r
-* @param xval \90¶\90¬\8aî\8f\80X\8dÀ\95W\r
-* @param ymax Vault\82ÌY\83T\83C\83Y\r
-* @param xmax Vault\82ÌX\83T\83C\83Y\r
-* @param data Vault\82Ì\83f\81[\83^\95¶\8e\9a\97ñ\r
-* @param xoffset \95Ï\8a·\8aî\8f\80X\8dÀ\95W\r
-* @param yoffset \95Ï\8a·\8aî\8f\80Y\8dÀ\95W\r
-* @param transno \95Ï\8a·ID\r
-* @return \82È\82µ\r
+* @brief Vaultをフロアに配置する / Hack -- fill in "vault" rooms\r
+* @param yval 生成基準Y座標\r
+* @param xval 生成基準X座標\r
+* @param ymax VaultのYサイズ\r
+* @param xmax VaultのXサイズ\r
+* @param data Vaultのデータ文字列\r
+* @param xoffset 変換基準X座標\r
+* @param yoffset 変換基準Y座標\r
+* @param transno 変換ID\r
+* @return なし\r
*/\r
static void build_vault(POSITION yval, POSITION xval, POSITION ymax, POSITION xmax, cptr data,\r
POSITION xoffset, POSITION yoffset, int transno)\r
\r
/* Hack -- skip "non-grids" */\r
if (*t == ' ') continue;\r
-\r
- /* Access the grid */\r
c_ptr = &cave[y][x];\r
\r
/* Lay down a floor */\r
place_object(y, x, AM_GOOD | AM_GREAT);\r
object_level = base_level;\r
break;\r
+\r
+ case '~':\r
+ set_cave_feat(y, x, feat_shallow_water);\r
+ break;\r
+\r
+ case '=':\r
+ set_cave_feat(y, x, feat_deep_water);\r
+ break;\r
+\r
+ case 'v':\r
+ set_cave_feat(y, x, feat_shallow_lava);\r
+ break;\r
+\r
+ case 'w':\r
+ set_cave_feat(y, x, feat_deep_lava);\r
+ break;\r
+\r
}\r
}\r
}\r
\r
\r
/*!\r
-* @brief \83^\83C\83v7\82Ì\95\94\89®\81cv_info.txt\82æ\82è\8f¬\8c^vault\82ð\90¶\90¬\82·\82é / Type 7 -- simple vaults (see "v_info.txt")\r
-* @return \82È\82µ\r
+* @brief タイプ7の部屋…v_info.txtより小型vaultを生成する / Type 7 -- simple vaults (see "v_info.txt")\r
+* @return なし\r
*/\r
bool build_type7(void)\r
{\r
/* No lesser vault found */\r
if (dummy >= SAFE_MAX_ATTEMPTS)\r
{\r
- msg_print_wizard(CHEAT_DUNGEON, _("\8f¬\8c^\8cÅ\92èVault\82ð\94z\92u\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½\81B", "Could not place lesser vault."));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("小型固定Vaultを配置できませんでした。", "Could not place lesser vault."));\r
return FALSE;\r
}\r
\r
v_ptr = &v_info[2];\r
#endif\r
\r
- /* Message */\r
- msg_format_wizard(CHEAT_DUNGEON, _("\8f¬\8c^Vault(%s)\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Lesser vault (%s)."), v_name + v_ptr->name);\r
+ msg_format_wizard(CHEAT_DUNGEON, _("小型Vault(%s)を生成しました。", "Lesser vault (%s)."), v_name + v_ptr->name);\r
\r
/* Hack -- Build the vault */\r
build_vault(yval, xval, v_ptr->hgt, v_ptr->wid,\r
}\r
\r
/*!\r
-* @brief \83^\83C\83v8\82Ì\95\94\89®\81cv_info.txt\82æ\82è\91å\8c^vault\82ð\90¶\90¬\82·\82é / Type 8 -- greater vaults (see "v_info.txt")\r
-* @return \82È\82µ\r
+* @brief タイプ8の部屋…v_info.txtより大型vaultを生成する / Type 8 -- greater vaults (see "v_info.txt")\r
+* @return なし\r
*/\r
bool build_type8(void)\r
{\r
POSITION xval, yval;\r
POSITION x, y;\r
int transno;\r
- int xoffset, yoffset;\r
+ POSITION xoffset, yoffset;\r
\r
/* Pick a greater vault */\r
for (dummy = 0; dummy < SAFE_MAX_ATTEMPTS; dummy++)\r
/* No greater vault found */\r
if (dummy >= SAFE_MAX_ATTEMPTS)\r
{\r
- msg_print_wizard(CHEAT_DUNGEON, _("\91å\8c^\8cÅ\92èVault\82ð\94z\92u\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½\81B", "Could not place greater vault."));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("大型固定Vaultを配置できませんでした。", "Could not place greater vault."));\r
return FALSE;\r
}\r
\r
v_ptr = &v_info[76 + randint1(3)];\r
#endif\r
\r
- msg_format_wizard(CHEAT_DUNGEON, _("\91å\8c^\8cÅ\92èVault(%s)\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Greater vault (%s)."), v_name + v_ptr->name);\r
+ msg_format_wizard(CHEAT_DUNGEON, _("大型固定Vault(%s)を生成しました。", "Greater vault (%s)."), v_name + v_ptr->name);\r
\r
/* Hack -- Build the vault */\r
build_vault(yval, xval, v_ptr->hgt, v_ptr->wid,\r
* This is made by two concentric "crypts" with perpendicular\r
* walls creating the cross-hairs.\r
*/\r
-static void build_target_vault(int x0, int y0, int xsize, int ysize)\r
+static void build_target_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize)\r
{\r
- int rad, x, y;\r
+ POSITION rad, x, y;\r
\r
/* Make a random metric */\r
- int h1, h2, h3, h4;\r
+ POSITION h1, h2, h3, h4;\r
h1 = randint1(32) - 16;\r
h2 = randint1(16);\r
h3 = randint1(32);\r
h4 = randint1(32) - 16;\r
\r
- msg_print_wizard(CHEAT_DUNGEON, _("\91Î\8fÌ\8c`\83\89\83\93\83_\83\80Vault\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Elemental Vault"));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("対称形ランダムVaultを生成しました。", "Elemental Vault"));\r
\r
/* work out outer radius */\r
if (xsize > ysize)\r
*\r
* Miniture rooms are then scattered across the vault.\r
*/\r
-static void build_elemental_vault(int x0, int y0, int xsiz, int ysiz)\r
+static void build_elemental_vault(POSITION x0, POSITION y0, POSITION xsiz, POSITION ysiz)\r
{\r
int grd, roug;\r
int c1, c2, c3;\r
bool done = FALSE;\r
- int xsize, ysize, xhsize, yhsize, x, y, i;\r
+ POSITION xsize, ysize, xhsize, yhsize, x, y;\r
+ int i;\r
int type;\r
\r
- msg_print_wizard(CHEAT_DUNGEON, _("\90¸\97ì\8aE\83\89\83\93\83_\83\80Vault\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Elemental Vault"));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("精霊界ランダムVaultを生成しました。", "Elemental Vault"));\r
\r
/* round to make sizes even */\r
xhsize = xsiz / 2;\r
* The vault has two entrances on opposite sides to guarantee\r
* a way to get in even if the vault abuts a side of the dungeon.\r
*/\r
-static void build_mini_c_vault(int x0, int y0, int xsize, int ysize)\r
+static void build_mini_c_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize)\r
{\r
- int dy, dx;\r
- int y1, x1, y2, x2, y, x, total;\r
+ POSITION dy, dx;\r
+ POSITION y1, x1, y2, x2, y, x, total;\r
int m, n, num_vertices;\r
int *visited;\r
\r
- msg_print_wizard(CHEAT_DUNGEON, _("\8f¬\8c^\83`\83F\83b\83J\81[\83\89\83\93\83_\83\80Vault\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Mini Checker Board Vault."));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("小型チェッカーランダムVaultを生成しました。", "Mini Checker Board Vault."));\r
\r
/* Pick a random room size */\r
dy = ysize / 2 - 1;\r
*\r
*This makes a vault that looks like a castle/ city in the dungeon.\r
*/\r
-static void build_castle_vault(int x0, int y0, int xsize, int ysize)\r
+static void build_castle_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize)\r
{\r
- int dy, dx;\r
- int y1, x1, y2, x2;\r
- int y, x;\r
+ POSITION dy, dx;\r
+ POSITION y1, x1, y2, x2;\r
+ POSITION y, x;\r
\r
/* Pick a random room size */\r
dy = ysize / 2 - 1;\r
y2 = y0 + dy;\r
x2 = x0 + dx;\r
\r
- msg_print_wizard(CHEAT_DUNGEON, _("\8fé\8c^\83\89\83\93\83_\83\80Vault\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Castle Vault"));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("城型ランダムVaultを生成しました。", "Castle Vault"));\r
\r
/* generate the room */\r
for (y = y1 - 1; y <= y2 + 1; y++)\r
\r
\r
/*!\r
-* @brief \83^\83C\83v10\82Ì\95\94\89®\81c\83\89\83\93\83_\83\80\90¶\90¬vault / Type 10 -- Random vaults\r
-* @return \82È\82µ\r
+* @brief タイプ10の部屋…ランダム生成vault / Type 10 -- Random vaults\r
+* @return なし\r
*/\r
bool build_type10(void)\r
{\r
POSITION y0, x0, xsize, ysize, vtype;\r
\r
- /* Get size */\r
/* big enough to look good, small enough to be fairly common. */\r
xsize = randint1(22) + 22;\r
ysize = randint1(11) + 11;\r
\r
\r
/*!\r
-* @brief \83^\83C\83v16\82Ì\95\94\89®\81cv_info.txt\82æ\82è\8cÅ\92è\93Á\8eê\95\94\89®\82ð\90¶\90¬\82·\82é / Type 16 -- fixed special room (see "v_info.txt")\r
-* @return \82È\82µ\r
+* @brief タイプ16の部屋…v_info.txtより固定特殊部屋を生成する / Type 16 -- fixed special room (see "v_info.txt")\r
+* @return なし\r
*/\r
bool build_type17(void)\r
{\r
/* No lesser vault found */\r
if (dummy >= SAFE_MAX_ATTEMPTS)\r
{\r
- msg_print_wizard(CHEAT_DUNGEON, _("\8cÅ\92è\93Á\8eê\95\94\89®\82ð\94z\92u\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½\81B", "Could not place fixed special room."));\r
+ msg_print_wizard(CHEAT_DUNGEON, _("固定特殊部屋を配置できませんでした。", "Could not place fixed special room."));\r
return FALSE;\r
}\r
\r
v_ptr = &v_info[2];\r
#endif\r
\r
- /* Message */\r
- msg_format_wizard(CHEAT_DUNGEON, _("\93Á\8eê\8cÅ\92è\95\94\89®(%s)\82ð\90¶\90¬\82µ\82Ü\82µ\82½\81B", "Special Fix room (%s)."), v_name + v_ptr->name);\r
+ msg_format_wizard(CHEAT_DUNGEON, _("特殊固定部屋(%s)を生成しました。", "Special Fix room (%s)."), v_name + v_ptr->name);\r
\r
/* Hack -- Build the vault */\r
build_vault(yval, xval, v_ptr->hgt, v_ptr->wid,\r