Description du format Background Editor V1.0 Beta
24/09/95
Copyright Laurent Hubert - Pentagon Production

Le fichier peut contenir:

- une palette
- des sprites
- des masques pour chaque sprite pour la gestion de collisions
- des nombres associes a chaque sprite pour la gestion de parametres divers
- des tableaux definissant des ecrans de jeux
- des nombres associes a chaque case des backgrounds pour la gestion de parametres divers
- des zones de controle pour le controle du passage des voitures
- des ponts avec des informations definissant sa position, dimension...
- des tremplins avec des informations definissant sa position, dimension...
- des courbes de bezier pour la definition du parcours des voitures

Si un pointeur contient 0, cela indique que le fichier ne possede pas le type
de donnee utilisee par le pointeur

Le debut du fichier contient obligatoirement les informations suivantes:

Adresse		Taille en octets	Fonction
0		8			Header doit contenir 'PTGTRACK'
8		2			Numero de version actuellement 0

10		2			Nombre de sprites/masques

12		2			Largeur du sprite/masques en pixels
					Pour des sprites avec un nombre de plan inferieur a 16
					et les masques, la largeur du sprite sera toujours multiple
					de 16 pixels
14		2			Hauteur du sprite/masque en pixels
16		2			Nombre de plan du sprite, 1,2,4,8,16 (16=True Color)
18		2			Nombre d'octets pour une ligne d'un sprite
					(largeur x nombre de plan)/8
20		2			Nombre d'octets pour un sprite
					(largeur x hauteur x nombre de plan)/8

22		2			Nombre de plan du masque
24		2			Nombre d'octets pour une ligne du masque
					(largeur x nombre de plan)/8
26		2			Nombre d'octets pour un masque
					(largeur x hauteur x nombre de plan)/8

28		2			Nombre de donnees associes a chaque sprite

30		4			Adresse de la palette
					par rapport a l'adresse 0 du fichier
34		4			Taille en octets de la palette format ST/Falcon
					32 octets en 16 couleurs, 1024 octets en 256 couleurs
					pas de palette pour le True Color

38		4			Adresse des sprites
					par rapport a l'adresse 0 du fichier
42		4			Taille en octets de la banque de sprites

46		4			Adresse des masques
					par rapport a l'adresse 0 du fichier
50		4			Taille en octets de la banque de masques

54		4			Adresse des donnees associes aux sprites
					par rapport a l'adresse 0 du fichier
58		4			Taille en octets des donnees associes aux sprites

62		4			Adresse de la structure des circuits
					par rapport a l'adresse 0 du fichier
66		4			Taille en octets donnees des circuits
					(structure des circuits, circuit N1, circuit N2...

variable	^			Donnees definissant la palette
		 \_ 32 octets en 16 couleurs, 1024 octets en 256 couleurs, 0 en True Color
variable	^			Donnees definissant les sprites
		 \_ (largeur x hauteur x nombre sprites x nombre plans des sprites)/8
variable	^			Donnees definissant les masques
		 \_ (largeur x hauteur x nombre sprites x nombre plans des masques)/8
variable	^			Donnees associes aux sprites
		 \_ (1 + nombre sprites) x 2 x nombre des donnees associes a chaque sprite
variable	^			Donnees definissant les circuits
		 \_ variable


Structure des circuits

Adresse		Taille en octets	Fonction
0		2			Nombre de circuits
2		4			Adresse du circuit 1
					par rapport a l'adresse 0 de la structures des circuits
6 si existe	4			Adresse du circuit 2
					par rapport a l'adresse 0 de la structures des circuits
10 si existe	4			Adresse du circuit 3
					par rapport a l'adresse 0 de la structures des circuits
...		4			Adresse du circuit ...
					par rapport a l'adresse 0 de la structures des circuits


Structure d'un cicuit

Adresse		Taille en octets	Fonction
0		2			Numero du circuit
2		2			Largeur de l'ecran en blocs de 16 pixels
4		2			Hauteur de l'ecran en blocs de 16 pixels
6		2			Nombre de parametre associees a chaque case du circuit
8		2			Nombre de zones de controles
10		2			Nombre de ponts
12		2			Nombre de tremplin
14		2			Nombre de trajets pour le circuit

16		4			Adresse de l'ecran defini en bloc de 16 pixels
					par rapport a l'adresse 0 de la structure du circuit
20		4			Adresse des parametres associes a chaque case du circuit
					par rapport a l'adresse 0 de la structure du circuit
24		4			Adresse definissant les zones de controles
					par rapport a l'adresse 0 de la structure du circuit
28		4			Adresse des informations sur les ponts
					par rapport a l'adresse 0 de la structure du circuit
32		4			Adresse des informations sur les tremplins
					par rapport a l'adresse 0 de la structure du circuit
36		4			Adresse des points definissant les Bezier du trajet Nn
					par rapport a l'adresse 0 de la structure du circuit
40		4			Adresse des points definissant les Bezier du trajet Nn
					par rapport a l'adresse 0 de la structure du circuit
variable	4			Adresse des points definissant les Bezier du trajet N...
					par rapport a l'adresse 0 de la structure du circuit

variable	variable		Donnees definissant l'ecran
variable	variable		Donnees definissant les parametres associes a chaque case du circuit
variable	variable		Donnees definissant les zones de controles
variable	variable		Donnees definissant les ponts
variable	variable		Donnees definissant les tremplins
variable	variable		Donnees definissant les points de controle des Bezier du 1er trajet
variable	variable		Donnees definissant les points de controle des Bezier du 2eme trajet
variable	variable		Donnees definissant les points de controle des Bezier du ... trajet


Format des sprites:
Sprite N1	Ligne N1	en True Color:
					1 word par pixel qui se suivent de facon lineaire
				ou en mode plan:
					plan N1 avec 1 word par serie de 16 pixels
					plan N2
					plan N3
					...
		Ligne N2	en True Color:
					1 word par pixel qui se suivent de facon lineaire
				ou en mode plan:
					plan N1 avec 1 word par serie de 16 pixels
					plan N2
					plan N3
					...
		Ligne N...

Sprite N2	Ligne N1	en True Color:
					1 word par pixel qui se suivent de facon lineaire
				ou en mode plan:
					plan N1 avec 1 word par serie de 16 pixels
					plan N2
					plan N3
					...
		Ligne N2	en True Color:
					1 word par pixel qui se suivent de facon lineaire
				ou en mode plan:
					plan N1 avec 1 word par serie de 16 pixels
					plan N2
					plan N3
					...
		Ligne N...
Sprite N...


Format des masques:
Masque N1	Plan N1
					ligne N1 avec 1 word par serie de 16 pixels
					ligne N2
					ligne N3
					...
		Plan N2 si besoin
					ligne N1
					ligne N2
					ligne N3
					...
		Plan N...

Masque N2	Plan N1
					ligne N1
					ligne N2
					ligne N3
					...
		Plan N2 si besoin
					ligne N1
					ligne N2
					ligne N3
					...
		Plan N...

Masque N...


Format des donnees associes aux sprites:
Numero du parametre en word
Parametre Nn	Sprite N1
		Sprite N2
		...
Numero du parametre en word
Parametre Nn	Sprite N1
		Sprite N2
		...


Format d'un ecran:
Ligne N1	Bloc N1 en word
		Bloc N2
		...
Ligne N2	Bloc N1
		Bloc N2
		...
Ligne N...


Format des donnees associes a chaque case du circuit:
Numero du parametre en word
Parametre Nn	Sprite N1
		Sprite N2
		...
Numero du parametre en word
Parametre Nn	Sprite N1
		Sprite N2
		...


Format des Bezier pour un trajet:
Numero du trajet en word
Nombre de Bezier pour le trajet en word
Bezier 1
	point A x en word
	point A y
	point B x
	point B y
	point C x
	point C y
Bezier 2
	...
Bezier ...
	...


Format d'une zone de controle:
Zone N1	Valeur X haut/gauche en word
		Valeur Y haut/gauche
		Valeur X bas/droite
		Valeur Y bas/droite
Zone N2	Valeur X haut/gauche
		Valeur Y haut/gauche
		Valeur X bas/droite
		Valeur Y bas/droite
Zone N...


Format des ponts:
Sens du pont
		0: horizontal sur un word
		1: vertical
Zone N1 entree/sortie pont
		Valeur X haut/gauche en pixels codee sur un word
		Valeur Y haut/gauche
		Valeur X bas/droite
		Valeur Y bas/droite
Zone N2 entree/sortie pont
		Valeur X haut/gauche en pixels codee sur un word
		Valeur Y haut/gauche
		Valeur X bas/droite
		Valeur Y bas/droite
Zone N1 reaffiche le pont
		Valeur X haut/gauche en pixels codee sur un word
		Valeur Y haut/gauche
		Valeur largeur du bloc en pixels codee sur un word
		Valeur hauteur du bloc
Zone N2 reaffiche le pont
		Valeur X haut/gauche en pixels codee sur un word
		Valeur Y haut/gauche
		Valeur largeur du bloc en pixels codee sur un word
		Valeur hauteur du bloc
Zone ne pas afficher la voiture
		Valeur X haut/gauche en pixels codee sur un word
		Valeur Y haut/gauche
		Valeur X bas/droite
		Valeur Y bas/droite
Information sur la map
		Valeur X haut/gauche en pixels codee sur un word
		Valeur Y haut/gauche
		Largeur de la map en bloc de 16 pixels codee sur un word
		Hauteur de la map en bloc de 16 pixels
		Donnees de la map
			Ligne N1	Bloc N1 en word
					Bloc N2
					...
			Ligne N2	Bloc N1
					Bloc N2
					...
			Ligne N...
