As we know, the only solution to the loadgame bug is not to load at all. Certainly, not many people can afford running the computer 24/24, but Windows does provide a way to "freeze" the state of the computer upon turn-off only to restore it completely on power on. In this way, the game will not know it has been switched off!
I had read about it in the twcenter forums and posted it here, but it went under in the thread "Have you been recently to .com". I have performed some tests over weekend and want to share the results with you.
1. How to hibernate.
a. Go to "Control Panel" -> "Energy Options" and turn the hibernation possibility on. (Note: this requires the amount of free space on your system partition equal to your RAM size). (Note2: this option is IIRC on by default, but many gamers turn it off for performance).
b. Play your game. When you want to finish, dont exit it, just go to Windows (you may use the ALT-TAB-DELETE to switch the focus from the game). Go to "Start"->"Shutdown", you should then see three options: "Standby", "Shutdown", and "Restart". Press and hold your SHIFT key, the "Standby" option changes to "Hibernate", click on it, voila.
c. When you restart Windows, you get an option to either load the hibernated state or start afresh - in this case the hibernated state is permanently lost.
WARNING: if your firewall was shutdown when you hibernated your computer (as is mine for offline playing), make sure you are physically disconnected from the internet on restart.
I want to mention that the tests were successful: upon restart, the game goes on as usual, without AI lifting its sieges unless forced to.
2. Problems with this approach.
a. In order to avoid loading a savegame, this approach requires that R:TW is running in background all the time you work on your comp. You "waste" like 256 MB of your RAM this way. The load on processor is not discernible for the minimised R:TW. (Good design, CA!).
b. While the abovementioned waste of resources is insignificant for the normal computer usage (home banking, writing letters, ...), I guess it rules some resource-heavy applications out, such as CAD or Il-2: Forgotten Battles.
c. Your R:TW gameplay is limited to a single campaign at a time. If you have two users playing different campaigns on the same computer (like I have, with my son), this is not a solution for you.
3. Workaround for these problems.
a. If I was able to catch the files (hyperfil.sys and the swap file) on my drive in a point between hibernating and de-hibernating, that would be a solution. I would copy them somewhere else, naming them appropriately as my "savegames-in-lieu". When needed, I would copy them onto my system partition(s) and de-hibernate the computer.
b. Of course, this way is not possible when Windows is normally running: the hiberfil.sys file gets emptied upon de-hibernation, ready for the next hibernation process.
4. Linux
a. I can catch those files, however, in their "hibernated" state, if I start Linux on my machine after I have hibernated the game. I can copy them onto my Linux partition (where I created a separate directory for the "savegames", huh) or burn them on a DVD (not tested - hardware lacking).
b. The final step would be to overwrite the current hiberfil.sys and the swapfile with the content of the apropriate "savegame" directory. Unfortunately, my version of Linux (Suse 9.1 standard) cannot write to the Windows partitions. Linux complains the filesystem mounted as read-only no matter how I umount and "mount -w" it... In fact, the documentation says it is not possible to write to NTFS partitions from outside of Windows...
c. A workaround to this would be to reinstall Windows on FAT32 filesystems. This would be a desperate measure since it deteriorates the performance and safety, and also it requires a complete re-installation of all my settings and programs. Linux would have to be re-installed as well, since the Windows setup does not support dual boots.
d. There is a less dramatic workaround to this. A new, non-standart ntfs driver for Linux exists on the internet, one which would allow to overwrite files without changing their size nor attributes. This would perfectly fit the situation. Unfortunately, I could not verify this, because there is no C compiler on my Linux (grrrr! I didn't know that it was possible to get Linux w/o a C compiler).
So that's it for now. If someone has any idea how to get further from this point please comment here.
Bookmarks