Jump to content
Battlefront is now Slitherine ×

Solution to CMBB on MacOS X?


Recommended Posts

I just wanted to bring this to BTS' (read: Charles) attention:

DirectX for MacOS

I have no idea how well it works, but could this be a solution to getting CMBB to run on MacOS X? If you could just use the PC renderer's DirectX calls instead of the RAVE render.

I suspect a fully OS X native would be difficult (thinking about the Net and Sound Sprockets, though this says it can do DirectSound as well..) but it might allow CMBB to play in the Classic environment. It also might clear up some of the problems with the nVidia RAVE drivers, since I assume it makes OpenGL calls...

Supposedly, it's as simple as dropping the libraries into your project, and all of your DirectX calls will go to that, no recoding necessary. Of course nothing in programming is ever that easy tongue.gif

Though, if it was, it'd be easy to get CMBO playing in Classic as well ;)

Just thought I'd mention it.

Ben

Link to comment
Share on other sites

This does not answer the issue of Rave support in OS X or OS X Classic. This is a translation device from DirectX to Rave. So it doesn't really help the limited support of RAVE in OS X and Classic.

Or so I understood from posting by BTS and the review on the product mentioned.

Link to comment
Share on other sites

Well, it doesn't state it specifically, but I suspect it actually translates DirectX to OpenGL. I'd be highly suprised if it makes RAVE calls, especially since it claims to be OS X native, and OS X doesn't nativly have RAVE... So, this would circumvent RAVE all together. My understanding is that BTS used some of the newer RAVE calls (1.6) and that those calls weren't supported by Apple's RAVE shim. Now, if Apple would fix the shim, there wouldn't be an issue, but since they've shown no interest in doing so, I thought this might be a workaround.

Of course, it depends on how much they're charging tongue.gif Though, if it works as advertised, Battlefront could perhaps ammortize the cost over some of their PC only projects by making Mac ports.

Ben

Link to comment
Share on other sites

Sorry I don't know this

Does the PC version of this game (CMBO) use DirectX?

so is the suggestion that a special "hybrid" CMBB could be coded that would run in Mac OSX and use the DirectX with Open GL translation??? smile.gif

I'm not sure if that question even makes sense..

How can MacOSX supporting the DirectX protocol help us out with either CMBO or CMBB??

Interesting.... but curious

I wish I knew more about this stuff...

-tom w

Link to comment
Share on other sites

Well, I'm somewhat familiar with Mac programming, but not PC programming. I'll take a stab at answering your question though. Ypur explination is correct though.

CM on the PC side does make DirectX calls. I assume it uses Direct3D (and perhaps DirectSound as well). Direct3D is similiar to RAVE and OpenGL, except it is written by MicroSoft.

So, I suspect CM calls a function "DrawPolygon" which on the Mac side goes to "DrawPolygonWithRAVE" and on the PC side it goes to "DrawPolygonWithDirect3D". Now, with the engine rewrite, "DrawPolygon" function will call "DrawPolygonWithOpenGL" on the Mac side. What these libraries do, however is translate "DrawPolygonWithDirect3D" into "DrawPolygonWithOpenGL" automagicly (in theory). Of course, there would be some performace hit, because it has to go through an extra step, but CM isn't all about frame rate, so it might be ok.

Most of the folks who port PC games to the Mac for a living already have written their own version of this, but if it is reasonably priced, it would be a way to get CMBB to run in some form on MacOS X. In theory BTS could use the exact same code for the renderer that they use for the PC version of CM.

Again though who knows about the price, quality, and speed of these libraries...

Ben

Link to comment
Share on other sites

×
×
  • Create New...