Open niv280 opened 4 years ago
Yeah, you'll want Borland C++ 2.0 (or possibly Borland C++ 3.1) for DOS. Maybe it's possible to use a newer Borland compiler, if it supports compiling DOS executables, but you'd probably need to make some more serious changes to get it to work.
If you really want something which compiles with newer compilers, try the RefKeen port for modern systems.
Otherwise, this is how I compiled the original:
Note that you'll need to include the Keen Dreams data files — KDREAMS.{MAP,AUD,EGA} — for the version you're building (make sure you've checked out the git branch for the version you have). On some versions (if it tells you you need to run "START.EXE" instead of "KDREAMS.EXE", you can use the /DETOUR parameter.
Hope that helps! — David
Hi, thanks for the detail answer! I would happy for some clarifications, i found borland 2.0 install only for DOS, so you mean i need to run it from dos emulator? because i try what you write with borland 3.1 and i get lots of compiles errors.
Yeah: either a DOS emulator, or a DOS machine. (Or possibly older windows versions with DOS compatibility…) I've used Borland C++ 2.0 under DOSBox successfully.
There's a version of Borland C++ 3.1 for DOS as well, which might work. There's an article about installing it in DOSBox and using it to build Wolfenstein 3D which you could try to adapt.
Otherwise, it may be possible to get the windows version of Borland C++ 3.1 to work, but you might need to make some configuration changes. Without seeing the compile errors, I wouldn't know what was wrong, but it could be either that the project is not configured as a DOS program, or the include/library paths are wrong, or really anything else.
Thanks very much for your help. i able to install and get the kdreams.exe file. I am trying to run in inside the bc, but i getting message that i don't got enough memory? do you how can i fix it?
Edit: i try to run it with KDREAMS.EXE /detour and i got new error that the program can't find the KDREAMS.MAP now.
Yeah: Borland C++ takes up enough memory that you can't run Keen from within it.
You'll need to get the KDREAMS.MAP (and other data files) from an installation of the game — this repository only includes the source code.
The Shareware versions available here are the easiest ones to legally get. Make sure you compile the version which matches the data you have. e.g., if you're using data files from v1.01, you'll need to checkout the appropriate commit from this repository:
git checkout 44773ae2502192ca553ab6518b644ee75e42dd8b
(Note that the shareware releases are in the 'shareware' git branch, and have version numbers ending in 'S'.)
You'll then need to recompile from scratch, including the "make.bat" in the static directory. (Sometimes I've found you need to del *.obj beforehand under dosbox…)
Even then, you may hit issues with some versions — it can be quite finicky to get working. Some versions of the game use different filenames for the data files (EGAGRAPH.KDR versus KDREAMS.EGA for example), and you need the exact versions to match the OBJ files made from the static/make.bat script. If you've made custom data files using the various modding tools available, you'll need to replace the appropriate files in the static/ directory and re-run make.bat and recompile.
Ok got it. Thanks a lot!
Hi there, I installed borland c++3.1 through dosbox, then ran the make.bat, and "make" the project through the borland. so far so good... BUT!
I added the KDREAMS.AUD+.map+... (5 files total), and the game loaded! i see the intro and even got into the menu where you can choose the controls and start a new game.
Once I start a new game (press easy mode for example) the game freezes and stuck!
What to do? Maybe download everything from beginning? I tried both shareware versions in the shikadi website that you linked above.. (and used their .map file etc..)
Here is a screenshot of the frozen game:
Thanks!!!!
A crash at this point sounds a lot like you've got the wrong version of the map headers (MAPHEAD.KDR and MAPDICT.KDR in the static/ directory) linked in for the version you got KDREAMS.MAP from. (It could possibly be sounds as well, as I think that's also the point the first sound plays.)
It looks like the game is trying to write an error message to the screen — that's probably the corrupted black and white pixels at the top of the image. If you redirect the output to a file (KDREAMS.EXE /DETOUR > ERROR.LOG), it should write that error out to a file you can read. That'll give you a better idea what caused it. (If it's something about "Map too tall!", you probably have the a mismatch between the map headers and KDREAMS.MAP).
Hi!
Thanks for that answer! I tried running on the dosbox with the command "KDREAMS.EXE /DETOUR > ERROR.LOG".
It did generated the error log file, but it is empty.. Maybe it got stuck before it got a chance to write the error..
Can you tell me please what version of the files I need, considering I used the source code here?
Should I only need to add those 5 files (all named kdreams. somtething)? Is it ok to just add them to the main folder where the source files are also present?
What version you need depends on what version of the source code you're using. There's a different git commit that matches each version:
44773ae2502192ca553ab6518b644ee75e42dd8b
a7591c4af15c479d8d1c0be5ce1d49940554157c
I tested both of the shareware versions (v1.01S and v1.13), and both of them build.
For v1.13:
git checkout a7591c4af15c479d8d1c0be5ce1d49940554157c
on this repository before building anything.make.bat
in the static
directory. This step must be done after checking out the correct git commit, and before compiling the game.KDREAMS.EXE
into the directory you extracted Keen Dreams 1.13 into. It should then work.I think that you just need the KDREAMS.* files, but it might depend on the version you're using. You'll need all the other files for things like START.EXE to work if you want to use that. In any case, I just copied KDREAMS.EXE into the directory with all of the files. There's no reason it shouldn't work if you run it from the source directory, though, assuming the right files are copied over.
Hope that helps!
Thanks again! It is so frustrating.. But I'm really waiting for it.. Sorry for the question: where should I run the command "git checkout a7591c4af15c479d8d1c0be5ce1d49940554157c" ?
You should run that command in the host OS, from the directory where you cloned the git repository. If you're not using git
directly, the command might not work as-is.
What you want is this version of the files. If you follow that link and download the zip, that ought to get you the right version of the code and headers. (Those links are for v1.13 — just replace the commit hash if you need another version.)
Yes!!!! It works! How can I return the favor?! Thank you so much!!
Hi, i having trouble to start the game, i able to install only board C++5.5. So i only got the bcc32 command and when i change the make file to bcc32 instead of bcc i got a lots of errors.
Can you explain me how to install the right board C++? I found in google the right version only in dos emulators, but from my understanding i can run the make file from there.