I can’t help but recommend doing what OpenRCT2 did if you can
Keep the game playable for the entire process.
How?
Make your decomp into a DLL that’s injected into the main, original executable. As you add code to the decomp, make it so that calls to that code go to the decomp instead of the original. Over time, more and more of the game will be from the decomp, until one day you can simply replace the original executable, and in the mean time you can VERY easily check if your new code works, or at least doesn’t crash.
OpenRCT2 and OpenLocomotion both do this, and it’s a fantastic way to go about making these changes. And if you’re clever, you can also make it so you can at compile time decide if you want 1:1 recomp (assuming that’s a target) or 1:1 except for changes like widescreen support or what have you.
Having the project in a working state is super helpful to getting people involved. A playable game is a lot more fun than a black screen. That’s all :)