diff --git a/assets/Data/items.json b/assets/Data/items.json
index 313d38b3..34281269 100644
--- a/assets/Data/items.json
+++ b/assets/Data/items.json
@@ -90,6 +90,35 @@
]
}
]
+ },
+
+ {
+ "itemId" : "hairshort1",
+ "modelPath": "Models/itemEntityShorts.fbx",
+ "tokens" : [
+ "GRAVITY",
+ "ARMOR",
+ "TARGETABLE"
+ ],
+ "collidable": {
+ "type" : "CUBE",
+ "dimension1" : 0.1,
+ "dimension2" : 0.1,
+ "dimension3" : 0.35,
+ "offsetX" : 0,
+ "offsetY" : 0.05,
+ "offsetZ" : 0
+ },
+ "equipWhitelist" : [
+ {
+ "creatureId" : "human",
+ "model" : "Models/hairshort1.fbx",
+ "meshList" : [
+ "Hair"
+ ],
+ "meshMaskList" : []
+ }
+ ]
}
diff --git a/assets/Models/baseman.fbx b/assets/Models/baseman.fbx
index 0628ab46..a8f1f75f 100644
Binary files a/assets/Models/baseman.fbx and b/assets/Models/baseman.fbx differ
diff --git a/assets/Models/hairshort1.fbx b/assets/Models/hairshort1.fbx
new file mode 100644
index 00000000..4ad049a0
Binary files /dev/null and b/assets/Models/hairshort1.fbx differ
diff --git a/assets/Textures/default_texture_map.json b/assets/Textures/default_texture_map.json
index 584251a6..8ceb5246 100644
--- a/assets/Textures/default_texture_map.json
+++ b/assets/Textures/default_texture_map.json
@@ -68,12 +68,88 @@
"/Textures/GoblinEyes.png"
]
},
- "Models/person1animpass2.fbx" : {
- "makehuman1" : [
+ "Models/baseman.fbx" : {
+ "Torso" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
- "high-poly" : [
+ "HandLeft" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "ForearmLeft" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "BicepLeft" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "HandRight" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "ForearmRight" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "BicepRight" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "FootLeft" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "FootRight" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "LowerLegLeft" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "LowerLegRight" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "UpperLegLeft" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "UpperLegRight" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "Shorts" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "ShoulderLeft" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "ShoulderRight" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "Head" : [
+ "/Textures/skin1.png",
+ "/Textures/skin1.png"
+ ],
+ "EyebrowRight" : [
+ "/Textures/b1.png",
+ "/Textures/b1.png"
+ ],
+ "EyebrowLeft" : [
+ "/Textures/b1.png",
+ "/Textures/b1.png"
+ ],
+ "EyeRight" : [
+ "/Textures/w1.png",
+ "/Textures/w1.png"
+ ],
+ "EyeLeft" : [
"/Textures/w1.png",
"/Textures/w1.png"
]
@@ -131,6 +207,18 @@
"/Textures/w1.png",
"/Textures/w1.png"
]
+ },
+ "Models/shorts1.fbx" : {
+ "ClothingItem" : [
+ "/Textures/b1.png",
+ "/Textures/b1.png"
+ ]
+ },
+ "Models/hairshort1.fbx" : {
+ "Hair" : [
+ "/Textures/b1.png",
+ "/Textures/b1.png"
+ ]
}
}
}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index e60f7382..eb0cd0ea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -198,91 +198,90 @@
-
-
-
- maven-assembly-plugin
-
-
-
- true
- electrosphere.main.Main
-
-
-
- jar-with-dependencies
-
-
-
-
- assemble-all
- package
-
- single
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.2.4
-
-
- package
-
- shade
-
-
-
-
- electrosphere.main.Main
-
-
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- 3.0.0
-
-
-
- exec
-
-
- java
- false
- true
- electrosphere.main.Main
-
-
- -cp
- target/classes;target/Renderer-0.1-jar-with-dependencies.jar
- electrosphere.main.Main
-
-
-
-
-
- Telephone
- generate-sources
-
- java
-
-
- java
-
- -jar
- Telephone-0.2.1.jar
-
-
-
-
-
-
-
+
+
+ maven-assembly-plugin
+
+
+
+ true
+ electrosphere.main.Main
+
+
+
+ jar-with-dependencies
+
+
+
+
+ assemble-all
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.4
+
+
+ package
+
+ shade
+
+
+
+
+ electrosphere.main.Main
+
+
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.0.0
+
+
+
+ exec
+
+
+
+
+
+
+ java
+ false
+ true
+ electrosphere.main.Main
+
+
+ -cp
+ target/classes;target/Renderer-0.1-jar-with-dependencies.jar
+ electrosphere.main.Main
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/electrosphere/audio/AudioEngine.java b/src/main/java/electrosphere/audio/AudioEngine.java
index 3c6648f7..5b0d919b 100644
--- a/src/main/java/electrosphere/audio/AudioEngine.java
+++ b/src/main/java/electrosphere/audio/AudioEngine.java
@@ -35,8 +35,8 @@ public class AudioEngine {
public AudioEngine() {
- soundBufferList = new ArrayList();
- soundSourceMap = new HashMap();
+ soundBufferList = new ArrayList();
+ soundSourceMap = new HashMap();
}
public void init() {
diff --git a/src/main/java/electrosphere/engine/LoadingThread.java b/src/main/java/electrosphere/engine/LoadingThread.java
index 6da12331..1dbd768c 100644
--- a/src/main/java/electrosphere/engine/LoadingThread.java
+++ b/src/main/java/electrosphere/engine/LoadingThread.java
@@ -624,7 +624,12 @@ public class LoadingThread extends Thread {
//attach ai to evil goblin
// MindlessAttacker.attachToCreature(goblin);
OpportunisticAttacker.attachToCreature(goblin);
-
+
+ Entity shorts = ItemUtils.spawnBasicItem("shorts1");
+ EntityUtils.getPosition(shorts).set(new Vector3f(2,1,1));
+ Entity hair = ItemUtils.spawnBasicItem("hairshort1");
+ EntityUtils.getPosition(hair).set(new Vector3f(1,1,1));
+
// goblin = CreatureUtils.spawnBasicCreature("Goblin");
// CollisionObjUtils.positionCharacter(goblin, new Vector3f(3, 0, 4));
// EntityUtils.getScale(goblin).set(0.005f);
diff --git a/src/main/java/electrosphere/game/config/UserSettings.java b/src/main/java/electrosphere/game/config/UserSettings.java
index 1facd865..b8173073 100644
--- a/src/main/java/electrosphere/game/config/UserSettings.java
+++ b/src/main/java/electrosphere/game/config/UserSettings.java
@@ -1,5 +1,6 @@
package electrosphere.game.config;
+import electrosphere.logger.LoggerInterface;
import electrosphere.main.Globals;
import electrosphere.util.FileUtils;
@@ -132,6 +133,7 @@ public class UserSettings {
public static void loadUserSettings(){
+ LoggerInterface.loggerStartup.INFO("Load user settings");
Globals.userSettings = FileUtils.loadObjectFromAssetPath("/Config/settings.json", UserSettings.class);
if(Globals.userSettings == null){
Globals.userSettings = getDefault();
diff --git a/src/main/java/electrosphere/logger/LoggerInterface.java b/src/main/java/electrosphere/logger/LoggerInterface.java
index 02a0353b..c2b31eed 100644
--- a/src/main/java/electrosphere/logger/LoggerInterface.java
+++ b/src/main/java/electrosphere/logger/LoggerInterface.java
@@ -15,12 +15,15 @@ public class LoggerInterface {
public static Logger loggerGameLogic;
public static Logger loggerRenderer;
public static Logger loggerEngine;
+ public static Logger loggerStartup;
public static void initLoggers(){
+ loggerStartup = new Logger(LogLevel.WARNING);
loggerNetworking = new Logger(LogLevel.WARNING);
loggerFileIO = new Logger(LogLevel.WARNING);
loggerGameLogic = new Logger(LogLevel.WARNING);
loggerRenderer = new Logger(LogLevel.WARNING);
loggerEngine = new Logger(LogLevel.WARNING);
+ loggerStartup.INFO("Initialized loggers");
}
}
diff --git a/src/main/java/electrosphere/main/Globals.java b/src/main/java/electrosphere/main/Globals.java
index 06973408..43baa7e3 100644
--- a/src/main/java/electrosphere/main/Globals.java
+++ b/src/main/java/electrosphere/main/Globals.java
@@ -36,6 +36,7 @@ import electrosphere.game.server.world.ServerWorldData;
import electrosphere.game.server.world.MacroData;
import electrosphere.game.server.datacell.DataCellManager;
import electrosphere.game.simulation.MicroSimulation;
+import electrosphere.logger.LoggerInterface;
import electrosphere.menu.Menu;
import electrosphere.net.client.ClientNetworking;
import electrosphere.net.server.Player;
@@ -319,15 +320,9 @@ public class Globals {
public static void initGlobals(){
-
+ LoggerInterface.loggerStartup.INFO("Initialize global variables");
//load in default texture map
- Gson gson = new Gson();
-// try {
- //deserializes the texture map from its default path using gson
- //also done in one line
- textureMapDefault = FileUtils.loadObjectFromAssetPath("Textures/default_texture_map.json", TextureMap.class);
-// textureMapDefault = gson.fromJson(Files.newBufferedReader(new File(Thread.currentThread().getContextClassLoader().getResource("Textures/default_texture_map.json").getFile()).toPath()), TextureMap.class); //only the best of coding practices :)
-// } catch (IOException ex) { ex.printStackTrace(); } //TODO: handle better :tm:
+ textureMapDefault = FileUtils.loadObjectFromAssetPath("Textures/default_texture_map.json", TextureMap.class);
//create entity manager
entityManager = new EntityManager();
//temporary hold for skybox colors
@@ -352,6 +347,7 @@ public class Globals {
}
public static void initDefaultAudioResources(){
+ LoggerInterface.loggerStartup.INFO("Loading default audio resources");
Globals.assetManager.addAudioPathToQueue("/Audio/MenuBackspace.ogg");
Globals.assetManager.addAudioPathToQueue("/Audio/MenuBadOption.ogg");
Globals.assetManager.addAudioPathToQueue("/Audio/MenuChangeOption.ogg");
@@ -359,6 +355,7 @@ public class Globals {
}
public static void initDefaultGraphicalResources(){
+ LoggerInterface.loggerStartup.INFO("Loading default graphical resources");
//create default textures
Globals.assetManager.addTexturePathtoQueue("Textures/default_diffuse.png");
Globals.assetManager.addTexturePathtoQueue("Textures/default_specular.png");
diff --git a/src/main/java/electrosphere/main/Main.java b/src/main/java/electrosphere/main/Main.java
index 56b40c91..c63412de 100644
--- a/src/main/java/electrosphere/main/Main.java
+++ b/src/main/java/electrosphere/main/Main.java
@@ -112,12 +112,12 @@ public class Main {
// I N I T I A L I Z A T I O N
//
//
-
- //load user settings
- UserSettings.loadUserSettings();
-
+
//initialize logging interfaces
LoggerInterface.initLoggers();
+
+ //load user settings
+ UserSettings.loadUserSettings();
//controls
initControlHandler();
@@ -191,10 +191,12 @@ public class Main {
Globals.initDefaultAudioResources();
//fire off a loading thread for the title menus/screen
+ LoggerInterface.loggerStartup.INFO("Fire off loading thread");
Globals.loadingThread = new LoadingThread(LoadingThread.LOAD_TITLE_MENU);
Globals.loadingThread.start();
//recapture the screen for rendering
+ LoggerInterface.loggerStartup.INFO("Recapture screen");
RenderUtils.recaptureScreen();
///
@@ -399,6 +401,7 @@ public class Main {
public static void initControlHandler(){
+ LoggerInterface.loggerStartup.INFO("Initialize control handler");
Globals.controlHandler = ControlHandler.generateExampleControlsMap();
// Globals.controlHandler = FileLoadingUtils.loadModelObjectFromBakedJsonFile("/Config/keybinds.json",ControlHandler.class);
}
diff --git a/src/main/java/electrosphere/renderer/RenderingEngine.java b/src/main/java/electrosphere/renderer/RenderingEngine.java
index d1d7e00d..7385ea4d 100644
--- a/src/main/java/electrosphere/renderer/RenderingEngine.java
+++ b/src/main/java/electrosphere/renderer/RenderingEngine.java
@@ -116,6 +116,7 @@ public class RenderingEngine {
public void createOpenglContext(){
+ LoggerInterface.loggerRenderer.INFO("Create OpenGL Context");
//Initializes opengl
glfwInit();
//Gives hints to glfw to control how opengl will be used