Skip to content

Commit

Permalink
Got offscreen check working properly
Browse files Browse the repository at this point in the history
  • Loading branch information
GirafiStudios committed Feb 7, 2020
1 parent 076432d commit 6950a57
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 6 deletions.
9 changes: 6 additions & 3 deletions src/main/java/dmillerw/ping/client/PingHandler.java
Expand Up @@ -65,19 +65,22 @@ public static void onRenderWorld(RenderWorldLastEvent event) {
if (renderEntity == null || activePings.isEmpty()) return;
Vec3d staticPos = TileEntityRendererDispatcher.instance.renderInfo.getProjectedView();
ActiveRenderInfo renderInfo = TileEntityRendererDispatcher.instance.renderInfo;
double clipX = staticPos.getX() + (renderEntity.getPosX() - staticPos.getX());
double clipY = staticPos.getY() + (renderEntity.getPosY() - staticPos.getY()) + 1;
double clipZ = staticPos.getZ() + (renderEntity.getPosZ() - staticPos.getZ());

MatrixStack projectionLook = new MatrixStack();
EntityViewRenderEvent.CameraSetup cameraSetup = ForgeHooksClient.onCameraSetup(mc.gameRenderer, renderInfo, event.getPartialTicks());
renderInfo.setAnglesInternal(cameraSetup.getYaw(), cameraSetup.getPitch());
projectionLook.rotate(Vector3f.ZP.rotationDegrees(cameraSetup.getRoll()));
projectionLook.rotate(Vector3f.XP.rotationDegrees(renderInfo.getPitch()));
projectionLook.rotate(Vector3f.YP.rotationDegrees(renderInfo.getYaw() + 180.0F));
projectionLook.rotate(Vector3f.ZP.rotationDegrees(cameraSetup.getRoll()));

MatrixStack entityLocation = new MatrixStack();
entityLocation.getLast().getPositionMatrix().multiply(mc.gameRenderer.getProjectionMatrix(renderInfo, event.getPartialTicks(), true));
entityLocation.getLast().getPositionMatrix().multiply(mc.gameRenderer.getProjectionMatrix(renderInfo, event.getPartialTicks(), false)); //Don't use FOV

ClippingHelperImpl clippingHelper = new ClippingHelperImpl(projectionLook.getLast().getPositionMatrix(), entityLocation.getLast().getPositionMatrix());
clippingHelper.setCameraPosition(staticPos.getX(), staticPos.getY(), staticPos.getZ());
clippingHelper.setCameraPosition(clipX, clipY, clipZ);

for (PingWrapper ping : activePings) {
double px = ping.pos.getX() + 0.5D - staticPos.getX();
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/META-INF/mods.toml
@@ -1,5 +1,5 @@
modLoader="javafml"
loaderVersion="[30,)"
loaderVersion="[31,)"
issueTrackerURL="https://github.com/dmillerw/Ping/issues"
logoFile="logo.png"

Expand All @@ -16,6 +16,6 @@ logoFile="logo.png"
[[dependencies.ping]]
modId="forge"
mandatory=true
versionRange="[30.0.39,)"
versionRange="[31.1,)"
ordering="NONE"
side="BOTH"
2 changes: 1 addition & 1 deletion src/main/resources/pack.mcmeta
Expand Up @@ -3,4 +3,4 @@
"description": "Ping resources",
"pack_format": 5
}
}
}

0 comments on commit 6950a57

Please sign in to comment.