Hotkeys F5-F8 no longer respond since following commits.
There are only 'skip'ped commits left to test.
The first bad commit could be any of:
cee06d07a736a77f0f33e4e9d7eb182ea707fa20
8a2cd19d95c4846e76381e46808a325875da5ecf
bae579ab9080a7da4d1f5b4753b1ac7b5456fe4f
4be0564bda962b7e2709e8c097ee22c766d5df50
aedf8c993b94c98c280d26eed7c8abc4f43c3f3c
7ec6f39dc80c89ca741efd14f58c8b63ce6d4bcc
f9558c81c49cc8bf57a0cf24a6128a7ed52571cb
29b9c99e5a79ebc5e98d7ddd57d46f2b21a98f15
59ccb89e12397dff0ef81b008e240db2d5d5f138
a939a7f0be6c1e37fc87cb471afb0453d511038e
df2e6b2bb9df2e079e0b5962a2c11c0dc4790da9
1657af4b083333f0352078bf30cb27489840f71c
6a8e2f0e25c02875432976a9014f6c7084be11d2
3008439bc7300b2c592fee996d5a4268567e3a8b
b01f1907b53587942ba3527e0401eed78c961c0d
1abb61cb640f7840971b1b31388378991d69c929
f57af2fa7d12b794e46e3d80d7d5211150e0c862
3a66af638dad39d87a1a174783d85954814ad9d2
6605e1de5ec648cf5f9e1cdfb7ba0a999d21bf3a
3f9398812a9c3be9a334226c792f42e330b42224
621477945901c33e92fcb97fd9c1f5914ae45307
6dd9e0dffd08313b883fa490e68bfe7388762d58
bc2ab2289c98f677ce2ecacea6efd4ef3b506fc7
9d028a418d9155105e7fe1dd1503c4b24c0a193d
e724668be50ec1069b0d871bade80739ca561884
3770c8551dc3f8d9820ab9929737b3619611a3c6
f761c737230352e1b2d494696a24e1bc9b014d87
4626450e11cc7a3ba5b916cde0dfed8f986319f7
c2587d9786649f62ae9e9d7438da536acf032213
629076db273dd3bc40f23714d21acb7ea06c2f4c
a6a89bca3a722d42a017f069f1587946089c8861
a1321539fb43b11b7cf72e6b47b65b6b559d735e
d6d60f0109178631397141d51f2b4be86375a477
09c41c666fd2a1700c74adf812f714bebc389092
ae52d223d1356db508cb257415754b22dc61521f
40ba1e7a6f536c05176e270c47a9e1b367e0de74
Select + A/B/X/Y doesn't work either (the keys seem to register but spells don't get switched)
Finally commit 40ba1e7 caused in Source/diablo.cpp by following lines.

nice find! lack of hotkeys was making the game unplayable for me : ) someone messed up it seems :D
Easy to find if a couple of lines can be reverted. :-)
as you can see, after this change the code doesn't work like because SetSpeedSpell and ToggleSpell got basically swapped
Yes, it was terrible that we both couldn't play because of that.
could you test if devilution is having the same issue?
Is it possible to compile devilution under debian linux?
no, I'll test it myself then, the code indicates that broken hotkeys in devilutionx mean they don't work in devilution as well so I'll fix them there :P
Understood. :-)
actually you can build it, but you will need wine to run it :/
fixed by https://github.com/diasurgical/devilution/pull/2010
thx @Chance4us :)
thx you too @qndel
@AJenbo
Would it be a bin exact compilation?
Is there anywhere a guide on what package I need to install and what commands are needed?
@Chance4us what do you mean by bin exact compilation?
@AJenbo
Would it be a bin exact compilation?
Is there anywhere a guide on what package I need to install and what commands are needed?
it woudn't be bin exact, but that can be done using our docker container (that how i do it), check the readme
https://github.com/diasurgical/devilution#compiling
https://github.com/diasurgical/riivaaja#running
It is somehow not entirely understandable.
After compiling with MinGW I get:
0009: err: module: import_dll Library libstdc ++ - 6.dll (which is needed by L "Z: \ Devilution \ devilution.exe") not found
But I will try a few more things.
Thank you guys.
It requires libstdc++-6.dll to run when compiled with MinGW, the alternative is to use the docker (riivaaja) approach, then it will be bin exact also.
If I try "docker run --rm -v $(pwd):/root/devilution diasurgical/riivaaja", I get the message
"bash: docker: command not found." So do I have to download docker somewhere, is there a download link? Is it a commercial software?
Yes, you need docker to run. No it is not a commercial software. You can find it here
https://www.docker.com/
sudo apt install docker.io
sudo adduser YOURNAME docker
Logout
I'm flashed guys. Thank you so much.
Does such a bug not break the bin exactness of functions due to the order change of the if operations? By the way, this bug is in devilution hellfire branch too.
we aren't checking bin exactness for specific functions, we only know that a function was there
Then did I misunderstand the following milestone?
https://github.com/diasurgical/devilution/milestone/3?closed=1
@Chance4us the code instructions where identical, but calling two different functions with the same signature only produces different memory references and so cannot be detected automatically. The issue was caused by some of the changes we did while cleaning up Hellfire and backporting it to Devilution. The fix will eventually be synced.
This has now been merged and so should work in master.
Most helpful comment
actually you can build it, but you will need wine to run it :/