AGS Development > Engine Development

AGS engine Mac OS X port

(1/37) > >>

Everything seems a little quiet round here. Is there any current progress on a port of AGS to Mac? Because Wadjet Eye gets a tonne of requests for Mac versions of our games.

The notes on the OSX port at read:

--- Quote ---The OSX port is currently only interesting for developers.

Main reason for this is that it only runs on OSX versions 10.6 (Snow Leopard) or lower. Important frameworks used by Allegro 4 were removed in later releases.
--- End quote ---

What were these important frameworks, and how feasible is a working port?

You could ask the Allegro Development list [1] how difficult porting Allegro 4 would be.
An alternative would be porting AGS to Allegro 5. [2]


Crimson Wizard:
I'll add my "two cents". To be frank, I did not yet have chance to explore Allegro 5 and learn how much is different from A4 (code-wise). But the general issue is that allegro 4 calls are scattered throughout the engine (those that deal with graphics and controls mainly) instead of being groupped (like in helper functions or classes). If it is only about changing function names, it is not much of a problem. But I fear that there may be changes to logic of usage, in such case certain parts of AGS should be completely overwritten.

As I see it (just a basic idea) there is fast way and "good" way. Fast way is just discard all code style considerations and brute-force Allegro 5 into engine. "Good way" is to properly reorganize the code, hide Allegro 4 calls under interfaces, like Bitmap, Graphics, Mouse etc classes, only then port to A5. I like second way more, but I have no idea how much more time it will take. Depends on how many people involved, I guess. Maybe hacking A5 in place of A4 won't make AGS code too much worse, than it is :).

EDIT: Couple things more:
- The editor uses Allegro 4 too, for converting graphics. I guess (only guess) that is minor issue and could be fixed more easier.
- I really hope there's compatibility between A4 and A5 resources (like bitmaps structure). Otherwise there must be a conversion.

The graphics code including data structures has probably changed quite a lot. Allegro 5 was written for OpenGL, Allegro 4 for DOS. But then it's probably a good thing if AGS uses it's own data structures and the game file format is disentangled from the library dependencies of the engine.

Crimson Wizard:
@JanetC, also, a small note, seeing as you ( is your repository, right?) are merging our refactored code from time to time:
current 'ags/master' branch, while having more potential due to rewritten script interpreter (it is more compatible with 64-bit builds), is still considered a bit unstable (well, for the same reason ;)), and had new bugs in recent past. So if you are using your branch for shortly upcoming releases, I'd recommend not to update from our repository for some time.


[0] Message Index

[#] Next page

Go to full version