2009/3/19 Neil White :
sorry i’m going off on my get everything possible into the binary trip
You’re just making it harder for users to customize and debug your product.
Not necesarily. On Windows and Mac OS (X) you can count on that several
are installed by default on the system. On Linux you cannot.
“Linux” is not an operating system franchise, it’s a kernel, just one
part of a system. You might as well have said “On Intel CPUs you
cannot depend on which fonts you will have access to.”
When you ship your
app with some fonts, you have a backup possibility. You can let the user
choose the fonts, but at least have a backup.
I don’t think anyone was suggesting that you shouldn’t include fonts
with your application!
2009/3/20 Neil White :
it would save the bother of having dat files lying around the
I’m not sure what you mean by “lying around the place,” as most
software knows exactly where its data files are, and your package
manager / makefile / installer script know exactly where to install
and uninstall its files.
and i dont want users to be able to change the font or mess up the
gfx, messed up gfx in my case means messed up engine.
How considerate of you. Have you ever heard of FOSS (free open source
software) before? It’s this totally awesome idea that you can use your
software however you feel like it, and no one has the right to stop
you. You should check it out.
as for treating users like dummies, well, id say most are anyway, including
I guess that depends on what kind of people like your software.
and id say forcing users to use installers all the time is more
treating them like dummies (hides)
I use SDL for developing on the PlayStation Portable (Sabacc Basics).
There are exceptions to every rule. I wouldn’t dream to equate a
typical personal computer with a PSP.
platform is not so great on feedback depending on which firmware a given app
is built for. Until I started compiling for newer kernels, output to
stdout/stderr was not redirected properly by SDL or any other form, so there
was no way to get feedback on missing files or other errors.
It sounds like you only need to build in enough resources to
facilitate error feedback. For all my ranting against building your
resources into your binaries, I personally usually include a single
raster font (and an interactive console, usually OGLCONSOLE or
SDL_console) with which I can report errors to the user. As I figure
things, most people don’t know how to run my applications from the
command line, and wouldn’t get see what comes out on regular stdout
and stderr. SDL on Windows used to redirect those to files, but that’s
kind of dangerous since stdout/stderr might output A LOT of data, and
then you’d have huge files and potentially use up all your user’s disk
space, which can be particularly bad on Windows systems which have
their virtual memory on the same partition as all their other files.
The solution was to build resources into the application. Sure, it has the
drawback you mention. However, if the application is small enough there is
no need to worry that the end user did not put the files where the
application expects them, because they’re built in. If the app crashes, I
know at least its unlikely due to a missing file, because all the user has
to do is copy one file.
It’s quite amazing to me how hard it can be for some people to find
files in the same directory as your application (or anywhere else you
choose to put them.) When I was particularly concerned with this
problem, I had my applications check multiple locations, beginning
with the current working directory, then of likely preset locations
like /usr/share/whatever, then trying to deduce the location of the
application binary from argv.
There are some situations where it’s appropriate to do what you do,
and I think PSP might be one of them. I don’t agree at all with Neil
White, however.On Thu, Mar 19, 2009 at 9:12 PM, Torsten Giebl wrote:
On Thu, Mar 19, 2009 at 10:54 AM, Donny Viszneki <@Donny_Viszneki> wrote:
On Fri, Mar 20, 2009 at 9:10 AM, Anthony T. wrote: