TORNADO LOGBOOK EDITOR 1.2
See registration info at the end of this file


Hi fellow Tornadoholics!

1. What is TLE?

TLE (Tornado logbook editor) is a utility program that helps you
edit pilot log files created by TORNADO (by DI), version 1.0 - 1.0e.
It was tested with the european versions 1.0a-1.0e, but it should work
with the US versions as well.

2. Why did I write TLE?
There were two reasons:

1.) it was a nice challenge to 'break' the encryption algorithm
    TORNADO uses to obscure its log-files.

2.) it's nice to play around with some of the data stored in the
    log-files:

    -make your pilot immortal!
    -promote/demote your pilot to any rank
    -recall your pilot from death after a crash, or
     liberate him/her from a POW camp ;-)
    -clone pilots


3. How do you install TLE?
Unpacking tle110.zip with the -d option of pkunzip into the TORNADO 
directory is all you have to do.

4. How do you edit a TORNADO log file?
First of all, you should make backups of log files (they are in the LOG
subdirectory of TORNADO's directory) before using TLE.

After starting TLE, you can choose the folowing functions:

-make a pilot mortal/immortal
-change a pilot's status
-change a pilot's rank
-rename a pilot
-clone a pilot
-edit details of other data stored in the logfile

Afer choosing a function, you will have to select a logfile to
apply this function to.

4.1 Making a pilot (im)mortal
TORNADO has the option of treating a pilot as "immortal". Usually, only
"GrpCpt deFault" has this attribute. But  with TLE, you can make any other
pilot immortal as well. This has the following consequences:

1) Your pilot can not be killed, taken POW, getting MIA, or injured.
2) Your pilot can not be demoted
3) You can not rename this pilot from within TORNADO's logbook screen
4) You can not delete this pilot from within TORNADO's logbook screen


WARNING: I'm not sure whether an immortal pilot will be correctly promoted
by TORNADO. However, you can promote him/her using TLE.

For 'safety' reasons, you can not strip 'deFault' of being 'immortal'.

4.2 Changing a pilot's status
According to the manual, a pilot can either be
-Active,
-Injured,
-Killed in Training
-Killed in Action
-Prisoner of War
-Missing in Action

However, TORNADO does not seem to implement injured pilots. Instead,
pilots that are injured disappear from the logbook screen, it seems
the respective logs are marked as deleted.

Therefore you can only choose among Active,Deleted,KIT,KIA,POW and MIA
as a pilots status.

GrpCpt deFualt's status must not be changed.

4.3 Changing a pilot's rank
You can choose among any of TORNADO's ranks. You are not allowed to
demote GrpCpt deFault!.


4.4 Renaming a pilot
The new pilot's name should be less than 19 characters long.
You CAN change Group Captain deFault's name, but even then you
are not allowed to change the status,rank or 'mortability(?)'
status of that pilot, namely the pilot nr. 0.


4.5 Cloning a pilot
'Cloning' here means copying a pilot's log to another pilot log file,
OVERWRITING the latter file. For 'safety' reasons, you may not
overwrite the logfile of an immortal pilot. If you don't have a log file
you want to overwrite, create a new log using TORNADO's logbook screen.

You can clone GrpCpt deFault.


4.6 Editing a log in detail
This option allows the user to change all data stored in the logfile not
covered by the functions above.
To make editing easier, the logbook data is divided into several groups:
- Flight time data: simulator,flying and combat time, measured
  in seconds. The 'combined time' (flying time + simulator time)
  is added by TLE and stored in the log, so that you don't have to
  add thoise figures yourself.

-Basic Performance data: air victories, ejections, targets destroyed

-Mission and campaign summary data: the number of missions & campaigns
 tried/successfully completed by that pilot in each
 theater: simulator, training, WZ1 - WZ3 (WZ4 for TORNADO1.0d/e)

-Mission and campaign status data: outcome of the specific
 single missions/campaigns  ( ' ': not tried yet, 'X' :
 tried but not won (yet), 'รป' : success)

The logbook has 20 slots for single missions in each theater, but
some may be empty (the training theater has only 10 missions available).
Likewise, there are 10 slots for Level1/2 campaigns and 5 slots
for command campaigns per warzone.

You will be asked whether you want to edit data in each specific group.


5. Some technical info for the curious


Log-File format:

The original Tornado 1.0..1.0c log files consisted of 258 bytes. log-files
are stored in the log subdirectory and are named 0.log, 1.log .. 19log.

The first 256 bytes of Tornado 1.0a-c log-files contain the pilot data, the
last 2 bytes are a 16 bit checksum of the data section. Tornado checks
the checksums of all log files when the program starts. If one of
the checksums does not match the actual checksum of the file, TORNADO
exits with a warning!

The data section (the first 256 bytes) is not simply a chain of bytes
of the pilot's data (name, rank, status etc). Instead, DI used a simple
encryption algorithm to obscure the log files.

The encryption algorithm roughly works as follows:
First, the data bytes of the pilot's data are XORed with pseudo-random
bytes (probably generated by a random number generator seeded with the
log number), this is the encryption KEY. This key differs for the different
log-files (0.log, 1.log ..), and this is the reason you can not clone a
TORNADO pilot by copying (say) 1.log to 2.log. Because 1.log has another
encryption key than 2.log, copying 1.log to 2.log will result in garbage when
TORNADO decrypts the new 2.log.

After this encryption, the resulting bytes are processed further.
The bytes are spliced into the different bits (no. 0..7). Then, all bits no.
0 are put into a sequence of bytes and stored in the log file. Then
all bits no. 1 are stored the same way and so on.

Finally, the two bytes of checksum are appended to the file.


Tornado 1.0d/e (Desert Storm) log file format.

To store the additional data for the Desert Storm war zone, the log-files
are now 514 bytes long (512 bytes encrypted data + 2 bytes checksum).
The encryption algorithm was not changed.


----------------------REGISTRATION------------------------------------------
You are allowed to use tle.exe free of charge for 30 days. If you
want to use it after this trial period, YOU HAVE TO PAY FOR IT!

No, don't send any money to the author (well, if you absolutely insist ;-)
), instead make a donation to an organization (Red Cross, 'Doctors without
Borders', UNHCR, UNICEF, ...) that helps countries that are devastated by 
war like Bosnia, Somalia, Afghanistan, Angola, .... .

Your donation should be
   
 + 

----------------------------------------------------------------------------
---------------------WARNING------------------------------------------------

I will not take responsibility for any loss of data or other damage resulting
from using TLE.

I strongly recommend to make backups of log-files before using TLE.


Every time TLE saves a modified logfile, the unmodified logfile is
moved to the TMP_TLE subdirectory that was created when you installed TLE.
If you suspect that a log file was damaged by TLE, you might be able to
restore the original log file from this TMP_TLE directory.


----------------------------------------------------------------------------



Have fun,

Heinz-Bernd Eggenstein
Repkestr. 26
59368 Werne
Fed. Rep. of Germany

CIS:[100430,1446]