Re: [AD] Platform specific functions in A5 [was Re: Windows Addition for Message Parsing]

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


>> We add that functionality to the Windows port. Ok, fine. But what
>> makes Windows so special that we add it there?

Question is, why should we NOT add it if it enhances the functionality?
Ok, the function won't work on other systems, but, does other OS
require you to "catch" "messages" to add functionality? I'm pretty
sure there are more libraries for unix/OSX that can coexist with
allegro and may add things that in windows could be only done by
parsing messages.


>> Why can't we have it
>> on other platforms too? And if we do, are we going to have
>> completely
>> non-compatible implementations on those other platforms?
>> So before going down that route, stop and consider if there isn't a
>> way to do it that services all platforms (well, *nix/X11, Mac OS X
>> and Windows anyway). There might not be, but I think the question
>> needs to be asked.
Well, it's most likely that OSX and X11/**nix and other OSes have
different messaging systems (if any). Even when I'm not a
windows-fanboy I still have to develop for windows, like it or not.
I've not run across any customer who request a linux development yet.
They may exist, sure, but let's face it's not the norm.

> Something else I'd like to say is, portability is good, but removing
> platform specific features only hurts the end user. If a user wants
> to make a game for X11 only, so be it. However I myself make every
> effort to make my games portable across Windows and Linux (as those
> are the two OSs I have access to). Does this mean I don't use any
> non-portable code? No. In my current game I'm using Direct3D pixel
> shaders. When I get around to the Linux port I will use OpenGL
> shaders. Where would I be if those two things weren't possible? Some
> portable hacky shader API? No shaders at all?
>
> Every platform has unique features and I think it's reasonable in
> some cases to allow access to those features.
That's my point. Maybe multiple mice support (or whatever you can do
by catching Windows messages) is possible on other platforms by means
of third party libraries that can coexist with allegro and a
programmer aiming at portability will be wise enough to make that
difference in his code if he want the (whatever feature achieved by
catching messages) stay in all ports of his software.

It's also beyond the purpose of the library to provide support for
unexistant things. I mean; "messages does exist in windows", they may
not exist on other platforms (i.e: DOS), does that mean that you will
implement some "message system emulation" or "unix-to-windows
messaging conversion" JUST for providing that function to ALL ports of
allegro? That's beyond scope and purpose.

I understand your point Evert, the feature IS platform-specific, but
we are not adding an advantage to the Windows port of Allegro, we are
implementing access to a Windows-specific thing in the Windows port.


-- 
 Elias Zacarias




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/