DavidGriffith / daphne

First Ever Multiple Arcade Laserdisc Emulator
http://www.daphne-emu.com
GNU General Public License v2.0
24 stars 7 forks source link

Fix 'segfault' on SDL overlay games caused by negative vertical offset value #10

Closed DirtBagXon closed 4 years ago

DirtBagXon commented 4 years ago

in 'g_vertical_offset'.

We have to calculate vertical offset via different formula on __x86_64__ for 'Uint8 *gamevid_pixels'

This fixes: astron bega cobraab esh galaxy gpworld interstellar & roadblaster

Segfault example: Reading symbols from /home/user/Games/Daphne/daphne.bin...done. [New LWP 6945] [New LWP 6939] [New LWP 6944] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `./daphne.bin astron vldp -framefile /home/user/.daphne/vldp/astron/astron.txt -h'. Program terminated with signal SIGSEGV, Segmentation fault. at ldp-vldp.cpp:1780 1780 palette = &yuv_palette[*gamevid_pixels]; [Current thread is 1 (Thread 0x7f2bf0d74700 (LWP 6945))] (gdb) bt at ldp-vldp.cpp:1780 at vldp/vldp_internal.c:171 at pthread_create.c:456 at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 (gdb) quit