Allow FindState from ui context

Moderator: GZDoom Developers

Post Reply
User avatar
AFADoomer
Posts: 1322
Joined: Tue Jul 15, 2003 4:18 pm
Contact:

Allow FindState from ui context

Post by AFADoomer »

I'm trying to tweak the PlayerMenu so that I can add a "Portrait" state to my player class and use that for the player animation instead of See or Spawn (because the class uses "####" frames, and you end up with random sprites as your animation).

I'd like to be able to do something like this in the code:

Code: Select all

    void ExtendedUpdatePlayer(int classnum)
    {
        mPlayerClass = PlayerClasses[classnum];
        mPlayerState = GetDefaultByType (mPlayerClass.Type).FindState("Portrait"); // <---  Obviously doesn't work...
        if (mPlayerState == NULL) { mPlayerState = GetDefaultByType (mPlayerClass.Type).SeeState; }
        if (mPlayerState == NULL) { mPlayerState = GetDefaultByType (mPlayerClass.Type).SpawnState; }
        mPlayerTics = mPlayerState != NULL ? mPlayerState.Tics : -1;
    }
Is there a reason why FindState (as well as some of the other non-modifying functions) can't be made accessible from ui?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Allow FindState from ui context

Post by Graf Zahl »

It just got overlooked. In general, this should be C/S-safe and accessing too much of the play state is not good - but since the cast call already needs this access anyway an exception can be made here.
Post Reply

Return to “Closed Feature Suggestions [GZDoom]”