Scriptor & DeScriptor v0.50
---------------------------

Credit:

First off I would like to thank all those who 
provided info on .cob format and other TA Related stuff.

Dan Melchione
Ted Burg
Tim Burton
JoeD
Kinboat
Authors of Cobbler
And anyone else I forgot to mention.

I would also like to thank Cavedog for their awsome games-TA,TAK
I might of had a social life without them.


Disclaimer:

I assume no responsibility if your coputer explodes into flaming piles
of wreckage as a result of using my programs. That said, enjoy Scriptor
and DeScriptor. You can sell, distribute, pawn, mock, delete, claim
authorship, or do anything else with the programs that strikes your 
fancy. Source is available in the zip written in VC++5.


Insatallation:

Umm... Unzip exe's and the .ini somewhere and execute em.
The Compiler.ini must be in the same dir as Scriptor.exe
Scriptor.exe and DeScriptor.exe are independent of each other so
you can put them in separate dirs.


Program Use:

Run the program and find the files you want and press
<Script> or <DeScript>.
They dont accept any command line arguments yet. Sorry about that.

Scriptor:
Be sure to check what kind of .bos file you are compiling. TA or TAK
It does matter.

DeScriptor:
There are only four options to consider.
Header Info:  Prints the .cob header at the beginning of the .bos
Show Offsts:  Prints the script offset before each item in .bos
Extra Info :  Prints pushes, jumps, operators etc...
Precision  :  Indicates how many nums after the decimal point you want


----------
Known bugs
----------

Scriptor:

No PreProcessor stuff yet :( Will be in next relaease.
This shouldn't be a problem for TAK stuff though.

Lots of the error codes are vague, inaccurate, or just plain wrong.
Sorry about that. Good luck on finding the error as it doesn't
give you any line numbers. This Will be fixed.

Don't go crazy with Operators. Tak cobs can handle more complicated
stuff like (4*(3+Var*4)>=(!Var2==3)+4) but i'm sure there is a limit.
I have not have a problem yet but that is not to say there will not be.

I've basicaly thrown nothing but valid code at the compiler so I
don't know how it react under other circumstances. Be warned.


DeScriptor:

It sometimes doesn't pick up all the labels. This causes an
error when you try to recompile it. You can look at the offset to
see where the label should be and add them manualy.

It will print a goto where a break was when the break was not in the
main loop block.

Origianl code:

while(TRUE)
{
	if(TRUE)
	{
		break;
	}
}

will be decomiled as:

while(TRUE)
{
	if(TRUE)
	{
		goto Label1;
	}
}
Label1:



Thats pretty much it.
For .bos format stuff look at BosFmt.txt

Comments? Questions? Flames? Other?
email me at KhalvKalash@hotmail.com