Mac OS 10.6 to use only Cocoa API, and drop Carbon?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
XCoder
Posts: 1
Joined: Thu Jun 05, 2008 12:33 am

Mac OS 10.6 to use only Cocoa API, and drop Carbon?

Post by XCoder »

From the article Arstechnica:

"Apple may eventually wrap everything in Cocoa—things that are currently only Carbon accessible will be no longer. This (which is reportedly not yet in stone) should make many Objective-C programmers happy, although those who are married to Carbon may get a bit bristly at the news. (Note: There may be some disagreement here as to what exactly "Cocoa-only" means, so take that into account when thinking about this. For example, Apple may only axe Carbon UI stuff.) Of course, it seems like 10.6 is all about making graybeards bristly, as PowerPC users will soon be left out in the cold too."

Link

This will affect a lot of Carbon based apps including the Irrlicht port for Mac. If the engine is to be written using Cocoa, there will be a lot of hair-pulling learning the new language(for those who arn't familiar) and rewriting years of lines of game code from C++ to Obj-C. Not only that, it breaks the portability of the code from being multiplatform.
wyrmmage
Posts: 204
Joined: Sun Mar 16, 2008 3:12 am
Contact:

Post by wyrmmage »

Yes, Mac has been planning to phase out Carbon for a few years now (which is good, IMO...Carbon was always a rather odd language :\)

Just so you know, C++ and Objective-C code can be used together and even mixed (.m files), so people actually wont have to learn Objective-C to use the Irrlicht Engine when it's re-written in Cocoa.

Personally, I'd like to see the Windows port and Mac port of Irrlicht merged into the same files with some #ifndef's...this would mean that everything that wasn't platform-specific could be updated in one step instead of updating everything for the Windows platform and then updating it for the Mac. Perhaps I'll try to help out on this sometime, since I do have some Mac programming experience -_-

But, ya...a rather good call on Apple's part, although it is too bad that we'll have to re-write a lot of the Irrlicht engine for the Mac :(
-wyrmmage
Worlds at War (Current Project) - http://www.awkward-games.com
Ganadu'r, The Eternal Sage (Other Current Project) - http://rpg.naget.com
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Merging win32 and OSX device? I don't think this is a good idea, the separate devices are used to separate exactly those platform differences and stuff. I don't think that there's much functionality which uses the same functios and methods on those two platforms.
wyrmmage
Posts: 204
Joined: Sun Mar 16, 2008 3:12 am
Contact:

Post by wyrmmage »

ah, sorry...that wasn't exactly what I meant; I should've been more clear.

What I meant is that perhaps we should have separate files for only the devices and platform-specific stuff, but merge all the files that aren't particularly platform-specific (like IBoneSceneNode or perhaps even IAnimatedMesh and the like); I think that doing something like this would allow the Mac version to be more easily maintained.
-wyrmmage
Worlds at War (Current Project) - http://www.awkward-games.com
Ganadu'r, The Eternal Sage (Other Current Project) - http://rpg.naget.com
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

You're lucky, that's what already happened :D
The device is the platorm specific part for window creation and I/O handling on the HCI (i.e. keyboard etc). Some other platform specific parts are in os.cpp, and also in the video drivers, which have some os specific requirements, e.g. in the OpenGL driver.
The separate OSX package is published because we often had some problems in the SDK releases regarding OSX. Simply because no one of us had a Mac before. It's much better now, but there will still be an OSX SDK, simply to make OSX binaries available.
wyrmmage
Posts: 204
Joined: Sun Mar 16, 2008 3:12 am
Contact:

Post by wyrmmage »

oh, ok, cool :)

Sorry for hijacking this thread, BTW XD
-wyrmmage
Worlds at War (Current Project) - http://www.awkward-games.com
Ganadu'r, The Eternal Sage (Other Current Project) - http://rpg.naget.com
Post Reply