fix compatibility with OptiFine AA & AF
This commit is contained in:
@@ -102,6 +102,8 @@ object Refs {
|
|||||||
val CPmatchesBlock = MethodRef(ConnectedProperties, "matchesBlock", ClassRef.boolean, ClassRef.int, ClassRef.int)
|
val CPmatchesBlock = MethodRef(ConnectedProperties, "matchesBlock", ClassRef.boolean, ClassRef.int, ClassRef.int)
|
||||||
val CPmatchesIcon = MethodRef(ConnectedProperties, "matchesIcon", ClassRef.boolean, TextureAtlasSprite)
|
val CPmatchesIcon = MethodRef(ConnectedProperties, "matchesIcon", ClassRef.boolean, TextureAtlasSprite)
|
||||||
|
|
||||||
|
val quadSprite = FieldRef(VertexBuffer, "quadSprite", TextureAtlasSprite)
|
||||||
|
|
||||||
// ShadersMod
|
// ShadersMod
|
||||||
val SVertexBuilder = ClassRef("shadersmod.client.SVertexBuilder")
|
val SVertexBuilder = ClassRef("shadersmod.client.SVertexBuilder")
|
||||||
val sVertexBuilder = FieldRef(VertexBuffer, "sVertexBuilder", SVertexBuilder)
|
val sVertexBuilder = FieldRef(VertexBuffer, "sVertexBuilder", SVertexBuilder)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package mods.octarinecore.client.render
|
package mods.octarinecore.client.render
|
||||||
|
|
||||||
|
import mods.betterfoliage.loader.Refs
|
||||||
import mods.octarinecore.common.*
|
import mods.octarinecore.common.*
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.renderer.VertexBuffer
|
import net.minecraft.client.renderer.VertexBuffer
|
||||||
@@ -48,6 +49,10 @@ class ModelRenderer : ShadingContext() {
|
|||||||
if (quadFilter(quadIdx, quad)) {
|
if (quadFilter(quadIdx, quad)) {
|
||||||
val drawIcon = icon(this, quadIdx, quad)
|
val drawIcon = icon(this, quadIdx, quad)
|
||||||
if (drawIcon != null) {
|
if (drawIcon != null) {
|
||||||
|
// let OptiFine know the texture we're using, so it can
|
||||||
|
// transform UV coordinates to quad-relative
|
||||||
|
Refs.quadSprite.set(worldRenderer, drawIcon)
|
||||||
|
|
||||||
quad.verts.forEachIndexed { vertIdx, vert ->
|
quad.verts.forEachIndexed { vertIdx, vert ->
|
||||||
temp.init(vert).rotate(rotation).translate(trans)
|
temp.init(vert).rotate(rotation).translate(trans)
|
||||||
val shader = if (aoEnabled && !forceFlat) vert.aoShader else vert.flatShader
|
val shader = if (aoEnabled && !forceFlat) vert.aoShader else vert.flatShader
|
||||||
|
|||||||
@@ -164,4 +164,6 @@ class FieldRef(val parentClass: ClassRef,
|
|||||||
|
|
||||||
/** Get this static field using reflection. */
|
/** Get this static field using reflection. */
|
||||||
fun getStatic() = get(null)
|
fun getStatic() = get(null)
|
||||||
|
|
||||||
|
fun set(receiver: Any?, obj: Any?) { element?.set(receiver, obj) }
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user