Skip to content

Commit 730c189

Browse files
committed
fix(ThrustComputer): round thrust number *away* from zero
Closes #76 Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
1 parent 0ca7b48 commit 730c189

3 files changed

Lines changed: 18 additions & 3 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
org.gradle.jvmargs=-Xmx4G
33
org.gradle.parallel=true
44
org.gradle.caching=true
5-
org.gradle.configuration-cache=true
5+
org.gradle.configuration-cache=false
66

77
# Mod Properties
88
mod.id=flightassistant
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package ru.octol1ttle.flightassistant.api.util.extensions
2+
3+
import kotlin.math.abs
4+
import kotlin.math.ceil
5+
import kotlin.math.pow
6+
import kotlin.math.sign
7+
8+
fun Float.asPercentage(decimals: Int = 1): String {
9+
val percentage = this * 100
10+
val factor = 10.0.pow(decimals)
11+
12+
val furtherFromZero = sign(percentage) * ceil(abs(percentage) * factor) / factor
13+
14+
return "%.${decimals}f%%".formatRoot(furtherFromZero)
15+
}

src/main/kotlin/ru/octol1ttle/flightassistant/impl/computer/autoflight/base/ThrustComputer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import ru.octol1ttle.flightassistant.api.computer.Computer
1414
import ru.octol1ttle.flightassistant.api.computer.ComputerBus
1515
import ru.octol1ttle.flightassistant.api.computer.ComputerQuery
1616
import ru.octol1ttle.flightassistant.api.util.FATickCounter
17+
import ru.octol1ttle.flightassistant.api.util.extensions.asPercentage
1718
import ru.octol1ttle.flightassistant.api.util.extensions.filterWorking
18-
import ru.octol1ttle.flightassistant.api.util.extensions.formatRoot
1919
import ru.octol1ttle.flightassistant.api.util.extensions.getActiveHighestPriority
2020
import ru.octol1ttle.flightassistant.api.util.throwIfNotInRange
2121
import ru.octol1ttle.flightassistant.impl.display.StatusDisplay
@@ -102,7 +102,7 @@ class ThrustComputer(computers: ComputerBus) : Computer(computers) {
102102
if (query is StatusDisplay.StatusMessageQuery) {
103103
// TODO: show actual thrust output and requested thrust (both by user and autoflight)
104104
if (getThrustSource() != null || current != 0.0f) {
105-
query.respond(Component.translatable("status.flightassistant.thrust", "%.1f".formatRoot(current * 100) + "%"))
105+
query.respond(Component.translatable("status.flightassistant.thrust", current.asPercentage()))
106106
}
107107
}
108108
}

0 commit comments

Comments
 (0)