I still suggest going through a 2018 (the working copy I gave just recently) and the 2021 version, and comparing all the different files.
Using FreeFileSync, not counting the new files that would be added, there are 951 files that are different:
Then you have to go through every one of them, compare them, and modify what is different in the 2018 working version, that is specific to making it work with Maelstrom. Here is that MAXIMUS comparison:
Some things are because they were Storm 2.8 fixes, like replacing all ResetSoundScheme(); calls in every file except sound.c, with ResetSound();
There are lots of things, but the only way to find them all is compare those 900+ files to be sure you get them all. Then in the case of things like the ResetSoundScheme thing, is to do a global search of all the files, because some files are newly added and there is no comparison to do, and if they contain things that we know need to change, you have to search for them.