From: Caspian Rychlik-P. <ci...@us...> - 2004-04-21 18:11:16
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/util/model/loader In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11765/src/java/org/lwjgl/util/model/loader Modified Files: Loader.java Log Message: Tons more utils! Index: Loader.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/util/model/loader/Loader.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Loader.java 20 Apr 2004 21:02:40 -0000 1.4 +++ Loader.java 21 Apr 2004 18:11:00 -0000 1.5 @@ -36,6 +36,7 @@ import java.util.List; import java.util.Map; +import org.lwjgl.util.Color; import org.lwjgl.util.model.*; import org.lwjgl.util.model.BoneFrame; import org.lwjgl.util.model.BonedModel; @@ -92,6 +93,7 @@ material, loadTriangles(), loadSkin(), + loadColor(), loadBoneAnimations(), loadBonedVertices() ); @@ -101,6 +103,7 @@ material, loadTriangles(), loadSkin(), + loadColor(), loadMeshAnimations() ); } else { @@ -150,6 +153,28 @@ } /** + * Load the colour + * @return Color[] + * @throws Exception + */ + private Color[] loadColor() throws Exception { + List colorElements = XMLUtil.getChildren(src.getDocumentElement(), "color"); + if (colorElements.size() == 0) { + return null; + } + if (colorElements.size() != numVertices) { + throw new Exception("Color count incorrect, got "+colorElements.size()+", expected "+numVertices); + } + Color[] colors = new Color[colorElements.size()]; + int colorCount = 0; + for (Iterator i = colorElements.iterator(); i.hasNext(); ) { + Element colorElement = (Element) i.next(); + colors[colorCount++] = loadColor(colorElement); + } + return colors; + } + + /** * Load all the Triangles * @return Triangle[] * @throws Exception @@ -318,6 +343,21 @@ } /** + * Load a colour from XML + * @param element + * @return a Color + * @throws Exception + */ + private Color loadColor(Element element) throws Exception { + return new Color( + XMLUtil.getInt(element, "r"), + XMLUtil.getInt(element, "g"), + XMLUtil.getInt(element, "b"), + XMLUtil.getInt(element, "a", 255) + ); + } + + /** * Load a boned Animation from XML * @param element * @return BoneFrame[] |