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