IFileSystem improvement

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
bitplane
Admin
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England
Contact:

Post by bitplane »

Ico wrote: But replace the bIsReadOnly flag on directories and use some kind of bitmask instead (readonly, writeonly, mixed) as there could be paths that are write only. Imageine some kind of smtp handler allowing you to submit bug reports. (path similar to mailto:)
Cool, sounds good.. So flags so far would be Readable and Writable. Perhaps also Directory, and have flags as members of files/folders and volumes?

I've been chatting to hybrid on IRC about this, we decided to ditch the "volume" or "folder" terminology and go with nested IFileSystems with the root possibly being a FileSystemManager.

@CuteAlien-

The idea is that a node (filesystem/volume/folder/dir whatever it is eventually called) decides whether two paths are equal, so your capitalization won't ever be changed. "Path" and "path" being unequal in windows is a bug, but correct behaviour in a unix filesystem or a zip file.
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
Zeuss
Posts: 114
Joined: Mon Nov 08, 2004 9:02 pm
Location: Canberra - Australia
Contact:

Post by Zeuss »

its a bit late here, and I am slightly tipsy, but a I have taken a look at this.

When I was writing my SQLite filesystem for irrlicht my main issue was the fact that I cant create my own custom filesystem/archive in the same way as a custom scene node. So anything that makes this possible makes me happy.

Talking to bitplane about this originally we got talking briefly about revising the system to something better which then brought about bringing in support for non standard filesystems like ftp/http etc.

Everything bitplane has discussed and got feedback so far looks good to me. Especially the nested filesystem idea that solves a lot of problems very easily. Such as something really obscure like:

ftp://my.mmo.org/resources/world5/conti ... lding5.obj

A nested filesystem would cope with ease.

@wetfire:
Irrlicht has all the core file systems covered and does not need network file io 'out of the box' but of course would be hugely welcomed. I'm sure bitplane can cover the additional features its not a huge challenge, just seems a bit tedious :P

On another note Irrlicht needs to get some kind of central addon's database created linked off the Irrlicht homepage much like SDL's libraries page: http://www.libsdl.org/libraries.php
Help make Irrlicht even Better! Create and submit your own Irrlicht Extension
Want a Games Education? Try The Academy of Interactive Entertainment
Yoran
Site Admin
Posts: 96
Joined: Fri Oct 07, 2005 8:55 am
Location: The Netherlands
Contact:

Post by Yoran »

Bitplane
The design is good, especially support for rar and SQlite.

I do have my doubts about bloating irrlicht with ramdisk/http/ftp
wetfire
Posts: 10
Joined: Wed Aug 30, 2006 12:10 pm
Location: Italy

Post by wetfire »

to Zeuss
I need to have a network file system, because I'm working on a irrlicht based firefox plugin, so It could be very useful. :D
Nothing is impossible!

My photolog
bitplane
Admin
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England
Contact:

Post by bitplane »

I didn't mean that I'd actually add these loaders, just that they could be supported if created by users and added to Irrlicht in the same way you'd add an external mesh loader. I don't think it's realistic to add SQLite or RAR archives into the core as they are rather large external dependencies, but they could be added using a single line of code and then used like paths, just like an FTP or HTTP root folder.
Adding an internal RAM disk might make sense though, as it would be a logical place to store memory files.
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
Post Reply