Merge branch 'NetHack-3.6'
This commit is contained in:
+7
-5
@@ -1,4 +1,4 @@
|
|||||||
.\" $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.317 $ $NHDT-Date: 1572448817 2019/10/30 15:20:17 $
|
.\" $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.319 $ $NHDT-Date: 1572525093 2019/10/31 12:31:33 $
|
||||||
.\"
|
.\"
|
||||||
.\" This is an excerpt from the 'roff' man page from the 'groff' package.
|
.\" This is an excerpt from the 'roff' man page from the 'groff' package.
|
||||||
.\" NetHack's Guidebook.mn currently does *not* adhere to these guidelines.
|
.\" NetHack's Guidebook.mn currently does *not* adhere to these guidelines.
|
||||||
@@ -2683,7 +2683,9 @@ HACKDIR, must be writable.
|
|||||||
.lp TROUBLEDIR
|
.lp TROUBLEDIR
|
||||||
The location that a record of game aborts and self-diagnosed game problems
|
The location that a record of game aborts and self-diagnosed game problems
|
||||||
is kept. Defaults to HACKDIR, must be writable.
|
is kept. Defaults to HACKDIR, must be writable.
|
||||||
|
.\"
|
||||||
.\" config file entries beyond this point are shown alphabetically
|
.\" config file entries beyond this point are shown alphabetically
|
||||||
|
.\"
|
||||||
.lp AUTOCOMPLETE
|
.lp AUTOCOMPLETE
|
||||||
Enable or disable an extended command autocompletion.
|
Enable or disable an extended command autocompletion.
|
||||||
Autocompletion has no effect for the X11 windowport.
|
Autocompletion has no effect for the X11 windowport.
|
||||||
@@ -2749,7 +2751,7 @@ See the \(lqModifying NetHack Symbols\(rq section.
|
|||||||
.lp ""
|
.lp ""
|
||||||
Example:
|
Example:
|
||||||
.sd
|
.sd
|
||||||
\f(CR# replace small punctuation (tick marks) with easier to see digits\fP
|
\f(CR# replace small punctuation (tick marks) with digits\fP
|
||||||
\f(CRSYMBOLS=S_boulder:0,S_golem:7\fP
|
\f(CRSYMBOLS=S_boulder:0,S_golem:7\fP
|
||||||
.ed
|
.ed
|
||||||
.lp WIZKIT
|
.lp WIZKIT
|
||||||
@@ -4576,8 +4578,8 @@ X S_xorn (xorn)
|
|||||||
Y S_yeti (apelike creature)
|
Y S_yeti (apelike creature)
|
||||||
Z S_zombie (zombie)
|
Z S_zombie (zombie)
|
||||||
z S_zruty (zruty)
|
z S_zruty (zruty)
|
||||||
S_pet_override (pet override if sysconf accessibility is set)
|
\ S_pet_override (any pet if sysconf accessibility is set)
|
||||||
S_player_override (player override if sysconf accessibility is set)
|
\ S_player_override (hero if sysconf accessibility is set)
|
||||||
.\"TABLE_END Do not delete this line.
|
.\"TABLE_END Do not delete this line.
|
||||||
.TE
|
.TE
|
||||||
.pg
|
.pg
|
||||||
@@ -4660,7 +4662,7 @@ of moving 8 units at a time.
|
|||||||
.lp nostatus_updates
|
.lp nostatus_updates
|
||||||
Prevent updates to the status lines at the bottom of the screen, if
|
Prevent updates to the status lines at the bottom of the screen, if
|
||||||
your screen-reader reads those lines. The same information can be
|
your screen-reader reads those lines. The same information can be
|
||||||
seen via the #attributes command.
|
seen via the \(lq#attributes\(rq command.
|
||||||
.hn 2
|
.hn 2
|
||||||
Global Configuration for System Administrators
|
Global Configuration for System Administrators
|
||||||
.pg
|
.pg
|
||||||
|
|||||||
+48
-30
@@ -2895,9 +2895,13 @@ Section names are case insensitive.
|
|||||||
|
|
||||||
%.pg
|
%.pg
|
||||||
You can use different configuration statements in the file, some
|
You can use different configuration statements in the file, some
|
||||||
of which can be used multiple times. In general, the statements are
|
of which can be used multiple times.
|
||||||
|
In general, the statements are
|
||||||
written in capital letters, followed by an equals sign, followed by
|
written in capital letters, followed by an equals sign, followed by
|
||||||
settings particular to that statement. Here is a list of allowed statements:
|
settings particular to that statement.
|
||||||
|
|
||||||
|
%.pg
|
||||||
|
Here is a list of allowed statements:
|
||||||
|
|
||||||
%.lp
|
%.lp
|
||||||
\blist{}
|
\blist{}
|
||||||
@@ -2912,7 +2916,7 @@ You can specify multiple OPTIONS statements, and multiple options
|
|||||||
separated by commas in a single OPTIONS statement.
|
separated by commas in a single OPTIONS statement.
|
||||||
(Comma separated options are processed from right to left.)
|
(Comma separated options are processed from right to left.)
|
||||||
|
|
||||||
%.pg
|
%.lp ""
|
||||||
Example:
|
Example:
|
||||||
%.sd
|
%.sd
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -2946,6 +2950,9 @@ HACKDIR, must be writable.
|
|||||||
\item[\bb{TROUBLEDIR}]
|
\item[\bb{TROUBLEDIR}]
|
||||||
The location that a record of game aborts and self-diagnosed game problems
|
The location that a record of game aborts and self-diagnosed game problems
|
||||||
is kept. Defaults to HACKDIR, must be writable.
|
is kept. Defaults to HACKDIR, must be writable.
|
||||||
|
%
|
||||||
|
% config file entries beyond this point are shown alphabetically
|
||||||
|
%
|
||||||
%.lp
|
%.lp
|
||||||
\item[\bb{AUTOCOMPLETE}]
|
\item[\bb{AUTOCOMPLETE}]
|
||||||
Enable or disable an extended command autocompletion.
|
Enable or disable an extended command autocompletion.
|
||||||
@@ -2955,11 +2962,11 @@ autocompletion, list the extended command. Prefix the
|
|||||||
command with ``{{\tt !}}'' to disable the autocompletion
|
command with ``{{\tt !}}'' to disable the autocompletion
|
||||||
for that command.
|
for that command.
|
||||||
|
|
||||||
%.pg
|
%.lp ""
|
||||||
Example:
|
Example:
|
||||||
%.sd
|
%.sd
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
AUTOCOMPLETE=zap,!annotate
|
AUTOCOMPLETE=zap,!annotate
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
%.ed
|
%.ed
|
||||||
|
|
||||||
@@ -2974,7 +2981,7 @@ extended commands. You can specify multiple bindings. Format is key
|
|||||||
followed by the command, separated by a colon.
|
followed by the command, separated by a colon.
|
||||||
See the ``Changing Key Bindings`` section for more information.
|
See the ``Changing Key Bindings`` section for more information.
|
||||||
|
|
||||||
%.pg
|
%.lp ""
|
||||||
Example:
|
Example:
|
||||||
%.sd
|
%.sd
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -2987,7 +2994,7 @@ Example:
|
|||||||
Chooses at random one of the comma-separated parameters as an active
|
Chooses at random one of the comma-separated parameters as an active
|
||||||
section name. Lines in other sections are ignored.
|
section name. Lines in other sections are ignored.
|
||||||
|
|
||||||
%.pg
|
%.lp ""
|
||||||
Example:
|
Example:
|
||||||
%.sd
|
%.sd
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -3000,23 +3007,37 @@ Example:
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
%.ed
|
%.ed
|
||||||
|
|
||||||
%.lp
|
|
||||||
\item[\bb{MSGTYPE}]
|
|
||||||
Change the way messages are shown in the top status line.
|
|
||||||
See the ``Configuring Message Types`` section.
|
|
||||||
%.lp
|
%.lp
|
||||||
\item[\bb{MENUCOLOR}]
|
\item[\bb{MENUCOLOR}]
|
||||||
Highlight menu lines with different colors.
|
Highlight menu lines with different colors.
|
||||||
See the ``Configuring Menu Colors`` section.
|
See the ``Configuring Menu Colors`` section.
|
||||||
%.lp
|
%.lp
|
||||||
\item[\bb{SYMBOLS},\bb{ROGUESYMBOLS}]
|
\item[\bb{MSGTYPE}]
|
||||||
Override one or more symbols in the symbols files.
|
Change the way messages are shown in the top status line.
|
||||||
|
See the ``Configuring Message Types`` section.
|
||||||
|
%.lp
|
||||||
|
\item[\bb{ROGUESYMBOLS}]
|
||||||
|
Custom symbols for for the rogue level's symbol set.
|
||||||
|
See {\it SYMBOLS} below.
|
||||||
|
%.lp
|
||||||
|
\item[\bb{SOUND}]
|
||||||
|
Define a sound mapping.
|
||||||
|
See the ``Configuring User Sounds'' section.
|
||||||
|
%.lp
|
||||||
|
\item[\bb{SOUNDDIR}]
|
||||||
|
Define the directory that contains the sound files.
|
||||||
|
See the ``Configuring User Sounds'' section.
|
||||||
|
%.lp
|
||||||
|
\item[\bb{SYMBOLS}
|
||||||
|
Override one or more symbols in the symbol set used for all dungeon
|
||||||
|
levels except for the special rogue level.
|
||||||
See the ``Modifying {\it NetHack\/} Symbols'' section.
|
See the ``Modifying {\it NetHack\/} Symbols'' section.
|
||||||
%.pg
|
%.pg
|
||||||
Example:
|
Example:
|
||||||
%.sd
|
%.sd
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
SYMBOLS=S_boulder:0
|
# replace small punctuation (tick marks) with digits
|
||||||
|
SYMBOLS=S_boulder:0,S_golem:7
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
%.ed
|
%.ed
|
||||||
|
|
||||||
@@ -3026,22 +3047,17 @@ Debug mode only: extra items to add to initial inventory.
|
|||||||
Value is the name of a text file containing a list of item names,
|
Value is the name of a text file containing a list of item names,
|
||||||
one per line, up to a maximum of 128 lines.
|
one per line, up to a maximum of 128 lines.
|
||||||
Each line is processed by the function that handles wishing.
|
Each line is processed by the function that handles wishing.
|
||||||
%.pg
|
|
||||||
|
%.lp ""
|
||||||
Example:
|
Example:
|
||||||
%.sd
|
%.sd
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
WIZKIT=~/wizkit.txt
|
WIZKIT=~/wizkit.txt
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
%.ed
|
%.ed
|
||||||
%.lp
|
|
||||||
\item[\bb{SOUNDDIR}]
|
|
||||||
Define the directory that contains the sound files.
|
|
||||||
See the ``Configuring User Sounds'' section.
|
|
||||||
%.lp
|
|
||||||
\item[\bb{SOUND}]
|
|
||||||
Define a sound mapping. See the ``Configuring User Sounds'' section.
|
|
||||||
\elist
|
\elist
|
||||||
|
|
||||||
|
%.lp ""
|
||||||
%.pg
|
%.pg
|
||||||
Here is a short example of config file contents:
|
Here is a short example of config file contents:
|
||||||
%.sd
|
%.sd
|
||||||
@@ -4876,11 +4892,13 @@ on the rogue level.
|
|||||||
\elist
|
\elist
|
||||||
|
|
||||||
You can also override one or more symbols using the {\it SYMBOLS\/} and
|
You can also override one or more symbols using the {\it SYMBOLS\/} and
|
||||||
{\it ROGUESYMBOLS\/} config file options. Symbols are specified as
|
{\it ROGUESYMBOLS\/} config file options.
|
||||||
{\it name:value\/} pairs. Note that {\it NetHack\/} escape-processes
|
Symbols are specified as {\it name:value\/} pairs.
|
||||||
the {\it value\/} string in conventional C fashion. This means that `\verb+\+'
|
Note that {\it NetHack\/} escape-processes
|
||||||
is a prefix to take the following character literally. Thus `\verb+\+' needs
|
the {\it value\/} string in conventional C fashion.
|
||||||
to be represented as `\verb+\\+'.
|
This means that `\verb+\+' is a prefix to take the following character
|
||||||
|
literally.
|
||||||
|
Thus `\verb+\+' needs to be represented as `\verb+\\+'.
|
||||||
The special prefix
|
The special prefix
|
||||||
`\verb+\m+' switches on the meta bit in the symbol value, and the
|
`\verb+\m+' switches on the meta bit in the symbol value, and the
|
||||||
`{\tt \^{}}' prefix causes the following character to be treated as a control
|
`{\tt \^{}}' prefix causes the following character to be treated as a control
|
||||||
@@ -5067,8 +5085,8 @@ Default & Symbol Name & Description\\
|
|||||||
\verb@Y@ & S\verb+_+yeti & (apelike creature)\\
|
\verb@Y@ & S\verb+_+yeti & (apelike creature)\\
|
||||||
\verb@Z@ & S\verb+_+zombie & (zombie)\\
|
\verb@Z@ & S\verb+_+zombie & (zombie)\\
|
||||||
\verb@z@ & S\verb+_+zruty & (zruty)\\
|
\verb@z@ & S\verb+_+zruty & (zruty)\\
|
||||||
\verb@ @ & S\verb+_+pet\verb+_+override & (pet override if sysconf accessibility is set)\\
|
\verb@ @ & S\verb+_+pet\verb+_+override & (any pet if sysconf accessibility is set)\\
|
||||||
\verb@ @ & S\verb+_+player\verb+_+override & (player override if sysconf accessibility is set)
|
\verb@ @ & S\verb+_+player\verb+_+override & (hero if sysconf accessibility is set)
|
||||||
\end{longtable}%
|
\end{longtable}%
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -1,4 +1,4 @@
|
|||||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.149 $ $NHDT-Date: 1572141706 2019/10/27 02:01:46 $
|
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.151 $ $NHDT-Date: 1572530225 2019/10/31 13:57:05 $
|
||||||
|
|
||||||
This fixes36.3 file is here to capture information about updates in the 3.6.x
|
This fixes36.3 file is here to capture information about updates in the 3.6.x
|
||||||
lineage following the release of 3.6.2 in May 2019. Please note, however,
|
lineage following the release of 3.6.2 in May 2019. Please note, however,
|
||||||
@@ -208,6 +208,8 @@ parsing for the argument to 'scores' option was sloppy; "3a/o" (slash) and
|
|||||||
"3a 1o" (space and digit one, not lowercase L) both worked but "3a o"
|
"3a 1o" (space and digit one, not lowercase L) both worked but "3a o"
|
||||||
(just space) was supposed to but didn't
|
(just space) was supposed to but didn't
|
||||||
wizmakemap could leave genocided monsters on map
|
wizmakemap could leave genocided monsters on map
|
||||||
|
when entering Astral level, initial rendering of guardian angel didn't show
|
||||||
|
it as tame; noticeable if the level was entered with 'hilite_pet' On
|
||||||
|
|
||||||
|
|
||||||
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
@@ -79,6 +79,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define MAIL
|
#define MAIL
|
||||||
|
#define CONFIG_FILE "defaults.nh"
|
||||||
|
#define CONFIG_TEMPLATE "defaults.template"
|
||||||
|
#define SYSCF_TEMPLATE "sysconf.template"
|
||||||
|
#define SYMBOLS_TEMPLATE "symbols.template"
|
||||||
|
#define GUIDEBOOK_FILE "Guidebook.txt"
|
||||||
|
|
||||||
/* Stuff to help the user with some common, yet significant errors */
|
/* Stuff to help the user with some common, yet significant errors */
|
||||||
#define INTERJECT_PANIC 0
|
#define INTERJECT_PANIC 0
|
||||||
#define INTERJECTION_TYPES (INTERJECT_PANIC + 1)
|
#define INTERJECTION_TYPES (INTERJECT_PANIC + 1)
|
||||||
|
|||||||
@@ -21,6 +21,11 @@
|
|||||||
* Note: 3.6.x was not verified with Symantec C.
|
* Note: 3.6.x was not verified with Symantec C.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(MSDOS)
|
||||||
|
#define CONFIG_FILE "defaults.nh"
|
||||||
|
#define GUIDEBOOK_FILE "Guidebook.txt"
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following options are somewhat configurable depending on
|
* The following options are somewhat configurable depending on
|
||||||
* your compiler.
|
* your compiler.
|
||||||
|
|||||||
+1
-1
@@ -2141,7 +2141,7 @@ const char *default_configfile =
|
|||||||
"NetHack Defaults";
|
"NetHack Defaults";
|
||||||
#else
|
#else
|
||||||
#if defined(MSDOS) || defined(WIN32)
|
#if defined(MSDOS) || defined(WIN32)
|
||||||
"defaults.nh";
|
CONFIG_FILE;
|
||||||
#else
|
#else
|
||||||
"NetHack.cnf";
|
"NetHack.cnf";
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+9
-6
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 minion.c $NHDT-Date: 1544998886 2018/12/16 22:21:26 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.40 $ */
|
/* NetHack 3.6 minion.c $NHDT-Date: 1572530226 2019/10/31 13:57:06 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.43 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2008. */
|
/*-Copyright (c) Robert Patrick Rankin, 2008. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -460,15 +460,18 @@ gain_guardian_angel()
|
|||||||
&& (mtmp = mk_roamer(&mons[PM_ANGEL], u.ualign.type, mm.x, mm.y,
|
&& (mtmp = mk_roamer(&mons[PM_ANGEL], u.ualign.type, mm.x, mm.y,
|
||||||
TRUE)) != 0) {
|
TRUE)) != 0) {
|
||||||
mtmp->mstrategy &= ~STRAT_APPEARMSG;
|
mtmp->mstrategy &= ~STRAT_APPEARMSG;
|
||||||
|
/* guardian angel -- the one case mtame doesn't imply an
|
||||||
|
* edog structure, so we don't want to call tamedog().
|
||||||
|
* [Note: this predates mon->mextra which allows a monster
|
||||||
|
* to have both emin and edog at the same time.]
|
||||||
|
*/
|
||||||
|
mtmp->mtame = 10;
|
||||||
|
/* for 'hilite_pet'; after making tame, before next message */
|
||||||
|
newsym(mtmp->mx, mtmp->my);
|
||||||
if (!Blind)
|
if (!Blind)
|
||||||
pline("An angel appears near you.");
|
pline("An angel appears near you.");
|
||||||
else
|
else
|
||||||
You_feel("the presence of a friendly angel near you.");
|
You_feel("the presence of a friendly angel near you.");
|
||||||
/* guardian angel -- the one case mtame doesn't
|
|
||||||
* imply an edog structure, so we don't want to
|
|
||||||
* call tamedog().
|
|
||||||
*/
|
|
||||||
mtmp->mtame = 10;
|
|
||||||
/* make him strong enough vs. endgame foes */
|
/* make him strong enough vs. endgame foes */
|
||||||
mtmp->m_lev = rn1(8, 15);
|
mtmp->m_lev = rn1(8, 15);
|
||||||
mtmp->mhp = mtmp->mhpmax =
|
mtmp->mhp = mtmp->mhpmax =
|
||||||
|
|||||||
+27
-16
@@ -300,7 +300,8 @@ update_file(
|
|||||||
const char * dst_folder,
|
const char * dst_folder,
|
||||||
const char * dst_name,
|
const char * dst_name,
|
||||||
const char * src_folder,
|
const char * src_folder,
|
||||||
const char * src_name)
|
const char * src_name,
|
||||||
|
BOOL save_copy)
|
||||||
{
|
{
|
||||||
char dst_path[MAX_PATH];
|
char dst_path[MAX_PATH];
|
||||||
strcpy(dst_path, dst_folder);
|
strcpy(dst_path, dst_folder);
|
||||||
@@ -310,12 +311,20 @@ update_file(
|
|||||||
strcpy(src_path, src_folder);
|
strcpy(src_path, src_folder);
|
||||||
strcat(src_path, src_name);
|
strcat(src_path, src_name);
|
||||||
|
|
||||||
|
char save_path[MAX_PATH];
|
||||||
|
strcpy(save_path, dst_folder);
|
||||||
|
strcat(save_path, dst_name);
|
||||||
|
strcat(save_path, ".save");
|
||||||
|
|
||||||
if(!file_exists(src_path))
|
if(!file_exists(src_path))
|
||||||
error("Unable to copy file '%s' as it does not exist", src_path);
|
error("Unable to copy file '%s' as it does not exist", src_path);
|
||||||
|
|
||||||
if (!file_newer(src_path, dst_path))
|
if (!file_newer(src_path, dst_path))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (file_exists(dst_path) && save_copy)
|
||||||
|
CopyFileA(dst_path, save_path, FALSE);
|
||||||
|
|
||||||
BOOL success = CopyFileA(src_path, dst_path, FALSE);
|
BOOL success = CopyFileA(src_path, dst_path, FALSE);
|
||||||
if(!success) error("Failed to update '%s' to '%s'", src_path, dst_path);
|
if(!success) error("Failed to update '%s' to '%s'", src_path, dst_path);
|
||||||
|
|
||||||
@@ -324,37 +333,39 @@ update_file(
|
|||||||
void copy_config_content()
|
void copy_config_content()
|
||||||
{
|
{
|
||||||
/* Keep templates up to date */
|
/* Keep templates up to date */
|
||||||
update_file(g.fqn_prefix[CONFIGPREFIX], "defaults.tmp",
|
/* TODO: Update the package to store config file as .nethackrc */
|
||||||
g.fqn_prefix[DATAPREFIX], "defaults.nh");
|
update_file(g.fqn_prefix[CONFIGPREFIX], CONFIG_TEMPLATE,
|
||||||
update_file(g.fqn_prefix[SYSCONFPREFIX], "sysconf.tmp",
|
g.fqn_prefix[DATAPREFIX], CONFIG_FILE, FALSE);
|
||||||
g.fqn_prefix[DATAPREFIX], SYSCF_FILE);
|
update_file(g.fqn_prefix[SYSCONFPREFIX], SYSCF_TEMPLATE,
|
||||||
|
g.fqn_prefix[DATAPREFIX], SYSCF_FILE, FALSE);
|
||||||
|
|
||||||
/* If the required early game file does not exist, copy it */
|
/* If the required early game file does not exist, copy it */
|
||||||
copy_file(g.fqn_prefix[CONFIGPREFIX], "defaults.nh",
|
/* NOTE: We never replace .nethackrc or sysconf */
|
||||||
g.fqn_prefix[DATAPREFIX], "defaults.nh");
|
copy_file(g.fqn_prefix[CONFIGPREFIX], CONFIG_FILE,
|
||||||
|
g.fqn_prefix[DATAPREFIX], CONFIG_FILE);
|
||||||
copy_file(g.fqn_prefix[SYSCONFPREFIX], SYSCF_FILE,
|
copy_file(g.fqn_prefix[SYSCONFPREFIX], SYSCF_FILE,
|
||||||
g.fqn_prefix[DATAPREFIX], SYSCF_FILE);
|
g.fqn_prefix[DATAPREFIX], SYSCF_FILE);
|
||||||
|
|
||||||
/* If a required game file does not exist, copy it */
|
/* Update symbols and save a copy if we are replacing */
|
||||||
/* TODO: Can't HACKDIR be changed during option parsing
|
/* TODO: Can't HACKDIR be changed during option parsing
|
||||||
causing us to perhaps be checking options against the wrong
|
causing us to perhaps be checking options against the wrong
|
||||||
symbols file? */
|
symbols file? */
|
||||||
copy_file(g.fqn_prefix[HACKPREFIX], SYMBOLS,
|
update_file(g.fqn_prefix[HACKPREFIX], SYMBOLS,
|
||||||
g.fqn_prefix[DATAPREFIX], SYMBOLS);
|
g.fqn_prefix[DATAPREFIX], SYMBOLS, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
copy_hack_content()
|
copy_hack_content()
|
||||||
{
|
{
|
||||||
/* Keep Guidebook and opthelp up to date */
|
/* Keep Guidebook and opthelp up to date */
|
||||||
update_file(g.fqn_prefix[HACKPREFIX], "Guidebook.txt",
|
update_file(g.fqn_prefix[HACKPREFIX], GUIDEBOOK_FILE,
|
||||||
g.fqn_prefix[DATAPREFIX], "Guidebook.txt");
|
g.fqn_prefix[DATAPREFIX], GUIDEBOOK_FILE, FALSE);
|
||||||
update_file(g.fqn_prefix[HACKPREFIX], "opthelp",
|
update_file(g.fqn_prefix[HACKPREFIX], OPTIONFILE,
|
||||||
g.fqn_prefix[DATAPREFIX], "opthelp");
|
g.fqn_prefix[DATAPREFIX], OPTIONFILE, FALSE);
|
||||||
|
|
||||||
/* Keep templates up to date */
|
/* Keep templates up to date */
|
||||||
update_file(g.fqn_prefix[HACKPREFIX], "symbols.tmp",
|
update_file(g.fqn_prefix[HACKPREFIX], SYMBOLS_TEMPLATE,
|
||||||
g.fqn_prefix[DATAPREFIX], "symbols");
|
g.fqn_prefix[DATAPREFIX], SYMBOLS, FALSE);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user