/* Mapgen */
-static bool check_direction(int x, int y, enum direction dir)
-{
- if (dir % 2 == 0)
- return is_solid(x + 1, y) && is_solid(x - 1, y) && (is_solid(x, y + 1) || rand() % 3 > 1) && (is_solid(x, y - 1) || rand() % 3 > 1);
- else
- return is_solid(x, y + 1) && is_solid(x, y - 1) && (is_solid(x + 1, y) || rand() % 3 > 1) && (is_solid(x - 1, y) || rand() % 3 > 1);
-}
-
static void mapgen_set_air(int x, int y)
{
if (is_outside(x, y))
static void generate_room(int origin_x, int origin_y)
{
- int left = 5 + rand() % 15;
- int right = 5 + rand() % 15;
+ int left = 5 + rand() % 10;
+ int right = 5 + rand() % 10;
int up = 0;
int down = 0;
}
}
+static bool check_direction(int x, int y, enum direction dir)
+{
+ if (dir % 2 == 0)
+ return is_solid(x + 1, y) && is_solid(x - 1, y) && (is_solid(x, y + 1) || rand() % 3 > 1) && (is_solid(x, y - 1) || rand() % 3 > 1);
+ else
+ return is_solid(x, y + 1) && is_solid(x, y - 1) && (is_solid(x + 1, y) || rand() % 3 > 1) && (is_solid(x - 1, y) || rand() % 3 > 1);
+}
+
static void generate_corridor(int lx, int ly, enum direction ldir)
{
if (is_outside(lx, ly))