Mac Binary Release

Mac Binary Release

Discuss everything related to compiling and running Spring on Mac OS X.

Moderator: Moderators

Post Reply
User avatar
elio
Posts: 133
Joined: 29 Dec 2006, 06:44

Mac Binary Release

Post by elio »

Wiki: Spring_on_MacOSX (most updated info here, including latest)

latest: http://spring.clan-sy.com/phpbb/viewtop ... 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?

Regards,
Eilo

Edit: AI works; recompile the dll/so file, all fine. [/list]
Last edited by elio on 27 Feb 2007, 04:05, edited 12 times in total.
User avatar
Peet
Malcontent
Posts: 4383
Joined: 27 Feb 2006, 22:04

Re: Mac Binary Release & other Questions for Devs

Post by Peet »

elio wrote:First, twould be interesting in actually how much interest there is for such a build
<3

I probly wouldn't play it much on the mac, but it'd be a fun gimmick and such...
User avatar
LOrDo
Posts: 1154
Joined: 27 Feb 2006, 00:21

Post by LOrDo »

Go ahead and port it to mac. I highly doubt itl get much popularity, but its your time, and it cant hurt.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post 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.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

game config settings
What if developers want to add new options?
IMO, focus on your core business :P
User avatar
elio
Posts: 133
Joined: 29 Dec 2006, 06:44

Post 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.
lafaucheuse
Posts: 3
Joined: 10 Jan 2007, 17:48

Post by lafaucheuse »

Hello,

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....

Bye,
User avatar
hrmph
Posts: 1054
Joined: 12 May 2005, 20:08

Post by hrmph »

It is a great idea. Lots of people use macs. Every o.s. can benefit from a great open source RTS engine.
Aurelio
Posts: 24
Joined: 08 Jan 2007, 16:14

Post 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.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

What if developers want to add new options?
I think you should go finish xmlsettings.exe
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

I dont have the win32 api experience, that thing crashes for really weird reasons. Maybe you should rewrite it in java? ;)
User avatar
elio
Posts: 133
Joined: 29 Dec 2006, 06:44

Post 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.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

If you fix stuff, could you submit patches so the fixes don't get lost?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post 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).
User avatar
elio
Posts: 133
Joined: 29 Dec 2006, 06:44

Post 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"?>
<!DOCTYPE plist PUBLIC>
<plist version="1.0">
<dict>
	<key>3DTrees</key>
	<integer>1</integer>
	<key>AdvSky</key>
	<integer>1</integer>
	<key>AdvUnitShading</key>
	<integer>1</integer>
	<key>ApplicationCrashedAfterRelaunch</key>
	<integer>0</integer>
	<key>BuildIconsFirst</key>
	<integer>0</integer>
	<key>CamMode</key>
	<integer>1</integer>
	<key>CamTimeExponent</key>
	<string>4.0</string>
	<key>CamTimeFactor</key>
	<string>1.0</string>
	<key>ColorElev</key>
	<integer>1</integer>
	<key>DepthBufferBits</key>
	<integer>32</integer>
	<key>DoubleClickTime</key>
	<integer>200</integer>
	<key>DualScreenMode</key>
	<integer>1</integer>
	<key>FPSEnabled</key>
	<integer>1</integer>
	<key>FPSMouseScale</key>
	<string>0.003</string>
	<key>FPSScrollSpeed</key>
	<integer>10</integer>
	<key>FSAA</key>
	<integer>8</integer>
	<key>FixAltTab</key>
	<integer>0</integer>
	<key>FontCharFirst</key>
	<integer>32</integer>
	<key>FontCharLast</key>
	<integer>223</integer>
	<key>FontFile</key>
	<string>Aqua.ttf</string>
	<key>FontSize</key>
	<integer>40</integer>
	<key>Fullscreen</key>
	<integer>0</integer>
	<key>GrassDetail</key>
	<integer>3</integer>
	<key>GroundDecals</key>
	<integer>1</integer>
	<key>GroundDetail</key>
	<integer>80</integer>
	<key>HighResLos</key>
	<integer>1</integer>
	<key>InfoConsoleGeometry</key>
	<string>0.26 0.96 0.41 0.205</string>
	<key>InfoMessageTime</key>
	<integer>400</integer>
	<key>InvertMouse</key>
	<integer>0</integer>
	<key>InvertQueueKey</key>
	<integer>0</integer>
	<key>LastListChoice0</key>
	<string>default</string>
	<key>LastListChoice1</key>
	<string>Commanders</string>
	<key>LastListChoice2</key>
	<string>Mars.smf</string>
	<key>LastListChoice3</key>
	<string>XTA v8.1</string>
	<key>LuaUI</key>
	<integer>1</integer>
	<key>MapArchives</key>
	<integer>1</integer>
	<key>MaxParticles</key>
	<integer>4000</integer>
	<key>MaxSounds</key>
	<integer>32</integer>
	<key>MetalMapPalette</key>
	<integer>0</integer>
	<key>MiniMapButtonSize</key>
	<integer>16</integer>
	<key>MiniMapCursorScale</key>
	<string>-0.5</string>
	<key>MiniMapDrawCommands</key>
	<integer>1</integer>
	<key>MiniMapFullProxy</key>
	<integer>1</integer>
	<key>MiniMapGeometry</key>
	<string>2 2 200 200</string>
	<key>MiniMapIcons</key>
	<integer>1</integer>
	<key>MiniMapMarker</key>
	<integer>1</integer>
	<key>MiniMapUnitExp</key>
	<string>0.25</string>
	<key>MiniMapUnitSize</key>
	<string>2.5</string>
	<key>OverheadEnabled</key>
	<integer>1</integer>
	<key>OverheadScrollSpeed</key>
	<integer>10</integer>
	<key>OverheadTiltSpeed</key>
	<string>1</string>
	<key>ReflectiveWater</key>
	<integer>1</integer>
	<key>RotOverheadEnabled</key>
	<integer>1</integer>
	<key>RotOverheadMouseScale</key>
	<string>0.003</string>
	<key>RotOverheadScrollSpeed</key>
	<integer>10</integer>
	<key>ScrollWheelSpeed</key>
	<integer>25</integer>
	<key>ShadowMapSize</key>
	<integer>2048</integer>
	<key>Shadows</key>
	<integer>0</integer>
	<key>ShowClock</key>
	<integer>1</integer>
	<key>ShowPlayerInfo</key>
	<integer>2</integer>
	<key>SimpleMiniMapColors</key>
	<integer>0</integer>
	<key>SmoothLines</key>
	<integer>1</integer>
	<key>SmoothPoints</key>
	<integer>1</integer>
	<key>SoundVolume</key>
	<integer>84</integer>
	<key>SpringData</key>
	<string>$DATA_FOLDER</string>
	<key>StdoutDebug</key>
	<integer>1</integer>
	<key>StencilBufferBits</key>
	<integer>1</integer>
	<key>TWEnabled</key>
	<integer>1</integer>
	<key>TWScrollSpeed</key>
	<integer>10</integer>
	<key>TeamNanoSpray</key>
	<integer>0</integer>
	<key>TooltipGeometry</key>
	<string>0.0 0.0 0.41 0.1</string>
	<key>TooltipOutlineFont</key>
	<integer>0</integer>
	<key>TreeRadius</key>
	<integer>1408</integer>
	<key>UnitIconDist</key>
	<integer>200</integer>
	<key>UnitLodDist</key>
	<integer>200</integer>
	<key>UnitReplySoundVolume</key>
	<integer>80</integer>
	<key>VSync</key>
	<integer>-1</integer>
	<key>VerboseLevel</key>
	<integer>10</integer>
	<key>WindowedEdgeMove</key>
	<integer>1</integer>
	<key>XResolution</key>
	<integer>2000</integer>
	<key>YResolution</key>
	<integer>1000</integer>
	<key>name</key>
	<string>$USER</string>
</dict>
</plist>
User avatar
elio
Posts: 133
Joined: 29 Dec 2006, 06:44

Post 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 Editor.app 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.

Link: http://fileuniverse.com/?p=show&a=it&id=4171
[doesn't like dmg extentions....]

Finally, Enjoy :-)
lafaucheuse
Posts: 3
Joined: 10 Jan 2007, 17:48

Post by lafaucheuse »

Hlo elio ;)

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

Thnk
User avatar
elio
Posts: 133
Joined: 29 Dec 2006, 06:44

Post by elio »

hmm... There does seem some problem there and I don't know what...

edit: http://www.fileuniverse.com/spring/spri ... 9b.dmg.zip direct link seems to work.
Last edited by elio on 16 Jan 2007, 10:39, edited 1 time in total.
lafaucheuse
Posts: 3
Joined: 10 Jan 2007, 17:48

Post by lafaucheuse »

Thk a lot ;)

Very nice job elio.
Aurelio
Posts: 24
Joined: 08 Jan 2007, 16:14

Post 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├óÔé¼┬ª
Post Reply

Return to “Mac OS X”