Allegro Legacy Update
Todd Cope

I've recently gotten back into developing Allegro Legacy, a project I started a few years ago to see if it was possible to make a version of Allegro 4 that uses Allegro 5 as a set of drivers for the various hardware that Allegro 4 uses to make the library work.

In my initial work, I was able to make most everything functional, but users would be required to add a little extra code to make graphics actually render onto the screen.

Recently, I thought of a way to make Allegro Legacy a true drop-in replacement for Allegro 4 by emulating a display in a separate thread. The emulated display updates itself from the contents of screen at regular intervals. I was able to get this working, so I think Allegro Legacy is a lot more useful now as a way to run old Allegro 4 code.

I would consider this library to still be in a beta state. So far, I've tested all of the example programs. All but one (ex12bit) work as expected. There are still some things that need to be finished. Display switch modes aren't currently implemented. set_gfx_mode() can't set full screen modes yet. Probably some other things I'm not thinking of at the moment.

I'd appreciate it if others who are interested in this project could download and test this library out. I'd like to know if others can successfully build their Allegro 4 projects and have them function properly with Allegro Legacy. Links below:

amarillion

I managed to compile Allegro Legacy on my linux system, so far so good.

How should I modify my A4 project's makefile to refer to allegro legacy? Do you have an example for that?

Edgar Reynaldo

The CMake generator for mingw needs a little tweaking. It doesn't allow for users to install allegro headers anywhere else than mingw/include, which is bad. Other than that it configured and generated okay.

Todd Cope

How should I modify my A4 project's makefile to refer to allegro legacy?

Allegro Legacy replaces Allegro 4, so if you have it installed, you don't have to change anything other than linking to the necessary Allegro 5 libraries in addition to -lalleg.

Allegro Legacy's build script generates a script to help with this. You can run allegro-config --libs to get the arguments required for linking properly with Allegro Legacy and Allegro 5.

The CMake generator for mingw needs a little tweaking. It doesn't allow for users to install allegro headers anywhere else than mingw/include, which is bad.

Thanks for testing. I'll see if I can get that fixed.

Edgar Reynaldo

This thread should stay open. So there.

amarillion

All the projects I still want to work on have already been migrated to A5.

But it could be cool to recompile some old TINS entries with Allegro Legacy. Do you have any favorites? I'll take requests...

(Here is the complete list: https://tins.amarillion.org/all/entries/)

Thread #618368. Printed from Allegro.cc