mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-17 11:15:12 -04:00
Re-using sneak keybind for extended tooltip to avoid conflict.
Added bluescreens (show error on crash on installed GPUs' screen).
This commit is contained in:
parent
0d446cd1a8
commit
db5882b667
@ -124,7 +124,6 @@ oc:container.Rack=Serverschrank
|
|||||||
oc:container.Server=Server
|
oc:container.Server=Server
|
||||||
|
|
||||||
# Keybinds
|
# Keybinds
|
||||||
key.extendedTooltip=Tooltip erweitern
|
|
||||||
key.materialCosts=Materialkosten anzeigen
|
key.materialCosts=Materialkosten anzeigen
|
||||||
key.clipboardPaste=Zwischenablage einfügen
|
key.clipboardPaste=Zwischenablage einfügen
|
||||||
|
|
||||||
|
@ -124,7 +124,6 @@ oc:container.Rack=Server Rack
|
|||||||
oc:container.Server=Server
|
oc:container.Server=Server
|
||||||
|
|
||||||
# Keybinds
|
# Keybinds
|
||||||
key.extendedTooltip=Expand Tooltip
|
|
||||||
key.materialCosts=Show Material Costs
|
key.materialCosts=Show Material Costs
|
||||||
key.clipboardPaste=Paste Clipboard
|
key.clipboardPaste=Paste Clipboard
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package li.cil.oc.client
|
package li.cil.oc.client
|
||||||
|
|
||||||
|
import cpw.mods.fml.client.FMLClientHandler
|
||||||
import cpw.mods.fml.client.registry.KeyBindingRegistry.KeyHandler
|
import cpw.mods.fml.client.registry.KeyBindingRegistry.KeyHandler
|
||||||
import cpw.mods.fml.common.TickType
|
import cpw.mods.fml.common.TickType
|
||||||
import java.util
|
import java.util
|
||||||
@ -11,18 +12,16 @@ object KeyBindings {
|
|||||||
|
|
||||||
def showMaterialCosts = Keyboard.isKeyDown(materialCosts.keyCode)
|
def showMaterialCosts = Keyboard.isKeyDown(materialCosts.keyCode)
|
||||||
|
|
||||||
val extendedTooltip = new KeyBinding("key.extendedTooltip", Keyboard.KEY_LSHIFT)
|
val extendedTooltip = FMLClientHandler.instance.getClient.gameSettings.keyBindSneak
|
||||||
|
|
||||||
val materialCosts = new KeyBinding("key.materialCosts", Keyboard.KEY_LMENU)
|
val materialCosts = new KeyBinding("key.materialCosts", Keyboard.KEY_LMENU)
|
||||||
|
|
||||||
val clipboardPaste = new KeyBinding("key.clipboardPaste", Keyboard.KEY_INSERT)
|
val clipboardPaste = new KeyBinding("key.clipboardPaste", Keyboard.KEY_INSERT)
|
||||||
|
|
||||||
object Handler extends KeyHandler(Array(
|
object Handler extends KeyHandler(Array(
|
||||||
extendedTooltip,
|
|
||||||
materialCosts,
|
materialCosts,
|
||||||
clipboardPaste
|
clipboardPaste
|
||||||
), Array(
|
), Array(
|
||||||
false,
|
|
||||||
false,
|
false,
|
||||||
false
|
false
|
||||||
)) {
|
)) {
|
||||||
|
@ -6,7 +6,6 @@ import li.cil.oc.util.Tooltip
|
|||||||
import net.minecraft.client.renderer.texture.IconRegister
|
import net.minecraft.client.renderer.texture.IconRegister
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
import net.minecraft.item.{EnumRarity, ItemStack}
|
import net.minecraft.item.{EnumRarity, ItemStack}
|
||||||
import scala.Array
|
|
||||||
|
|
||||||
class Memory(val parent: Delegator, val tier: Int) extends Delegate {
|
class Memory(val parent: Delegator, val tier: Int) extends Delegate {
|
||||||
val baseName = "Memory"
|
val baseName = "Memory"
|
||||||
|
@ -220,11 +220,34 @@ abstract class GraphicsCard extends ManagedComponent {
|
|||||||
case Some(buffer) => buffer.synchronized {
|
case Some(buffer) => buffer.synchronized {
|
||||||
val (w, h) = buffer.resolution
|
val (w, h) = buffer.resolution
|
||||||
buffer.foreground = 0xFFFFFF
|
buffer.foreground = 0xFFFFFF
|
||||||
|
message.source.host match {
|
||||||
|
case machine: machine.Machine if machine.lastError != null =>
|
||||||
|
if (buffer.depth > PackedColor.Depth.OneBit) buffer.background = 0x0000FF
|
||||||
|
else buffer.background = 0x000000
|
||||||
|
if (buffer.buffer.fill(0, 0, w, h, ' ')) {
|
||||||
|
buffer.owner.onScreenFill(0, 0, w, h, ' ')
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
val message = "Unrecoverable error:\n" + machine.lastError + "\n"
|
||||||
|
val wrapRegEx = s"(.{1,${math.max(1, w - 2)}})\\s".r
|
||||||
|
val lines = wrapRegEx.replaceAllIn(message, m => m.group(1) + "\n").lines.toArray
|
||||||
|
for ((line, idx) <- lines.zipWithIndex) {
|
||||||
|
val col = (w - line.length) / 2
|
||||||
|
val row = (h - lines.length) / 2 + idx
|
||||||
|
buffer.buffer.set(col, row, line)
|
||||||
|
buffer.owner.onScreenSet(col, row, line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
case t: Throwable => t.printStackTrace()
|
||||||
|
}
|
||||||
|
case _ =>
|
||||||
buffer.background = 0x000000
|
buffer.background = 0x000000
|
||||||
if (buffer.buffer.fill(0, 0, w, h, ' ')) {
|
if (buffer.buffer.fill(0, 0, w, h, ' ')) {
|
||||||
buffer.owner.onScreenFill(0, 0, w, h, ' ')
|
buffer.owner.onScreenFill(0, 0, w, h, ' ')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -129,5 +129,10 @@ object ItemCosts {
|
|||||||
// We don't use this in OC because the NBT of items can change dynamically,
|
// We don't use this in OC because the NBT of items can change dynamically,
|
||||||
// for example by components being assigned an address, which will break the
|
// for example by components being assigned an address, which will break the
|
||||||
// equals check.
|
// equals check.
|
||||||
private def fuzzyEquals(stack1: ItemStack, stack2: ItemStack) = stack1.isItemEqual(stack2) || (stack1.itemID == stack2.itemID && (stack1.getItemDamage == OreDictionary.WILDCARD_VALUE || stack2.getItemDamage == OreDictionary.WILDCARD_VALUE)) // && ItemStack.areItemStackTagsEqual(stack1, stack2)
|
private def fuzzyEquals(stack1: ItemStack, stack2: ItemStack) =
|
||||||
|
stack1.itemID == stack2.itemID &&
|
||||||
|
(stack1.getItemDamage == stack2.getItemDamage ||
|
||||||
|
stack1.getItemDamage == OreDictionary.WILDCARD_VALUE ||
|
||||||
|
stack2.getItemDamage == OreDictionary.WILDCARD_VALUE ||
|
||||||
|
stack1.getItem.isDamageable) // && ItemStack.areItemStackTagsEqual(stack1, stack2)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user