Skip to content

Commit ad88469

Browse files
committed
fix static and dynamic render events
1 parent 5622e6e commit ad88469

File tree

7 files changed

+33
-27
lines changed

7 files changed

+33
-27
lines changed

src/main/java/com/lambda/mixin/render/GameRendererMixin.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.lambda.event.events.RenderEvent;
2222
import com.lambda.graphics.RenderMain;
2323
import com.lambda.gui.DearImGui;
24+
import com.lambda.module.modules.render.BlockOutline;
2425
import com.lambda.module.modules.render.NoRender;
2526
import com.lambda.module.modules.render.Zoom;
2627
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
@@ -40,6 +41,7 @@
4041
import org.spongepowered.asm.mixin.injection.At;
4142
import org.spongepowered.asm.mixin.injection.Inject;
4243
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
44+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
4345

4446
@Mixin(GameRenderer.class)
4547
public class GameRendererMixin {
@@ -76,4 +78,9 @@ private float modifyGetFov(float original) {
7678
private void onGuiRenderComplete(RenderTickCounter tickCounter, boolean tick, CallbackInfo ci) {
7779
DearImGui.INSTANCE.render();
7880
}
81+
82+
@Inject(method = "shouldRenderBlockOutline()Z", at = @At("HEAD"), cancellable = true)
83+
private void injectShouldRenderBlockOutline(CallbackInfoReturnable<Boolean> cir) {
84+
if (BlockOutline.INSTANCE.isEnabled()) cir.setReturnValue(false);
85+
}
7986
}

src/main/kotlin/com/lambda/event/events/RenderEvent.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,18 @@ import com.lambda.event.callback.Cancellable
2323
import com.lambda.event.callback.ICancellable
2424
import com.lambda.event.listener.SafeListener.Companion.listen
2525
import com.lambda.graphics.RenderMain
26+
import com.lambda.graphics.mc.ImmediateRegionESP
2627
import com.lambda.graphics.mc.TransientRegionESP
2728

2829
fun Any.onStaticRender(block: SafeContext.(TransientRegionESP) -> Unit) =
29-
listen<RenderEvent.Upload> { block(RenderMain.StaticESP) }
30+
listen<RenderEvent.UploadStatic> { block(RenderMain.staticESP) }
3031

31-
fun Any.onDynamicRender(block: SafeContext.(TransientRegionESP) -> Unit) =
32-
listen<RenderEvent.Upload> { block(RenderMain.DynamicESP) }
32+
fun Any.onDynamicRender(block: SafeContext.(ImmediateRegionESP) -> Unit) =
33+
listen<RenderEvent.UploadDynamic> { block(RenderMain.dynamicESP) }
3334

3435
sealed class RenderEvent {
35-
object Upload : Event
36+
object UploadStatic : Event
37+
object UploadDynamic: Event
3638
object Render : Event
3739

3840
class UpdateTarget : ICancellable by Cancellable()

src/main/kotlin/com/lambda/graphics/RenderMain.kt

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.lambda.event.events.TickEvent
2424
import com.lambda.event.listener.SafeListener.Companion.listen
2525
import com.lambda.graphics.gl.Matrices
2626
import com.lambda.graphics.gl.Matrices.resetMatrices
27+
import com.lambda.graphics.mc.ImmediateRegionESP
2728
import com.lambda.graphics.mc.TransientRegionESP
2829
import net.minecraft.util.math.Vec3d
2930
import org.joml.Matrix4f
@@ -32,10 +33,10 @@ import org.joml.Vector4f
3233

3334
object RenderMain {
3435
@JvmStatic
35-
val StaticESP = TransientRegionESP("Static")
36+
val staticESP = TransientRegionESP("Static")
3637

3738
@JvmStatic
38-
val DynamicESP = TransientRegionESP("Dynamic")
39+
val dynamicESP = ImmediateRegionESP("Dynamic")
3940

4041
val projectionMatrix = Matrix4f()
4142
val modelViewMatrix
@@ -90,22 +91,22 @@ object RenderMain {
9091
resetMatrices(positionMatrix)
9192
projectionMatrix.set(projMatrix)
9293

93-
// Render transient ESPs using the new pipeline
94-
StaticESP.render() // Uses internal depthTest flag (true)
95-
DynamicESP.render() // Uses internal depthTest flag (false)
94+
staticESP.render()
9695

9796
RenderEvent.Render.post()
97+
dynamicESP.render()
9898
}
9999

100100
init {
101101
listen<TickEvent.Post> {
102-
StaticESP.clear()
103-
DynamicESP.clear()
104-
105-
RenderEvent.Upload.post()
106-
107-
StaticESP.upload()
108-
DynamicESP.upload()
102+
staticESP.clear()
103+
RenderEvent.UploadStatic.post()
104+
staticESP.upload()
105+
}
106+
listen<RenderEvent.Render> {
107+
dynamicESP.clear()
108+
RenderEvent.UploadDynamic.post()
109+
dynamicESP.upload()
109110
}
110111
}
111112
}

src/main/kotlin/com/lambda/interaction/managers/breaking/BreakManager.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import com.lambda.event.events.WorldEvent
2626
import com.lambda.event.events.onDynamicRender
2727
import com.lambda.event.listener.SafeListener.Companion.listen
2828
import com.lambda.event.listener.UnsafeListener.Companion.listenUnsafe
29-
import com.lambda.graphics.renderer.esp.DynamicAABB
3029
import com.lambda.interaction.construction.blueprint.Blueprint.Companion.toStructure
3130
import com.lambda.interaction.construction.simulation.BuildSimulator.simulate
3231
import com.lambda.interaction.construction.simulation.context.BreakContext
@@ -269,11 +268,9 @@ object BreakManager : Manager<BreakRequest>(
269268
it.offset(pos)
270269
}.forEach boxes@{ box ->
271270
val animationMode = info.breakConfig.animation
272-
val currentProgressBox = interpolateBox(box, currentProgress, animationMode)
273-
val nextProgressBox = interpolateBox(box, nextTicksProgress, animationMode)
274-
val dynamicAABB = DynamicAABB().update(currentProgressBox).update(nextProgressBox)
275-
if (config.fill) filled(dynamicAABB, fillColor)
276-
if (config.outline) outline(dynamicAABB, outlineColor)
271+
val interpolatedBox = interpolateBox(box, interpolatedProgress, animationMode)
272+
if (config.fill) filled(interpolatedBox, fillColor)
273+
if (config.outline) outline(interpolatedBox, outlineColor)
277274
}
278275
}
279276
}

src/main/kotlin/com/lambda/module/modules/movement/Blink.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import com.lambda.event.events.PacketEvent
2222
import com.lambda.event.events.RenderEvent
2323
import com.lambda.event.events.onDynamicRender
2424
import com.lambda.event.listener.SafeListener.Companion.listen
25-
import com.lambda.graphics.esp.ShapeScope
2625
import com.lambda.graphics.renderer.esp.DynamicAABB
2726
import com.lambda.gui.components.ClickGuiLayout
2827
import com.lambda.module.Module
@@ -59,7 +58,7 @@ object Blink : Module(
5958
private var lastBox = Box(BlockPos.ORIGIN)
6059

6160
init {
62-
listen<RenderEvent.Upload> {
61+
listen<RenderEvent.UploadStatic> {
6362
val time = System.currentTimeMillis()
6463

6564
if (isActive && time - lastUpdate < delay) return@listen

src/main/kotlin/com/lambda/module/modules/network/PacketDelay.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ object PacketDelay : Module(
5353
private var inboundLastUpdate = 0L
5454

5555
init {
56-
listen<RenderEvent.Upload> {
56+
listen<RenderEvent.UploadStatic> {
5757
if (mode != Mode.Static) return@listen
5858

5959
flushPools(System.currentTimeMillis())

src/main/kotlin/com/lambda/module/modules/render/BlockOutline.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ object BlockOutline : Module(
3737
tag = ModuleTag.RENDER
3838
) {
3939
private val fill by setting("Fill", true)
40-
private val fillColor by setting("Fill Color", Color(255, 255, 255, 60)) { fill }
40+
private val fillColor by setting("Fill Color", Color(255, 255, 255, 20)) { fill }
4141
private val outline by setting("Outline", true)
42-
private val outlineColor by setting("Outline Color", Color.WHITE) { outline }
42+
private val outlineColor by setting("Outline Color", Color(255, 255, 255, 120)) { outline }
4343
private val lineWidth by setting("Line Width", 1.0f, 0.5f..10.0f, 0.1f) { outline }
4444
private val interpolate by setting("Interpolate", true)
4545
private val throughWalls by setting("ESP", true)

0 commit comments

Comments
 (0)