Page 1 of 29

Mac Binary Release

Posted: 09 Jan 2007, 14:33
by elio
Wiki: Spring_on_MacOSX (most updated info here, including latest)

latest: ... 843#169843

Old text.

Hello, thought I should start a new topic to put forth the state of the ppc mac build I'm working on, and some questions.

First, twould be interesting in knowing actually how much interest there is for such a build; having only my G5 to work and test with that's not older than 8 years, i'm neither sure about support for g4s (only minor tweaks if anything and can't effectively work on an intel build due to zilch experience with the architecture. But solely in respect of a Mac OS G5 build, do people want it?

Regards to the above, keep in mind about this build
  • Network sync between any other architectures +OSes (needs a fair bit of work by the looks of the current code, intel mac wont/shouldn't)
  • Lua has a few problems, where there's some compatibility differences between Versions 5.0 and 5.1, but the improved mac support far outweighs its use.
  • Needing to directly edit the prefs file with a general app for settings(not to hard to add in app prefs)
  • Haven't added much of my mac gui interface with the spring engine to the build yet as there's this annoying crash I'm still to pin down with the cocoa.
  • Code's bloated (with my debug code support (easily stripped; not sure what dependancies yet to strip out of the dependant libs yet, because I haven't bothered)
  • No intel mac support (I'd need a cheap macIntel box to work with, and moving across country within 2 months, I don't have a penny to spare)
  • None of the other tools, bar the dedicated server, and AFLobby (Haven't tried much though)
  • Till MacOS 10.5 at least, apple isn't supporting the Shadow openGL extention; only intel MacPros have a test build included. 10.5 is confirmed to have it though.
  • Need to download the linux data tar, and change pref file to link there, will fix that soon, and make everything in the one drag and drop/pkg installer bundle, linking with AFLobby lauchfiles, add drag and drop onto the icon launch script files etc (drag and drop add maps, mods?)
Pretty much the rest works. It's a portable binary of Spring, with all dependancies, that keeps on par with the CVS (any updates straight in and rebuilt that are not platform specific), so It can be released in sync with the rest of spring.

Some questions for the Spring developers;
  • Would you like a mac binary released?
  • In a general sense, the C itself is rather inefficiently written at times, with lots of badly ordered functions; this isn't just ppc mac things, but for compiled C in general. Understandably Lots of things are written for ease to get a result, rather than get the result efficiently. When I get this mac build to a point, I can help fix these things; Running a profiler though my build of spring, I find Spring is using *at least* 4 times as much memory bandwidth as needed, and there's a lot of 1 and 2 stalled cycles waiting for results to continue. This isn't targeting anyone, but to say Spring has *a lot* of potential on current hardware, and ask is there's plans to tap into this?
  • Some other stuff that I've forgotten...
  • Finally, are you interested in supporting in you future development and design plans, the mac platform?


Edit: AI works; recompile the dll/so file, all fine. [/list]

Re: Mac Binary Release & other Questions for Devs

Posted: 09 Jan 2007, 19:43
by Peet
elio wrote:First, twould be interesting in actually how much interest there is for such a build

I probly wouldn't play it much on the mac, but it'd be a fun gimmick and such...

Posted: 09 Jan 2007, 20:05
by LOrDo
Go ahead and port it to mac. I highly doubt itl get much popularity, but its your time, and it cant hurt.

Posted: 09 Jan 2007, 23:37
by AF
AFLobby aims to incorporate a lot of the tools into it.

Currently planned are:

game config settings
selection keys
Spring SP style skirmish

and some other things I cant remember.

Posted: 09 Jan 2007, 23:40
by jcnossen
game config settings
What if developers want to add new options?
IMO, focus on your core business :P

Posted: 10 Jan 2007, 06:11
by elio
jcnossen wrote:
game config settings
What if developers want to add new options?
I think he's welcome to add what he wants to; he can leave a field to add "other" settings where you fill in both the setting name and value.

Posted: 10 Jan 2007, 17:53
by lafaucheuse

It's a very good idea to port Spring TA on Mac OS X.

Total Annihilation is a mythic game !!

If anybody ;) want some help to port this game on OS X ppc and Intel....


Posted: 10 Jan 2007, 23:08
by hrmph
It is a great idea. Lots of people use macs. Every o.s. can benefit from a great open source RTS engine.

Posted: 11 Jan 2007, 14:26
by Aurelio
Yes go on! It would be great to finally get this game on a Mac. I'm sure that many friends of mine would be interested too.

Posted: 12 Jan 2007, 02:25
by AF
What if developers want to add new options?
I think you should go finish xmlsettings.exe

Posted: 12 Jan 2007, 03:14
by jcnossen
I dont have the win32 api experience, that thing crashes for really weird reasons. Maybe you should rewrite it in java? ;)

Posted: 12 Jan 2007, 09:57
by elio
New things:
Drag and drop dmg installer with self contained single .app bundle, including all data, binary, resources etc within.
Install to within bundle, or AppSupport (both much like mac games like ut2kx, as an example)
Double click/drag onto app auto install of sd7 mods/maps
AI seem to work fine, much like Linux build, the dlls have to be recompiled.
There's a G4 build with about 10-20% proformance hit on G5 but allows network sync between the two, G5 build works fine together.
Semi-working Keybinder/Settings available on hold down of command on start up or from prefs menu item (requires restart of spring, and a few other quirks to still iron out)
Buggy G5 to G5 auto server with the spring://[server[:port]]/ that auto downloads start scripts for clients (sequentially given out) Not sure if to actually get it working properly.

Posted: 12 Jan 2007, 11:54
by Tobi
If you fix stuff, could you submit patches so the fixes don't get lost?

Posted: 12 Jan 2007, 15:43
by AF
Maybe I should do that but I lack the necesary experience with xml parser (they have so far eluded attempts to fidn a nice and simple explanation that isnt chock full of horrible grammer and terminology).

Posted: 12 Jan 2007, 15:54
by elio
How's this for a set of options to get you started; The defaults of what Spring requests without extra options; at least here for a fresh build.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
	<string>0.26 0.96 0.41 0.205</string>
	<string>XTA v8.1</string>
	<string>2 2 200 200</string>
	<string>0.0 0.0 0.41 0.1</string>

Posted: 15 Jan 2007, 12:44
by elio
Back and relised I buggered up some build setting that's causing it to crash on launch... will fix it when I have a moment these next few days (busy rl :/) and upload. Not to keep peoples who are desperate waiting, have a build from a few days ago packaged up that doesn't have the latest clean ups etc, but just so you can have something. Needs maps + mods added, to save on uploading for ages. Double click on the sdz/sd7 files and it should install. use the srts extention on start scripts and it should launch them fine; G5-G5 network play exists. Can't remember what the state the ai's are in.

To change settings edit the de.berlios.taspring-linux.SpringRTS.plist file in ~/Library/Preferences (use Property List or whatever).

Complain if there are any major problems, and I'll get back as soon as I can. Will have a proper installer with basic maps and GPL mod and post it on MacGameFiles + here.

[doesn't like dmg extentions....]

Finally, Enjoy :-)

Posted: 15 Jan 2007, 18:31
by lafaucheuse
Hlo elio ;)

I can't find the file on fileuniverse :( the download link is dead.


Posted: 16 Jan 2007, 00:34
by elio
hmm... There does seem some problem there and I don't know what...

edit: ... direct link seems to work.

Posted: 16 Jan 2007, 09:53
by lafaucheuse
Thk a lot ;)

Very nice job elio.

Posted: 16 Jan 2007, 12:11
by Aurelio

Code: Select all

Library not loaded: /usr/local/lib/libIL.1.dylib
Why there is this 1? I have a libIL.dylib├óÔé¼┬ª Sorry for n00bish question├óÔé¼┬ª