mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-14 17:56:34 -04:00
Screw it, routing all the GL state stuff through own class, forcing state changes in addition to calling GlStateManager.
Its caching is just too horribad (and I'm pretty sure that's not me anymore; aside from that, other mods may mess up the state, too, and then everything goes down the drain anyway).
This commit is contained in:
parent
1ded875cbc
commit
2129fef8db
@ -10,11 +10,11 @@
|
|||||||
"to": [ 16, 7, 16 ],
|
"to": [ 16, 7, 16 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" },
|
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" },
|
||||||
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" },
|
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" },
|
||||||
"north": { "uv": [ 0, 0, 16, 7 ], "texture": "#side", "cullface": "north" },
|
"north": { "uv": [ 0, 0, 16, 7 ], "texture": "#side" },
|
||||||
"south": { "uv": [ 0, 0, 16, 7 ], "texture": "#side", "cullface": "south" },
|
"south": { "uv": [ 0, 0, 16, 7 ], "texture": "#side" },
|
||||||
"west": { "uv": [ 0, 0, 16, 7 ], "texture": "#side", "cullface": "west" },
|
"west": { "uv": [ 0, 0, 16, 7 ], "texture": "#side" },
|
||||||
"east": { "uv": [ 0, 0, 16, 7 ], "texture": "#side", "cullface": "east" }
|
"east": { "uv": [ 0, 0, 16, 7 ], "texture": "#side" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ "from": [ 2, 7, 2 ],
|
{ "from": [ 2, 7, 2 ],
|
||||||
@ -31,12 +31,12 @@
|
|||||||
{ "from": [ 0, 9, 0 ],
|
{ "from": [ 0, 9, 0 ],
|
||||||
"to": [ 16, 16, 16 ],
|
"to": [ 16, 16, 16 ],
|
||||||
"faces": {
|
"faces": {
|
||||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top", "cullface": "up" },
|
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" },
|
||||||
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" },
|
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom" },
|
||||||
"north": { "uv": [ 0, 9, 16, 16 ], "texture": "#side", "cullface": "north" },
|
"north": { "uv": [ 0, 9, 16, 16 ], "texture": "#side" },
|
||||||
"south": { "uv": [ 0, 9, 16, 16 ], "texture": "#side", "cullface": "south" },
|
"south": { "uv": [ 0, 9, 16, 16 ], "texture": "#side" },
|
||||||
"west": { "uv": [ 0, 9, 16, 16 ], "texture": "#side", "cullface": "west" },
|
"west": { "uv": [ 0, 9, 16, 16 ], "texture": "#side" },
|
||||||
"east": { "uv": [ 0, 9, 16, 16 ], "texture": "#side", "cullface": "east" }
|
"east": { "uv": [ 0, 9, 16, 16 ], "texture": "#side" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -502,7 +502,7 @@ object Textures {
|
|||||||
// So we do it manually.
|
// So we do it manually.
|
||||||
val texture = manager.getTexture(location)
|
val texture = manager.getTexture(location)
|
||||||
if (texture != null) {
|
if (texture != null) {
|
||||||
GL11.glBindTexture (GL11.GL_TEXTURE_2D, texture.getGlTextureId)
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture.getGlTextureId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,8 +10,8 @@ import li.cil.oc.common.container
|
|||||||
import li.cil.oc.common.container.ComponentSlot
|
import li.cil.oc.common.container.ComponentSlot
|
||||||
import li.cil.oc.common.template.AssemblerTemplates
|
import li.cil.oc.common.template.AssemblerTemplates
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.gui.GuiButton
|
import net.minecraft.client.gui.GuiButton
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
import net.minecraft.inventory.Slot
|
import net.minecraft.inventory.Slot
|
||||||
import net.minecraft.util.IChatComponent
|
import net.minecraft.util.IChatComponent
|
||||||
@ -61,7 +61,7 @@ class Assembler(playerInventory: InventoryPlayer, val assembler: tileentity.Asse
|
|||||||
}
|
}
|
||||||
|
|
||||||
override def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) = {
|
override def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) = {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
if (!assemblerContainer.isAssembling) {
|
if (!assemblerContainer.isAssembling) {
|
||||||
val message =
|
val message =
|
||||||
if (!assemblerContainer.getSlot(0).getHasStack) {
|
if (!assemblerContainer.getSlot(0).getHasStack) {
|
||||||
@ -90,7 +90,7 @@ class Assembler(playerInventory: InventoryPlayer, val assembler: tileentity.Asse
|
|||||||
tooltip.add(Localization.Assembler.Progress(assemblerContainer.assemblyProgress, timeRemaining))
|
tooltip.add(Localization.Assembler.Progress(assemblerContainer.assemblyProgress, timeRemaining))
|
||||||
copiedDrawHoveringText(tooltip, mouseX - guiLeft, mouseY - guiTop, fontRendererObj)
|
copiedDrawHoveringText(tooltip, mouseX - guiLeft, mouseY - guiTop, fontRendererObj)
|
||||||
}
|
}
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
private def formatTime(seconds: Int) = {
|
private def formatTime(seconds: Int) = {
|
||||||
@ -100,7 +100,7 @@ class Assembler(playerInventory: InventoryPlayer, val assembler: tileentity.Asse
|
|||||||
}
|
}
|
||||||
|
|
||||||
override def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
override def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
||||||
GlStateManager.color(1, 1, 1) // Required under Linux.
|
RenderState.color(1, 1, 1) // Required under Linux.
|
||||||
Textures.bind(Textures.GUI.RobotAssembler)
|
Textures.bind(Textures.GUI.RobotAssembler)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
if (assemblerContainer.isAssembling) progress.level = assemblerContainer.assemblyProgress / 100.0
|
if (assemblerContainer.isAssembling) progress.level = assemblerContainer.assemblyProgress / 100.0
|
||||||
|
@ -7,10 +7,9 @@ import li.cil.oc.client.Textures
|
|||||||
import li.cil.oc.client.{PacketSender => ClientPacketSender}
|
import li.cil.oc.client.{PacketSender => ClientPacketSender}
|
||||||
import li.cil.oc.common.container
|
import li.cil.oc.common.container
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.gui.GuiButton
|
import net.minecraft.client.gui.GuiButton
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
import org.lwjgl.opengl.GL11
|
|
||||||
|
|
||||||
class Case(playerInventory: InventoryPlayer, val computer: tileentity.Case) extends DynamicGuiContainer(new container.Case(playerInventory, computer)) {
|
class Case(playerInventory: InventoryPlayer, val computer: tileentity.Case) extends DynamicGuiContainer(new container.Case(playerInventory, computer)) {
|
||||||
protected var powerButton: ImageButton = _
|
protected var powerButton: ImageButton = _
|
||||||
@ -47,7 +46,7 @@ class Case(playerInventory: InventoryPlayer, val computer: tileentity.Case) exte
|
|||||||
}
|
}
|
||||||
|
|
||||||
override def drawSecondaryBackgroundLayer() {
|
override def drawSecondaryBackgroundLayer() {
|
||||||
GlStateManager.color(1, 1, 1)
|
RenderState.color(1, 1, 1)
|
||||||
Textures.bind(Textures.GUI.Computer)
|
Textures.bind(Textures.GUI.Computer)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,6 @@ import li.cil.oc.client.gui.widget.WidgetContainer
|
|||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.gui.FontRenderer
|
import net.minecraft.client.gui.FontRenderer
|
||||||
import net.minecraft.client.gui.inventory.GuiContainer
|
import net.minecraft.client.gui.inventory.GuiContainer
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.RenderHelper
|
|
||||||
import net.minecraft.inventory.Container
|
import net.minecraft.inventory.Container
|
||||||
|
|
||||||
import scala.collection.convert.WrapAsScala._
|
import scala.collection.convert.WrapAsScala._
|
||||||
@ -30,10 +28,9 @@ abstract class CustomGuiContainer(container: Container) extends GuiContainer(con
|
|||||||
|
|
||||||
protected def copiedDrawHoveringText(text: util.List[_], x: Int, y: Int, font: FontRenderer): Unit = {
|
protected def copiedDrawHoveringText(text: util.List[_], x: Int, y: Int, font: FontRenderer): Unit = {
|
||||||
if (!text.isEmpty) {
|
if (!text.isEmpty) {
|
||||||
GlStateManager.disableRescaleNormal()
|
RenderState.disableRescaleNormal()
|
||||||
RenderHelper.disableStandardItemLighting()
|
RenderState.disableEntityLighting()
|
||||||
GlStateManager.disableLighting()
|
RenderState.disableDepth()
|
||||||
GlStateManager.disableDepth()
|
|
||||||
|
|
||||||
val textWidth = text.map(line => font.getStringWidth(line.asInstanceOf[String])).max
|
val textWidth = text.map(line => font.getStringWidth(line.asInstanceOf[String])).max
|
||||||
|
|
||||||
@ -73,10 +70,9 @@ abstract class CustomGuiContainer(container: Container) extends GuiContainer(con
|
|||||||
}
|
}
|
||||||
zLevel = 0f
|
zLevel = 0f
|
||||||
|
|
||||||
GlStateManager.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
GlStateManager.enableDepth()
|
RenderState.enableDepth()
|
||||||
RenderHelper.enableStandardItemLighting()
|
RenderState.enableRescaleNormal()
|
||||||
GlStateManager.enableRescaleNormal()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import li.cil.oc.client.Textures
|
|||||||
import li.cil.oc.common.Tier
|
import li.cil.oc.common.Tier
|
||||||
import li.cil.oc.common.container
|
import li.cil.oc.common.container
|
||||||
import li.cil.oc.common.inventory.DatabaseInventory
|
import li.cil.oc.common.inventory.DatabaseInventory
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
import net.minecraft.inventory.Slot
|
import net.minecraft.inventory.Slot
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ class Database(playerInventory: InventoryPlayer, val databaseInventory: Database
|
|||||||
override def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) {}
|
override def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) {}
|
||||||
|
|
||||||
override protected def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
override protected def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
Textures.bind(Textures.GUI.Database)
|
Textures.bind(Textures.GUI.Database)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import li.cil.oc.client.Textures
|
|||||||
import li.cil.oc.client.gui.widget.ProgressBar
|
import li.cil.oc.client.gui.widget.ProgressBar
|
||||||
import li.cil.oc.common.container
|
import li.cil.oc.common.container
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
|
|
||||||
class Disassembler(playerInventory: InventoryPlayer, val disassembler: tileentity.Disassembler) extends DynamicGuiContainer(new container.Disassembler(playerInventory, disassembler)) {
|
class Disassembler(playerInventory: InventoryPlayer, val disassembler: tileentity.Disassembler) extends DynamicGuiContainer(new container.Disassembler(playerInventory, disassembler)) {
|
||||||
@ -20,7 +20,7 @@ class Disassembler(playerInventory: InventoryPlayer, val disassembler: tileentit
|
|||||||
}
|
}
|
||||||
|
|
||||||
override def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
override def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
||||||
GlStateManager.color(1, 1, 1)
|
RenderState.color(1, 1, 1)
|
||||||
Textures.bind(Textures.GUI.Disassembler)
|
Textures.bind(Textures.GUI.Disassembler)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
progress.level = disassemblerContainer.disassemblyProgress / 100.0
|
progress.level = disassemblerContainer.disassemblyProgress / 100.0
|
||||||
|
@ -14,7 +14,6 @@ import li.cil.oc.util.PackedColor
|
|||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import li.cil.oc.util.TextBuffer
|
import li.cil.oc.util.TextBuffer
|
||||||
import net.minecraft.client.gui.GuiButton
|
import net.minecraft.client.gui.GuiButton
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
@ -74,21 +73,21 @@ class Drone(playerInventory: InventoryPlayer, val drone: entity.Drone) extends D
|
|||||||
|
|
||||||
override protected def drawBuffer() {
|
override protected def drawBuffer() {
|
||||||
GL11.glTranslatef(bufferX, bufferY, 0)
|
GL11.glTranslatef(bufferX, bufferY, 0)
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GL11.glScaled(scale, scale, 1)
|
GL11.glScaled(scale, scale, 1)
|
||||||
GL11.glPushAttrib(GL11.GL_DEPTH_BUFFER_BIT)
|
RenderState.pushAttrib(GL11.GL_DEPTH_BUFFER_BIT)
|
||||||
GL11.glDepthMask(false)
|
RenderState.disableDepthMask()
|
||||||
GlStateManager.color(0.5f, 0.5f, 1f)
|
RenderState.color(0.5f, 0.5f, 1f)
|
||||||
TextBufferRenderCache.render(bufferRenderer)
|
TextBufferRenderCache.render(bufferRenderer)
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
override protected def changeSize(w: Double, h: Double, recompile: Boolean) = 2.0
|
override protected def changeSize(w: Double, h: Double, recompile: Boolean) = 2.0
|
||||||
|
|
||||||
override protected def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) {
|
override protected def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) {
|
||||||
drawBufferLayer()
|
drawBufferLayer()
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
if (isPointInRegion(power.x, power.y, power.width, power.height, mouseX, mouseY)) {
|
if (isPointInRegion(power.x, power.y, power.width, power.height, mouseX, mouseY)) {
|
||||||
val tooltip = new java.util.ArrayList[String]
|
val tooltip = new java.util.ArrayList[String]
|
||||||
val format = Localization.Computer.Power + ": %d%% (%d/%d)"
|
val format = Localization.Computer.Power + ": %d%% (%d/%d)"
|
||||||
@ -103,11 +102,11 @@ class Drone(playerInventory: InventoryPlayer, val drone: entity.Drone) extends D
|
|||||||
tooltip.add(if (drone.isRunning) Localization.Computer.TurnOff else Localization.Computer.TurnOn)
|
tooltip.add(if (drone.isRunning) Localization.Computer.TurnOff else Localization.Computer.TurnOn)
|
||||||
copiedDrawHoveringText(tooltip, mouseX - guiLeft, mouseY - guiTop, fontRendererObj)
|
copiedDrawHoveringText(tooltip, mouseX - guiLeft, mouseY - guiTop, fontRendererObj)
|
||||||
}
|
}
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
override protected def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
override protected def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
||||||
GlStateManager.color(1, 1, 1)
|
RenderState.color(1, 1, 1)
|
||||||
Textures.bind(Textures.GUI.Drone)
|
Textures.bind(Textures.GUI.Drone)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
power.level = drone.globalBuffer.toDouble / math.max(drone.globalBufferSize.toDouble, 1.0)
|
power.level = drone.globalBuffer.toDouble / math.max(drone.globalBufferSize.toDouble, 1.0)
|
||||||
|
@ -11,7 +11,6 @@ import li.cil.oc.integration.Mods
|
|||||||
import li.cil.oc.integration.util.NEI
|
import li.cil.oc.integration.util.NEI
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.gui.Gui
|
import net.minecraft.client.gui.Gui
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.inventory.Container
|
import net.minecraft.inventory.Container
|
||||||
import net.minecraft.inventory.Slot
|
import net.minecraft.inventory.Slot
|
||||||
@ -33,7 +32,7 @@ abstract class DynamicGuiContainer(container: Container) extends CustomGuiContai
|
|||||||
}
|
}
|
||||||
|
|
||||||
override protected def drawGuiContainerForegroundLayer(mouseX: Int, mouseY: Int) {
|
override protected def drawGuiContainerForegroundLayer(mouseX: Int, mouseY: Int) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
drawSecondaryForegroundLayer(mouseX, mouseY)
|
drawSecondaryForegroundLayer(mouseX, mouseY)
|
||||||
|
|
||||||
@ -41,32 +40,32 @@ abstract class DynamicGuiContainer(container: Container) extends CustomGuiContai
|
|||||||
drawSlotHighlight(inventorySlots.inventorySlots.get(slot).asInstanceOf[Slot])
|
drawSlotHighlight(inventorySlots.inventorySlots.get(slot).asInstanceOf[Slot])
|
||||||
}
|
}
|
||||||
|
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
protected def drawSecondaryBackgroundLayer() {}
|
protected def drawSecondaryBackgroundLayer() {}
|
||||||
|
|
||||||
override protected def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
override protected def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
Textures.bind(Textures.GUI.Background)
|
Textures.bind(Textures.GUI.Background)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
drawSecondaryBackgroundLayer()
|
drawSecondaryBackgroundLayer()
|
||||||
|
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GL11.glDisable(GL11.GL_LIGHTING)
|
RenderState.disableLighting()
|
||||||
|
|
||||||
drawInventorySlots()
|
drawInventorySlots()
|
||||||
}
|
}
|
||||||
|
|
||||||
protected def drawInventorySlots(): Unit = {
|
protected def drawInventorySlots(): Unit = {
|
||||||
GlStateManager.pushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslatef(guiLeft, guiTop, 0)
|
GL11.glTranslatef(guiLeft, guiTop, 0)
|
||||||
GL11.glDisable(GL11.GL_DEPTH_TEST)
|
GL11.glDisable(GL11.GL_DEPTH_TEST)
|
||||||
for (slot <- 0 until inventorySlots.inventorySlots.size()) {
|
for (slot <- 0 until inventorySlots.inventorySlots.size()) {
|
||||||
drawSlotInventory(inventorySlots.inventorySlots.get(slot).asInstanceOf[Slot])
|
drawSlotInventory(inventorySlots.inventorySlots.get(slot).asInstanceOf[Slot])
|
||||||
}
|
}
|
||||||
GL11.glEnable(GL11.GL_DEPTH_TEST)
|
GL11.glEnable(GL11.GL_DEPTH_TEST)
|
||||||
GlStateManager.popMatrix()
|
RenderState.popMatrix()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
}
|
}
|
||||||
@ -80,9 +79,9 @@ abstract class DynamicGuiContainer(container: Container) extends CustomGuiContai
|
|||||||
super.drawScreen(mouseX, mouseY, dt)
|
super.drawScreen(mouseX, mouseY, dt)
|
||||||
|
|
||||||
if (Mods.NotEnoughItems.isAvailable) {
|
if (Mods.NotEnoughItems.isAvailable) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
drawNEIHighlights()
|
drawNEIHighlights()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,13 +147,13 @@ abstract class DynamicGuiContainer(container: Container) extends CustomGuiContai
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected def drawDisabledSlot(slot: ComponentSlot) {
|
protected def drawDisabledSlot(slot: ComponentSlot) {
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
Textures.bind(slot.tierIcon)
|
Textures.bind(slot.tierIcon)
|
||||||
Gui.drawModalRectWithCustomSizedTexture(slot.xDisplayPosition, slot.yDisplayPosition, 0, 0, 16, 16, 16, 16)
|
Gui.drawModalRectWithCustomSizedTexture(slot.xDisplayPosition, slot.yDisplayPosition, 0, 0, 16, 16, 16, 16)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected def drawSlotBackground(x: Int, y: Int) {
|
protected def drawSlotBackground(x: Int, y: Int) {
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
Textures.bind(Textures.GUI.Slot)
|
Textures.bind(Textures.GUI.Slot)
|
||||||
val t = Tessellator.getInstance
|
val t = Tessellator.getInstance
|
||||||
val r = t.getWorldRenderer
|
val r = t.getWorldRenderer
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package li.cil.oc.client.gui
|
package li.cil.oc.client.gui
|
||||||
|
|
||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.gui.GuiButton
|
import net.minecraft.client.gui.GuiButton
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.util.ResourceLocation
|
import net.minecraft.util.ResourceLocation
|
||||||
import net.minecraftforge.fml.relauncher.Side
|
import net.minecraftforge.fml.relauncher.Side
|
||||||
@ -25,7 +25,7 @@ class ImageButton(id: Int, x: Int, y: Int, w: Int, h: Int,
|
|||||||
override def drawButton(mc: Minecraft, mouseX: Int, mouseY: Int) {
|
override def drawButton(mc: Minecraft, mouseX: Int, mouseY: Int) {
|
||||||
if (visible) {
|
if (visible) {
|
||||||
Textures.bind(image)
|
Textures.bind(image)
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
hovered = mouseX >= xPosition && mouseY >= yPosition && mouseX < xPosition + width && mouseY < yPosition + height
|
hovered = mouseX >= xPosition && mouseY >= yPosition && mouseX < xPosition + width && mouseY < yPosition + height
|
||||||
|
|
||||||
val x0 = xPosition
|
val x0 = xPosition
|
||||||
|
@ -4,7 +4,7 @@ import li.cil.oc.Localization
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.container
|
import li.cil.oc.common.container
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
|
|
||||||
class Raid(playerInventory: InventoryPlayer, val raid: tileentity.Raid) extends DynamicGuiContainer(new container.Raid(playerInventory, raid)) {
|
class Raid(playerInventory: InventoryPlayer, val raid: tileentity.Raid) extends DynamicGuiContainer(new container.Raid(playerInventory, raid)) {
|
||||||
@ -20,7 +20,7 @@ class Raid(playerInventory: InventoryPlayer, val raid: tileentity.Raid) extends
|
|||||||
}
|
}
|
||||||
|
|
||||||
override def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
override def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
||||||
GlStateManager.color(1, 1, 1) // Required under Linux.
|
RenderState.color(1, 1, 1) // Required under Linux.
|
||||||
Textures.bind(Textures.GUI.Raid)
|
Textures.bind(Textures.GUI.Raid)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,6 @@ import li.cil.oc.common.tileentity
|
|||||||
import li.cil.oc.integration.opencomputers
|
import li.cil.oc.integration.opencomputers
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.gui.GuiButton
|
import net.minecraft.client.gui.GuiButton
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
import org.lwjgl.input.Keyboard
|
import org.lwjgl.input.Keyboard
|
||||||
@ -105,12 +104,12 @@ class Robot(playerInventory: InventoryPlayer, val robot: tileentity.Robot) exten
|
|||||||
override def drawBuffer() {
|
override def drawBuffer() {
|
||||||
if (buffer != null) {
|
if (buffer != null) {
|
||||||
GL11.glTranslatef(bufferX, bufferY, 0)
|
GL11.glTranslatef(bufferX, bufferY, 0)
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
GlStateManager.pushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslatef(-3, -3, 0)
|
GL11.glTranslatef(-3, -3, 0)
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
BufferRenderer.drawBackground()
|
BufferRenderer.drawBackground()
|
||||||
GlStateManager.popMatrix()
|
RenderState.popMatrix()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
val scaleX = bufferRenderWidth / buffer.renderWidth
|
val scaleX = bufferRenderWidth / buffer.renderWidth
|
||||||
val scaleY = bufferRenderHeight / buffer.renderHeight
|
val scaleY = bufferRenderHeight / buffer.renderHeight
|
||||||
@ -129,7 +128,7 @@ class Robot(playerInventory: InventoryPlayer, val robot: tileentity.Robot) exten
|
|||||||
|
|
||||||
override protected def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) {
|
override protected def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) {
|
||||||
drawBufferLayer()
|
drawBufferLayer()
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
if (isPointInRegion(power.x, power.y, power.width, power.height, mouseX, mouseY)) {
|
if (isPointInRegion(power.x, power.y, power.width, power.height, mouseX, mouseY)) {
|
||||||
val tooltip = new java.util.ArrayList[String]
|
val tooltip = new java.util.ArrayList[String]
|
||||||
val format = Localization.Computer.Power + ": %d%% (%d/%d)"
|
val format = Localization.Computer.Power + ": %d%% (%d/%d)"
|
||||||
@ -144,11 +143,11 @@ class Robot(playerInventory: InventoryPlayer, val robot: tileentity.Robot) exten
|
|||||||
tooltip.add(if (robot.isRunning) Localization.Computer.TurnOff else Localization.Computer.TurnOn)
|
tooltip.add(if (robot.isRunning) Localization.Computer.TurnOff else Localization.Computer.TurnOn)
|
||||||
copiedDrawHoveringText(tooltip, mouseX - guiLeft, mouseY - guiTop, fontRendererObj)
|
copiedDrawHoveringText(tooltip, mouseX - guiLeft, mouseY - guiTop, fontRendererObj)
|
||||||
}
|
}
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
override protected def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
override protected def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) {
|
||||||
GlStateManager.color(1, 1, 1)
|
RenderState.color(1, 1, 1)
|
||||||
if (buffer != null) Textures.bind(Textures.GUI.Robot)
|
if (buffer != null) Textures.bind(Textures.GUI.Robot)
|
||||||
else Textures.bind(Textures.GUI.RobotNoScreen)
|
else Textures.bind(Textures.GUI.RobotNoScreen)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
|
@ -4,7 +4,7 @@ import li.cil.oc.Localization
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.container
|
import li.cil.oc.common.container
|
||||||
import li.cil.oc.common.inventory.ServerInventory
|
import li.cil.oc.common.inventory.ServerInventory
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
import net.minecraft.inventory.Slot
|
import net.minecraft.inventory.Slot
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ class Server(playerInventory: InventoryPlayer, serverInventory: ServerInventory)
|
|||||||
}
|
}
|
||||||
|
|
||||||
override def drawSecondaryBackgroundLayer() {
|
override def drawSecondaryBackgroundLayer() {
|
||||||
GlStateManager.color(1, 1, 1)
|
RenderState.color(1, 1, 1)
|
||||||
Textures.bind(Textures.GUI.Server)
|
Textures.bind(Textures.GUI.Server)
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize)
|
||||||
}
|
}
|
||||||
|
@ -8,9 +8,9 @@ import li.cil.oc.client.Textures
|
|||||||
import li.cil.oc.client.{PacketSender => ClientPacketSender}
|
import li.cil.oc.client.{PacketSender => ClientPacketSender}
|
||||||
import li.cil.oc.common.container
|
import li.cil.oc.common.container
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.gui.GuiButton
|
import net.minecraft.client.gui.GuiButton
|
||||||
import net.minecraft.client.gui.GuiScreen
|
import net.minecraft.client.gui.GuiScreen
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.entity.player.InventoryPlayer
|
import net.minecraft.entity.player.InventoryPlayer
|
||||||
import net.minecraft.util.EnumFacing
|
import net.minecraft.util.EnumFacing
|
||||||
@ -96,7 +96,7 @@ class ServerRack(playerInventory: InventoryPlayer, val rack: tileentity.ServerRa
|
|||||||
|
|
||||||
override def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) = {
|
override def drawSecondaryForegroundLayer(mouseX: Int, mouseY: Int) = {
|
||||||
super.drawSecondaryForegroundLayer(mouseX, mouseY)
|
super.drawSecondaryForegroundLayer(mouseX, mouseY)
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
fontRendererObj.drawString(
|
fontRendererObj.drawString(
|
||||||
Localization.localizeImmediately(rack.getName),
|
Localization.localizeImmediately(rack.getName),
|
||||||
@ -114,15 +114,15 @@ class ServerRack(playerInventory: InventoryPlayer, val rack: tileentity.ServerRa
|
|||||||
val t = Tessellator.getInstance
|
val t = Tessellator.getInstance
|
||||||
val r = t.getWorldRenderer
|
val r = t.getWorldRenderer
|
||||||
Textures.bind(Textures.GUI.Range)
|
Textures.bind(Textures.GUI.Range)
|
||||||
GlStateManager.color(1, 1, 1)
|
RenderState.color(1, 1, 1)
|
||||||
GlStateManager.depthMask(false)
|
RenderState.disableDepthMask()
|
||||||
r.startDrawingQuads()
|
r.startDrawingQuads()
|
||||||
r.addVertexWithUV(tx, ty + h, zLevel, 0, 1)
|
r.addVertexWithUV(tx, ty + h, zLevel, 0, 1)
|
||||||
r.addVertexWithUV(tx + w, ty + h, zLevel, 1, 1)
|
r.addVertexWithUV(tx + w, ty + h, zLevel, 1, 1)
|
||||||
r.addVertexWithUV(tx + w, ty, zLevel, 1, 0)
|
r.addVertexWithUV(tx + w, ty, zLevel, 1, 0)
|
||||||
r.addVertexWithUV(tx, ty, zLevel, 0, 0)
|
r.addVertexWithUV(tx, ty, zLevel, 0, 0)
|
||||||
t.draw()
|
t.draw()
|
||||||
GlStateManager.depthMask(true)
|
RenderState.enableDepthMask()
|
||||||
}
|
}
|
||||||
|
|
||||||
drawCenteredString(fontRendererObj,
|
drawCenteredString(fontRendererObj,
|
||||||
@ -135,6 +135,6 @@ class ServerRack(playerInventory: InventoryPlayer, val rack: tileentity.ServerRa
|
|||||||
copiedDrawHoveringText(tooltip, mouseX - guiLeft, mouseY - guiTop, fontRendererObj)
|
copiedDrawHoveringText(tooltip, mouseX - guiLeft, mouseY - guiTop, fontRendererObj)
|
||||||
}
|
}
|
||||||
|
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import li.cil.oc.client.renderer.gui.BufferRenderer
|
|||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.gui.GuiScreen
|
import net.minecraft.client.gui.GuiScreen
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
|
|
||||||
trait DisplayBuffer extends GuiScreen {
|
trait DisplayBuffer extends GuiScreen {
|
||||||
protected def bufferX: Int
|
protected def bufferX: Int
|
||||||
@ -36,10 +35,10 @@ trait DisplayBuffer extends GuiScreen {
|
|||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".drawBufferLayer: entering (aka: wasntme)")
|
RenderState.checkError(getClass.getName + ".drawBufferLayer: entering (aka: wasntme)")
|
||||||
|
|
||||||
GlStateManager.pushMatrix()
|
RenderState.pushMatrix()
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
drawBuffer()
|
drawBuffer()
|
||||||
GlStateManager.popMatrix()
|
RenderState.popMatrix()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".drawBufferLayer: buffer layer")
|
RenderState.checkError(getClass.getName + ".drawBufferLayer: buffer layer")
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import li.cil.oc.util.BlockPosition
|
|||||||
import li.cil.oc.util.ExtendedBlock._
|
import li.cil.oc.util.ExtendedBlock._
|
||||||
import li.cil.oc.util.ExtendedWorld._
|
import li.cil.oc.util.ExtendedWorld._
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.util.EnumFacing
|
import net.minecraft.util.EnumFacing
|
||||||
import net.minecraft.util.MovingObjectPosition.MovingObjectType
|
import net.minecraft.util.MovingObjectPosition.MovingObjectType
|
||||||
@ -38,13 +37,13 @@ object HighlightRenderer {
|
|||||||
val playerPos = e.player.getPositionEyes(e.partialTicks)
|
val playerPos = e.player.getPositionEyes(e.partialTicks)
|
||||||
val renderPos = blockPos.offset(-playerPos.xCoord, -playerPos.yCoord, -playerPos.zCoord)
|
val renderPos = blockPos.offset(-playerPos.xCoord, -playerPos.yCoord, -playerPos.zCoord)
|
||||||
|
|
||||||
GlStateManager.pushMatrix()
|
RenderState.pushMatrix()
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
Textures.bind(Textures.Model.HologramEffect)
|
Textures.bind(Textures.Model.HologramEffect)
|
||||||
|
|
||||||
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
RenderState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
||||||
GlStateManager.color(0.0F, 1.0F, 0.0F, 0.4F)
|
RenderState.color(0.0F, 1.0F, 0.0F, 0.4F)
|
||||||
|
|
||||||
GL11.glTranslated(renderPos.xCoord, renderPos.yCoord, renderPos.zCoord)
|
GL11.glTranslated(renderPos.xCoord, renderPos.yCoord, renderPos.zCoord)
|
||||||
GL11.glScaled(1.002, 1.002, 1.002)
|
GL11.glScaled(1.002, 1.002, 1.002)
|
||||||
@ -92,8 +91,8 @@ object HighlightRenderer {
|
|||||||
}
|
}
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
GlStateManager.popMatrix()
|
RenderState.popMatrix()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,16 +6,15 @@ import java.util.concurrent.TimeUnit
|
|||||||
import com.google.common.cache.CacheBuilder
|
import com.google.common.cache.CacheBuilder
|
||||||
import li.cil.oc.api.event.RobotRenderEvent
|
import li.cil.oc.api.event.RobotRenderEvent
|
||||||
import li.cil.oc.client.renderer.tileentity.RobotRenderer
|
import li.cil.oc.client.renderer.tileentity.RobotRenderer
|
||||||
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.gui.inventory.GuiContainer
|
import net.minecraft.client.gui.inventory.GuiContainer
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.entity.Entity
|
import net.minecraft.entity.Entity
|
||||||
import net.minecraftforge.client.event.RenderPlayerEvent
|
import net.minecraftforge.client.event.RenderPlayerEvent
|
||||||
import net.minecraftforge.fml.common.eventhandler.EventPriority
|
import net.minecraftforge.fml.common.eventhandler.EventPriority
|
||||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
|
||||||
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent
|
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import org.lwjgl.opengl.GL12
|
|
||||||
|
|
||||||
import scala.collection.convert.WrapAsScala._
|
import scala.collection.convert.WrapAsScala._
|
||||||
import scala.collection.mutable
|
import scala.collection.mutable
|
||||||
@ -51,8 +50,8 @@ object PetRenderer {
|
|||||||
override def call() = new PetLocation(e.entityPlayer)
|
override def call() = new PetLocation(e.entityPlayer)
|
||||||
})
|
})
|
||||||
|
|
||||||
GlStateManager.pushMatrix()
|
RenderState.pushMatrix()
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
if (e.entityPlayer != Minecraft.getMinecraft.thePlayer) {
|
if (e.entityPlayer != Minecraft.getMinecraft.thePlayer) {
|
||||||
val localPos = Minecraft.getMinecraft.thePlayer.getPositionEyes(e.partialRenderTick)
|
val localPos = Minecraft.getMinecraft.thePlayer.getPositionEyes(e.partialRenderTick)
|
||||||
val playerPos = e.entityPlayer.getPositionEyes(e.partialRenderTick)
|
val playerPos = e.entityPlayer.getPositionEyes(e.partialRenderTick)
|
||||||
@ -63,10 +62,10 @@ object PetRenderer {
|
|||||||
playerPos.zCoord - localPos.zCoord)
|
playerPos.zCoord - localPos.zCoord)
|
||||||
}
|
}
|
||||||
|
|
||||||
GL11.glEnable(GL11.GL_LIGHTING)
|
RenderState.enableEntityLighting()
|
||||||
GL11.glDisable(GL11.GL_BLEND)
|
RenderState.disableBlend()
|
||||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL)
|
RenderState.enableRescaleNormal()
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
location.applyInterpolatedTransformations(e.partialRenderTick)
|
location.applyInterpolatedTransformations(e.partialRenderTick)
|
||||||
|
|
||||||
@ -75,8 +74,8 @@ object PetRenderer {
|
|||||||
|
|
||||||
RobotRenderer.renderChassis(null, offset, isRunningOverride = true)
|
RobotRenderer.renderChassis(null, offset, isRunningOverride = true)
|
||||||
|
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
GlStateManager.popMatrix()
|
RenderState.popMatrix()
|
||||||
|
|
||||||
rendering = None
|
rendering = None
|
||||||
}
|
}
|
||||||
@ -84,7 +83,7 @@ object PetRenderer {
|
|||||||
@SubscribeEvent(priority = EventPriority.LOWEST)
|
@SubscribeEvent(priority = EventPriority.LOWEST)
|
||||||
def onRobotRender(e: RobotRenderEvent) {
|
def onRobotRender(e: RobotRenderEvent) {
|
||||||
rendering match {
|
rendering match {
|
||||||
case Some((r, g, b)) => GlStateManager.color(r.toFloat, g.toFloat, b.toFloat)
|
case Some((r, g, b)) => RenderState.color(r.toFloat, g.toFloat, b.toFloat)
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import li.cil.oc.Settings
|
|||||||
import li.cil.oc.server.network.WirelessNetwork
|
import li.cil.oc.server.network.WirelessNetwork
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.world.World
|
import net.minecraft.world.World
|
||||||
import net.minecraftforge.client.event.RenderWorldLastEvent
|
import net.minecraftforge.client.event.RenderWorldLastEvent
|
||||||
import net.minecraftforge.fml.common.ObfuscationReflectionHelper
|
import net.minecraftforge.fml.common.ObfuscationReflectionHelper
|
||||||
@ -28,8 +27,8 @@ object WirelessNetworkDebugRenderer {
|
|||||||
val py = player.lastTickPosY + (player.posY - player.lastTickPosY) * e.partialTicks
|
val py = player.lastTickPosY + (player.posY - player.lastTickPosY) * e.partialTicks
|
||||||
val pz = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * e.partialTicks
|
val pz = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * e.partialTicks
|
||||||
|
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslated(-px, -py, -pz)
|
GL11.glTranslated(-px, -py, -pz)
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GL11.glDisable(GL11.GL_LIGHTING)
|
GL11.glDisable(GL11.GL_LIGHTING)
|
||||||
@ -91,8 +90,8 @@ object WirelessNetworkDebugRenderer {
|
|||||||
}
|
}
|
||||||
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL)
|
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL)
|
||||||
|
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package li.cil.oc.client.renderer.entity
|
package li.cil.oc.client.renderer.entity
|
||||||
|
|
||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.entity.Render
|
import net.minecraft.client.renderer.entity.Render
|
||||||
import net.minecraft.entity.Entity
|
import net.minecraft.entity.Entity
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
@ -12,15 +12,15 @@ object DroneRenderer extends Render(Minecraft.getMinecraft.getRenderManager) {
|
|||||||
|
|
||||||
override def doRender(entity: Entity, x: Double, y: Double, z: Double, yaw: Float, dt: Float) {
|
override def doRender(entity: Entity, x: Double, y: Double, z: Double, yaw: Float, dt: Float) {
|
||||||
bindEntityTexture(entity)
|
bindEntityTexture(entity)
|
||||||
GlStateManager.pushMatrix()
|
RenderState.pushMatrix()
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
GL11.glTranslated(x, y + 2 / 16f, z)
|
GL11.glTranslated(x, y + 2 / 16f, z)
|
||||||
|
|
||||||
model.render(entity, 0, 0, 0, 0, 0, dt)
|
model.render(entity, 0, 0, 0, 0, 0, dt)
|
||||||
|
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
GlStateManager.popMatrix()
|
RenderState.popMatrix()
|
||||||
}
|
}
|
||||||
|
|
||||||
override def getEntityTexture(entity: Entity) = Textures.Model.Drone
|
override def getEntityTexture(entity: Entity) = Textures.Model.Drone
|
||||||
|
@ -4,7 +4,6 @@ import li.cil.oc.common.entity.Drone
|
|||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.model.ModelBase
|
import net.minecraft.client.model.ModelBase
|
||||||
import net.minecraft.client.model.ModelRenderer
|
import net.minecraft.client.model.ModelRenderer
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.entity.Entity
|
import net.minecraft.entity.Entity
|
||||||
import net.minecraft.util.Vec3
|
import net.minecraft.util.Vec3
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
@ -94,8 +93,8 @@ final class ModelQuadcopter extends ModelBase {
|
|||||||
wing3.render(scale)
|
wing3.render(scale)
|
||||||
|
|
||||||
if (drone.isRunning) {
|
if (drone.isRunning) {
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
GL11.glDepthFunc(GL11.GL_LEQUAL)
|
RenderState.depthFunc(GL11.GL_LEQUAL)
|
||||||
|
|
||||||
light0.rotateAngleX = drone.flapAngles(0)(0)
|
light0.rotateAngleX = drone.flapAngles(0)(0)
|
||||||
light0.rotateAngleZ = drone.flapAngles(0)(1)
|
light0.rotateAngleZ = drone.flapAngles(0)(1)
|
||||||
@ -107,7 +106,7 @@ final class ModelQuadcopter extends ModelBase {
|
|||||||
light3.rotateAngleZ = drone.flapAngles(3)(1)
|
light3.rotateAngleZ = drone.flapAngles(3)(1)
|
||||||
|
|
||||||
// Additive blending for the lights.
|
// Additive blending for the lights.
|
||||||
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
RenderState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
||||||
// Light color.
|
// Light color.
|
||||||
val lightColor = drone.lightColor
|
val lightColor = drone.lightColor
|
||||||
val r = ((lightColor >>> 16) & 0xFF).toByte
|
val r = ((lightColor >>> 16) & 0xFF).toByte
|
||||||
@ -119,6 +118,8 @@ final class ModelQuadcopter extends ModelBase {
|
|||||||
light1.render(scale)
|
light1.render(scale)
|
||||||
light2.render(scale)
|
light2.render(scale)
|
||||||
light3.render(scale)
|
light3.render(scale)
|
||||||
|
|
||||||
|
RenderState.color(1, 1, 1, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,8 +142,8 @@ final class ModelQuadcopter extends ModelBase {
|
|||||||
wing2.render(scale)
|
wing2.render(scale)
|
||||||
wing3.render(scale)
|
wing3.render(scale)
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
GlStateManager.depthFunc(GL11.GL_LEQUAL)
|
RenderState.depthFunc(GL11.GL_LEQUAL)
|
||||||
|
|
||||||
light0.rotateAngleX = tilt
|
light0.rotateAngleX = tilt
|
||||||
light0.rotateAngleZ = tilt
|
light0.rotateAngleZ = tilt
|
||||||
@ -153,13 +154,15 @@ final class ModelQuadcopter extends ModelBase {
|
|||||||
light3.rotateAngleX = tilt
|
light3.rotateAngleX = tilt
|
||||||
light3.rotateAngleZ = -tilt
|
light3.rotateAngleZ = -tilt
|
||||||
|
|
||||||
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
RenderState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
||||||
GL11.glColor3ub(0x66.toByte, 0xDD.toByte, 0x55.toByte)
|
GL11.glColor3ub(0x66.toByte, 0xDD.toByte, 0x55.toByte)
|
||||||
|
|
||||||
light0.render(scale)
|
light0.render(scale)
|
||||||
light1.render(scale)
|
light1.render(scale)
|
||||||
light2.render(scale)
|
light2.render(scale)
|
||||||
light3.render(scale)
|
light3.render(scale)
|
||||||
|
|
||||||
|
RenderState.color(1, 1, 1, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
override def render(entity: Entity, f1: Float, f2: Float, f3: Float, f4: Float, f5: Float, f6: Float): Unit = {
|
override def render(entity: Entity, f1: Float, f2: Float, f3: Float, f4: Float, f5: Float, f6: Float): Unit = {
|
||||||
|
@ -99,6 +99,7 @@ object DynamicFontRenderer {
|
|||||||
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST)
|
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST)
|
||||||
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST)
|
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST)
|
||||||
GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA8, size, size, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, BufferUtils.createByteBuffer(size * size * 4))
|
GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA8, size, size, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, BufferUtils.createByteBuffer(size * size * 4))
|
||||||
|
GlStateManager.bindTexture(0)
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".<init>: create texture")
|
RenderState.checkError(getClass.getName + ".<init>: create texture")
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ import li.cil.oc.Settings
|
|||||||
import li.cil.oc.util.PackedColor
|
import li.cil.oc.util.PackedColor
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import li.cil.oc.util.TextBuffer
|
import li.cil.oc.util.TextBuffer
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -34,12 +33,12 @@ abstract class TextureFontRenderer {
|
|||||||
def drawBuffer(buffer: TextBuffer) {
|
def drawBuffer(buffer: TextBuffer) {
|
||||||
val format = buffer.format
|
val format = buffer.format
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
GL11.glScalef(0.5f, 0.5f, 1)
|
GL11.glScalef(0.5f, 0.5f, 1)
|
||||||
|
|
||||||
GlStateManager.depthMask(false)
|
RenderState.disableDepthMask()
|
||||||
GL11.glDisable(GL11.GL_TEXTURE_2D)
|
GL11.glDisable(GL11.GL_TEXTURE_2D)
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".drawBuffer: configure state")
|
RenderState.checkError(getClass.getName + ".drawBuffer: configure state")
|
||||||
@ -107,9 +106,9 @@ abstract class TextureFontRenderer {
|
|||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".drawBuffer: foreground")
|
RenderState.checkError(getClass.getName + ".drawBuffer: foreground")
|
||||||
|
|
||||||
GlStateManager.depthMask(true)
|
RenderState.enableDepthMask()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".drawBuffer: leaving")
|
RenderState.checkError(getClass.getName + ".drawBuffer: leaving")
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import li.cil.oc.api.component.TextBuffer
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GLAllocation
|
import net.minecraft.client.renderer.GLAllocation
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.texture.TextureManager
|
import net.minecraft.client.renderer.texture.TextureManager
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
|
|
||||||
@ -89,11 +88,11 @@ object BufferRenderer {
|
|||||||
|
|
||||||
def drawText(screen: TextBuffer) =
|
def drawText(screen: TextBuffer) =
|
||||||
if (textureManager.isDefined) {
|
if (textureManager.isDefined) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
GlStateManager.depthMask(false)
|
RenderState.disableDepthMask()
|
||||||
val changed = screen.renderText()
|
val changed = screen.renderText()
|
||||||
GlStateManager.depthMask(true)
|
RenderState.enableDepthMask()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
changed
|
changed
|
||||||
}
|
}
|
||||||
else false
|
else false
|
||||||
|
@ -10,7 +10,6 @@ import li.cil.oc.integration.opencomputers.Item
|
|||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.gui.ScaledResolution
|
import net.minecraft.client.gui.ScaledResolution
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.item.ItemStack
|
import net.minecraft.item.ItemStack
|
||||||
import net.minecraft.util.AxisAlignedBB
|
import net.minecraft.util.AxisAlignedBB
|
||||||
import net.minecraft.util.EnumChatFormatting
|
import net.minecraft.util.EnumChatFormatting
|
||||||
@ -90,12 +89,12 @@ object ItemRenderer extends IItemRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
else if (isFloppy(descriptor)) {
|
else if (isFloppy(descriptor)) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
itemRenderer.renderItemIntoGUI(stack, 0, 0)
|
itemRenderer.renderItemIntoGUI(stack, 0, 0)
|
||||||
val res = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight)
|
val res = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight)
|
||||||
val fontRenderer = Minecraft.getMinecraft.fontRendererObj
|
val fontRenderer = Minecraft.getMinecraft.fontRendererObj
|
||||||
if (fontRenderer != null && res.getScaleFactor > 1) {
|
if (fontRenderer != null && res.getScaleFactor > 1) {
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslatef(4f + 2f / res.getScaleFactor, 9f + 2f / res.getScaleFactor, 0)
|
GL11.glTranslatef(4f + 2f / res.getScaleFactor, 9f + 2f / res.getScaleFactor, 0)
|
||||||
GL11.glScalef(1f / res.getScaleFactor, 1f / res.getScaleFactor, 1f)
|
GL11.glScalef(1f / res.getScaleFactor, 1f / res.getScaleFactor, 1f)
|
||||||
val maxLength = (res.getScaleFactor * 7.5).toInt
|
val maxLength = (res.getScaleFactor * 7.5).toInt
|
||||||
@ -109,19 +108,19 @@ object ItemRenderer extends IItemRenderer {
|
|||||||
fontRenderer.drawString(line.asInstanceOf[String], 0, 0, 0)
|
fontRenderer.drawString(line.asInstanceOf[String], 0, 0, 0)
|
||||||
GL11.glTranslatef(0, fontRenderer.FONT_HEIGHT, 0)
|
GL11.glTranslatef(0, fontRenderer.FONT_HEIGHT, 0)
|
||||||
}
|
}
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
}
|
}
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError("ItemRenderer.renderItem: floppy")
|
RenderState.checkError("ItemRenderer.renderItem: floppy")
|
||||||
}
|
}
|
||||||
else if (descriptor == drone) {
|
else if (descriptor == drone) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
Textures.bind(Textures.Model.Drone)
|
Textures.bind(Textures.Model.Drone)
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GL11.glDisable(GL11.GL_CULL_FACE)
|
RenderState.disableCullFace()
|
||||||
|
|
||||||
if (renderType == ItemRenderType.INVENTORY) {
|
if (renderType == ItemRenderType.INVENTORY) {
|
||||||
GL11.glTranslatef(8f, 9f, 0)
|
GL11.glTranslatef(8f, 9f, 0)
|
||||||
@ -138,8 +137,8 @@ object ItemRenderer extends IItemRenderer {
|
|||||||
|
|
||||||
DroneRenderer.model.render()
|
DroneRenderer.model.render()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError("ItemRenderer.renderItem: drone")
|
RenderState.checkError("ItemRenderer.renderItem: drone")
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity.Assembler
|
import li.cil.oc.common.tileentity.Assembler
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -16,14 +15,13 @@ object AssemblerRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
val assembler = tileEntity.asInstanceOf[Assembler]
|
val assembler = tileEntity.asInstanceOf[Assembler]
|
||||||
|
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.setBlendAlpha(1)
|
RenderState.setBlendAlpha(1)
|
||||||
GL11.glColor4f(1, 1, 1, 1)
|
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
val t = Tessellator.getInstance
|
val t = Tessellator.getInstance
|
||||||
@ -68,10 +66,10 @@ object AssemblerRenderer extends TileEntitySpecialRenderer {
|
|||||||
GL11.glRotatef(90, 0, 1, 0)
|
GL11.glRotatef(90, 0, 1, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity.Case
|
import li.cil.oc.common.tileentity.Case
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -15,14 +14,13 @@ object CaseRenderer extends TileEntitySpecialRenderer {
|
|||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
||||||
|
|
||||||
val computer = tileEntity.asInstanceOf[Case]
|
val computer = tileEntity.asInstanceOf[Case]
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.setBlendAlpha(1)
|
RenderState.setBlendAlpha(1)
|
||||||
GL11.glColor4f(1, 1, 1, 1)
|
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
@ -62,10 +60,10 @@ object CaseRenderer extends TileEntitySpecialRenderer {
|
|||||||
t.draw()
|
t.draw()
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity.Charger
|
import li.cil.oc.common.tileentity.Charger
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -16,14 +15,14 @@ object ChargerRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
val charger = tileEntity.asInstanceOf[Charger]
|
val charger = tileEntity.asInstanceOf[Charger]
|
||||||
if (charger.chargeSpeed > 0) {
|
if (charger.chargeSpeed > 0) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.setBlendAlpha(1)
|
RenderState.setBlendAlpha(1)
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
@ -73,10 +72,10 @@ object ChargerRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -15,13 +14,13 @@ object DisassemblerRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
val disassembler = tileEntity.asInstanceOf[tileentity.Disassembler]
|
val disassembler = tileEntity.asInstanceOf[tileentity.Disassembler]
|
||||||
if (disassembler.isActive) {
|
if (disassembler.isActive) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
GL11.glScaled(1.0025, -1.0025, 1.0025)
|
GL11.glScaled(1.0025, -1.0025, 1.0025)
|
||||||
@ -65,10 +64,10 @@ object DisassemblerRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
|
@ -4,7 +4,6 @@ import li.cil.oc.client.Textures
|
|||||||
import li.cil.oc.common.tileentity.DiskDrive
|
import li.cil.oc.common.tileentity.DiskDrive
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.OpenGlHelper
|
import net.minecraft.client.renderer.OpenGlHelper
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
@ -18,10 +17,10 @@ object DiskDriveRenderer extends TileEntitySpecialRenderer {
|
|||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
||||||
|
|
||||||
val drive = tileEntity.asInstanceOf[DiskDrive]
|
val drive = tileEntity.asInstanceOf[DiskDrive]
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
@ -34,7 +33,7 @@ object DiskDriveRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
drive.items(0) match {
|
drive.items(0) match {
|
||||||
case Some(stack) =>
|
case Some(stack) =>
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslatef(0, 3.5f / 16, 9 / 16f)
|
GL11.glTranslatef(0, 3.5f / 16, 9 / 16f)
|
||||||
GL11.glRotatef(90, -1, 0, 0)
|
GL11.glRotatef(90, -1, 0, 0)
|
||||||
|
|
||||||
@ -46,7 +45,7 @@ object DiskDriveRenderer extends TileEntitySpecialRenderer {
|
|||||||
entity.hoverStart = 0
|
entity.hoverStart = 0
|
||||||
Textures.Block.bind()
|
Textures.Block.bind()
|
||||||
Minecraft.getMinecraft.getRenderItem.renderItemModel(entity.getEntityItem)
|
Minecraft.getMinecraft.getRenderItem.renderItemModel(entity.getEntityItem)
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +53,7 @@ object DiskDriveRenderer extends TileEntitySpecialRenderer {
|
|||||||
GL11.glTranslated(-0.5, 0.5, 0.505)
|
GL11.glTranslated(-0.5, 0.5, 0.505)
|
||||||
GL11.glScalef(1, -1, 1)
|
GL11.glScalef(1, -1, 1)
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.setBlendAlpha(1)
|
RenderState.setBlendAlpha(1)
|
||||||
|
|
||||||
@ -72,11 +71,11 @@ object DiskDriveRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
}
|
}
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
|
|
||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -12,14 +11,14 @@ object GeolyzerRenderer extends TileEntitySpecialRenderer {
|
|||||||
override def renderTileEntityAt(tileEntity: TileEntity, x: Double, y: Double, z: Double, f: Float, damage: Int) {
|
override def renderTileEntityAt(tileEntity: TileEntity, x: Double, y: Double, z: Double, f: Float, damage: Int) {
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
||||||
|
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.setBlendAlpha(1)
|
RenderState.setBlendAlpha(1)
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
GL11.glScaled(1.0025, -1.0025, 1.0025)
|
GL11.glScaled(1.0025, -1.0025, 1.0025)
|
||||||
@ -39,10 +38,10 @@ object GeolyzerRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@ import li.cil.oc.Settings
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity.Hologram
|
import li.cil.oc.common.tileentity.Hologram
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
import net.minecraft.util.EnumFacing
|
import net.minecraft.util.EnumFacing
|
||||||
@ -65,17 +64,16 @@ object HologramRenderer extends TileEntitySpecialRenderer with Callable[Int] wit
|
|||||||
if (!hologram.hasPower) return
|
if (!hologram.hasPower) return
|
||||||
|
|
||||||
GL11.glPushClientAttrib(GL11.GL_ALL_CLIENT_ATTRIB_BITS)
|
GL11.glPushClientAttrib(GL11.GL_ALL_CLIENT_ATTRIB_BITS)
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
RenderState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
||||||
GL11.glColor4f(1, 1, 1, 1)
|
|
||||||
|
|
||||||
val playerDistSq = x * x + y * y + z * z
|
val playerDistSq = x * x + y * y + z * z
|
||||||
val maxDistSq = hologram.getMaxRenderDistanceSquared
|
val maxDistSq = hologram.getMaxRenderDistanceSquared
|
||||||
val fadeDistSq = hologram.getFadeStartDistanceSquared
|
val fadeDistSq = hologram.getFadeStartDistanceSquared
|
||||||
RenderState.setBlendAlpha(0.75f * (if (playerDistSq > fadeDistSq) math.max(0, 1 - ((playerDistSq - fadeDistSq) / (maxDistSq - fadeDistSq)).toFloat) else 1))
|
RenderState.setBlendAlpha(0.75f * (if (playerDistSq > fadeDistSq) math.max(0, 1 - ((playerDistSq - fadeDistSq) / (maxDistSq - fadeDistSq)).toFloat) else 1))
|
||||||
|
|
||||||
GlStateManager.pushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
hologram.yaw match {
|
hologram.yaw match {
|
||||||
@ -115,12 +113,12 @@ object HologramRenderer extends TileEntitySpecialRenderer with Callable[Int] wit
|
|||||||
val sz = (z + 0.5) * hologram.scale
|
val sz = (z + 0.5) * hologram.scale
|
||||||
if (sx >= -1.5 && sx <= 1.5 && sz >= -1.5 && sz <= 1.5 && sy >= 0 && sy <= 2) {
|
if (sx >= -1.5 && sx <= 1.5 && sz >= -1.5 && sz <= 1.5 && sy >= 0 && sy <= 2) {
|
||||||
// Camera is inside the hologram.
|
// Camera is inside the hologram.
|
||||||
GL11.glDisable(GL11.GL_CULL_FACE)
|
RenderState.disableCullFace()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Camera is outside the hologram.
|
// Camera is outside the hologram.
|
||||||
GL11.glEnable(GL11.GL_CULL_FACE)
|
RenderState.enableCullFace()
|
||||||
GL11.glCullFace(GL11.GL_BACK)
|
RenderState.cullFace(GL11.GL_BACK)
|
||||||
}
|
}
|
||||||
|
|
||||||
// We do two passes here to avoid weird transparency effects: in the first
|
// We do two passes here to avoid weird transparency effects: in the first
|
||||||
@ -129,16 +127,16 @@ object HologramRenderer extends TileEntitySpecialRenderer with Callable[Int] wit
|
|||||||
// angles (because some faces will shine through sometimes and sometimes
|
// angles (because some faces will shine through sometimes and sometimes
|
||||||
// they won't), so a more... consistent look is desirable.
|
// they won't), so a more... consistent look is desirable.
|
||||||
val glBuffer = cache.get(hologram, this)
|
val glBuffer = cache.get(hologram, this)
|
||||||
GlStateManager.colorMask(false, false, false, false)
|
RenderState.disableColorMask()
|
||||||
GlStateManager.depthMask(true)
|
RenderState.enableDepthMask()
|
||||||
draw(glBuffer)
|
draw(glBuffer)
|
||||||
GlStateManager.colorMask(true, true, true, true)
|
RenderState.enableColorMask()
|
||||||
GlStateManager.depthFunc(GL11.GL_EQUAL)
|
RenderState.depthFunc(GL11.GL_EQUAL)
|
||||||
draw(glBuffer)
|
draw(glBuffer)
|
||||||
|
|
||||||
GlStateManager.depthFunc(GL11.GL_LEQUAL)
|
RenderState.depthFunc(GL11.GL_LEQUAL)
|
||||||
GlStateManager.popMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
GL11.glPopClientAttrib()
|
GL11.glPopClientAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
|
@ -14,14 +14,14 @@ object HologramRendererFallback extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
val fontRenderer = Minecraft.getMinecraft.fontRendererObj
|
val fontRenderer = Minecraft.getMinecraft.fontRendererObj
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslated(x + 0.5, y + 0.75, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.75, z + 0.5)
|
||||||
|
|
||||||
GL11.glScalef(1 / 128f, -1 / 128f, 1 / 128f)
|
GL11.glScalef(1 / 128f, -1 / 128f, 1 / 128f)
|
||||||
GL11.glDisable(GL11.GL_CULL_FACE)
|
RenderState.disableCullFace()
|
||||||
fontRenderer.drawString(text, -fontRenderer.getStringWidth(text) / 2, 0, 0xFFFFFFFF)
|
fontRenderer.drawString(text, -fontRenderer.getStringWidth(text) / 2, 0, 0xFFFFFFFF)
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity.Microcontroller
|
import li.cil.oc.common.tileentity.Microcontroller
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -15,14 +14,14 @@ object MicrocontrollerRenderer extends TileEntitySpecialRenderer {
|
|||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
||||||
|
|
||||||
val mcu = tileEntity.asInstanceOf[Microcontroller]
|
val mcu = tileEntity.asInstanceOf[Microcontroller]
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.setBlendAlpha(1)
|
RenderState.setBlendAlpha(1)
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
@ -60,10 +59,10 @@ object MicrocontrollerRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -15,14 +14,13 @@ object PowerDistributorRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
val distributor = tileEntity.asInstanceOf[tileentity.PowerDistributor]
|
val distributor = tileEntity.asInstanceOf[tileentity.PowerDistributor]
|
||||||
if (distributor.globalBuffer > 0) {
|
if (distributor.globalBuffer > 0) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.setBlendAlpha((distributor.globalBuffer / distributor.globalBufferSize).toFloat)
|
RenderState.setBlendAlpha((distributor.globalBuffer / distributor.globalBufferSize).toFloat)
|
||||||
GL11.glColor4f(1, 1, 1, 1)
|
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
GL11.glScaled(1.0025, -1.0025, 1.0025)
|
GL11.glScaled(1.0025, -1.0025, 1.0025)
|
||||||
@ -68,10 +66,10 @@ object PowerDistributorRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity.Raid
|
import li.cil.oc.common.tileentity.Raid
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.WorldRenderer
|
import net.minecraft.client.renderer.WorldRenderer
|
||||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite
|
import net.minecraft.client.renderer.texture.TextureAtlasSprite
|
||||||
@ -17,13 +16,13 @@ object RaidRenderer extends TileEntitySpecialRenderer {
|
|||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
||||||
|
|
||||||
val raid = tileEntity.asInstanceOf[Raid]
|
val raid = tileEntity.asInstanceOf[Raid]
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
@ -63,10 +62,10 @@ object RaidRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,6 @@ import net.minecraftforge.client.IItemRenderer.ItemRenderType
|
|||||||
import net.minecraftforge.client.MinecraftForgeClient
|
import net.minecraftforge.client.MinecraftForgeClient
|
||||||
import net.minecraftforge.common.MinecraftForge
|
import net.minecraftforge.common.MinecraftForge
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import org.lwjgl.opengl.GL12
|
|
||||||
|
|
||||||
object RobotRenderer extends TileEntitySpecialRenderer {
|
object RobotRenderer extends TileEntitySpecialRenderer {
|
||||||
private val displayList = GLAllocation.generateDisplayLists(2)
|
private val displayList = GLAllocation.generateDisplayLists(2)
|
||||||
@ -214,12 +213,12 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
if (isRunning) {
|
if (isRunning) {
|
||||||
if (MinecraftForgeClient.getRenderPass == 0) {
|
if (MinecraftForgeClient.getRenderPass == 0) {
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
// Additive blending for the light.
|
// Additive blending for the light.
|
||||||
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
RenderState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
||||||
// Light color.
|
// Light color.
|
||||||
val lightColor = if (robot != null && robot.info != null) robot.info.lightColor else 0xF23030
|
val lightColor = if (robot != null && robot.info != null) robot.info.lightColor else 0xF23030
|
||||||
val r = ((lightColor >>> 16) & 0xFF).toByte
|
val r = ((lightColor >>> 16) & 0xFF).toByte
|
||||||
@ -253,8 +252,9 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
if (MinecraftForgeClient.getRenderPass == 0) {
|
if (MinecraftForgeClient.getRenderPass == 0) {
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
}
|
}
|
||||||
|
RenderState.color(1, 1, 1, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -266,7 +266,7 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
val robot = proxy.robot
|
val robot = proxy.robot
|
||||||
val worldTime = tileEntity.getWorld.getTotalWorldTime + f
|
val worldTime = tileEntity.getWorld.getTotalWorldTime + f
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
// If the move started while we were rendering and we have a reference to
|
// If the move started while we were rendering and we have a reference to
|
||||||
@ -288,12 +288,11 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
else -0.03f
|
else -0.03f
|
||||||
GL11.glTranslatef(0, hover, 0)
|
GL11.glTranslatef(0, hover, 0)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GlStateManager.depthMask(true)
|
RenderState.enableDepthMask()
|
||||||
GL11.glEnable(GL11.GL_LIGHTING)
|
RenderState.enableEntityLighting()
|
||||||
GL11.glDisable(GL11.GL_BLEND)
|
RenderState.disableBlend()
|
||||||
GL11.glColor4f(1, 1, 1, 1)
|
|
||||||
|
|
||||||
if (robot.isAnimatingTurn) {
|
if (robot.isAnimatingTurn) {
|
||||||
val remaining = (robot.animationTicksLeft - f) / robot.animationTicksTotal.toDouble
|
val remaining = (robot.animationTicksLeft - f) / robot.animationTicksTotal.toDouble
|
||||||
@ -319,13 +318,13 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
Option(robot.getStackInSlot(0)) match {
|
Option(robot.getStackInSlot(0)) match {
|
||||||
case Some(stack) =>
|
case Some(stack) =>
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
try {
|
try {
|
||||||
// Copy-paste from player render code, with minor adjustments for
|
// Copy-paste from player render code, with minor adjustments for
|
||||||
// robot scale.
|
// robot scale.
|
||||||
|
|
||||||
GL11.glDisable(GL11.GL_CULL_FACE)
|
RenderState.disableCullFace()
|
||||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL)
|
RenderState.enableRescaleNormal()
|
||||||
|
|
||||||
GL11.glScalef(1, -1, -1)
|
GL11.glScalef(1, -1, -1)
|
||||||
GL11.glTranslatef(0, -8 * 0.0625F - 0.0078125F, -0.5F)
|
GL11.glTranslatef(0, -8 * 0.0625F - 0.0078125F, -0.5F)
|
||||||
@ -371,9 +370,9 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
OpenComputers.log.warn("Failed rendering equipped item.", e)
|
OpenComputers.log.warn("Failed rendering equipped item.", e)
|
||||||
robot.renderingErrored = true
|
robot.renderingErrored = true
|
||||||
}
|
}
|
||||||
GL11.glEnable(GL11.GL_CULL_FACE)
|
RenderState.enableCullFace()
|
||||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL)
|
RenderState.disableRescaleNormal()
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -385,13 +384,13 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
val r = ((tint >> 16) & 0xFF) / 255f
|
val r = ((tint >> 16) & 0xFF) / 255f
|
||||||
val g = ((tint >> 8) & 0xFF) / 255f
|
val g = ((tint >> 8) & 0xFF) / 255f
|
||||||
val b = ((tint >> 0) & 0xFF) / 255f
|
val b = ((tint >> 0) & 0xFF) / 255f
|
||||||
GL11.glColor4f(r, g, b, 1)
|
RenderState.color(r, g, b, 1)
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
GL11.glTranslatef(0.5f, 0.5f, 0.5f)
|
GL11.glTranslatef(0.5f, 0.5f, 0.5f)
|
||||||
GL11.glRotatef(mountPoint.rotation.getW, mountPoint.rotation.getX, mountPoint.rotation.getY, mountPoint.rotation.getZ)
|
GL11.glRotatef(mountPoint.rotation.getW, mountPoint.rotation.getX, mountPoint.rotation.getY, mountPoint.rotation.getZ)
|
||||||
GL11.glTranslatef(mountPoint.offset.getX, mountPoint.offset.getY, mountPoint.offset.getZ)
|
GL11.glTranslatef(mountPoint.offset.getX, mountPoint.offset.getY, mountPoint.offset.getZ)
|
||||||
itemRenderer.renderItem(Minecraft.getMinecraft.thePlayer, stack, TransformType.NONE)
|
itemRenderer.renderItem(Minecraft.getMinecraft.thePlayer, stack, TransformType.NONE)
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
@ -401,11 +400,11 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
|
|
||||||
val name = robot.name
|
val name = robot.name
|
||||||
if (Settings.get.robotLabels && !Strings.isNullOrEmpty(name) && x * x + y * y + z * z < RendererLivingEntity.NAME_TAG_RANGE) {
|
if (Settings.get.robotLabels && !Strings.isNullOrEmpty(name) && x * x + y * y + z * z < RendererLivingEntity.NAME_TAG_RANGE) {
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
// This is pretty much copy-pasta from the entity's label renderer.
|
// This is pretty much copy-pasta from the entity's label renderer.
|
||||||
val t = Tessellator.getInstance
|
val t = Tessellator.getInstance
|
||||||
@ -424,8 +423,8 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
GL11.glScalef(-scale, -scale, scale)
|
GL11.glScalef(-scale, -scale, scale)
|
||||||
|
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GlStateManager.depthMask(false)
|
RenderState.disableDepthMask()
|
||||||
GL11.glDisable(GL11.GL_LIGHTING)
|
RenderState.disableLighting()
|
||||||
GL11.glDisable(GL11.GL_TEXTURE_2D)
|
GL11.glDisable(GL11.GL_TEXTURE_2D)
|
||||||
|
|
||||||
r.startDrawingQuads()
|
r.startDrawingQuads()
|
||||||
@ -439,14 +438,14 @@ object RobotRenderer extends TileEntitySpecialRenderer {
|
|||||||
GL11.glEnable(GL11.GL_TEXTURE_2D) // For the font.
|
GL11.glEnable(GL11.GL_TEXTURE_2D) // For the font.
|
||||||
f.drawString(name, -halfWidth, 0, 0xFFFFFFFF)
|
f.drawString(name, -halfWidth, 0, 0xFFFFFFFF)
|
||||||
|
|
||||||
GlStateManager.depthMask(true)
|
RenderState.enableDepthMask()
|
||||||
GL11.glEnable(GL11.GL_LIGHTING)
|
RenderState.enableLighting()
|
||||||
GL11.glDisable(GL11.GL_BLEND)
|
RenderState.disableBlend()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
}
|
}
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import li.cil.oc.common.tileentity.Screen
|
|||||||
import li.cil.oc.integration.util.Wrench
|
import li.cil.oc.integration.util.Wrench
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -59,13 +58,13 @@ object ScreenRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: checks")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: checks")
|
||||||
|
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
@ -79,7 +78,7 @@ object ScreenRenderer extends TileEntitySpecialRenderer {
|
|||||||
val alpha = math.max(0, 1 - ((distance - fadeDistanceSq) * fadeRatio).toFloat)
|
val alpha = math.max(0, 1 - ((distance - fadeDistanceSq) * fadeRatio).toFloat)
|
||||||
if (canUseBlendColor) {
|
if (canUseBlendColor) {
|
||||||
GL14.glBlendColor(0, 0, 0, alpha)
|
GL14.glBlendColor(0, 0, 0, alpha)
|
||||||
GlStateManager.blendFunc(GL11.GL_CONSTANT_ALPHA, GL11.GL_ONE)
|
RenderState.blendFunc(GL11.GL_CONSTANT_ALPHA, GL11.GL_ONE)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,10 +88,10 @@ object ScreenRenderer extends TileEntitySpecialRenderer {
|
|||||||
draw()
|
draw()
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
@ -123,9 +122,9 @@ object ScreenRenderer extends TileEntitySpecialRenderer {
|
|||||||
val stack = Minecraft.getMinecraft.thePlayer.getHeldItem
|
val stack = Minecraft.getMinecraft.thePlayer.getHeldItem
|
||||||
if (stack != null) {
|
if (stack != null) {
|
||||||
if (Wrench.holdsApplicableWrench(Minecraft.getMinecraft.thePlayer, screen.getPos) || screens.contains(api.Items.get(stack))) {
|
if (Wrench.holdsApplicableWrench(Minecraft.getMinecraft.thePlayer, screen.getPos) || screens.contains(api.Items.get(stack))) {
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
transform()
|
transform()
|
||||||
GlStateManager.depthMask(false)
|
RenderState.disableDepthMask()
|
||||||
GL11.glTranslatef(screen.width / 2f - 0.5f, screen.height / 2f - 0.5f, 0.05f)
|
GL11.glTranslatef(screen.width / 2f - 0.5f, screen.height / 2f - 0.5f, 0.05f)
|
||||||
|
|
||||||
val t = Tessellator.getInstance
|
val t = Tessellator.getInstance
|
||||||
@ -142,8 +141,8 @@ object ScreenRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
GlStateManager.depthMask(true)
|
RenderState.enableDepthMask()
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity.ServerRack
|
import li.cil.oc.common.tileentity.ServerRack
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -15,13 +14,13 @@ object ServerRackRenderer extends TileEntitySpecialRenderer {
|
|||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)")
|
||||||
|
|
||||||
val rack = tileEntity.asInstanceOf[ServerRack]
|
val rack = tileEntity.asInstanceOf[ServerRack]
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
GlStateManager.color(1, 1, 1, 1)
|
RenderState.color(1, 1, 1, 1)
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
|
|
||||||
@ -74,10 +73,10 @@ object ServerRackRenderer extends TileEntitySpecialRenderer {
|
|||||||
t.draw()
|
t.draw()
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package li.cil.oc.client.renderer.tileentity
|
|||||||
import li.cil.oc.client.Textures
|
import li.cil.oc.client.Textures
|
||||||
import li.cil.oc.common.tileentity
|
import li.cil.oc.common.tileentity
|
||||||
import li.cil.oc.util.RenderState
|
import li.cil.oc.util.RenderState
|
||||||
import net.minecraft.client.renderer.GlStateManager
|
|
||||||
import net.minecraft.client.renderer.Tessellator
|
import net.minecraft.client.renderer.Tessellator
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
@ -16,14 +15,13 @@ object SwitchRenderer extends TileEntitySpecialRenderer {
|
|||||||
val switch = tileEntity.asInstanceOf[tileentity.Switch]
|
val switch = tileEntity.asInstanceOf[tileentity.Switch]
|
||||||
val activity = math.max(0, 1 - (System.currentTimeMillis() - switch.lastMessage) / 1000.0)
|
val activity = math.max(0, 1 - (System.currentTimeMillis() - switch.lastMessage) / 1000.0)
|
||||||
if (activity > 0) {
|
if (activity > 0) {
|
||||||
GlStateManager.pushAttrib()
|
RenderState.pushAttrib()
|
||||||
|
|
||||||
RenderState.disableLighting()
|
RenderState.disableEntityLighting()
|
||||||
RenderState.makeItBlend()
|
RenderState.makeItBlend()
|
||||||
RenderState.setBlendAlpha(activity.toFloat)
|
RenderState.setBlendAlpha(activity.toFloat)
|
||||||
GL11.glColor4f(1, 1, 1, 1)
|
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
RenderState.pushMatrix()
|
||||||
|
|
||||||
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5)
|
||||||
GL11.glScaled(1.0025, -1.0025, 1.0025)
|
GL11.glScaled(1.0025, -1.0025, 1.0025)
|
||||||
@ -58,10 +56,10 @@ object SwitchRenderer extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
t.draw()
|
t.draw()
|
||||||
|
|
||||||
RenderState.enableLighting()
|
RenderState.enableEntityLighting()
|
||||||
|
|
||||||
GL11.glPopMatrix()
|
RenderState.popMatrix()
|
||||||
GlStateManager.popAttrib()
|
RenderState.popAttrib()
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
RenderState.checkError(getClass.getName + ".renderTileEntityAt: leaving")
|
||||||
|
@ -26,21 +26,123 @@ object RenderState {
|
|||||||
else false
|
else false
|
||||||
}
|
}
|
||||||
|
|
||||||
def disableLighting() {
|
def pushAttrib(mask: Int = 8256): Unit = {
|
||||||
|
GL11.glPushAttrib(mask)
|
||||||
|
}
|
||||||
|
|
||||||
|
def popAttrib(): Unit = {
|
||||||
|
GlStateManager.popAttrib()
|
||||||
|
}
|
||||||
|
|
||||||
|
def pushMatrix(): Unit = {
|
||||||
|
GlStateManager.pushMatrix()
|
||||||
|
}
|
||||||
|
|
||||||
|
def popMatrix(): Unit = {
|
||||||
|
GlStateManager.popMatrix()
|
||||||
|
}
|
||||||
|
|
||||||
|
def color(r: Float, g: Float, b: Float, a: Float = 1f): Unit = {
|
||||||
|
GlStateManager.color(r, g, b, a)
|
||||||
|
GL11.glColor4f(r, g, b, a)
|
||||||
|
}
|
||||||
|
|
||||||
|
def disableColorMask(): Unit = {
|
||||||
|
GlStateManager.colorMask(false, false, false, false)
|
||||||
|
GL11.glColorMask(false, false, false, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
def enableColorMask(): Unit = {
|
||||||
|
GlStateManager.colorMask(true, true, true, true)
|
||||||
|
GL11.glColorMask(true, true, true, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
def disableCullFace(): Unit = {
|
||||||
|
GlStateManager.disableCull()
|
||||||
|
GL11.glDisable(GL11.GL_CULL_FACE)
|
||||||
|
}
|
||||||
|
|
||||||
|
def enableCullFace(): Unit = {
|
||||||
|
GlStateManager.enableCull()
|
||||||
|
GL11.glEnable(GL11.GL_CULL_FACE)
|
||||||
|
}
|
||||||
|
|
||||||
|
def disableDepth(): Unit = {
|
||||||
|
GlStateManager.disableDepth()
|
||||||
|
GL11.glDisable(GL11.GL_DEPTH_TEST)
|
||||||
|
}
|
||||||
|
|
||||||
|
def enableDepth(): Unit = {
|
||||||
|
GlStateManager.enableDepth()
|
||||||
|
GL11.glEnable(GL11.GL_DEPTH_TEST)
|
||||||
|
}
|
||||||
|
|
||||||
|
def disableDepthMask(): Unit = {
|
||||||
|
GlStateManager.depthMask(false)
|
||||||
|
GL11.glDepthMask(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
def enableDepthMask(): Unit = {
|
||||||
|
GlStateManager.depthMask(true)
|
||||||
|
GL11.glDepthMask(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
def disableLighting(): Unit = {
|
||||||
|
GlStateManager.disableLighting()
|
||||||
|
GL11.glDisable(GL11.GL_LIGHTING)
|
||||||
|
}
|
||||||
|
|
||||||
|
def enableLighting(): Unit = {
|
||||||
|
GlStateManager.enableLighting()
|
||||||
|
GL11.glEnable(GL11.GL_LIGHTING)
|
||||||
|
}
|
||||||
|
|
||||||
|
def disableEntityLighting() {
|
||||||
Minecraft.getMinecraft.entityRenderer.disableLightmap()
|
Minecraft.getMinecraft.entityRenderer.disableLightmap()
|
||||||
RenderHelper.disableStandardItemLighting()
|
RenderHelper.disableStandardItemLighting()
|
||||||
}
|
}
|
||||||
|
|
||||||
def enableLighting() {
|
def enableEntityLighting() {
|
||||||
Minecraft.getMinecraft.entityRenderer.enableLightmap()
|
Minecraft.getMinecraft.entityRenderer.enableLightmap()
|
||||||
RenderHelper.enableStandardItemLighting()
|
RenderHelper.enableStandardItemLighting()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def disableRescaleNormal(): Unit = {
|
||||||
|
GlStateManager.disableRescaleNormal()
|
||||||
|
GL11.glDisable(GL12.GL_RESCALE_NORMAL)
|
||||||
|
}
|
||||||
|
|
||||||
|
def enableRescaleNormal(): Unit = {
|
||||||
|
GlStateManager.enableRescaleNormal()
|
||||||
|
GL11.glEnable(GL12.GL_RESCALE_NORMAL)
|
||||||
|
}
|
||||||
|
|
||||||
def makeItBlend() {
|
def makeItBlend() {
|
||||||
GlStateManager.enableBlend()
|
GlStateManager.enableBlend()
|
||||||
|
GL11.glEnable(GL11.GL_BLEND)
|
||||||
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA)
|
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def disableBlend(): Unit = {
|
||||||
|
GlStateManager.disableBlend()
|
||||||
|
GL11.glDisable(GL11.GL_BLEND)
|
||||||
|
}
|
||||||
|
|
||||||
|
def blendFunc(sFactor: Int, dFactor: Int): Unit = {
|
||||||
|
GlStateManager.blendFunc(sFactor, dFactor)
|
||||||
|
GL11.glBlendFunc(sFactor, dFactor)
|
||||||
|
}
|
||||||
|
|
||||||
|
def cullFace(mode: Int): Unit = {
|
||||||
|
GlStateManager.cullFace(mode)
|
||||||
|
GL11.glCullFace(mode)
|
||||||
|
}
|
||||||
|
|
||||||
|
def depthFunc(func: Int): Unit = {
|
||||||
|
GlStateManager.depthFunc(func)
|
||||||
|
GL11.glDepthFunc(func)
|
||||||
|
}
|
||||||
|
|
||||||
def setBlendAlpha(alpha: Float) = {
|
def setBlendAlpha(alpha: Float) = {
|
||||||
GlStateManager.color(1, 1, 1, alpha)
|
GlStateManager.color(1, 1, 1, alpha)
|
||||||
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user