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

View file

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

View file

@ -29,7 +29,7 @@ public class GuiSkinsMineLP extends GuiSkins {
private static final String[] panoramas = new String[] { 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" "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.components.PonyElytra;
import com.minelittlepony.model.player.PlayerModels; import com.minelittlepony.model.player.PlayerModels;
import com.minelittlepony.pony.data.Pony; import com.minelittlepony.pony.data.Pony;
import com.minelittlepony.pony.data.PonyRace;
import com.minelittlepony.render.layer.AbstractPonyLayer; import com.minelittlepony.render.layer.AbstractPonyLayer;
import com.voxelmodpack.hdskins.gui.RenderPlayerModel; import com.voxelmodpack.hdskins.gui.RenderPlayerModel;
@ -45,11 +46,15 @@ public class RenderPonyModel extends RenderPlayerModel<EntityPonyModel> {
Pony thePony = MineLittlePony.getInstance().getManager().getPony(loc, slim); 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); 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()); pm.apply(thePony.getMetadata());
renderingAsHuman = false; renderingAsHuman = false;
@ -77,7 +82,7 @@ public class RenderPonyModel extends RenderPlayerModel<EntityPonyModel> {
ModelBase model = renderingAsHuman ? modelElytra : ponyElytra; ModelBase model = renderingAsHuman ? modelElytra : ponyElytra;
if (!renderingAsHuman) { 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); model.setRotationAngles(move, swing, ticks, headYaw, headPitch, scale, entity);

View file

@ -728,8 +728,18 @@ public abstract class AbstractPonyModel extends ModelPlayer implements IModel {
} }
@Override @Override
public float getModelOffsetY() { public float getRiderYOffset() {
return 0.25F; 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 getSwingAmount();
float getModelOffsetY(); float getRiderYOffset();
default boolean isWearing(PonyWearable wearable) { default boolean isWearing(PonyWearable wearable) {
return getMetadata().isWearing(wearable); return getMetadata().isWearing(wearable);

View file

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

View file

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