Ca:xmoto.bin
Aquest arxiu, en windows el trobaràs en el directori d'instal·lació i en alguns altres llocs a l'atzar en altres sistemes, te la major part de les dades compilades del X-Moto. Això es, els nivells interns, les textures, sons, i demès. Es un format molt simple, sense compressió, perquè la majoria dels arxius que conte ja estan comprimits.
Un podria dir que seria millor que tots aquests arxius estiguessin accessibles com a simples arxius reals, però per raons històriques així es com esta ara; possiblement canviara en el futur.
Fixa't que l'xmoto.bin inclou arxius que no depenen de l'arquitectura.
Contents
Paquet xmoto.bin
Desempaquetar
Des de l'X-Moto 0.2.3, pots desempaquetar l'xmoto.bin.
xmoto-edit -unpack BINFILE TARGETDIR [no_lst]
On BINFILE es la ruta cap l'xmoto.bin i TARGETDIR es la ruta on es desempaquetaran els arxius. Si no_lst esta especificat, no es generara l'arxiu package.lst, d'altre banda, si no ho esta, l'arxiu es generarà en el mateix directori que BINFILE.
Empaquetar
Per crear l'xmoto.bin, has de tenir tots els arxius necessàris per posar al paquet i l'arxiu anomenat ./package.lst (que es una llista dels arxius a afegir al xmoto.bin). La manera mes fàcil d'aconseguir tots els arxius es des de el CVS. Aquests arxius es troben al directori bin del cvs. Per crear l'xmoto.bin, només entra en el directori bin i arrenca el següent comandament :
xmoto-edit -pack
Fixa't que realment no necessites executar aquest comandament, perquè quan compiles l'X-Moto utilitzant make, una regla crea de nou l'xmoto.bin si hi han hagut canvis en package.lst.
Actualitza un arxiu de l'xmoto.bin
L'X-Moto esta instal·lat en el teu ordinador. Tot i així, vols actualitzar el teu xmoto.bin, però no tens els permisos necessàris per escriure-hi. Cap problema. Quan X-Moto busca un arxiu, primer mira en ~/.xmoto; així dons, si vols reemplaçar l'arxiu Sounds/bike.wav inclòs en l'xmoto.bin, simplement posa'l sota, ~/.xmoto/Sounds/bike.wav
Format
4 bytes: XBI1 (FILEID) # indica el format de l'arxiu
Lo següent es una entrada per a cada arxiu contingut en el paquet:
1 byte (NAME_LEN) # longitud de l'arxiu NAME_LEN bytes (FILENAME) # nom de l'arxiu, per exemple Sounds/Strawberry.ogg 4 bytes (FILESIZE) # tamany de l'arxiu, un little-endian integer FILESIZE bytes (DATA) # data exacte de l'arxiu
Fixa't que els nomes dels arxius no porten \0 al final. També cal remarcar que no hi ha informació sobre quants arxius hi ha, així que simplement llegeix fins trobar l'EOF (Final De l'Arxiu).