VOGONS


First post, by Raymond C. Glassford

User metadata
Rank Newbie
Rank
Newbie

I recently purchased Hexen 1.0 and the Hexen add-on, 'Deathkings of the Dark Citadel', on CD. Hexen 1.0 must be patched to Hexen 1.1 before 'Deathkings of the Dark Citadel' can be used. The 'Deathkings of the Dark Citadel' CD includes the necessary patch. Unfortunately, Mandriva Linux 2007.0 sets the file timestamps to the current date and time, making this the case also for DOSbox-0.72. The current filestamps cause the patch program to abort with the message "... hexen.exe does not have the correct date."

I have used the Linux 'touch' command to reset the timestamps for hexen.exe and hexen.wad to 1995-10-13 14:13, which is the timestamp for hexen.wad on the CD. The file hexen.exe is not accessible on the CD; it is generated only after the CD's install.bat file is run, so I am not certain what its timestamp would read if it was installed using MS-DOS.

I would like to know if anyone using Linux and DOSbox has found a workaround for this problem, or something similar for another game. I experienced the same problem when trying to patch Doom 2 1.666 to Doom 2 1.9, and never did find a solution (my download could have been the officially designated 'pirated' release). I would also appreciate it if someone could provide the original timestamps, preferably for all files, when Hexen 1.0 on CD is installed using MS-DOS, or DOSbox running under Microsoft Windows. When I have the timestamps for at least both hexen.exe and hexen.wad, I could try to see if the timestamp format is causing the problem. Perhaps, changing 'yyyy-mm-dd' to 'mm-dd-yyyy' will be the solution.

Last edited by Raymond C. Glassford on 2007-11-13, 14:01. Edited 1 time in total.

Reply 1 of 11, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Usually those old patches and addons can be uncompressed with decompression tools and manually copied to the game directory.

They usually use LHA or zip so any Rar/7zip should handle them fine....

How To Ask Questions The Smart Way
Make your games work offline

Reply 2 of 11, by Neville

User metadata
Rank Oldbie
Rank
Oldbie

I found many of those problematic too, many of the fixes / updates to DOS games expect to be run from floppies, and copying the contents to a single folder and mounting it as a floppy doesn't always work when the install script calls for disk #2 to be inserted.

So far my best shot has been to pack them in IMG floppy images with WinImage and run them under Virtual PC. VPC has many limitations, but I like the way it handles floppies / IMG files, allowing you to insert new ones on the fly.

Don't know how to do that with DOSBox yet.

Reply 3 of 11, by Raymond C. Glassford

User metadata
Rank Newbie
Rank
Newbie

I can decompress and install all necessary files to perform the patch using DOSBox, but when I actually try to execute the patch program it complains about finding hexen.exe with the wrong date. (According to the documentation, both hexen.exe and hexen.wad need to have the correct timestamps.)

My PC has only Mandriva Linux 2007.0 installed, which uses the timestamp format yyyy-mm-dd, rather than the MS-DOS timestamp format of mm-dd-yyyy. Thus far, I have not found any way to change the Linux timestamp format globally, nor are any of the common MS-DOS timestamp utilities effective in solving the problem.

It looks like the only solution will be to find a download for hexen.wad (version 1.1). With that I will be able to run Hexen using Vavoom, and I should also be able to run the add-on, "Deathkings of the Dark Citadel." I will not be able to run DK using DOSBox, however.

Thanks for your responses.

Reply 4 of 11, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Raymond - there is no connection between how your operating system formats and displays the data/time, and how it is stored internally in the system. Something else besides the formatting of the time stamp is wrong.

Using 'touch' to correct the timestamps should be okay. The timestamp you input into touch is converted to the number of seconds since January 1970 (I think). And that is what is stored in the file system. How Linux then displays that to you, how it is formatted on the screen, is a whole different matter.

I wonder what it is exactly that the patch program is trying to obtain from the filesystem? On Linux, the file creation date is never stored. The touch command only affects the last modified date. I am not sure what DOS/Windows do. Maybe DOS/Windows also stores the creation date, but DOSBox on Linux simply returns 0 (or some random time stamp) when asked the creation date?

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 5 of 11, by leileilol

User metadata
Rank l33t++
Rank
l33t++

or reinstall from the actual cd, then use the patch. The problem here is that the wad was modified by something else.

Don't modify any files, then expect the binary patcher to work.

apsosig.png
long live PCem

Reply 6 of 11, by Raymond C. Glassford

User metadata
Rank Newbie
Rank
Newbie
MiniMax wrote:

Raymond - there is no connection between how your operating system formats and displays the data/time, and how it is stored internally in the system. Something else besides the formatting of the time stamp is wrong.

Using 'touch' to correct the timestamps should be okay. The timestamp you input into touch is converted to the number of seconds since January 1970 (I think). And that is what is stored in the file system. How Linux then displays that to you, how it is formatted on the screen, is a whole different matter.

I wonder what it is exactly that the patch program is trying to obtain from the filesystem? On Linux, the file creation date is never stored. The touch command only affects the last modified date. I am not sure what DOS/Windows do. Maybe DOS/Windows also stores the creation date, but DOSBox on Linux simply returns 0 (or some random time stamp) when asked the creation date?

You are absolutely correct. Fortunately, another VOGONS member has assisted in solving this problem in another way and I won't be forced to continue 'fiddling' with Linux timestamps. I now have everything I need, and Hexen 1.1 and DKOTDC are now running perfectly under DOSBox and Mandriva Linux 2007.0.

All I can say with certainty is that trying to patch Hexen 1.0 to 1.1, using the official CD files, will not work in Linux. The patch executable finds hexen.exe okay, but does not find the file date it is looking for, so the program aborts. Linux seems to modify the timestamps in some way that prevents Hexen 1.0 from being patched.

Reply 7 of 11, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

Raymond - would it be possible for you to post details on how you solved it? Might help the next fellow with the same problem.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 8 of 11, by Raymond C. Glassford

User metadata
Rank Newbie
Rank
Newbie
MiniMax wrote:

Raymond - would it be possible for you to post details on how you solved it? Might help the next fellow with the same problem.

The solution to the Hexen patch problem is to find a download source for Hexen 1.1 and DKOTDC complete. VOGONS members who need more details can contact me personally.

Reply 11 of 11, by rogo

User metadata
Rank Newbie
Rank
Newbie

There actually is a solution without using unlicensed copies of the game(s). Raymonds initial idea was the right way to go. The patcher looks for the date 10-15-95. Using touch the command would look like:
$ touch -d '15 October 1995' /path/to/hexen/*.*

The patcher still gives me an error using this method, but the hexen.exe and hexen.wad files were both patched successfully.

Cheers, rogo