work on tinker table model

This commit is contained in:
MachineMuse 2012-12-25 01:36:18 -07:00
parent 7b87d1e9c3
commit 7e9c970731
10 changed files with 2110 additions and 37 deletions

View file

@ -16,7 +16,7 @@ import org.lwjgl.opengl.GL11;
* @author MachineMuse
*
*/
public abstract class Doodler {
public abstract class MuseRenderer {
/**
* Mostly for placeholder graphics, this function draws a 3x3 grid of swirly
@ -151,14 +151,10 @@ public abstract class Doodler {
}
/**
* Draws a swirly green circle at the specified coordinates in the current
* reference frame.
* Draws the given vertex arrays (textureless)
*
* @param xoffset
* @param yoffset
* @param radius
*/
public static void drawTriangles3D(float[] v, float[] c,
public static void drawTriangles3DR(float[] v, float[] c,
int[] i) {
arraysOn();
texturelessOn();
@ -334,4 +330,49 @@ public abstract class Doodler {
public static void popMatrix() {
GL11.glPopMatrix();
}
/**
* Draws a rectangular prism (cube or otherwise orthogonal)
*/
public static void drawRectPrism(float bottom, float top, float left,
float right, float front, float back) {
float[] points = {
bottom, left, front,
top, left, front,
bottom, right, front,
top, right, front,
bottom, left, back,
top, left, back,
bottom, right, back,
top, right, back
};
float r = 0.3f;
float g = 0.8f;
float b = 0.5f;
float a = 0.9f;
float[] colours = {
r, g, b, a,
r, g, b, a,
r, g, b, a,
r, g, b, a,
r, g, b, a,
r, g, b, a,
r, g, b, a,
r, g, b, a
};
int[] indices = {
0, 3, 1,
0, 2, 3,
2, 6, 7,
2, 7, 3,
6, 4, 5,
6, 5, 7,
4, 0, 1,
4, 1, 5,
1, 3, 7,
1, 7, 5,
0, 6, 2,
0, 4, 6
};
}
}

File diff suppressed because it is too large Load diff

View file

@ -3,6 +3,7 @@
*/
package machinemuse.powersuits.client;
import machinemuse.general.geometry.MuseRenderer;
import machinemuse.powersuits.common.Config;
import machinemuse.powersuits.common.Config.Blocks;
import net.minecraft.block.Block;
@ -33,8 +34,8 @@ public class BlockRenderer implements ISimpleBlockRenderingHandler {
@Override
public void renderInventoryBlock(Block block, int metadata, int modelID,
RenderBlocks renderer) {
// TODO Auto-generated method stub
MuseRenderer.drawRectPrism(0, 1, 0, 1, 0, 1);
}
/*
@ -49,9 +50,8 @@ public class BlockRenderer implements ISimpleBlockRenderingHandler {
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z,
Block block, int modelId, RenderBlocks renderer) {
// TODO Auto-generated method stub
return false;
MuseRenderer.drawRectPrism(0, 1, 0, 1, 0, 1);
return true;
}
/*
@ -62,8 +62,7 @@ public class BlockRenderer implements ISimpleBlockRenderingHandler {
*/
@Override
public boolean shouldRender3DInInventory() {
// TODO Auto-generated method stub
return false;
return true;
}
/*

View file

@ -1,6 +1,7 @@
package machinemuse.powersuits.client;
import machinemuse.powersuits.common.CommonProxy;
import machinemuse.powersuits.common.MuseLogger;
import machinemuse.powersuits.common.PlayerTickHandler;
import machinemuse.powersuits.common.PowersuitsMod;
import machinemuse.powersuits.network.MusePacketHandler;
@ -33,9 +34,9 @@ public class ClientProxy extends CommonProxy {
// MinecraftForgeClient.registerItemRenderer(
// i.shiftedIndex, eRenderer);
// }
MuseLogger.logDebug("Registering TinkerTable renderer");
RenderingRegistry.registerBlockHandler(new BlockRenderer());
MinecraftForgeClient.preloadTexture("/gui/tinktablegui.png");
// MinecraftForgeClient.preloadTexture("/gui/tinktablegui.png");
}
/**

View file

@ -1,6 +1,6 @@
package machinemuse.powersuits.client;
import machinemuse.general.geometry.Doodler;
import machinemuse.general.geometry.MuseRenderer;
import machinemuse.powersuits.item.IModularItem;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderEngine;
@ -98,14 +98,14 @@ public class EquipmentRenderer implements IItemRenderer {
}
public void drawHead(ItemStack itemStack) {
Doodler.draw3x3placeholder(
MuseRenderer.draw3x3placeholder(
true, true, true,
true, false, true,
false, false, false);
}
public void drawTorso(ItemStack itemStack) {
Doodler.draw3x3placeholder(
MuseRenderer.draw3x3placeholder(
true, false, true,
true, true, true,
true, true, true);
@ -141,18 +141,18 @@ public class EquipmentRenderer implements IItemRenderer {
1, 3, 2,
1, 4, 3
};
Doodler.drawTriangles2D(v, c, i);
MuseRenderer.drawTriangles2D(v, c, i);
}
public void drawFeet(ItemStack itemStack) {
Doodler.draw3x3placeholder(
MuseRenderer.draw3x3placeholder(
false, false, false,
true, false, true,
true, false, true);
}
public void drawTool(ItemStack itemStack) {
Doodler.draw3x3placeholder(
MuseRenderer.draw3x3placeholder(
true, true, true,
false, true, false,
false, true, false);

View file

@ -3,7 +3,7 @@ package machinemuse.powersuits.gui;
import java.util.List;
import machinemuse.general.geometry.Colour;
import machinemuse.general.geometry.Doodler;
import machinemuse.general.geometry.MuseRenderer;
import machinemuse.general.geometry.Point2D;
import machinemuse.powersuits.augmentation.AugManager;
import net.minecraft.client.renderer.RenderEngine;
@ -40,7 +40,7 @@ public class ClickableAugmentation extends Clickable {
Colour c1 = new Colour(1.0F, 0.2F, 0.6F, 1.0F);
Colour c2 = new Colour(0.6F, 0.2F, 1.0F, 1.0F);
Doodler.drawGradientRect(x - 8, y - 8, x + 8, y + 8, c1, c2, 100.0f);
MuseRenderer.drawGradientRect(x - 8, y - 8, x + 8, y + 8, c1, c2, 100.0f);
}

View file

@ -6,7 +6,7 @@ package machinemuse.powersuits.gui;
import java.util.List;
import machinemuse.general.geometry.Colour;
import machinemuse.general.geometry.Doodler;
import machinemuse.general.geometry.MuseRenderer;
import machinemuse.general.geometry.Point2D;
import net.minecraft.client.renderer.RenderEngine;
@ -45,7 +45,7 @@ public class ClickableButton extends Clickable {
topcolour = new Colour(0.3F, 0.3F, 0.3F, 1);
bottomcolour = new Colour(0.5F, 0.6F, 0.8F, 1);
}
Doodler.drawGradientRect(
MuseRenderer.drawGradientRect(
gui.absX(position.x() - radius.x()),
gui.absY(position.y() - radius.y()),
gui.absX(position.x() + radius.x()),

View file

@ -2,7 +2,7 @@ package machinemuse.powersuits.gui;
import java.util.List;
import machinemuse.general.geometry.Doodler;
import machinemuse.general.geometry.MuseRenderer;
import machinemuse.general.geometry.Point2D;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderEngine;
@ -51,7 +51,7 @@ public class ClickableItem extends Clickable {
@Override
public void draw(RenderEngine engine, MuseGui gui) {
Doodler.drawItemAt(
MuseRenderer.drawItemAt(
(int) gui.absX(getPosition().x()) - offsetx,
(int) gui.absY(getPosition().y()) - offsety,
gui, item);

View file

@ -5,7 +5,7 @@ import java.util.Iterator;
import java.util.List;
import machinemuse.general.geometry.Colour;
import machinemuse.general.geometry.Doodler;
import machinemuse.general.geometry.MuseRenderer;
import machinemuse.general.geometry.FlyFromMiddlePoint2D;
import machinemuse.general.geometry.Point2D;
import machinemuse.powersuits.augmentation.AugManager;
@ -103,14 +103,14 @@ public class GuiTinkerTable extends MuseGui {
public void drawSelection() {
if (selectedItemStack != -1) {
Doodler.drawCircleAround(
MuseRenderer.drawCircleAround(
absX(itemButtons.get(selectedItemStack).getPosition().x()),
absY(itemButtons.get(selectedItemStack).getPosition().y()),
10);
}
if (selectedAugClickable != -1) {
Doodler.drawCircleAround(
MuseRenderer.drawCircleAround(
absX(augButtons.get(selectedAugClickable).getPosition().x()),
absY(augButtons.get(selectedAugClickable).getPosition().y()),
10);
@ -160,16 +160,16 @@ public class GuiTinkerTable extends MuseGui {
Iterator<Point2D> pointiter = points.iterator();
for (ItemStack item : workingUpgradeCost) {
Point2D next = pointiter.next();
Doodler.drawItemAt(absX(next.x()), absY(next.y()), this, item);
MuseRenderer.drawItemAt(absX(next.x()), absY(next.y()), this, item);
}
upgradeButton.draw(this.getRenderEngine(), this);
}
if (workingDowngradeRefund != null && workingDowngradeRefund.size() > 0) {
Doodler.on2D();
MuseRenderer.on2D();
this.drawString(fontRenderer, "Refund:", absX(0.4F),
absY(0.3F),
new Colour(1.0F, 0.6F, 0.2F, 1.0F).getInt());
Doodler.off2D();
MuseRenderer.off2D();
List<Point2D> points = this.pointsInLine(
workingDowngradeRefund.size(),
new Point2D(0.4F, 0.5F),
@ -177,7 +177,7 @@ public class GuiTinkerTable extends MuseGui {
Iterator<Point2D> pointiter = points.iterator();
for (ItemStack item : workingDowngradeRefund) {
Point2D next = pointiter.next();
Doodler.drawItemAt(absX(next.x()), absY(next.y()), this, item);
MuseRenderer.drawItemAt(absX(next.x()), absY(next.y()), this, item);
}
downgradeButton.draw(this.getRenderEngine(), this);
}

View file

@ -5,7 +5,7 @@ import java.util.Iterator;
import java.util.List;
import machinemuse.general.geometry.Colour;
import machinemuse.general.geometry.Doodler;
import machinemuse.general.geometry.MuseRenderer;
import machinemuse.general.geometry.FlyFromMiddlePoint2D;
import machinemuse.general.geometry.Point2D;
import net.minecraft.client.Minecraft;
@ -61,7 +61,7 @@ public class MuseGui extends GuiScreen {
* Draws the gradient-rectangle background you see in the TinkerTable gui.
*/
public void drawRectangularBackground() {
Doodler.drawGradientRect(
MuseRenderer.drawGradientRect(
absX(ul.x()), absY(ul.y()),
absX(br.x()), absY(br.y()),
new Colour(0.1F, 0.9F, 0.1F, 0.8F),
@ -262,7 +262,7 @@ public class MuseGui extends GuiScreen {
}
}
GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT);
Doodler.drawGradientRect(
MuseRenderer.drawGradientRect(
x, y - 10 * tooltip.size() - 5,
x + 10 + strwidth, y + 5,
new Colour(0.2F, 0.6F, 0.9F, 0.7F),