Jump to content

[Help] Trying to determine which animation is called


Maclimes

Recommended Posts

 

You can switch out the meshes in there, and they work differently (Vipers lose their s***, archons seem pretty ok, for example). Is it perhaps a hardcoded animation sequence, as in it will always use that animation set, whatever you do, and you must tweak the, erm, skeletons? meshes? somethings? directly in there per mesh?

 

This is my fear. And you can't tweak them directly: The mesh you are switching between is just a preview (so you can test the animation with different models). If you change the "bones" on one, it changes for all of them.

Link to comment
Share on other sites

Ahhh, cack. Then yes. I think it's probably locked in. They probably just did it to be lazy, because when they're sitting, you can just use male and female without much difference.

 

Can you maybe override that class and send a custom animation instruction if the pawn isn't a human?

Link to comment
Share on other sites

 

Can you maybe override that class and send a custom animation instruction if the pawn isn't a human?

 

And now you see the information I am trying to find: Where exactly does that animation instruction get sent? And I mean, literally, what calls THAT SPECIFIC animation sequence?

 

It's not the code snippet posted earlier, or at least, that's not the end of the chain. I just can't find the next link in the chain.

Link to comment
Share on other sites

Oh.

 

XCOMGRI is XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI)

 

so

`XCOMGRI.DoRemoteEvent(name(RemoteEventString));

 

becomes

 

XComGameReplicationInfo.DoRemoteEvent(name(RemoteEventString));

 

which is

simulated function DoRemoteEvent(name evt, optional bool bRunOnClient){
  local PlayerController Controller;


  Controller = GetALocalPlayerController();
  if (Controller != none)
  {
    Controller.RemoteEvent(evt, bRunOnClient);
  }
}
(Actor.uc has this)
/** Return first found LocalPlayerController. Fine for single player, in split screen, one will be picked. */
native final function PlayerController GetALocalPlayerController();

But, yeah, that's about the end of your chain. I'd try and override ReplicationInfo and have it log everything it's getting, to see if you can make sense of it.

Link to comment
Share on other sites

Have you taken a look at the cinematic skyranger interior .umap files? I found a bunch of sequences in those that call upon specific anims, though I havent looked closely enough to be able to work out how they hook up to the AnimSet, it seems pretty opaque and not at all straightforward. Not at home so I cant point you directly though, sorry.

Link to comment
Share on other sites

Have you taken a look at the cinematic skyranger interior .umap files? I found a bunch of sequences in those that call upon specific anims, though I havent looked closely enough to be able to work out how they hook up to the AnimSet, it seems pretty opaque and not at all straightforward. Not at home so I cant point you directly though, sorry.

 

That's okay, I appreciate the heads up. I'll look for that when I get home tonight! Thanks!

Link to comment
Share on other sites

Oh yeah, I'm home now so... it's CIN_Loading_Interior.umap

 

The kismet graph is ridiculous!

 

Hm. I don't suppose you found where the animations are referenced? I guess, for me, the big question is: Does it reference the pawn's assigned animation set, or does it have an implicit reference to a specific animation (regardless of who the actual pawn is)?

Link to comment
Share on other sites

The animations in the drop ship are controlled by matinee, and the RemoteEventString referenced above connects to the kismet that contains the matinee. The map representing the drop ship interior is called: CIN_Loading_Interior and this map contains the kismet script and matinees that control the characters.

 

Since the animations are controlled by matinee that is why they do not work for non-human characters - matinee works by having direct references to the resources it is using. If you look at the Cinematics folder inside Maps, that is why there is a separate cinematic map for each character type.

 

So your options are:

1. Implement alternate matinees for other character types in the CIN_Loading_Interior map and distribute that map with your mod ( it will override the base game one ).

2. Write code to handle other character types inside the drop ship parts of XComPlayerController. If we had needed to support other character types riding the sky ranger int the base game, this is what we would have done. Similar to how the characters are handled in the squad select and post mission screens. We didn't have any aliens in the lineup to test with, but the code had branches for that possibility.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...