/**
* Make a book with all the files in a dir.
*
* @author Pinkfish
*/
inherit "/std/book";
#include "nroff.h"
string language = 0;
/**
* Sets the language of the book
*/
void set_book_language(string lang) {
language = lang;
}
/**
* Returns the language of the book
*/
string query_language() { return language; }
/**
* Sets the directory to look for the book pages in. It scans every
* file in this dir to get the pages for the book.
* This sets the default paper to /obj/misc/nroff_paper.c
* @param dir the directory in which to search
* @see /obj/misc/nroff_paper.c
* @example
* inherit "/std/book_dir";
*
* void setup() {
* ...
* set_book_dir("/save/books/dead/dead_page");
* ...
* } /\* setup() *\/
*/
void set_book_dir(string dir) {
int i, max;
set_no_pages(10);
// The line below should stop books loosing their pages - Gin
set_ignore_saved_pages(1);
max = 10;
i = 1;
set_default_page_object("/obj/misc/nroff_paper");
set_open_page (0);
while (file_size(dir+i) > 0) {
set_open_page(i);
set_read_mess("$$" + dir + i + "$$" , language, 0);
i++;
if (i >= max) {
max += 10;
set_no_pages(max);
}
}
/* Reduce the number of pages down */
set_no_pages(i-1);
set_open_page(0);
} /* set_book_dir() */