mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 03:24:06 +09:00
resolving issue #12
Former-commit-id: eee32f1d3b74a431626888ab32166e0cad14f522 Former-commit-id: e58fecf50f193d695f7a7852117183486a12cc62
This commit is contained in:
@@ -1028,59 +1028,35 @@ open class ActorWithSprite(renderOrder: ActorOrder, val immobileBody: Boolean =
|
|||||||
if (isVisible && spriteGlow != null) {
|
if (isVisible && spriteGlow != null) {
|
||||||
blendLightenOnly()
|
blendLightenOnly()
|
||||||
|
|
||||||
if (!sprite!!.flippedHorizontal()) {
|
val offsetX = if (!spriteGlow!!.flippedHorizontal())
|
||||||
val offsetX = hitboxTranslateX * scale
|
hitboxTranslateX * scale
|
||||||
|
else
|
||||||
|
spriteGlow!!.cellWidth * scale - (hitbox.width + hitboxTranslateX * scale)
|
||||||
|
|
||||||
if (MapCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
val offsetY = spriteGlow!!.cellHeight * scale - hitbox.height - hitboxTranslateY * scale - 2
|
||||||
// camera center neg, actor center pos
|
|
||||||
spriteGlow!!.render(g,
|
if (MapCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
||||||
(hitbox.posX - offsetX).toFloat() + world.width * TILE_SIZE,
|
// camera center neg, actor center pos
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
spriteGlow!!.render(g,
|
||||||
(scale).toFloat()
|
(hitbox.posX - offsetX).toFloat() + world.width * TILE_SIZE,
|
||||||
)
|
(hitbox.posY - offsetY).toFloat(),
|
||||||
}
|
(scale).toFloat()
|
||||||
else if (MapCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
)
|
||||||
// camera center pos, actor center neg
|
}
|
||||||
spriteGlow!!.render(g,
|
else if (MapCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
||||||
(hitbox.posX - offsetX).toFloat() - world.width * TILE_SIZE,
|
// camera center pos, actor center neg
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
spriteGlow!!.render(g,
|
||||||
(scale).toFloat()
|
(hitbox.posX - offsetX).toFloat() - world.width * TILE_SIZE,
|
||||||
)
|
(hitbox.posY - offsetY).toFloat(),
|
||||||
}
|
(scale).toFloat()
|
||||||
else {
|
)
|
||||||
sprite!!.render(g,
|
|
||||||
(hitbox.posX - offsetX).toFloat(),
|
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
|
||||||
(scale).toFloat()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
val offsetX = spriteGlow!!.cellWidth - (hitbox.width + hitboxTranslateX * scale)
|
spriteGlow!!.render(g,
|
||||||
|
(hitbox.posX - offsetX).toFloat(),
|
||||||
if (MapCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
(hitbox.posY - offsetY).toFloat(),
|
||||||
// camera center neg, actor center pos
|
(scale).toFloat()
|
||||||
spriteGlow!!.render(g,
|
)
|
||||||
(hitbox.posX - offsetX).toFloat() + world.width * TILE_SIZE,
|
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
|
||||||
(scale).toFloat()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
else if (MapCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
|
||||||
// camera center pos, actor center neg
|
|
||||||
spriteGlow!!.render(g,
|
|
||||||
(hitbox.posX - offsetX).toFloat() - world.width * TILE_SIZE,
|
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
|
||||||
(scale).toFloat()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
spriteGlow!!.render(g,
|
|
||||||
(hitbox.posX - offsetX).toFloat(),
|
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
|
||||||
(scale).toFloat()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1097,60 +1073,37 @@ open class ActorWithSprite(renderOrder: ActorOrder, val immobileBody: Boolean =
|
|||||||
BLEND_SCREEN -> blendScreen()
|
BLEND_SCREEN -> blendScreen()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!sprite!!.flippedHorizontal()) {
|
val offsetX = if (!sprite!!.flippedHorizontal())
|
||||||
val offsetX = hitboxTranslateX * scale
|
hitboxTranslateX * scale
|
||||||
|
else
|
||||||
|
sprite!!.cellWidth * scale - (hitbox.width + hitboxTranslateX * scale)
|
||||||
|
|
||||||
if (MapCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
val offsetY = sprite!!.cellHeight * scale - hitbox.height - hitboxTranslateY * scale - 2
|
||||||
// camera center neg, actor center pos
|
|
||||||
sprite!!.render(g,
|
if (MapCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
||||||
(hitbox.posX - offsetX).toFloat() + world.width * TILE_SIZE,
|
// camera center neg, actor center pos
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
sprite!!.render(g,
|
||||||
(scale).toFloat()
|
(hitbox.posX - offsetX).toFloat() + world.width * TILE_SIZE,
|
||||||
)
|
(hitbox.posY - offsetY).toFloat(),
|
||||||
}
|
(scale).toFloat()
|
||||||
else if (MapCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
)
|
||||||
// camera center pos, actor center neg
|
}
|
||||||
sprite!!.render(g,
|
else if (MapCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
||||||
(hitbox.posX - offsetX).toFloat() - world.width * TILE_SIZE,
|
// camera center pos, actor center neg
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
sprite!!.render(g,
|
||||||
(scale).toFloat()
|
(hitbox.posX - offsetX).toFloat() - world.width * TILE_SIZE,
|
||||||
)
|
(hitbox.posY - offsetY).toFloat(),
|
||||||
}
|
(scale).toFloat()
|
||||||
else {
|
)
|
||||||
sprite!!.render(g,
|
|
||||||
(hitbox.posX - offsetX).toFloat(),
|
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
|
||||||
(scale).toFloat()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
val offsetX = sprite!!.cellWidth - (hitbox.width + hitboxTranslateX * scale)
|
sprite!!.render(g,
|
||||||
|
(hitbox.posX - offsetX).toFloat(),
|
||||||
if (MapCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
(hitbox.posY - offsetY).toFloat(),
|
||||||
// camera center neg, actor center pos
|
(scale).toFloat()
|
||||||
sprite!!.render(g,
|
)
|
||||||
(hitbox.posX - offsetX).toFloat() + world.width * TILE_SIZE,
|
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
|
||||||
(scale).toFloat()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
else if (MapCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
|
||||||
// camera center pos, actor center neg
|
|
||||||
sprite!!.render(g,
|
|
||||||
(hitbox.posX - offsetX).toFloat() - world.width * TILE_SIZE,
|
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
|
||||||
(scale).toFloat()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
sprite!!.render(g,
|
|
||||||
(hitbox.posX - offsetX).toFloat(),
|
|
||||||
(hitbox.posY + hitboxTranslateY * scale).toFloat(),
|
|
||||||
(scale).toFloat()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ object PlayerBuilderSigrid {
|
|||||||
//p.actorValue["__selectedtile"] = 147 // test code; replace with <tile_item>.primaryUse(gc, delta)
|
//p.actorValue["__selectedtile"] = 147 // test code; replace with <tile_item>.primaryUse(gc, delta)
|
||||||
p.actorValue["__aimhelper"] = true // TODO when you'll gonna implement it?
|
p.actorValue["__aimhelper"] = true // TODO when you'll gonna implement it?
|
||||||
|
|
||||||
p.setHitboxDimension(15, p.actorValue.getAsInt(AVKey.BASEHEIGHT)!!, 11, -2) // FIXME offsetY of -2: Have no idea about the error; it's just supposed to be zero
|
p.setHitboxDimension(15, p.actorValue.getAsInt(AVKey.BASEHEIGHT)!!, 11, 0) // FIXME offsetY of -2: Have no idea about the error; it's just supposed to be zero
|
||||||
|
|
||||||
p.inventory = ActorInventory(0x7FFFFFFF, true)
|
p.inventory = ActorInventory(0x7FFFFFFF, true)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user