Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Allegro 5.0 (or 6?) - Request For Comments

This thread is locked; no one can reply to it. rss feed Print
Allegro 5.0 (or 6?) - Request For Comments
Bob
Free Market Evangelist
September 2000
avatar

quote:hmm if you used real polymorphism/overloading then you would laugh at the statement. Allegro's hacked in C way of doing it works, but in a class structure things would behave a lot diffrently and a lot better IMHO.

Did you actually look at the output of a C++ compiler? You know, there are only limited amounts of ways of accomplishing the same task, and all of them must go through assembly.
I'm sorry, but now I'm laughing back at you.
quote:
but what is your point? mine using the arguement for dropping dos in a way that people who want to drop dos would understand that the arguement would be offensive if it was for dropping something they were attached to.
My point is that you have no idea what you're talking about. Keeping Allegro in C has numerous advantages, helps portability, adds usages from other languages, etc.
Keeping DOS brings the advatange of being able to run Allegro programs with a 386 with 4 MB of RAM and no OS...in other words, not a very great one.
In any case, this won't matter, since with my new 'leet' building system for Allegro, just about everything can be made optional. So if you like DOS, use DOS with the new API, or port it yourself if you really want to and no one else does it. If you don't want to use DOS, you won't even have to download the source that lets you use DOS. How's that?
I'll make a new thread with the idea and some code as soon as I get more time to to write and test a stub for it.

--
- Bob
[ -- All my signature links are 404 -- ]

Thomas Fjellstrom
Member #476
June 2000
avatar

bob> Dude! Awesome. :D

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

23yrold3yrold
Member #1,134
March 2001
avatar

I would like an answer from Bob or someone else who would know, so I shall continue to hassle this thread; how much consideration have the Allegro developers given to a console (any console) port of Allegro? It's one of the few things I really would give a crap about adding to Allegro. Most of Bob's proposal list, aside from AllegroGL built in, doesn't really impress me too much. But that DC port, hehe ...

I know, I know, "code it yourself", and I would honestly give it a shot. But it seems to be a point of interest for several people (I've seen people on the DCDev forums who want a port of Allegro too), so I wouldn't make my own library. I think it should be an official port of Allegro for all, and I don't know Allegro's guts like the dev team. Have they thought about it? Do they care?

--
Software Development == Church Development
Step 1. Build it.
Step 2. Pray.

Bob
Free Market Evangelist
September 2000
avatar

quote:I would like an answer from Bob or someone else who would know, so I shall continue to hassle this thread; how much consideration have the Allegro developers given to a console (any console) port of Allegro?
From my recollection of what was said on [AD], I'd say none at all. This doesn't mean it can't be done, it just means that the current developers aren't interesetd or don't know how, or can't because they lack $(X), in consoles.
If you can start a port, even a minimal one, and can get it to run for someone who doesn't have the console (via an emulator), then that would be your best bet to get the attention of the developers. At that point, it may or may not pick up momentum, depending on how people are interested in porting Allegro the console.

quote:
But it seems to be a point of interest for several people (I've seen people on the DCDev forums who want a port of Allegro too), so I wouldn't make my own library. I think it should be an official port of Allegro for all, and I don't know Allegro's guts like the dev team. Have they thought about it? Do they care?
Look at it from this point of view. Can you make most Allegro functions work for the DC? If so, then just code them, and I (or another dev, or someone who knows about the Allegro internals), can write the vtables and make it an add-on to Allegro. After that, it would work just like AllegroGL.

--
- Bob
[ -- All my signature links are 404 -- ]

Matthew Leverton
Supreme Loser
January 1999
avatar

Time to get out my coders cable again. ;) I wish I would have boughten one of those broadband adapters. :P

Mandrake Root Produc
Member #300
April 2000

yes you can claim all you want about how it just boils down to asm, but are we programming in asm? no. The advantages are there, and the disadvatages you claim are not a problem on higher end machines, so if you say dos must go because it only exists for lower end machines, why should C stay? Have you done any C++ programming? The diffrence is huge between C++ OOP and the allegro C way of doing OOP. You could have multiple inheritance to basic objects of the library, like a mouse object, a bitmap object, etc, so that people can inherit these objects into objects they want to create.

This way allegro becomes easily more extensible for people wishing to expand it, as well as keeping a sort of "module format".

And keeping in DOS has many advatages, way beyound 386 programming. But then again you seem to be a windows snob. What benefit could a linux port be then? or a dream cast port? None other than the fact people want to program for that OS/system. And people still want to program for DOS, it has nothing to do with 386 compaitibility and everything with you wanting to shut out a large portion of this community.

ANd my arguement still stands, how would you like it if someone dropped C from allegro and told you "well, all the C programmers can just use allegro 4".

And what is the point of moving it to embedded system platforms if it means killing DOS support? The amount of PDA programmers do NOT outwiegh the DOS programmers. You may claim you are keeping it in "C" for portability, but I don't buy that. Again, favoritism.

Javier Gonzalez
Member #1,559
October 2001
avatar

Comparing C and DOS now cause they are old?
Why don't we go and compare Linux with gcc? after all they both are opensource
And, it is not favoritism, could you read all that i wrote above about DLLs and such?
And, if you use C++, you let C people down, where if you use C you don't use C++ people down.
And, you are always able to make a C++ wrapper above the C lib, where if you make it in C++ you cannot do a C wrapper in top of it (at least not easily).
[ December 05, 2001: Message edited by: XavierGonz ]

Mandrake Root Produc
Member #300
April 2000

you are still not getting it, are you? I'm not saying ti is favoritism, the arguement is not meant to be argued physically, but thought about, what if the language, os, whatever you use and enjoy, was taken out of allegro. How would you feel? Esp if it was originally written in that language and has had support for it all along.

It is favoritism. Why not take out linux? I'm sure it's causing some confliction with other OS code? Or Palm support? etc etc etc. these are not the points though, the point is, how would you feel if it was done to you? You are literally turning your back on DOS programmers, spitting on them.

Matthew Leverton
Supreme Loser
January 1999
avatar

Quote:

You are literally turning your back on DOS programmers, spitting on them.

I wish you wouldn't say that, because I really don't think that is true in 99% of the people here.

For example with me... I use Windows XP primarily now. Am I telling everyone that Linux port should be dropped, and that only Windows should be developed? NO. That would be favoritism.

None of us are saying ONLY code for OUR favorite OS. All we are saying is that IF supporting DOS (or any other 'outdated' OS) means that Allegro in its entirety will be 'crippled' or majorly delayed, then it shouldn't be in there. But if a group of people want to step in and continue to develop the DOS port, then let it be.

Please understand at least that much.

Mandrake Root Produc
Member #300
April 2000

I don't think you are grasping the point, what if they were taking out the OS you were programming for? wouldn't you be upset? it is like you are spitting on them, as if they didn't matter after a certian version number,

Bob
Free Market Evangelist
September 2000
avatar

Mandrake: No, you don't seem to understand. This may not apply to you, but us programmer have a limitted amount of time to code Allegro. I won't support the DOS port. If YOU feel like supporting the DOS port, then please do so! Stop telling me what to write code for, or pay me to do it. Find X people who want to support DOS, and do the necessary changes to get it to work with Allegro 5. Just don't exepct me to put in 90% of my time on supporting something that just two people here use.
That's how Open Source works. If you feel you can contribute by mainting the DOS port, then I'll be happy about it. If you can't, then too bad, the DOS port is in the way.
I won't say "sorry Mandrake, but that patch you posted to enable DOS support is not wanted here because we like Windows". Just look at AllegroGL - IT HAS DOS SUPPORT!! Why? It's not because either myself or gfoot did anything about it. It's because someone who was dedicated at making AllegroGL better and work in DOS was nice enough to make it work with Mesa.
quote:
yes you can claim all you want about how it just boils down to asm, but are we programming in asm? no.

Maybe you're not, but I am. That fast asm code in Allegro doesn't get written and optimized by itself you know.
quote:
The advantages are there, and the disadvatages you claim are not a problem on higher end machines, so if you say dos must go because it only exists for lower end machines, why should C stay?

WTF? It's the exact opposite! asm gives even MORE advantages to higher-end machines! FBlend is up to 13x faster than Allegro! THIRTEEN TIMES! That's like having Allegro do nothing for 93% of the time. Imagine your 200 MHz CPU suddenly ran at 2.6 GHz!! That's how much faster it is. And even better, the higher-end you go, the higher that ratio is. I can estimate it at 15 to 20x faster on a P4 @ 2 GHz.

quote:
Have you done any C++ programming? The diffrence is huge between C++ OOP and the allegro C way of doing OOP. You could have multiple inheritance to basic objects of the library, like a mouse object, a bitmap object, etc, so that people can inherit these objects into objects they want to create.

Why can't you do this with Allegro again? There's nothing stopping you from making a LEET_BITMAP object, which inherits the BITMAP vtable and adds more functionality to it.
quote:
And keeping in DOS has many advatages, way beyound 386 programming. But then again you seem to be a windows snob. What benefit could a linux port be then? or a dream cast port? None other than the fact people want to program for that OS/system. And people still want to program for DOS, it has nothing to do with 386 compaitibility and everything with you wanting to shut out a large portion of this community.

1) Never twist people's argument, because it fires back at you.
2) Nope. No favoritism. Just Darwin at work.
3) Maintaing the DOS port requires EFFORT. I'm not supplying it. Are you?
quote:
The amount of PDA programmers do NOT outwiegh the DOS programmers. You may claim you are keeping it in "C" for portability, but I don't buy that. Again, favoritism.

Ahem, the amount of PDA (And other embedded devices) far outweight the number of DOS-only coders. It gets even worse when you factor in programming skill.
From my perspective, the DOS port is in the way. The Windows DirectX 3 driver is also in the way, that's why I want it updated to DX-7. Do I hear anyone complaining "but Win NT people won't be able to use Allegro!!", nope.
As much as I'd like to support 20 year old systems, I just can't afford the time to do so. If you feel you can help by doing that, then by all means do, but don't contrain everyone else to do it.
It's like 23y's dreamcast port. He can't force me or any other dev to work on it, even though there are possibly many more DC out there than linux systems used for gaming. However, if he puts in the effort to get to work in Allegro 5, then it'll be included as supported platform, my pleasure!
Same for DOS. If you want to support it, then by all means do! No one is stopping you from doing so.
(edit: whoops, wasn't done ranting)
[ December 05, 2001: Message edited by: Bob ]

--
- Bob
[ -- All my signature links are 404 -- ]

Korval
Member #1,538
September 2001
avatar

You can't think of it in terms of how a few people feel about the change. If adding DOS components with equal priority to the others will degrade the overall API, then the right move for the Allegro library is to no longer include DOS support.

The logic works like this. You can't not have Windows support, as Windows is the industry's primary game platform (outside of consoles). You can't exclude Linux support, as it is the industry's secondary game platform (as well as being an expanding sector of the market). DOS cannot justify itself in these ways because DOS is not even supported by the game industry anymore. And DOS can hamper the API given the less-than-standard nature of how it handles graphics.

Matthew Leverton
Supreme Loser
January 1999
avatar

quote:I don't think you are grasping the point, what if they were taking out the OS you were programming for?
I get the point, I really do.
If the OS I was programming for was not as functional as the newer OS's, then I would understand if the core developers came to the conclusion that my OS was a lost cause.
On the other hand, I would be upset if my OS was dropped for no reason - ie, the core developers could have spent an additional 5 minutes and made it.
Let's put it in my perspective. If Windows support were dropped because the core developers hated Bill Gates - I would have three choices:
A. Use Allegro 3.9.40
B. Use Linux
C. Find another library
If there were no other library, then I'd come to the conclusion that there must be something wrong with my OS.
But if you really want to know, I hope DOS support stays in "Allegro 5". But that is below my desire to see Allegro mature into something even more 'modern'.

Matthew Leverton
Supreme Loser
January 1999
avatar

I should add this ... I know what the feeling of being abandoned is like.

I love my Dreamcast, I think it was one of the greatest consoles ever from a quality / price standpoint. In fact, I still believe GOOD games could be created on it - even on par with a lot of the GC,PS2,XBOX ones.

When Sega announced they were killing the Dreamcast and moving onto the other consoles, I (like the MAJORITY) was disappointed. But, looking ahead this was the only way for Sega to survive. Sure they could continue to release games for Dreamcast while developing for other platforms, but they don't have the time (money) to do so.

So what have I done? Initially I continued to play my old Dreamcast games. But now, I have gotten an Xbox & Gamecube and I can continue to play Sega games.

Sure not everyone can afford to buy another console -- or a computer than can run Windows. But the case with DOS, is that most people have computers that are already running Windows 95. They just prefer DOS.

I know it's not even close to being a perfect analogy, but it's the best I can personally relate to. :)

---

Ok, on to something else: Dreamcast support would be cool. Bob, besides a lot of time, what sort of skillz would be required for a guy like me to be able to make it happen?

Regarding DX3. I have seen some people want to stick with DX3 (WinNT). I say this falls in the same boat as DOS. IF DX3 limits features / performance for Windows and other ports, then we need to move on to DX8. WinNT users (myself included) would have to stick with Allegro 4.

Thomas Fjellstrom
Member #476
June 2000
avatar

Korval> when did WE decide that a major archetecture change was nesesary? I've been on the AD/conductors list for a couple years... And I haven't heard anything about that or a HUGE API change there or on this UBB, except from you of course... [edit] Dos uses a less than standard way of handling graphics? since when was a char * array less than standard?
Oh and there is a reason why allegro was designed to use the Vtables... SO some things can be unsupported with little fuss. If DOS can't do a certian thing then It just can't, just like DX8 dropped software rendering, If you don't have a hardware 3D card that you can't use that feature. [/edit]
Modules good... Allegro Lite BAAAADDDD.. Having to build and support 2 differing libraries would waste a huge amount of time.

Matthew, I remember hearing about a Linux port to DC.. Shouldn't be too hard to port allegro using the FB drivers. :) And some people who have Win98 Just prefer dos also, I did :)
[ December 05, 2001: Message edited by: Thomas Fjellstrom ]

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Matthew Leverton
Supreme Loser
January 1999
avatar

TF: I agree that Allegro Lite seems to be a bit odd as an 'official' product.

[ December 05, 2001: Message edited by: matthew ]

Bob
Free Market Evangelist
September 2000
avatar

quote:Ok, on to something else: Dreamcast support would be cool. Bob, besides a lot of time, what sort of skillz would be required for a guy like me to be able to make it happen?
I don't really know. I guess you'd need to know how the hardware works to a certain extent. If everything can be coded from C, and you've done some VGA programming before, then it shouldn't be much different. If assembly is required, then knowledge of the CPU internals and assmebly syntax is a must.
quote:
Regarding DX3. I have seen some people want to stick with DX3 (WinNT). I say this falls in the same boat as DOS. IF DX3 limits features / performance for Windows and other ports, then we need to move on to DX8. WinNT users (myself included) would have to stick with Allegro 4.
Same as DOS. If someone works out a way to have both of them work together (autodetected at run-time?), then there's no reason why not have it. DX3 isn't limiting the fetures as much as it's buggy and limits developer's time.

--
- Bob
[ -- All my signature links are 404 -- ]

23yrold3yrold
Member #1,134
March 2001
avatar

Thanks for the answers Bob. quote:Dreamcast support would be cool. Bob, besides a lot of time, what sort of skillz would be required for a guy like me to be able to make it happen?If a few of us were to get together and try this, I would be willing to help. My skillz aren't as 1337 as others, but I think I know enough to be an asset and not a liability. Perhaps a new thread on this is in order?
quote:I guess you'd need to know how the hardware works to a certain extent.I can supply some links to where you can find this out. In fact, in the OT forum, I already have quote:If everything can be coded from C, and you've done some VGA programming before, then it shouldn't be much different.It isn't. C is the norm, with some coders using C++ and asm. And graphics programming is very similar to the VGA array-of-video-memory way. Should I post all the links I got on it so matthew, etc. can see what this takes, and if we have a chance of succeeding?

--
Software Development == Church Development
Step 1. Build it.
Step 2. Pray.

Thomas Fjellstrom
Member #476
June 2000
avatar

I think it would have a great chance of succeding. To me it sounds fun ;)

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

nempko
Member #1,253
April 2001

It is interesting that the creator of c++ has used a similar syntax to C just to keep the C people happy. Same concept with java. I do not intend to force anyone to learn something but the idea of not wanting to learn strikes me as close minded. What if allegro is not going to be written in C anymore, will you stop using it or try to learn C++. You can of course use openGL (which i do now adays, I even writen my own "Allegro" for open GL, for 2d functions) but openGL was designed to allow the designer complete control, and simplicity.

If you want Allegro's api to be nore user friendly then a change must be made. Maybe have the basic API be in a "Raw" stage, with minimal C++, and the user friendly stage use C++ more so. Maybe this will complicate the API. you know what.. forget it, i just want some allegro C++ wrappers. They do not have to be object oriented wrappers, but C++ wrappers. C++ is not an object oriented language, it is partly object oriented, if you want it to be. it can also be a generic programming language, functional, procedural.... or all at the same time ;-)

Lets try to accept the future in a sense. When C is going to be less suported in the future, is it wise to make an api that many people will not understand?

I do not use allegro anymore...sadly... i love it for teaching me the art of graphics programming.

or maybe Alegro should be written in my programming language "MILD" ;-)

nempko
Member #1,253
April 2001

I will just write Allegro wrappers in my programming language MILD. Because it can man handle both C and C++. Although first i will need to improve the IDE for it, but then again, you got to love that basic text editor and compiler/interpreter right? ;-)

nempko
Member #1,253
April 2001

And Bob... one thing. You can do many "object oriented" things in C.... but why stress yourself with the extra work, why even learn a way to do it in C if you can learn it in C++. Why even try learn how to to inheret LEE_BITMAP from BITMAP vtable with messy code if you can learn it easier in C++. It just shows that if there is change, your C world will be crushed.... adapt, stop playing games in C, it just hurts the coding comunity to use a C Hack of object orieted programming if C++ is out there.... it is utterly pointless

Bob
Free Market Evangelist
September 2000
avatar

quote:And Bob... one thing. You can do many "object oriented" things in C.... but why stress yourself with the extra work, why even learn a way to do it in C if you can learn it in C++.
Because it's as simple to do in C as it is in C++. Data structures in C++ don't self dynamically link. You still need to do that manually. So C vs C++ is non-issue with regards to how Allegro does things internally.
quote:
Why even try learn how to to inheret LEE_BITMAP from BITMAP vtable with messy code if you can learn it easier in C++.

Please read the entire post and the one I was answering to. I was just demonstrating that all this C++ stuff can be done in C. C++ just makes it nicer and easier to use. If you can demonstrate otherwise, I'd love to hear it.
quote:
It just shows that if there is change, your C world will be crushed...

Not really. Care to elaborate?
quote:
adapt, stop playing games in C, it just hurts the coding comunity to use a C Hack of object orieted programming if C++ is out there.... it is utterly pointless
I don't get your point. See first paragraph. The only people I'm hurting are those everything-must-be-objects-or-else-die people. You can use Allegro from C++ can't you? Does C++ offer any benefit to Allegro that would outweight the costs? How does Allegro's internals matter to you, unless you are a developer of Allegro? How does me using C hurt "the community"? How is C "hack" pointless? On the contrary, it's so not pointless it's not even funny. If you don't understand how what you write gets translated on a machine level, you will never be able to fully debug your programs, or to fully optimize them, or to battle the Evil Compiler Bug (tm). It also helps when developing one's own language.
If you're going to resort to personal attacks, at least make them clear, to the point, and backed up by arguments.
(edit: spelling)
[ December 06, 2001: Message edited by: Bob ]

--
- Bob
[ -- All my signature links are 404 -- ]

Bob
Free Market Evangelist
September 2000
avatar

quote:It is interesting that the creator of c++ has used a similar syntax to C just to keep the C people happy. Same concept with java.
That's quite interesting, because that's not what Bjarne Stroustrup is saying. C++ has been designed as a better C. Languages evolve, they don't spawn out of thin air. The idea wasn't to make a language that can do FOO, the idea is that "we have C, but we think we can do better, so what can we add"? Starting from scratch is just a bad idea, unless the language was completely unusable in the first place.
Java may have well been created to convert C++ people to it, but then again, Java is a commercial language, in which Sun has a keen interest in getting C/C++ people to use it. The same applies to C#.

--
- Bob
[ -- All my signature links are 404 -- ]

nempko
Member #1,253
April 2001

Well, you are quite wrong bob. He had said if he would recreate C++, he would not use the illogical C syntax. He kept it so many people can migrate much easier to it. It is a Better C and i find it funny that people refuse to learn it out of sheer pride for C. C was his biggest design mistake



Go to: