Skip to content

Commit

Permalink
Normalize scale in both axis and remove per axis scale
Browse files Browse the repository at this point in the history
  • Loading branch information
Reco1I committed Mar 5, 2025
1 parent d1e278e commit b8a8f7b
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 19 deletions.
Binary file removed assets/one-one.png
Binary file not shown.
1 change: 0 additions & 1 deletion src/com/reco1l/osu/hud/GameplayHUD.kt
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,6 @@ class GameplayHUD : Container(), IGameplayEvents {

private fun loadEditModeAssets() {
ResourceManager.getInstance().loadHighQualityAsset("delete", "delete.png")
ResourceManager.getInstance().loadHighQualityAsset("oneone", "one-one.png")
ResourceManager.getInstance().loadHighQualityAsset("restore", "restore.png")
}

Expand Down
4 changes: 2 additions & 2 deletions src/com/reco1l/osu/hud/HUDElement.kt
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ abstract class HUDElement : Container(), IGameplayEvents {

anchor = data.anchor
origin = data.origin
setScale(data.scale.x, data.scale.y)
setScale(data.scale)
setPosition(data.position.x, data.position.y)

// When the element is restored it's usually selected so we need to update the connection line.
Expand All @@ -104,7 +104,7 @@ abstract class HUDElement : Container(), IGameplayEvents {
type = this::class,
anchor = anchor,
origin = origin,
scale = scale,
scale = (mScaleX + mScaleY) / 2f,
position = Vec2(x, y)
)

Expand Down
16 changes: 6 additions & 10 deletions src/com/reco1l/osu/hud/HUDSkinData.kt
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ data class HUDSkinData(val elements: List<HUDElementSkinData>) {
type = HUDAccuracyCounter::class,
anchor = Anchor.TopRight,
origin = Anchor.TopRight,
scale = Vec2(0.6f * 0.96f),
scale = 0.6f * 0.96f,
position = Vec2(-17f, 9f)
),
HUDElementSkinData(
type = HUDComboCounter::class,
anchor = Anchor.BottomLeft,
origin = Anchor.BottomLeft,
position = Vec2(10f, -10f),
scale = Vec2(1.28f)
scale = 1.28f
),
HUDElementSkinData(
type = HUDPieSongProgress::class,
Expand All @@ -54,7 +54,7 @@ data class HUDSkinData(val elements: List<HUDElementSkinData>) {
type = HUDScoreCounter::class,
anchor = Anchor.TopRight,
origin = Anchor.TopRight,
scale = Vec2(0.96f),
scale = 0.96f,
position = Vec2(-10f, 0f)
)
)
Expand All @@ -70,8 +70,7 @@ data class HUDSkinData(val elements: List<HUDElementSkinData>) {
put("y", it.position.y)
put("anchor", Anchor.getName(it.anchor))
put("origin", Anchor.getName(it.origin))
put("scaleX", it.scale.x)
put("scaleY", it.scale.y)
put("scale", it.scale)
}
}
}
Expand All @@ -90,10 +89,7 @@ data class HUDSkinData(val elements: List<HUDElementSkinData>) {
),
anchor = Anchor.getFromName(element.optString("anchor", "Center")),
origin = Anchor.getFromName(element.optString("origin", "Center")),
scale = Vec2(
element.optDouble("scaleX", 1.0).toFloat(),
element.optDouble("scaleY", 1.0).toFloat()
)
scale = element.optDouble("scale", 1.0).toFloat(),
)
}.filterNotNull()
)
Expand Down Expand Up @@ -128,5 +124,5 @@ data class HUDElementSkinData(
/**
* The scale applied to the element.
*/
val scale: Vec2 = Vec2.One
val scale: Float = 1f
)
10 changes: 4 additions & 6 deletions src/com/reco1l/osu/hud/editor/HUDElementOverlay.kt
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@ class HUDElementOverlay(private val element: HUDElement) : ConstraintContainer()
}
})

attachChild(Button("oneone") {
element.setScale((element.scaleX + element.scaleY) / 2f)
})

attachChild(Button("restore") {
element.restore()
})
Expand Down Expand Up @@ -181,8 +177,10 @@ class HUDElementOverlay(private val element: HUDElement) : ConstraintContainer()
val deltaScaleX = deltaX / element.widthScaled
val deltaScaleY = deltaY / element.heightScaled

element.scaleX = (element.scaleX + deltaScaleX).coerceIn(0.5f, 5f)
element.scaleY = (element.scaleY + deltaScaleY).coerceIn(0.5f, 5f)
val scaleX = (element.scaleX + deltaScaleX).coerceIn(0.5f, 5f)
val scaleY = (element.scaleY + deltaScaleY).coerceIn(0.5f, 5f)

element.setScale((scaleX + scaleY) / 2f)
return true
}

Expand Down

0 comments on commit b8a8f7b

Please sign in to comment.