Code Vonc

Powerslide : Format TEX

CommentairesComments

Décryptage de la structure du format TEX du jeu Powerslide.


Déplacer les fichiers *.tex ici.









    FR

    // Powerslide
    // Structure du format TEX
    
    // Petit-boutiste
    // Ens16 = Entier non signé 16 bits
    // Es8 = Entier signé 8 bits
    // Chn = Chaîne de caractères
    // Bool8 = Drapeaux, flags, 8 valeurs booléennes codées chacune sur 1 bit
    
    
    // En-tête
    
    Octets		(8)		?
    Ens32		(4)		Niveau de Mipmap
    Ens32		(4)		? (souvent nul)
    Ens32		(4)		? (souvent 1)
    
    Ens32		(4)		Largeur
    Ens32		(4)		Hauteur
    	// Nombre de pixels = Largeur * Hauteur
    	
    Ens32		(4)		Profondeur
    
    
    // Pixels
    
    	// Si Profondeur == 16
    		// Pour chaque pixel
    		Ens16		(2)		RVB
    			// 5 bits	R = (RVB >> 11)			* 255. / 31.
    			// 6 bits	V = ((RVB & 0x7E0) >> 5)	* 255. / 63.
    			// 5 bits	B = (RVB & 0x1F)		* 255. / 31.
    	
    	// Si Profondeur == 32
    		// Pour chaque pixel
    		Ens8		(1)		B
    		Ens8		(1)		V
    		Ens8		(1)		R
    		Ens8		(1)		A


    EN

    // Powerslide
    // TEX structure format
    
    // Little-endian
    // Uint16 = Unsigned integer 16 bits
    // Int8 = Integer 8 bits
    // Str = String
    // Bool8 = Flags, 8 booleans each on 1 bit
    
    
    // Header
    
    Bytes		(8)		?
    Uint32		(4)		Mipmap level
    Uint32		(4)		? (often null)
    Uint32		(4)		? (often 1)
    
    Uint32		(4)		Width
    Uint32		(4)		Height
    	// Pixels count = Width * Height
    	
    Uint32		(4)		Depth
    
    
    // Pixels
    
    	// If Depth == 16
    		// For each pixel
    		Uint16		(2)		RGB
    			// 5 bits	R = (RGB >> 11)			* 255. / 31.
    			// 6 bits	G = ((RGB & 0x7E0) >> 5)	* 255. / 63.
    			// 5 bits	B = (RGB & 0x1F)		* 255. / 31.
    	
    	// If Depth == 32
    		// For each pixel
    		Uint8		(1)		B
    		Uint8		(1)		G
    		Uint8		(1)		R
    		Uint8		(1)		A