fix katana idle animations
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good

This commit is contained in:
austin 2024-10-21 10:40:58 -04:00
parent 496172680f
commit b9f0eef20e
9 changed files with 21 additions and 15 deletions

View File

@ -117,6 +117,7 @@
"model": {
"idleData": {
"animation": {
"nameFirstPerson" : "Idle",
"nameThirdPerson" : "Idle",
"priorityCategory" : "IDLE"
}

View File

@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file
#Mon Oct 21 09:29:02 EDT 2024
buildNumber=362
#Mon Oct 21 09:58:24 EDT 2024
buildNumber=363

View File

@ -43,7 +43,6 @@
- Spawn player in a town with a quest to complete a nearby dungeon
+ bug fixes
Fix idle animations
Fix light cluster mapping for foliage shader
Fix foliage placement
Fix lights not being deleted
@ -51,5 +50,6 @@
Fix block tree preventing initiating an attack
Fix equipping sword on toolbar
Fix return to title menu synchronization bug
Fix particles not spawning in correct positions
+ unreproducible bugs

View File

@ -880,6 +880,7 @@ Fix inventory null pointer check on virtualaudiomanager
(10/21/2024)
Fix inventory message for undefined id on client
Fix movement audio service when audio engine disabled
Fix idle animations (for katana)

View File

@ -113,6 +113,7 @@ public class ClientParticleEmitterComponent implements BehaviorTree {
Globals.clientSceneWrapper.getScene().registerBehaviorTree(rVal);
return rVal;
}
/**
* <p>
* Detatches this tree from the entity.
@ -122,6 +123,7 @@ public class ClientParticleEmitterComponent implements BehaviorTree {
*/
public static void detachTree(Entity entity, BehaviorTree tree){
}
/**
* <p>
* Gets the ClientEquipState of the entity
@ -132,4 +134,5 @@ public class ClientParticleEmitterComponent implements BehaviorTree {
public static ClientEquipState getClientEquipState(Entity entity){
return (ClientEquipState)entity.getData(EntityDataStrings.TREE_CLIENTPARTICLEEMITTERSTATE);
}
}

View File

@ -10,7 +10,6 @@ import electrosphere.entity.EntityDataStrings;
import electrosphere.entity.EntityUtils;
import electrosphere.entity.btree.BehaviorTree;
import electrosphere.entity.types.creature.CreatureUtils;
import electrosphere.game.data.creature.type.CreatureData;
import electrosphere.game.data.creature.type.IdleData;
import electrosphere.net.synchronization.annotation.SyncedField;
import electrosphere.net.synchronization.annotation.SynchronizableEnum;
@ -42,15 +41,12 @@ public class ClientIdleTree implements BehaviorTree {
* Creates an idle tree
* @param e the entity to attach the tree to
*/
public ClientIdleTree(Entity e, Object ... params){
private ClientIdleTree(Entity e, Object ... params){
state = IdleTreeState.IDLE;
parent = e;
//check if this is a creature, if so add its idle data
CreatureData creatureType = Globals.gameConfigCurrent.getCreatureTypeLoader().getType(CreatureUtils.getType(parent));
if(creatureType != null){
idleData = creatureType.getGraphicsTemplate().getModel().getIdleData();
if(params.length > 0 && params[0] instanceof IdleData){
idleData = (IdleData)params[0];
}
//TODO: if object, check if object has idle data and add accordingly
}
/**
@ -112,6 +108,8 @@ public class ClientIdleTree implements BehaviorTree {
rVal = true;
}
}
} else {
rVal = true;
}
return rVal;
}

View File

@ -150,6 +150,8 @@ public class ServerIdleTree implements BehaviorTree {
rVal = true;
}
}
} else {
rVal = true;
}
return rVal;
}

View File

@ -152,9 +152,10 @@ public class CommonEntityUtils {
}
//idle tree & generic stuff all creatures have
if(graphicsTemplate.getModel() != null && graphicsTemplate.getModel().getIdleData() != null){
ClientIdleTree idleTree = new ClientIdleTree(entity);
entity.putData(EntityDataStrings.TREE_IDLE, idleTree);
Globals.clientScene.registerBehaviorTree(idleTree);
ClientIdleTree.attachTree(entity, graphicsTemplate.getModel().getIdleData());
// ClientIdleTree idleTree = new ClientIdleTree(entity);
// entity.putData(EntityDataStrings.TREE_IDLE, idleTree);
// Globals.clientScene.registerBehaviorTree(idleTree);
}
}
Actor creatureActor = EntityUtils.getActor(entity);

View File

@ -152,10 +152,10 @@ public class Actor {
return false;
}
for(ActorAnimationMask mask : animationQueue){
if(mask.getAnimationName().contains(animationData.getNameFirstPerson())){
if(animationData.getNameFirstPerson() != null && mask.getAnimationName().contains(animationData.getNameFirstPerson())){
return true;
}
if(mask.getAnimationName().contains(animationData.getNameThirdPerson())){
if(animationData.getNameThirdPerson() != null && mask.getAnimationName().contains(animationData.getNameThirdPerson())){
return true;
}
}