You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.1 KiB
90 lines
3.1 KiB
package net.spritegen;
|
|
|
|
import java.io.File;
|
|
|
|
import net.spritegen.util.Utils;
|
|
|
|
import com.porcupine.coord.Coord;
|
|
import com.porcupine.util.PropertyManager;
|
|
|
|
public class SetupLoader {
|
|
|
|
public PropertyManager cfg;
|
|
|
|
public int img_size;
|
|
|
|
public int samples;
|
|
public double render_wobble_y;
|
|
public double render_wobble_z;
|
|
public double render_rotate_x;
|
|
public double renmder_move_y;
|
|
public double render_move_x;
|
|
public double render_scale;
|
|
|
|
public Coord light_pos;
|
|
public double light_attr;
|
|
public double light_diffuse;
|
|
public double light_specular;
|
|
public double light_ambient;
|
|
|
|
public double mat_diffuse;
|
|
public double mat_specular;
|
|
public double mat_ambient;
|
|
|
|
public SetupLoader(File dir) {
|
|
dir.mkdirs();
|
|
File file = new File(dir,"config.ini");
|
|
|
|
cfg = new PropertyManager(file.getAbsolutePath(), "Spritesheet setup file");
|
|
|
|
cfg.putInteger("output.size", 512, "Output image size");
|
|
cfg.putDouble("render.walk.wobble_x_angle_max", 6, "Maximal wobble angle for walking (rotate around Y)");
|
|
cfg.putDouble("render.walk.wobble_z_angle_max", 0, "Maximal wobble angle for walking (rotate around Z)");
|
|
cfg.putDouble("render.rotate_x", 60, "Rotate around X axis to get 2D or 2.5D perspective");
|
|
cfg.putDouble("render.move_y", 0, "Y offset (for centering)");
|
|
cfg.putDouble("render.move_x", 0, "X move (for centering)");
|
|
cfg.putDouble("render.scale", 1, "Render scale");
|
|
cfg.putInteger("render.multisampling", 4, "Multisampling (smoothing) level, values: 0,1,2,4,8");
|
|
|
|
cfg.putDouble("render.material.ambient", 1, "Material property: ambient");
|
|
cfg.putDouble("render.material.specular", 1, "Material property: specular");
|
|
cfg.putDouble("render.material.diffuse", 1, "Material property: diffuse");
|
|
|
|
cfg.putDouble("render.light.ambient", 1, "Light property: ambient");
|
|
cfg.putDouble("render.light.specular", 1, "Light property: specular");
|
|
cfg.putDouble("render.light.diffuse", 1, "Light property: diffuse");
|
|
cfg.putDouble("render.light.attribute", 1, "Light property: attribute");
|
|
|
|
cfg.putDouble("render.light.x", 0, "Light pos: X");
|
|
cfg.putDouble("render.light.y", 3, "Light pos: Y");
|
|
cfg.putDouble("render.light.z", 3, "Light pos: Z");
|
|
|
|
cfg.apply();
|
|
|
|
|
|
img_size = cfg.getInt("output.size");
|
|
|
|
render_wobble_y = cfg.getDouble("render.walk.wobble_x_angle_max");
|
|
render_wobble_z = cfg.getDouble("render.walk.wobble_z_angle_max");
|
|
render_rotate_x = cfg.getDouble("render.rotate_x");
|
|
renmder_move_y = cfg.getDouble("render.move_y");
|
|
render_move_x = cfg.getDouble("render.move_x");
|
|
render_scale = cfg.getDouble("render.scale");
|
|
samples = cfg.getInt("render.multisampling");
|
|
|
|
mat_ambient = cfg.getDouble("render.material.ambient");
|
|
mat_specular = cfg.getDouble("render.material.specular");
|
|
mat_diffuse = cfg.getDouble("render.material.diffuse");
|
|
|
|
light_ambient = cfg.getDouble("render.light.ambient");
|
|
light_specular = cfg.getDouble("render.light.specular");
|
|
light_diffuse = cfg.getDouble("render.light.diffuse");
|
|
light_attr = cfg.getDouble("render.light.attribute");
|
|
|
|
light_pos = new Coord(cfg.getDouble("render.light.x"),
|
|
cfg.getDouble("render.light.y"),
|
|
cfg.getDouble("render.light.z"));
|
|
|
|
}
|
|
|
|
}
|
|
|