Cleans up the main class, removing some code left over from my personal project.
This commit is contained in:
@@ -12,37 +12,22 @@ package markil3.controller;
|
|||||||
import com.jme3.app.DebugKeysAppState;
|
import com.jme3.app.DebugKeysAppState;
|
||||||
import com.jme3.app.SimpleApplication;
|
import com.jme3.app.SimpleApplication;
|
||||||
import com.jme3.app.StatsAppState;
|
import com.jme3.app.StatsAppState;
|
||||||
import com.jme3.input.DefaultJoystickAxis;
|
|
||||||
import com.jme3.input.Joystick;
|
|
||||||
import com.jme3.input.JoystickAxis;
|
import com.jme3.input.JoystickAxis;
|
||||||
import com.jme3.input.JoystickButton;
|
import com.jme3.input.JoystickButton;
|
||||||
import com.jme3.input.JoystickCompatibilityMappings;
|
|
||||||
import com.jme3.material.Material;
|
|
||||||
import com.jme3.math.ColorRGBA;
|
|
||||||
import com.jme3.scene.Geometry;
|
|
||||||
import com.jme3.scene.shape.Box;
|
|
||||||
import com.jme3.system.AppSettings;
|
import com.jme3.system.AppSettings;
|
||||||
import com.jme3.system.JmeSystem;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.prefs.BackingStoreException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Launch point for the game.
|
* Launch point for the application. This is primarily for demo purposes, and
|
||||||
|
* games using this as a library can safely ignore it.
|
||||||
*
|
*
|
||||||
* @author Markil 3
|
* @author Markil 3
|
||||||
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
public class Main extends SimpleApplication
|
public class Main extends SimpleApplication
|
||||||
{
|
{
|
||||||
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.
|
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.
|
||||||
getLogger(Main.class);
|
getLogger(Main.class);
|
||||||
|
|
||||||
public static File GAME_FOLDER;
|
|
||||||
public static File CALIBRATION_FILE;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Triangle on Playstation, Y on Xbox, and X on Nintendo.
|
* Triangle on Playstation, Y on Xbox, and X on Nintendo.
|
||||||
*/
|
*/
|
||||||
@@ -98,204 +83,26 @@ public class Main extends SimpleApplication
|
|||||||
*/
|
*/
|
||||||
public static final String DPAD_DOWN = "15";
|
public static final String DPAD_DOWN = "15";
|
||||||
|
|
||||||
private static void initializeJoystickMappings()
|
|
||||||
{
|
|
||||||
if (CALIBRATION_FILE == null)
|
|
||||||
{
|
|
||||||
CALIBRATION_FILE =
|
|
||||||
new File(GAME_FOLDER, "controllerCalibration.properties");
|
|
||||||
URL mappingUrl;
|
|
||||||
switch (JmeSystem.getPlatform())
|
|
||||||
{
|
|
||||||
case Windows32:
|
|
||||||
case Windows64:
|
|
||||||
mappingUrl = Main.class.
|
|
||||||
getResource("/joystick-mapping.windows.properties");
|
|
||||||
break;
|
|
||||||
case MacOSX32:
|
|
||||||
case MacOSX64:
|
|
||||||
case MacOSX_PPC32:
|
|
||||||
case MacOSX_PPC64:
|
|
||||||
mappingUrl = Main.class.
|
|
||||||
getResource("/joystick-mapping.osx.properties");
|
|
||||||
break;
|
|
||||||
case Linux32:
|
|
||||||
case Linux64:
|
|
||||||
case Linux_ARM32:
|
|
||||||
case Linux_ARM64:
|
|
||||||
mappingUrl = Main.class.
|
|
||||||
getResource("/joystick-mapping.linux.properties");
|
|
||||||
break;
|
|
||||||
case Android_ARM5:
|
|
||||||
case Android_ARM6:
|
|
||||||
case Android_ARM7:
|
|
||||||
case Android_ARM8:
|
|
||||||
case Android_X86:
|
|
||||||
case Android_Other:
|
|
||||||
mappingUrl = Main.class.
|
|
||||||
getResource("/joystick-mapping.android.properties");
|
|
||||||
break;
|
|
||||||
case iOS_ARM:
|
|
||||||
case iOS_X86:
|
|
||||||
mappingUrl = Main.class.
|
|
||||||
getResource("/joystick-mapping.ios.properties");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
mappingUrl = null;
|
|
||||||
}
|
|
||||||
if (mappingUrl != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
JoystickCompatibilityMappings
|
|
||||||
.loadMappingProperties(mappingUrl);
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
logger.error("Unable to load joystick mappings for " +
|
|
||||||
mappingUrl, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mappingUrl = Main.class.
|
|
||||||
getResource("/joystick-mapping." +
|
|
||||||
JmeSystem.getPlatform().toString().toLowerCase() +
|
|
||||||
".properties");
|
|
||||||
if (mappingUrl != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
JoystickCompatibilityMappings
|
|
||||||
.loadMappingProperties(mappingUrl);
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
logger.error("Unable to load joystick mappings for " +
|
|
||||||
mappingUrl, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (CALIBRATION_FILE.isFile())
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
JoystickCompatibilityMappings.loadMappingProperties(
|
|
||||||
CALIBRATION_FILE.toURI().toURL());
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
logger.error("Unable to load joystick mappings.", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
Main app = new Main();
|
Main app = new Main();
|
||||||
AppSettings settings = new AppSettings(true);
|
AppSettings settings = new AppSettings(true);
|
||||||
try
|
settings.setTitle("Joystick Preview");
|
||||||
{
|
|
||||||
if (Arrays.binarySearch(args, "--defaultSettings") < 0)
|
|
||||||
{
|
|
||||||
settings.load("JMEControllerConfig");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (BackingStoreException e1)
|
|
||||||
{
|
|
||||||
e1.printStackTrace();
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
settings.setTitle("JMEControllerConfig");
|
|
||||||
settings.setUseJoysticks(true);
|
settings.setUseJoysticks(true);
|
||||||
settings.setEmulateMouse(false);
|
settings.setEmulateMouse(true);
|
||||||
settings.setVSync(true);
|
settings.setVSync(true);
|
||||||
try
|
|
||||||
{
|
|
||||||
// BufferedImage[] icons = new BufferedImage[] {
|
|
||||||
// ImageIO.read(BootstrapClass.class.getResource
|
|
||||||
// ("/Interface/icon16.png")), ImageIO.read
|
|
||||||
// (BootstrapClass.class.getResource
|
|
||||||
// ("/Interface/icon32.png")), ImageIO.read
|
|
||||||
// (BootstrapClass.class.getResource
|
|
||||||
// ("/Interface/icon64.png")), ImageIO.read
|
|
||||||
// (BootstrapClass.class.getResource
|
|
||||||
// ("/Interface/icon128.png")), ImageIO.read
|
|
||||||
// (BootstrapClass.class.getResource
|
|
||||||
// ("/Interface/icon256.png")), ImageIO.read
|
|
||||||
// (BootstrapClass.class.getResource
|
|
||||||
// ("/Interface/icon512.png")) };
|
|
||||||
// settings.setIcons(icons);
|
|
||||||
}
|
|
||||||
// catch (IOException e)
|
|
||||||
// {
|
|
||||||
// e.printStackTrace();
|
|
||||||
// }
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
// this.app.setShowSettings(!settings.getBoolean
|
|
||||||
// ("initialConfirmed"));
|
|
||||||
// Marks that we have already shown the initial setup
|
|
||||||
// settings, and don't need to do so again.
|
|
||||||
settings.putBoolean("initialConfirmed", true);
|
|
||||||
app.setSettings(settings);
|
app.setSettings(settings);
|
||||||
try
|
|
||||||
{
|
|
||||||
settings.save(settings.getTitle());
|
|
||||||
}
|
|
||||||
catch (BackingStoreException ex)
|
|
||||||
{
|
|
||||||
logger.warn("Failed to save setting changes", ex);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
app.start();
|
app.start();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Main()
|
public Main()
|
||||||
{
|
{
|
||||||
super(new StatsAppState(), new DebugKeysAppState());
|
super(new StatsAppState(), new DebugKeysAppState());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void initialize()
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Add custom joystick mappings before the input manager is loaded.
|
|
||||||
*/
|
|
||||||
// initializeJoystickMappings();
|
|
||||||
super.initialize();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void simpleInitApp()
|
public void simpleInitApp()
|
||||||
{
|
{
|
||||||
for (Joystick stick : this.inputManager.getJoysticks())
|
|
||||||
{
|
|
||||||
for (JoystickAxis axis : stick.getAxes())
|
|
||||||
{
|
|
||||||
if (axis instanceof DefaultJoystickAxis)
|
|
||||||
{
|
|
||||||
((DefaultJoystickAxis) axis).setDeadZone(0.4F);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Box b = new Box(1F, 1F, 1F); // create cube shape
|
|
||||||
// Sphere b = new Sphere(16, 32, 1F); // create cube shape
|
|
||||||
Geometry geom =
|
|
||||||
new Geometry("Box", b); // create cube geometry from the shape
|
|
||||||
Material mat = new Material(this.getAssetManager(),
|
|
||||||
"Common/MatDefs/Misc/Unshaded.j3md"); // create a simple
|
|
||||||
// mat.setBoolean("UseMaterialColors", true);
|
|
||||||
// material
|
|
||||||
mat.setColor("Color", ColorRGBA.Blue); // set color of material
|
|
||||||
// to blue
|
|
||||||
geom.setMaterial(mat); // set the cube's material
|
|
||||||
rootNode.attachChild(geom); // make the cube appear in the scene
|
|
||||||
|
|
||||||
this.getStateManager().attach(new JoystickPreviewScreen());
|
this.getStateManager().attach(new JoystickPreviewScreen());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user