
21/8/99 1st version of Canned Sequences for v220
================================================


Functionality
=============

The system works and you can make simple sequences quite easily. The functionality is rather basic at the moment though. I would appreciate it if you could play around with the demo level and see what you would like adding. I've got some ideas for things to add but I'd rather do the ones you want/need!

 

What you need
=============

There is a new package called BANScripts.u which you should put in your system folder. That's all you need to do run the test level Canned.unr.

The file Score.txt describes the syntax for scripting sequences.



The Demo Canned Sequence
========================

When the level starts, there's a CannedSequence object just to the left. Touching it triggers the sequence.

	The sequence starts by cutting to a Krall behind the wall. At this point the player can no longer control his/her character.

	Next, the Krall starts to walk to a point at the far end of the room. The camera follows the Krall.

	After the Krall arrives, it pauses and then heads off back down the room to the button on the wall. This time though, the view cuts to a different camera which pans to keep the Krall in view.

	When the Krall arrives at the button, theres a pause, and then the door which is in view opens. At the same time, the camera zooms in. When the door is open, the Krall turns around and walks to another sequence point.

	The camera view then changes to one centered on the player. The player, now under the control of the script, walks up to the Krall.

	After a pause, control is returned back to the player and the game continues.


	
Brief Overview
==============

The main class is CannedSequence. It contains the score. There's also a few properties for doing bits and pieces.

Next is CannedCamera. Pretty obvious what it's for!

CannedSimplePoint objects are used to specify locations where, for example, a character will walk to. However this will change because each one used takes up a lot of memory but for now use these.

Now comes the grey area. I've had to add some extra states and functions to make pawns controllable. At the moment, I've derived a new class from ScriptedPawn called CannedPawn. Under here, there are two Pawns, CannedKrall and CannedPlayer. I've done it this way because I wasn't sure if I could get away with modifying ScriptedPawns directly and not mess up 'binary compatability' with your existing levels.

CannedPlayer is really a proxy and replaces the player's pawn during the sequence.



CannedSequence Properties
=========================

AudioTracks - This is an array of sounds which is used in the score.

Fnames - At the moment this isn't used so ignore it for now.

HoldingLocation - This is the x/y/z coordinates of a safe place to put the player during a sequence in which the proxy player is active.


Marks - This is an array of x/y/z coordinates which will take the place of CannedSimplePoints in the next version.

TheScript - This is where you specify the score for the sequence.

TriggerByPlayer - usual stuff to do with touching.
TriggerOnce - you get the idea!




