Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » Discussion about dependencies.

This thread is locked; no one can reply to it. rss feed Print
Discussion about dependencies.
Doctor Cop
Member #16,833
April 2018
avatar

Does Allegro 5 depends upon platform specific code in any way, does any of the library extension of Allegro 5 uses Win32 API. like File system.

jmasterx
Member #11,410
October 2009

Yes, yes, and yes. https://github.com/liballeg/allegro5/blob/master/src/win/wsystem.c#L34

Look at the source code and you will see.

Doctor Cop
Member #16,833
April 2018
avatar

If I only use Allegro primitives and keyboard, mouse then will it use Win32?

GullRaDriel
Member #3,861
September 2003
avatar

On Windows, for sure. Though only on windows.

For the Win32 API, that's the case.

;D

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

Doctor Cop
Member #16,833
April 2018
avatar

So, is there a way that I can use Allegro 5 without using Win32?

GullRaDriel
Member #3,861
September 2003
avatar

Using Linux maybe ? 8-)

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

dthompson
Member #5,749
April 2005
avatar

Allegro is a cross-platform library

Dependency on Win32 is the least of your worries my friend 8-) 8-)

______________________________________________________
Website. It was freakdesign.bafsoft.net.
This isn't a game!

MiquelFire
Member #3,110
January 2003
avatar

If you're making a Windows program, you use Win32, there no way around it (whatever browser you're using also uses Win32)

In a way, it's like saying, can use <network only game/program here> without using a network?

---
Febreze (and other air fresheners actually) is just below perfumes/colognes, and that's just below dead skunks in terms of smells that offend my nose.
MiquelFire.red
If anyone is of the opinion that there is no systemic racism in America, they're either blind, stupid, or racist too. ~Edgar Reynaldo

Doctor Cop
Member #16,833
April 2018
avatar

That's scary because if I want to make an application or I want to contribute to a library which is using graphics or I/O interface calls then I'll have to learn Win32 API, and we all know how successful is Win32 in making plausible applications. Win32 has only one buffer for every event and its Naming conventions hurt my eyes.

I don't want to learn Win32, I wanted a workaround but I guess there are none.

Niunio
Member #1,975
March 2002
avatar

I think you're missing the point:

Allegro allows you to write programs for Windows without you learning the Windows API. And even allowing to use the same program with (almost) no changes for other platforms.

That's what cross-platform means.

-----------------
Current projects: Allegro.pas | MinGRo

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

78ade8c782ec01bd7c02a69b7618af40fa92513b.jpg
That's scary because if I want to make an application or I want to contribute to a library which is using graphics or I/O interface calls then I'll have to learn Win32 API, and we all know how successful is Win32 in making plausible applications. Win32 has only one buffer for every event and its Naming conventions hurt my eyes.

I don't want to learn Win32, I wanted a workaround but I guess there are none.

So your alternatives are Linux and C, or OSX and objective C, or Java and Android, or objective C and iOS, or windows and Win32.

These platform specific libraries, are the ONLY way to interface with that particular OS. On Linux you use X and X11. On OSX you used to use Cocoa, now Metal, or something. On Windows you use Win32.

Now the point everyone is trying to make is that none of that matters! Because Allegro abstracts it away for you. You can use as much or as little of the interface allegro provides for you. But if you wanted to write a windows program without win32 or another library that uses win32 for you, then you're sorely out of luck.

Quote:

a library which is using graphics or I/O interface calls then I'll have to learn Win32 API,

This isn't even true for graphics. Unless you're using GDI, which is silly, because allegro does it for you, or OpenGL, or DirectX. You don't have to touch any of that stuff.

Go to: