diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 45b0a47a..6ef43001 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -2058,6 +2058,7 @@ Code cleanup work Logging for loading thread failure Code cleanup More tests +Move actor masks into dedicated package diff --git a/src/main/java/electrosphere/client/entity/particle/ParticleUtils.java b/src/main/java/electrosphere/client/entity/particle/ParticleUtils.java index 86070f68..8ed93467 100644 --- a/src/main/java/electrosphere/client/entity/particle/ParticleUtils.java +++ b/src/main/java/electrosphere/client/entity/particle/ParticleUtils.java @@ -11,7 +11,7 @@ import electrosphere.entity.EntityTags; import electrosphere.entity.EntityUtils; import electrosphere.entity.state.client.particle.ClientParticleTree; import electrosphere.renderer.actor.Actor; -import electrosphere.renderer.actor.ActorTextureMask; +import electrosphere.renderer.actor.mask.ActorTextureMask; import java.util.Arrays; diff --git a/src/main/java/electrosphere/client/ui/menu/debug/entity/ImGuiEntityMacros.java b/src/main/java/electrosphere/client/ui/menu/debug/entity/ImGuiEntityMacros.java index f08e907a..d8a3cede 100644 --- a/src/main/java/electrosphere/client/ui/menu/debug/entity/ImGuiEntityMacros.java +++ b/src/main/java/electrosphere/client/ui/menu/debug/entity/ImGuiEntityMacros.java @@ -40,8 +40,8 @@ import electrosphere.entity.types.foliage.FoliageUtils; import electrosphere.entity.types.item.ItemUtils; import electrosphere.entity.types.terrain.TerrainChunk; import electrosphere.logger.LoggerInterface; -import electrosphere.renderer.actor.ActorAnimationMask; import electrosphere.renderer.actor.instance.InstancedActor; +import electrosphere.renderer.actor.mask.ActorAnimationMask; import electrosphere.renderer.anim.AnimChannel; import electrosphere.renderer.anim.Animation; import electrosphere.renderer.model.Bone; diff --git a/src/main/java/electrosphere/client/ui/menu/debug/entity/tabs/ImGuiEntityActorTab.java b/src/main/java/electrosphere/client/ui/menu/debug/entity/tabs/ImGuiEntityActorTab.java index 7d6db20d..f3362da3 100644 --- a/src/main/java/electrosphere/client/ui/menu/debug/entity/tabs/ImGuiEntityActorTab.java +++ b/src/main/java/electrosphere/client/ui/menu/debug/entity/tabs/ImGuiEntityActorTab.java @@ -17,9 +17,9 @@ import electrosphere.entity.types.common.CommonEntityUtils; import electrosphere.entity.types.tree.ProceduralTree; import electrosphere.logger.LoggerInterface; import electrosphere.renderer.actor.Actor; -import electrosphere.renderer.actor.ActorAnimationMask; -import electrosphere.renderer.actor.ActorMeshMask; import electrosphere.renderer.actor.instance.InstancedActor; +import electrosphere.renderer.actor.mask.ActorAnimationMask; +import electrosphere.renderer.actor.mask.ActorMeshMask; import electrosphere.renderer.anim.AnimChannel; import electrosphere.renderer.anim.Animation; import electrosphere.renderer.model.Bone; diff --git a/src/main/java/electrosphere/client/ui/menu/debug/server/ImGuiAI.java b/src/main/java/electrosphere/client/ui/menu/debug/server/ImGuiAI.java index 0c0dd2a0..ec6d9169 100644 --- a/src/main/java/electrosphere/client/ui/menu/debug/server/ImGuiAI.java +++ b/src/main/java/electrosphere/client/ui/menu/debug/server/ImGuiAI.java @@ -15,7 +15,7 @@ import electrosphere.entity.EntityCreationUtils; import electrosphere.entity.EntityUtils; import electrosphere.entity.state.server.ServerCharacterData; import electrosphere.renderer.actor.Actor; -import electrosphere.renderer.actor.ActorTextureMask; +import electrosphere.renderer.actor.mask.ActorTextureMask; import electrosphere.renderer.ui.imgui.ImGuiWindow; import electrosphere.renderer.ui.imgui.ImGuiWindow.ImGuiWindowCallback; import electrosphere.server.ai.AI; diff --git a/src/main/java/electrosphere/controls/cursor/CursorState.java b/src/main/java/electrosphere/controls/cursor/CursorState.java index 25f43b6e..40da6a93 100644 --- a/src/main/java/electrosphere/controls/cursor/CursorState.java +++ b/src/main/java/electrosphere/controls/cursor/CursorState.java @@ -23,7 +23,7 @@ import electrosphere.entity.EntityTags; import electrosphere.entity.EntityUtils; import electrosphere.entity.state.equip.ClientToolbarState; import electrosphere.renderer.actor.Actor; -import electrosphere.renderer.actor.ActorTextureMask; +import electrosphere.renderer.actor.mask.ActorTextureMask; import electrosphere.renderer.meshgen.BlockMeshgen; import electrosphere.renderer.ui.events.ScrollEvent; diff --git a/src/main/java/electrosphere/engine/assetmanager/AssetManager.java b/src/main/java/electrosphere/engine/assetmanager/AssetManager.java index 8200ef9f..2357706d 100644 --- a/src/main/java/electrosphere/engine/assetmanager/AssetManager.java +++ b/src/main/java/electrosphere/engine/assetmanager/AssetManager.java @@ -7,7 +7,7 @@ import electrosphere.collision.collidable.Collidable; import electrosphere.engine.Globals; import electrosphere.engine.assetmanager.queue.QueuedAsset; import electrosphere.logger.LoggerInterface; -import electrosphere.renderer.actor.ActorShaderMask; +import electrosphere.renderer.actor.mask.ActorShaderMask; import electrosphere.renderer.buffer.HomogenousInstancedArray; import electrosphere.renderer.buffer.HomogenousUniformBuffer; import electrosphere.renderer.loading.ModelLoader; diff --git a/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java b/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java index d44339c3..daaaf143 100644 --- a/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java +++ b/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java @@ -31,7 +31,7 @@ import electrosphere.net.parser.net.message.NetworkMessage; import electrosphere.net.synchronization.annotation.SynchronizedBehaviorTree; import electrosphere.net.synchronization.enums.BehaviorTreeIdEnums; import electrosphere.renderer.actor.Actor; -import electrosphere.renderer.actor.ActorMeshMask; +import electrosphere.renderer.actor.mask.ActorMeshMask; @SynchronizedBehaviorTree(name = "clientEquipState", isServer = false, correspondingTree="serverEquipState") /** diff --git a/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java b/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java index 4e61b160..4c8da02e 100644 --- a/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java +++ b/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java @@ -31,7 +31,7 @@ import electrosphere.entity.EntityTags; import electrosphere.entity.EntityUtils; import electrosphere.net.synchronization.enums.BehaviorTreeIdEnums; import electrosphere.renderer.actor.Actor; -import electrosphere.renderer.actor.ActorMeshMask; +import electrosphere.renderer.actor.mask.ActorMeshMask; import electrosphere.util.FileUtils; import electrosphere.net.parser.net.message.InventoryMessage; import electrosphere.net.parser.net.message.NetworkMessage; diff --git a/src/main/java/electrosphere/renderer/RenderUtils.java b/src/main/java/electrosphere/renderer/RenderUtils.java index c24aebe9..0e35e470 100644 --- a/src/main/java/electrosphere/renderer/RenderUtils.java +++ b/src/main/java/electrosphere/renderer/RenderUtils.java @@ -5,7 +5,7 @@ import electrosphere.engine.Globals; import java.util.LinkedList; import java.util.List; -import electrosphere.renderer.actor.ActorTextureMask; +import electrosphere.renderer.actor.mask.ActorTextureMask; import electrosphere.renderer.model.Mesh; import electrosphere.renderer.model.Model; import electrosphere.renderer.texture.Texture; diff --git a/src/main/java/electrosphere/renderer/actor/Actor.java b/src/main/java/electrosphere/renderer/actor/Actor.java index 903bdbb6..3f2e3c0f 100644 --- a/src/main/java/electrosphere/renderer/actor/Actor.java +++ b/src/main/java/electrosphere/renderer/actor/Actor.java @@ -9,6 +9,10 @@ import electrosphere.mem.JomlPool; import electrosphere.renderer.OpenGLState; import electrosphere.renderer.RenderPipelineState; import electrosphere.renderer.actor.ActorUniformMap.UniformValue; +import electrosphere.renderer.actor.mask.ActorAnimationMask; +import electrosphere.renderer.actor.mask.ActorMeshMask; +import electrosphere.renderer.actor.mask.ActorShaderMask; +import electrosphere.renderer.actor.mask.ActorTextureMask; import electrosphere.renderer.model.Bone; import electrosphere.renderer.model.Model; import electrosphere.renderer.texture.Texture; @@ -198,7 +202,7 @@ public class Actor { public double getAnimationTime(String animation){ ActorAnimationMask mask = this.getAnimationMask(animation); if(mask != null){ - return mask.time; + return mask.getTime(); } return INVALID_ANIMATION; } @@ -415,7 +419,7 @@ public class Actor { toRemoveMasks.clear(); for(ActorAnimationMask mask : this.animationQueue){ - if(mask.animationName == animationName && mask.priority == priority){ + if(mask.getAnimationName() == animationName && mask.getPriority() == priority){ toRemoveMasks.add(mask); } } @@ -460,7 +464,7 @@ public class Actor { List currentAnimationMask = new LinkedList(); for(ActorAnimationMask mask : animationQueue){ currentAnimationMask.clear(); - for(String currentBone : mask.boneMask){ + for(String currentBone : mask.getBones()){ if(!bonesUsed.contains(currentBone)){ bonesUsed.add(currentBone); currentAnimationMask.add(currentBone); @@ -500,10 +504,10 @@ public class Actor { */ public ActorAnimationMask getAnimationMask(String animationName){ for(ActorAnimationMask mask : this.getAnimationQueue()){ - if(mask.animationName.equals(animationName)){ + if(mask.getAnimationName().equals(animationName)){ return mask; - } else if(mask.animationName.equalsIgnoreCase(animationName)){ - LoggerInterface.loggerEngine.WARNING("Animation mask failed to find, but there is an animation with a very similar name! " + animationName + " vs " + mask.animationName); + } else if(mask.getAnimationName().equalsIgnoreCase(animationName)){ + LoggerInterface.loggerEngine.WARNING("Animation mask failed to find, but there is an animation with a very similar name! " + animationName + " vs " + mask.getAnimationName()); } } return null; diff --git a/src/main/java/electrosphere/renderer/actor/ActorAnimationMask.java b/src/main/java/electrosphere/renderer/actor/mask/ActorAnimationMask.java similarity index 98% rename from src/main/java/electrosphere/renderer/actor/ActorAnimationMask.java rename to src/main/java/electrosphere/renderer/actor/mask/ActorAnimationMask.java index fb2106c7..99a01f9f 100644 --- a/src/main/java/electrosphere/renderer/actor/ActorAnimationMask.java +++ b/src/main/java/electrosphere/renderer/actor/mask/ActorAnimationMask.java @@ -1,4 +1,4 @@ -package electrosphere.renderer.actor; +package electrosphere.renderer.actor.mask; import java.util.LinkedList; import java.util.List; diff --git a/src/main/java/electrosphere/renderer/actor/ActorMeshMask.java b/src/main/java/electrosphere/renderer/actor/mask/ActorMeshMask.java similarity index 99% rename from src/main/java/electrosphere/renderer/actor/ActorMeshMask.java rename to src/main/java/electrosphere/renderer/actor/mask/ActorMeshMask.java index 381fe0c1..d8459134 100644 --- a/src/main/java/electrosphere/renderer/actor/ActorMeshMask.java +++ b/src/main/java/electrosphere/renderer/actor/mask/ActorMeshMask.java @@ -1,4 +1,4 @@ -package electrosphere.renderer.actor; +package electrosphere.renderer.actor.mask; import java.util.HashMap; import java.util.LinkedList; diff --git a/src/main/java/electrosphere/renderer/actor/ActorShaderMask.java b/src/main/java/electrosphere/renderer/actor/mask/ActorShaderMask.java similarity index 96% rename from src/main/java/electrosphere/renderer/actor/ActorShaderMask.java rename to src/main/java/electrosphere/renderer/actor/mask/ActorShaderMask.java index ae4124e2..d3d72993 100644 --- a/src/main/java/electrosphere/renderer/actor/ActorShaderMask.java +++ b/src/main/java/electrosphere/renderer/actor/mask/ActorShaderMask.java @@ -1,4 +1,4 @@ -package electrosphere.renderer.actor; +package electrosphere.renderer.actor.mask; /** * Masks a shader on a mesh with another shader diff --git a/src/main/java/electrosphere/renderer/actor/ActorTextureMask.java b/src/main/java/electrosphere/renderer/actor/mask/ActorTextureMask.java similarity index 97% rename from src/main/java/electrosphere/renderer/actor/ActorTextureMask.java rename to src/main/java/electrosphere/renderer/actor/mask/ActorTextureMask.java index fd27b818..35ccfbd8 100644 --- a/src/main/java/electrosphere/renderer/actor/ActorTextureMask.java +++ b/src/main/java/electrosphere/renderer/actor/mask/ActorTextureMask.java @@ -1,4 +1,4 @@ -package electrosphere.renderer.actor; +package electrosphere.renderer.actor.mask; import java.util.List; diff --git a/src/main/java/electrosphere/renderer/model/Mesh.java b/src/main/java/electrosphere/renderer/model/Mesh.java index be69810d..93b418b1 100644 --- a/src/main/java/electrosphere/renderer/model/Mesh.java +++ b/src/main/java/electrosphere/renderer/model/Mesh.java @@ -6,8 +6,8 @@ import electrosphere.engine.Globals; import electrosphere.renderer.OpenGLState; import electrosphere.renderer.RenderPipelineState; import electrosphere.renderer.RenderingEngine; -import electrosphere.renderer.actor.ActorTextureMask; import electrosphere.renderer.actor.instance.InstanceData; +import electrosphere.renderer.actor.mask.ActorTextureMask; import electrosphere.renderer.light.LightManager; import electrosphere.renderer.shader.StandardUniformManager; import electrosphere.renderer.shader.VisualShader; diff --git a/src/main/java/electrosphere/renderer/model/Model.java b/src/main/java/electrosphere/renderer/model/Model.java index 637c036a..68c0bbaa 100644 --- a/src/main/java/electrosphere/renderer/model/Model.java +++ b/src/main/java/electrosphere/renderer/model/Model.java @@ -3,10 +3,10 @@ package electrosphere.renderer.model; import electrosphere.renderer.OpenGLState; import electrosphere.renderer.RenderPipelineState; import electrosphere.renderer.actor.ActorBoneRotator; -import electrosphere.renderer.actor.ActorMeshMask; -import electrosphere.renderer.actor.ActorShaderMask; import electrosphere.renderer.actor.ActorStaticMorph; -import electrosphere.renderer.actor.ActorTextureMask; +import electrosphere.renderer.actor.mask.ActorMeshMask; +import electrosphere.renderer.actor.mask.ActorShaderMask; +import electrosphere.renderer.actor.mask.ActorTextureMask; import electrosphere.renderer.anim.AnimChannel; import electrosphere.renderer.anim.Animation; import electrosphere.renderer.loading.ModelPretransforms; diff --git a/src/main/java/electrosphere/server/entity/poseactor/PoseActor.java b/src/main/java/electrosphere/server/entity/poseactor/PoseActor.java index 3d81008a..cfcd5671 100644 --- a/src/main/java/electrosphere/server/entity/poseactor/PoseActor.java +++ b/src/main/java/electrosphere/server/entity/poseactor/PoseActor.java @@ -17,9 +17,9 @@ import electrosphere.data.entity.creature.bonegroups.BoneGroup; import electrosphere.engine.Globals; import electrosphere.entity.state.AnimationPriorities; import electrosphere.logger.LoggerInterface; -import electrosphere.renderer.actor.ActorAnimationMask; import electrosphere.renderer.actor.ActorBoneRotator; import electrosphere.renderer.actor.ActorStaticMorph; +import electrosphere.renderer.actor.mask.ActorAnimationMask; import electrosphere.renderer.model.Bone; /**