trick
Level: Legendary Smitemaster
Rank Points: 2580
Registered: 04-12-2003
IP: Logged
|
Re: Mac Demo Versions Don't Realise The Full Version's Installed (+1)
I'm guessing this is caused by the fact that the demo and full version executables are identical, so the executable has to find other means to find out whether or not it's the demo version. In Linux, the executable can be separated from the data and resource files as well, and the location of those depends on whether or not you're running the demo version, so you can't check them to find out. Both the Linux and Mac versions (and FreeBSD, etc) solves this in two ways: First, if the executable is run with a 'demo' argument, we enable demo mode, and also if the name of the executable itself contains the string 'demo' anywhere in it. The Linux version is usually run though a wrapper script that sets up the environment to find libraries and such anyway, so the demo version of that passes the demo argument, and the demo executables have a '-demo' suffix too just in case (Someone could "work around" this in Linux too by renaming the executable and not passing the demo arg, but this obviously wouldn't magically give them the full version, it'd just similarly mess things up if they decide to buy the real full version sometime in the future).
So, I can see a couple ways to fix this for Macs: Easiest, if possible, is to just rename the executable (inside the app?) or run it through a script that passes the arg, but I'm fairly sure I've mentioned this before so I'm not sure if the Mac version already does this, in which case it doesn't seem to work. It could also find its resources (ie read-only data) and examine those somehow to figure out if it's demo data or not, which should be more straightforward on a Mac since everything's in the app bundle anyway (iiuc, though don't take my word for it perhaps since what I don't know about macs could fill huge libraries). Another option is to simply do two separate builds of the executable: One for the demo version, and one for the full version.
|