1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

Interrupting Matinee by User

Discussion in 'Level Design, Skinning and Modelling' started by HeadShooter, Mar 30, 2004.

  1. HeadShooter

    HeadShooter New Member

    Joined:
    Mar 30, 2004
    Messages:
    12
    Likes Received:
    0
    How is it possible to make matinee interruptable? eg. UT2004 Assault intro movies can be cancelled by primary fire
     
  2. Vito

    Vito New Member

    Joined:
    Mar 18, 2002
    Messages:
    143
    Likes Received:
    0
    You can't by default. You'll have to check out the UT2004 matinee UnrealScript code for that. If it's not done natively, you might be able to write some UnrealScript that supports it. If it is, I can give you other suggestions.
     
  3. [SAS]Solid Snake

    [SAS]Solid Snake New Member

    Joined:
    Jun 7, 2002
    Messages:
    2,633
    Likes Received:
    0
    I am not 100% sure on this, but to cancel a movie you can just use a console command to change to the map.
     
  4. ttl

    ttl New Member

    Joined:
    Oct 22, 2003
    Messages:
    51
    Likes Received:
    0
    If you don’t want to play the same scene again, wouldn’t you just destroy the scene manager?
     
  5. HeadShooter

    HeadShooter New Member

    Joined:
    Mar 30, 2004
    Messages:
    12
    Likes Received:
    0
    But I have matinee at the same level
     
  6. HeadShooter

    HeadShooter New Member

    Joined:
    Mar 30, 2004
    Messages:
    12
    Likes Received:
    0
    Thanks!! Can you help me a little bit more?
    Where can i find this? Scene manager code? Interactions code?
     
  7. HeadShooter

    HeadShooter New Member

    Joined:
    Mar 30, 2004
    Messages:
    12
    Likes Received:
    0
    Still can't find this code ^(((
     
  8. ttl

    ttl New Member

    Joined:
    Oct 22, 2003
    Messages:
    51
    Likes Received:
    0
    Instead of finding it, why dont you look through the SceneManager code?

    Anywho here is an example, put this in your playercontroller class:
    Code:
    exec function StartMatinee()
    {
      local SceneManager scene;
      //if(isViewingMatinee()) return;
      foreach DynamicActors(class'SceneManager',scene)
      {
        if(scene.bIsSceneStarted || scene.bIsRunning) continue;
        scene.Trigger(self,pawn);
        break;
      }
    }
    exec function KillMatinee()
    {
      local SceneManager scene;
      local MatAction action;
      local MatSubAction subaction;
      local int i,j;
      foreach DynamicActors(class'SceneManager',scene)
      {
        if(!scene.bIsRunning || !scene.bIsSceneStarted) continue;
        scene.bIsRunning=false;
        scene.bIsSceneStarted=false;
        for(i=0;i < scene.Actions.length;i++)
        {
          action = scene.Actions[i];
          if(action != none)
          {
            for(j=0;j < action.SubActions.length;j++)
            {
              subaction=action.SubActions[j];
              if(subaction != none && subaction.status == SASTATUS_Running) 
                subaction.status=SASTATUS_Ending;
            }
          }
        }
        scene.SceneEnded();
        SetViewTarget(pawn);
      }
    }
    
    You could of course call it from the Fire() function. I would personally subclass the SceneManager class and place them in the level instead, and perhaps have a state in the player controller class called 'WatchingMatinee' and goto that from the scenemanager, and then when that stateends you call a function (perhaps by overwriting to the fire function) in your scenemanager that either pauses, resets or destroys your scene manager. Back in the playercontroller class I would set the correct viewtarget. And if you needed to change anything at a later date you could, because it wouldn’t be in a built-in class.
     
    Last edited: Apr 14, 2004

Share This Page