Displacer on 27/2/2007 at 13:08
The reason this does not work is because the routine that checks disk space uses the windows api call GetDiskFreeSpace, which does not work with drives over 2 gigs. I assume it would be a simple matter to replace this call with the GetDiskFreeSpaceEx api call, which works with all drives.
Bjossi on 27/2/2007 at 16:07
How can one change it so the game uses the other API call? :erm:
Nameless Voice on 27/2/2007 at 17:16
Why bother when you can just put skip_starting_checks into one of the .cfg files to get rid of the warning all together?
Kolya on 27/2/2007 at 18:10
Enchantermon said he tried that already.
David on 27/2/2007 at 20:25
A few people seem to be under the impression that the error is the one that appears when starting System Shock 2. It is not, it occurs when saving a game.
It's clearly stated that it happens when saving.
Enchantermon, when using a hard save does it work if you use a save slot that has already been used? It could be that your computer is having trouble creating the directory to put the save in.
I have no idea if Shock 2 needs to run as an Administrator in order for it to be able to do this.
ZylonBane on 27/2/2007 at 21:34
Quote Posted by Displacer
The reason this does not work is because the routine that checks disk space uses the windows api call GetDiskFreeSpace, which does not work with drives over 2 gigs. I assume it would be a simple matter to replace this call with the GetDiskFreeSpaceEx api call, which works with all drives.
Or even better, just NOP out the call and patch it to always report sufficient space. Anyone so low on drive space that they can't install SS2 already has bigger problems.
Displacer on 27/2/2007 at 22:59
Quote Posted by Nameless Voice
Why bother when you can just put
skip_starting_checks into one of the .cfg files to get rid of the warning all together?
This only works for the initial startup of the game. The save routine also calls the check disk space routine which contains the faulty api call, so this config item will do nothing for it.
Kolya on 28/2/2007 at 00:28
Enchantermon, I've spoken with all the experts and they agree you have to download at least 3gigs of porn/warez to get it to work again... :(
Enchantermon on 28/2/2007 at 15:34
Quote Posted by Nameless Voice
SS2 uses a 32-bit signed integer to store the amount of disk space available. Values can go from 0 to 2,147,483,647 bytes ( = 2048 MB = 2 GB). If there is more disk space than that, things get a little confused, and it starts counting again from zero.
So, if you have 2058MB of free disk space, then Dark will only detect the extra 10MB (2058 MB - 2048 MB = 10 MB).
Oh, okay. See, I could never get what I posted to work out quite right in my mind, but that makes much more sense. Thanks.
Quote Posted by David
A few people seem to be under the impression that the error is the one that appears when starting System Shock 2. It is not, it occurs when saving a game.
Correct, thank you, I've been trying to say that.
Quote Posted by David
Enchantermon, when using a hard save does it work if you use a save slot that has already been used? It could be that your computer is having trouble creating the directory to put the save in.
No, I was overwriting a previous save using a slot that was already used. I also had deleted other saves in hopes to free some space, but that didn't help either. I don't recall if I tried saving in an open slot or not, but I think I did and it didn't work.
Quote Posted by David
I have no idea if Shock 2 needs to run as an Administrator in order for it to be able to do this.
No worries about that for me; I am an admin.
I don't know if this would change anything, but I've previously run Knoppix on this computer. Is it possible that some read-only properties got left over and are messing this up? I noticed that some (if not all) of the stuff in my SS2 directory is read-only, and I tried to take that attribute off of everything in it at once (right-click on Sshock2, Properties, un-tick read-only attribute, click apply, click "apply changes to this folder, subfolder, and files," click ok), but the attribute remained unchanged. I also tried to remove it at the command line. It worked in the sense that it removed all of the read-only attributes for everything in the Sshock2 directory. The directory itself, however, in the Wondows Properties box, says it is still read-only, whereas the command line says it isn't. This probably doesn't have anything to do with the problem, but I thought it might be worth mentioning.
Kolya on 28/2/2007 at 16:44
Seriously now, if it's the same API call it can be tricked out by decreasing your HD space. Even if the skip start checks didn't work, this should work. So try adding 40MB of whatever and try playing again.