|
|
| Allegro 4.3.0 released |
|
GullRaDriel
Member #3,861
September 2003
|
Richard said: ...providing a way to compile the lib without the Bitmap, Palette and Primitive code. You do not load any bitmap ? tga ? pcx ? Richard said: ...apart from for compatability reasons. I think it is a big good and nice reason to keep any support for non-accelerated graphics. You can not imagine how many people do not have their graphic card drivers installed, and how many drivers who are not happy with opengl ( here I think to nvidia & laptop graphic drivers ). "Code is like shit - it only smells if it is not yours" |
|
Richard Phipps
Member #1,632
November 2001
|
I load PNG's with OpenLayer. I understand what you are saying GullRaDriel, but at the moment Allegro is aimed more at software drivers than Full Gfx card acceleration. In the future Gfx cards are going to become more powerful and Allegro won't be able to compete unless it either provides full acceleration as well as the software routines now, or goes completely hardware 'native'. That's just my opinion. |
|
Evert
Member #794
November 2000
|
Quote: Since 4.3.0 is going to break with old versions, would it not be worthwhile cosidering using a similar DirectX / OpenGL route for primitives and images?
I'm not sure what you're asking. |
|
Richard Phipps
Member #1,632
November 2001
|
Simply: Remove all video-memory primitive related code and replace with directX / OpenGL instructions to draw primitives directly. Do the same thing with allegro code for allocating video memory buffers, instead use OpenGL / DirectX directly. Optionally.. remove support for memory bitmap primitives and 8-bit colour depths. |
|
HoHo
Member #4,534
April 2004
|
Quote: Optionally.. remove support for memory bitmap primitives and 8-bit colour depths. That would make some things a bit difficult, mostly I mean the things that need CPU access to bitmaps. Though I think these things can be done with PBO's or what ever was the name of the extension __________ |
|
Richard Phipps
Member #1,632
November 2001
|
If you are doing a full accelerated game everything pretty much will be in video memory (textures, buffers, etc..). You won't draw to a memory buffer and then upload it (apart from when changing screenmode). While there are cases where these may still be needed I'd like a way to only link more detailed memory bitmap code in if you need it. |
|
Neil Walker
Member #210
April 2000
|
Quote: How is it not consistent? Well, 'action' functions type has the verb first method, e.g. al_get_joystick but the methods that set/return state have it the other way round, e.g. al_joystick_num_sticks Quote: Am I really the only one who finds the latter completely backward? Don't know, but some of the function names are just silly, it sounds like you're talking to the computer not calling a function for example: would be much better as: not only is it smaller to write, it's easier to remember and more importantly it makes it easier to pass in a state, thus making two functions (in the case of the event wait functions) into one. I guess the other advantage is it makes it easier to guess functions, e.g. If I wanted to do something with a bitmap I know I could type: al_bitmap_xxx and if xxx verbs/adjectives/adverbs were consistent across the objects then we'll be coding twice as fast But hey, I'm easy. Neil. wii:0356-1384-6687-2022, kart:3308-4806-6002. XBOX:chucklepie |
|
Milan Mimica
Member #3,877
September 2003
|
I'm all for the current API wording. I find it more readable, more natural, understandable. We're not computers. We don't need the noun to be at second place just to know it's a noun. I even find al_wait_for_specific_event() better, or al_wait_specific_event(). Programming is talking to a computer.
-- |
|
Archon
Member #4,195
January 2004
|
Evert said: you say `create me a bitmap', not `a bitmap create for me', right?
Not in Japanese Quote: Am I really the only one who finds the latter completely backward? I personally disagree (though I haven't been using Allegro recently so I don't know how valid it is), but I like namespaces (at least, in C#) and they seem to clean up the API to me. Quote: Can I just clarify about merging AllegroGL and Allegro? I'd strongly support that, though some people still like to make retro games and also can't work in 3D... Perhaps a compromise? |
|
Evert
Member #794
November 2000
|
Quote:
Not in Japanese
You would use Japanese words in Japanese, not English words with garbled grammer. Quote: I'd strongly support that, though some people still like to make retro games and also can't work in 3D... Perhaps a compromise?
The idea is that Allegro's 2D API can use OpenGL for doing hardware accelerated stuff, similar to the way you would use OpenLayer. For doing 3D things, you would use normal OpenGL. |
|
nonnus29
Member #2,606
August 2002
|
Nobody responded to this: Quote: I am sorry for my "critical" post, but I still have troubles in compiling Allegro with DJGPP under DOS. Now I trying lastest Allegro 4.3.0 from SVN (revision 7395) and lastest DJGPP packets: I was under the impression that dos support was being dropped. If anyone wants to use allegro with dos/qnx/mac os classic/whatever then they should use the last MAJOR release (4.0?). Is that correct? Looks like the sourceforge page may need to be updated to reflect the changing nature of allegro... |
|
Richard Phipps
Member #1,632
November 2001
|
Quote: The idea is that Allegro's 2D API can use OpenGL for doing hardware accelerated stuff, similar to the way you would use OpenLayer. Yes, but then you'd have primitives for memory bitmaps, primitives for video bitmaps and primitives for OpenGL/DirectX (direct drawing with trianglestrips as such). I'd like to have the option to compile the lib with just using the OpenLayer style method. |
|
Elias
Member #358
May 2000
|
Quote: Nobody responded to this: The last stable release is 4.2.0, with 4.2.1 probably being release in some time, which will likely be the final 4.2 version, and final version to support DOS, BeOS, QNX. 4.3 only is planned to support Windows, Linux, OSX initially, but implementation for additional platforms are always welcome. 4.3.0 itself is just a very early WIP version not ready for any production use. Quote: I'd like to have the option to compile the lib with just using the OpenLayer style method. From previous discussion I don't think we will provide lots of separate DLLs where selective things (like memory bitmap access) will be cut out. So that means, you would distribute an allegro.dll along with your game, which indeed would have those functions in it. But if you static link, the linker will not included unused functions, so I don't see a problem either way. -- |
|
Evert
Member #794
November 2000
|
Quote: I was under the impression that dos support was being dropped.
If no one maintains the DOS version and updates it, it is dropped. If someone wants to keep it up to date, I don't see a problem with that. Same for QNX and BeOS. |
|
Thomas Harte
Member #33
April 2000
|
Quote: MacOS Classic is another problem. That port never actually worked to begin with. I really don't see how that's a problem! Maybe DOS and BeOS people are going to complain that they've lost support, but I'm sure the 10 remaining Classic OS users can cope with not getting brand new code. [My site] [Tetrominoes] |
|
Elias
Member #358
May 2000
|
Would it be ok to do a big "svn rm" statement, getting rid of DOS/QNX/BeOS/MacOS9, in the 4.3 branch? It would be the best commit ever I think -- |
|
Evert
Member #794
November 2000
|
Maybe problem wasn't the proper word to use. `matter' was probably closer to what I meant. |
|
Bob
Free Market Evangelist
September 2000
|
Quote: Yes, but then you'd have primitives for memory bitmaps, primitives for video bitmaps and primitives for OpenGL/DirectX (direct drawing with trianglestrips as such). But, why? You could just have one primitive: a bitmap. Let Allegro figure out how best to allocate it. -- |
|
Richard Phipps
Member #1,632
November 2001
|
No. I meant if you were drawing a circle you'd have different methods for drawing. Either drawing to a video buffer an image of a circle, or using OpenGL/DirectX to draw triangles to make up the circle. |
|
gnolam
Member #2,030
March 2002
|
Quote: (Which reminds me, there was some discussion for putting the flags as the first parameter; after playing around with that, I find that I like the idea and it does feel more natural. Did we reach a consensus when discussing this?) I vote for putting flags last - besides that it feels a whole lot more natural to me, it's closer to how the standard C library does things (the object being operated upon should always be the first argument to the function). -- |
|
Bob
Free Market Evangelist
September 2000
|
Quote: Either drawing to a video buffer an image of a circle, or using OpenGL/DirectX to draw triangles to make up the circle. Or call the al_draw_circle() function and let it pick whichever is best. Quote: I vote for putting flags last The problem with that is that flags are an important part of the operation being performed. It's not some optional thing at the end that twiddles with some knobs in the algorithm. It changes the algorithm altogether. -- |
|
Richard Phipps
Member #1,632
November 2001
|
Quote: Or call the al_draw_circle() function and let it pick whichever is best. Yes.. and it picks from 2-3 different methods internally. It just seems a bit unneccessary to me. |
|
Evert
Member #794
November 2000
|
Quote: I vote for putting flags last - besides that it feels a whole lot more natural to me, it's closer to how the standard C library does things That was my exact initial reaction. However, Quote: The problem with that is that flags are an important part of the operation being performed. It's not some optional thing at the end that twiddles with some knobs in the algorithm. It changes the algorithm altogether. This is quite right. It's not like selecting flags, really. It's specifying the mode of operation. Maybe flags is a bit of a misnomer and we should instead call the parameter `mode', or something like that. |
|
Elias
Member #358
May 2000
|
Quote: This is quite right. It's not like selecting flags, really. It's specifying the mode of operation. Maybe flags is a bit of a misnomer and we should instead call the parameter `mode', or something like that. But that's now just the opposite effect of al_subsystem_function. Putting the flags last just looks more naturally. al_create_display(640, 480, 32, AL_OPENGL); If you go by importance, then it should be: al_display_create(640, 480, 32, AL_OPENGL); And actually, I'm not sure the dimenstion isn't just as important as the selected driver here. -- |
|
Evert
Member #794
November 2000
|
Quote: Putting the flags last just looks more naturally. I agree, putting the flags last makes perfect sense. Putting the mode of operation first also makes perfect sense. Quote: al_create_display(640, 480, 32, AL_OPENGL);
Hehe, well, this wasn't about something like set_gfx_mode. |
|
|
|