Remove files Pat noticed.
- they are now included in the oldfiles.tgz archive available in the usual place old/oldfiles.tgz
This commit is contained in:
@@ -1,16 +0,0 @@
|
||||
/* SCSS Id: @(#)compwarn.lst 3.4 1992/10/08 */
|
||||
/* Copyright (c) Paul Winner, 1992 */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
This file contains a list of compiler warnings generated by Microsoft
|
||||
C version 7.0, compiled with the /W4 switch, and any known reasons for
|
||||
the warning. You can safely ignore any warning your compile gives if
|
||||
it appears on this list.
|
||||
|
||||
C4127 (4): Conditional expression is constant
|
||||
The While(1) statements used in the code cause this warning.
|
||||
For the sake of making more easily readable code, this is the
|
||||
preferred construct for NetHack.
|
||||
C4131 (4): function: uses old-style declarator
|
||||
In order to make the code as portable as possible, all func-
|
||||
tions in NetHack use the old-style declarator.
|
||||
@@ -1,383 +0,0 @@
|
||||
/* SCCS Id: @(#)def2mak.c 3.4 1995/03/19 */
|
||||
/* Copyright (c) NetHack PC Development Team, 1994. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
#include "config.h"
|
||||
#include <malloc.h>
|
||||
#include <ctype.h>
|
||||
#ifndef _MSC_VER
|
||||
#include <stdlib.h>
|
||||
#else
|
||||
int __cdecl _strcmpi(const char *, const char *);
|
||||
int __cdecl _stricmp(const char *, const char *);
|
||||
int __cdecl _strnicmp(const char *, const char *,size_t);
|
||||
#endif
|
||||
|
||||
#define MALLOC(type) (type *)malloc(sizeof(type))
|
||||
|
||||
#define MACROID_SIZ 50
|
||||
#define MACROVAL_SIZ 300
|
||||
|
||||
typedef unsigned char bool;
|
||||
|
||||
struct MacroNode * FDECL(AddMacro, (struct MacroNode *, char *, char *));
|
||||
char * FDECL(ApplyMacros, (char *, struct MacroNode *));
|
||||
struct MacroNode * FDECL(DelMacro, (struct MacroNode *));
|
||||
struct MacroNode * FDECL(DelMacroList, (struct MacroNode *));
|
||||
void FDECL(COMPILER, (bool, char *, char *, FILE *));
|
||||
void FDECL(SaveNewLine, (char *, char *));
|
||||
struct ListItem * FDECL(AddItem, (struct ListItem *, char *));
|
||||
struct ListItem * FDECL(ReadList, (FILE *, int));
|
||||
void FDECL(LINKLIST, (bool, struct ListItem *, char *, char *));
|
||||
struct ListTable * FDECL(AddList, (struct ListTable *, struct ListItem *,
|
||||
char *));
|
||||
struct ListItem * FDECL(DelTableList, (struct ListItem *));
|
||||
struct ListTable * FDECL(DelTable, (struct ListTable *));
|
||||
struct ListItem * FDECL(FindList, (struct ListTable *, char *));
|
||||
|
||||
#ifdef strcmpi
|
||||
# undef strcmpi /* don't want to drag in hacklib.c */
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define stricmp _strcmpi
|
||||
#define strnicmp _strnicmp
|
||||
#endif
|
||||
|
||||
int
|
||||
strcmpi(s1, s2)
|
||||
char *s1, *s2;
|
||||
{
|
||||
char t1, t2;
|
||||
|
||||
while (*s1 || *s2) {
|
||||
if (!*s2) return 1; /* s1 > s2 */
|
||||
else if (!*s1) return -1; /* s1 < s2 */
|
||||
if (isupper(*s1)) t1 = tolower(*s1); else t1 = *s1;
|
||||
if (isupper(*s2)) t2 = tolower(*s2); else t2 = *s2;
|
||||
if (t1 != t2) return (t1 > t2) ? 1 : -1;
|
||||
s1++; s2++;
|
||||
}
|
||||
return 0; /* s1 == s2 */
|
||||
}
|
||||
|
||||
struct MacroNode {
|
||||
char Name[MACROID_SIZ];
|
||||
char Val[MACROVAL_SIZ];
|
||||
struct MacroNode *Next;
|
||||
};
|
||||
|
||||
struct MacroNode *
|
||||
AddMacro (List, MID, MVal)
|
||||
struct MacroNode *List;
|
||||
char *MID;
|
||||
char *MVal;
|
||||
{
|
||||
struct MacroNode *Tmp;
|
||||
Tmp = MALLOC (struct MacroNode);
|
||||
strncpy (Tmp->Name, MID, MACROID_SIZ);
|
||||
strncpy (Tmp->Val, MVal, MACROVAL_SIZ);
|
||||
Tmp->Next = List;
|
||||
return Tmp;
|
||||
}
|
||||
|
||||
char *
|
||||
ApplyMacros (Line, List)
|
||||
char *Line;
|
||||
struct MacroNode *List;
|
||||
{
|
||||
static char TotalLine[MACROVAL_SIZ + 100];
|
||||
char TmpLine[MACROVAL_SIZ + 100];
|
||||
int AfterLine;
|
||||
char MacroName[MACROID_SIZ];
|
||||
struct MacroNode *TmpList;
|
||||
|
||||
strcpy (TotalLine, "");
|
||||
strcpy (TmpLine, Line);
|
||||
if (sscanf (TmpLine, "%[^?]?[%[^]]]%n", TotalLine, MacroName,
|
||||
&AfterLine) <= 1) return Line;
|
||||
for (TmpList = List; TmpList; TmpList = TmpList->Next)
|
||||
if (!strcmp(TmpList->Name, MacroName)) {
|
||||
strcat (TotalLine, TmpList->Val);
|
||||
break;
|
||||
}
|
||||
strcat (TotalLine, TmpLine + AfterLine);
|
||||
return TotalLine;
|
||||
}
|
||||
|
||||
struct MacroNode *
|
||||
DelMacro (List)
|
||||
struct MacroNode *List;
|
||||
{
|
||||
struct MacroNode *tmp;
|
||||
|
||||
tmp = List->Next;
|
||||
free (List);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
struct MacroNode *
|
||||
DelMacroList (List)
|
||||
struct MacroNode *List;
|
||||
{
|
||||
while (List != NULL)
|
||||
List = DelMacro (List);
|
||||
return List;
|
||||
}
|
||||
|
||||
void
|
||||
COMPILER (display, SavedNewLine, EndString, input)
|
||||
bool display;
|
||||
char *SavedNewLine;
|
||||
char *EndString;
|
||||
FILE *input;
|
||||
{
|
||||
char buffer[100];
|
||||
|
||||
fgets (buffer, 100, input);
|
||||
while (strnicmp(buffer, EndString, strlen(EndString))) {
|
||||
if (display)
|
||||
SaveNewLine(buffer, SavedNewLine);
|
||||
fgets (buffer, 100, input);
|
||||
};
|
||||
}
|
||||
|
||||
void
|
||||
SaveNewLine (Line, NewLine)
|
||||
char *Line;
|
||||
char *NewLine;
|
||||
{
|
||||
char tempNewLine[2];
|
||||
|
||||
strcpy (tempNewLine, "");
|
||||
if (Line[strlen(Line)-1] == '\n') {
|
||||
Line[strlen(Line)-1] = '\0';
|
||||
strcpy (tempNewLine, "\n");
|
||||
};
|
||||
printf ("%s%s", NewLine, Line);
|
||||
strcpy (NewLine, tempNewLine);
|
||||
}
|
||||
|
||||
struct ListItem {
|
||||
char Item[40];
|
||||
struct ListItem *next;
|
||||
};
|
||||
|
||||
struct ListTable {
|
||||
char name[40];
|
||||
struct ListItem *List;
|
||||
struct ListTable *next;
|
||||
};
|
||||
|
||||
struct ListItem *
|
||||
AddItem (List, Item)
|
||||
struct ListItem *List;
|
||||
char Item[40];
|
||||
{
|
||||
struct ListItem *temp;
|
||||
|
||||
temp = MALLOC(struct ListItem);
|
||||
temp->next = List;
|
||||
strncpy (temp->Item, Item, 39);
|
||||
return temp;
|
||||
}
|
||||
|
||||
struct ListItem *
|
||||
ReadList (input, LinePos)
|
||||
FILE *input;
|
||||
int LinePos;
|
||||
{
|
||||
char Item[40];
|
||||
char buffer[100];
|
||||
struct ListItem *List;
|
||||
|
||||
List = NULL;
|
||||
fscanf (input, "%39s", Item);
|
||||
while (strncmp(Item, "?ENDLIST?", 9)) {
|
||||
if (LinePos > 60) {
|
||||
LinePos = 18;
|
||||
printf ("\\\n\t\t");
|
||||
}
|
||||
List = AddItem(List, Item);
|
||||
printf ("%s ", Item);
|
||||
LinePos += 1 + strlen(Item);
|
||||
fscanf (input, "%39s", Item);
|
||||
}
|
||||
printf ("\n");
|
||||
fgets (buffer, 100, input);
|
||||
return List;
|
||||
}
|
||||
|
||||
void
|
||||
LINKLIST (BC, List, Listname, SavedNewLine)
|
||||
bool BC;
|
||||
struct ListItem *List;
|
||||
char *Listname;
|
||||
char *SavedNewLine;
|
||||
{
|
||||
int LinePos;
|
||||
|
||||
printf ("%s\t\t", SavedNewLine);
|
||||
strcpy (SavedNewLine, "");
|
||||
|
||||
if (!BC) {
|
||||
printf ("$(%s:^\t=+^\n\t\t)\n", Listname);
|
||||
return;
|
||||
};
|
||||
|
||||
if (List == NULL) return;
|
||||
|
||||
LinePos = 18;
|
||||
while (List != NULL) {
|
||||
if (LinePos > 60) {
|
||||
LinePos = 18;
|
||||
printf ("+\n\t\t");
|
||||
}
|
||||
printf ("%s ", List->Item);
|
||||
LinePos += 1 + strlen(List->Item);
|
||||
List = List->next;
|
||||
}
|
||||
printf ("\n");
|
||||
}
|
||||
|
||||
struct ListTable *
|
||||
AddList (Table, List, Name)
|
||||
struct ListTable *Table;
|
||||
struct ListItem *List;
|
||||
char *Name;
|
||||
{
|
||||
struct ListTable *temp;
|
||||
temp = MALLOC (struct ListTable);
|
||||
temp->next = Table;
|
||||
temp->List = List;
|
||||
strncpy (temp->name, Name, 39);
|
||||
return temp;
|
||||
}
|
||||
|
||||
struct ListItem *
|
||||
DelTableList (List)
|
||||
struct ListItem *List;
|
||||
{
|
||||
struct ListItem *temp;
|
||||
|
||||
while (List != NULL) {
|
||||
temp = List->next;
|
||||
free (List);
|
||||
List = temp;
|
||||
};
|
||||
return List;
|
||||
}
|
||||
|
||||
struct ListTable *
|
||||
DelTable (Table)
|
||||
struct ListTable *Table;
|
||||
{
|
||||
struct ListTable *temp;
|
||||
|
||||
while (Table != NULL) {
|
||||
temp = Table->next;
|
||||
Table->List = DelTableList(Table->List);
|
||||
free(Table);
|
||||
Table=temp;
|
||||
};
|
||||
return Table;
|
||||
}
|
||||
|
||||
struct ListItem *
|
||||
FindList (Table, Item)
|
||||
struct ListTable *Table;
|
||||
char *Item;
|
||||
{
|
||||
while (Table != NULL) {
|
||||
if (!stricmp(Table->name, Item)) return Table->List;
|
||||
Table = Table->next;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
main (argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
FILE *makfile;
|
||||
char buffer[100];
|
||||
char SavedNewLine[2];
|
||||
char Listname[40];
|
||||
struct ListTable *Table;
|
||||
time_t timer;
|
||||
bool MSC, BC;
|
||||
struct MacroNode *MacroList = NULL;
|
||||
char MacroName[MACROID_SIZ];
|
||||
char MacroVal[MACROVAL_SIZ];
|
||||
|
||||
if (argc < 3) {
|
||||
printf ("Too few arguments. Correct usage is:\n");
|
||||
printf ("\t%s {/MSC || /BC} template\n\n", "def2mak");
|
||||
printf ("\t{/MSC || /BC} indicate the compiler to use.\n");
|
||||
printf ("\ttemplate is the template file to process.\n\n");
|
||||
printf ("The output makefile goes to standard output.\n");
|
||||
return 1;
|
||||
};
|
||||
Table = NULL;
|
||||
if (!strcmpi(argv[1], "/MSC") || !strcmpi(argv[1], "-MSC")) {
|
||||
MSC = TRUE;
|
||||
BC = FALSE;
|
||||
} else if (!strcmpi(argv[1], "/BC") || !strcmpi(argv[1], "-BC")) {
|
||||
MSC = FALSE;
|
||||
BC = TRUE;
|
||||
} else {
|
||||
fprintf (stderr, "Unknown compiler format: %s\n", argv[1]);
|
||||
return 1;
|
||||
};
|
||||
|
||||
strcpy (SavedNewLine, "");
|
||||
if ((makfile = fopen (argv[2], "r")) == NULL)
|
||||
return 2;
|
||||
COMPILER (0, SavedNewLine, "?BEGIN?", makfile);
|
||||
while (!feof(makfile)) {
|
||||
if (fgets(buffer, 100, makfile) == NULL)
|
||||
break;
|
||||
if (!strnicmp(buffer, "?SCCS?", 6)) {
|
||||
time (&timer);
|
||||
printf ("%s#\tSCCS Id: @(#)Makefile.%s\t3.4\t%02d/%02d/%02d\n",
|
||||
SavedNewLine,
|
||||
MSC ? "MSC" : BC ? "BC" : "???",
|
||||
localtime(&timer)->tm_year,
|
||||
localtime(&timer)->tm_mon + 1,
|
||||
localtime(&timer)->tm_mday);
|
||||
printf ("# Copyright (c) %s, %d.\n",
|
||||
BC ? "Yitzhak Sapir" : "NetHack PC Development Team",
|
||||
localtime(&timer)->tm_year + 1900);
|
||||
printf ("# NetHack may be freely distributed. ");
|
||||
printf ("See license for details.\n#\n\n");
|
||||
strcpy (SavedNewLine, "");
|
||||
} else if (MSC ? sscanf (buffer, "?MSCMACRO:%[^=]=%[^?]?",
|
||||
MacroName, MacroVal) :
|
||||
BC ? sscanf (buffer, "?BCMACRO:%[^=]=%[^?]?",
|
||||
MacroName, MacroVal) : 0)
|
||||
MacroList = AddMacro(MacroList, MacroName, MacroVal);
|
||||
else if (!strnicmp(buffer, "?BC?", 4))
|
||||
COMPILER(BC, SavedNewLine, "?ENDBC?", makfile);
|
||||
else if (!strnicmp(buffer, "?MSC?", 5))
|
||||
COMPILER(MSC, SavedNewLine, "?ENDMSC?", makfile);
|
||||
else if (!strnicmp(buffer, "?COMMENT?", 9))
|
||||
COMPILER(FALSE, SavedNewLine, "?ENDCOMMENT?", makfile);
|
||||
else if (sscanf(buffer, "?LIST:%[^?]?", Listname)
|
||||
== 1) {
|
||||
printf ("%s%s\t=", SavedNewLine, Listname);
|
||||
Table = AddList (Table, ReadList (makfile, 18), Listname);
|
||||
strcpy (SavedNewLine, "");
|
||||
} else if (sscanf(buffer, "?LINKLIST:%[^?]?", Listname)
|
||||
== 1)
|
||||
LINKLIST (BC, FindList(Table, Listname), Listname,
|
||||
SavedNewLine);
|
||||
else if (buffer[0] != '?')
|
||||
SaveNewLine(ApplyMacros(buffer, MacroList), SavedNewLine);
|
||||
};
|
||||
printf ("%s", SavedNewLine);
|
||||
fclose (makfile);
|
||||
Table = DelTable(Table);
|
||||
MacroList = DelMacroList (MacroList);
|
||||
return 0;
|
||||
}
|
||||
@@ -1,326 +0,0 @@
|
||||
%{
|
||||
|
||||
#include "config.h"
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#define MALLOC(type) (type *)malloc(sizeof(type))
|
||||
|
||||
typedef unsigned char bool;
|
||||
|
||||
struct OvlNode {
|
||||
char FileName[13];
|
||||
char Comment[80];
|
||||
int OvlNumber;
|
||||
struct OvlNode *Next;
|
||||
};
|
||||
|
||||
int linenumber = 1;
|
||||
int OvlNum = -1;
|
||||
FILE *outf = NULL;
|
||||
char *ovldesc = NULL;
|
||||
struct OvlNode *List = NULL;
|
||||
char *CommentTemplate;
|
||||
|
||||
struct OvlNode * FDECL(AddNode, (struct OvlNode *, struct OvlNode *));
|
||||
struct OvlNode * FDECL(DelNode, (struct OvlNode *));
|
||||
struct OvlNode * FDECL(ReverseList, (struct OvlNode *));
|
||||
struct OvlNode * FDECL(SortList, (struct OvlNode *));
|
||||
int NDECL (yylex);
|
||||
|
||||
#ifndef yywrap
|
||||
int NDECL (yywrap);
|
||||
#endif
|
||||
|
||||
#ifdef exit
|
||||
#undef exit
|
||||
#endif
|
||||
|
||||
%}
|
||||
|
||||
FILECH [A-Za-z0-9_]
|
||||
FILE {FILECH}{1,8}("."{FILECH}{0,3})?
|
||||
SCCS [Ss][Cc][Cc][Ss].*\n
|
||||
COPYR [Cc][Oo][Pp][Yy][Rr][Ii][Gg][Hh][Tt].*\n
|
||||
|
||||
%%
|
||||
|
||||
{SCCS} { linenumber ++; }
|
||||
{COPYR} { linenumber ++; }
|
||||
^#.*\n {
|
||||
if (OvlNum < 0) {
|
||||
yytext[yyleng - 1] = 0;
|
||||
fprintf (outf, CommentTemplate, yytext+1);
|
||||
}
|
||||
linenumber ++;
|
||||
}
|
||||
\n { linenumber ++; }
|
||||
[ \t]+ ; /* skip trailing tabs & spaces */
|
||||
\[.*\] {
|
||||
yytext[yyleng-1] = 0; /* Discard the trailing \] */
|
||||
if (ovldesc) free (ovldesc);
|
||||
ovldesc = (char *) malloc(strlen(yytext+1)+1);
|
||||
strcpy(ovldesc, yytext+1); /* Discard the first \[ */
|
||||
OvlNum++;
|
||||
}
|
||||
{FILE} {
|
||||
struct OvlNode *Tmp;
|
||||
|
||||
Tmp = MALLOC (struct OvlNode);
|
||||
strcpy (Tmp->FileName, yytext);
|
||||
Tmp->OvlNumber = OvlNum;
|
||||
strncpy (Tmp->Comment, ovldesc, 80);
|
||||
List = AddNode (List, Tmp);
|
||||
}
|
||||
. {
|
||||
printf ("Line %d: Received character '%c' (%02x)\n",
|
||||
linenumber, *yytext, *yytext);
|
||||
}
|
||||
|
||||
|
||||
%%
|
||||
|
||||
#ifndef yywrap
|
||||
int
|
||||
yywrap()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(UNIX) || defined(_MSC_VER)
|
||||
char *
|
||||
strlwr(s)
|
||||
char *s;
|
||||
{
|
||||
char *p;
|
||||
for (p = s; *p; p++)
|
||||
if (isupper(*p)) *p = tolower(*p);
|
||||
return s;
|
||||
}
|
||||
|
||||
char *
|
||||
strupr(s)
|
||||
char *s;
|
||||
{
|
||||
char *p;
|
||||
for (p = s; *p; p++)
|
||||
if (islower(*p)) *p = toupper(*p);
|
||||
return s;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct OvlNode *
|
||||
SortList (List)
|
||||
struct OvlNode *List;
|
||||
{
|
||||
struct OvlNode *List1 = NULL;
|
||||
struct OvlNode *List2 = NULL;
|
||||
struct OvlNode *Tmp;
|
||||
|
||||
if (List == NULL) return NULL;
|
||||
if (List->Next == NULL) return List;
|
||||
|
||||
while (List != NULL) {
|
||||
if (List != NULL) {
|
||||
Tmp = List->Next;
|
||||
List1 = AddNode (List1, List);
|
||||
List = Tmp;
|
||||
}
|
||||
if (List != NULL) {
|
||||
Tmp = List->Next;
|
||||
List2 = AddNode (List2, List);
|
||||
List = Tmp;
|
||||
}
|
||||
}
|
||||
|
||||
List1 = SortList (List1);
|
||||
List2 = SortList (List2);
|
||||
|
||||
while (List1 != NULL || List2 != NULL) {
|
||||
while (List1 != NULL && List2 == NULL) {
|
||||
Tmp = List1->Next;
|
||||
List = AddNode (List, List1);
|
||||
List1 = Tmp;
|
||||
}
|
||||
while (List1 != NULL &&
|
||||
strcmp(List1->FileName, List2->FileName) <= 0) {
|
||||
Tmp = List1->Next;
|
||||
List = AddNode (List, List1);
|
||||
List1 = Tmp;
|
||||
}
|
||||
while (List2 != NULL && List1 == NULL) {
|
||||
Tmp = List2->Next;
|
||||
List = AddNode (List, List2);
|
||||
List2 = Tmp;
|
||||
}
|
||||
while (List2 != NULL &&
|
||||
strcmp(List1->FileName, List2->FileName) >= 0) {
|
||||
Tmp = List2->Next;
|
||||
List = AddNode (List, List2);
|
||||
List2 = Tmp;
|
||||
}
|
||||
}
|
||||
|
||||
return ReverseList (List);
|
||||
}
|
||||
|
||||
struct OvlNode *
|
||||
AddNode (List, ToAdd)
|
||||
struct OvlNode *List;
|
||||
struct OvlNode *ToAdd;
|
||||
{
|
||||
ToAdd->Next = List;
|
||||
return ToAdd;
|
||||
}
|
||||
|
||||
struct OvlNode *
|
||||
DelNode (List)
|
||||
struct OvlNode *List;
|
||||
{
|
||||
struct OvlNode *tmp;
|
||||
|
||||
tmp = List->Next;
|
||||
free (List);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
struct OvlNode *
|
||||
DelOvlList (List)
|
||||
struct OvlNode *List;
|
||||
{
|
||||
while (List != NULL)
|
||||
List = DelNode (List);
|
||||
return List;
|
||||
}
|
||||
|
||||
struct OvlNode *
|
||||
ReverseList (List)
|
||||
struct OvlNode *List;
|
||||
{
|
||||
struct OvlNode *Temp, *Last;
|
||||
|
||||
Last = NULL; Temp = List;
|
||||
while (Temp) {
|
||||
Temp = List->Next;
|
||||
List->Next = Last;
|
||||
Last = List;
|
||||
List = Temp;
|
||||
}
|
||||
return Last;
|
||||
}
|
||||
|
||||
/*
|
||||
* Deletes all nodes with filename equal to that of the first node, except
|
||||
* for the first node, itself, which it keeps.
|
||||
*/
|
||||
|
||||
void
|
||||
DelFile (List)
|
||||
struct OvlNode *List;
|
||||
{
|
||||
struct OvlNode *tmp;
|
||||
|
||||
tmp = List;
|
||||
while (tmp->Next != NULL) {
|
||||
if (!stricmp(List->FileName, tmp->Next->FileName))
|
||||
tmp->Next = DelNode (tmp->Next);
|
||||
else
|
||||
tmp = tmp->Next;
|
||||
};
|
||||
}
|
||||
|
||||
int
|
||||
InList (List, ToFind)
|
||||
struct OvlNode *List;
|
||||
struct OvlNode *ToFind;
|
||||
{
|
||||
while (List != NULL) {
|
||||
if (!stricmp(List->FileName, ToFind->FileName))
|
||||
return 1;
|
||||
List = List->Next;
|
||||
};
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
main (argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
bool MSC, BC;
|
||||
char *Header, *Header2, *Header3, *RootLine, *OvlLine;
|
||||
char *c;
|
||||
char FileName[9];
|
||||
time_t timer;
|
||||
struct tm *curtim;
|
||||
|
||||
if (argc < 3) {
|
||||
|
||||
printf ("Too few arguments. Correct usage is:\n");
|
||||
printf ("\t%s {/MSC || /BC} schemafile deffile\n\n", "genschem");
|
||||
printf ("\t{/MSC || /BC} indicate the compiler to use.\n");
|
||||
printf ("\tschemafile is the schema file to process.\n");
|
||||
printf ("\tdeffile is the definition file to produce.\n");
|
||||
printf ("\t\tif deffile is missing, stdout is assumed.\n\n");
|
||||
return 1;
|
||||
};
|
||||
if (!stricmp(argv[1], "/MSC") || !stricmp(argv[1], "-MSC")) {
|
||||
MSC = TRUE;
|
||||
BC = FALSE;
|
||||
} else if (!stricmp(argv[1], "/BC") || !stricmp(argv[1], "-BC")) {
|
||||
MSC = FALSE;
|
||||
BC = TRUE;
|
||||
} else {
|
||||
fprintf (stderr, "Unknown compiler format: %s\n", argv[1]);
|
||||
return 1;
|
||||
};
|
||||
|
||||
Header = BC ? "/* SCCS Id: @(#)%s\t3.4\t %02d/%02d/%02d */\n" :
|
||||
"; SCCS Id: @(#)%s\t3.4\t %02d/%02d/%02d\n";
|
||||
Header2 = BC ? "/* Copyright (c) Yitzhak Sapir, %d */\n" :
|
||||
"; Copyright (c) NetHack PC Development Team, %d\n";
|
||||
Header3 = BC ? "\n\n" : ";\n\nSEGMENTS\n\n";
|
||||
RootLine = BC ? "-zC%s\n" :
|
||||
"\"%s\" OVL:0\n";
|
||||
OvlLine = BC ?
|
||||
"-zC%s -zAOVLY -zCOVL%d\n" :
|
||||
"\"%s\" OVL:%d\n";
|
||||
CommentTemplate = BC ? "/* %s */\n" : ";%s\n";
|
||||
|
||||
yyin = fopen (argv[2], "r");
|
||||
|
||||
if (yyin == NULL) {
|
||||
fprintf (stderr, "Error: Input file incorrect\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
outf = fopen (argv[3], "w");
|
||||
|
||||
if (outf == NULL)
|
||||
if (argc == 4) {
|
||||
fprintf (stderr, "Error: Output file incorrect\n");
|
||||
exit (1);
|
||||
} else outf = stdout;
|
||||
|
||||
time (&timer);
|
||||
curtim = localtime(&timer);
|
||||
fprintf (outf, Header, argv[3], curtim->tm_year, curtim->tm_mon + 1,
|
||||
curtim->tm_mday);
|
||||
fprintf (outf, Header2, curtim->tm_year +1900);
|
||||
yylex();
|
||||
|
||||
fprintf (outf, Header3);
|
||||
|
||||
for (List = SortList (List); List != NULL; List = DelNode (List)) {
|
||||
if (BC) {
|
||||
for (c = strlwr(List->FileName); *c; c++)
|
||||
if (*c == '.') *c = '_';
|
||||
} else strupr(List->FileName);
|
||||
if (List->OvlNumber)
|
||||
fprintf (outf, OvlLine, List->FileName, List->OvlNumber);
|
||||
else fprintf (outf, RootLine, List->FileName, List->FileName);
|
||||
}
|
||||
fclose (outf);
|
||||
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
# SCCS Id: @(#)prebuild.mak 3.4 1997/09/28
|
||||
#
|
||||
# Makefile for building the genschem utility, the .def files and
|
||||
# the Makefiles for distribution.
|
||||
#
|
||||
|
||||
NHINCL =..\..\include
|
||||
|
||||
! IF "$(MAKE)"=="NMAKE"
|
||||
CC =cl
|
||||
MODEL =L
|
||||
CEXENAM =/Fe # name the .EXE file
|
||||
CFLAGS =/A$(MODEL) /Zp1 /nologo /F 1400 /D__STDC__ /I$(NHINCL)
|
||||
! ELSE # Assume Borland
|
||||
CC =bcc # TARGSTRING
|
||||
MODEL =h
|
||||
BCTOP =c:\borlandc # main Borland C directory
|
||||
BCINCL =$(BCTOP)\include # include directory for main BC headers
|
||||
CEXENAM =-e # name the .EXE file
|
||||
CFLAGS =-I$(BCINCL) -I$(NHINCL) -m$(MODEL) -DSTRNCMPI
|
||||
! ENDIF
|
||||
|
||||
LEX = flex
|
||||
#LEX = flex -Sc:\tools16\flex.ske
|
||||
# LEX = lex
|
||||
|
||||
# these are the names of the output files from LEX. Under MS-DOS
|
||||
# and similar systems, they may differ
|
||||
LEXYYC = lex.yy.c
|
||||
#LEXYYC = lexyy.c
|
||||
|
||||
|
||||
SCHEMAS = schema1.BC schema2.BC
|
||||
MAKES = Makefile.BC
|
||||
|
||||
all: $(SCHEMAS)
|
||||
|
||||
genschem.exe: genschem.c
|
||||
$(CC) $(CFLAGS) $(CEXENAM)$@ genschem.c
|
||||
|
||||
genschem.c: genschem.l
|
||||
$(LEX) $(FLEXSKEL) genschem.l
|
||||
copy $(LEXYYC) $@
|
||||
@del $(LEXYYC)
|
||||
|
||||
schema1.BC: genschem.exe schema1
|
||||
genschem /BC schema1 schema1.BC
|
||||
schema2.BC: genschem.exe schema2
|
||||
genschem /BC schema2 schema2.BC
|
||||
#
|
||||
# NOTE: MSC no longer uses these overlay definitions
|
||||
# since switching to the use of packaged functions
|
||||
#
|
||||
#schema1.MSC: genschem.exe schema1
|
||||
# genschem /MSC schema1 schema1.MSC
|
||||
#schema2.MSC: genschem.exe schema2
|
||||
# genschem /MSC schema2 schema2.MSC
|
||||
#schema3.MSC: genschem.exe schema3
|
||||
# genschem /MSC schema3 schema3.MSC
|
||||
|
||||
def2mak.exe: def2mak.c
|
||||
$(CC) $(CFLAGS) $(CEXENAM)$@ def2mak.c
|
||||
|
||||
#Makefile.BC: def2mak.exe template.mak
|
||||
# def2mak /BC template.mak >Makefile.BC
|
||||
#Makefile.MSC: def2mak.exe template.mak
|
||||
# def2mak /MSC template.mak >Makefile.MSC
|
||||
@@ -1,606 +0,0 @@
|
||||
SCCS Id: @(#)schema1 3.3 95/10/25
|
||||
Copyright (c) NetHack PC Development Team 1993, 1994, 1995
|
||||
#
|
||||
# NetHack Overlay Schema
|
||||
# Minimal extended memory available, lots of 640K base RAM free
|
||||
# Overlay buffer size will be (20 + 20 + 19) = 59K (sum of 3 largest overlays).
|
||||
# Requires about 490K (for exe load plus overlay buffer), but
|
||||
# an additional 70K free (minimum) will be needed for malloc calls,
|
||||
# bringing the total requirement to about 560K.
|
||||
# Optimized for minimal overlay turns.
|
||||
#
|
||||
|
||||
[ root ]
|
||||
pcmain.0 sound.o tile.o pctiles.0 pctiles.b
|
||||
vidvga.1 vidvga.0 vidvga.b video.0 video.1 video.b
|
||||
hack.3 vidtxt.0 vidtxt.b botl.0 monmove.0 display.o
|
||||
dungeon.0 hacklib.0 wintty.o trap.0 attrib.0 detect.o
|
||||
mon.0 cmd.0 vision.o hack.1 msdos.0 pckeys.o
|
||||
random.o rnd.0 alloc.o ovlinit.o
|
||||
dbridge.0 monmove.1 engrave.0 invent.0
|
||||
monmove.2 mondata.0
|
||||
hacklib.1 hacklib.2
|
||||
dogmove.b
|
||||
|
||||
[ ]
|
||||
allmain.0
|
||||
|
||||
[ ]
|
||||
allmain.1
|
||||
|
||||
[ ]
|
||||
allmain.b
|
||||
|
||||
[ ]
|
||||
apply.0
|
||||
|
||||
[ ]
|
||||
apply.1
|
||||
|
||||
[ ]
|
||||
apply.b
|
||||
|
||||
[ ]
|
||||
artifact.0
|
||||
|
||||
[ ]
|
||||
artifact.1
|
||||
|
||||
[ ]
|
||||
artifact.b
|
||||
|
||||
[ ]
|
||||
attrib.1
|
||||
|
||||
[ ]
|
||||
attrib.2
|
||||
|
||||
[ ]
|
||||
attrib.b
|
||||
|
||||
[ ]
|
||||
ball.o
|
||||
|
||||
[ ]
|
||||
bones.o
|
||||
|
||||
[ ]
|
||||
botl.1
|
||||
|
||||
[ ]
|
||||
botl.b
|
||||
|
||||
[ ]
|
||||
cmd.1
|
||||
|
||||
[ ]
|
||||
cmd.b
|
||||
|
||||
[ ]
|
||||
dbridge.1
|
||||
|
||||
[ ]
|
||||
dbridge.b
|
||||
|
||||
[ ]
|
||||
decl.o
|
||||
|
||||
[ ]
|
||||
dig.o
|
||||
|
||||
[ ]
|
||||
dlb.o
|
||||
|
||||
[ ]
|
||||
do.0
|
||||
|
||||
[ ]
|
||||
do.1
|
||||
|
||||
[ ]
|
||||
do.2
|
||||
|
||||
[ ]
|
||||
do.3
|
||||
|
||||
[ ]
|
||||
do.b
|
||||
|
||||
[ ]
|
||||
do_name.0
|
||||
|
||||
[ ]
|
||||
do_name.2
|
||||
|
||||
[ ]
|
||||
do_name.b
|
||||
|
||||
[ ]
|
||||
do_wear.0
|
||||
|
||||
[ ]
|
||||
do_wear.1
|
||||
|
||||
[ ]
|
||||
do_wear.2
|
||||
|
||||
[ ]
|
||||
do_wear.b
|
||||
|
||||
[ ]
|
||||
dog.1
|
||||
|
||||
[ ]
|
||||
dog.2
|
||||
|
||||
[ ]
|
||||
dog.b
|
||||
|
||||
[ ]
|
||||
dogmove.0
|
||||
|
||||
[ ]
|
||||
dokick.o
|
||||
|
||||
[ ]
|
||||
dothrow.o
|
||||
|
||||
[ ]
|
||||
drawing.o
|
||||
|
||||
[ ]
|
||||
dungeon.1
|
||||
|
||||
[ ]
|
||||
eat.0
|
||||
|
||||
[ ]
|
||||
eat.1
|
||||
|
||||
[ ]
|
||||
eat.b
|
||||
|
||||
[ ]
|
||||
end.o
|
||||
|
||||
[ ]
|
||||
engrave.1
|
||||
|
||||
[ ]
|
||||
engrave.2
|
||||
|
||||
[ ]
|
||||
engrave.b
|
||||
|
||||
[ ]
|
||||
exper.o
|
||||
|
||||
[ ]
|
||||
explode.0
|
||||
|
||||
[ ]
|
||||
explode.1
|
||||
|
||||
[ ]
|
||||
extralev.o
|
||||
|
||||
[ ]
|
||||
files.o
|
||||
|
||||
[ ]
|
||||
fountain.o
|
||||
|
||||
[ ]
|
||||
getline.1
|
||||
|
||||
[ ]
|
||||
getline.2
|
||||
|
||||
[ ]
|
||||
hack.2
|
||||
|
||||
[ ]
|
||||
hack.b
|
||||
|
||||
[ ]
|
||||
hacklib.b
|
||||
|
||||
[ ]
|
||||
invent.1
|
||||
|
||||
[ ]
|
||||
invent.2
|
||||
|
||||
[ ]
|
||||
invent.3
|
||||
|
||||
[ ]
|
||||
invent.b
|
||||
|
||||
[ ]
|
||||
light.3
|
||||
|
||||
[ ]
|
||||
lock.0
|
||||
|
||||
[ ]
|
||||
lock.b mail.0
|
||||
|
||||
[ ]
|
||||
mail.b
|
||||
|
||||
[ ]
|
||||
makemon.0
|
||||
|
||||
[ ]
|
||||
makemon.1
|
||||
|
||||
[ ]
|
||||
makemon.2
|
||||
|
||||
[ ]
|
||||
makemon.b
|
||||
|
||||
[ ]
|
||||
mcastu.0
|
||||
|
||||
[ ]
|
||||
mcastu.b
|
||||
|
||||
[ ]
|
||||
mhitm.0
|
||||
|
||||
[ ]
|
||||
mhitm.b
|
||||
|
||||
[ ]
|
||||
mhitu.0
|
||||
|
||||
[ ]
|
||||
mhitu.1
|
||||
|
||||
[ ]
|
||||
mhitu.b
|
||||
|
||||
[ ]
|
||||
minion.o
|
||||
|
||||
[ ]
|
||||
mklev.o
|
||||
|
||||
[ ]
|
||||
mkmap.o
|
||||
|
||||
[ ]
|
||||
mkmaze.o
|
||||
|
||||
[ ]
|
||||
mkobj.0
|
||||
|
||||
[ ]
|
||||
mkobj.1
|
||||
|
||||
[ ]
|
||||
mkobj.b
|
||||
|
||||
[ ]
|
||||
mkroom.0
|
||||
|
||||
[ ]
|
||||
mkroom.b
|
||||
|
||||
[ ]
|
||||
mon.1
|
||||
|
||||
[ ]
|
||||
mon.2
|
||||
|
||||
[ ]
|
||||
mon.b
|
||||
|
||||
[ ]
|
||||
mondata.1
|
||||
|
||||
[ ]
|
||||
mondata.2
|
||||
|
||||
[ ]
|
||||
mondata.b
|
||||
|
||||
[ ]
|
||||
monmove.b
|
||||
|
||||
[ ]
|
||||
monst.o
|
||||
|
||||
[ ]
|
||||
monstr.o
|
||||
|
||||
[ ]
|
||||
mplayer.o
|
||||
|
||||
[ ]
|
||||
msdos.b
|
||||
|
||||
[ ]
|
||||
mthrowu.0
|
||||
|
||||
[ ]
|
||||
mthrowu.1
|
||||
|
||||
[ ]
|
||||
mthrowu.b
|
||||
|
||||
[ ]
|
||||
muse.o
|
||||
|
||||
[ ]
|
||||
music.o
|
||||
|
||||
[ ]
|
||||
o_init.o
|
||||
|
||||
[ ]
|
||||
objects.o
|
||||
|
||||
[ ]
|
||||
objnam.0
|
||||
|
||||
[ ]
|
||||
objnam.1
|
||||
|
||||
[ ]
|
||||
objnam.b
|
||||
|
||||
[ ]
|
||||
options.o
|
||||
|
||||
[ ]
|
||||
pager.o
|
||||
|
||||
[ ]
|
||||
pcmain.1 role.o
|
||||
|
||||
[ ]
|
||||
pcmain.b
|
||||
|
||||
[ ]
|
||||
pcunix.b
|
||||
|
||||
[ ]
|
||||
pickup.o
|
||||
|
||||
[ ]
|
||||
pline.b
|
||||
|
||||
[ ]
|
||||
polyself.0
|
||||
|
||||
[ ]
|
||||
polyself.1
|
||||
|
||||
[ ]
|
||||
polyself.b
|
||||
|
||||
[ ]
|
||||
potion.b
|
||||
|
||||
[ ]
|
||||
pray.o
|
||||
|
||||
[ ]
|
||||
priest.0
|
||||
|
||||
[ ]
|
||||
priest.b
|
||||
|
||||
[ ]
|
||||
quest.o
|
||||
|
||||
[ ]
|
||||
questpgr.o
|
||||
|
||||
[ ]
|
||||
read.b
|
||||
|
||||
[ ]
|
||||
rect.o
|
||||
|
||||
[ ]
|
||||
region.o
|
||||
|
||||
[ ]
|
||||
restore.o
|
||||
|
||||
[ ]
|
||||
rip.o
|
||||
|
||||
[ ]
|
||||
rnd.1
|
||||
|
||||
[ ]
|
||||
rnd.b
|
||||
|
||||
[ ]
|
||||
rumors.o
|
||||
|
||||
[ ]
|
||||
save.o
|
||||
|
||||
[ ]
|
||||
shk.0
|
||||
|
||||
[ ]
|
||||
shk.1
|
||||
|
||||
[ ]
|
||||
shk.2
|
||||
|
||||
[ ]
|
||||
shk.3
|
||||
|
||||
[ ]
|
||||
shk.b
|
||||
|
||||
[ ]
|
||||
shknam.0
|
||||
|
||||
[ ]
|
||||
shknam.b
|
||||
|
||||
[ ]
|
||||
sit.o
|
||||
|
||||
[ ]
|
||||
sounds.0
|
||||
|
||||
[ ]
|
||||
sounds.b
|
||||
|
||||
[ ]
|
||||
sp_lev.o
|
||||
|
||||
[ ]
|
||||
spell.o
|
||||
|
||||
[ ]
|
||||
steal.0
|
||||
|
||||
[ ]
|
||||
steal.1
|
||||
|
||||
[ ]
|
||||
steal.b
|
||||
|
||||
[ ]
|
||||
sys.o
|
||||
|
||||
[ ]
|
||||
teleport.o
|
||||
|
||||
[ ]
|
||||
termcap.0
|
||||
|
||||
[ ]
|
||||
termcap.1
|
||||
|
||||
[ ]
|
||||
termcap.b
|
||||
|
||||
[ ]
|
||||
timeout.0
|
||||
|
||||
[ ]
|
||||
timeout.1
|
||||
|
||||
[ ]
|
||||
timeout.b
|
||||
|
||||
[ ]
|
||||
topl.1
|
||||
|
||||
[ ]
|
||||
topl.2
|
||||
|
||||
[ ]
|
||||
topl.b
|
||||
|
||||
[ ]
|
||||
topten.o
|
||||
|
||||
[ ]
|
||||
track.0
|
||||
|
||||
[ ]
|
||||
track.1
|
||||
|
||||
[ ]
|
||||
track.b
|
||||
|
||||
[ ]
|
||||
trap.1
|
||||
|
||||
[ ]
|
||||
trap.2
|
||||
|
||||
[ ]
|
||||
trap.3
|
||||
|
||||
[ ]
|
||||
trap.b
|
||||
|
||||
[ ]
|
||||
tty.o
|
||||
|
||||
[ ]
|
||||
u_init.o
|
||||
|
||||
[ ]
|
||||
uhitm.o
|
||||
|
||||
[ ]
|
||||
vault.0
|
||||
|
||||
[ ]
|
||||
vault.b
|
||||
|
||||
[ ]
|
||||
version.o
|
||||
|
||||
[ ]
|
||||
vidvga.2
|
||||
|
||||
[ ]
|
||||
vis_tab.o
|
||||
|
||||
[ ]
|
||||
weapon.0
|
||||
|
||||
[ ]
|
||||
weapon.1
|
||||
|
||||
[ ]
|
||||
weapon.b
|
||||
|
||||
[ ]
|
||||
were.0
|
||||
|
||||
[ ]
|
||||
were.b
|
||||
|
||||
[ ]
|
||||
wield.o
|
||||
|
||||
[ ]
|
||||
windows.o
|
||||
|
||||
[ ]
|
||||
wizard.0
|
||||
|
||||
[ ]
|
||||
wizard.b
|
||||
|
||||
[ ]
|
||||
worm.o
|
||||
|
||||
[ ]
|
||||
steed.o worn.o
|
||||
|
||||
[ ]
|
||||
write.o
|
||||
|
||||
[ ]
|
||||
zap.0
|
||||
|
||||
[ ]
|
||||
zap.1
|
||||
|
||||
[ ]
|
||||
zap.2
|
||||
|
||||
[ ]
|
||||
zap.3
|
||||
|
||||
[ ]
|
||||
zap.b
|
||||
|
||||
@@ -1,669 +0,0 @@
|
||||
SCCS Id: @(#)schema2 3.3 95/10/25
|
||||
Copyright (c) NetHack PC Development Team 1993, 1994, 1995
|
||||
#
|
||||
# NetHack Overlay Schema
|
||||
# Small Root footprint, with extended memory available for caching.
|
||||
# Almost everything is overlaid.
|
||||
#
|
||||
|
||||
[ root ]
|
||||
pcmain.0 sound.o tile.o pctiles.0 pctiles.b
|
||||
vidvga.1 vidvga.0 vidvga.b video.0 video.1 video.b
|
||||
hack.3 vidtxt.0 vidtxt.b alloc.o ovlinit.o
|
||||
|
||||
[ ]
|
||||
allmain.0
|
||||
|
||||
[ ]
|
||||
allmain.1
|
||||
|
||||
[ ]
|
||||
allmain.b
|
||||
|
||||
[ ]
|
||||
apply.0
|
||||
|
||||
[ ]
|
||||
apply.1
|
||||
|
||||
[ ]
|
||||
apply.b
|
||||
|
||||
[ ]
|
||||
artifact.0
|
||||
|
||||
[ ]
|
||||
artifact.1
|
||||
|
||||
[ ]
|
||||
artifact.b
|
||||
|
||||
[ ]
|
||||
attrib.0
|
||||
|
||||
[ ]
|
||||
attrib.1
|
||||
|
||||
[ ]
|
||||
attrib.2
|
||||
|
||||
[ ]
|
||||
attrib.b
|
||||
|
||||
[ ]
|
||||
ball.o
|
||||
|
||||
[ ]
|
||||
bones.o
|
||||
|
||||
[ ]
|
||||
botl.0
|
||||
|
||||
[ ]
|
||||
botl.1
|
||||
|
||||
[ ]
|
||||
botl.b
|
||||
|
||||
[ ]
|
||||
cmd.0
|
||||
|
||||
[ ]
|
||||
cmd.1
|
||||
|
||||
[ ]
|
||||
cmd.b
|
||||
|
||||
[ ]
|
||||
dbridge.0
|
||||
|
||||
[ ]
|
||||
dbridge.1
|
||||
|
||||
[ ]
|
||||
dbridge.b
|
||||
|
||||
[ ]
|
||||
decl.o
|
||||
|
||||
[ ]
|
||||
detect.o
|
||||
|
||||
[ ]
|
||||
dig.o
|
||||
|
||||
[ ]
|
||||
display.o
|
||||
|
||||
[ ]
|
||||
dlb.o
|
||||
|
||||
[ ]
|
||||
do.0
|
||||
|
||||
[ ]
|
||||
do.1
|
||||
|
||||
[ ]
|
||||
do.2
|
||||
|
||||
[ ]
|
||||
do.3
|
||||
|
||||
[ ]
|
||||
do.b
|
||||
|
||||
[ ]
|
||||
do_name.0
|
||||
|
||||
[ ]
|
||||
do_name.2
|
||||
|
||||
[ ]
|
||||
do_name.b
|
||||
|
||||
[ ]
|
||||
do_wear.0
|
||||
|
||||
[ ]
|
||||
do_wear.1
|
||||
|
||||
[ ]
|
||||
do_wear.2
|
||||
|
||||
[ ]
|
||||
do_wear.b
|
||||
|
||||
[ ]
|
||||
dog.1
|
||||
|
||||
[ ]
|
||||
dog.2
|
||||
|
||||
[ ]
|
||||
dog.b
|
||||
|
||||
[ ]
|
||||
dogmove.0
|
||||
|
||||
[ ]
|
||||
dogmove.b
|
||||
|
||||
[ ]
|
||||
dokick.o
|
||||
|
||||
[ ]
|
||||
dothrow.o
|
||||
|
||||
[ ]
|
||||
drawing.o
|
||||
|
||||
[ ]
|
||||
dungeon.0
|
||||
|
||||
[ ]
|
||||
dungeon.1
|
||||
|
||||
[ ]
|
||||
eat.0
|
||||
|
||||
[ ]
|
||||
eat.1
|
||||
|
||||
[ ]
|
||||
eat.b
|
||||
|
||||
[ ]
|
||||
end.o
|
||||
|
||||
[ ]
|
||||
engrave.0
|
||||
|
||||
[ ]
|
||||
engrave.1
|
||||
|
||||
[ ]
|
||||
engrave.2
|
||||
|
||||
[ ]
|
||||
engrave.b
|
||||
|
||||
[ ]
|
||||
exper.o
|
||||
|
||||
[ ]
|
||||
explode.0
|
||||
|
||||
[ ]
|
||||
explode.1
|
||||
|
||||
[ ]
|
||||
extralev.o
|
||||
|
||||
[ ]
|
||||
files.o
|
||||
|
||||
[ ]
|
||||
fountain.o
|
||||
|
||||
[ ]
|
||||
getline.1
|
||||
|
||||
[ ]
|
||||
getline.2
|
||||
|
||||
[ ]
|
||||
hack.1
|
||||
|
||||
[ ]
|
||||
hack.2
|
||||
|
||||
[ ]
|
||||
hack.b
|
||||
|
||||
[ ]
|
||||
hacklib.0
|
||||
|
||||
[ ]
|
||||
hacklib.1
|
||||
|
||||
[ ]
|
||||
hacklib.2
|
||||
|
||||
[ ]
|
||||
hacklib.b
|
||||
|
||||
[ ]
|
||||
invent.0
|
||||
|
||||
[ ]
|
||||
invent.1
|
||||
|
||||
[ ]
|
||||
invent.2
|
||||
|
||||
[ ]
|
||||
invent.3
|
||||
|
||||
[ ]
|
||||
invent.b
|
||||
|
||||
[ ]
|
||||
light.3
|
||||
|
||||
[ ]
|
||||
lock.0
|
||||
|
||||
[ ]
|
||||
lock.b mail.0
|
||||
|
||||
[ ]
|
||||
mail.b
|
||||
|
||||
[ ]
|
||||
makemon.0
|
||||
|
||||
[ ]
|
||||
makemon.1
|
||||
|
||||
[ ]
|
||||
makemon.2
|
||||
|
||||
[ ]
|
||||
makemon.b
|
||||
|
||||
[ ]
|
||||
mcastu.0
|
||||
|
||||
[ ]
|
||||
mcastu.b
|
||||
|
||||
[ ]
|
||||
mhitm.0
|
||||
|
||||
[ ]
|
||||
mhitm.b
|
||||
|
||||
[ ]
|
||||
mhitu.0
|
||||
|
||||
[ ]
|
||||
mhitu.1
|
||||
|
||||
[ ]
|
||||
mhitu.b
|
||||
|
||||
[ ]
|
||||
minion.o
|
||||
|
||||
[ ]
|
||||
mklev.o
|
||||
|
||||
[ ]
|
||||
mkmap.o
|
||||
|
||||
[ ]
|
||||
mkmaze.o
|
||||
|
||||
[ ]
|
||||
mkobj.0
|
||||
|
||||
[ ]
|
||||
mkobj.1
|
||||
|
||||
[ ]
|
||||
mkobj.b
|
||||
|
||||
[ ]
|
||||
mkroom.0
|
||||
|
||||
[ ]
|
||||
mkroom.b
|
||||
|
||||
[ ]
|
||||
mon.0
|
||||
|
||||
[ ]
|
||||
mon.1
|
||||
|
||||
[ ]
|
||||
mon.2
|
||||
|
||||
[ ]
|
||||
mon.b
|
||||
|
||||
[ ]
|
||||
mondata.0
|
||||
|
||||
[ ]
|
||||
mondata.1
|
||||
|
||||
[ ]
|
||||
mondata.2
|
||||
|
||||
[ ]
|
||||
mondata.b
|
||||
|
||||
[ ]
|
||||
monmove.0
|
||||
|
||||
[ ]
|
||||
monmove.1
|
||||
|
||||
[ ]
|
||||
monmove.2
|
||||
|
||||
[ ]
|
||||
monmove.b
|
||||
|
||||
[ ]
|
||||
monst.o
|
||||
|
||||
[ ]
|
||||
monstr.o
|
||||
|
||||
[ ]
|
||||
mplayer.o
|
||||
|
||||
[ ]
|
||||
msdos.0 pckeys.o
|
||||
|
||||
[ ]
|
||||
msdos.b
|
||||
|
||||
[ ]
|
||||
mthrowu.0
|
||||
|
||||
[ ]
|
||||
mthrowu.1
|
||||
|
||||
[ ]
|
||||
mthrowu.b
|
||||
|
||||
[ ]
|
||||
muse.o
|
||||
|
||||
[ ]
|
||||
music.o
|
||||
|
||||
[ ]
|
||||
o_init.o
|
||||
|
||||
[ ]
|
||||
objects.o
|
||||
|
||||
[ ]
|
||||
objnam.0
|
||||
|
||||
[ ]
|
||||
objnam.1
|
||||
|
||||
[ ]
|
||||
objnam.b
|
||||
|
||||
[ ]
|
||||
options.o
|
||||
|
||||
[ ]
|
||||
pager.o
|
||||
|
||||
[ ]
|
||||
pcmain.1 role.o
|
||||
|
||||
[ ]
|
||||
pcmain.b
|
||||
|
||||
[ ]
|
||||
pcunix.b
|
||||
|
||||
[ ]
|
||||
pickup.o
|
||||
|
||||
[ ]
|
||||
pline.b
|
||||
|
||||
[ ]
|
||||
polyself.0
|
||||
|
||||
[ ]
|
||||
polyself.1
|
||||
|
||||
[ ]
|
||||
polyself.b
|
||||
|
||||
[ ]
|
||||
potion.b
|
||||
|
||||
[ ]
|
||||
pray.o
|
||||
|
||||
[ ]
|
||||
priest.0
|
||||
|
||||
[ ]
|
||||
priest.b
|
||||
|
||||
[ ]
|
||||
quest.o
|
||||
|
||||
[ ]
|
||||
questpgr.o
|
||||
|
||||
[ ]
|
||||
random.o
|
||||
|
||||
[ ]
|
||||
read.b
|
||||
|
||||
[ ]
|
||||
rect.o
|
||||
|
||||
[ ]
|
||||
region.o
|
||||
|
||||
[ ]
|
||||
restore.o
|
||||
|
||||
[ ]
|
||||
rip.o
|
||||
|
||||
[ ]
|
||||
rnd.0
|
||||
|
||||
[ ]
|
||||
rnd.1
|
||||
|
||||
[ ]
|
||||
rnd.b
|
||||
|
||||
[ ]
|
||||
rumors.o
|
||||
|
||||
[ ]
|
||||
save.o
|
||||
|
||||
[ ]
|
||||
shk.0
|
||||
|
||||
[ ]
|
||||
shk.1
|
||||
|
||||
[ ]
|
||||
shk.2
|
||||
|
||||
[ ]
|
||||
shk.3
|
||||
|
||||
[ ]
|
||||
shk.b
|
||||
|
||||
[ ]
|
||||
shknam.0
|
||||
|
||||
[ ]
|
||||
shknam.b
|
||||
|
||||
[ ]
|
||||
sit.o
|
||||
|
||||
[ ]
|
||||
sounds.0
|
||||
|
||||
[ ]
|
||||
sounds.b
|
||||
|
||||
[ ]
|
||||
sp_lev.o
|
||||
|
||||
[ ]
|
||||
spell.o
|
||||
|
||||
[ ]
|
||||
steal.0
|
||||
|
||||
[ ]
|
||||
steal.1
|
||||
|
||||
[ ]
|
||||
steal.b
|
||||
|
||||
[ ]
|
||||
steed.o worn.o
|
||||
|
||||
[ ]
|
||||
sys.o
|
||||
|
||||
[ ]
|
||||
teleport.o
|
||||
|
||||
[ ]
|
||||
termcap.0
|
||||
|
||||
[ ]
|
||||
termcap.1
|
||||
|
||||
[ ]
|
||||
termcap.b
|
||||
|
||||
[ ]
|
||||
timeout.0
|
||||
|
||||
[ ]
|
||||
timeout.1
|
||||
|
||||
[ ]
|
||||
timeout.b
|
||||
|
||||
[ ]
|
||||
topl.1
|
||||
|
||||
[ ]
|
||||
topl.2
|
||||
|
||||
[ ]
|
||||
topl.b
|
||||
|
||||
[ ]
|
||||
topten.o
|
||||
|
||||
[ ]
|
||||
track.0
|
||||
|
||||
[ ]
|
||||
track.1
|
||||
|
||||
[ ]
|
||||
track.b
|
||||
|
||||
[ ]
|
||||
trap.0
|
||||
|
||||
[ ]
|
||||
trap.1
|
||||
|
||||
[ ]
|
||||
trap.2
|
||||
|
||||
[ ]
|
||||
trap.3
|
||||
|
||||
[ ]
|
||||
trap.b
|
||||
|
||||
[ ]
|
||||
tty.o
|
||||
|
||||
[ ]
|
||||
u_init.o
|
||||
|
||||
[ ]
|
||||
uhitm.o
|
||||
|
||||
[ ]
|
||||
vault.0
|
||||
|
||||
[ ]
|
||||
vault.b
|
||||
|
||||
[ ]
|
||||
version.o
|
||||
|
||||
[ ]
|
||||
vidvga.2
|
||||
|
||||
[ ]
|
||||
vis_tab.o
|
||||
|
||||
[ ]
|
||||
vision.o
|
||||
|
||||
[ ]
|
||||
weapon.0
|
||||
|
||||
[ ]
|
||||
weapon.1
|
||||
|
||||
[ ]
|
||||
weapon.b
|
||||
|
||||
[ ]
|
||||
were.0
|
||||
|
||||
[ ]
|
||||
were.b
|
||||
|
||||
[ ]
|
||||
wield.o
|
||||
|
||||
[ ]
|
||||
windows.o
|
||||
|
||||
[ ]
|
||||
wintty.o
|
||||
|
||||
[ ]
|
||||
wizard.0
|
||||
|
||||
[ ]
|
||||
wizard.b
|
||||
|
||||
[ ]
|
||||
worm.o
|
||||
|
||||
[ ]
|
||||
write.o
|
||||
|
||||
[ ]
|
||||
zap.0
|
||||
|
||||
[ ]
|
||||
zap.1
|
||||
|
||||
[ ]
|
||||
zap.2
|
||||
|
||||
[ ]
|
||||
zap.3
|
||||
|
||||
[ ]
|
||||
zap.b
|
||||
@@ -1,600 +0,0 @@
|
||||
SCCS Id: @(#)schema3 3.3 95/10/25
|
||||
Copyright (c) NetHack PC Development Team 1993, 1994, 1995
|
||||
#
|
||||
# NetHack Overlay Schema
|
||||
# Minimal extended memory available, lots of 640K base RAM free
|
||||
# This schema is for use with a patched moveinit.c (see Makefile
|
||||
# or Install.dos for information.
|
||||
#
|
||||
|
||||
[ root ]
|
||||
pcmain.0 sound.o tile.o pctiles.0 pctiles.b
|
||||
vidvga.1 vidvga.0 vidvga.b video.0 video.1 video.b
|
||||
hack.3 vidtxt.0 vidtxt.b botl.0 monmove.0 display.o
|
||||
dungeon.0 hacklib.0 wintty.o trap.0 attrib.0 detect.o
|
||||
mon.0 cmd.0 vision.o hack.1 msdos.0
|
||||
random.o rnd.0 alloc.o
|
||||
dbridge.0 monmove.1 engrave.0 invent.0
|
||||
monmove.2 mondata.0
|
||||
hacklib.1 hacklib.2
|
||||
dogmove.b
|
||||
|
||||
[ ]
|
||||
allmain.0
|
||||
|
||||
[ ]
|
||||
allmain.1
|
||||
|
||||
[ ]
|
||||
allmain.b
|
||||
|
||||
[ ]
|
||||
apply.0
|
||||
|
||||
[ ]
|
||||
apply.1
|
||||
|
||||
[ ]
|
||||
apply.b
|
||||
|
||||
[ ]
|
||||
artifact.0
|
||||
|
||||
[ ]
|
||||
artifact.1
|
||||
|
||||
[ ]
|
||||
artifact.b
|
||||
|
||||
[ ]
|
||||
attrib.1
|
||||
|
||||
[ ]
|
||||
attrib.2
|
||||
|
||||
[ ]
|
||||
attrib.b
|
||||
|
||||
[ ]
|
||||
ball.o
|
||||
|
||||
[ ]
|
||||
bones.o
|
||||
|
||||
[ ]
|
||||
botl.1
|
||||
|
||||
[ ]
|
||||
botl.b
|
||||
|
||||
[ ]
|
||||
cmd.1
|
||||
|
||||
[ ]
|
||||
cmd.b
|
||||
|
||||
[ ]
|
||||
dbridge.1
|
||||
|
||||
[ ]
|
||||
dbridge.b
|
||||
|
||||
[ ]
|
||||
decl.o
|
||||
|
||||
[ ]
|
||||
dig.o
|
||||
|
||||
[ ]
|
||||
dlb.o
|
||||
|
||||
[ ]
|
||||
do.0
|
||||
|
||||
[ ]
|
||||
do.1
|
||||
|
||||
[ ]
|
||||
do.2
|
||||
|
||||
[ ]
|
||||
do.3
|
||||
|
||||
[ ]
|
||||
do.b
|
||||
|
||||
[ ]
|
||||
do_name.0
|
||||
|
||||
[ ]
|
||||
do_name.2
|
||||
|
||||
[ ]
|
||||
do_name.b
|
||||
|
||||
[ ]
|
||||
do_wear.0
|
||||
|
||||
[ ]
|
||||
do_wear.1
|
||||
|
||||
[ ]
|
||||
do_wear.2
|
||||
|
||||
[ ]
|
||||
do_wear.b
|
||||
|
||||
[ ]
|
||||
dog.1
|
||||
|
||||
[ ]
|
||||
dog.2
|
||||
|
||||
[ ]
|
||||
dog.b
|
||||
|
||||
[ ]
|
||||
dogmove.0
|
||||
|
||||
[ ]
|
||||
dokick.o
|
||||
|
||||
[ ]
|
||||
dothrow.o
|
||||
|
||||
[ ]
|
||||
drawing.o
|
||||
|
||||
[ ]
|
||||
dungeon.1
|
||||
|
||||
[ ]
|
||||
eat.0
|
||||
|
||||
[ ]
|
||||
eat.1
|
||||
|
||||
[ ]
|
||||
eat.b
|
||||
|
||||
[ ]
|
||||
end.o
|
||||
|
||||
[ ]
|
||||
engrave.1
|
||||
|
||||
[ ]
|
||||
engrave.2
|
||||
|
||||
[ ]
|
||||
engrave.b
|
||||
|
||||
[ ]
|
||||
exper.o
|
||||
|
||||
[ ]
|
||||
explode.0
|
||||
|
||||
[ ]
|
||||
explode.1
|
||||
|
||||
[ ]
|
||||
extralev.o
|
||||
|
||||
[ ]
|
||||
files.o
|
||||
|
||||
[ ]
|
||||
fountain.o
|
||||
|
||||
[ ]
|
||||
getline.1
|
||||
|
||||
[ ]
|
||||
getline.2
|
||||
|
||||
[ ]
|
||||
hack.2
|
||||
|
||||
[ ]
|
||||
hack.b
|
||||
|
||||
[ ]
|
||||
hacklib.b
|
||||
|
||||
[ ]
|
||||
invent.1
|
||||
|
||||
[ ]
|
||||
invent.2
|
||||
|
||||
[ ]
|
||||
invent.3
|
||||
|
||||
[ ]
|
||||
invent.b
|
||||
|
||||
[ ]
|
||||
light.3
|
||||
|
||||
[ ]
|
||||
lock.0
|
||||
|
||||
[ ]
|
||||
lock.b mail.0
|
||||
|
||||
[ ]
|
||||
mail.b
|
||||
|
||||
[ ]
|
||||
makemon.0
|
||||
|
||||
[ ]
|
||||
makemon.1
|
||||
|
||||
[ ]
|
||||
makemon.2
|
||||
|
||||
[ ]
|
||||
makemon.b
|
||||
|
||||
[ ]
|
||||
mcastu.0
|
||||
|
||||
[ ]
|
||||
mcastu.b
|
||||
|
||||
[ ]
|
||||
mhitm.0
|
||||
|
||||
[ ]
|
||||
mhitm.b
|
||||
|
||||
[ ]
|
||||
mhitu.0
|
||||
|
||||
[ ]
|
||||
mhitu.1
|
||||
|
||||
[ ]
|
||||
mhitu.b
|
||||
|
||||
[ ]
|
||||
minion.o
|
||||
|
||||
[ ]
|
||||
mklev.o
|
||||
|
||||
[ ]
|
||||
mkmap.o
|
||||
|
||||
[ ]
|
||||
mkmaze.o
|
||||
|
||||
[ ]
|
||||
mkobj.0
|
||||
|
||||
[ ]
|
||||
mkobj.1
|
||||
|
||||
[ ]
|
||||
mkobj.b
|
||||
|
||||
[ ]
|
||||
mkroom.0
|
||||
|
||||
[ ]
|
||||
mkroom.b
|
||||
|
||||
[ ]
|
||||
mon.1
|
||||
|
||||
[ ]
|
||||
mon.2
|
||||
|
||||
[ ]
|
||||
mon.b
|
||||
|
||||
[ ]
|
||||
mondata.1
|
||||
|
||||
[ ]
|
||||
mondata.2
|
||||
|
||||
[ ]
|
||||
mondata.b
|
||||
|
||||
[ ]
|
||||
monmove.b
|
||||
|
||||
[ ]
|
||||
monst.o
|
||||
|
||||
[ ]
|
||||
monstr.o
|
||||
|
||||
[ ]
|
||||
mplayer.o
|
||||
|
||||
[ ]
|
||||
msdos.b
|
||||
|
||||
[ ]
|
||||
mthrowu.0
|
||||
|
||||
[ ]
|
||||
mthrowu.1
|
||||
|
||||
[ ]
|
||||
mthrowu.b
|
||||
|
||||
[ ]
|
||||
muse.o
|
||||
|
||||
[ ]
|
||||
music.o
|
||||
|
||||
[ ]
|
||||
o_init.o
|
||||
|
||||
[ ]
|
||||
objects.o
|
||||
|
||||
[ ]
|
||||
objnam.0
|
||||
|
||||
[ ]
|
||||
objnam.1
|
||||
|
||||
[ ]
|
||||
objnam.b
|
||||
|
||||
[ ]
|
||||
options.o
|
||||
|
||||
[ ]
|
||||
pager.o
|
||||
|
||||
[ ]
|
||||
pcmain.1
|
||||
|
||||
[ ]
|
||||
pcmain.b
|
||||
|
||||
[ ]
|
||||
pcunix.b
|
||||
|
||||
[ ]
|
||||
pickup.o
|
||||
|
||||
[ ]
|
||||
pline.b
|
||||
|
||||
[ ]
|
||||
polyself.0
|
||||
|
||||
[ ]
|
||||
polyself.1
|
||||
|
||||
[ ]
|
||||
polyself.b
|
||||
|
||||
[ ]
|
||||
potion.b
|
||||
|
||||
[ ]
|
||||
pray.o
|
||||
|
||||
[ ]
|
||||
priest.0
|
||||
|
||||
[ ]
|
||||
priest.b
|
||||
|
||||
[ ]
|
||||
quest.o
|
||||
|
||||
[ ]
|
||||
questpgr.o
|
||||
|
||||
[ ]
|
||||
read.b
|
||||
|
||||
[ ]
|
||||
rect.o
|
||||
|
||||
[ ]
|
||||
restore.o
|
||||
|
||||
[ ]
|
||||
rip.o
|
||||
|
||||
[ ]
|
||||
rnd.1
|
||||
|
||||
[ ]
|
||||
rnd.b
|
||||
|
||||
[ ]
|
||||
rumors.o
|
||||
|
||||
[ ]
|
||||
save.o
|
||||
|
||||
[ ]
|
||||
shk.0
|
||||
|
||||
[ ]
|
||||
shk.1
|
||||
|
||||
[ ]
|
||||
shk.2
|
||||
|
||||
[ ]
|
||||
shk.3
|
||||
|
||||
[ ]
|
||||
shk.b
|
||||
|
||||
[ ]
|
||||
shknam.0
|
||||
|
||||
[ ]
|
||||
shknam.b
|
||||
|
||||
[ ]
|
||||
sit.o
|
||||
|
||||
[ ]
|
||||
sounds.0
|
||||
|
||||
[ ]
|
||||
sounds.b
|
||||
|
||||
[ ]
|
||||
sp_lev.o
|
||||
|
||||
[ ]
|
||||
spell.o
|
||||
|
||||
[ ]
|
||||
steal.0
|
||||
|
||||
[ ]
|
||||
steal.1
|
||||
|
||||
[ ]
|
||||
steal.b
|
||||
|
||||
[ ]
|
||||
sys.o
|
||||
|
||||
[ ]
|
||||
teleport.o
|
||||
|
||||
[ ]
|
||||
termcap.0
|
||||
|
||||
[ ]
|
||||
termcap.1
|
||||
|
||||
[ ]
|
||||
termcap.b
|
||||
|
||||
[ ]
|
||||
timeout.0
|
||||
|
||||
[ ]
|
||||
timeout.1
|
||||
|
||||
[ ]
|
||||
timeout.b
|
||||
|
||||
[ ]
|
||||
topl.1
|
||||
|
||||
[ ]
|
||||
topl.2
|
||||
|
||||
[ ]
|
||||
topl.b
|
||||
|
||||
[ ]
|
||||
topten.o
|
||||
|
||||
[ ]
|
||||
track.0
|
||||
|
||||
[ ]
|
||||
track.1
|
||||
|
||||
[ ]
|
||||
track.b
|
||||
|
||||
[ ]
|
||||
trap.1
|
||||
|
||||
[ ]
|
||||
trap.2
|
||||
|
||||
[ ]
|
||||
trap.3
|
||||
|
||||
[ ]
|
||||
trap.b
|
||||
|
||||
[ ]
|
||||
tty.o
|
||||
|
||||
[ ]
|
||||
u_init.o
|
||||
|
||||
[ ]
|
||||
uhitm.o
|
||||
|
||||
[ ]
|
||||
vault.0
|
||||
|
||||
[ ]
|
||||
vault.b
|
||||
|
||||
[ ]
|
||||
version.o
|
||||
|
||||
[ ]
|
||||
vidvga.2
|
||||
|
||||
[ ]
|
||||
vis_tab.o
|
||||
|
||||
[ ]
|
||||
weapon.0
|
||||
|
||||
[ ]
|
||||
weapon.1
|
||||
|
||||
[ ]
|
||||
weapon.b
|
||||
|
||||
[ ]
|
||||
were.0
|
||||
|
||||
[ ]
|
||||
were.b
|
||||
|
||||
[ ]
|
||||
wield.o
|
||||
|
||||
[ ]
|
||||
windows.o
|
||||
|
||||
[ ]
|
||||
wizard.0
|
||||
|
||||
[ ]
|
||||
wizard.b
|
||||
|
||||
[ ]
|
||||
worm.o
|
||||
|
||||
[ ]
|
||||
worn.o
|
||||
|
||||
[ ]
|
||||
write.o
|
||||
|
||||
[ ]
|
||||
zap.0
|
||||
|
||||
[ ]
|
||||
zap.1
|
||||
|
||||
[ ]
|
||||
zap.2
|
||||
|
||||
[ ]
|
||||
zap.3
|
||||
|
||||
[ ]
|
||||
zap.b
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user