Release dRally


Thank you jedi23 for this package.
For me the game always exits just after the race is over, anyone experienced the same ?
 
I do have the same issue.
I ran the game via Terminal to see the output when the game stops. It says
Code:
[dRally.System] Calling cleaning function @0x#######
This tells us that the program code somehow calls the exit routines after a race for unknown reason. At least the program is not crashing with a Bus error, etc.
 
Last edited:
Try to use GDB and set a breakpoint when the exit routine is called to see what function is calling this.
 
Thanks for your suggestion!
In gdb, the binary loads fine, but is it possible to run the binary with the preceding gl4es command? Debugging is nearly impossible when the program runs so slow without gl4es.
I did set a breakpoint to the exit function and the program stops right there but I am not able to see which routine called this function.

I also tried two different guis, but when I ran the binary there, the program quits and asks for the data files. What's the difference here?
 
Last edited:
In gdb, the binary loads fine, but is it possible to run the binary with the preceding gl4es command?
Yes type gl4es gdb drally and it runs fine.
I did set a breakpoint to the exit function and the program stops right there but I am not able to see which routine called this function.
type "bt" in gdb shell and it should show what portion of code it runs.

Anyway i compiled the game for Pandora and after a quick run...didn't noticed the problem you have on Pyra (i didn't have try the game on Pyra yet).
Have you changed something in code ?
Also you are interested in make a Pandora release ? if not i could release it.
 
Ok compiled also on Pyra and i have the same bug...but i don't know why on Pandora it's not present at all and the game just run fine.

Here is the gdb log
Death Rally *** Full Version 1.1
[New Thread 0xa4b643b0 (LWP 7165)]
[dRally.SOUND] Opening audio device.
[New Thread 0x949ff3b0 (LWP 7166)]
[dRally.SOUND] Audio opened: 22050 hz, 2 channels, 256 samples

Loading music & effects, please wait...
[dRally.SOUND] MSX: MEN-MUS.CMF, SFX: MEN-SAM.CMF
============= S3M resize: 505857 >>>> 53840
============= XM resize: 323793 >>>> 639
[dRally.Clean] ___12200h
[dRally.Clean] ___12a54h
[dRally.Clean] ___24ec0h
[dRally.Clean] ___2fc50h
[dRally.SOUND] MSX: TR5-MUS.CMF, SFX: GEN-EFE.CMF
============= S3M resize: 325036 >>>> 32048
============= XM resize: 385187 >>>> 1800

Thread 1 "drally_linux" hit Breakpoint 1, dRally_System_clean ()
at system_linux_c.c:147
147 dRally_System_doExitCallbacks();
(gdb) bt
#0 dRally_System_clean () at system_linux_c.c:147
#1 0x004067d4 in ___58b20h (err_n=14) at ___58b20h.c:50
#2 0x00403582 in dRMemory_free (mem=<optimized out>) at drmemory.c:73
#3 0x0043396a in race_free () at race_memory.c:110
#4 0x00422248 in race_main (MyIndex=<optimized out>, NumCars=NumCars@entry=4)
at race_main.c:837
#5 0x0040d6cc in ___33010h_cdecl (NumCars=NumCars@entry=4) at ___33010h.c:751
#6 0x00412ba2 in ___3266ch () at ___3266ch.c:247
#7 0x00436468 in shop_main () at shop_main.c:207
#8 0x00433fdc in menu___194a8h_2 () at menu___194a8h.c:99
#9 0x00433bf6 in menu_main () at menu_main.c:220
#10 0x004064d2 in ___3e720h () at ___3e720h.c:66
#11 0x0040295a in main (argc=<optimized out>, argv=<optimized out>)
at drally.c:43
(gdb)
Interesting is #1 ....(err_n=14) at ___58b20h.c:50
where i found...
unsigned char err_l[] =
"\x01" "Unable to allocate sufficient amount of Base Memory!\0"
"\x02" "Unable to free Base Memory block!\0"
"\x03" "Unable to change the size of a Base Memory block!\0"
"\x04" "Unable to allocate sufficient amount of Flat Memory!\0"
"\x05" "Unable to free Flat Memory block!\0"
"\x06" "Unable to change the size Flat Memory block!\0"
"\x07" "Flat Memory block handle has changed while resizing!\0"
"\x08" "Selector Allocation failed! Not enough Selectors!\0"
"\x09" "Selector Deallocation failed!\0"
"\x0a" "Unable to set Selector's Base!\0"
"\x0b" "Unable to set Selector's Limit!\0"
"\x0c" "...\0"
"\x0d" "Unable to allocate sufficient amount of Heap Memory!\0"
"\x0e" "Unable to free a Heap Memory block!\0"
"\x0f" "Unable to change the size of a Heap Memory block!\0"
"\x10" "You need at least a standard VGA!\0"
"\x11" "Integrity Failure! File '%s' has been changed!\0"
"\x12" "File Error! Couldn't find Archive '%s'!\0"
"\x13" "File Error! Couldn't find File '%s'!\0"
"\x14" "File Error! Couldn't find File '%s' inside Archive '%s'!\0"
"\x15" "Unable to create Memory Log File '%s'!\0"
"\x16" "Unable to write to Memory Log File '%s'!\0"
"\x17" "Heap memory block size exceeded!\0"
"\x20" "SoundBlaster or compatible initialization failed!\0"
"\x21" "SoundBlaster or compatible I/O Error!\0"
"\x28" "Sound Module '%s' is invalid!\0"
"\x29" "Sound Module '%s' doesn't contain any data to play!\0"
"\xff";
"\x14" "File Error! Couldn't find File '%s' inside Archive '%s'!\0"

but the datas are the same as on Pandora...

hope someone could help.
 
New build uploaded.
I found out that if I build the game in Debian 11, the game behaves as intended! And it still does run in buster!

Yes type gl4es gdb drally and it runs fine.

type "bt" in gdb shell and it should show what portion of code it runs.

Anyway i compiled the game for Pandora and after a quick run...didn't noticed the problem you have on Pyra (i didn't have try the game on Pyra yet).
Have you changed something in code ?
Also you are interested in make a Pandora release ? if not i could release it.
At least I got now accustomed a bit to GDB. It surely will come in handy in future projects!
The only change I needed to make was within the Makefile. I had to delete -DDR_LETTERBOX so that the full screen (but still windowed) is shown during a race. A fullscreen mode is not (yet) implemented by the developers.
Feel free to do a Pandora release. I don't have a Pandora.
 
Last edited:
Back
Top