Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Allegro 4.9.7

This thread is locked; no one can reply to it. rss feed Print
Allegro 4.9.7
Peter Wang
Member #23
April 2000

Here: http://sourceforge.net/project/showfiles.php?group_id=5665&package_id=40805&release_id=645744

[EDIT] MSVC/Windows users should get 4.9.7.1 here:
http://sourceforge.net/project/showfiles.php?group_id=5665&package_id=40805&release_id=645947

Quote:

Changes from 4.9.6 to 4.9.7 (December 2008)
===========================================

The main developers this time were: Trent Gamblin, Evert Glebbeek, Peter Hull,
Milan Mimica, Peter Wang.

Graphics:

- Fixed a bug where the "display" field of a bitmap was not correctly reset
when it was transfered to another display on OS X.

- Made al_create_display() respect al_set_new_window_position() on OS X.

- Fixed the bug that caused input focus to be lost in OS X when a
window was resized.

- Made resizable Allegro windows respond properly to the green "+" button at
the top of the screen on OS X.

- Properly implemented fullscreen resize in WGL.

- Made the memory blenders work the same as the hardware ones.

- Made al_get_pixel()/al_draw_pixel() handle sub bitmaps in case the bitmap
was locked.

- In the OpenGL driver, if the bitmap is locked by the user, use memory
drawing on the locked region.

- Added implementations of al_inhibit_screensaver() for the X and Mac OS X
ports.

- Added multi-monitor support to Mac OS X port (untested!).

- Other fixes.

Input:

- Made al_get_keyboard_state() return structures with the `display' field
correctly set.

- Made keyboard event member 'unichar' uppercase when Shift/CapsLock is on,
in Windows.

- Made mouse cursor show/hide work with Mac OS X full screen.

Config routines:

- Preserve comment and empty lines in config files when writing.

Addons:

- Add a simple interface layer for kcm_audio.

- Made kcm_audio objects automatically be destroyed when it is shut down.

- Renamed functions in kcm_audio to conform better with the rest of the
library.

- Made the TTF addon aggregate glyph cache bitmaps into larger bitmaps for
faster glyph rendering (less source bitmap switching).

Examples:

- Add an example to test the ALLEGRO_KEYBOARD_STATE `display' field.

- Add an example for testing config routines.

- Add an example for checking software blending routines against hardware
blending.

- Add an example for the simple interface for kcm_audio.

Note there is a known minor problem with the ex_blend2 example on X.

Evert
Member #794
November 2000
avatar

Quote:

Note there is a known minor problem with the ex_blend2 example on X.

It doesn't show up in Windows? Weird.
It does show up in OS X as well, so I just assumed it was a general problem that showed up everywhere.

Milan Mimica
Member #3,877
September 2003
avatar

Quote:

It doesn't show up in Windows?

It does. It's a general OpenGl problem.

nonnus29
Member #2,606
August 2002
avatar

Awesome! So two more releases and then 5.0 will be out? At this rate that will be in March 2009?

Milan Mimica
Member #3,877
September 2003
avatar

4.9.9 + 0.0.1 = 4.9.10
:P

Evert
Member #794
November 2000
avatar

Quote:

So two more releases and then 5.0 will be out?

Nope, at that point we'll hit 4.9.10.
We'll hit 5.0 when all features are implemented on all platforms (getting there), all standard addons are present and functioning (getting there too), after several rounds of bug fixing (loads of that going on) and after the documentation is somewhat comparable to the 4.2 documentation (I don't think it'll be quite up to that level initially; the 4.2 documentation is the result of more than 10 years of improvement, but it should be usable).
So it's coming, but it's done when it's done.

Quote:

At this rate that will be in March 2009?

That entirely depends on the rate at which some things will get done. Things tend to speed up and move quickly and then slow down again for a while. It's hard to predict.
There is a target date that's been discussed. You'll find out what it is if we meet it.

Thomas Fjellstrom
Member #476
June 2000
avatar

Yeah, I really need to get the fs docs done and the X multi monitor stuff as well :( The good news is nvidia might get XRandR 1.2 support before we have to release. Which would be nice.

--
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

Trent Gamblin
Member #261
April 2000
avatar

For those who would prefer binaries for Windows, I have MinGW files up at http://www.allegro5.org. MSVC files will come soon.

Kibiz0r
Member #6,203
September 2005
avatar

Is it safe for Allegro# to start targeting A5 yet?

Thomas Fjellstrom
Member #476
June 2000
avatar

Quote:

Is it safe for Allegro# to start targeting A5 yet?

I hate to hazard a guess, but I'd have to say yes. I don't see any obvious large changes coming. Maybe additions, maybe some removals, but no large wholesale changes of the api.

--
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

Evert
Member #794
November 2000
avatar

Quote:

Is it safe for Allegro# to start targeting A5 yet?

Probably. The big API change this time round is the renaming of functions in the kcm_audio addon, there might be a few more but there shouldn't be too many major changes coming up. If you're fine with possibly having to redo some minor things like that I don't see why you couldn't get started.

Trent Gamblin
Member #261
April 2000
avatar

Trying to build it with msvc, I get some errors from kcm_audio:

11>------ Build started: Project: kcm_audio_shared, Configuration: Debug Win32 ------
21>Linking...
32>------ Build started: Project: kcm_audio-debug_shared, Configuration: Debug Win32 ------
42>Linking...
51> Creating library C:\Users\trent\4.9.7\mgwpvs\lib\Debug\kcm_audio.lib and object C:\Users\trent\4.9.7\mgwpvs\lib\Debug\kcm_audio.exp
62> Creating library C:\Users\trent\4.9.7\mgwpvs\lib\Debug\kcm_audio-debug.lib and object C:\Users\trent\4.9.7\mgwpvs\lib\Debug\kcm_audio-debug.exp
71>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_init_destructors referenced in function __al_kcm_init_destructors
81>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_shutdown_destructors referenced in function __al_kcm_shutdown_destructors
91>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_run_destructors referenced in function __al_kcm_shutdown_destructors
101>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_register_destructor referenced in function __al_kcm_register_destructor
111>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_unregister_destructor referenced in function __al_kcm_unregister_destructor
121>C:\Users\trent\4.9.7\mgwpvs\lib\Debug\kcm_audio.dll : fatal error LNK1120: 5 unresolved externals
132>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_init_destructors referenced in function __al_kcm_init_destructors
142>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_shutdown_destructors referenced in function __al_kcm_shutdown_destructors
152>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_run_destructors referenced in function __al_kcm_shutdown_destructors
162>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_register_destructor referenced in function __al_kcm_register_destructor
172>kcm_dtor.obj : error LNK2019: unresolved external symbol __imp___al_unregister_destructor referenced in function __al_kcm_unregister_destructor
182>C:\Users\trent\4.9.7\mgwpvs\lib\Debug\kcm_audio-debug.dll : fatal error LNK1120: 5 unresolved externals
192>Build log was saved at "file://c:\Users\trent\4.9.7\mgwpvs\addons\kcm_audio\kcm_audio-debug_shared.dir\Debug\BuildLog.htm"
202>kcm_audio-debug_shared - 6 error(s), 0 warning(s)
211>Build log was saved at "file://c:\Users\trent\4.9.7\mgwpvs\addons\kcm_audio\kcm_audio_shared.dir\Debug\BuildLog.htm"
221>kcm_audio_shared - 6 error(s), 0 warning(s)
233>------ Build started: Project: a5_acodec-debug_shared, Configuration: Debug Win32 ------
244>------ Build started: Project: a5_acodec_shared, Configuration: Debug Win32 ------
253>Linking...
264>Linking...
274> Creating library C:\Users\trent\4.9.7\mgwpvs\lib\Debug\a5_acodec.lib and object C:\Users\trent\4.9.7\mgwpvs\lib\Debug\a5_acodec.exp
283> Creating library C:\Users\trent\4.9.7\mgwpvs\lib\Debug\a5_acodec-debug.lib and object C:\Users\trent\4.9.7\mgwpvs\lib\Debug\a5_acodec-debug.exp
293>Embedding manifest...
304>Embedding manifest...
313>Build log was saved at "file://c:\Users\trent\4.9.7\mgwpvs\addons\acodec\a5_acodec-debug_shared.dir\Debug\BuildLog.htm"
323>a5_acodec-debug_shared - 0 error(s), 0 warning(s)
334>Build log was saved at "file://c:\Users\trent\4.9.7\mgwpvs\addons\acodec\a5_acodec_shared.dir\Debug\BuildLog.htm"
344>a5_acodec_shared - 0 error(s), 0 warning(s)
355>------ Skipped Build: Project: INSTALL, Configuration: Debug Win32 ------
365>Project not selected to build for this solution configuration
37========== Build: 2 succeeded, 2 failed, 75 up-to-date, 1 skipped ==========

Anyone know what this is about?

Evert
Member #794
November 2000
avatar

It seems to not be linking in kcm_dtor. That's a new file, I think, but not sure what would cause it to be included for MinGW but not MSVC.

Peter Wang
Member #23
April 2000

I think you need to add aintern_dtor.h to misc/scanexp.c and rerun fixdll.

If that's the only problem I'll release 4.9.7.1 later.

Trent Gamblin
Member #261
April 2000
avatar

Sorry for the delay. That fixed it. Cheers.

Matthew Leverton
Supreme Loser
January 1999
avatar

My first Allegro 5 game:

{"name":"597251","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/5\/c55173368bd27bf0b0a0a5b2e1271a7f.png","w":656,"h":516,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/5\/c55173368bd27bf0b0a0a5b2e1271a7f"}597251

;D

What's the status of the drawing primitives? There didn't seem to be any filled polygon routine, so I wrote my own outline polygon function by piecing al_draw_line()s together.

Thomas Fjellstrom
Member #476
June 2000
avatar

If you need a filled polygon, use GL :) its natively supported.

Or wait a bit, the next release should have some allegro api like functions for primitives. Everyone is pressuring SiegeLord as much as they dare to at least get what he has in svn, so others can start looking at it. :)

edit: Can you post source for the speed a5 port? I'd like to see how it plays on my desktop and laptop :)

--
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

Evert
Member #794
November 2000
avatar

Quote:

What's the status of the drawing primitives?

Should be listed here: http://wiki.allegro.cc/index.php?title=NewAPI/Primitives#Status

Quote:

There didn't seem to be any filled polygon routine, so I wrote my own outline polygon function by piecing al_draw_line()s together.

I guess it might be useful to contribute code for that; best to ask SiegeLord though, he's doing the primitives addon.

SiegeLord
Member #7,827
October 2006
avatar

http://wiki.allegro.cc/index.php?title=NewAPI/Primitives#Status :P
I'm working on it!

EDIT:
I wasn't planning on making general polygon routines, sort of planning on telling the user to triangulize the outline himself and then use triangles. This might be useful, I guess.

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

Thomas Fjellstrom
Member #476
June 2000
avatar

Actually, if someone has the time, a set of tessellation functions may prove very useful to many Allegro 5 users. That way no-one has to depend on glut or d3dex stuff directly (or at all).

--
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

Evert
Member #794
November 2000
avatar

Quote:

Actually, if someone has the time, a set of tessellation functions may prove very useful to many Allegro 5 users. That way no-one has to depend on glut or d3dex stuff directly (or at all).

I have a piece of code somewhere that computes the Voronoi tessellation for a collection of points; one of the intermediate steps is to compute the triangulation of a graph. I don't know how well-written that piece of code is (it might be horrible for all I can remember), but if someone thinks they have a use for it as something to get started on, let me know.

Matthew Leverton
Supreme Loser
January 1999
avatar

Quote:

I wasn't planning on making general polygon routines, sort of planning on telling the user to triangulize the outline himself and then use triangles. This might be useful, I guess.

I think all of Allegro 4's drawing primitives are useful enough to be included in either the base distribution or as a bundled add-on.

Some other notes converting Speed to A5:

Window resizing works great (a little lagged) in OpenGL, fails in D3D.

Is there any default font with the font add-on or must you load one from file?

Can I manipulate voices / samples as with Allegro 4? Basically I need to create a few samples (e.g. saw or sine wave), and then play them back at different frequencies to get different notes.

It looks like everything (regarding to sound) is implemented based on a quick look at the documentation, but I don't want to get started if it won't work.

Evert
Member #794
November 2000
avatar

Quote:

Is there any default font with the font add-on or must you load one from file?

No default font, you'll have to load one from file.

Quote:

Can I manipulate voices / samples as with Allegro 4? Basically I need to create a few samples (e.g. saw or sine wave), and then play them back at different frequencies to get different notes.

Should work, I think. Have a look at ex_saw.c
However - the method for getting/setting the frequency (or other sound-related settings) is still on the list of API changes to be made.

Trent Gamblin
Member #261
April 2000
avatar

Quote:

Window resizing works great (a little lagged) in OpenGL, fails in D3D.

What do you mean by that? al_resize display or dragging a resizable window? Do ex_multiwin, ex_resize, and ex_resize2 also crash? If so what do you get in allegro.log when linking with a debug lib?

Matthew Leverton
Supreme Loser
January 1999
avatar

Those programs don't crash. SPEED works if I don't acknowledge the resize event, but then it just stretches without updating the resolution.

If I acknowledge it, the screen stops updating and the Visual Studio log says "The thread 'Win32 Thread' (0xe5c) has exited with code 0 (0x0)."

ALLEGRO_SYSTEM_INTERFACE created.
al-winput INFO: Input thread started.
Render-to-texture: 1
faux_fullscreen=0
Normal window
BeginScene succeeded in create_device
Success
_al_d3d_sync_bitmap (system) ref count == 1
_al_d3d_sync_bitmap (video) ref count == 2
_al_d3d_sync_bitmap (system) ref count == 1
_al_d3d_sync_bitmap (video) ref count == 1
d3d display thread exits
calling dtor for object 02278A38, func 10022030
calling dtor for object 04930DF0, func 10022030
al-winput INFO: Input thread quit request was sent.
al-winput INFO: Input thread closed.

Can CMAKE be set up to have MSVC build the pdb files? Right now the "debug" Allegro libraries are built with optimizations enabled and debug mode off.



Go to: