mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 19:35:00 -04:00
rendering: fix chat position, fix bug with size faking in hud
This commit is contained in:
parent
3abd906829
commit
84cfc5603f
@ -6,6 +6,7 @@ Minosoft is an open source minecraft client, written from scratch in java. It ai
|
|||||||
[](https://jitpack.io/#de.bixilon.gitlab.bixilon/minosoft)
|
[](https://jitpack.io/#de.bixilon.gitlab.bixilon/minosoft)
|
||||||
|
|
||||||
<h2><span style="color:red">Notice: I am not responsible for anti cheat banned accounts, this project is heavily in development!</span></h2>
|
<h2><span style="color:red">Notice: I am not responsible for anti cheat banned accounts, this project is heavily in development!</span></h2>
|
||||||
|
|
||||||
## Feature overview
|
## Feature overview
|
||||||
|
|
||||||
- Rendering
|
- Rendering
|
||||||
|
@ -94,16 +94,17 @@ class HUDRenderer(val connection: PlayConnection, val renderWindow: RenderWindow
|
|||||||
enabled = false,
|
enabled = false,
|
||||||
))
|
))
|
||||||
addElement(ElementsNames.CHAT_RESOURCE_LOCATION, ChatBoxHUDElement(this), HUDElementProperties(
|
addElement(ElementsNames.CHAT_RESOURCE_LOCATION, ChatBoxHUDElement(this), HUDElementProperties(
|
||||||
position = Vec2(0f, -1.0f),
|
position = Vec2(0.0f, -1.0f),
|
||||||
|
xBinding = HUDElementProperties.PositionBindings.CENTER,
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun addElement(resourceLocation: ResourceLocation, hudElement: HUDElement, defaultProperties: HUDElementProperties) {
|
fun addElement(resourceLocation: ResourceLocation, hudElement: HUDElement, defaultProperties: HUDElementProperties) {
|
||||||
var needToSafeConfig = false
|
var needToSafeConfig = false
|
||||||
val properties = Minosoft.getConfig().config.game.elements.entries.getOrPut(resourceLocation, {
|
val properties = Minosoft.getConfig().config.game.elements.entries.getOrPut(resourceLocation) {
|
||||||
needToSafeConfig = true
|
needToSafeConfig = true
|
||||||
defaultProperties
|
defaultProperties
|
||||||
})
|
}
|
||||||
if (needToSafeConfig) {
|
if (needToSafeConfig) {
|
||||||
Minosoft.getConfig().saveToFile()
|
Minosoft.getConfig().saveToFile()
|
||||||
}
|
}
|
||||||
@ -182,7 +183,7 @@ class HUDRenderer(val connection: PlayConnection, val renderWindow: RenderWindow
|
|||||||
if (forcePrepare || needsUpdate) {
|
if (forcePrepare || needsUpdate) {
|
||||||
for ((elementProperties, hudElement) in enabledHUDElement.values) {
|
for ((elementProperties, hudElement) in enabledHUDElement.values) {
|
||||||
val realScaleFactor = elementProperties.scale * Minosoft.getConfig().config.game.hud.scale
|
val realScaleFactor = elementProperties.scale * Minosoft.getConfig().config.game.hud.scale
|
||||||
val realSize = Vec2i(hudElement.layout.fakeX ?: hudElement.layout.size.x, hudElement.layout.fakeY ?: hudElement.layout.size.y) * realScaleFactor
|
val realSize = Vec2i(hudElement.layout.fakeX ?: (hudElement.layout.size.x * realScaleFactor), hudElement.layout.fakeY ?: (hudElement.layout.size.y * realScaleFactor))
|
||||||
|
|
||||||
val elementStart = getRealPosition(realSize, elementProperties, renderWindow.screenDimensions)
|
val elementStart = getRealPosition(realSize, elementProperties, renderWindow.screenDimensions)
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames
|
|||||||
import de.bixilon.minosoft.gui.rendering.hud.HUDRenderer
|
import de.bixilon.minosoft.gui.rendering.hud.HUDRenderer
|
||||||
import de.bixilon.minosoft.gui.rendering.hud.elements.HUDElement
|
import de.bixilon.minosoft.gui.rendering.hud.elements.HUDElement
|
||||||
import de.bixilon.minosoft.gui.rendering.hud.elements.input.SubmittableTextField
|
import de.bixilon.minosoft.gui.rendering.hud.elements.input.SubmittableTextField
|
||||||
|
import glm_.vec2.Vec2i
|
||||||
|
|
||||||
class ChatBoxHUDElement(hudRenderer: HUDRenderer) : HUDElement(hudRenderer) {
|
class ChatBoxHUDElement(hudRenderer: HUDRenderer) : HUDElement(hudRenderer) {
|
||||||
private lateinit var inputField: SubmittableTextField
|
private lateinit var inputField: SubmittableTextField
|
||||||
@ -43,6 +44,10 @@ class ChatBoxHUDElement(hudRenderer: HUDRenderer) : HUDElement(hudRenderer) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun screenChangeResizeCallback(screenDimensions: Vec2i) {
|
||||||
|
layout.fakeX = screenDimensions.x
|
||||||
|
}
|
||||||
|
|
||||||
fun openChat() {
|
fun openChat() {
|
||||||
hudRenderer.renderWindow.currentKeyConsumer = inputField
|
hudRenderer.renderWindow.currentKeyConsumer = inputField
|
||||||
hudRenderer.renderWindow.currentElement.remove(KeyBindingsNames.WHEN_IN_GAME)
|
hudRenderer.renderWindow.currentElement.remove(KeyBindingsNames.WHEN_IN_GAME)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user