Comments (13)
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:
- Find a copy of Borland C++ 2.0, and install it to C:\BC2
- SET PATH=%PATH%;C:\BC2\BIN
- In the keen/static/ directory, run MAKE.BAT
- In the keen/ directory, run BC, select Project→Open Project, and open KDREAMS.PRJ
- (If Borland C++ isn't installed in C:\BC2, go to Options→Directories and replace "C:\BC2" with the correct path in the Include and Library directories)
- Select Complile→Make EXE file
- Wait — this will take a while on a slow machine / DOSBox with low cycles.
- The compile should finish, and you'll have a new KDREAMS.EXE
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
from keen.
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.
from keen.
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.
from keen.
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.
from keen.
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.
from keen.
Ok got it.
Thanks a lot!
from keen.
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!!!!
from keen.
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).
from keen.
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?
from keen.
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:
- v1.01S is the first shareware release (this is the KEENDM01.ZIP file), and matches the source code in commit
44773ae2502192ca553ab6518b644ee75e42dd8b
- v1.13 is the final shareware release (this is the KEENDR13.ZIP file), and matches the source code in commit
a7591c4af15c479d8d1c0be5ce1d49940554157c
- The latest commit in the git repository is for one of the "registered" versions, which aren't available for download/purchase, so you'll need to checkout an earlier version.
I tested both of the shareware versions (v1.01S and v1.13), and both of them build.
For v1.13:
- Run
git checkout a7591c4af15c479d8d1c0be5ce1d49940554157c
on this repository before building anything. - Download Keen Dreams v1.13, and unzip it somewhere.
- From the source directory, run
make.bat
in thestatic
directory. This step must be done after checking out the correct git commit, and before compiling the game. - Compile the game.
- Copy
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!
from keen.
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 a7591c4" ?
from keen.
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.)
from keen.
Yes!!!!
It works!
How can I return the favor?!
Thank you so much!!
from keen.
Related Issues (6)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keen.