diff --git a/assets/Models/baseman.fbx b/assets/Models/baseman.fbx index 21a0f26d..15b50384 100644 Binary files a/assets/Models/baseman.fbx and b/assets/Models/baseman.fbx differ diff --git a/src/main/java/electrosphere/engine/LoadingThread.java b/src/main/java/electrosphere/engine/LoadingThread.java index 2ef5082a..30cecbef 100644 --- a/src/main/java/electrosphere/engine/LoadingThread.java +++ b/src/main/java/electrosphere/engine/LoadingThread.java @@ -615,15 +615,15 @@ public class LoadingThread extends Thread { // ActorUtils.applyBlenderTransformer(building); //spawn evil goblin - Entity goblin = CreatureUtils.spawnBasicCreature("goblin"); - CollisionObjUtils.positionCharacter(goblin, new Vector3f(4, 0, 4)); - EntityUtils.getScale(goblin).set(0.005f); + // Entity goblin = CreatureUtils.spawnBasicCreature("goblin"); + // CollisionObjUtils.positionCharacter(goblin, new Vector3f(4, 0, 4)); + // EntityUtils.getScale(goblin).set(0.005f); // //give evil goblin sword // Entity goblinSword = ItemUtils.spawnBasicItem("Katana"); // AttachUtils.attachEntityToEntityAtBone(goblin, goblinSword, "Bone.031"); //attach ai to evil goblin // MindlessAttacker.attachToCreature(goblin); - OpportunisticAttacker.attachToCreature(goblin); + // OpportunisticAttacker.attachToCreature(goblin); Entity shorts = ItemUtils.spawnBasicItem("boots1"); EntityUtils.getPosition(shorts).set(new Vector3f(2,1,1)); diff --git a/src/main/java/electrosphere/entity/state/IdleTree.java b/src/main/java/electrosphere/entity/state/IdleTree.java index 11c05ebf..8ea9137c 100644 --- a/src/main/java/electrosphere/entity/state/IdleTree.java +++ b/src/main/java/electrosphere/entity/state/IdleTree.java @@ -25,7 +25,7 @@ public class IdleTree { Entity parent; - CopyOnWriteArrayList networkMessageQueue = new CopyOnWriteArrayList(); + CopyOnWriteArrayList networkMessageQueue = new CopyOnWriteArrayList(); int frameCurrent; @@ -96,7 +96,7 @@ public class IdleTree { case IDLE: if(entityActor != null){ if(!entityActor.isPlayingAnimation() || !entityActor.isPlayingAnimation(Animation.ANIMATION_IDLE_1)){ - entityActor.playAnimation(Animation.ANIMATION_IDLE_1,1); + entityActor.playAnimation(Animation.ANIMATION_IDLE_1,3); entityActor.incrementAnimationTime(0.01); } } diff --git a/src/main/java/electrosphere/main/Main.java b/src/main/java/electrosphere/main/Main.java index c63412de..2d18e8d4 100644 --- a/src/main/java/electrosphere/main/Main.java +++ b/src/main/java/electrosphere/main/Main.java @@ -20,6 +20,7 @@ import electrosphere.engine.LoadingThread; import electrosphere.game.client.ClientFunctions; import electrosphere.game.client.targeting.crosshair.Crosshair; import electrosphere.game.config.UserSettings; +import electrosphere.game.data.creature.type.Animation; import electrosphere.game.server.saves.SaveUtils; import electrosphere.game.server.terrain.manager.ServerTerrainManager; import electrosphere.game.server.world.MacroData; @@ -173,13 +174,25 @@ public class Main { Globals.renderingEngine.createOpenglContext(); //uncomment to test loading a model into engine -// if(1==1){ -// Globals.assetManager.addModelPathToQueue("/Models/goblin1.fbx"); -// Globals.assetManager.loadAssetsInQueue(); -// Model bowModel = Globals.assetManager.fetchModel("/Models/goblin1.fbx"); -// bowModel.describeHighLevel(); -// System.exit(0); -// } + // if(1==1){ + // Globals.assetManager.addModelPathToQueue("/Models/baseman.fbx"); + // Globals.assetManager.loadAssetsInQueue(); + // Model model = Globals.assetManager.fetchModel("/Models/baseman.fbx"); + // for(electrosphere.renderer.anim.Animation anim : model.animations){ + // if(anim.name.equals("Armature|Idle1")){ + // System.out.println(anim.duration); + // for(electrosphere.renderer.anim.AnimChannel channel : anim.channels){ + // if(channel.getNodeID().equals("Torso")){ + // channel.fullDescribeChannel(); + // } + // // System.out.println("CHannel: " + channel.getNodeID()); + // } + // break; + // } + // } + // // model.describeHighLevel(); + // System.exit(0); + // } //create the audio context Globals.audioEngine = new AudioEngine(); diff --git a/src/main/java/electrosphere/renderer/Mesh.java b/src/main/java/electrosphere/renderer/Mesh.java index dc36aebd..e69c89bf 100644 --- a/src/main/java/electrosphere/renderer/Mesh.java +++ b/src/main/java/electrosphere/renderer/Mesh.java @@ -104,6 +104,7 @@ public class Mesh { Mesh rVal = new Mesh(); rVal.mesh = mesh; + rVal.nodeID = mesh.mName().dataString(); // // VAO @@ -325,6 +326,9 @@ public class Mesh { index[2] = index[1]; index[1] = index[0]; index[0] = boneCounter; + // if(rVal.nodeID.equals("Torso")){ + // System.out.println(index[3] + " " + index[2] + " " + index[1] + " " + index[0]); + // } } else if(boneVal > weight[1]){ weight[3] = weight[2]; weight[2] = weight[1]; @@ -412,9 +416,6 @@ public class Mesh { - rVal.nodeID = mesh.mName().dataString(); - - return rVal; } @@ -832,6 +833,12 @@ public class Mesh { if(currentBone != null){ Matrix4f currentMat = new Matrix4f(currentBone.final_transform); currentMat.get(bufferarray); + // if(boneName.equals("Torso")){ + // System.out.println("Found torso bone"); + // System.out.println(currentUniform); + // System.out.println(currentMat); + // System.exit(0); + // } GL20.glUniformMatrix4fv(glGetUniformLocation(Globals.renderingEngine.getActiveShader().shaderProgram, currentUniform), false, bufferarray); } else { // System.out.println("Bonename: " + boneName); diff --git a/src/main/java/electrosphere/renderer/RenderingEngine.java b/src/main/java/electrosphere/renderer/RenderingEngine.java index 80ffb630..7e01543a 100644 --- a/src/main/java/electrosphere/renderer/RenderingEngine.java +++ b/src/main/java/electrosphere/renderer/RenderingEngine.java @@ -233,7 +233,7 @@ public class RenderingEngine { Globals.projectionMatrix = new Matrix4f(); Globals.viewMatrix = new Matrix4f(); float verticalFOV = (float)(Globals.verticalFOV * Math.PI /180.0f); - float aspectRatio = (float)((float)Globals.WINDOW_WIDTH / (float)Globals.WINDOW_HEIGHT); + float aspectRatio = (float)Globals.WINDOW_WIDTH / (float)Globals.WINDOW_HEIGHT; float nearClip = 0.001f; Globals.projectionMatrix.setPerspective(verticalFOV, aspectRatio, nearClip, view_Range); Globals.viewMatrix.translation(new Vector3f(0.0f,0.0f,-3.0f)); diff --git a/src/main/java/electrosphere/renderer/actor/ActorUtils.java b/src/main/java/electrosphere/renderer/actor/ActorUtils.java index 680cdb7c..3d3070f4 100644 --- a/src/main/java/electrosphere/renderer/actor/ActorUtils.java +++ b/src/main/java/electrosphere/renderer/actor/ActorUtils.java @@ -19,7 +19,7 @@ public class ActorUtils { public static void applyBlenderTransformer(Entity actorEntity){ Actor entityActor = EntityUtils.getActor(actorEntity); - entityActor.setAnimationScalar(100f); + entityActor.setAnimationScalar(60f); //should be the value of the fps i think EntityUtils.getScale(actorEntity).set(0.005f); }