Forum Announcement, Click Here to Read More From EA_Cade.

Would it be possible to script inject into an ASM?

TriplisTriplis Posts: 3,048 Member
edited March 5 in Nominated Threads
Tagging @TURBODRIVER cause I know you have some experience with script injections. Figure if anyone in the modding community knows, it might be you.

Basically, what I'm looking at is... there's a centralized "CAS" ASM file, (ID/name is 02D5DF13!00000000!D8D5C1186BA97FDC.CAS.AnimationStateMachine if you use Sims Studio to extract it). In theory, with the file as it is right now, I'm pretty confident I could override it and put in some new CAS trait idles (I already have some custom trait idles put together that work in-game, but not in CAS yet, since that's a separate animation reference).

But assuming that's a thing I could do, the forward-compatibility would be poor. I'd probably be looking at updating the file every single time Maxis adds content that adds additional CAS-based animations.

So I'm wondering if there's any possibility I could inject somehow. I'd need to inject parts like:
              <Choice value="Good">
                <Controller target="x" controller="@ClipController(clip=a_CAS_trait_heelClick_x, loop_count=#1)" overridePosture="false" mask="" track="normal" mirror_conditional="False" suppress_footsteps="False" transition_class_in="Default" transition_class_out="Default" ik_configuration="a_CAS_trait_heelClick.ma" focus="undefined" start_frame_offset="0" end_frame_offset="0" unique_id="251">
                  <TransitionClassList>
                    <Transition transition_class_name="Default" transition_duration_in="0.2666667" use_custom_transition_in="true" transition_type_in="linear" transition_mask_in="" transition_duration_out="0.2666667" use_custom_transition_out="false" transition_type_out="linear" transition_mask_out="" />
                  </TransitionClassList>
                </Controller>
              </Choice>

Within this, I think:
<Choice value="teen">
            <ParameterSelector parameter="CAS_Traits" unique_id="289">

And I'd need the names under this:
<Parameter name="CAS_Traits" type="enum" labels="Ambitious,Genius,Perfectionist,Good,Outgoing,Bookworm,Creative,Romantic,Goofball,HatesChildren,HotHeaded,Mean,ArtLover,Snob,Active,FamilyOriented,MusicLover,Neat,SelfAssured,LovesOutdoors,Evil,Glutton,Foodie,Gloomy,Lazy,Bro,CommitmentIssues,Clumsy,Loner,Insane,Materialistic,Geek,Slob,Nevernude,Childish,Cheerful,Squeamish,DanceMachine,Insider,Kleptomaniac,Unflirty,Vegetarian,Wild,Inquisitive,Independent,Charmer,Angelic,Silly,Clingy,Fussy" default="Ambitious" />

Possibly this as well (not sure if I strictly need the IK Configuration):
  <IkConfiguration name="c_CAS_trait_heelClick.ma">
    <SourceFile name="c_CAS_trait_heelClick.ma">
      <MapNamespace namespace="x" actor="x" />
    </SourceFile>
  </IkConfiguration>

So it's pretty involved, I'd assume. Maybe way too involved for a script injection, but I figured I'd ask and see what people know. Would be really cool if it could be done, as it'd open the door to some neat possibilities.
Mods moved from MTS, now hosted at: https://triplis.github.io
Post edited by EA_Cade on

Comments

  • TURBODRIVERTURBODRIVER Posts: 68 Member
    Hey!

    Bad news for you, state machine files are not loaded into any instance manager on the scripting side. You can access them, but only as a raw file and that wouldn't get you anywhere.

    It looks like that exact CAS ASM file is used for walk styles in-game. CAS screen is in no way accessible from the scripting side, it's purely a client-side thing.

    But, maybe this is your answer. Have you tried adding a walk style? Maybe that universally makes CAS use some idle animation at the same time. I can't help you with that though.
  • TriplisTriplis Posts: 3,048 Member
    @TURBODRIVER Thanks for the explanation! That's too bad. Oh well, fun idea while it lasted.

    I've not added a walkstyle yet, but it is an interesting thought.
    Mods moved from MTS, now hosted at: https://triplis.github.io

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file
Return to top