Re: [AD] 5.0.0 final release plan

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


On 03.01.2011 12:06, Matthew Leverton wrote:
BUNDLED_DATA =>  read-only, internal data ... detected at runtime
depending on platform
APP_DATA =>  read-only, external data ... constant location depending on platform

Your program would pick one of the two, depending on how you the
programmer decide to distribute your game. Most would probably stick
with BUNDLED_DATA. This is what the demos would use.

On Windows, I'd probably put all readonly data in a subfolder below the installation folder. Unless it's downloaded by the game or something, in which case I'd need a writable folder. And then it gets messy, because C:\ProgramData isn't writable by default. I see the use case for BUNDLED_DATA (the OS X thing), but I'm not sure about APP_DATA. Actually using ProgramData is a bit more involved, so maybe Allegro shouldn't encourage users to try.


If you wanted, you could check both places. But Allegro would not do
that automatically.

Then you would have:

USER_DATA =>  writable, external data for one user
SHARED_DATA =>  writable, external data for all users

I think SHARED_DATA has the same problem that APP_DATA has. There's no easy way on Windows to do this (it's still the ProgramData folder).

[windows]
BUNDLED_DATA =>  c:\path\to\exe\

APP_DATA =>  c:\programdata\prog.name\ (Vista) or c:\Documents and
Settings\All Users\Application Data\prog.name (XP)
USER_DATA =>  c:\users\username\prog.name\
SHARED_DATA =>  c:\users\public\prog.name\

APP_SETTINGS =>  c:\programdata\prog.name\ (Vista) or c:\Documents and
Settings\All Users\Application Data\prog.name (XP)
USER_SETTINGS =>  c:\users\username\prog.name\
SHARED_SETTINGS =>  c:\users\public\prog.name\

I would suggest that USER_DATA and USER_SETTINGS both be %appdata% (c:\users\username\appdata\roaming\prog.name\). And APP_SETTINGS has the same problems as APP_DATA and SHARED_DATA. SHARED_SETTINGS should probably be ProgramData, since Users\Public is for documents that the user might want to open (music, videos), not stuff he probably wouldn't understand what is. But again, ProgramData is more painful to use.

To sum up: Keep BUNDLED_DATA, USER_SETTINGS and USER_DATA, dump the rest. USER_SETTINGS and USER_DATA would have the same value on Windows. Or maybe this is too limited? What I'm getting at is really that, in my opinion, Allegro should limit itself to making available only paths that are both commonly needed for games, and have a straight forward implementation on all platforms.




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