Coder Social home page Coder Social logo

Can't start the make file about keen HOT 13 OPEN

keendreams avatar keendreams commented on August 11, 2024
Can't start the make file

from keen.

Comments (13)

sulix avatar sulix commented on August 11, 2024 1

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:

  1. Find a copy of Borland C++ 2.0, and install it to C:\BC2
  2. SET PATH=%PATH%;C:\BC2\BIN
  3. In the keen/static/ directory, run MAKE.BAT
  4. In the keen/ directory, run BC, select Project→Open Project, and open KDREAMS.PRJ
  5. (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)
  6. Select Complile→Make EXE file
  7. Wait — this will take a while on a slow machine / DOSBox with low cycles.
  8. The compile should finish, and you'll have a new KDREAMS.EXE
    Screenshot of Borland C++ 2.0

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.

niv280 avatar niv280 commented on August 11, 2024

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.

sulix avatar sulix commented on August 11, 2024

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.

niv280 avatar niv280 commented on August 11, 2024

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.

sulix avatar sulix commented on August 11, 2024

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.

niv280 avatar niv280 commented on August 11, 2024

Ok got it.
Thanks a lot!

from keen.

mjson12 avatar mjson12 commented on August 11, 2024

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:
image

Thanks!!!!

from keen.

sulix avatar sulix commented on August 11, 2024

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.

mjson12 avatar mjson12 commented on August 11, 2024

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.

sulix avatar sulix commented on August 11, 2024

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:

  1. Run git checkout a7591c4af15c479d8d1c0be5ce1d49940554157c on this repository before building anything.
  2. Download Keen Dreams v1.13, and unzip it somewhere.
  3. From the source directory, run make.bat in the static directory. This step must be done after checking out the correct git commit, and before compiling the game.
  4. Compile the game.
  5. 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.

mjson12 avatar mjson12 commented on August 11, 2024

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.

sulix avatar sulix commented on August 11, 2024

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.

mjson12 avatar mjson12 commented on August 11, 2024

Yes!!!!
It works!
How can I return the favor?!
Thank you so much!!

from keen.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.