Forum Replies Created
The Universal apps was already there it was the link called “Universal app format” 🙂 but I have removed the other build on your request.
Oh, I think I see the problem. The executable application is the .zip file, not the .tar.bz2.
I noticed on the Browse All Files page that you had selected Any as the architecture for the application. Just so you know, there’s an architecture selection for Universal Binaries (PPC/i386).
I also noticed that the old files are still listed on the download page. Any chance of getting those links removed, or at least getting the link for the Universal build added?
It appears that you have a version of the Ogg framework installed that is PPC-only, and it is overriding the version included in the .app, for some reason.
Removing /Library/Frameworks/Ogg.framework should cause it to work. If not, try replacing it with the Ogg.framework that is inside the .app bundle (you’ll find it at Scorched3D.app/Contents/Frameworks/Ogg.framework; note that you’ll need to use “Show Package Contents” to look inside the bundle). Doing the latter might also cause your build to succeed.
Strange; it works for me. 145.7 MB is the correct size, and it is a Universal application. Does the application have the correct icon? Does Console.app have anything to say about why the application failed to start? When you run it from Terminal.app, is there any output?
I have uploaded all three files again…sort of.
Again, the first two uploads were successful, but the third one failed:
421 Service not available, remote server timed out. Connection closed
58775598 bytes sent in 46:58 (20.36 KB/s)
The strange thing is that the file is in fact 58775598 bytes long. It would seem that it did finish the transfer, but it somehow timed out anyway. Unfortunately I can’t download the file directly from that location to make sure it’s complete, but I suspect that it is.
Actually, the ZIP format is easier for Mac users these days than DMG, if it’s done correctly. Instead of downloading, double-clicking the DMG, dragging the .app wherever, unmounting the disk image, and then dragging the DMG to the trash, the user can download, double-click the ZIP, drag the .app wherever, and then drag the ZIP to the trash. As you can see, this saves the step of unmounting the disk image.
Users of Safari actually have it easier than that, because downloading automatically triggers the rest of those actions, except for dragging the .app wherever the user wants it. This applies to DMG when there is only one item in the DMG, but it applies to ZIP in all cases.
I’ve successfully uploaded Scorched3D-40.1d-osx.diff.bz2 and Scorched3D-40.1d-osx.tar.bz2, but my FTP program crashed while it was uploading Scorched3D-40.1d-osx.zip. As you probably know, users do not have permission to replace files already in the upload directory, so I’m not sure what can be done about that. Perhaps a support request?
I just realized…
Since the other Scorched3D binaries are already hosted on SourceForge, I may as well upload it directly to their FTP upload directory, to make things a lot easier. Any reason not to do that?
What would you like the file’s name to be? (It’s a ZIP file)
I could host a torrent, but I’d rather not, given a better option. I have not looked into getting the .app hosted on scorched3d.org, and I don’t have the time to do so right now. If you’d be willing to find out about that for me, I’d appreciate it.
It looks like you do not have SDL and SDL_net installed. You can find them at http://www.libsdl.org/.
If any of the items are in red in the project window, that means those files do not exist where they were expected to be found. This is correct behavior for Scorched3D.app before it is built, but there shouldn’t be anything else in red.
I suspect the command-line compilation of SDLnet is failing because it can’t find sdl-config, because Fink puts everything in /sw, and you probably don’t have /sw/bin in your $PATH. It’s possible that you can get it to work by telling it to look in /sw/bin, but I think the XCode route would be better.
First, you will need to obtain and install the following frameworks:
The project expects them to be in /Library/Frameworks.
You will also need the Scorched3D source distribution; I used version 40.1d. You can unpack it wherever you want; I used the Desktop. (I will refer to the scorched folder as $SRCROOT.)
Of course, you will also need to obtain and unpack the two files I provided.
1. Apply the patch to the source distribution using the patch command in the Terminal, like so:
patch -p1 < /path/to/Scorched3D-40.1d.osx.diff
It should apply cleanly without any problems.
2. Move the project files into the osx folder in the distribution. You should now have the following items in $SRCROOT/osx:
3. Open $SRCROOT/osx/Scorched3D.xcodeproj, make sure the active build configuration is set to Release (Project->Set Active Build Configuration->Release), and build it (Command-B), or build it and run it (Command-R). You will get a large number of warnings about unused variables, as well as some deprecation warnings; for now, these can be ignored.
4. You can find Scorched3D.app in $SRCROOT/osx/build/Release. Put it wherever you like, or run it from there.
If you encounter any problems with the process, please let me know.
I went to the site suggested and I downloaded and copied the sdl-net into my /library/framework/ folder, but it still will not find the sdl-net. Am I doing something wrong? Everything up to this point seems to work fine.
Yes. You are trying to use the GNU Autotools with frameworks. Configure scripts can’t detect installed frameworks, and the script for Scorched3D doesn’t allow someone to specify the location of all the required libraries that are set up as frameworks on Mac OS X.
The alternative that the Scorched3D developers recommend is to install Fink and install the required libraries through that. Obviously, that is a less-than-ideal solution, though it does work.
Recently, I created a Scorched3D project file for XCode, and have successfully used it to compile a standalone application bundle. You can find the XCode files, as well as the source code patch, earlier in this thread.
Success! … sort of…
Here’s the updated diff and the XCode project files.
I am able to build a Universal binary, but for some reason the launcher is not detecting the default “mod”, so I can’t start a normal game with it. I can, however, start a tutorial game, and I can probably start a game with the “apoc” mod, though I didn’t test that.
I am not sure how you would want me to provide the .app itself, since it goes well beyond the 2MB limit of this forum (it’s 56.1MB).
I should also mention that I got a very large number of warnings about unused variables, as well as a dozen or so deprecation warnings.
I also still need a proper icon.
The game you’re talking about is Blast Doors. I remember some fun times playing that game. I even tried to clone it for the Mac, for a high school programming class. I think the main reason I never finished it was that the only GUI toolkit I knew (other than Java AWT) was GLUT, and it is far too limiting for a game.
For the record, I am just as surprised as you that their website is still up.
Also for the record, Blast Doors used Direct3D.
I’m working on creating a Universal .app build, and I need some help…
Okay, here’s my quick and dirty extremely disgusting hack of a howto:
HOWTO compile a mac intel binary of scorch3d! I’m assuming you’re running 10.4.9 or later.
First off- download and install fink. You can probably do this with darwinports, but I use fink, so there. http://fink.sf.net/
Once you’ve got fink up and running, pull up a terminal and
fink install sdl sdl-net libogg libvorbis.
I have no intention of installing fink, as it will screw up my ability to build an application that can be run from a Mac without fink. I intend to use frameworks instead.
Now download and extract the scorched3d source code. Use the tar.gz version (it’s smaller). I put it on my desktop (~/Desktop/scorched/)
Okay, now it gets hacky. You need an alut header, but not the actual library (the symbols are still in the os x openal implementation- this will probably break at some point in the future). For the compile script to work, you need an openal-config. And finally, for it to compile cleanly, you need to change some paths (the default includes are AL/al.h, whereas on OS X those includes need to be OpenAL/al.h.)
I would like to be able to put alut.h (not OpenAL/alut.h) in the include paths; am I correct that it is only Scorched3D code that actually references that file?
Download this: http://www.plur.ca/osx/intel-mac-scorched.tgz
(I promise it’s not evil. it’s all plaintext anyway if you want to puruse.)
Extract it. There are three files- first, the alut header, second, an openal-config, and third, a patch to fix the al headers in the scorched source.
copy alut.h to /System/Library/Frameworks/OpenAL.framework/Headers/.
sudo cp alut.h /System/Library/Frameworks/OpenAL.framework/Headers/
copy openal-config to /usr/local/bin/
sudo cp openal-config /usr/local/bin/
copy mactel-scorched.patch to the directory where you extracted the source.
cp mactel-scorched.patch ~/Desktop/scorched/
In your terminal, cd into the directory where the source is.
Run this command:
patch -p1 <mactel-scorched.patch
you shouldn’t get any errors, it should patch cleanly.
It would appear that that patch does nothing but change AL to OpenAL everywhere it is referred to. I intend to make the change conditional.
Almost done. You need to a quick symlink before it will compile cleanly. Not sure why, but we’re kludging so badly that I’m not going to ask at this point. run this command:
sudo ln -s /usr/include/wx-2.5/wx/mac/carbon /usr/include/wx-2.5/wx/mac/classic
Is this symlink needed for configuration or compilation? What does it do when the symlink is not there?
Now to compile.
In the directory with the freshly-patched source, run:
env CFLAGS="-framework OpenAL" ./configure --with-ogg=/sw --with-vorbis=/sw --with-wx-config=/usr/bin/wx-config
I feel I should mention that the env part is optional.
should run without any (major) errors.
Then it’s fairly straightforward
env CFLAGS="-framework OpenAL" make
sudo make install
I intend to create an XCode project to build it. I plan to put all the Mac-specific files in their own directory, to keep them from polluting the source tree.
DONE! scorched is happily installed in /usr/local/games/scorched!
anyone: if you have any problems, post the error in this thread. I’ll subscribe to it.
I will need a copy of your configured source tree, or at least the parts of it that differ from the patched distribution, especially the Makefiles and any generated headers. I will also require an icon, preferably 128x128x32 PNG. If one would need to be created, I recommend following the Apple Icon Guidelines, available at http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIcons/chapter_14_section_1.html.