All english written articles have English article tag and lays under horizontal line. First part is written in Czech.

sobota 14. ledna 2012

XNB soubor a základní informace / XNB file basic information

Před časem (rozuměj včera) jsem dostal najednou neodkladnou potřebu pro editor na ŽvB 2 vědět jak dostat informaci z XNB souboru co je zač. Zda-li je v něm uložena textura, nebo model a podobně. Naštěstí je dostupná jakási dokumentace formátu tohoto souboru ZDE všechno se zdálo být docela snadné pěkně jsem si plánoval jak soubor načtu, podívám se pro co je (windows, mobil, xbox) pro jaký je určen profil (HiDef, Reach) a potom konečně to po čem jsem nejvíc toužil, co je vůbec zač. Ale ejhle. Nemělo to být tak snadné a taky že nebylo (doteďka jsem na zjištění této informace krátkej). Cože to že jsem selhal? Může za to něco co se jmenuje ,,Xbox XMemCompress API". O této skoro až mystické věci se nikde nic nedozvíte. Naštěstí takto nejsou ošetřeny soubory vždy. Pouze v realise modu. Takže skoro vždycky jsem schopnej dostat základní informace. To pro začátek snad i stačí. Kompletní kod jde stáhnout TU.Jedná se jen o třídu co si sama informace ze souboru vycucne a potom je má v sobě uložený. Jak se to dá snadno použít je ukázáno v tom pragramu. Snad to pro někoho bude užitečný.



Tomorrow I was working little bit on my game editor for ŽvB 2. And I want to get some information about XNB files before loading them. Fortunatelly there is file format specification and it can be downloaded from HERE. With this I am able to get target platform (Windows, Mobile, XBox), profile (HiDef, Reach), version and if file is compressed od not. Main information I am seek for is type of the sousce file. If it si texture or model or something else. Unfortunatelly this information is in most situations compressed by some mysterious alogithm called ,,Xbox XMemCompress API". About this anything can't be found on the Internet. So I have written helper class that reads these basic information. It can be downloaded from HERE. I hope that can be usefull.

Žádné komentáře:

Okomentovat