Improving Netkeen

You can discuss anything about fan-made Commander Keen games here.
Post Reply
User avatar
keenmaster486
Vorticon Elite
Posts: 542
Joined: Sun Mar 20, 2016 18:29
Location: Tranquility Base
Contact:

Improving Netkeen

Post by keenmaster486 »

Hey guys,

Does anyone know where to find the Netkeen source code?

There's a nagging problem with it that has been bugging me for years. It does not allow you to set the Gravis Gamepad buttons - if you attempt to set them, it pays no attention to your settings and simply keeps whatever default values are in there.

I'd love to fix the problem but the old Netkeen website has been down for a long time and I don't know how to pick up the threads of the project, where the source code is, even what tools were used to create it.

Can anyone help with this?

EDIT: ooh, looks like I just found it on the Wayback Machine. Still however I'm open to any tips on how to do this.
I flermmed the plootash just like you asked.
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 781
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Improving Netkeen

Post by K1n9_Duk3 »

I think the KeenWiki has the latest download link (2013-03-26), which should include the game as well as the source code. At least that's what I assume. I have a file of the same name that has the source code, but my connection is so bad right now that I won't even try re-downloading the archive from the KeenWiki.

The readme file says NetKeen was compiled with Borland C++ 5.0.x (the latest version that still supports 16-bit DOS applications). I have never seen nor used that version of Borland C++, so you'll have to ask Lemm for support or figure out on your own how to compile the code.

The code for reading and writing config files is in NK_MAIN.C and you'll have to add the gamepad variables to the "config_t" struct to save them to the config file. That means adding new fields in the struct and copying the actual variables from/to that struct in the LoadConfig() and SaveConfig() routines.

The code that calibrates the joystick and maps the gamepad buttons is in ID_US_2.C and the button mapping is stored in an int array named "GamepadButtons" (declared in ID_IN.C).

I hope this helps.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
Post Reply