muffin v7.5.11

This commit is contained in:
alydev 2026-08-17 20:29:32 +10:00
parent addf2d530f
commit 3102923ce2
522 changed files with 41082 additions and 211592 deletions

View file

@ -16,87 +16,34 @@ public sealed class SubRegionDefinition
public bool Contains(float x, float y, float z)
{
int num = ((!MinY.HasValue) ? 292211161 : 292211158);
float x2 = default(float);
float x3 = default(float);
float z2 = default(float);
float z3 = default(float);
int count = default(int);
int num7 = default(int);
int index = default(int);
bool flag = default(bool);
while (true)
if (MinY.HasValue && y < MinY.Value)
{
int num2 = num;
int num3 = 292211164;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 9:
num = ((!(x < (x2 - x3) * (z - z2) / (z3 - z2) + x3)) ? 292211166 : 292211160);
break;
case 10:
num = ((!(y < MinY.Value)) ? 292211161 : 292211153);
break;
case 13:
return false;
case 8:
count = Vertices.Count;
num = ((count >= 3) ? 292211165 : 292211159);
break;
case 2:
{
int num9 = num7;
num3 = 1;
num4 = num9;
num7 = (num4 | num3) + (num4 & num3);
index = num9;
num = 292211162;
break;
}
case 11:
return false;
case 5:
num = ((!MaxY.HasValue) ? 292211156 : 292211154);
break;
case 14:
num = ((!(y > MaxY.Value)) ? 292211156 : 292211163);
break;
case 12:
x3 = Vertices[num7].X;
z2 = Vertices[num7].Z;
x2 = Vertices[index].X;
z3 = Vertices[index].Z;
num = ((z2 > z == z3 > z) ? 292211166 : 292211157);
break;
case 3:
return flag;
case 1:
{
flag = false;
num7 = 0;
int num8 = count;
num3 = 1;
num4 = num8;
index = ~(~num4 + num3);
num = 292211162;
break;
}
case 7:
return false;
case 0:
num = 292211158;
break;
case 4:
flag = !flag;
num = 292211166;
break;
case 6:
num = ((num7 < count) ? 292211152 : 292211167);
break;
}
return false;
}
if (MaxY.HasValue && y > MaxY.Value)
{
return false;
}
int count = Vertices.Count;
if (count < 3)
{
return false;
}
bool flag = false;
int num = 0;
int index = count - 1;
while (num < count)
{
float x2 = Vertices[num].X;
float z2 = Vertices[num].Z;
float x3 = Vertices[index].X;
float z3 = Vertices[index].Z;
if (z2 > z != z3 > z && x < (x3 - x2) * (z - z2) / (z3 - z2) + x2)
{
flag = !flag;
}
index = num++;
}
return flag;
}
}