各初期データ用ヘッダ構造体 / Template file header information (see "init.c").
16 bytes.
Note that the sizes of many of the "arrays" are between 32768 and 65535, and so we must use "unsigned" values to hold the "sizes" of these arrays below. Normally, I try to avoid using unsigned values, since they can cause all sorts of bizarre problems, but I have no choice here, at least, until the "race" array is split into "normal" and "unique" monsters, which may or may not actually help.
Note that, on some machines, for example, the Macintosh, the standard "read()" and "write()" functions cannot handle more than 32767 bytes at one time, so we need replacement functions, see "util.c" for details.
Note that, on some machines, for example, the Macintosh, the standard "malloc()" function cannot handle more than 32767 bytes at one time, but we may assume that the "ralloc()" function can handle up to 65535 butes at one time. We should not, however, assume that the "ralloc()" function can handle more than 65536 bytes at a time, since this might result in segmentation problems on certain older machines, and in fact, we should not assume that it can handle exactly 65536 bytes at a time, since the internal functions may use an unsigned short to specify size.
In general, these problems occur only on machines (such as most personal computers) which use 2 byte "int" values, and which use "int" for the arguments to the relevent functions.