PennMUSH comes with scripts intended to recompile and reindex help files.
Unfortunately for me, those are perl scripts intended to be run under *nix.
Does anyone know of any preexisting Win32 scripts, batch files, or utilities which can handle the help and news files?
Years ago when I ported PennMUSH to Win32 I added in the compilation of help files into the main executable. It should still be there.
Have a look in filecopy.c, see these lines:
ConcatenateFiles("txt\\hlp\\*.hlp", "txt\\help.txt");
ConcatenateFiles("txt\\nws\\*.nws", "txt\\news.txt");
ConcatenateFiles("txt\\evt\\*.evt", "txt\\events.txt");
ConcatenateFiles("txt\\rul\\*.rul", "txt\\rules.txt");
ConcatenateFiles("txt\\idx\\*.idx", "txt\\index.txt");
Hm. Based on that, I'd think that all one would have to do is drop a new help file in that directory and then type @readcache (or something) in the MUSH in order to load the help files.
However, I dropped a copy of the ASpace help files (by Duckers) into the directory, then used @readcache, and then used @shutdown/reboot when @readcache. All of the above failed to add the ASpace topics to the help system.
Is there some reindexing step or other step that has to be performed that I might be missing?
Which directory? What file name exactly? It looks for files with specific suffices in certain directories.
Finally got my problem figured out, and went one better than that.
Diggign through the source, it seems that the lines in filecopy.c are only called on startup/reboot. When we modified the individual files in the pennmush\game\text\hlp directory, they would only get concatenated on a restart.
@readcache will read in new help files, but it only reads in the big, concatenated lump of help files.
Well, we could have simply used a copy command to concatenate the help files together and then use @readcache, but if we're going to use code to do this, it might as well be built in.
Inside the definition for the @Readcache command, I added the lines from filecopy.c and I can now update any of the individual help files and they appear in the MUSH as soon as I type @readcache.
This really helps prevent us from procrastinating updates to the help files. I'd really suggest it become a standard part of Penn.