J3MLoader: fix negative signs ("-") inside mat params

- Also move the "-LINEAR" directive to be associated with the parameter declaration instead of parameter default value
experimental
shadowislord 10 years ago
parent 5508dc05f5
commit 02322d04cc
  1. 17
      jme3-core/src/plugins/java/com/jme3/material/plugins/J3MLoader.java

@ -217,21 +217,13 @@ public class J3MLoader implements AssetLoader {
} }
} }
// <TYPE> <NAME> [ "(" <FFBINDING> ")" ] [ ":" <DEFAULTVAL> ] [-LINEAR] // <TYPE> <NAME> [ "(" <FFBINDING> ")" ] [-LINEAR] [ ":" <DEFAULTVAL> ]
private void readParam(String statement) throws IOException{ private void readParam(String statement) throws IOException{
String name; String name;
String defaultVal = null; String defaultVal = null;
ColorSpace colorSpace = null; ColorSpace colorSpace = null;
String[] split = statement.split("-"); String[] split = statement.split(":");
if(split.length>1){
if(split[1].equalsIgnoreCase("LINEAR")){
colorSpace = ColorSpace.Linear;
}
statement = split[0].trim();
}
split = statement.split(":");
// Parse default val // Parse default val
if (split.length == 1){ if (split.length == 1){
@ -244,6 +236,11 @@ public class J3MLoader implements AssetLoader {
defaultVal = split[1].trim(); defaultVal = split[1].trim();
} }
if (statement.endsWith("-LINEAR")) {
colorSpace = ColorSpace.Linear;
statement = statement.substring(0, statement.length() - "-LINEAR".length());
}
// Parse ffbinding // Parse ffbinding
int startParen = statement.indexOf("("); int startParen = statement.indexOf("(");
if (startParen != -1){ if (startParen != -1){

Loading…
Cancel
Save