Talk:NetHack 1.3d

From NetHackWiki
Revision as of 10:18, 15 September 2006 by Jayt (talk | contribs) ("#ifdef QUEST ... #endif" is in lots of early hack files)
Jump to navigation Jump to search

The early Devs seem to have briefly flirted with the idea of calling the game NetQuest if QUEST is defined [1]. This code appears from 1.3d to 2.3e. Does anyone know more about this? --Jayt 00:02, 15 September 2006 (UTC)


Kernigh writes: I am almost certain that this is a reference to game called "Quest". Now in late 2005 or early 2006, while browsing my own copy of the source code to OpenBSD 3.8, I came across the /usr/src/games/hack directory containing Hack 1.0.3 as shipped with OpenBSD. (You can browse it in OpenBSD CVS.) In the README is written, "(For a game with the same structure but entirely different display - a real cave instead of dull rectangles - try Quest)." Then I noticed a file called "Makequest". It seemed to me that the intent of this file, along with several #ifdef QUEST ... #endif clauses in the source code, was to produce a variant of the Hack game called Quest! Then did I postulate that Quest was the ancestor of the Gnomish Mines (not the modern Quest), but I have never tested that theory, nor have I attempted to build Quest (for OpenBSD builds only Hack), plus I knew not why OpenBSD apparently included a Quest patch in Hack, nor even if I have all of the Quest source or not.

Sometime in or after July of 2006, when Ray Chason added articles like Hack 1.0.2 and Hack 1.0.3 to Wikihack, then I became interested again in Hack. By way of Andries Brouwer's Hack page did I learn that Quest used a separate level generator called quest.mklev.c. (But my copy of Hack 1.0.3 has no file of that name.) I also peeked at the original sources, because OpenBSD (which imported the sources from NetBSD) had made maintainence changes to Hack as recently as 2003. Hack 1.0.3 was only an ed script against Hack 1.0.2, but I was surprised to see #ifdef QUEST ... #endif clauses in the old copies of Hack 1.0.2 that I saw.

I knew nothing about "NetQuest" before Jayt just now uncovered it. However, if old copies of Hack 1.0.2 included Quest, then Mike Stephenson et. al. might have inherited it when creating NetHack. As Hack became NetHack, so Quest would become NetQuest. Then I have to wonder if there are actually other #ifdef QUEST ... #endif clauses in early NetHack, or if the remnant that Jayt now found is the only such clause. --Kernigh 02:45, 15 September 2006 (UTC)

All versions of early Hack and NetHack are riddled with #ifdef QUEST ... #endif clauses. For example, Hack 1.0/hack.vault.c#line4 defines out the entire file if QUEST is not defined. I can't see a common theme to the code within the ifdefs. --Jayt 10:18, 15 September 2006 (UTC)

Source code references