Add ODS support
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package com.replaymod.render.mixin;
|
||||
|
||||
import com.replaymod.render.capturer.CubicOpenGlFrameCapturer;
|
||||
import com.replaymod.render.hooks.EntityRendererHandler;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.particle.EffectRenderer;
|
||||
@@ -28,7 +27,7 @@ public abstract class MixinEffectRenderer {
|
||||
private void renderParticle(EntityFX fx, WorldRenderer worldRenderer, Entity view, float partialTicks,
|
||||
float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) Minecraft.getMinecraft().entityRenderer).replayModRender_getHandler();
|
||||
if (handler != null && handler.data instanceof CubicOpenGlFrameCapturer.Data) {
|
||||
if (handler != null && handler.omnidirectional) {
|
||||
// Align all particles towards the camera
|
||||
double dx = fx.prevPosX + (fx.posX - fx.prevPosX) * partialTicks - view.posX;
|
||||
double dy = fx.prevPosY + (fx.posY - fx.prevPosY) * partialTicks - view.posY;
|
||||
|
||||
@@ -109,7 +109,7 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
@Inject(method = "renderHand", at = @At("HEAD"), cancellable = true)
|
||||
private void replayModRender_renderSpectatorHand(float partialTicks, int renderPass, CallbackInfo ci) {
|
||||
if (replayModRender_handler != null) {
|
||||
if (replayModRender_handler.data instanceof CubicOpenGlFrameCapturer.Data) {
|
||||
if (replayModRender_handler.omnidirectional) {
|
||||
ci.cancel();
|
||||
return; // No spectator hands during 360° view, we wouldn't even know where to put it
|
||||
}
|
||||
@@ -204,7 +204,7 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
|
||||
@Override
|
||||
public void replayModRender_gluPerspective(float fovY, float aspect, float zNear, float zFar) {
|
||||
if (replayModRender_getHandler() != null && replayModRender_getHandler().data instanceof CubicOpenGlFrameCapturer.Data) {
|
||||
if (replayModRender_getHandler() != null && replayModRender_getHandler().omnidirectional) {
|
||||
fovY = 90;
|
||||
aspect = 1;
|
||||
}
|
||||
@@ -234,7 +234,8 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
|
||||
GlStateManager.rotate(-90, 1.0F, 0.0F, 0.0F);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
if (replayModRender_getHandler() != null && replayModRender_getHandler().omnidirectional) {
|
||||
// Minecraft goes back a little so we have to revert that
|
||||
GlStateManager.translate(0.0F, 0.0F, 0.1F);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.replaymod.render.mixin;
|
||||
|
||||
import com.replaymod.render.capturer.CubicOpenGlFrameCapturer;
|
||||
import com.replaymod.render.hooks.EntityRendererHandler;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
@@ -22,7 +21,7 @@ public abstract class MixinRenderManager {
|
||||
@Inject(method = "doRenderEntity", at = @At("HEAD"))
|
||||
private void replayModRender_reorientForCubicRendering(Entity entity, double dx, double dy, double dz, float iDoNotKnow, float partialTicks, boolean iDoNotCare, CallbackInfoReturnable ci) {
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) Minecraft.getMinecraft().entityRenderer).replayModRender_getHandler();
|
||||
if (handler != null && handler.data instanceof CubicOpenGlFrameCapturer.Data) {
|
||||
if (handler != null && handler.omnidirectional) {
|
||||
double pitch = -Math.atan2(dy, Math.sqrt(dx * dx + dz * dz));
|
||||
double yaw = -Math.atan2(dx, dz);
|
||||
playerViewX = (float) Math.toDegrees(pitch);
|
||||
|
||||
Reference in New Issue
Block a user