Re: [AD] 5.0.0 final release plan |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
On January 3, 2011, Matthew Leverton wrote:
> On Mon, Jan 3, 2011 at 4:13 AM, Thomas Fjellstrom
>
> <tfjellstrom@xxxxxxxxxx> wrote:
> > Except IMO, SYSTEM_DATA should be ro, so I think that might want to
> > change to what PROGRAM_PATH is now, and APP_DATA becomes what what
> > SYSTEM_DATA was changed to be (some shared user folder). Or call it
> > SHARED_DATA/SHARED_USER_DATA.
>
> So, how about:
>
> 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.
>
> 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
>
> There would be a _SETTINGS folder for all the above, with the
> exception of BUNDLED, as it makes no sense. So there would be
> APP_SETTINGS, USER_SETTINGS, SHARED_SETTINGS.
>
> The suggested locations are only approximate... Should be obvious what
> I really mean:
>
> [linux and OSX]
> BUNDLED_DATA => /path/to/exe OR /path/to/osx/bundle/resource/
>
> APP_DATA => /usr/share/app.name/
> USER_DATA => /home/username/.app.name/
> SHARED_DATA => /usr/share/app.name/.shared/
>
> APP_SETTINGS => /etc/app.name/
> USER_SETTINGS => /home/username/etc/.app.name/
> SHARED_SETTINGS => /etc/app.name/.shared/
>
> I don't know where the appropriate SHARED data should go, so I made up
> a hidden .shared folder. It would have to be world writable.
Ignoring for the moment that those directories aren't quite right (close
enough), the shared bits on linux are a bit problematic. Some installer would
have to put them there, I guess the package manager if thats how the game was
installed. Normally a user wouldn't have permissions to make such a shared
folder. It has to be someone with root/super-user permissions.
That and I don't know of a standard shared, rw location, other than $TEMP.
> [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\
>
> In Windows, data/settings are the same thing. (Traditionally, people
> liked to put settings in the registry.)
>
> Am I missing anything?
>
> --
> Matthew Leverton
>
> ---------------------------------------------------------------------------
> --- Learn how Oracle Real Application Clusters (RAC) One Node allows
> customers to consolidate database storage, standardize their database
> environment, and, should the need arise, upgrade to a full multi-node
> Oracle RAC database without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
--
Thomas Fjellstrom
tfjellstrom@xxxxxxxxxx