I posted this elsewhere originally but was gently reminded that that wasn't appropriate so I think this is the right place (If not then please advise and/or move to the correct one).
I have a request :
I've heard tell of one or more of the modders here who edit stuff within the RAM of CivIII itself as and when it's running. I've always made my amendments by tweaking the Saved Game files (An advantage of which being that if I b*lls-up then the file load fails and I know to discard those changes.) but it occurred to me that the idea of tweaking within the RAM of the program itself is actually quite an exciting idea.
Thus, I wonder if anyone could point me to where the software is to allow this, and perhaps a few starter tips on how to do things safely and not cr*p all over my system.
An added bonus would be that others may well, like me, find the idea exciting and learn something interesting.
An (Abbreviated) response from my original version was :
I have a request :
I've heard tell of one or more of the modders here who edit stuff within the RAM of CivIII itself as and when it's running. I've always made my amendments by tweaking the Saved Game files (An advantage of which being that if I b*lls-up then the file load fails and I know to discard those changes.) but it occurred to me that the idea of tweaking within the RAM of the program itself is actually quite an exciting idea.
Thus, I wonder if anyone could point me to where the software is to allow this, and perhaps a few starter tips on how to do things safely and not cr*p all over my system.
An added bonus would be that others may well, like me, find the idea exciting and learn something interesting.
An (Abbreviated) response from my original version was :
I have done some very preliminary explorations of that area, and hopefully that program is still somewhere on my hard drive, although I can't remember where I had it and my last search for it a couple weeks ago was unsuccessful. It used the Windows Debugging Functions API, notably the WriteProcessMemory function. That allows you to write data to memory locations of a running process, provided you've used the other appropriate debugging APIs to gain access to it. I've used it while logged in to an admin account (which may be important; not sure) on XP and 8.1.
The nice thing about modern versions of Windows is that they also have memory protection, so as long as you make sure you open the write process - Civ 3 - the only thing you can mess up is Civ 3. Though it's very possible to mess up and crash it.
Edit: Found it, and uploaded it here. The code quality is lower than I remembered and it doesn't do much yet, but it can provide a starting point.