www.digitalmars.com         C & C++   DMDScript  

digitalmars.empire - Access Violation Error Message

reply Tony <t_ferd yahoo.com> writes:
I have been playing the game on Windows XP with out issues, 
However whenever I try to play a previously saved game on a 
Windows 7 or Windows 10 OS I get a Access Violation error 
message.  is there away to play previously saved games on a 
Windows 7 or Windows 10 platform?
Jun 25 2016
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 6/25/2016 4:45 PM, Tony wrote:
 I have been playing the game on Windows XP with out issues, However
 whenever I try to play a previously saved game on a Windows 7 or Windows
 10 OS I get a Access Violation error message.  is there away to play
 previously saved games on a Windows 7 or Windows 10 platform?
I'm afraid not, as the game save simply writes the memory it is using out to disk.
Jul 11 2016
parent Lucien Baumann <lucien1276 gmail.com> writes:
On Monday, 11 July 2016 at 22:16:24 UTC, Walter Bright wrote:
 I'm afraid not, as the game save simply writes the memory it is 
 using out to disk.
The only problem is when the pointers are restored from the file. There are only three pointers for each player in the EMP file: the map, the display and the current unit. The map pointer is overwritten at lines 235 & 239 in var.d. The current unit pointer is set to null at line 242 in var.d. The display pointer is set to a new display at line 1324 in winmain.d. The only instruction that causes the crash is at line 1320 of winmain.d. It uses the restored display pointer of player #0 to do display.text.TTinit(). But since the player #0 is not a real player, we can just remove that instruction. I patched the EXE with NOPs replacing line 1320, and it works.
Oct 30 2016