3 changes: 3 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ generateGradleTokenClass = codechicken.core.asm.Tags
# Name of the token containing the project's current version to generate/replace.
gradleTokenVersion = VERSION

# [DEPRECATED] Mod Group replacement token.
gradleTokenGroupName =

# [DEPRECATED]
# Multiple source files can be defined here by providing a comma-separated list: Class1.java,Class2.java,Class3.java
# public static final String VERSION = "GRADLETOKEN_VERSION";
Expand Down
17 changes: 11 additions & 6 deletions src/main/java/codechicken/lib/asm/RedirectorTransformer.java
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,9 @@ public byte[] transform(String name, String transformedName, byte[] basicClass)
changed = true;

}
} else if (node.getOpcode() == Opcodes.INVOKESTATIC && node instanceof MethodInsnNode mNode) {
if (redirectedMethods.contains(mNode.name) && mNode.owner.equals(RenderStateClass)) {
mNode.name = mNode.name + "Static";
changed = true;
} else if (redirectedSimpleMethods.contains(mNode.name) && mNode.owner.equals(RenderStateClass)) {
} else if (node instanceof MethodInsnNode mNode) {
if (node.getOpcode() == Opcodes.INVOKESTATIC && redirectedSimpleMethods.contains(mNode.name)
&& mNode.owner.equals(RenderStateClass)) {
mn.instructions.insertBefore(
mNode,
new MethodInsnNode(
Expand All @@ -132,8 +130,15 @@ public byte[] transform(String name, String transformedName, byte[] basicClass)
"instance",
"()Lcodechicken/lib/render/CCRenderState;"));
mNode.setOpcode(Opcodes.INVOKEVIRTUAL);
mNode.name = mNode.name + "Instance";
changed = true;
}
} else if (node.getOpcode() == Opcodes.INVOKEVIRTUAL && mNode.owner.equals(RenderStateClass)
&& (redirectedSimpleMethods.contains(mNode.name)
|| redirectedMethods.contains(mNode.name))) {
// Handle mods that updated to previously new API
mNode.name = mNode.name + "Instance";
changed = true;
}
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/codechicken/lib/gui/Canvas9Seg.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,15 @@ private void drawSeg(int[] sw, int[] sh, int seg) {

public void draw(CCRenderState state, int x, int y, int w, int h) {
CCRenderState.changeTexture(tex);
state.reset();
state.startDrawing();
state.resetInstance();
state.startDrawingInstance();

int[] sw = new int[] { x, x + seg_w[0], x + w - seg_w[2], x + w };
int[] sh = new int[] { y, y + seg_h[0], y + h - seg_h[2], y + h };

for (int seg = 0; seg < 9; seg++) drawSeg(sw, sh, seg);

state.draw();
state.drawInstance();
}

public void draw(int x, int y, int w, int h) {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/codechicken/lib/lighting/LightMatrix.java
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,8 @@ public void operate(CCRenderState state) {
float[] a = ao(lc.side);
float f = (a[0] * lc.fa + a[1] * lc.fb + a[2] * lc.fc + a[3] * lc.fd);
int[] b = brightness(lc.side);
state.setColour(ColourRGBA.multiplyC(state.colour, f));
state.setBrightness((int) (b[0] * lc.fa + b[1] * lc.fb + b[2] * lc.fc + b[3] * lc.fd) & 0xFF00FF);
state.setColourInstance(ColourRGBA.multiplyC(state.colour, f));
state.setBrightnessInstance((int) (b[0] * lc.fa + b[1] * lc.fb + b[2] * lc.fc + b[3] * lc.fd) & 0xFF00FF);
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/codechicken/lib/lighting/LightModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public boolean load(CCRenderState state) {

@Override
public void operate(CCRenderState state) {
state.setColour(apply(state.colour, state.normal));
state.setColourInstance(apply(state.colour, state.normal));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public boolean load(CCRenderState state) {
@Override
public void operate(CCRenderState state) {
super.operate(state);
state.setBrightness(brightness(state.side));
state.setBrightnessInstance(brightness(state.side));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public boolean load(CCRenderState state) {

@Override
public void operate(CCRenderState state) {
state.setColour(ColourRGBA.multiply(state.colour, colours[state.side]));
state.setColourInstance(ColourRGBA.multiply(state.colour, colours[state.side]));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public boolean load(CCRenderState state) {

@Override
public void operate(CCRenderState state) {
state.setBrightness(sample(state.side));
state.setBrightnessInstance(sample(state.side));
}

@Override
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/codechicken/lib/render/BlockRenderer.java
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ public void prepareVertex(CCRenderState state) {

// public static void renderFullBlock(int sideMask) {
public static void renderFullBlock(CCRenderState state, int sideMask) {
state.setModel(fullBlock);
state.setModelInstance(fullBlock);
renderFaces(state, sideMask);
}

Expand All @@ -171,8 +171,8 @@ public static void renderFullBlock(int sideMask) {
public static void renderFaces(CCRenderState state, int sideMask) {
if (sideMask == 0x3F) return;
for (int s = 0; s < 6; s++) if ((sideMask & 1 << s) == 0) {
state.setVertexRange(s * 4, (s + 1) * 4);
state.render();
state.setVertexRangeInstance(s * 4, (s + 1) * 4);
state.renderInstance();
}
}

Expand All @@ -191,10 +191,10 @@ public static void renderFaces(int sideMask) {
public static void renderCuboid(CCRenderState state, Cuboid6 bounds, int sideMask) {
if (sideMask == 0x3F) return;

state.setModel(face);
state.setModelInstance(face);
for (int s = 0; s < 6; s++) if ((sideMask & 1 << s) == 0) {
face.loadCuboidFace(bounds, s);
state.render();
state.renderInstance();
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/codechicken/lib/render/CCModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -467,8 +467,8 @@ public void render(CCRenderState.IVertexOperation... ops) {
* @param ops Operations to apply
*/
public void render(CCRenderState state, int start, int end, CCRenderState.IVertexOperation... ops) {
state.setPipeline(this, start, end, ops);
state.render();
state.setPipelineInstance(this, start, end, ops);
state.renderInstance();
}

public void render(int start, int end, CCRenderState.IVertexOperation... ops) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/codechicken/lib/render/CCRenderPipeline.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public void build() {

public void render() {
rebuild();
renderState.render();
renderState.renderInstance();
}
}

Expand Down
Loading