|
From: <tre...@us...> - 2007-10-21 16:11:39
|
Revision: 527
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=527&view=rev
Author: trevorolio
Date: 2007-10-21 09:11:42 -0700 (Sun, 21 Oct 2007)
Log Message:
-----------
INCLUDES A NEW DB SCHEMA. Dump your old db and make clean.
For those who don't want to break out photoshop to get a new look, added the capability to select from a set of textures included in the body data jar.
Modified Paths:
--------------
maven/trunk/ogoglio-body-editor-applet/src/main/java/com/ogoglio/bodyeditor/BodyEditorApplet.java
Modified: maven/trunk/ogoglio-body-editor-applet/src/main/java/com/ogoglio/bodyeditor/BodyEditorApplet.java
===================================================================
--- maven/trunk/ogoglio-body-editor-applet/src/main/java/com/ogoglio/bodyeditor/BodyEditorApplet.java 2007-10-21 16:11:36 UTC (rev 526)
+++ maven/trunk/ogoglio-body-editor-applet/src/main/java/com/ogoglio/bodyeditor/BodyEditorApplet.java 2007-10-21 16:11:42 UTC (rev 527)
@@ -22,6 +22,7 @@
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Panel;
+import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
@@ -65,7 +66,6 @@
import com.ogoglio.xml.AccountDocument;
import com.ogoglio.xml.BodyConfigurationDocument;
import com.ogoglio.xml.BodyDataDocument;
-import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
public class BodyEditorApplet extends Applet {
@@ -98,7 +98,25 @@
return;
}
dataManager.removeBodyTexture(user.getUsername(), user.getBodyConfiguration().getBodyConfigurationID());
- bodyPanel.renderable.setSkinTexture(dataManager.getBodyTexture(user.getUsername(), user.getBodyConfiguration().getBodyConfigurationID()));
+ BufferedImage bodyTexture = dataManager.getBodyTexture(user.getUsername(), user.getBodyConfiguration().getBodyConfigurationID());
+ if (bodyTexture != null) {
+ bodyPanel.renderable.setSkinTexture(bodyTexture);
+ bodyPanel.renderable.repaintSkinTexture();
+ return;
+ }
+ if (user.getBodyConfiguration().getBaseTextureName() == null) {
+ bodyPanel.renderable.setSkinTexture(bodyPanel.bodyData.getDefaultBaseTexture().getImage());
+ bodyPanel.renderable.repaintSkinTexture();
+ return;
+ }
+ J3DBodyData.BaseTexture baseTexture = bodyPanel.bodyData.getBaseTexture(user.getBodyConfiguration().getBaseTextureName());
+ if (baseTexture != null) {
+ bodyPanel.renderable.setSkinTexture(baseTexture.getImage());
+ bodyPanel.renderable.repaintSkinTexture();
+ return;
+ }
+
+ bodyPanel.renderable.setSkinTexture(bodyPanel.bodyData.getDefaultBaseTexture().getImage());
bodyPanel.renderable.repaintSkinTexture();
}
@@ -155,7 +173,28 @@
return new BodyConfigurationDocument(user.getBodyConfiguration()).toElement().toString();
}
- public void saveBodyConfiguration(){
+ public String[] getBaseTextureNames() {
+ if (user == null || bodyPanel == null || bodyPanel.bodyData == null) {
+ return null;
+ }
+ J3DBodyData.BaseTexture[] baseTextures = bodyPanel.bodyData.getBaseTextures();
+ String[] results = new String[baseTextures.length];
+ for (int i = 0; i < results.length; i++) {
+ results[i] = baseTextures[i].getName();
+ }
+ return results;
+ }
+
+ public void setBaseTexture(String baseTextureName) {
+ if (user == null || bodyPanel == null || bodyPanel.bodyData == null) {
+ return;
+ }
+ user.getBodyConfiguration().setBaseTextureName(baseTextureName);
+ saveBodyConfiguration();
+ updateTextures();
+ }
+
+ public void saveBodyConfiguration() {
if (user == null || bodyPanel == null || bodyPanel.renderable == null) {
return;
}
@@ -165,7 +204,7 @@
e.printStackTrace();
}
}
-
+
private class SpacelessUser extends User {
public SpacelessUser(String username, BodyConfigurationDocument bodyConfigDoc) {
super(new Space(new SpacelessContext(), 1, "Space", "nobody", false, 0), username, new Transform3D(), new BodyConfiguration(bodyConfigDoc), null);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|