Tyrian Episode Script and Data Cube File Notes Version 01

Copyright (C) 1997 Kenneth Frank Henderson Jr.  All rights reserved.



 Sections are divided by lines starting with a "*".  In scripts, the rest of

each of these lines, and, in fact, most other lines, is comment (ignored.)



 In Data Cubes Files, the "*" is followed by a 2-digit cube number (optional

and ignored, but you should include it so you can keep track of the numbers)

and an optional 2-digit character portrait number; you can use the rest of the

line as comment; just make sure you follow the pattern for the first 6 bytes,

because the parser is obviously quite arcane and can grossly misinterpret the

data if you don't give it what it expects.

 The second line is the cube title (shown when viewing what cubes are

available.)  DO NOT leave this line blank, or the game may crash.  It will

automatically line-wrap at spaces; keep it down to 3 lines, or it'll overlap

the next cube, and the end may not get displayed at all.  You may have to play

around with it a bit to get the line-wraps to fall where you want them.

 The third line is a short subject, which appears both in small print centered

under the character portrait and in large print centered above the text when

the cube is actually read.  Keep the subject short, or the game will crash when

you try to read the cube; it needs to fit with a substantial margin on either

side in the large print form.  The fonts are proportionally spaced, so wide

characters like "M" take much more space than "i".  If you can't come up with

a small suitable subject, just leave the line blank.

 The fourth line is the start of the actual text; it is also line-wrapped

automatically.  Any time the engine finds two lines containing text without a

blank line between, it just tacks a space onto the end of the first line and

appends the second as part of the same paragraph.  Therefore, it takes two

blank lines to create one in the actual text when read within the game.

 9 lines of processed text can be displayed at one time.  Try to make all cubes

10 lines or more; if a cube is exactly 9 lines, the game may crash, and if it's

less than 9 lines, the engine will let it scroll way too far.  Also, try not to

make any one cube too long, especially with blank lines; somewhere around 75-

100 lines, it seems to start running into the next cube's space.



 The "~" character turns on highlighting, or turns it off if it's already on.

It works on just about all the text in the entire game.  In data cubes, the

highlighting expires at the end of each processed line if it hasn't already

been turned off manually, and this can result in a later "~" that was supposed

to turn off highlighting turning it back on if a line break falls in between.

Therefore, when highlighting multiple words, it's a good idea to manually turn

off highlighting before each space and turn it back on after the space, i.e.:

~Highlight~ ~this~ ~text.~





Exit Script Commands

 These are the only commands that break out of the script and allow the user to

take control.  Additionally, only the ]I[ and ]Q[ commands will allow the user

to quit the game; if the user quits a level, he comes right back into the

script.  The point is, don't get so clever with these commands that you create

infinite loops the user cannot break out of!



]I[

 I Enter Game Menu interface ("Item screen")

]L[ 9999 Sec LevelNameM# L#$

 L Play Level

	9999      Unknown

	Sec       Section to jump to after level completion

	LevelName 9-character level name, padded with spaces if needed

	M#        Music ID to play during level (from jukebox)

	L#        Level ID to play

	$         If present, complete on player death in Full Game

]Q[

 Q End episode





Game Menu Setup Commands

 These commands set what the user can do next time you issue an ]I[ command;

what levels and data are available, etc.  You should have at least ]G[ and ]?[

commands somewhere before every ]I[ command.



]G[ PS # P1 Sc1  P2 Sc2  P3 Sc3  P4 Sc4  P5 Sc5

 G Set options for "Play Next Level" (more than 5 will confuse the game)

	PS  Source Planet

	#   Number of options

	P#  Destination Planet

	Sc# Destination Section

]?[ ## DC1 DC2 DC3 DC4

 ? Set possibly available Data Cubes (more than 4 actually available will

	crash the game)

	##  Number of possibly available Data Cubes

	DC# ID of Data Cube for this slot

]![ ##

 ! Set number of Data Cubes available

]s[

 s Set section to start at in savegame to the current one

]i Mus[

 i Play Music at Game Menu (from Jukebox)





Level Setup Commands

 These commands alter the way levels play.  Ideally, issue immediately before

the ]L[ command to be altered.



]e[

 e "ENGAGE items":  Affects all levels from this point onwards:  allow

	practically all twiddles; disable power requirements; use Super Tyrian

	Game Menu; Rear Weapon Power-Ups are replaced with specials.  One-Time

	Effects: Score:0, Ship:The Stalker 21.126, Front Gun:Atomic Railgun

	Power 3,  Rear Gun:None, Sidekicks:None, Shield:Gencore High Energy

	Shield.

]g[

 g "GALAGA mode":  Affects only the next level, overrides ]e[ where applicable:

	no twiddles, shields do not recharge, fixed L1 weapon power, enemies do

	not shoot shots (other enemies can still be fired, tho,) explosion

	sound when gaining lives from points.





Jump and Skip Commands

 These are the program-flow control commands.  Sort of the "crude... but

effective."-type.  Very effective.  B-)



]J Sec[

 J Jump to section <Sec>

]2 Sec[

 2 Jump to section <Sec> if not playing Full Game

]l Sec[

 l (?) Jump to section <Sec> if player died on previous level in Full Game

]t Sec[

 t (?) Jump to section <Sec> if Level Timer ran out on previous level

]w Sec[

 w (?) Jump to section <Sec> if player has The Stalker 21.126

]H[ Sec

 H Jump to section <Sec> if *NOT* playing Hard or higher

]h[

 h Skip next line if playing Hard or higher





Display Commands

 These are used for storyline screens.



]F[

 F Fade to white, then black

]C[

 C Same effect as ]P 907[

]@[

 @ Dulls reds to browns in next palette loaded?

]P Pic[

 P Display Pic

    Normal Values:

	001 Game Menu Screen

	002 Setup/Game Selection Screens

	003 In-Game Screen (1 Player)

	004 Menu Screen

	005 Purple shaded planet: Score, etc. Screen

	006 In-Game Screen (2 Player)

	007 Episode 2 End Screen

	008 Episode 1 End Screen Top

	009 Episode 1 End Screen Bottom

	010 Epic Megagames Logo Screen

	011 Destruct Screen

	012 Eclipse Logo Screen

	013 Episode 4 Success Screen

    Special Cases:

	000 loads TSHP2.PCX

	907 selects a black screen with red/orange text

]U Pic[

 U Scroll up to Pic (palette will not be reloaded; does not work with

	the special cases.)

]Wn ##[

 WnDisplay text screen at speed ## (higher is slower, 0 is instant)

]Wy ##[

 WyDisplay warning screen at speed ## (use pic 5 or 907)

]M Mus[

 M Play Music (from Jukebox)

]A[

 A Play TyrEnd.Anm





Miscelaneous Commands

 Commands I haven't tested/figured out yet... ;-)



]S[

 S Sync computers in network mode

]b[ Save Backup

 b Save player's items???

]x[

 x Related to ]b[?

]n[

 n ???

]+[ ##

 + ???





Text following the ]I[ Command:

 There must be 9 lines; the first 8 characters of each are comment.  The screen

will look ugly if there are more than 6 options for one thing, including the

player's current selection and "DONE"; this leaves you with 4 slots to fill.

 Making available the None Ship (0) will crash the game if it is bought.  The

None Generator (0) displays a wierd graphic.  Other "None"s seem to work fine,

except that allowing "None" as a Front Gun could enable a sort of cheating.

(i.e. upgrade to Power 11 None, then get a HotDog powerup...)

 Note that if "None" is not available as a Rear Gun, the player can't upgrade

the Rear Weapon he brought to this level.  This could probably be used to

force the player to pick something different, if still in the process of

upgrading.

 Format:

   Ship ## ## ## ##...

 FWeapn ## ## ## ##...

 RWeapn ## ## ## ##...

 Genera ## ## ## ##...

 Engine ## ## ## ##... (Obsolete)

 LSideK ## ## ## ##...

 RSideK ## ## ## ##...

  Armor ## ## ## ##... (Obsolete)

 Shield ## ## ## ##...



 Recomended Pattern:

   Ship 01

 FWeapn 01

 RWeapn 00

 Genera 01



 LSideK 00

 RSideK 00



 Shield 00





Text following the ]Q[ Command:

 9 sets of up to 7 (?) lines each, each followed by a line starting with a "#",

to be displayed randomly as Secret Hints.





Text following the ]Wn ##[ and ]Wy ##[ Commands:

 Up to 10 lines, followed by a line starting with "#".





Planets:

 13-18 do not show up unless available as a destination.  19-21 do not show up

at all as individual places, as they are just extra names for existing ones.

#  SNm Name		Description	Location

01 Ty Tyrian		M Whi/Blu	NE:A1, NW:A2, W:Ca

02 A1 Asteroid 1	West Ast. Belt	SW:Ty

03 A2 Asteroid 2	Mid. Ast. Belt	SE:Ty

04 A3 Asteroid 3	East Ast. Belt	SE:Ca

05 SJ Soh Jin		S Blu		S:Sa

06 Ca Camanis		L Whi/Blu/Grn	E:Ty

07 Gr Gryphon		S Bei		SE:Ca

08 Sa Savara		M Bei		SE:A2

09 Gy Gyges		M Yel		W:Sa

10 De Deliani		M Blu/Grn	W:Gy

11 Ix Ixmucane		L Whi/Blu	W:To

12 To Torm		S Blu/Grn	S:Gy SW:Sa,SJ

13 U1 Unknown		?		W:A1

14 U2 Unknown		?		N:A2

15 Bo Bonus		?		S:Gy

16 Fl Fleet		?		NW:Ty

17 BA Botany A		S Bei		SW:Gr

18 BB Botany B		S Bei		SE:Gr

19 AC AstCity		A1

20 Ga Gauntlet		A2

21 SI Skip It		Ty



Character Portraits:

00 None (Default)

01 Person in spacesuit (generic/black straps)/Javi Onukala

02 Person in spacesuit (generic/grey  straps)

03 Merchant (Black hair, sunglasses)

04 Android  (Mondus)

05 Emperor Milktoe

06 Reid ("Leader of resistance against using Hazudra as slaves")

07 Vykromod

08 Transon Lohk

09 Ninja ("Sneezei")

10 Captain Nob

11 Dougan (Friend from Torm)

12 Beppo  (Pirate from Torm)


