Update 13 ottobre 2012: vedere a fine articolo.
Basandomi sul lavoro di Edd, ho scritto un bridge per leggere i file degli archivi di Ogre con gli stream di C++.
Ciò comporta che potete riempire archivi zip, archivi deflate o anche un vostro formato proprietario e passarli direttamente a librerie compatibili con gli stream, quindi, per esempio TinyXML.
La classe si chiama OgreStream
, e come parametri vuole un Ogre::DataStreamPtr
, che viene ritornato da una classe di archivi e poi ci sarebbero come parametri opzionali la grandezza del buffer da leggere ogni volta e i caratteri da spostare. Comunque non c’è bisogno di personalizzarli.
Ho implementato anche i meccanismi di seeking.
Prima del 13 ottobre 2012 la funzione readsome non andava, perché è legata all’implementazione dello stream e al metodo showmanyc
, che ho implementato successivamente.
Troverete tutte le informazioni utili nel file.