A Arensus Kreuzworträtsel Datei Format | A.A Format | B Open Source Kreuzworträtsel Java Applet |
THCC = GENERATOR VERSION CODEPAGE WIDTH HEIGHT ENCRYPTION ENCRYPTION LETTERS {FIELD} TITLE AUTHOR COPYRIGHT LICENCE DESCRIPTION DEFINITIONS
GENERATOR = String 0 (Der Name des Programms mit dem diese Datei erzeugt wurde. Vorerst gibt es nur den Arensus Kreuzworträtsel Generator)
VERSION = String 0 (Die Versionsnummer des TCC-Formats. Aktuell ist es 0.4.7)
CODEPAGE = byte
ENCRYPTION = byte (Identifiziert Verschlüsselungstechnik.
0 = Buchstaben sind nicht enthalten,
1 = Buchstaben sind nicht verschlüsselt,
2 = Verschlüsselt nach TEA1 noch zu bestimmen, Rotation + XOR)
DESCRIPTION = String 0 (Beschreibung zum Kreuzworträtsel. Beliebige Zeichen ausser ASCII Code 0)
WIDTH = 2 byte (16bit-Zahl)
HEIGHT = 2 byte (16bit-Zahl)
LETTERS = String (Es werden WIDTH*HEIGHT Zeichen gelesen. Diese bilden einen String, welcher verschlüsselt werden kann.)
FIELD = PRIMARY SECONDARY [PIPE PIPE] [4BYTE] [4BYTE] ARROW [ARROW]]
Semantik: Es gibt WIDTH*HEIGHT FIELD-Elemente. Die Anzahl Bytes je Element ist abhängig vom Feld selber.
PRIMARY = byte
Semantik: Das PRIMARY-byte kann folgende Werte annehmen.
0 = UNDEFINED
1 = LETTER
2 = BLOCK
3 = CLUE1
4 = CLUE2
5 = RESERVED
SECONDARY = byte
Semantik: Das SECONDARY-byte folgt dem PRIMARY-byte. Jedes einzelne Bit hat eine eigene Bedeutung.
Bit 1 = BAR_HORIZONTAL (Unterer horizontaler Balken der Zelle ist an)
Bit 2 = BAR_VERTICAL (Rechter vertikaler Falke des Feldes ist an)
Bit 3 = CLUE_LETER (Erster Buchstabe-Feld, das Definitionen enthält.)
Bit 4 = SOLUTION_LETTER (Buchstabe ist Teil eines Lösungswortes)
Bit 5 = PIPE_A (Pipe A ist an)
Bit 6 = PIPE_B (Pipe B ist an)
Bit 7 und 8 werden nicht verwendet und werden ignoriert.
Abhängig von den Werten des PRIMARY- und SECONDARY-Bytes folgen weitere Bytes.
4BYTE = 4 byte (4 Bytes werden als eine Zahl angesehen)
If PRIMARY is LETTER and SECONDARY has bit PIPE_A or PIPE_B on then the two following two bytes are
PIPE = byte
0 = UNDEFINED
1 = AB
2 = AD
3 = BA
4 = BC
5 = CB
6 = CD
7 = DA
8 = DC
9 = XLD1
10 = XLD2
11 = XLD3
12 = XLD4
13 = XRD1
14 = XRD2
15 = XRD3
16 = XRD4
17 = XLU1
18 = XLU2
19 = XLU3
20 = XLU4
21 = XRU1
22 = XRU2
23 = XRU3
24 = XRU4
If PRIMARY is LETTER and SECONDARY has bit CLUE_LETTER on then next 4BYTE is the number of this clue-field.
If PRIMARY is LETTER and SECONDARY has bit SOLUTION_LETTER then next 4BYTE is the number of solution-letter.
If PRIMARY is CLUE1 then next ARROW defines the type of arrow for that clue.
If PRIMARY is CLUE2 then next two ARROWs defines the arrows of the two clues.
ARROW = byte
0 = UNDEFINED
1 = A1
2 = A2
3 = A3
4 = B1
5 = B2
6 = B3
7 = C1
8 = C2
9 = C3
10 = D1
11 = D2
12 = D3
13 = X1
14 = X2
15 = X3
16 = X4
17 = X5
18 = X6
19 = X7
20 = X8
TITLE = String 0 (Titel des Kreuzworträtsels.)
AUTHOR = String 0 (Der Urheber des Kreuzworträtsels.)
COPYRIGHT = String 0 (Der Copyright-Besitzer.)
LICENCE = String 0 (Der Autor kann jedem Kreuzworträtsel den er erstellt hat eine Lizenz-Identifikation zuordnen.)
DEFINITIONS = {String 0} (Die Anzahl hängt von der Anzahl an CLUE1-, CLUE2- und CLUE_LETTER-Felder ab. Jedem CLUE1-Felde eine Definitionen zugeordnet und jedem Clue2- und CLUE_LETTER sind zwei Definition zugeordnet.)
A Arensus Kreuzworträtsel Datei Format | A.A Format | B Open Source Kreuzworträtsel Java Applet |