In order for Daggerfall (and potentially some other games as well) to work on
AMD64 systems when Dosbox is compiled as 64-bit, a change needs to be made to
drive_local.cpp or Daggerfall crashes before you can play the game.
The following patch should fix the problem and Peter Veenstra, one of the
Dosbox Coders plans to commit it to the CVS shortly. However since the ebuild
doesn't run off the CVS, perhaps the patch should be included since the bug in
question breaks some of Dosbox's functionality.
The patch is as follows :
--- drive_local.cpp 2005-03-25 04:11:08.000000000 -0500
+++ drive_local_new.cpp 2005-04-20 16:12:57.000000000 -0400
@@ -420,7 +420,7 @@
//TODO Give some doserrorcode;
return false;//ERROR
}
- int ret=fseek(fhandle,*pos,seektype);
+ int ret=fseek(fhandle,*reinterpret_cast<Bit32s*>(pos),seektype);
if (ret!=0) {
// Out of file range, pretend everythings ok
// and move file pointer top end of file... ?! (Black Thorne)
games herd/mr_bones_: i put a slightly different patch in, but currently it
gets
only applied when 'use amd64' is true, since i'm not sure whether it might
break
32bit arches. could you please test it and remove the 'use amd64' if it works?
tia