Use integer for rotation
This commit is contained in:
@@ -133,79 +133,53 @@ protected:
|
||||
int check;
|
||||
int mask;
|
||||
String item;
|
||||
Basis basis;
|
||||
int basis_rot;
|
||||
Vector3 offset;
|
||||
bool exterior;
|
||||
};
|
||||
struct pmatch match_data[] = {
|
||||
{ 1, 1 | 256, "outside-wall", Basis(),
|
||||
{ 1, 1 | 256, "outside-wall", 0,
|
||||
Vector3(0, 0, -2), true },
|
||||
{ 2, 2 | 512, "outside-wall",
|
||||
Basis().rotated(Vector3(0, 1, 0), Math_PI),
|
||||
{ 2, 2 | 512, "outside-wall", 2,
|
||||
Vector3(0, 0, 2), true },
|
||||
{ 4, 4 | 1024, "outside-wall",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
Math_PI / 2),
|
||||
{ 4, 4 | 1024, "outside-wall", 1,
|
||||
Vector3(-2, 0, 0), true },
|
||||
{ 8, 8 | 2048, "outside-wall",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
-Math_PI / 2),
|
||||
{ 8, 8 | 2048, "outside-wall", -1,
|
||||
Vector3(2, 0, 0), true },
|
||||
{ 2 | 8, 2 | 8, "outside-wall-corner",
|
||||
Basis().rotated(Vector3(0, 1, 0), Math_PI),
|
||||
{ 2 | 8, 2 | 8, "outside-wall-corner", 2,
|
||||
Vector3(2, 0, 2), true },
|
||||
{ 1 | 4, 1 | 4, "outside-wall-corner",
|
||||
Basis().rotated(Vector3(0, 1, 0), 0),
|
||||
{ 1 | 4, 1 | 4, "outside-wall-corner", 0,
|
||||
Vector3(-2, 0, -2), true },
|
||||
{ 1 | 8, 1 | 8, "outside-wall-corner",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
-Math_PI / 2),
|
||||
{ 1 | 8, 1 | 8, "outside-wall-corner", -1,
|
||||
Vector3(2, 0, -2), true },
|
||||
{ 2 | 4, 2 | 4, "outside-wall-corner",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
Math_PI / 2),
|
||||
{ 2 | 4, 2 | 4, "outside-wall-corner", 1,
|
||||
Vector3(-2, 0, 2), true },
|
||||
{ 16, 16 | 256 | 4096, "internal-wall", Basis(),
|
||||
{ 16, 16 | 256 | 4096, "internal-wall", 0,
|
||||
Vector3(0, 0, -2), false },
|
||||
{ 32, 32 | 512 | 8192, "internal-wall",
|
||||
Basis().rotated(Vector3(0, 1, 0), Math_PI),
|
||||
{ 32, 32 | 512 | 8192, "internal-wall", 2,
|
||||
Vector3(0, 0, 2), false },
|
||||
{ 64, 64 | 1024 | 16384, "internal-wall",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
Math_PI / 2),
|
||||
{ 64, 64 | 1024 | 16384, "internal-wall", 1,
|
||||
Vector3(-2, 0, 0), false },
|
||||
{ 128, 128 | 2048 | 32768, "internal-wall",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
-Math_PI / 2),
|
||||
{ 128, 128 | 2048 | 32768, "internal-wall", -1,
|
||||
Vector3(2, 0, 0), false },
|
||||
{ 16, 16 | 256, "internal-wall-skirting",
|
||||
Basis(), Vector3(0, 0, -2), false },
|
||||
{ 32, 32 | 512, "internal-wall-skirting",
|
||||
Basis().rotated(Vector3(0, 1, 0), Math_PI),
|
||||
{ 16, 16 | 256, "internal-wall-skirting", 0,
|
||||
Vector3(0, 0, -2), false },
|
||||
{ 32, 32 | 512, "internal-wall-skirting", 2,
|
||||
Vector3(0, 0, 2), false },
|
||||
{ 64, 64 | 1024, "internal-wall-skirting",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
Math_PI / 2),
|
||||
{ 64, 64 | 1024, "internal-wall-skirting", 1,
|
||||
Vector3(-2, 0, 0), false },
|
||||
{ 128, 128 | 2048, "internal-wall-skirting",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
-Math_PI / 2),
|
||||
{ 128, 128 | 2048, "internal-wall-skirting", -1,
|
||||
Vector3(2, 0, 0), false },
|
||||
{ 16 | 4096, 16 | 256 | 4096, "internal-door",
|
||||
Basis(), Vector3(0, 0, -2), false },
|
||||
0, Vector3(0, 0, -2), false },
|
||||
{ 32 | 8192, 32 | 512 | 8192, "internal-door",
|
||||
Basis().rotated(Vector3(0, 1, 0), Math_PI),
|
||||
Vector3(0, 0, 2), false },
|
||||
2, Vector3(0, 0, 2), false },
|
||||
{ 64 | 16384, 64 | 1024 | 16384,
|
||||
"internal-door",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
Math_PI / 2),
|
||||
Vector3(-2, 0, 0), false },
|
||||
"internal-door", 1, Vector3(-2, 0, 0),
|
||||
false },
|
||||
{ 128 | 32768, 128 | 2048 | 32768,
|
||||
"internal-door",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
-Math_PI / 2),
|
||||
Vector3(2, 0, 0), false },
|
||||
"internal-door", -1, Vector3(2, 0, 0),
|
||||
false },
|
||||
#if 0
|
||||
{ 1 | 256, 1 | 256, "external-window",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
@@ -216,31 +190,21 @@ protected:
|
||||
-Math_PI / 2),
|
||||
Vector3(2, 0, 0), false }
|
||||
#endif
|
||||
{ 1 | 256, 1 | 256, "outside-window", Basis(),
|
||||
{ 1 | 256, 1 | 256, "outside-window", 0,
|
||||
Vector3(0, 0, -2), true },
|
||||
{ 2 | 512, 2 | 512, "outside-window",
|
||||
Basis().rotated(Vector3(0, 1, 0), Math_PI),
|
||||
{ 2 | 512, 2 | 512, "outside-window", 2,
|
||||
Vector3(0, 0, 2), true },
|
||||
{ 4 | 1024, 4 | 1024, "outside-window",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
Math_PI / 2),
|
||||
{ 4 | 1024, 4 | 1024, "outside-window", 1,
|
||||
Vector3(-2, 0, 0), true },
|
||||
{ 8 | 2048, 8 | 2048, "outside-window",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
-Math_PI / 2),
|
||||
{ 8 | 2048, 8 | 2048, "outside-window", -1,
|
||||
Vector3(2, 0, 0), true },
|
||||
{ 16 | 256, 16 | 256, "internal-window",
|
||||
Basis(), Vector3(0, 0, -2), false },
|
||||
{ 32 | 512, 32 | 512, "internal-window",
|
||||
Basis().rotated(Vector3(0, 1, 0), Math_PI),
|
||||
{ 16 | 256, 16 | 256, "internal-window", 0,
|
||||
Vector3(0, 0, -2), false },
|
||||
{ 32 | 512, 32 | 512, "internal-window", 2,
|
||||
Vector3(0, 0, 2), false },
|
||||
{ 64 | 1024, 64 | 1024, "internal-window",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
Math_PI / 2),
|
||||
{ 64 | 1024, 64 | 1024, "internal-window", 1,
|
||||
Vector3(-2, 0, 0), false },
|
||||
{ 128 | 2048, 128 | 2048, "internal-window",
|
||||
Basis().rotated(Vector3(0, 1, 0),
|
||||
-Math_PI / 2),
|
||||
{ 128 | 2048, 128 | 2048, "internal-window", -1,
|
||||
Vector3(2, 0, 0), false },
|
||||
};
|
||||
struct match_window {
|
||||
@@ -293,8 +257,11 @@ protected:
|
||||
match_data[i].item);
|
||||
assert(id >= 0);
|
||||
Transform item_transform;
|
||||
item_transform.basis =
|
||||
match_data[i].basis;
|
||||
item_transform.basis = Basis().rotated(
|
||||
Vector3(0, 1, 0),
|
||||
Math_PI *
|
||||
match_data[i].basis_rot /
|
||||
2);
|
||||
item_transform.origin =
|
||||
match_data[i].offset;
|
||||
if (match_data[i].exterior)
|
||||
|
||||
Reference in New Issue
Block a user