![]() |
|
Collaborators for Allegro Demo Game Competition? |
Carrus85
Member #2,633
August 2002
![]() |
Well, I compiled the most recently placed demo code by TH, and when it attempts to draw the screen, the program throws a windows error. Allegro 420b4, GCC v3.2.3 (Mingw). I would debug it, but I'm kinda at a lost when it comes to operating GDB... I kinda suck at it. That, and I can only run it thus far stepping (interestingly enough), not that it is horribly useful. (This debug version is compiled gcc -o AllegroDemoDebug.exe *.c -ggdb3 -lalld):
EDIT: Well, I forgot about backtracing. Here is the backtrace and a few lines before the crash (from GDB)
|
Peter Wang
Member #23
April 2000
|
Is this the problem with the missing thanks._tx? Just copy it from an Allegro distribution and put it in the same directory.
|
Carrus85
Member #2,633
August 2002
![]() |
Yes, I realized that after running it. Sorry for the false alarm!
|
Karadoc ~~
Member #2,749
September 2002
![]() |
Here's a post that's way off topic. I'm getting these big grey rectangles that cover up parts of the text. I've never seen anything like them before, and I have no idea what is causing them. I'm only seeing them in this thread. The space between these big grey rectangles is suspiciously close to the space between some of the normal images way down the thread. So maybe the two things are connected. I'm using Firefox 1.0.4, and I've got allegro set to display the whole thread is one window. Maybe someone else can see if they get the same behaviour? ----------- |
Thomas Harte
Member #33
April 2000
![]() |
Quote: Is this the problem with the missing thanks._tx? Just copy it from an Allegro distribution and put it in the same directory. Readme.txt should be copied also in order to make the bottom scroller work. Quote: Here's a post that's way off topic. In OS X Firefox I don't see that, but I do see some weirdness, as shown here. At first you might think if was one of those weirdo Microsoft GDI "not quite redrawn yet" errors, but OS X apps are double buffered so that isn't the case. Quote: I found a bug. When you change update methods, then enter the game, then go back to the menu, the menu graphics are wrong (a level texture appears where the dialogue boxes are) followed by a segfault if you try to reenter the game. Oh dear - sounds like a fault where my code and Miran's meet. So one of the hardest order to fix. I'll do what I can! Quote: About the animation - maybe adding some sort of delay when changing from one state to another would solve the flickering problem? As in the guy has to be airborne for at least 0.1 sec to have his frame changed to "mid-air" and so on... As for the pushing-off, I need to force myself to work on that frames more. The way it is now, he doesn't seem to put any effort into it... Good suggestion, I'll look into it! We definitely need sound effects for the skater. And one for when the exit door is opened. EDIT: meant to say - I've just implemented gamepad controls so the thing is very very near complete from a uer's viewpoint now. [My site] [Tetrominoes] |
Karadoc ~~
Member #2,749
September 2002
![]() |
Quote: In OS X Firefox I don't see that, but I do see some weirdness, as shown here. At first you might think if was one of those weirdo Microsoft GDI "not quite redrawn yet" errors, but OS X apps are double buffered so that isn't the case. There sure is something weird going on... I've got a theory on what is causing it, so let me just put this code box in...
I'll edit this message to tell you if it works. Quote: Ok, thanks, trying it now.. Hm, sigsegv :| The grey rectangles are the same size as the code boxes, and they have the same spacing between them, and the code box I put in this post created a new grey rectangle further up. So I'm certain that they are the cause. PS. sorry for disrupting the thread. ----------- |
miran
Member #2,407
June 2002
|
Quote: Oh dear - sounds like a fault where my code and Miran's meet. So one of the hardest order to fix. I'll do what I can! After successfully switching resolution, colour depth or update driver or whatever, two functions named unload_data() and load_data() are called so that all data is reloaded. This is required because bitmaps loaded in one colour depth won't work when this changes, or when a video memory double buffering driver is created/destroyed (because all video memory might become invalid). The solution is to put all bitmap and font loading and unloading in those two functions. That is after changing gfx options (when you select "apply" in the menus), all bitmap and font data should be destroyed and reloaded. Another thing that should be done is make sure bitmaps are loaded into video memory when the screen update driver uses video bitmaps (page flipping and triple buffering)... Btw, that's all in global.h and global.c... -- |
Dennis
Member #1,090
July 2003
![]() |
miran said: That is after changing gfx options (when you select "apply" in the menus), all bitmap and font data should be destroyed and reloaded.
I didn't read the whole thread, just wanted to make a small remark: --- 0xDB | @dennisbusch_de --- |
miran
Member #2,407
June 2002
|
Hmm, you have a point there. Not difficult to change, just move one function call a few lines up.... -- |
Thomas Harte
Member #33
April 2000
![]() |
Quote: After successfully switching resolution, colour depth or update driver or whatever, two functions named unload_data() and load_data() are called so that all data is reloaded. I discovered these last night. I had otherwise added an (optional) deinit function to all gamestates and used that in my game so that every time you enter the game all resources are loaded and set up and every time you exit they are freed - that being the fastest way of making that work. I am in the process of 'fixing' that bad behaviour. Quote: I don't know the exact interior workings of the directx port of allegros gfx functions but if it pretty much uses just what directdraw is providing directly, then all bitmap and font data should actually be destroyed before you switch gfx mode
Quote: Hmm, you have a point there. Not difficult to change, just move one function call a few lines up.... I have (just now) done the following: - moved update_driver.destroy from the top to the bottom of shutdown_framework (line 227 of framework.c) I hope I haven't missed anything? I've made a few tinkerous changes elsewhere in the menu system and framework (e.g. clearing the key buffer when moving menu, adding a call to install_timer, implementation of gamepad ...) so unless you've operated on the latest version, your changes may not be directly usable by me. P.s. does it play for everyone else with the mouse cursor on top? I've tried every method I can find in the Allegro manual to disable it but in OS X it just sits there on top regardless. EDIT: miran, is the data malloc'd by the VCONTROLLERs as private_data ever actually free'd? EDIT2: latest version attached - hopefully display changes are handled in the best possible way now, also gamepads are implemented and Miran's old scrolling text about racing is finally removed! Plus miscellaneous other small fixes. Oddly it seems to have lost 10kb since yesterday, so no doubt I've left something out... [My site] [Tetrominoes] |
miran
Member #2,407
June 2002
|
Quote: miran, is the data malloc'd by the VCONTROLLERs as private_data ever actually free'd? Yes, in destroy_vcontroller(...) in vcontroller.h/c -- |
Thomas Harte
Member #33
April 2000
![]() |
Quote: Yes, in destroy_vcontroller(...) in vcontroller.h/c Okay, good - I couldn't see a meaningful point in gamepad.c to insert it is why I was confused. [My site] [Tetrominoes] |
Dennis
Member #1,090
July 2003
![]() |
Compiler: MS VCPP6, AllegroVersion 4.20 beta 4 Thomas said: Oddly it seems to have lost 10kb since yesterday, so no doubt I've left something out... Could that have sth. to do with it?
--- 0xDB | @dennisbusch_de --- |
Elias
Member #358
May 2000
|
For some reason, VC6 doesn't understand declarations not at the beginning of a block. Need to either put { } around them, or move them all to the start. I think Allegro 4.2.0 is supposed to be the last version to support VC6, so that change must be made :| -- |
Evert
Member #794
November 2000
![]() |
Quote: For some reason, VC6 doesn't understand declarations not at the beginning of a block. That's because it's a C99 `feature'. Quote: Need to either put { } around them, or move them all to the start. Move them to the start. The game itself looks awesome! Cool work, guys! I have some trouble controlling the character, but that's probably just me. Some comments on the game:
EDIT: Quote: P.s. does it play for everyone else with the mouse cursor on top? I've tried every method I can find in the Allegro manual to disable it but in OS X it just sits there on top regardless. The mouse cursor should be hidden by default. Sounds like a bug in the OS X port to me... |
miran
Member #2,407
June 2002
|
Quote: it would be better if there were `default' key bindings so that I don't have to set my own before I can play All settings are stored in allegro.cfg. So all that needs to be done is set the default keys in the menus and then include the allegro.cfg file in the final release... -- |
deps
Member #3,858
September 2003
![]() |
Dennis
Member #1,090
July 2003
![]() |
Elias said: Need to either put { } around them, or move them all to the start.
Evert said: Move them to the start.
Thanks. Now it compiles. (attached is my compiled '.exe' (allegro is linked in statically)) --- 0xDB | @dennisbusch_de --- |
Elias
Member #358
May 2000
|
Hm, guess should run this through fortify, efence and valgrind -- |
Dennis
Member #1,090
July 2003
![]() |
Just in case it would be of any importance, the exact error msg reads: Quote: Die Anweisung in "0x00402502" verweist auf Speicher in "0x00000008". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden. which i translate to: Quote: The instruction in "0x00402502" references to memory in "0x00000008". "read" could not be executed on that memory. I think this message is quite useless though as the "0x00000008" address doesn't tell anything because of windows' virtual address space... --- 0xDB | @dennisbusch_de --- |
Carrus85
Member #2,633
August 2002
![]() |
Exact same error I was getting. Put the readme.txt and the thanks.tx_ from the allegro distribution into the games root directory.
|
Thomas Fjellstrom
Member #476
June 2000
![]() |
Quote: I think this message is quite useless though as the "0x00000008" address doesn't tell anything because of windows' virtual address space... An address that low is almost never (imo, never) a valid address. -- |
Goodbytes
Member #448
June 2000
![]() |
Thomas Harte: Here is a .zip with two potential sound effects. One is the door open sound (actually a sort of Zelda-style chime because I don't have a microphone cord long enough to reach my front door BTW, on the topic of sound issues, I liked the "pop" noise for collecting goodies, but the other one seemed out of place. I forget if you're doing some "random pitch" effects with the pop noise (you know, your sound playing function that treats a negative argument for pitch as a random pitch variation), but in my opinion, that would work well for all goodies. Also, the ocean wave sounds were a bit too loud for my tastes, but that could just be me wanting to hear my own music. [EDIT] And... why does credits.c say: "Welcome to the Allegro demonstration game, by Miran Amon." SPLITTER "Race computer controlled drivers around various tracks to win the world championship trophy." ? Oh, and please change Goodbytes in about_menu.c to Nick Davies. Sorry for asking so much, I know you must be very busy and stressed to meet the deadline! |
Michael Jensen
Member #2,870
October 2002
![]() |
The topic looks fine in Firefox 1.01... must be a new feature.
|
miran
Member #2,407
June 2002
|
Goodbytes said: And... why does credits.c say: .......
a long time ago Thomas Harte said: latest version attached - hopefully display changes are handled in the best possible way now, also gamepads are implemented and Miran's old scrolling text about racing is finally removed! Plus miscellaneous other small fixes.
-- |
|
|