[AD] New patch for BeAllegro |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
Ok, I've finally had the time to sit down and continue my work where I
stopped a while ago...
I've added to the sourceforge page a new patch that adds the following things
to BeAllegro:
- Variable names are now namespace compatible.
- Various windowed driver fixes: now you can switch color depth at runtime
and the Allegro program will always work nicely. I've tried every combination
of Allegro depth / Be depth (switching modes on the fly while the programs
were running), but I'd like to know if you find problems again on this topic.
- Increased window drawing thread priority to realtime priority (now it looks
MUCH smoother).
- Now scrolling and virtual resolutions are disabled in windowed mode.
- Display mode switching routines. Now BeAllegro supports -all- the Allegro
display switch modes... More on this below.
Now some notes:
I've read the discussion about fullscreen virtual resolution and the virtual
width problem; well, I've hacked the virtual resolution setup routine because
it was causing BeAllegro to crash on my system (Personal Edition 5.0.3). Now
it runs smoothly, but it seems it can't detect a region bigger than
1024x1024... For me (I have a TNT2 PCI) the test program scrolling test works
great and I have no problems. What do you get with it?
The mouse problem with the windowed gfx driver should be fixed; if you get
strange behaviours, try to restart the app, as sometimes it's Be itself at
fault, or simply move the mouse out of the program window and in again.
Ok, now about the display switching code: it supports SWITCH_PAUSE,
SWITCH_AMNESIA, SWITCH_BACKGROUND and SWITCH_BACKAMNESIA. SWITCH_NONE
actually works the same as SWITCH_BACKGROUND by default. At startup
SWITCH_PAUSE is selected automatically; of course display switching only
works if you're using the windowed gfx driver.
SWITCH_AMNESIA and SWITCH_BACKAMNESIA suspend the window drawing thread and I
think this is good for their purpose. SWITCH_PAUSE suspends all the Allegro
threads and does some other hacks to ensure everything stops (including
audio: about this, I've not been able to use suspend_thread() with the sound
thread, so I've put a dirty hack in bsndapi.cpp to make the sound to stop if
the app is paused. If you have a better solution, let me know it!). On the
other hand, SWITCH_BACKGROUND doesn't stop anything and your programs keep on
running behind.
Well, that's all. Let me know!
--
Angelo Mottola
a.mottola@xxxxxxxxxx
ICQ UIN 66972680