Clean repo for open source release

Remove build artifacts, dev tool configs, unused dependencies,
and third-party source dumps. Add proper README, update .gitignore,
clean up Makefile.
This commit is contained in:
NotEvil
2026-04-12 00:51:22 +02:00
parent 2e7a1d403b
commit f6466360b6
1947 changed files with 238025 additions and 1 deletions

View File

@@ -0,0 +1,94 @@
package com.tiedup.remake.worldgen;
enum RoomLayout {
SQUARE {
@Override
public boolean isInShape(int rx, int rz) {
return rx >= 0 && rx <= 12 && rz >= 0 && rz <= 12;
}
},
OCTAGONAL {
@Override
public boolean isInShape(int rx, int rz) {
if (rx < 0 || rx > 12 || rz < 0 || rz > 12) return false;
if (rx + rz <= 2) return false;
if ((12 - rx) + rz <= 2) return false;
if (rx + (12 - rz) <= 2) return false;
if ((12 - rx) + (12 - rz) <= 2) return false;
return true;
}
},
CIRCULAR {
@Override
public boolean isInShape(int rx, int rz) {
if (rx < 0 || rx > 12 || rz < 0 || rz > 12) return false;
int dx = rx - 6;
int dz = rz - 6;
return dx * dx + dz * dz <= 36;
}
@Override
public int[][] innerCorners() {
return new int[][] { { 6, 1 }, { 6, 11 }, { 1, 6 }, { 11, 6 } };
}
},
CROSS {
@Override
public boolean isInShape(int rx, int rz) {
if (rx < 0 || rx > 12 || rz < 0 || rz > 12) return false;
return (rx >= 3 && rx <= 9) || (rz >= 3 && rz <= 9);
}
@Override
public int[][] innerCorners() {
return new int[][] { { 3, 3 }, { 3, 9 }, { 9, 3 }, { 9, 9 } };
}
};
public abstract boolean isInShape(int rx, int rz);
public boolean isWall(int rx, int rz) {
if (!isInShape(rx, rz)) return false;
return (
!isInShape(rx - 1, rz) ||
!isInShape(rx + 1, rz) ||
!isInShape(rx, rz - 1) ||
!isInShape(rx, rz + 1)
);
}
/** Is this interior position adjacent to a wall? */
public boolean isWallAdjacent(int rx, int rz) {
if (!isInShape(rx, rz) || isWall(rx, rz)) return false;
return (
isWall(rx - 1, rz) ||
isWall(rx + 1, rz) ||
isWall(rx, rz - 1) ||
isWall(rx, rz + 1)
);
}
/** Returns the 4 innermost corner positions for this layout. */
public int[][] innerCorners() {
return switch (this) {
case SQUARE -> new int[][] {
{ 1, 1 },
{ 1, 11 },
{ 11, 1 },
{ 11, 11 },
};
case OCTAGONAL -> new int[][] {
{ 3, 1 },
{ 1, 9 },
{ 11, 3 },
{ 9, 11 },
};
default -> new int[][] {
{ 1, 1 },
{ 1, 11 },
{ 11, 1 },
{ 11, 11 },
};
};
}
}