186 float x =
source.position.X;
187 float y =
source.position.Y;
189 int height =
source.height;
200 float x =
source.position.X;
201 bool active =
source.active;
326 return num2 != 0 &&
false;
346 if (
y1 == 0 ||
x2 != 0)
435 bool flag = tile.
active();
463 byte liquid = tile.
liquid;
1224 bool flag = tile.
active();
1313 bool flag = tile.
active();
1323 public static void StepDown(
Vector2 position,
Vector2 velocity,
int width,
int height,
float stepSpeed,
float gfxOffY,
int gravDir = 1,
bool waterWalk =
false)
1326 float x = position.
X;
1327 float y = position.
Y;
1340 float x2 = position.
X;
1341 float y2 = position.
Y;
1347 float x = position.
X;
1348 float y = position.
Y;
1395 int width = entity.
width;
1396 int height = entity.
height;
1425 int height = entity.
height;
class f__AnonymousType0<< Count > j__TPar
static byte Min(byte val1, byte val2)
static int Sign(double value)
static bool CanHit(Entity source, Entity target)
static bool GetWaterLineIterate(Point pt, [Out] float waterLineHeight)
static bool InTileBounds(int x, int y, int lx, int ly, int hx, int hy)
static bool SolidTiles(int startX, int endX, int startY, int endY, bool allowTopSurfaces)
static void AimingLaserScan(Vector2 startPoint, Vector2 endPoint, float samplingWidth, int samplesToTake, [Out] Vector2 vectorTowardsTarget, [Out] float[] samples)
static bool CanHitWithCheck(Vector2 Position1, int Width1, int Height1, Vector2 Position2, int Width2, int Height2, Utils.TileActionAttempt check)
static List< int > dummyLaserScanList
static float[] FindOverlapPoints(float relativePoint1, float relativePoint2)
static bool SolidTiles(int startX, int endX, int startY, int endY)
static Vector2[] OneDimensionalIntersection(Vector2 a1, Vector2 a2, Vector2 b1, Vector2 b2)
static bool WetCollision(Vector2 Position, int Width, int Height)
static Vector2 WaterCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false, bool lavaWalk=true)
static void TupleHitLineWall(int x1, int y1, int x2, int y2, [Out] int resX, [Out] int resY)
static bool GetWaterLine(Point pt, [Out] float waterLineHeight)
static Vector2[] CheckLinevLine(Vector2 a1, Vector2 a2, Vector2 b1, Vector2 b2)
static bool DrownCollision(Vector2 Position, int Width, int Height, float gravDir=-1f, bool includeSlopes=false)
static bool CanTileHurt(ushort type, int i, int j, Player player)
static int collisionOutcode(Vector2 aabbPosition, Vector2 aabbDimensions, Vector2 point)
static unsafe ushort * tileTypeWall
static float GetTileRotation(Vector2 position)
static List< Point > FindCollisionTile(int Direction, Vector2 position, float testMagnitude, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1, bool checkCardinals=true, bool checkSlopes=false)
static void HitTiles(Vector2 Position, Vector2 Velocity, int Width, int Height)
static unsafe byte * tileTypeLiquid
static bool SolidTiles(Vector2 position, int width, int height, bool allowTopSurfaces)
static bool CheckAABBvLineCollision(Vector2 aabbPosition, Vector2 aabbDimensions, Vector2 lineStart, Vector2 lineEnd)
static bool CanHitLine(Vector2 Position1, int Width1, int Height1, Vector2 Position2, int Width2, int Height2)
static bool AnyHurtingTiles(Vector2 Position, int Width, int Height)
static bool FindCollisionDirection([Out] int Direction, Vector2 position, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
static Vector4 WalkDownSlope(Vector2 Position, Vector2 Velocity, int Width, int Height, float gravity=0f)
static void StepDown(Vector2 position, Vector2 velocity, int width, int height, float stepSpeed, float gfxOffY, int gravDir=1, bool waterWalk=false)
static bool IsWorldPointSolid(Vector2 pos, bool treatPlatformsAsNonSolid=false)
static bool CheckAABBvLineCollision2(Vector2 aabbPosition, Vector2 aabbDimensions, Vector2 lineStart, Vector2 lineEnd)
static unsafe ushort * tileTypeData
static bool EmptyTile(int i, int j, bool ignoreTiles=false)
static List< Point > _cacheForConveyorBelts
static bool CanHit(Entity source, NPCAimedTarget target)
static bool SolidCollision(Vector2 Position, int Width, int Height, bool acceptTopSurfaces)
static unsafe uint * tileLookup
static void ExpandVertically(int startX, int startY, [Out] int topY, [Out] int bottomY, int maxExpandUp=100, int maxExpandDown=100)
static Vector2 OldTileCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
static Vector2 StickyTiles(Vector2 Position, Vector2 Velocity, int Width, int Height)
static Vector2 AdvancedTileCollision(bool[] forcedIgnoredTiles, Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
static double DistFromSeg(Vector2 p, Vector2 q0, Vector2 q1, double radius, float u)
static Vector2 noSlopeCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false)
static Collision.HurtTile HurtTiles(Vector2 Position, int Width, int Height, Player player)
static void GetEntityEdgeTopBottom(Entity entity, [Out] int sx, [Out] int ex, [Out] int sy, [Out] int ey)
static List< Point > EntityEdgeTiles
static void StepUp(Vector2 position, Vector2 velocity, int width, int height, float stepSpeed, float gfxOffY, int gravDir=1, bool holdsMatching=false, int specialChecksMode=0)
static bool GetWaterLine(int X, int Y, [Out] float waterLineHeight)
static void LaserScan(Vector2 samplingPoint, Vector2 directionUnit, float samplingWidth, float maxDistance, float[] samples)
static void GetTilesIn(Vector2 TopLeft, Vector2 BottomRight, List< Point > p)
static bool LavaCollision(Vector2 Position, int Width, int Height)
static Vector2 TileCollision(Vector2 oldPosition, Vector2 oldVelocity, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
static bool SolidTilesVersatile(int startX, int endX, int startY, int endY)
static bool SolidCollision(Vector2 Position, int Width, int Height)
static bool SwitchTiles(Vector2 Position, int Width, int Height, Vector2 oldPosition, int objType)
static Vector2 AnyCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool evenActuated=false)
static bool PointOnLine(Vector2 p, Vector2 a1, Vector2 a2)
static bool CanHit(Vector2 Position1, int Width1, int Height1, Vector2 Position2, int Width2, int Height2)
static Vector2 AnyCollisionWithSpecificTiles(Vector2 Position, Vector2 Velocity, int Width, int Height, bool[] tilesWeCanCollideWithByType, bool evenActuated=false)
bool SwitchTilesNew(Vector2 Position, int Width, int Height, Vector2 oldPosition, int objType)
static bool CheckAABBvLineCollision(Vector2 objectPosition, Vector2 objectDimensions, Vector2 lineStart, Vector2 lineEnd, float lineWidth, float collisionPoint)
static bool GetWaterLineIterate(int X, int Y, [Out] float waterLineHeight)
static void StepConveyorBelt(Entity entity, float gravDir)
static bool IsClearSpotTest(Vector2 position, float testMagnitude, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1, bool checkCardinals=true, bool checkSlopes=false)
static Vector4 SlopeCollision(Vector2 oldPosition, Vector2 oldVelocity, int Width, int Height, float gravity=0f, bool fall=false)
static bool SolidTiles(Vector2 position, int width, int height)
static bool TupleHitLine(int x1, int y1, int x2, int y2, int ignoreX, int ignoreY, List< int > ignoreTargets, [Out] int colX, [Out] int colY)
static bool HitWallSubstep(int x, int y)
static void GetEntityEdgeTilesExtents(Entity entity, [Out] int minX, [Out] int minY, [Out] int maxX, [Out] int maxY)
static bool CheckAABBvAABBCollision(Vector2 position1, Vector2 dimensions1, Vector2 position2, Vector2 dimensions2)
static void GetEntityEdgeTiles(List< Point > p, Entity entity, bool left=true, bool right=true, bool up=true, bool down=true)
static unsafe short * tileTypeSHeader
static bool CanHit(Point Position1, int Width1, int Height1, Point Position2, int Width2, int Height2)
static bool InWorld(int x, int y, int fluff=0)