thobbsinteractive / magic-carpet-2-hd

Recode Binary code of game Magic Carpet2 to C/C++ language(remake MC2 for any platform)
GNU General Public License v3.0
27 stars 4 forks source link

patch: opening the spellbook in last level crashes the game #244

Closed rodan closed 1 year ago

rodan commented 1 year ago

this bug might depend on which spells are unlocked in the book. if you want I can give you my savegames. the patch comments out two zones of code. the inner one is using a pointer that has a wrong offset set.

you might want to re-enable the outer block after v9 is correctly initialized.

after applying the patch in chapter25 some useless spells disappear from the book, but at least the game is playable.

Program terminated with signal SIGSEGV, Segmentation fault.

warning: Section `.reg-xstate/3656' in core file too small.
#0  0x000055a4cd51c8a0 in sub_2DFD0 (posX=296, posY=732, a3=..., 
    a4=166 '\246')
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/sub_main.cpp:27530
bt
27530                                           *v9++ = x_BYTE_F6EE0_tablesx[0x4000 + v11];
[Current thread is 1 (LWP 3656)]
(gdb) bt
#0  0x000055a4cd51c8a0 in sub_2DFD0 (posX=296, posY=732, a3=..., 
    a4=166 '\246')
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/sub_main.cpp:27530
#1  0x000055a4cd51db53 in DrawBottomMenu_2ECC0 ()
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/sub_main.cpp:27910
#2  0x000055a4cd519752 in DrawGameFrame_2BE30 ()
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/sub_main.cpp:26544
#3  0x000055a4cd537ced in DrawAndEventsInGame_47560 (a3=2, a4=0, a5=64)
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/sub_main.cpp:38565
#4  0x000055a4cd53784f in sub_47320_in_game_loop (a1=0)
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/sub_main.cpp:38438
#5  0x000055a4cd536257 in sub_46830_main_loop (a2=0, a3=0)
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/sub_main.cpp:37893
#6  0x000055a4cd55df51 in sub_main (argc=1, argv=0x7fffa153ebc8)
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/sub_main.cpp:53165
#7  0x000055a4cd3bb677 in main (argc=1, argv=0x7fffa153ebc8)
    at /home/prodan/_work/linux/magic-carpet-2-hd/remc2/remc2.cpp:30

joystick change is unrelated, no clue how to remove it.

sonarcloud[bot] commented 1 year ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 10 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information