PDA

View Full Version : weird bug with map extraction


pisto
9 Jun 2009, 20:43
This started happening lately, before map extraction worked fine, and I can't really say if I changed something in my windows settings or so.
When extracting a map from the replay, the short name plus is used instead of the normal filename plus .png

for example, the map output of
2009-06-09 19.08.41 [Offline] Pistoniani.WAgame
is
2009-0~1.WAG.PNG

:confused:

Muzer
9 Jun 2009, 20:50
My guess would be the vfat sector on your HDD got corrupted and your OS is falling back to old FAT. But if it's only happening with map extraction, I dunno :/

CyberShadow
9 Jun 2009, 20:59
W:A doesn't really do anything out-of-the-ordinary when saving PNG files. Check the integrity of your filesystem and see if any antivirus apps aren't locking the file while it's being saved/renamed OSLT.

pisto
9 Jun 2009, 21:19
indeed, my HDD is very faulty (tick-tack-tick-tick-track-freeze in reading writing for a while-back working) and it's supposed to die in a short time.

Deadcode
11 Jun 2009, 00:48
pisto, my first guess would be that the shell is calling "WA.EXE /getmap" with the short filename for some reason. W:A does not resolve the long filename; it uses whatever filename it was called with and changes the extension.

Try launching "WA.EXE /getmap file.WAgame" directly from a command line.

And if I were you, I'd copy everything off that faulty HDD and stop using it... but I don't see how that could be related to the long/short filename problem, if the directory browser you're launching "Extract Map" from is seeing the long filenames.

CyberShadow
11 Jun 2009, 01:50
Ooh, why hadn't I thought of that...

pisto
11 Jun 2009, 06:42
pisto, my first guess would be that the shell is calling "WA.EXE /getmap" with the short filename for some reason. W:A does not resolve the long filename; it uses whatever filename it was called with and changes the extension.

Try launching "WA.EXE /getmap file.WAgame" directly from a command line.

And if I were you, I'd copy everything off that faulty HDD and stop using it... but I don't see how that could be related to the long/short filename problem, if the directory browser you're launching "Extract Map" from is seeing the long filenames.
this is the command that I've overwritten in the registry: is that the problem?

C:\Programmi\Team17\Worms Armageddon\Wormkit.exe WA.exe /getmap "%1"

of course I tried to copy my hdd with various programs, both while windows is running and not, but they fail at some sectors and apparently there's no switch to plainly ignore it.
Today I'll try with a knoppix live cd and dd

Deadcode
12 Jun 2009, 17:38
this is the command that I've overwritten in the registry: is that the problem?

C:\Programmi\Team17\Worms Armageddon\Wormkit.exe WA.exe /getmap "%1"Assuming that is a verbatim copy+paste, you left out some needed quotes:

"C:\Programmi\Team17\Worms Armageddon\Wormkit.exe" WA.exe /getmap "%1"

But as I said, try launching this from the command line and see if it has the same short filename problem.

of course I tried to copy my hdd with various programs, both while windows is running and not, but they fail at some sectors and apparently there's no switch to plainly ignore it.
Today I'll try with a knoppix live cd and ddI'm pretty sure Linux + dd will be no more graceful at dealing with bad sectors.

The best way to go is to use a program that copies the disk image, like "dd", but when it reaches two bad sectors in a row, it skips a predefined number of sectors (say, 16 or even 32). Bad sectors and skipped sectors are filled in at the destination with a repeated pattern of "UNREADABLESECTOR", and the LBA of each of these skipped sectors is logged to a file on another disk.

Then on a second pass, the program attempts to read every skipped sector, using the log file as input. Successful reads are copied to the destination, overwriting the "UNREADABLESECTOR" pattern. Once the second pass is finished, additional passes are done until no "UNREADABLESECTOR" fills are remaining, or many passes have gone by with no new sectors being successfully read.

Some remaining bad sectors can be filled in with redundant data in the filesystem. For example, FAT32 has two copies of the FAT, and gaps in one can be filled in from the other.

I would NOT recommend using a program that tries to read a sector many times before giving up and moving on to the next. There's always the chance that a drive can die completely before the image-copy operation is complete.

Muzer
12 Jun 2009, 18:11
The best way to go is to use a program that copies the disk image, like "dd", but when it reaches two bad sectors in a row, it skips a predefined number of sectors (say, 16 or even 32). Bad sectors and skipped sectors are filled in at the destination with a repeated pattern of "UNREADABLESECTOR", and the LBA of each of these skipped sectors is logged to a file on another disk.
I think ddrescue does something like this. dd just stops if an I/O error occurs.

pisto
13 Jun 2009, 09:00
"C:\Programmi\Team17\Worms Armageddon\Wormkit.exe" WA.exe /getmap "%1"
it works, thanks. How come that quoting matters wiht long or short filenames?
I think ddrescue does something like this. dd just stops if an I/O error occurs.
I'm stuck, knoppix doesn't boot up on my pc (black screen with a steady dash).

Muzer
13 Jun 2009, 16:18
Try another distro. A text-based one will suffice.