|
This thread is locked; no one can reply to it. |
1
2
|
Allegro 4 is not dead |
Marek Ratajczak
Member #18,974
December 2020
|
Dear Allegro Users, alfacad.net In the same time I'm searching for similar solution for another platform, what is Mac OSX, which seems to be much more tricky, due to changes in Apple system, especially migrating from Intel to M1. But maybe one day it will be possible, if not only me would care about such a good API as Allegro 4 really is. Regards, Edit: https://github.com/markremark1/Allegro-4.4.3.1-64bit-MSVC.git |
Edgar Reynaldo
Major Reynaldo
May 2007
|
Marek, that's awesome that you got Allegro to build in a 64 bit environment. It was never made compatible with 64 bit, as it was back in 32 bit days, but I'm glad you got it working. It would be nice if you could submit a Pull Request with your changes to github. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
amarillion
Member #940
January 2001
|
Yes, please share your changes if you can! I'm sure there are more old allegro 4 games that could benefit from this -- |
GullRaDriel
Member #3,861
September 2003
|
Awesome work. It may please some users who prefer A4. "Code is like shit - it only smells if it is not yours" |
Marek Ratajczak
Member #18,974
December 2020
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Marek, how extensive are your changes? Can you fork allegro, repeat your changes, and make a pull request on github? Your changes are based off of Allegro 4.4.3.1 git, correct? Perhaps we can just make a big diff and see if the patch works. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Marek Ratajczak
Member #18,974
December 2020
|
Edgar, Marek |
William Labbett
Member #4,486
March 2004
|
Hi Marek, does it compile with MingW64? Could I get it working with code::blocks?
|
Marek Ratajczak
Member #18,974
December 2020
|
William, |
William Labbett
Member #4,486
March 2004
|
Okay. Thanks very much for the help
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Marek said:
Edgar, Marek I took the liberty of forking your project and comparing it to allegro 4.4.4. I used 'git diff > patch.txt' after copying all of your changed files to the existing Allegro 444 from GIT. I attached the patch file to this post. If you read it, you will see that these changes can't be merged directly with 4.4.4, which is the development branch, without breaking a lot of the versioning. To contribute the changes, it would be best to 1) Fork the liballeg allegro5 master from github and do git checkout 4.4 then 2) apply your changes directly, 3) commit them, and 4) make a pull request. 1) Go to http://github.com/liballeg/allegro5 and hit the FORK button. Clone the repository using the directions and using GIT after installing it. git clone http://github.com/yourname/allegro5.git Allegro443 git checkout 4.4 2) Apply your changes, and whatever else you need to get it to compile in MSVC. Leave the versioning out. Also, try to make one commit for the 64 bit stuff, and one commit each for any other changes you make. git add [file | directory] ... 3) git commit -m "Commit message" 4) Go to your repository on github and select pull request. Make sure to compare the remote allegro 4.4 branch with your github changes branch. Happy hunting. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
amarillion
Member #940
January 2001
|
Ok, I made an attempt to work this patch. Edgar, I believe you took your diff against the wrong base. Your patch file has a lot of changes like this: -set(ALLEGRO_VERSION 4.4.4) +set(ALLEGRO_VERSION 4.4.3)
Which makes it hard to apply cleanly. I instead took the diff between the 4.4.3.1 tag and Marek's code diff -r -Zu allegro4.4.3.1/ allegro4-64bit-MSVC/ Which leads to a much smaller patch (attached) demos/shooter/demo.c | 2 +- src/file.c | 4 ++-- src/fsel.c | 2 +- src/glyph.c | 4 ++-- src/gsprite.c | 2 +- src/gui.c | 4 ++-- src/guiproc.c | 8 ++++---- src/unicode.c | 12 ++++++------ src/win/gdi.c | 2 +- src/win/wddlock.c | 4 ++-- src/win/wgdi.c | 2 +- src/win/wmidi.c | 4 ++-- src/win/wsndwo.c | 4 ++-- 41 files changed, 27 insertions(+), 27 deletions(-) It's so small it seems like I'm missing something. Marek added a bunch of files too, but it seems to be mostly some generated documentation and build files, I didn't find any significant added files. This new patch applies cleanly to allegro 4.4. Here are the changes on my own fork of allegro: https://github.com/amarillion/allegro5/commit/fc8cb8e0846a397fcd1990a5aa92fa3a18e722f8 All I need now is somebody to actually test this. I'm not set up for that. -- |
Marek Ratajczak
Member #18,974
December 2020
|
Amarillion, |
Elias
Member #358
May 2000
|
amarillion said: It's so small it seems like I'm missing something. Not so surprising - the Linux builds of Allegro 4 always supported 64 bit and the Macos port was fixed for 64-bit when the Intel macs appeared. Just DOS/Windows remained 32-bit throughout the entire lifetime of Allegro 4. But yeah, it means 64-bit Windows specific code is the only place that requires changes. -- |
Marek Ratajczak
Member #18,974
December 2020
|
Elias, Looks like I've missed something. As I know the only Mac OS graphic driver in Allegro 4 was and is QuickDraw in a Cocoa window, which was never supporting 64bit target. Was it replaced by something what supports 64bit ? I would love it, at least waiting until Allegro 5 will support XOR mode, and some other "legacy" features (like DRAW_MODE_COPY_PATTERN for example) that I can't live without. |
Elias
Member #358
May 2000
|
Hm, I may be misremembering. I definitely used the 64-bit Linux version though. (But never used Windows or Mac myself.) -- |
Edgar Reynaldo
Major Reynaldo
May 2007
|
I'm working on a patch and pull request now. Marek, are you on Github? My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Marek Ratajczak
Member #18,974
December 2020
|
Edgar, |
Edgar Reynaldo
Major Reynaldo
May 2007
|
I'm working from a fork of amarillion's patch against 4.4.3.1. Any word on anyone about using int64_t? My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
killocan
Member #1,556
October 2001
|
First of all, Marek Ratajczak, what an awesome move!!!! Congratulations on that!!! I have a project that uses all4 that is on hold(deadish) for quiet a while now, but would be good to compile it on 64, just because hehehe. Since my day to day work is not related to programming I can't say I will to it stat, but I'm definitely trying your(and other fellows that are merging it) solution anytime soon!!! Once again, congrats on the job! |
Peter Hull
Member #1,136
March 2001
|
I had a quick check yesterday evening; the code as it is won't compile on Linux now, due to ULONG_PTR. There are also some line-ending problems (stray ^M). I hope to have some time over the weekend to go over it more thoroughly. I believe we can and should use the stdint types, they are actually the ones used in the header files. [edit] I did look and started trying to fix all the warnings but with MSVC set to /W3, as it is in our CMake script, there's a huge number of them. Most of them are of dubious value. So I think I'll back-track and just make sure it'll compile on Windows (MSVC) and Linux, assuming MinGW will also be OK. That's only a couple of changes to Marek's PR.
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Thank you Peter. Let's not let this thread get buried in the sands of time just yet. Progress? Anything you want me to do? My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Peter Hull
Member #1,136
March 2001
|
Despite appearances to the contrary I'm not dead, either. If anyone knows about this, please chip in!
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
Glad you're still with us Peter. Is there a repo you're working with? Let me clone it and see what I can do about the CMake stuff. Which version of VS are you using? Have you made all the changes necessary to use the stdint.h header's standard types? My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Peter Hull
Member #1,136
March 2001
|
I've fixed the cmake problem, plus all cases where the casts seemed unsound (i.e. casting a pointer to a long) and then a few bits and bats.
|
|
1
2
|