Re: [AD] Plans for Allegro 4.9.5

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On Friday 12 September 2008, Thomas Fjellstrom wrote:
> On Friday 12 September 2008, Peter Wang wrote:
> > On 2008-09-13, Peter Wang <novalazy@xxxxxxxxxx> wrote:
> > > What can we aim for in, say, one month?  I would like to see:
> > >
> > > - fs hooks integrated
> > > - panning support in kcm_audio
> > > - move bitmap file type registration to core
> > > - usual assorted fixes
> > >
> > > The fs hooks branch is way out of date and the history is simply a
> > > mess.
>
> Yeah, sorry about that, I messed up a couple merges ::) I've since learned
> how to do it properly ;) and every time I work on it, I update it again.
>
> > > I think I'll just copy the latest versions of the fshook* files, get
> > > that to compile then go from there.
> >
> > I'm not sure I understand the fs hooks.  There are two vtables: the
> > system vtable, and the entry vtable.  The system vtable lets you
> > override stuff like checking if a file exists, opening a file, changing
> > the working directory, etc.  Fine.
> >
> > The entry vtable should let you override the reading and writing of the
> > contents of the "file".  But al_fs_set_hook only lets you override each
> > method once.  How would you write a program that is able to read off
> > disk *and* out of a memory block?
>
> I've since changed the code to add a vtable pointer to each AL_FS_ENTRY,
> and special file types like mem files will need a separate open function
> (so you can pass in the mem block) like al_fs_open_mem().
>
> > I have an idea, but it's not consistent with the entry vtable being
> > "totally internal".
>
> I did mention that I need to clean it up.
>
> Please wait for me to clean it all up before applying. What should be ready
> though is the al_get_dir stuff, except it needs to be changed to use
> stdio/win32/osxwhatever specific functions instead of al_fs_ functions.
>
> > Peter
>

Ok, I've been working on it a little tonight, and I wonder, should I rename 
the vtable stucts to be more like the other ALLEGRO_*_INTERFACE structs?

Also, if you're wondering why I haven't made it all part of the 
ALLEGRO_SYSTEM_INTERFACE stuff, its mainly because the fshooks need to be setup 
before the system driver gets initialized, does allegro still load a system 
driver name from a config file? Also, its because all current systems support 
the same basic stdio support, making it simple to provide a basic default 
driver that more or less works on all three main platforms.

-- 
Thomas Fjellstrom
tfjellstrom@xxxxxxxxxx




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/