Warhorse64 -> RE: Windows 7 Compatibility (10/27/2009 1:07:28 AM)
|
quote:
ORIGINAL: TonyE Yes, it is more than just recompiling, even the 32-bit to 64-bit is more than recompiling, tried that and it is much easier than 16 to 32-bit. Anyway, the biggest direct difficulty in the 16 to 32-bit conversion is translation of the Windows API call. HC uses direct API calls, no MFC or other widgetset approach. In simple terms every chunk of code that sends something to the screen has to be modified with the 32-bit calls. That means thousands of code changes just to get it compiling (I did much of that procedure over a period of a couple of a few weeks a while back). You get lots of small issues there with the different flags for drawing (now a window might not size information like it used to, a button click no longer works cause Tony forgot a flag of some sort, etc.). On the whole that might be the less troublesome part of the translation, perhaps bigger is maintaining scenario compatibility. An Integer in 16-bit land is, well, 16-bits whereas in 32-bit land it is 32-bits so all of the places the code is silly enough to say Integer need to be reviewed with a fine-toothed comb. Everywhere bit shifting is used it has to be checked because some of the code expects a 16-bit number shifted a certain number of spots, if you just switch to a 32-bit number and shift the same number of bits, you'll often get the wrong result but you won't get any error or warning. That's what can really make the conversion challenging! My current view is that it is smarter and potentially less time consuming to build a new SE, and in the process start a new GE rather than sink almost endless hours into the existing code. You can read more about some of my ideas and a few of others (notice not nearly enough of others, nor commitments of time, nor anything even close to recent, etc. etc. etc.) http://harpgamer.com/harpforum/index.php?showforum=49 (note link to restructure ideas there which talks a little bit about 16->32-bit). Ye flippin' gods ... [X(]
|
|
|
|