This commit is contained in:
Matthew Messinger 2018-07-08 18:05:44 -04:00
commit d802e5335d
26 changed files with 32 additions and 12 deletions

View file

@ -55,7 +55,7 @@ public class GLWindow extends DropTarget {
/**
* Destroys the current GLWindow context and restores default behaviour.
*/
public static void dispose() {
public static synchronized void dispose() {
if (instance != null) {
instance.close();
}
@ -87,7 +87,7 @@ public class GLWindow extends DropTarget {
return frame;
}
private void open() throws LWJGLException {
private synchronized void open() throws LWJGLException {
// Dimensions from LWJGL may have a non 1:1 scale on high DPI monitors.
int x = getScaledPixelUnit(Display.getX());
int y = getScaledPixelUnit(Display.getY());
@ -151,7 +151,7 @@ public class GLWindow extends DropTarget {
ready = true;
}
private void close() {
private synchronized void close() {
closeRequested = true;
try {

View file

@ -1,6 +1,7 @@
package com.voxelmodpack.hdskins.gui;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped.ArmPose;
import net.minecraft.client.model.ModelElytra;
import net.minecraft.client.model.ModelPlayer;
import net.minecraft.client.renderer.GlStateManager;
@ -99,6 +100,9 @@ public class RenderPlayerModel<M extends EntityPlayerModel> extends RenderLiving
player.bipedLeftArmwear.isHidden = !parts.contains(EnumPlayerModelParts.LEFT_SLEEVE);
player.bipedRightArmwear.isHidden = !parts.contains(EnumPlayerModelParts.RIGHT_SLEEVE);
player.leftArmPose = ArmPose.EMPTY;
player.rightArmPose = ArmPose.EMPTY;
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
super.doRender(par1Entity, par2, par4, par6, par8, par9);
popAttrib();

View file

@ -29,7 +29,7 @@ public class GuiSkinsMineLP extends GuiSkins {
private static final String[] panoramas = new String[] {
"minelp:textures/cubemap/sugurcubecorner_%d.png",
"minelp:textures/cubemap/sugarcubecorner_%d.png",
"minelp:textures/cubemap/quillsandsofas_%d.png"
};

View file

@ -6,6 +6,7 @@ import com.minelittlepony.model.capabilities.IModel;
import com.minelittlepony.model.components.PonyElytra;
import com.minelittlepony.model.player.PlayerModels;
import com.minelittlepony.pony.data.Pony;
import com.minelittlepony.pony.data.PonyRace;
import com.minelittlepony.render.layer.AbstractPonyLayer;
import com.voxelmodpack.hdskins.gui.RenderPlayerModel;
@ -45,11 +46,15 @@ public class RenderPonyModel extends RenderPlayerModel<EntityPonyModel> {
Pony thePony = MineLittlePony.getInstance().getManager().getPony(loc, slim);
if (thePony.getRace(false).isHuman()) {
PonyRace race = thePony.getRace(false);
if (race.isHuman()) {
return super.getEntityModel(playermodel);
}
ModelWrapper pm = playermodel.wet ? PlayerModels.SEAPONY.getModel(slim) : thePony.getModel(true);
boolean canWet = playermodel.wet && (loc == playermodel.getBlankSkin() || race == PonyRace.SEAPONY);
ModelWrapper pm = canWet ? PlayerModels.SEAPONY.getModel(slim) : thePony.getModel(true);
pm.apply(thePony.getMetadata());
renderingAsHuman = false;
@ -77,7 +82,7 @@ public class RenderPonyModel extends RenderPlayerModel<EntityPonyModel> {
ModelBase model = renderingAsHuman ? modelElytra : ponyElytra;
if (!renderingAsHuman) {
GlStateManager.translate(0, ((IModel)getMainModel()).getModelOffsetY(), 0.125F);
GlStateManager.translate(0, ((IModel)getMainModel()).getRiderYOffset(), 0.125F);
}
model.setRotationAngles(move, swing, ticks, headYaw, headPitch, scale, entity);

View file

@ -728,8 +728,18 @@ public abstract class AbstractPonyModel extends ModelPlayer implements IModel {
}
@Override
public float getModelOffsetY() {
return 0.25F;
public float getRiderYOffset() {
if (isChild()) {
return 1.05F;
}
switch (getMetadata().getSize()) {
case NORMAL: return 0.4F;
case FOAL: return 1.05F;
case TALL:
case LARGE:
default: return 0.25F;
}
}
/**

View file

@ -73,7 +73,7 @@ public interface IModel extends ICapitated {
float getSwingAmount();
float getModelOffsetY();
float getRiderYOffset();
default boolean isWearing(PonyWearable wearable) {
return getMetadata().isWearing(wearable);

View file

@ -133,7 +133,7 @@ public class ModelSeapony extends ModelUnicorn {
}
@Override
public float getModelOffsetY() {
public float getRiderYOffset() {
return 1.05F;
}

View file

@ -35,8 +35,9 @@ public class LayerPonyElytra<T extends EntityLivingBase> extends AbstractPonyLay
getRenderer().bindTexture(getElytraTexture(entity));
GlStateManager.pushMatrix();
GlStateManager.translate(0, getPlayerModel().getModelOffsetY(), 0.125F);
GlStateManager.translate(0, getPlayerModel().getRiderYOffset(), 0.125F);
getPlayerModel().transform(BodyPart.BODY);
modelElytra.setRotationAngles(move, swing, ticks, yaw, head, scale, entity);
modelElytra.render(entity, move, swing, ticks, yaw, head, scale);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB