Open main menu

Difference between revisions of "OpenTasks"

1,293 bytes added ,  23:11, 4 March 2007
m (→‎Many tasks with AGI engine: -- fix df's nick)
Line 26: Line 26:
Besides this, optimizing code for speed and memory usage benefits all our targets, and in particular these "small devices". Hence doing this is a worthy goal on its own.
Besides this, optimizing code for speed and memory usage benefits all our targets, and in particular these "small devices". Hence doing this is a worthy goal on its own.


== Revise FilesystemNode system ==
== Enhance FilesystemNode system ==
''Technical Contact'': [[User:Fingolfin|Max Horn]]
''Technical Contact'': [[User:Fingolfin|Max Horn]]


<font color="magenta">TODO</font>
ScummVM run on a great variety of platforms, ranging from full-blown personal computers running Windows, Linux,  Mac OS X, etc.,  to game consoles, smart phones and PDAs (sorry, no support for toasters yet :).


Revise / improve the whole FilesystemNode system -- possibly by 
To achieve that, we have to provide abstract APIs for many things, like audio and graphics, user input, and general I/O. One particular area that needs to be covered are filesystems -- great differences exist with regards to this between the platforms we support. In fact, some of them don't even have such a thing as a filesystem.
taking inspiration from other projects with similar code (e.g.
 
boost), but always keeping both high portability and the needs of our 
Still, we need to access files: We have to find and load the game data, GUI themes, savestates, config files and more (and also have to store savestates, obviously). To compensate for the differences between our target systems, we introduced the FilesystemNode API.  
engines in mind.
 
In its present state, it fulfills our absolute minimal requirements. However, the abstraction level it provides is flawed and likely should be overhauled / redesigned. Also, not all parts of ScummVM strictly use this API; there are still many parts of ScummVM which try to work with "paths" to access file data.
 
To work on this, you should be familiar with at least Windows and Unix, ideally more, and be willing to learn about the differences between file systems on many different platforms (our team will be happy to help you with this). You will have to design a revised FilesystemNode API, and implement it, based on the needs of ScummVM engines and infrastructure code (requiring close communication with the rest of the team).


== GUI ==
== GUI ==
1,079

edits