|
|
This thread is locked; no one can reply to it.
|
1
2
|
| Allegro current issues/problems |
|
Ultio
Member #1,336
April 2001
|
Under MacOS X: I think the project template (for Xcode [I have no idea about Project Builder as I do'nt have that software) should include allegro as and not #include <Allegro/Allegro.h> Since the former works fine, it's definitely a better idea as it supports cross compiling much better than the latter. AFAIK, Allegro installs it's headers into a general location that #include <allegro.h> will grab it properly on any system. Right? --- |
|
Sledge
Member #3,422
April 2003
|
Well I just returned to Allegro after a long period away so this is really jumping in with both feet: I'm getting an intermittent issue with an Allegro app' hanging in an odd way... the program keeps running but ignores the keyboard (can't tab out or anything, and any key being pressed at the time gets stuck as active) and although this will only occur every now and again it's a complete killer when it kicks in. Oddly, clicking the mouse sometimes seems to restore matters, as if the focus had been lost or something. Anyway, this is with the 4.1.16. devpack via the latest DevC++ - there's a massive, massive chance that I'm doing something dumb but the "bug" being hard to replicate (the same exe will run fine one time then suffer the next) AND being seemingly present in the demo game too makes me think it worth a mention. Maybe my keyboard is just cack. |
|
Peter Wang
Member #23
April 2000
|
sledge, do you know if it happens with 4.1.15? There were a couple of changes to the Windows keyboard driver in 4.1.16, though I don't think they should have any effect like you're seeing.
|
|
Richard Phipps
Member #1,632
November 2001
|
Other people have mentioned this as well. They seemed to fix the problems by using sleep(1) to restore the input thread. Could you try that? |
|
Sledge
Member #3,422
April 2003
|
Quote: sledge, do you know if it happens with 4.1.15? There were a couple of changes to the Windows keyboard driver in 4.1.16, though I don't think they should have any effect like you're seeing.
They only have the latest package over at devpaks.org and I don't see 4.1.15 on the Allegro homepage. I've played enough Vigilante to know that it definitely used to work at some point though Quote: Other people have mentioned this as well. They seemed to fix the problems by using sleep(1) I've tried a few fixes that I've seen suggested but had not spotted this - will give it a try, thanks (Fingers crossed!) |
|
Evert
Member #794
November 2000
|
Quote: They only have the latest package over at devpaks.org and I don't see 4.1.15 on the Allegro homepage. You can get older versions from the sourceforge page ([url http://sourceforge.net/project/showfiles.php?group_id=5665&package_id=40805]) Quote: They seemed to fix the problems by using sleep(1) to restore the input thread.
It'd be nice if people mentioned the problem and we can try to fix it rather than work around it though (which was sortof the point of this thread). |
|
Richard Phipps
Member #1,632
November 2001
|
Oops, sorry. I've never experienced it myself, just heard people talking about it. |
|
Kitty Cat
Member #2,815
October 2002
|
You might get behavior like this if you acquire a bitmap but don't release it (if it's not an Allegro example program) or it might be the way your system deals with mutex locks (ie. your system lets go of and re-locks the screen bitmap lock before the input thread can be locked to get input). Tthis is an X (and DirectX?) limitation that you can't get input while you have the screen locked. Yielding in the main loop should be just as effective as rest(1) if it's not that you're failing to release the screen. -- |
|
Sledge
Member #3,422
April 2003
|
Quote: You might get behavior like this if you acquire a bitmap but don't release it I'm pretty confident I'm locking and releasing properly as my blitting code is encapsulated in a single set of acquire/release instructions and the demo game exhibits the same problem as my pogram. So far using Sleep seems to have fixed matters (although it's obviously a bit difficult to prove that something doesn't exist so my fingers are still crossed that the problem is really gone!) but, having spent time testing different drawing methods to determine the fastest, I don't really now want to just give CPU cycles away. Can I expect either Sleep(0) or a Yield make less of a performance hit than Sleep(1)? I don't quite appreciate the distinction just yet [fumbles through docs]. Quote: get older versions from the sourceforge page Ah! If 4.1.15 is as straightforward to set up (prior to DevC++'s package system I had no confidence whatsoever that I would be able to reinstal Allegro in the event of a catastrophe and directed my attention elsewhere) I will give it a look. Thanks everyone. EDIT: Typo |
|
james_lohr
Member #1,947
February 2002
|
Here's my fix for allego's windows mouse driver: The changes: friendly htm format And here's the new wmouse.c file. If you want to test it, you don't even need to recompile allegro. Just stick the new dll into the same directory as whatever you are testing and it should work. If you downloaded Clovekx's Priority: Survive, then that's a good one to test it on. I've kept this patch as simple as possible, addressing only the main problem (messed up acceleration scaling) with the old code. So in terms of sensitivity, the mouse movement feels much as it used to. I have, however, written a slightly more complicated patch which, in my opinion, gives even better results. For the moment I'll just give the simple patch as it's real purpose is to fix a problem, not to tweak the mouse movement to my personal taste.
|
|
Richard Phipps
Member #1,632
November 2001
|
That was pretty simple. What is different with the more complicated patch? |
|
Evert
Member #794
November 2000
|
Cool, thanks! |
|
Richard Phipps
Member #1,632
November 2001
|
I wonder if the touch-screen problem can be fixed here too? But I think that's going to be a bit more complicated.. |
|
ImLeftFooted
Member #3,935
October 2003
|
Would it be a possibility to provide some C++ examples, that would only compile if its a C++ compiler, ofcourse. That way there could be some simple examples for handling units and other stuff in oop fashion. I'd love that sort of thing, but I know there are a few people who arent paticular for C++ very much. So.. what do you guys think? |
|
Kitty Cat
Member #2,815
October 2002
|
Quote: Can I expect either Sleep(0) or a Yield make less of a performance hit than Sleep(1)? I don't quite appreciate the distinction just yet [fumbles through docs]. You can use rest(0) to yield in a cross-platform way. Yes, using rest(0) should give better performance than rest(1).. since rest(0) will only give away the CPU if something's waiting and resturn ASAP, and rest(1) will give it away regardless. -- |
|
gnolam
Member #2,030
March 2002
|
ImLeftFooted: Hasn't got anything to do with Allegro... language tutorials are, and should be, a bit beyond the scope of Allegro's examples IMO. I would like to see the FAQ displayed in a more prominent place in the manual though - even with the updated layout it's still hidden in the middle of a lot of (for the newbie) unnecessary information under the heading of "miscellaneous". Heck, even I have problems finding the link when I'm just skimming the text, and I know where it is -- |
|
ImLeftFooted
Member #3,935
October 2003
|
Automatic multiline support for the gui alert function. (as in reading \n characters instead of having to supply three strings) Edit: Quote: ImLeftFooted: Hasn't got anything to do with Allegro... language tutorials are, and should be, a bit beyond the scope of Allegro's examples IMO. I didnt mean to suggest a language tutorial. What I'm meaning to suggest is an example program that demonstraits (a) technique(s) used commonly by game developers, but to not limit said example to C code. Hopefully that clears up what im trying to say a little bit. |
|
Evert
Member #794
November 2000
|
Quote: Would it be a possibility to provide some C++ examples, that would only compile if its a C++ compiler, ofcourse. There is a C++ test/example already. Most of the examples are simple enough anyway that you making an explicit distinction between C and C++ is overkill. Things like managing units more properly belong to a tutorial or demo game. Quote: I'd like to see [the FAQ] moved to say, right beneath "A general introduction to Allegro"... Makes sense to me. Quote: Automatic multiline support for the gui alert function. (as in reading \n characters instead of having to supply three strings) Yes! I actually have a custom routine that does just that (also takes a printf-style format string). Not sure why I never submitted it. Probably because the code is too ugly or gcc specific. |
|
Elias
Member #358
May 2000
|
Quote: I'd like to see [the FAQ] moved to say, right beneath "A general introduction to Allegro"... Yes, makes sense to me as well. The current docs layout is just the old one (the huge flat list of topics), subdivided into API, Platform specifics, Miscellaneous and Tools. Are there any other ideas what could be re-ordered? (I think in the FAQ, DJGPP problems should be moved down to the end. They certainly aren't asked frequently. Most of the FAQ actually seems a bit outdated.) -- |
|
|
1
2
|