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 CPmatchesIcon = MethodRef(ConnectedProperties, "matchesIcon", ClassRef.boolean, TextureAtlasSprite)
|
||||
|
||||
val quadSprite = FieldRef(VertexBuffer, "quadSprite", TextureAtlasSprite)
|
||||
|
||||
// ShadersMod
|
||||
val SVertexBuilder = ClassRef("shadersmod.client.SVertexBuilder")
|
||||
val sVertexBuilder = FieldRef(VertexBuffer, "sVertexBuilder", SVertexBuilder)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package mods.octarinecore.client.render
|
||||
|
||||
import mods.betterfoliage.loader.Refs
|
||||
import mods.octarinecore.common.*
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.client.renderer.VertexBuffer
|
||||
@@ -48,6 +49,10 @@ class ModelRenderer : ShadingContext() {
|
||||
if (quadFilter(quadIdx, quad)) {
|
||||
val drawIcon = icon(this, quadIdx, quad)
|
||||
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 ->
|
||||
temp.init(vert).rotate(rotation).translate(trans)
|
||||
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. */
|
||||
fun getStatic() = get(null)
|
||||
|
||||
fun set(receiver: Any?, obj: Any?) { element?.set(receiver, obj) }
|
||||
}
|
||||
Reference in New Issue
Block a user