mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 20:31:51 +09:00
now works for both LR but actor sticks to left cliff but not right
This commit is contained in:
@@ -837,6 +837,7 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
|
||||
|
||||
//println("endX modDelta: ${simulationHitbox.endX.modTileDelta()}")
|
||||
//println("startX modDelta: ${simulationHitbox.startX.modTileDelta()}")
|
||||
//println("touching_right_extra: ${isTouchingSide(simulationHitbox, COLLIDING_RIGHT_EXTRA)}")
|
||||
|
||||
|
||||
@@ -859,12 +860,18 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
}*/
|
||||
|
||||
// --> X-Axis
|
||||
if (simulationHitbox.endX.modTileDelta() >= 15.99999) {
|
||||
if (vectorSum.x > 0 && simulationHitbox.endX.modTileDelta() >= 15.99999) {
|
||||
val target = simulationHitbox.endX.div(TILE_SIZE).floorInt().plus(1).times(TILE_SIZE).toDouble()
|
||||
val delta = target - simulationHitbox.endX
|
||||
debug2("xR target: $target, delta: $delta")
|
||||
simulationHitbox.translatePosX(delta)
|
||||
}
|
||||
else if (vectorSum.x < 0 && simulationHitbox.startX.modTileDelta() >= 0.99999 && simulationHitbox.startX.modTileDelta() < 1.0) {
|
||||
val target = simulationHitbox.startX.div(TILE_SIZE).floorInt().times(TILE_SIZE).toDouble()
|
||||
val delta = target - simulationHitbox.startX
|
||||
debug2("xL target: $target, delta: $delta")
|
||||
simulationHitbox.translatePosX(delta)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user