![]() ![]() ![]() So with our two additional integers total size equals 16. And that works well until 64-bit comes on scene where size of extra window memory for 'Edit' window class equals 8 bytes. And to get offset for v17 you have to subtract 4 from total (14) which gives you exactly 10 ( = 0xA in hexadecimal). To get offset for lpPrevWndFunc you have to subtract 8 from total (14) (which is done correctly). Call for GetClassLongA(hWnd, GCL_CBWNDEXTRA) returns us this total bytes of extra memory used. So plus our two integer (4 bytes) parameters gives total: 6+4*2 = 14 bytes. In 32-bit OS size of extra window memory for 'Edit' window class equals 6 bytes. But offset for the first one is hard-coded = 0xA. The second one is acquired correctly using offset in nIndex. Here we are getting two parameters: v17 - pointer to some Style data, and lpPrevWndFunc - pointer to parent callback. The problem was in hard-coded 0xA which is offset for parameter in extra window memory. LpPrevWndFunc = GetWindowLongA(hWnd, nIndex) NIndex = GetClassLongA(hWnd, GCL_CBWNDEXTRA) - 8 The patcher can even detect if Mastermind's patch has already been applied and will replace it. Civilization II Multiplayer Gold Edition.And customizing world size is like '100', 'TAB', '100', 'Enter'. So, the establishing city is now just 'B', 'Enter'. Unlike the existing well known patch by Mastermind it will retain the full functionality of edit controls including the response to the Enter, TAB or Escape keys. It eliminates game and editor crashes on 64-bit systems when the game tries to display edit controls (input fields) for entering text (like city name, emperor name, world sizes etc.). This is Civilization II 64-bit Editbox Patcher. And after a while I managed to make my own patch that works without any side effects. Yes it allows to run game on 64-bit but the normal key-processing for input fields was broken. Finally I realized that problem was in Mastermind's patch. Suddenly I took debugger and dive deep in assembly code for a week. I remembered that sometime in the past everything worked fine. It was little annoying to press 'B' to build city and after that move mouse to hunt OK button rather than just press Enter. And always confusing about input fields not reacting on keyboard strokes like Enter, TAB or Esc. I was playing Civilization 2 MGE many years on my windows 7 64-bit. I suppose it is possible that the most recent update on 21 April has corrected a glitch in the offending one, so it may have been a temporary problem. Tomorrow I will try reinstalling the offending update, just to check it is the culprit. When I restarted my laptop just now after uninstalling the Windows update, I found it had installed another security update (KB5000808, installed 21 April) but this doesn't seem to have affected Civ2. I thought you may want to know in case others experience the same issue. I uninstalled KB5001337, tried Civ2 again, and to my joy the Tax Rate sliders have reappeared! Looking in the Windows updates history, I saw there were two security updates on 18 April, KB5001337 and KB5001406. I tried relaunching Civ2, restarted the laptop, uninstalled and reinstalled Civ2 from the CD - all to no avail. Today, I found the sliders had disappeared from the Tax Rate window, so I had no way of changing the tax/science/luxuries rates. Thanks for your excellent work on your Civ2 Patcher, which I have used for years with Multiplayer Gold on Windows 10 - it has given me great enjoyment. Nevertheless, I want to present you yet another patch. I know that more than 10 years have passed since the Mastermind's patch was presented to run the game on the 64-bit systems. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |