6050 lines
238 KiB
C
6050 lines
238 KiB
C
/* NetHack 3.7 sfdata.c $Date$ $Revision$ */
|
|
/* Copyright (c) NetHack Development Team 2018. */
|
|
/* NetHack may be freely redistributed. See license for details. */
|
|
|
|
/* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE! */
|
|
|
|
#include "hack.h"
|
|
#include "artifact.h"
|
|
#include "func_tab.h"
|
|
#include "lev.h"
|
|
#include "integer.h"
|
|
#include "wintype.h"
|
|
#include "sfproto.h"
|
|
|
|
#define BUILD_DATE "Tue Jun 25 09:57:33 2019"
|
|
#define BUILD_TIME (1561471053L)
|
|
|
|
#define NHTYPE_SIMPLE 1
|
|
#define NHTYPE_COMPLEX 2
|
|
struct nhdatatypes_t {
|
|
unsigned int dtclass;
|
|
char *dtype;
|
|
size_t dtsize;
|
|
};
|
|
|
|
static uint8_t bitfield = 0;
|
|
|
|
void
|
|
sfo_align(nhfp, d_align, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct align *d_align;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "align";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "align", 1);
|
|
|
|
sfo_aligntyp(nhfp, &d_align->type, parent, "type", 1); /* (aligntyp) */
|
|
sfo_int(nhfp, &d_align->record, parent, "record", 1); /* (int) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "align", 1);
|
|
}
|
|
|
|
void
|
|
sfo_attribs(nhfp, d_attribs, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct attribs *d_attribs;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "attribs";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "attribs", 1);
|
|
|
|
sfo_schar(nhfp, d_attribs->a, parent, "a", A_MAX); /* (schar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "attribs", 1);
|
|
}
|
|
|
|
void
|
|
sfo_bill_x(nhfp, d_bill_x, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct bill_x *d_bill_x;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "bill_x";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "bill_x", 1);
|
|
|
|
sfo_unsigned(nhfp, &d_bill_x->bo_id, parent, "bo_id", 1); /* (unsigned) */
|
|
sfo_boolean(nhfp, &d_bill_x->useup, parent, "useup", 1); /* (boolean) */
|
|
sfo_long(nhfp, &d_bill_x->price, parent, "price", 1); /* (long) */
|
|
sfo_long(nhfp, &d_bill_x->bquan, parent, "bquan", 1); /* (long) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "bill_x", 1);
|
|
}
|
|
|
|
void
|
|
sfo_book_info(nhfp, d_book_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct book_info *d_book_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "book_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "book_info", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_book_info->book, parent, "book", 1);/* (struct obj *) */
|
|
sfo_unsigned(nhfp, &d_book_info->o_id, parent, "o_id", 1); /* (unsigned) */
|
|
sfo_schar(nhfp, &d_book_info->delay, parent, "delay", 1); /* (schar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "book_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_branch(nhfp, d_branch, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct branch *d_branch;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "branch";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "branch", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_branch->next, parent, "next", 1);/* (struct branch *) */
|
|
sfo_int(nhfp, &d_branch->id, parent, "id", 1); /* (int) */
|
|
sfo_int(nhfp, &d_branch->type, parent, "type", 1); /* (int) */
|
|
sfo_d_level(nhfp, &d_branch->end1, parent, "end1", 1); /* (d_level) */
|
|
sfo_d_level(nhfp, &d_branch->end2, parent, "end2", 1); /* (d_level) */
|
|
sfo_boolean(nhfp, &d_branch->end1_up, parent, "end1_up", 1); /* (boolean) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "branch", 1);
|
|
}
|
|
|
|
void
|
|
sfo_bubble(nhfp, d_bubble, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct bubble *d_bubble;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "bubble";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "bubble", 1);
|
|
|
|
sfo_xchar(nhfp, &d_bubble->x, parent, "x", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_bubble->y, parent, "y", 1); /* (xchar) */
|
|
sfo_schar(nhfp, &d_bubble->dx, parent, "dx", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_bubble->dy, parent, "dy", 1); /* (schar) */
|
|
sfo_uchar(nhfp, d_bubble->bm, parent, "bm", MAX_BMASK + 2); /* (uchar) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_bubble->prev, parent, "prev", 1);/* (struct bubble *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_bubble->next, parent, "next", 1);/* (struct bubble *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_bubble->cons, parent, "cons", 1);/* (struct container *) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "bubble", 1);
|
|
}
|
|
|
|
void
|
|
sfo_cemetery(nhfp, d_cemetery, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct cemetery *d_cemetery;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "cemetery";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "cemetery", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_cemetery->next, parent, "next", 1);/* (struct cemetery *) */
|
|
sfo_char(nhfp, d_cemetery->who, parent, "who", PL_NSIZ + 4 * (1 + 3) + 1);/* (char) */
|
|
sfo_char(nhfp, d_cemetery->how, parent, "how", 100 + 1); /* (char) */
|
|
sfo_char(nhfp, d_cemetery->when, parent, "when", 4 + 2 + 2 + 2 + 2 + 2 + 1);/* (char) */
|
|
sfo_schar(nhfp, &d_cemetery->frpx, parent, "frpx", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_cemetery->frpy, parent, "frpy", 1); /* (schar) */
|
|
sfo_boolean(nhfp, &d_cemetery->bonesknown, parent, "bonesknown", 1);/* (boolean) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "cemetery", 1);
|
|
}
|
|
|
|
void
|
|
sfo_context_info(nhfp, d_context_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct context_info *d_context_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "context_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "context_info", 1);
|
|
|
|
sfo_unsigned(nhfp, &d_context_info->ident, parent, "ident", 1);/* (unsigned) */
|
|
sfo_unsigned(nhfp, &d_context_info->no_of_wizards, parent, "no_of_wizards", 1);/* (unsigned) */
|
|
sfo_unsigned(nhfp, &d_context_info->run, parent, "run", 1); /* (unsigned) */
|
|
sfo_unsigned(nhfp, &d_context_info->startingpet_mid, parent, "startingpet_mid", 1);/* (unsigned) */
|
|
sfo_int(nhfp, &d_context_info->current_fruit, parent, "current_fruit", 1);/* (int) */
|
|
sfo_int(nhfp, &d_context_info->warnlevel, parent, "warnlevel", 1);/* (int) */
|
|
sfo_int(nhfp, &d_context_info->rndencode, parent, "rndencode", 1);/* (int) */
|
|
sfo_long(nhfp, &d_context_info->next_attrib_check, parent, "next_attrib_check", 1);/* (long) */
|
|
sfo_long(nhfp, &d_context_info->stethoscope_move, parent, "stethoscope_move", 1);/* (long) */
|
|
sfo_short(nhfp, &d_context_info->stethoscope_movement, parent, "stethoscope_movement", 1);/* (short) */
|
|
sfo_boolean(nhfp, &d_context_info->travel, parent, "travel", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->travel1, parent, "travel1", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->forcefight, parent, "forcefight", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->nopick, parent, "nopick", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->made_amulet, parent, "made_amulet", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->mon_moving, parent, "mon_moving", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->move, parent, "move", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->mv, parent, "mv", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->bypasses, parent, "bypasses", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->botl, parent, "botl", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->botlx, parent, "botlx", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_context_info->door_opened, parent, "door_opened", 1);/* (boolean) */
|
|
sfo_dig_info(nhfp, &d_context_info->digging, parent, "digging", 1);/* (dig_info) */
|
|
sfo_victual_info(nhfp, &d_context_info->victual, parent, "victual", 1);/* (victual_info) */
|
|
sfo_tin_info(nhfp, &d_context_info->tin, parent, "tin", 1); /* (tin_info) */
|
|
sfo_book_info(nhfp, &d_context_info->spbook, parent, "spbook", 1);/* (book_info) */
|
|
sfo_takeoff_info(nhfp, &d_context_info->takeoff, parent, "takeoff", 1);/* (takeoff_info) */
|
|
sfo_warntype_info(nhfp, &d_context_info->warntype, parent, "warntype", 1);/* (warntype_info) */
|
|
sfo_polearm_info(nhfp, &d_context_info->polearm, parent, "polearm", 1);/* (polearm_info) */
|
|
sfo_obj_split(nhfp, &d_context_info->objsplit, parent, "objsplit", 1);/* (obj_split) */
|
|
sfo_tribute_info(nhfp, &d_context_info->tribute, parent, "tribute", 1);/* (tribute_info) */
|
|
sfo_novel_tracking(nhfp, &d_context_info->novel, parent, "novel", 1);/* (novel_tracking) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "context_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_d_flags(nhfp, d_d_flags, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct d_flags *d_d_flags;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "d_flags";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "d_flags", 1);
|
|
|
|
bitfield = d_d_flags->town; /* (Bitfield(town, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "town", 1);
|
|
bitfield = d_d_flags->hellish; /* (Bitfield(hellish, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "hellish", 1);
|
|
bitfield = d_d_flags->maze_like; /* (Bitfield(maze_like, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "maze_like", 1);
|
|
bitfield = d_d_flags->rogue_like; /* (Bitfield(rogue_like, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "rogue_like", 1);
|
|
bitfield = d_d_flags->align; /* (Bitfield(align, 3)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "align", 3);
|
|
bitfield = d_d_flags->unused; /* (Bitfield(unused, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "unused", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "d_flags", 1);
|
|
}
|
|
|
|
void
|
|
sfo_d_level(nhfp, d_d_level, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct d_level *d_d_level;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "d_level";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "d_level", 1);
|
|
|
|
sfo_xchar(nhfp, &d_d_level->dnum, parent, "dnum", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_d_level->dlevel, parent, "dlevel", 1); /* (xchar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "d_level", 1);
|
|
}
|
|
|
|
void
|
|
sfo_damage(nhfp, d_damage, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct damage *d_damage;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "damage";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "damage", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_damage->next, parent, "next", 1);/* (struct damage *) */
|
|
sfo_long(nhfp, &d_damage->when, parent, "when", 1); /* (long) */
|
|
sfo_long(nhfp, &d_damage->cost, parent, "cost", 1); /* (long) */
|
|
sfo_nhcoord(nhfp, &d_damage->place, parent, "place", 1); /* (nhcoord) */
|
|
sfo_schar(nhfp, &d_damage->typ, parent, "typ", 1); /* (schar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "damage", 1);
|
|
}
|
|
|
|
void
|
|
sfo_dest_area(nhfp, d_dest_area, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct dest_area *d_dest_area;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "dest_area";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "dest_area", 1);
|
|
|
|
sfo_xchar(nhfp, &d_dest_area->lx, parent, "lx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_dest_area->ly, parent, "ly", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_dest_area->hx, parent, "hx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_dest_area->hy, parent, "hy", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_dest_area->nlx, parent, "nlx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_dest_area->nly, parent, "nly", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_dest_area->nhx, parent, "nhx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_dest_area->nhy, parent, "nhy", 1); /* (xchar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "dest_area", 1);
|
|
}
|
|
|
|
void
|
|
sfo_dgn_topology(nhfp, d_dgn_topology, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct dgn_topology *d_dgn_topology;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "dgn_topology";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "dgn_topology", 1);
|
|
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_oracle_level, parent, "d_oracle_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_bigroom_level, parent, "d_bigroom_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_rogue_level, parent, "d_rogue_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_medusa_level, parent, "d_medusa_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_stronghold_level, parent, "d_stronghold_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_valley_level, parent, "d_valley_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_wiz1_level, parent, "d_wiz1_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_wiz2_level, parent, "d_wiz2_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_wiz3_level, parent, "d_wiz3_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_juiblex_level, parent, "d_juiblex_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_orcus_level, parent, "d_orcus_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_baalzebub_level, parent, "d_baalzebub_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_asmodeus_level, parent, "d_asmodeus_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_portal_level, parent, "d_portal_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_sanctum_level, parent, "d_sanctum_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_earth_level, parent, "d_earth_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_water_level, parent, "d_water_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_fire_level, parent, "d_fire_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_air_level, parent, "d_air_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_astral_level, parent, "d_astral_level", 1);/* (d_level) */
|
|
sfo_xchar(nhfp, &d_dgn_topology->d_tower_dnum, parent, "d_tower_dnum", 1);/* (xchar) */
|
|
sfo_xchar(nhfp, &d_dgn_topology->d_sokoban_dnum, parent, "d_sokoban_dnum", 1);/* (xchar) */
|
|
sfo_xchar(nhfp, &d_dgn_topology->d_mines_dnum, parent, "d_mines_dnum", 1);/* (xchar) */
|
|
sfo_xchar(nhfp, &d_dgn_topology->d_quest_dnum, parent, "d_quest_dnum", 1);/* (xchar) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_qstart_level, parent, "d_qstart_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_qlocate_level, parent, "d_qlocate_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_nemesis_level, parent, "d_nemesis_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_knox_level, parent, "d_knox_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_mineend_level, parent, "d_mineend_level", 1);/* (d_level) */
|
|
sfo_d_level(nhfp, &d_dgn_topology->d_sokoend_level, parent, "d_sokoend_level", 1);/* (d_level) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "dgn_topology", 1);
|
|
}
|
|
|
|
void
|
|
sfo_dig_info(nhfp, d_dig_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct dig_info *d_dig_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "dig_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "dig_info", 1);
|
|
|
|
sfo_int(nhfp, &d_dig_info->effort, parent, "effort", 1); /* (int) */
|
|
sfo_d_level(nhfp, &d_dig_info->level, parent, "level", 1); /* (d_level) */
|
|
sfo_nhcoord(nhfp, &d_dig_info->pos, parent, "pos", 1); /* (nhcoord) */
|
|
sfo_long(nhfp, &d_dig_info->lastdigtime, parent, "lastdigtime", 1);/* (long) */
|
|
sfo_boolean(nhfp, &d_dig_info->down, parent, "down", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_dig_info->chew, parent, "chew", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_dig_info->warned, parent, "warned", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_dig_info->quiet, parent, "quiet", 1); /* (boolean) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "dig_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_dungeon(nhfp, d_dungeon, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct dungeon *d_dungeon;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "dungeon";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "dungeon", 1);
|
|
|
|
sfo_char(nhfp, d_dungeon->dname, parent, "dname", 24); /* (char) */
|
|
sfo_char(nhfp, d_dungeon->proto, parent, "proto", 15); /* (char) */
|
|
sfo_char(nhfp, &d_dungeon->boneid, parent, "boneid", 1); /* (char) */
|
|
sfo_d_flags(nhfp, &d_dungeon->flags, parent, "flags", 1); /* (d_flags) */
|
|
sfo_xchar(nhfp, &d_dungeon->entry_lev, parent, "entry_lev", 1);/* (xchar) */
|
|
sfo_xchar(nhfp, &d_dungeon->num_dunlevs, parent, "num_dunlevs", 1);/* (xchar) */
|
|
sfo_xchar(nhfp, &d_dungeon->dunlev_ureached, parent, "dunlev_ureached", 1);/* (xchar) */
|
|
sfo_int(nhfp, &d_dungeon->ledger_start, parent, "ledger_start", 1);/* (int) */
|
|
sfo_int(nhfp, &d_dungeon->depth_start, parent, "depth_start", 1);/* (int) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "dungeon", 1);
|
|
}
|
|
|
|
void
|
|
sfo_edog(nhfp, d_edog, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct edog *d_edog;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "edog";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "edog", 1);
|
|
|
|
sfo_long(nhfp, &d_edog->droptime, parent, "droptime", 1); /* (long) */
|
|
sfo_unsigned(nhfp, &d_edog->dropdist, parent, "dropdist", 1);/* (unsigned) */
|
|
sfo_int(nhfp, &d_edog->apport, parent, "apport", 1); /* (int) */
|
|
sfo_long(nhfp, &d_edog->whistletime, parent, "whistletime", 1);/* (long) */
|
|
sfo_long(nhfp, &d_edog->hungrytime, parent, "hungrytime", 1);/* (long) */
|
|
sfo_nhcoord(nhfp, &d_edog->ogoal, parent, "ogoal", 1); /* (nhcoord) */
|
|
sfo_int(nhfp, &d_edog->abuse, parent, "abuse", 1); /* (int) */
|
|
sfo_int(nhfp, &d_edog->revivals, parent, "revivals", 1); /* (int) */
|
|
sfo_int(nhfp, &d_edog->mhpmax_penalty, parent, "mhpmax_penalty", 1);/* (int) */
|
|
bitfield = d_edog->killed_by_u; /* (Bitfield(killed_by_u, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "killed_by_u", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "edog", 1);
|
|
}
|
|
|
|
void
|
|
sfo_egd(nhfp, d_egd, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct egd *d_egd;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "egd";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "egd", 1);
|
|
|
|
sfo_int(nhfp, &d_egd->fcbeg, parent, "fcbeg", 1); /* (int) */
|
|
sfo_int(nhfp, &d_egd->fcend, parent, "fcend", 1); /* (int) */
|
|
sfo_int(nhfp, &d_egd->vroom, parent, "vroom", 1); /* (int) */
|
|
sfo_xchar(nhfp, &d_egd->gdx, parent, "gdx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_egd->gdy, parent, "gdy", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_egd->ogx, parent, "ogx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_egd->ogy, parent, "ogy", 1); /* (xchar) */
|
|
sfo_d_level(nhfp, &d_egd->gdlevel, parent, "gdlevel", 1); /* (d_level) */
|
|
sfo_xchar(nhfp, &d_egd->warncnt, parent, "warncnt", 1); /* (xchar) */
|
|
bitfield = d_egd->gddone; /* (Bitfield(gddone, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "gddone", 1);
|
|
bitfield = d_egd->witness; /* (Bitfield(witness, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "witness", 2);
|
|
bitfield = d_egd->unused; /* (Bitfield(unused, 5)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "unused", 5);
|
|
for (i = 0; i < FCSIZ; ++i)
|
|
sfo_fakecorridor(nhfp, &d_egd->fakecorr[i], parent, "fakecorr", 1);/* (fakecorridor) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "egd", 1);
|
|
}
|
|
|
|
void
|
|
sfo_emin(nhfp, d_emin, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct emin *d_emin;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "emin";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "emin", 1);
|
|
|
|
sfo_aligntyp(nhfp, &d_emin->min_align, parent, "min_align", 1);/* (aligntyp) */
|
|
sfo_boolean(nhfp, &d_emin->renegade, parent, "renegade", 1); /* (boolean) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "emin", 1);
|
|
}
|
|
|
|
void
|
|
sfo_engr(nhfp, d_engr, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct engr *d_engr;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "engr";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "engr", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_engr->nxt_engr, parent, "nxt_engr", 1);/* (struct engr *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_engr->engr_txt, parent, "engr_txt", 1);/* (char *) */
|
|
sfo_xchar(nhfp, &d_engr->engr_x, parent, "engr_x", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_engr->engr_y, parent, "engr_y", 1); /* (xchar) */
|
|
sfo_unsigned(nhfp, &d_engr->engr_lth, parent, "engr_lth", 1);/* (unsigned) */
|
|
sfo_long(nhfp, &d_engr->engr_time, parent, "engr_time", 1); /* (long) */
|
|
sfo_xchar(nhfp, &d_engr->engr_type, parent, "engr_type", 1); /* (xchar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "engr", 1);
|
|
}
|
|
|
|
void
|
|
sfo_epri(nhfp, d_epri, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct epri *d_epri;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "epri";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "epri", 1);
|
|
|
|
sfo_aligntyp(nhfp, &d_epri->shralign, parent, "shralign", 1);/* (aligntyp) */
|
|
sfo_schar(nhfp, &d_epri->shroom, parent, "shroom", 1); /* (schar) */
|
|
sfo_nhcoord(nhfp, &d_epri->shrpos, parent, "shrpos", 1); /* (nhcoord) */
|
|
sfo_d_level(nhfp, &d_epri->shrlevel, parent, "shrlevel", 1); /* (d_level) */
|
|
sfo_long(nhfp, &d_epri->intone_time, parent, "intone_time", 1);/* (long) */
|
|
sfo_long(nhfp, &d_epri->enter_time, parent, "enter_time", 1);/* (long) */
|
|
sfo_long(nhfp, &d_epri->hostile_time, parent, "hostile_time", 1);/* (long) */
|
|
sfo_long(nhfp, &d_epri->peaceful_time, parent, "peaceful_time", 1);/* (long) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "epri", 1);
|
|
}
|
|
|
|
void
|
|
sfo_eshk(nhfp, d_eshk, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct eshk *d_eshk;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "eshk";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "eshk", 1);
|
|
|
|
sfo_long(nhfp, &d_eshk->robbed, parent, "robbed", 1); /* (long) */
|
|
sfo_long(nhfp, &d_eshk->credit, parent, "credit", 1); /* (long) */
|
|
sfo_long(nhfp, &d_eshk->debit, parent, "debit", 1); /* (long) */
|
|
sfo_long(nhfp, &d_eshk->loan, parent, "loan", 1); /* (long) */
|
|
sfo_int(nhfp, &d_eshk->shoptype, parent, "shoptype", 1); /* (int) */
|
|
sfo_schar(nhfp, &d_eshk->shoproom, parent, "shoproom", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_eshk->unused, parent, "unused", 1); /* (schar) */
|
|
sfo_boolean(nhfp, &d_eshk->following, parent, "following", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_eshk->surcharge, parent, "surcharge", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_eshk->dismiss_kops, parent, "dismiss_kops", 1);/* (boolean) */
|
|
sfo_nhcoord(nhfp, &d_eshk->shk, parent, "shk", 1); /* (nhcoord) */
|
|
sfo_nhcoord(nhfp, &d_eshk->shd, parent, "shd", 1); /* (nhcoord) */
|
|
sfo_d_level(nhfp, &d_eshk->shoplevel, parent, "shoplevel", 1);/* (d_level) */
|
|
sfo_int(nhfp, &d_eshk->billct, parent, "billct", 1); /* (int) */
|
|
for (i = 0; i < BILLSZ; ++i)
|
|
sfo_bill_x(nhfp, &d_eshk->bill[i], parent, "bill", 1); /* (bill_x) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_eshk->bill_p, parent, "bill_p", 1);/* (struct bill_x *) */
|
|
sfo_int(nhfp, &d_eshk->visitct, parent, "visitct", 1); /* (int) */
|
|
sfo_char(nhfp, d_eshk->customer, parent, "customer", PL_NSIZ);/* (char) */
|
|
sfo_char(nhfp, d_eshk->shknam, parent, "shknam", PL_NSIZ); /* (char) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "eshk", 1);
|
|
}
|
|
|
|
void
|
|
sfo_fakecorridor(nhfp, d_fakecorridor, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct fakecorridor *d_fakecorridor;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "fakecorridor";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "fakecorridor", 1);
|
|
|
|
sfo_xchar(nhfp, &d_fakecorridor->fx, parent, "fx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_fakecorridor->fy, parent, "fy", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_fakecorridor->ftyp, parent, "ftyp", 1); /* (xchar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "fakecorridor", 1);
|
|
}
|
|
|
|
void
|
|
sfo_fe(nhfp, d_fe, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct fe *d_fe;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "fe";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "fe", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_fe->next, parent, "next", 1);/* (struct fe *) */
|
|
sfo_long(nhfp, &d_fe->timeout, parent, "timeout", 1); /* (long) */
|
|
sfo_ulong(nhfp, &d_fe->tid, parent, "tid", 1); /* (unsigned long) */
|
|
sfo_short(nhfp, &d_fe->kind, parent, "kind", 1); /* (short) */
|
|
sfo_short(nhfp, &d_fe->func_index, parent, "func_index", 1); /* (short) */
|
|
sfo_any(nhfp, &d_fe->arg, parent, "arg", 1); /* (any) */
|
|
bitfield = d_fe->needs_fixup; /* (Bitfield(needs_fixup, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "needs_fixup", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "fe", 1);
|
|
}
|
|
|
|
void
|
|
sfo_flag(nhfp, d_flag, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct flag *d_flag;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "flag";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "flag", 1);
|
|
|
|
sfo_boolean(nhfp, &d_flag->acoustics, parent, "acoustics", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->autodig, parent, "autodig", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->autoquiver, parent, "autoquiver", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->autoopen, parent, "autoopen", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->beginner, parent, "beginner", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->biff, parent, "biff", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->bones, parent, "bones", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->confirm, parent, "confirm", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->dark_room, parent, "dark_room", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->debug, parent, "debug", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->end_own, parent, "end_own", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->explore, parent, "explore", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->female, parent, "female", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->friday13, parent, "friday13", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->help, parent, "help", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->ignintr, parent, "ignintr", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->ins_chkpt, parent, "ins_chkpt", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->invlet_constant, parent, "invlet_constant", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->legacy, parent, "legacy", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->lit_corridor, parent, "lit_corridor", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->nap, parent, "nap", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->null, parent, "null", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->p__obsolete, parent, "p__obsolete", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->pickup, parent, "pickup", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->pickup_thrown, parent, "pickup_thrown", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->pushweapon, parent, "pushweapon", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->rest_on_space, parent, "rest_on_space", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->safe_dog, parent, "safe_dog", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->showexp, parent, "showexp", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->showscore, parent, "showscore", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->silent, parent, "silent", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->sortpack, parent, "sortpack", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->sparkle, parent, "sparkle", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->standout, parent, "standout", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->time, parent, "time", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->tombstone, parent, "tombstone", 1);/* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->verbose, parent, "verbose", 1); /* (boolean) */
|
|
sfo_int(nhfp, &d_flag->end_top, parent, "end_top", 1); /* (int) */
|
|
sfo_int(nhfp, &d_flag->end_around, parent, "end_around", 1); /* (int) */
|
|
sfo_unsigned(nhfp, &d_flag->moonphase, parent, "moonphase", 1);/* (unsigned) */
|
|
sfo_ulong(nhfp, &d_flag->suppress_alert, parent, "suppress_alert", 1);/* (unsigned long) */
|
|
sfo_unsigned(nhfp, &d_flag->paranoia_bits, parent, "paranoia_bits", 1);/* (unsigned) */
|
|
sfo_int(nhfp, &d_flag->pickup_burden, parent, "pickup_burden", 1);/* (int) */
|
|
sfo_int(nhfp, &d_flag->pile_limit, parent, "pile_limit", 1); /* (int) */
|
|
sfo_char(nhfp, &d_flag->sortloot, parent, "sortloot", 1); /* (char) */
|
|
sfo_char(nhfp, d_flag->inv_order, parent, "inv_order", MAXOCLASSES);/* (char) */
|
|
sfo_char(nhfp, d_flag->pickup_types, parent, "pickup_types", MAXOCLASSES);/* (char) */
|
|
sfo_char(nhfp, d_flag->end_disclose, parent, "end_disclose", NUM_DISCLOSURE_OPTIONS + 1);/* (char) */
|
|
sfo_char(nhfp, &d_flag->menu_style, parent, "menu_style", 1);/* (char) */
|
|
sfo_boolean(nhfp, &d_flag->made_fruit, parent, "made_fruit", 1);/* (boolean) */
|
|
sfo_int(nhfp, &d_flag->initrole, parent, "initrole", 1); /* (int) */
|
|
sfo_int(nhfp, &d_flag->initrace, parent, "initrace", 1); /* (int) */
|
|
sfo_int(nhfp, &d_flag->initgend, parent, "initgend", 1); /* (int) */
|
|
sfo_int(nhfp, &d_flag->initalign, parent, "initalign", 1); /* (int) */
|
|
sfo_int(nhfp, &d_flag->randomall, parent, "randomall", 1); /* (int) */
|
|
sfo_int(nhfp, &d_flag->pantheon, parent, "pantheon", 1); /* (int) */
|
|
sfo_boolean(nhfp, &d_flag->lootabc, parent, "lootabc", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->showrace, parent, "showrace", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_flag->travelcmd, parent, "travelcmd", 1);/* (boolean) */
|
|
sfo_int(nhfp, &d_flag->runmode, parent, "runmode", 1); /* (int) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "flag", 1);
|
|
}
|
|
|
|
void
|
|
sfo_fruit(nhfp, d_fruit, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct fruit *d_fruit;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "fruit";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "fruit", 1);
|
|
|
|
sfo_char(nhfp, d_fruit->fname, parent, "fname", PL_FSIZ); /* (char) */
|
|
sfo_int(nhfp, &d_fruit->fid, parent, "fid", 1); /* (int) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_fruit->nextf, parent, "nextf", 1);/* (struct fruit *) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "fruit", 1);
|
|
}
|
|
|
|
void
|
|
sfo_kinfo(nhfp, d_kinfo, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct kinfo *d_kinfo;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "kinfo";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "kinfo", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_kinfo->next, parent, "next", 1);/* (struct kinfo *) */
|
|
sfo_int(nhfp, &d_kinfo->id, parent, "id", 1); /* (int) */
|
|
sfo_int(nhfp, &d_kinfo->format, parent, "format", 1); /* (int) */
|
|
sfo_char(nhfp, d_kinfo->name, parent, "name", BUFSZ); /* (char) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "kinfo", 1);
|
|
}
|
|
|
|
void
|
|
sfo_levelflags(nhfp, d_levelflags, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct levelflags *d_levelflags;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "levelflags";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "levelflags", 1);
|
|
|
|
sfo_uchar(nhfp, &d_levelflags->nfountains, parent, "nfountains", 1);/* (uchar) */
|
|
sfo_uchar(nhfp, &d_levelflags->nsinks, parent, "nsinks", 1); /* (uchar) */
|
|
bitfield = d_levelflags->has_shop; /* (Bitfield(has_shop, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_shop", 1);
|
|
bitfield = d_levelflags->has_vault; /* (Bitfield(has_vault, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_vault", 1);
|
|
bitfield = d_levelflags->has_zoo; /* (Bitfield(has_zoo, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_zoo", 1);
|
|
bitfield = d_levelflags->has_court; /* (Bitfield(has_court, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_court", 1);
|
|
bitfield = d_levelflags->has_morgue; /* (Bitfield(has_morgue, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_morgue", 1);
|
|
bitfield = d_levelflags->has_beehive; /* (Bitfield(has_beehive, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_beehive", 1);
|
|
bitfield = d_levelflags->has_barracks; /* (Bitfield(has_barracks, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_barracks", 1);
|
|
bitfield = d_levelflags->has_temple; /* (Bitfield(has_temple, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_temple", 1);
|
|
bitfield = d_levelflags->has_swamp; /* (Bitfield(has_swamp, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "has_swamp", 1);
|
|
bitfield = d_levelflags->noteleport; /* (Bitfield(noteleport, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "noteleport", 1);
|
|
bitfield = d_levelflags->hardfloor; /* (Bitfield(hardfloor, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "hardfloor", 1);
|
|
bitfield = d_levelflags->nommap; /* (Bitfield(nommap, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "nommap", 1);
|
|
bitfield = d_levelflags->hero_memory; /* (Bitfield(hero_memory, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "hero_memory", 1);
|
|
bitfield = d_levelflags->shortsighted; /* (Bitfield(shortsighted, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "shortsighted", 1);
|
|
bitfield = d_levelflags->graveyard; /* (Bitfield(graveyard, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "graveyard", 1);
|
|
bitfield = d_levelflags->sokoban_rules; /* (Bitfield(sokoban_rules, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "sokoban_rules", 1);
|
|
bitfield = d_levelflags->is_maze_lev; /* (Bitfield(is_maze_lev, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "is_maze_lev", 1);
|
|
bitfield = d_levelflags->is_cavernous_lev; /* (Bitfield(is_cavernous_lev, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "is_cavernous_lev", 1);
|
|
bitfield = d_levelflags->arboreal; /* (Bitfield(arboreal, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "arboreal", 1);
|
|
bitfield = d_levelflags->wizard_bones; /* (Bitfield(wizard_bones, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "wizard_bones", 1);
|
|
bitfield = d_levelflags->corrmaze; /* (Bitfield(corrmaze, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "corrmaze", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "levelflags", 1);
|
|
}
|
|
|
|
void
|
|
sfo_linfo(nhfp, d_linfo, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct linfo *d_linfo;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "linfo";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "linfo", 1);
|
|
|
|
sfo_uchar(nhfp, &d_linfo->flags, parent, "flags", 1); /* (unsigned char) */
|
|
#ifdef MFLOPPY
|
|
sfo_int(nhfp, &d_linfo->where, parent, "where", 1); /* (int) */
|
|
sfo_long(nhfp, &d_linfo->time, parent, "time", 1); /* (long) */
|
|
sfo_long(nhfp, &d_linfo->size, parent, "size", 1); /* (long) */
|
|
#endif /*MFLOPPY*/
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "linfo", 1);
|
|
}
|
|
|
|
void
|
|
sfo_ls_t(nhfp, d_ls_t, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct ls_t *d_ls_t;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "ls_t";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "ls_t", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_ls_t->next, parent, "next", 1);/* (struct ls_t *) */
|
|
sfo_xchar(nhfp, &d_ls_t->x, parent, "x", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_ls_t->y, parent, "y", 1); /* (xchar) */
|
|
sfo_short(nhfp, &d_ls_t->range, parent, "range", 1); /* (short) */
|
|
sfo_short(nhfp, &d_ls_t->flags, parent, "flags", 1); /* (short) */
|
|
sfo_short(nhfp, &d_ls_t->type, parent, "type", 1); /* (short) */
|
|
sfo_any(nhfp, &d_ls_t->id, parent, "id", 1); /* (any) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "ls_t", 1);
|
|
}
|
|
|
|
void
|
|
sfo_mapseen_feat(nhfp, d_mapseen_feat, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mapseen_feat *d_mapseen_feat;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mapseen_feat";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "mapseen_feat", 1);
|
|
|
|
bitfield = d_mapseen_feat->nfount; /* (Bitfield(nfount, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "nfount", 2);
|
|
bitfield = d_mapseen_feat->nsink; /* (Bitfield(nsink, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "nsink", 2);
|
|
bitfield = d_mapseen_feat->naltar; /* (Bitfield(naltar, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "naltar", 2);
|
|
bitfield = d_mapseen_feat->nthrone; /* (Bitfield(nthrone, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "nthrone", 2);
|
|
bitfield = d_mapseen_feat->ngrave; /* (Bitfield(ngrave, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ngrave", 2);
|
|
bitfield = d_mapseen_feat->ntree; /* (Bitfield(ntree, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ntree", 2);
|
|
bitfield = d_mapseen_feat->water; /* (Bitfield(water, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "water", 2);
|
|
bitfield = d_mapseen_feat->lava; /* (Bitfield(lava, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "lava", 2);
|
|
bitfield = d_mapseen_feat->ice; /* (Bitfield(ice, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ice", 2);
|
|
bitfield = d_mapseen_feat->nshop; /* (Bitfield(nshop, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "nshop", 2);
|
|
bitfield = d_mapseen_feat->ntemple; /* (Bitfield(ntemple, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ntemple", 2);
|
|
bitfield = d_mapseen_feat->msalign; /* (Bitfield(msalign, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "msalign", 2);
|
|
bitfield = d_mapseen_feat->shoptype; /* (Bitfield(shoptype, 5)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "shoptype", 5);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "mapseen_feat", 1);
|
|
}
|
|
|
|
void
|
|
sfo_mapseen_flags(nhfp, d_mapseen_flags, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mapseen_flags *d_mapseen_flags;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mapseen_flags";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "mapseen_flags", 1);
|
|
|
|
bitfield = d_mapseen_flags->unreachable; /* (Bitfield(unreachable, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "unreachable", 1);
|
|
bitfield = d_mapseen_flags->forgot; /* (Bitfield(forgot, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "forgot", 1);
|
|
bitfield = d_mapseen_flags->knownbones; /* (Bitfield(knownbones, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "knownbones", 1);
|
|
bitfield = d_mapseen_flags->oracle; /* (Bitfield(oracle, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oracle", 1);
|
|
bitfield = d_mapseen_flags->sokosolved; /* (Bitfield(sokosolved, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "sokosolved", 1);
|
|
bitfield = d_mapseen_flags->bigroom; /* (Bitfield(bigroom, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "bigroom", 1);
|
|
bitfield = d_mapseen_flags->castle; /* (Bitfield(castle, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "castle", 1);
|
|
bitfield = d_mapseen_flags->castletune; /* (Bitfield(castletune, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "castletune", 1);
|
|
bitfield = d_mapseen_flags->valley; /* (Bitfield(valley, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "valley", 1);
|
|
bitfield = d_mapseen_flags->msanctum; /* (Bitfield(msanctum, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "msanctum", 1);
|
|
bitfield = d_mapseen_flags->ludios; /* (Bitfield(ludios, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ludios", 1);
|
|
bitfield = d_mapseen_flags->roguelevel; /* (Bitfield(roguelevel, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "roguelevel", 1);
|
|
bitfield = d_mapseen_flags->quest_summons; /* (Bitfield(quest_summons, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "quest_summons", 1);
|
|
bitfield = d_mapseen_flags->questing; /* (Bitfield(questing, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "questing", 1);
|
|
bitfield = d_mapseen_flags->vibrating_square; /* (Bitfield(vibrating_square, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "vibrating_square", 1);
|
|
bitfield = d_mapseen_flags->spare1; /* (Bitfield(spare1, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "spare1", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "mapseen_flags", 1);
|
|
}
|
|
|
|
void
|
|
sfo_mapseen_rooms(nhfp, d_mapseen_rooms, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mapseen_rooms *d_mapseen_rooms;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mapseen_rooms";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "mapseen_rooms", 1);
|
|
|
|
bitfield = d_mapseen_rooms->seen; /* (Bitfield(seen, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "seen", 1);
|
|
bitfield = d_mapseen_rooms->untended; /* (Bitfield(untended, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "untended", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "mapseen_rooms", 1);
|
|
}
|
|
|
|
void
|
|
sfo_mapseen(nhfp, d_mapseen, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mapseen *d_mapseen;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mapseen";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "mapseen", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_mapseen->next, parent, "next", 1);/* (struct mapseen *) */
|
|
sfo_branch(nhfp, d_mapseen->br, parent, "br", 1); /* (branch *) */
|
|
sfo_d_level(nhfp, &d_mapseen->lev, parent, "lev", 1); /* (d_level) */
|
|
sfo_mapseen_feat(nhfp, &d_mapseen->feat, parent, "feat", 1); /* (}) */
|
|
sfo_mapseen_flags(nhfp, &d_mapseen->flags, parent, "flags", 1);/* (}) */
|
|
sfo_char(nhfp, d_mapseen->custom, parent, "custom", 1); /* (char *) */
|
|
sfo_unsigned(nhfp, &d_mapseen->custom_lth, parent, "custom_lth", 1);/* (unsigned) */
|
|
for (i = 0; i < (MAXNROFROOMS + 1) * 2; ++i)
|
|
sfo_mapseen_rooms(nhfp, &d_mapseen->msrooms[i], parent, "msrooms", 1);/* (}) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_mapseen->final_resting_place, parent, "final_resting_place", 1);/* (struct cemetery *) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "mapseen", 1);
|
|
}
|
|
|
|
void
|
|
sfo_mextra(nhfp, d_mextra, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mextra *d_mextra;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mextra";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "mextra", 1);
|
|
|
|
sfo_char(nhfp, d_mextra->mname, parent, "mname", 1); /* (char *) */
|
|
sfo_egd(nhfp, d_mextra->egd, parent, "egd", 1); /* (struct egd *) */
|
|
sfo_epri(nhfp, d_mextra->epri, parent, "epri", 1); /* (struct epri *) */
|
|
sfo_eshk(nhfp, d_mextra->eshk, parent, "eshk", 1); /* (struct eshk *) */
|
|
sfo_emin(nhfp, d_mextra->emin, parent, "emin", 1); /* (struct emin *) */
|
|
sfo_edog(nhfp, d_mextra->edog, parent, "edog", 1); /* (struct edog *) */
|
|
sfo_int(nhfp, &d_mextra->mcorpsenm, parent, "mcorpsenm", 1); /* (int) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "mextra", 1);
|
|
}
|
|
|
|
void
|
|
sfo_mkroom(nhfp, d_mkroom, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mkroom *d_mkroom;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mkroom";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "mkroom", 1);
|
|
|
|
sfo_schar(nhfp, &d_mkroom->lx, parent, "lx", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->hx, parent, "hx", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->ly, parent, "ly", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->hy, parent, "hy", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->rtype, parent, "rtype", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->orig_rtype, parent, "orig_rtype", 1);/* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->rlit, parent, "rlit", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->needfill, parent, "needfill", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->needjoining, parent, "needjoining", 1);/* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->doorct, parent, "doorct", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->fdoor, parent, "fdoor", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_mkroom->nsubrooms, parent, "nsubrooms", 1);/* (schar) */
|
|
sfo_boolean(nhfp, &d_mkroom->irregular, parent, "irregular", 1);/* (boolean) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_mkroom->sbrooms[0], parent, "sbrooms", MAX_SUBROOMS);/* (struct mkroom *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_mkroom->resident, parent, "resident", 1);/* (struct monst *) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "mkroom", 1);
|
|
}
|
|
|
|
void
|
|
sfo_monst(nhfp, d_monst, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct monst *d_monst;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "monst";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "monst", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_monst->nmon, parent, "nmon", 1);/* (struct monst *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_monst->data, parent, "data", 1);/* (struct permonst *) */
|
|
sfo_unsigned(nhfp, &d_monst->m_id, parent, "m_id", 1); /* (unsigned) */
|
|
sfo_short(nhfp, &d_monst->mnum, parent, "mnum", 1); /* (short) */
|
|
sfo_short(nhfp, &d_monst->cham, parent, "cham", 1); /* (short) */
|
|
sfo_short(nhfp, &d_monst->movement, parent, "movement", 1); /* (short) */
|
|
sfo_uchar(nhfp, &d_monst->m_lev, parent, "m_lev", 1); /* (uchar) */
|
|
sfo_aligntyp(nhfp, &d_monst->malign, parent, "malign", 1); /* (aligntyp) */
|
|
sfo_xchar(nhfp, &d_monst->mx, parent, "mx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_monst->my, parent, "my", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_monst->mux, parent, "mux", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_monst->muy, parent, "muy", 1); /* (xchar) */
|
|
for (i = 0; i < MTSZ; ++i)
|
|
sfo_nhcoord(nhfp, &d_monst->mtrack[i], parent, "mtrack", 1);/* (nhcoord) */
|
|
sfo_int(nhfp, &d_monst->mhp, parent, "mhp", 1); /* (int) */
|
|
sfo_int(nhfp, &d_monst->mhpmax, parent, "mhpmax", 1); /* (int) */
|
|
sfo_unsigned(nhfp, &d_monst->mappearance, parent, "mappearance", 1);/* (unsigned) */
|
|
sfo_uchar(nhfp, &d_monst->m_ap_type, parent, "m_ap_type", 1);/* (uchar) */
|
|
sfo_schar(nhfp, &d_monst->mtame, parent, "mtame", 1); /* (schar) */
|
|
sfo_ushort(nhfp, &d_monst->mextrinsics, parent, "mextrinsics", 1);/* (unsigned short) */
|
|
sfo_int(nhfp, &d_monst->mspec_used, parent, "mspec_used", 1);/* (int) */
|
|
bitfield = d_monst->female; /* (Bitfield(female, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "female", 1);
|
|
bitfield = d_monst->minvis; /* (Bitfield(minvis, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "minvis", 1);
|
|
bitfield = d_monst->invis_blkd; /* (Bitfield(invis_blkd, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "invis_blkd", 1);
|
|
bitfield = d_monst->perminvis; /* (Bitfield(perminvis, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "perminvis", 1);
|
|
bitfield = d_monst->mcan; /* (Bitfield(mcan, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mcan", 1);
|
|
bitfield = d_monst->mburied; /* (Bitfield(mburied, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mburied", 1);
|
|
bitfield = d_monst->mundetected; /* (Bitfield(mundetected, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mundetected", 1);
|
|
bitfield = d_monst->mcansee; /* (Bitfield(mcansee, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mcansee", 1);
|
|
bitfield = d_monst->mspeed; /* (Bitfield(mspeed, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mspeed", 2);
|
|
bitfield = d_monst->permspeed; /* (Bitfield(permspeed, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "permspeed", 2);
|
|
bitfield = d_monst->mrevived; /* (Bitfield(mrevived, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mrevived", 1);
|
|
bitfield = d_monst->mcloned; /* (Bitfield(mcloned, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mcloned", 1);
|
|
bitfield = d_monst->mavenge; /* (Bitfield(mavenge, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mavenge", 1);
|
|
bitfield = d_monst->mflee; /* (Bitfield(mflee, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mflee", 1);
|
|
bitfield = d_monst->mfleetim; /* (Bitfield(mfleetim, 7)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mfleetim", 7);
|
|
bitfield = d_monst->msleeping; /* (Bitfield(msleeping, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "msleeping", 1);
|
|
bitfield = d_monst->mblinded; /* (Bitfield(mblinded, 7)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mblinded", 7);
|
|
bitfield = d_monst->mstun; /* (Bitfield(mstun, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mstun", 1);
|
|
bitfield = d_monst->mfrozen; /* (Bitfield(mfrozen, 7)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mfrozen", 7);
|
|
bitfield = d_monst->mcanmove; /* (Bitfield(mcanmove, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mcanmove", 1);
|
|
bitfield = d_monst->mconf; /* (Bitfield(mconf, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mconf", 1);
|
|
bitfield = d_monst->mpeaceful; /* (Bitfield(mpeaceful, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mpeaceful", 1);
|
|
bitfield = d_monst->mtrapped; /* (Bitfield(mtrapped, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mtrapped", 1);
|
|
bitfield = d_monst->mleashed; /* (Bitfield(mleashed, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mleashed", 1);
|
|
bitfield = d_monst->isshk; /* (Bitfield(isshk, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "isshk", 1);
|
|
bitfield = d_monst->isminion; /* (Bitfield(isminion, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "isminion", 1);
|
|
bitfield = d_monst->isgd; /* (Bitfield(isgd, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "isgd", 1);
|
|
bitfield = d_monst->ispriest; /* (Bitfield(ispriest, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ispriest", 1);
|
|
bitfield = d_monst->iswiz; /* (Bitfield(iswiz, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "iswiz", 1);
|
|
bitfield = d_monst->wormno; /* (Bitfield(wormno, 5)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "wormno", 5);
|
|
bitfield = d_monst->mtemplit; /* (Bitfield(mtemplit, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mtemplit", 1);
|
|
sfo_ulong(nhfp, &d_monst->mstrategy, parent, "mstrategy", 1);/* (unsigned long) */
|
|
sfo_long(nhfp, &d_monst->mtrapseen, parent, "mtrapseen", 1); /* (long) */
|
|
sfo_long(nhfp, &d_monst->mlstmv, parent, "mlstmv", 1); /* (long) */
|
|
sfo_long(nhfp, &d_monst->mspare1, parent, "mspare1", 1); /* (long) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_monst->minvent, parent, "minvent", 1);/* (struct obj *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_monst->mw, parent, "mw", 1);/* (struct obj *) */
|
|
sfo_long(nhfp, &d_monst->misc_worn_check, parent, "misc_worn_check", 1);/* (long) */
|
|
sfo_xchar(nhfp, &d_monst->weapon_check, parent, "weapon_check", 1);/* (xchar) */
|
|
sfo_int(nhfp, &d_monst->meating, parent, "meating", 1); /* (int) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_monst->mextra, parent, "mextra", 1);/* (struct mextra *) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "monst", 1);
|
|
}
|
|
|
|
void
|
|
sfo_mvitals(nhfp, d_mvitals, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mvitals *d_mvitals;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mvitals";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "mvitals", 1);
|
|
|
|
sfo_uchar(nhfp, &d_mvitals->born, parent, "born", 1); /* (uchar) */
|
|
sfo_uchar(nhfp, &d_mvitals->died, parent, "died", 1); /* (uchar) */
|
|
sfo_uchar(nhfp, &d_mvitals->mvflags, parent, "mvflags", 1); /* (uchar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "mvitals", 1);
|
|
}
|
|
|
|
void
|
|
sfo_nhcoord(nhfp, d_nhcoord, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct nhcoord *d_nhcoord;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "nhcoord";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "nhcoord", 1);
|
|
|
|
sfo_xchar(nhfp, &d_nhcoord->x, parent, "x", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_nhcoord->y, parent, "y", 1); /* (xchar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "nhcoord", 1);
|
|
}
|
|
|
|
void
|
|
sfo_nhrect(nhfp, d_nhrect, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct nhrect *d_nhrect;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "nhrect";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "nhrect", 1);
|
|
|
|
sfo_xchar(nhfp, &d_nhrect->lx, parent, "lx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_nhrect->ly, parent, "ly", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_nhrect->hx, parent, "hx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_nhrect->hy, parent, "hy", 1); /* (xchar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "nhrect", 1);
|
|
}
|
|
|
|
void
|
|
sfo_novel_tracking(nhfp, d_novel_tracking, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct novel_tracking *d_novel_tracking;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "novel_tracking";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "novel_tracking", 1);
|
|
|
|
sfo_unsigned(nhfp, &d_novel_tracking->id, parent, "id", 1); /* (unsigned) */
|
|
sfo_int(nhfp, &d_novel_tracking->count, parent, "count", 1); /* (int) */
|
|
sfo_xchar(nhfp, d_novel_tracking->pasg, parent, "pasg", 30); /* (xchar) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "novel_tracking", 1);
|
|
}
|
|
|
|
void
|
|
sfo_obj(nhfp, d_obj, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct obj *d_obj;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "obj";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "obj", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_obj->nobj, parent, "nobj", 1);/* (struct obj *) */
|
|
sfo_vptrs(nhfp, &d_obj->v, parent, "v", 1); /* (vptrs) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_obj->cobj, parent, "cobj", 1);/* (struct obj *) */
|
|
sfo_unsigned(nhfp, &d_obj->o_id, parent, "o_id", 1); /* (unsigned) */
|
|
sfo_xchar(nhfp, &d_obj->ox, parent, "ox", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_obj->oy, parent, "oy", 1); /* (xchar) */
|
|
sfo_short(nhfp, &d_obj->otyp, parent, "otyp", 1); /* (short) */
|
|
sfo_unsigned(nhfp, &d_obj->owt, parent, "owt", 1); /* (unsigned) */
|
|
sfo_long(nhfp, &d_obj->quan, parent, "quan", 1); /* (long) */
|
|
sfo_schar(nhfp, &d_obj->spe, parent, "spe", 1); /* (schar) */
|
|
sfo_char(nhfp, &d_obj->oclass, parent, "oclass", 1); /* (char) */
|
|
sfo_char(nhfp, &d_obj->invlet, parent, "invlet", 1); /* (char) */
|
|
sfo_char(nhfp, &d_obj->oartifact, parent, "oartifact", 1); /* (char) */
|
|
sfo_xchar(nhfp, &d_obj->where, parent, "where", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_obj->timed, parent, "timed", 1); /* (xchar) */
|
|
bitfield = d_obj->cursed; /* (Bitfield(cursed, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "cursed", 1);
|
|
bitfield = d_obj->blessed; /* (Bitfield(blessed, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "blessed", 1);
|
|
bitfield = d_obj->unpaid; /* (Bitfield(unpaid, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "unpaid", 1);
|
|
bitfield = d_obj->no_charge; /* (Bitfield(no_charge, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "no_charge", 1);
|
|
bitfield = d_obj->known; /* (Bitfield(known, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "known", 1);
|
|
bitfield = d_obj->dknown; /* (Bitfield(dknown, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "dknown", 1);
|
|
bitfield = d_obj->bknown; /* (Bitfield(bknown, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "bknown", 1);
|
|
bitfield = d_obj->rknown; /* (Bitfield(rknown, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "rknown", 1);
|
|
bitfield = d_obj->oeroded; /* (Bitfield(oeroded, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oeroded", 2);
|
|
bitfield = d_obj->oeroded2; /* (Bitfield(oeroded2, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oeroded2", 2);
|
|
bitfield = d_obj->oerodeproof; /* (Bitfield(oerodeproof, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oerodeproof", 1);
|
|
bitfield = d_obj->olocked; /* (Bitfield(olocked, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "olocked", 1);
|
|
bitfield = d_obj->obroken; /* (Bitfield(obroken, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "obroken", 1);
|
|
bitfield = d_obj->otrapped; /* (Bitfield(otrapped, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "otrapped", 1);
|
|
bitfield = d_obj->recharged; /* (Bitfield(recharged, 3)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "recharged", 3);
|
|
bitfield = d_obj->lamplit; /* (Bitfield(lamplit, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "lamplit", 1);
|
|
bitfield = d_obj->globby; /* (Bitfield(globby, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "globby", 1);
|
|
bitfield = d_obj->greased; /* (Bitfield(greased, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "greased", 1);
|
|
bitfield = d_obj->nomerge; /* (Bitfield(nomerge, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "nomerge", 1);
|
|
bitfield = d_obj->was_thrown; /* (Bitfield(was_thrown, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "was_thrown", 1);
|
|
bitfield = d_obj->in_use; /* (Bitfield(in_use, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "in_use", 1);
|
|
bitfield = d_obj->bypass; /* (Bitfield(bypass, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "bypass", 1);
|
|
bitfield = d_obj->cknown; /* (Bitfield(cknown, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "cknown", 1);
|
|
bitfield = d_obj->lknown; /* (Bitfield(lknown, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "lknown", 1);
|
|
sfo_int(nhfp, &d_obj->corpsenm, parent, "corpsenm", 1); /* (int) */
|
|
sfo_int(nhfp, &d_obj->usecount, parent, "usecount", 1); /* (int) */
|
|
sfo_unsigned(nhfp, &d_obj->oeaten, parent, "oeaten", 1); /* (unsigned) */
|
|
sfo_long(nhfp, &d_obj->age, parent, "age", 1); /* (long) */
|
|
sfo_long(nhfp, &d_obj->owornmask, parent, "owornmask", 1); /* (long) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_obj->oextra, parent, "oextra", 1);/* (struct oextra *) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "obj", 1);
|
|
}
|
|
|
|
void
|
|
sfo_objclass(nhfp, d_objclass, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct objclass *d_objclass;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "objclass";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "objclass", 1);
|
|
|
|
sfo_short(nhfp, &d_objclass->oc_name_idx, parent, "oc_name_idx", 1);/* (short) */
|
|
sfo_short(nhfp, &d_objclass->oc_descr_idx, parent, "oc_descr_idx", 1);/* (short) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_objclass->oc_uname, parent, "oc_uname", 1);/* (char *) */
|
|
bitfield = d_objclass->oc_name_known; /* (Bitfield(oc_name_known, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_name_known", 1);
|
|
bitfield = d_objclass->oc_merge; /* (Bitfield(oc_merge, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_merge", 1);
|
|
bitfield = d_objclass->oc_uses_known; /* (Bitfield(oc_uses_known, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_uses_known", 1);
|
|
bitfield = d_objclass->oc_pre_discovered; /* (Bitfield(oc_pre_discovered, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_pre_discovered", 1);
|
|
bitfield = d_objclass->oc_magic; /* (Bitfield(oc_magic, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_magic", 1);
|
|
bitfield = d_objclass->oc_charged; /* (Bitfield(oc_charged, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_charged", 1);
|
|
bitfield = d_objclass->oc_unique; /* (Bitfield(oc_unique, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_unique", 1);
|
|
bitfield = d_objclass->oc_nowish; /* (Bitfield(oc_nowish, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_nowish", 1);
|
|
bitfield = d_objclass->oc_big; /* (Bitfield(oc_big, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_big", 1);
|
|
bitfield = d_objclass->oc_tough; /* (Bitfield(oc_tough, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_tough", 1);
|
|
bitfield = d_objclass->oc_dir; /* (Bitfield(oc_dir, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_dir", 2);
|
|
bitfield = d_objclass->oc_material; /* (Bitfield(oc_material, 5)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "oc_material", 5);
|
|
sfo_schar(nhfp, &d_objclass->oc_subtyp, parent, "oc_subtyp", 1);/* (schar) */
|
|
sfo_uchar(nhfp, &d_objclass->oc_oprop, parent, "oc_oprop", 1);/* (uchar) */
|
|
sfo_char(nhfp, &d_objclass->oc_class, parent, "oc_class", 1);/* (char) */
|
|
sfo_schar(nhfp, &d_objclass->oc_delay, parent, "oc_delay", 1);/* (schar) */
|
|
sfo_uchar(nhfp, &d_objclass->oc_color, parent, "oc_color", 1);/* (uchar) */
|
|
sfo_short(nhfp, &d_objclass->oc_prob, parent, "oc_prob", 1); /* (short) */
|
|
sfo_ushort(nhfp, &d_objclass->oc_weight, parent, "oc_weight", 1);/* (unsigned short) */
|
|
sfo_short(nhfp, &d_objclass->oc_cost, parent, "oc_cost", 1); /* (short) */
|
|
sfo_schar(nhfp, &d_objclass->oc_wsdam, parent, "oc_wsdam", 1);/* (schar) */
|
|
sfo_schar(nhfp, &d_objclass->oc_wldam, parent, "oc_wldam", 1);/* (schar) */
|
|
sfo_schar(nhfp, &d_objclass->oc_oc1, parent, "oc_oc1", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_objclass->oc_oc2, parent, "oc_oc2", 1); /* (schar) */
|
|
sfo_ushort(nhfp, &d_objclass->oc_nutrition, parent, "oc_nutrition", 1);/* (unsigned short) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "objclass", 1);
|
|
}
|
|
|
|
void
|
|
sfo_obj_split(nhfp, d_obj_split, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct obj_split *d_obj_split;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "obj_split";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "obj_split", 1);
|
|
|
|
sfo_unsigned(nhfp, &d_obj_split->parent_oid, parent, "parent_oid", 1);/* (unsigned) */
|
|
sfo_unsigned(nhfp, &d_obj_split->child_oid, parent, "child_oid", 1);/* (unsigned) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "obj_split", 1);
|
|
}
|
|
|
|
void
|
|
sfo_oextra(nhfp, d_oextra, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct oextra *d_oextra;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "oextra";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "oextra", 1);
|
|
|
|
sfo_char(nhfp, d_oextra->oname, parent, "oname", 1); /* (char *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_oextra->omonst, parent, "omonst", 1);/* (struct monst *) */
|
|
sfo_unsigned(nhfp, d_oextra->omid, parent, "omid", 1); /* (unsigned *) */
|
|
sfo_long(nhfp, d_oextra->olong, parent, "olong", 1); /* (long *) */
|
|
sfo_char(nhfp, d_oextra->omailcmd, parent, "omailcmd", 1); /* (char *) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "oextra", 1);
|
|
}
|
|
|
|
void
|
|
sfo_polearm_info(nhfp, d_polearm_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct polearm_info *d_polearm_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "polearm_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "polearm_info", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_polearm_info->hitmon, parent, "hitmon", 1);/* (struct monst *) */
|
|
sfo_unsigned(nhfp, &d_polearm_info->m_id, parent, "m_id", 1);/* (unsigned) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "polearm_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_prop(nhfp, d_prop, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct prop *d_prop;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "prop";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "prop", 1);
|
|
|
|
sfo_long(nhfp, &d_prop->extrinsic, parent, "extrinsic", 1); /* (long) */
|
|
sfo_long(nhfp, &d_prop->blocked, parent, "blocked", 1); /* (long) */
|
|
sfo_long(nhfp, &d_prop->intrinsic, parent, "intrinsic", 1); /* (long) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "prop", 1);
|
|
}
|
|
|
|
void
|
|
sfo_q_score(nhfp, d_q_score, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct q_score *d_q_score;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "q_score";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "q_score", 1);
|
|
|
|
bitfield = d_q_score->first_start; /* (Bitfield(first_start, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "first_start", 1);
|
|
bitfield = d_q_score->met_leader; /* (Bitfield(met_leader, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "met_leader", 1);
|
|
bitfield = d_q_score->not_ready; /* (Bitfield(not_ready, 3)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "not_ready", 3);
|
|
bitfield = d_q_score->pissed_off; /* (Bitfield(pissed_off, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "pissed_off", 1);
|
|
bitfield = d_q_score->got_quest; /* (Bitfield(got_quest, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "got_quest", 1);
|
|
bitfield = d_q_score->first_locate; /* (Bitfield(first_locate, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "first_locate", 1);
|
|
bitfield = d_q_score->met_intermed; /* (Bitfield(met_intermed, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "met_intermed", 1);
|
|
bitfield = d_q_score->got_final; /* (Bitfield(got_final, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "got_final", 1);
|
|
bitfield = d_q_score->made_goal; /* (Bitfield(made_goal, 3)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "made_goal", 3);
|
|
bitfield = d_q_score->met_nemesis; /* (Bitfield(met_nemesis, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "met_nemesis", 1);
|
|
bitfield = d_q_score->killed_nemesis; /* (Bitfield(killed_nemesis, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "killed_nemesis", 1);
|
|
bitfield = d_q_score->in_battle; /* (Bitfield(in_battle, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "in_battle", 1);
|
|
bitfield = d_q_score->cheater; /* (Bitfield(cheater, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "cheater", 1);
|
|
bitfield = d_q_score->touched_artifact; /* (Bitfield(touched_artifact, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "touched_artifact", 1);
|
|
bitfield = d_q_score->offered_artifact; /* (Bitfield(offered_artifact, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "offered_artifact", 1);
|
|
bitfield = d_q_score->got_thanks; /* (Bitfield(got_thanks, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "got_thanks", 1);
|
|
bitfield = d_q_score->ldrgend; /* (Bitfield(ldrgend, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ldrgend", 2);
|
|
bitfield = d_q_score->nemgend; /* (Bitfield(nemgend, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "nemgend", 2);
|
|
bitfield = d_q_score->godgend; /* (Bitfield(godgend, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "godgend", 2);
|
|
bitfield = d_q_score->leader_is_dead; /* (Bitfield(leader_is_dead, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "leader_is_dead", 1);
|
|
sfo_unsigned(nhfp, &d_q_score->leader_m_id, parent, "leader_m_id", 1);/* (unsigned) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "q_score", 1);
|
|
}
|
|
|
|
void
|
|
sfo_rm(nhfp, d_rm, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct rm *d_rm;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "rm";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "rm", 1);
|
|
|
|
sfo_int(nhfp, &d_rm->glyph, parent, "glyph", 1); /* (int) */
|
|
sfo_schar(nhfp, &d_rm->typ, parent, "typ", 1); /* (schar) */
|
|
sfo_uchar(nhfp, &d_rm->seenv, parent, "seenv", 1); /* (uchar) */
|
|
bitfield = d_rm->flags; /* (Bitfield(flags, 5)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "flags", 5);
|
|
bitfield = d_rm->horizontal; /* (Bitfield(horizontal, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "horizontal", 1);
|
|
bitfield = d_rm->lit; /* (Bitfield(lit, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "lit", 1);
|
|
bitfield = d_rm->waslit; /* (Bitfield(waslit, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "waslit", 1);
|
|
bitfield = d_rm->roomno; /* (Bitfield(roomno, 6)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "roomno", 6);
|
|
bitfield = d_rm->edge; /* (Bitfield(edge, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "edge", 1);
|
|
bitfield = d_rm->candig; /* (Bitfield(candig, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "candig", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "rm", 1);
|
|
}
|
|
|
|
void
|
|
sfo_s_level(nhfp, d_s_level, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct s_level *d_s_level;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "s_level";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "s_level", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_s_level->next, parent, "next", 1);/* (struct s_level *) */
|
|
sfo_d_level(nhfp, &d_s_level->dlevel, parent, "dlevel", 1); /* (d_level) */
|
|
sfo_char(nhfp, d_s_level->proto, parent, "proto", 15); /* (char) */
|
|
sfo_char(nhfp, &d_s_level->boneid, parent, "boneid", 1); /* (char) */
|
|
sfo_uchar(nhfp, &d_s_level->rndlevs, parent, "rndlevs", 1); /* (uchar) */
|
|
sfo_d_flags(nhfp, &d_s_level->flags, parent, "flags", 1); /* (d_flags) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "s_level", 1);
|
|
}
|
|
|
|
void
|
|
sfo_savefile_info(nhfp, d_savefile_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct savefile_info *d_savefile_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "savefile_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "savefile_info", 1);
|
|
|
|
sfo_ulong(nhfp, &d_savefile_info->sfi1, parent, "sfi1", 1); /* (unsigned long) */
|
|
sfo_ulong(nhfp, &d_savefile_info->sfi2, parent, "sfi2", 1); /* (unsigned long) */
|
|
sfo_ulong(nhfp, &d_savefile_info->sfi3, parent, "sfi3", 1); /* (unsigned long) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "savefile_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_skills(nhfp, d_skills, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct skills *d_skills;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "skills";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "skills", 1);
|
|
|
|
sfo_xchar(nhfp, &d_skills->skill, parent, "skill", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_skills->max_skill, parent, "max_skill", 1);/* (xchar) */
|
|
sfo_ushort(nhfp, &d_skills->advance, parent, "advance", 1); /* (unsigned short) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "skills", 1);
|
|
}
|
|
|
|
void
|
|
sfo_spell(nhfp, d_spell, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct spell *d_spell;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "spell";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "spell", 1);
|
|
|
|
sfo_short(nhfp, &d_spell->sp_id, parent, "sp_id", 1); /* (short) */
|
|
sfo_xchar(nhfp, &d_spell->sp_lev, parent, "sp_lev", 1); /* (xchar) */
|
|
sfo_int(nhfp, &d_spell->sp_know, parent, "sp_know", 1); /* (int) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "spell", 1);
|
|
}
|
|
|
|
void
|
|
sfo_stairway(nhfp, d_stairway, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct stairway *d_stairway;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "stairway";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "stairway", 1);
|
|
|
|
sfo_xchar(nhfp, &d_stairway->sx, parent, "sx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_stairway->sy, parent, "sy", 1); /* (xchar) */
|
|
sfo_d_level(nhfp, &d_stairway->tolev, parent, "tolev", 1); /* (d_level) */
|
|
sfo_char(nhfp, &d_stairway->up, parent, "up", 1); /* (char) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "stairway", 1);
|
|
}
|
|
|
|
void
|
|
sfo_takeoff_info(nhfp, d_takeoff_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct takeoff_info *d_takeoff_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "takeoff_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "takeoff_info", 1);
|
|
|
|
sfo_long(nhfp, &d_takeoff_info->mask, parent, "mask", 1); /* (long) */
|
|
sfo_long(nhfp, &d_takeoff_info->what, parent, "what", 1); /* (long) */
|
|
sfo_int(nhfp, &d_takeoff_info->delay, parent, "delay", 1); /* (int) */
|
|
sfo_boolean(nhfp, &d_takeoff_info->cancelled_don, parent, "cancelled_don", 1);/* (boolean) */
|
|
sfo_char(nhfp, d_takeoff_info->disrobing, parent, "disrobing", CONTEXTVERBSZ + 1);/* (char) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "takeoff_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_tin_info(nhfp, d_tin_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct tin_info *d_tin_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "tin_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "tin_info", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_tin_info->tin, parent, "tin", 1);/* (struct obj *) */
|
|
sfo_unsigned(nhfp, &d_tin_info->o_id, parent, "o_id", 1); /* (unsigned) */
|
|
sfo_int(nhfp, &d_tin_info->usedtime, parent, "usedtime", 1); /* (int) */
|
|
sfo_int(nhfp, &d_tin_info->reqtime, parent, "reqtime", 1); /* (int) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "tin_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_trap(nhfp, d_trap, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct trap *d_trap;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "trap";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "trap", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_trap->ntrap, parent, "ntrap", 1);/* (struct trap *) */
|
|
sfo_xchar(nhfp, &d_trap->tx, parent, "tx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_trap->ty, parent, "ty", 1); /* (xchar) */
|
|
sfo_d_level(nhfp, &d_trap->dst, parent, "dst", 1); /* (d_level) */
|
|
sfo_nhcoord(nhfp, &d_trap->launch, parent, "launch", 1); /* (nhcoord) */
|
|
bitfield = d_trap->ttyp; /* (Bitfield(ttyp, 5)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ttyp", 5);
|
|
bitfield = d_trap->tseen; /* (Bitfield(tseen, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "tseen", 1);
|
|
bitfield = d_trap->once; /* (Bitfield(once, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "once", 1);
|
|
bitfield = d_trap->madeby_u; /* (Bitfield(madeby_u, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "madeby_u", 1);
|
|
sfo_vlaunchinfo(nhfp, &d_trap->vl, parent, "vl", 1); /* (vlaunchinfo) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "trap", 1);
|
|
}
|
|
|
|
void
|
|
sfo_tribute_info(nhfp, d_tribute_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct tribute_info *d_tribute_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "tribute_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "tribute_info", 1);
|
|
|
|
sfo_size_t(nhfp, &d_tribute_info->tributesz, parent, "tributesz", 1);/* (size_t) */
|
|
sfo_boolean(nhfp, &d_tribute_info->enabled, parent, "enabled", 1);/* (boolean) */
|
|
bitfield = d_tribute_info->bookstock; /* (Bitfield(bookstock, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "bookstock", 1);
|
|
bitfield = d_tribute_info->Deathnotice; /* (Bitfield(Deathnotice,1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "Deathnotice", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "tribute_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_u_achieve(nhfp, d_u_achieve, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_achieve *d_u_achieve;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_achieve";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "u_achieve", 1);
|
|
|
|
bitfield = d_u_achieve->amulet; /* (Bitfield(amulet, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "amulet", 1);
|
|
bitfield = d_u_achieve->bell; /* (Bitfield(bell, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "bell", 1);
|
|
bitfield = d_u_achieve->book; /* (Bitfield(book, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "book", 1);
|
|
bitfield = d_u_achieve->menorah; /* (Bitfield(menorah, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "menorah", 1);
|
|
bitfield = d_u_achieve->enter_gehennom; /* (Bitfield(enter_gehennom,1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "enter_gehennom", 1);
|
|
bitfield = d_u_achieve->ascended; /* (Bitfield(ascended, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ascended", 1);
|
|
bitfield = d_u_achieve->mines_luckstone; /* (Bitfield(mines_luckstone, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mines_luckstone", 1);
|
|
bitfield = d_u_achieve->finish_sokoban; /* (Bitfield(finish_sokoban, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "finish_sokoban", 1);
|
|
bitfield = d_u_achieve->killed_medusa; /* (Bitfield(killed_medusa, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "killed_medusa", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "u_achieve", 1);
|
|
}
|
|
|
|
void
|
|
sfo_u_conduct(nhfp, d_u_conduct, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_conduct *d_u_conduct;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_conduct";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "u_conduct", 1);
|
|
|
|
sfo_long(nhfp, &d_u_conduct->unvegetarian, parent, "unvegetarian", 1);/* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->unvegan, parent, "unvegan", 1); /* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->food, parent, "food", 1); /* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->gnostic, parent, "gnostic", 1); /* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->weaphit, parent, "weaphit", 1); /* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->killer, parent, "killer", 1); /* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->literate, parent, "literate", 1);/* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->polypiles, parent, "polypiles", 1);/* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->polyselfs, parent, "polyselfs", 1);/* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->wishes, parent, "wishes", 1); /* (long) */
|
|
sfo_long(nhfp, &d_u_conduct->wisharti, parent, "wisharti", 1);/* (long) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "u_conduct", 1);
|
|
}
|
|
|
|
void
|
|
sfo_u_event(nhfp, d_u_event, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_event *d_u_event;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_event";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "u_event", 1);
|
|
|
|
bitfield = d_u_event->minor_oracle; /* (Bitfield(minor_oracle, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "minor_oracle", 1);
|
|
bitfield = d_u_event->major_oracle; /* (Bitfield(major_oracle, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "major_oracle", 1);
|
|
bitfield = d_u_event->read_tribute; /* (Bitfield(read_tribute, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "read_tribute", 1);
|
|
bitfield = d_u_event->qcalled; /* (Bitfield(qcalled, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "qcalled", 1);
|
|
bitfield = d_u_event->qexpelled; /* (Bitfield(qexpelled, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "qexpelled", 1);
|
|
bitfield = d_u_event->qcompleted; /* (Bitfield(qcompleted, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "qcompleted", 1);
|
|
bitfield = d_u_event->uheard_tune; /* (Bitfield(uheard_tune, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uheard_tune", 2);
|
|
bitfield = d_u_event->uopened_dbridge; /* (Bitfield(uopened_dbridge, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uopened_dbridge", 1);
|
|
bitfield = d_u_event->invoked; /* (Bitfield(invoked, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "invoked", 1);
|
|
bitfield = d_u_event->gehennom_entered; /* (Bitfield(gehennom_entered, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "gehennom_entered", 1);
|
|
bitfield = d_u_event->uhand_of_elbereth; /* (Bitfield(uhand_of_elbereth, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uhand_of_elbereth", 2);
|
|
bitfield = d_u_event->udemigod; /* (Bitfield(udemigod, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "udemigod", 1);
|
|
bitfield = d_u_event->uvibrated; /* (Bitfield(uvibrated, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uvibrated", 1);
|
|
bitfield = d_u_event->ascended; /* (Bitfield(ascended, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "ascended", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "u_event", 1);
|
|
}
|
|
|
|
void
|
|
sfo_u_have(nhfp, d_u_have, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_have *d_u_have;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_have";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "u_have", 1);
|
|
|
|
bitfield = d_u_have->amulet; /* (Bitfield(amulet, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "amulet", 1);
|
|
bitfield = d_u_have->bell; /* (Bitfield(bell, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "bell", 1);
|
|
bitfield = d_u_have->book; /* (Bitfield(book, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "book", 1);
|
|
bitfield = d_u_have->menorah; /* (Bitfield(menorah, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "menorah", 1);
|
|
bitfield = d_u_have->questart; /* (Bitfield(questart, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "questart", 1);
|
|
bitfield = d_u_have->unused; /* (Bitfield(unused, 3)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "unused", 3);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "u_have", 1);
|
|
}
|
|
|
|
void
|
|
sfo_u_realtime(nhfp, d_u_realtime, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_realtime *d_u_realtime;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_realtime";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "u_realtime", 1);
|
|
|
|
sfo_long(nhfp, &d_u_realtime->realtime, parent, "realtime", 1);/* (long) */
|
|
sfo_time_t(nhfp, &d_u_realtime->start_timing, parent, "start_timing", 1);/* (time_t) */
|
|
sfo_time_t(nhfp, &d_u_realtime->finish_time, parent, "finish_time", 1);/* (time_t) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "u_realtime", 1);
|
|
}
|
|
|
|
void
|
|
sfo_u_roleplay(nhfp, d_u_roleplay, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_roleplay *d_u_roleplay;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_roleplay";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "u_roleplay", 1);
|
|
|
|
sfo_boolean(nhfp, &d_u_roleplay->blind, parent, "blind", 1); /* (boolean) */
|
|
sfo_boolean(nhfp, &d_u_roleplay->nudist, parent, "nudist", 1);/* (boolean) */
|
|
sfo_long(nhfp, &d_u_roleplay->numbones, parent, "numbones", 1);/* (long) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "u_roleplay", 1);
|
|
}
|
|
|
|
void
|
|
sfo_version_info(nhfp, d_version_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct version_info *d_version_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "version_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "version_info", 1);
|
|
|
|
sfo_ulong(nhfp, &d_version_info->incarnation, parent, "incarnation", 1);/* (unsigned long) */
|
|
sfo_ulong(nhfp, &d_version_info->feature_set, parent, "feature_set", 1);/* (unsigned long) */
|
|
sfo_ulong(nhfp, &d_version_info->entity_count, parent, "entity_count", 1);/* (unsigned long) */
|
|
sfo_ulong(nhfp, &d_version_info->struct_sizes1, parent, "struct_sizes1", 1);/* (unsigned long) */
|
|
sfo_ulong(nhfp, &d_version_info->struct_sizes2, parent, "struct_sizes2", 1);/* (unsigned long) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "version_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_victual_info(nhfp, d_victual_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct victual_info *d_victual_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "victual_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "victual_info", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_victual_info->piece, parent, "piece", 1);/* (struct obj *) */
|
|
sfo_unsigned(nhfp, &d_victual_info->o_id, parent, "o_id", 1);/* (unsigned) */
|
|
sfo_int(nhfp, &d_victual_info->usedtime, parent, "usedtime", 1);/* (int) */
|
|
sfo_int(nhfp, &d_victual_info->reqtime, parent, "reqtime", 1);/* (int) */
|
|
sfo_int(nhfp, &d_victual_info->nmod, parent, "nmod", 1); /* (int) */
|
|
bitfield = d_victual_info->canchoke; /* (Bitfield(canchoke, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "canchoke", 1);
|
|
bitfield = d_victual_info->fullwarn; /* (Bitfield(fullwarn, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "fullwarn", 1);
|
|
bitfield = d_victual_info->eating; /* (Bitfield(eating, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "eating", 1);
|
|
bitfield = d_victual_info->doreset; /* (Bitfield(doreset, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "doreset", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "victual_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_vlaunchinfo(nhfp, d_vlaunchinfo, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
union vlaunchinfo *d_vlaunchinfo;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "vlaunchinfo";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "vlaunchinfo", 1);
|
|
|
|
sfo_short(nhfp, &d_vlaunchinfo->v_launch_otyp, parent, "v_launch_otyp", 1);/* (short) */
|
|
sfo_nhcoord(nhfp, &d_vlaunchinfo->v_launch2, parent, "v_launch2", 1);/* (nhcoord) */
|
|
sfo_uchar(nhfp, &d_vlaunchinfo->v_conjoined, parent, "v_conjoined", 1);/* (uchar) */
|
|
sfo_short(nhfp, &d_vlaunchinfo->v_tnote, parent, "v_tnote", 1);/* (short) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "vlaunchinfo", 1);
|
|
}
|
|
|
|
void
|
|
sfo_vptrs(nhfp, d_vptrs, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
union vptrs *d_vptrs;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "vptrs";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "vptrs", 1);
|
|
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_vptrs->v_nexthere, parent, "v_nexthere", 1);/* (struct obj *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_vptrs->v_ocontainer, parent, "v_ocontainer", 1);/* (struct obj *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_vptrs->v_ocarry, parent, "v_ocarry", 1);/* (struct monst *) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "vptrs", 1);
|
|
}
|
|
|
|
void
|
|
sfo_warntype_info(nhfp, d_warntype_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct warntype_info *d_warntype_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "warntype_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "warntype_info", 1);
|
|
|
|
sfo_ulong(nhfp, &d_warntype_info->obj, parent, "obj", 1); /* (unsigned long) */
|
|
sfo_ulong(nhfp, &d_warntype_info->polyd, parent, "polyd", 1);/* (unsigned long) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_warntype_info->species, parent, "species", 1);/* (struct permonst *) */
|
|
sfo_short(nhfp, &d_warntype_info->speciesidx, parent, "speciesidx", 1);/* (short) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "warntype_info", 1);
|
|
}
|
|
|
|
void
|
|
sfo_you(nhfp, d_you, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct you *d_you;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "you";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "start", "you", 1);
|
|
|
|
sfo_xchar(nhfp, &d_you->ux, parent, "ux", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_you->uy, parent, "uy", 1); /* (xchar) */
|
|
sfo_schar(nhfp, &d_you->dx, parent, "dx", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_you->dy, parent, "dy", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_you->dz, parent, "dz", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_you->di, parent, "di", 1); /* (schar) */
|
|
sfo_xchar(nhfp, &d_you->tx, parent, "tx", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_you->ty, parent, "ty", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_you->ux0, parent, "ux0", 1); /* (xchar) */
|
|
sfo_xchar(nhfp, &d_you->uy0, parent, "uy0", 1); /* (xchar) */
|
|
sfo_d_level(nhfp, &d_you->uz, parent, "uz", 1); /* (d_level) */
|
|
sfo_d_level(nhfp, &d_you->uz0, parent, "uz0", 1); /* (d_level) */
|
|
sfo_d_level(nhfp, &d_you->utolev, parent, "utolev", 1); /* (d_level) */
|
|
sfo_uchar(nhfp, &d_you->utotype, parent, "utotype", 1); /* (uchar) */
|
|
sfo_boolean(nhfp, &d_you->umoved, parent, "umoved", 1); /* (boolean) */
|
|
sfo_int(nhfp, &d_you->last_str_turn, parent, "last_str_turn", 1);/* (int) */
|
|
sfo_int(nhfp, &d_you->ulevel, parent, "ulevel", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->ulevelmax, parent, "ulevelmax", 1); /* (int) */
|
|
sfo_unsigned(nhfp, &d_you->utrap, parent, "utrap", 1); /* (unsigned) */
|
|
sfo_unsigned(nhfp, &d_you->utraptype, parent, "utraptype", 1);/* (unsigned) */
|
|
sfo_char(nhfp, d_you->urooms, parent, "urooms", 5); /* (char) */
|
|
sfo_char(nhfp, d_you->urooms0, parent, "urooms0", 5); /* (char) */
|
|
sfo_char(nhfp, d_you->uentered, parent, "uentered", 5); /* (char) */
|
|
sfo_char(nhfp, d_you->ushops, parent, "ushops", 5); /* (char) */
|
|
sfo_char(nhfp, d_you->ushops0, parent, "ushops0", 5); /* (char) */
|
|
sfo_char(nhfp, d_you->ushops_entered, parent, "ushops_entered", 5);/* (char) */
|
|
sfo_char(nhfp, d_you->ushops_left, parent, "ushops_left", 5);/* (char) */
|
|
sfo_int(nhfp, &d_you->uhunger, parent, "uhunger", 1); /* (int) */
|
|
sfo_unsigned(nhfp, &d_you->uhs, parent, "uhs", 1); /* (unsigned) */
|
|
sfo_prop(nhfp, d_you->uprops, parent, "uprops", LAST_PROP + 1);/* (prop) */
|
|
sfo_unsigned(nhfp, &d_you->umconf, parent, "umconf", 1); /* (unsigned) */
|
|
bitfield = d_you->usick_type; /* (Bitfield(usick_type, 2)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "usick_type", 2);
|
|
sfo_int(nhfp, &d_you->nv_range, parent, "nv_range", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->xray_range, parent, "xray_range", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->bglyph, parent, "bglyph", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->cglyph, parent, "cglyph", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->bc_order, parent, "bc_order", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->bc_felt, parent, "bc_felt", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->umonster, parent, "umonster", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->umonnum, parent, "umonnum", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->mh, parent, "mh", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->mhmax, parent, "mhmax", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->mtimedone, parent, "mtimedone", 1); /* (int) */
|
|
sfo_attribs(nhfp, &d_you->macurr, parent, "macurr", 1); /* (attribs) */
|
|
sfo_attribs(nhfp, &d_you->mamax, parent, "mamax", 1); /* (attribs) */
|
|
sfo_int(nhfp, &d_you->ulycn, parent, "ulycn", 1); /* (int) */
|
|
sfo_unsigned(nhfp, &d_you->ucreamed, parent, "ucreamed", 1); /* (unsigned) */
|
|
sfo_unsigned(nhfp, &d_you->uswldtim, parent, "uswldtim", 1); /* (unsigned) */
|
|
bitfield = d_you->uswallow; /* (Bitfield(uswallow, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uswallow", 1);
|
|
bitfield = d_you->uinwater; /* (Bitfield(uinwater, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uinwater", 1);
|
|
bitfield = d_you->uundetected; /* (Bitfield(uundetected, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uundetected", 1);
|
|
bitfield = d_you->mfemale; /* (Bitfield(mfemale, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "mfemale", 1);
|
|
bitfield = d_you->uinvulnerable; /* (Bitfield(uinvulnerable, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uinvulnerable", 1);
|
|
bitfield = d_you->uburied; /* (Bitfield(uburied, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uburied", 1);
|
|
bitfield = d_you->uedibility; /* (Bitfield(uedibility, 1)) */
|
|
sfo_bitfield(nhfp, &bitfield, parent, "uedibility", 1);
|
|
sfo_unsigned(nhfp, &d_you->udg_cnt, parent, "udg_cnt", 1); /* (unsigned) */
|
|
sfo_u_achieve(nhfp, &d_you->uachieve, parent, "uachieve", 1);/* (u_achieve) */
|
|
sfo_u_event(nhfp, &d_you->uevent, parent, "uevent", 1); /* (u_event) */
|
|
sfo_u_have(nhfp, &d_you->uhave, parent, "uhave", 1); /* (u_have) */
|
|
sfo_u_conduct(nhfp, &d_you->uconduct, parent, "uconduct", 1);/* (u_conduct) */
|
|
sfo_u_roleplay(nhfp, &d_you->uroleplay, parent, "uroleplay", 1);/* (u_roleplay) */
|
|
sfo_attribs(nhfp, &d_you->acurr, parent, "acurr", 1); /* (attribs) */
|
|
sfo_attribs(nhfp, &d_you->aexe, parent, "aexe", 1); /* (attribs) */
|
|
sfo_attribs(nhfp, &d_you->abon, parent, "abon", 1); /* (attribs) */
|
|
sfo_attribs(nhfp, &d_you->amax, parent, "amax", 1); /* (attribs) */
|
|
sfo_attribs(nhfp, &d_you->atemp, parent, "atemp", 1); /* (attribs) */
|
|
sfo_attribs(nhfp, &d_you->atime, parent, "atime", 1); /* (attribs) */
|
|
sfo_align(nhfp, &d_you->ualign, parent, "ualign", 1); /* (align) */
|
|
for (i = 0; i < CONVERT; ++i)
|
|
sfo_aligntyp(nhfp, &d_you->ualignbase[i], parent, "ualignbase", 1);/* (aligntyp) */
|
|
sfo_schar(nhfp, &d_you->uluck, parent, "uluck", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_you->moreluck, parent, "moreluck", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_you->uhitinc, parent, "uhitinc", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_you->udaminc, parent, "udaminc", 1); /* (schar) */
|
|
sfo_schar(nhfp, &d_you->uac, parent, "uac", 1); /* (schar) */
|
|
sfo_uchar(nhfp, &d_you->uspellprot, parent, "uspellprot", 1);/* (uchar) */
|
|
sfo_uchar(nhfp, &d_you->usptime, parent, "usptime", 1); /* (uchar) */
|
|
sfo_uchar(nhfp, &d_you->uspmtime, parent, "uspmtime", 1); /* (uchar) */
|
|
sfo_int(nhfp, &d_you->uhp, parent, "uhp", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->uhpmax, parent, "uhpmax", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->uen, parent, "uen", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->uenmax, parent, "uenmax", 1); /* (int) */
|
|
sfo_xchar(nhfp, d_you->uhpinc, parent, "uhpinc", MAXULEV); /* (xchar) */
|
|
sfo_xchar(nhfp, d_you->ueninc, parent, "ueninc", MAXULEV); /* (xchar) */
|
|
sfo_int(nhfp, &d_you->ugangr, parent, "ugangr", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->ugifts, parent, "ugifts", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->ublessed, parent, "ublessed", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->ublesscnt, parent, "ublesscnt", 1); /* (int) */
|
|
sfo_long(nhfp, &d_you->umoney0, parent, "umoney0", 1); /* (long) */
|
|
sfo_long(nhfp, &d_you->uspare1, parent, "uspare1", 1); /* (long) */
|
|
sfo_long(nhfp, &d_you->uexp, parent, "uexp", 1); /* (long) */
|
|
sfo_long(nhfp, &d_you->urexp, parent, "urexp", 1); /* (long) */
|
|
sfo_long(nhfp, &d_you->ucleansed, parent, "ucleansed", 1); /* (long) */
|
|
sfo_long(nhfp, &d_you->usleep, parent, "usleep", 1); /* (long) */
|
|
sfo_int(nhfp, &d_you->uinvault, parent, "uinvault", 1); /* (int) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_you->ustuck, parent, "ustuck", 1);/* (struct monst *) */
|
|
sfo_genericptr(nhfp, (genericptr_t) &d_you->usteed, parent, "usteed", 1);/* (struct monst *) */
|
|
sfo_long(nhfp, &d_you->ugallop, parent, "ugallop", 1); /* (long) */
|
|
sfo_int(nhfp, &d_you->urideturns, parent, "urideturns", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->umortality, parent, "umortality", 1); /* (int) */
|
|
sfo_int(nhfp, &d_you->ugrave_arise, parent, "ugrave_arise", 1);/* (int) */
|
|
sfo_int(nhfp, &d_you->weapon_slots, parent, "weapon_slots", 1);/* (int) */
|
|
sfo_int(nhfp, &d_you->skills_advanced, parent, "skills_advanced", 1);/* (int) */
|
|
sfo_xchar(nhfp, d_you->skill_record, parent, "skill_record", P_SKILL_LIMIT);/* (xchar) */
|
|
for (i = 0; i < P_NUM_SKILLS; ++i)
|
|
sfo_skills(nhfp, &d_you->weapon_skills[i], parent, "weapon_skills", 1);/* (skills) */
|
|
sfo_boolean(nhfp, &d_you->twoweap, parent, "twoweap", 1); /* (boolean) */
|
|
sfo_short(nhfp, &d_you->mcham, parent, "mcham", 1); /* (short) */
|
|
|
|
if (nhfp->addinfo)
|
|
sfo_addinfo(nhfp, myparent, "end", "you", 1);
|
|
}
|
|
|
|
void
|
|
sfi_align(nhfp, d_align, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct align *d_align;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "align";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "align", 1);
|
|
|
|
sfi_aligntyp(nhfp, &d_align->type, parent, "type", 1);
|
|
sfi_int(nhfp, &d_align->record, parent, "record", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "align", 1);
|
|
}
|
|
|
|
void
|
|
sfi_attribs(nhfp, d_attribs, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct attribs *d_attribs;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "attribs";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "attribs", 1);
|
|
|
|
sfi_schar(nhfp, d_attribs->a, parent, "a", A_MAX);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "attribs", 1);
|
|
}
|
|
|
|
void
|
|
sfi_bill_x(nhfp, d_bill_x, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct bill_x *d_bill_x;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "bill_x";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "bill_x", 1);
|
|
|
|
sfi_unsigned(nhfp, &d_bill_x->bo_id, parent, "bo_id", 1);
|
|
sfi_boolean(nhfp, &d_bill_x->useup, parent, "useup", 1);
|
|
sfi_long(nhfp, &d_bill_x->price, parent, "price", 1);
|
|
sfi_long(nhfp, &d_bill_x->bquan, parent, "bquan", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "bill_x", 1);
|
|
}
|
|
|
|
void
|
|
sfi_book_info(nhfp, d_book_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct book_info *d_book_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "book_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "book_info", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_book_info->book, parent, "book", 1);
|
|
sfi_unsigned(nhfp, &d_book_info->o_id, parent, "o_id", 1);
|
|
sfi_schar(nhfp, &d_book_info->delay, parent, "delay", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "book_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_branch(nhfp, d_branch, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct branch *d_branch;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "branch";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "branch", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_branch->next, parent, "next", 1);
|
|
sfi_int(nhfp, &d_branch->id, parent, "id", 1);
|
|
sfi_int(nhfp, &d_branch->type, parent, "type", 1);
|
|
sfi_d_level(nhfp, &d_branch->end1, parent, "end1", 1);
|
|
sfi_d_level(nhfp, &d_branch->end2, parent, "end2", 1);
|
|
sfi_boolean(nhfp, &d_branch->end1_up, parent, "end1_up", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "branch", 1);
|
|
}
|
|
|
|
void
|
|
sfi_bubble(nhfp, d_bubble, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct bubble *d_bubble;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "bubble";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "bubble", 1);
|
|
|
|
sfi_xchar(nhfp, &d_bubble->x, parent, "x", 1);
|
|
sfi_xchar(nhfp, &d_bubble->y, parent, "y", 1);
|
|
sfi_schar(nhfp, &d_bubble->dx, parent, "dx", 1);
|
|
sfi_schar(nhfp, &d_bubble->dy, parent, "dy", 1);
|
|
sfi_uchar(nhfp, d_bubble->bm, parent, "bm", MAX_BMASK + 2);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_bubble->prev, parent, "prev", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_bubble->next, parent, "next", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_bubble->cons, parent, "cons", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "bubble", 1);
|
|
}
|
|
|
|
void
|
|
sfi_cemetery(nhfp, d_cemetery, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct cemetery *d_cemetery;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "cemetery";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "cemetery", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_cemetery->next, parent, "next", 1);
|
|
sfi_char(nhfp, d_cemetery->who, parent, "who", PL_NSIZ + 4 * (1 + 3) + 1);
|
|
sfi_char(nhfp, d_cemetery->how, parent, "how", 100 + 1);
|
|
sfi_char(nhfp, d_cemetery->when, parent, "when", 4 + 2 + 2 + 2 + 2 + 2 + 1);
|
|
sfi_schar(nhfp, &d_cemetery->frpx, parent, "frpx", 1);
|
|
sfi_schar(nhfp, &d_cemetery->frpy, parent, "frpy", 1);
|
|
sfi_boolean(nhfp, &d_cemetery->bonesknown, parent, "bonesknown", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "cemetery", 1);
|
|
}
|
|
|
|
void
|
|
sfi_context_info(nhfp, d_context_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct context_info *d_context_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "context_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "context_info", 1);
|
|
|
|
sfi_unsigned(nhfp, &d_context_info->ident, parent, "ident", 1);
|
|
sfi_unsigned(nhfp, &d_context_info->no_of_wizards, parent, "no_of_wizards", 1);
|
|
sfi_unsigned(nhfp, &d_context_info->run, parent, "run", 1);
|
|
sfi_unsigned(nhfp, &d_context_info->startingpet_mid, parent, "startingpet_mid", 1);
|
|
sfi_int(nhfp, &d_context_info->current_fruit, parent, "current_fruit", 1);
|
|
sfi_int(nhfp, &d_context_info->warnlevel, parent, "warnlevel", 1);
|
|
sfi_int(nhfp, &d_context_info->rndencode, parent, "rndencode", 1);
|
|
sfi_long(nhfp, &d_context_info->next_attrib_check, parent, "next_attrib_check", 1);
|
|
sfi_long(nhfp, &d_context_info->stethoscope_move, parent, "stethoscope_move", 1);
|
|
sfi_short(nhfp, &d_context_info->stethoscope_movement, parent, "stethoscope_movement", 1);
|
|
sfi_boolean(nhfp, &d_context_info->travel, parent, "travel", 1);
|
|
sfi_boolean(nhfp, &d_context_info->travel1, parent, "travel1", 1);
|
|
sfi_boolean(nhfp, &d_context_info->forcefight, parent, "forcefight", 1);
|
|
sfi_boolean(nhfp, &d_context_info->nopick, parent, "nopick", 1);
|
|
sfi_boolean(nhfp, &d_context_info->made_amulet, parent, "made_amulet", 1);
|
|
sfi_boolean(nhfp, &d_context_info->mon_moving, parent, "mon_moving", 1);
|
|
sfi_boolean(nhfp, &d_context_info->move, parent, "move", 1);
|
|
sfi_boolean(nhfp, &d_context_info->mv, parent, "mv", 1);
|
|
sfi_boolean(nhfp, &d_context_info->bypasses, parent, "bypasses", 1);
|
|
sfi_boolean(nhfp, &d_context_info->botl, parent, "botl", 1);
|
|
sfi_boolean(nhfp, &d_context_info->botlx, parent, "botlx", 1);
|
|
sfi_boolean(nhfp, &d_context_info->door_opened, parent, "door_opened", 1);
|
|
sfi_dig_info(nhfp, &d_context_info->digging, parent, "digging", 1);
|
|
sfi_victual_info(nhfp, &d_context_info->victual, parent, "victual", 1);
|
|
sfi_tin_info(nhfp, &d_context_info->tin, parent, "tin", 1);
|
|
sfi_book_info(nhfp, &d_context_info->spbook, parent, "spbook", 1);
|
|
sfi_takeoff_info(nhfp, &d_context_info->takeoff, parent, "takeoff", 1);
|
|
sfi_warntype_info(nhfp, &d_context_info->warntype, parent, "warntype", 1);
|
|
sfi_polearm_info(nhfp, &d_context_info->polearm, parent, "polearm", 1);
|
|
sfi_obj_split(nhfp, &d_context_info->objsplit, parent, "objsplit", 1);
|
|
sfi_tribute_info(nhfp, &d_context_info->tribute, parent, "tribute", 1);
|
|
sfi_novel_tracking(nhfp, &d_context_info->novel, parent, "novel", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "context_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_d_flags(nhfp, d_d_flags, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct d_flags *d_d_flags;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "d_flags";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "d_flags", 1);
|
|
|
|
bitfield = d_d_flags->town; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "town", 1);
|
|
d_d_flags->town = bitfield;
|
|
|
|
bitfield = d_d_flags->hellish; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "hellish", 1);
|
|
d_d_flags->hellish = bitfield;
|
|
|
|
bitfield = d_d_flags->maze_like; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "maze_like", 1);
|
|
d_d_flags->maze_like = bitfield;
|
|
|
|
bitfield = d_d_flags->rogue_like; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "rogue_like", 1);
|
|
d_d_flags->rogue_like = bitfield;
|
|
|
|
bitfield = d_d_flags->align; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "align", 3);
|
|
d_d_flags->align = bitfield;
|
|
|
|
bitfield = d_d_flags->unused; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "unused", 1);
|
|
d_d_flags->unused = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "d_flags", 1);
|
|
}
|
|
|
|
void
|
|
sfi_d_level(nhfp, d_d_level, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct d_level *d_d_level;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "d_level";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "d_level", 1);
|
|
|
|
sfi_xchar(nhfp, &d_d_level->dnum, parent, "dnum", 1);
|
|
sfi_xchar(nhfp, &d_d_level->dlevel, parent, "dlevel", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "d_level", 1);
|
|
}
|
|
|
|
void
|
|
sfi_damage(nhfp, d_damage, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct damage *d_damage;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "damage";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "damage", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_damage->next, parent, "next", 1);
|
|
sfi_long(nhfp, &d_damage->when, parent, "when", 1);
|
|
sfi_long(nhfp, &d_damage->cost, parent, "cost", 1);
|
|
sfi_nhcoord(nhfp, &d_damage->place, parent, "place", 1);
|
|
sfi_schar(nhfp, &d_damage->typ, parent, "typ", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "damage", 1);
|
|
}
|
|
|
|
void
|
|
sfi_dest_area(nhfp, d_dest_area, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct dest_area *d_dest_area;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "dest_area";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "dest_area", 1);
|
|
|
|
sfi_xchar(nhfp, &d_dest_area->lx, parent, "lx", 1);
|
|
sfi_xchar(nhfp, &d_dest_area->ly, parent, "ly", 1);
|
|
sfi_xchar(nhfp, &d_dest_area->hx, parent, "hx", 1);
|
|
sfi_xchar(nhfp, &d_dest_area->hy, parent, "hy", 1);
|
|
sfi_xchar(nhfp, &d_dest_area->nlx, parent, "nlx", 1);
|
|
sfi_xchar(nhfp, &d_dest_area->nly, parent, "nly", 1);
|
|
sfi_xchar(nhfp, &d_dest_area->nhx, parent, "nhx", 1);
|
|
sfi_xchar(nhfp, &d_dest_area->nhy, parent, "nhy", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "dest_area", 1);
|
|
}
|
|
|
|
void
|
|
sfi_dgn_topology(nhfp, d_dgn_topology, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct dgn_topology *d_dgn_topology;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "dgn_topology";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "dgn_topology", 1);
|
|
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_oracle_level, parent, "d_oracle_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_bigroom_level, parent, "d_bigroom_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_rogue_level, parent, "d_rogue_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_medusa_level, parent, "d_medusa_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_stronghold_level, parent, "d_stronghold_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_valley_level, parent, "d_valley_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_wiz1_level, parent, "d_wiz1_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_wiz2_level, parent, "d_wiz2_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_wiz3_level, parent, "d_wiz3_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_juiblex_level, parent, "d_juiblex_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_orcus_level, parent, "d_orcus_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_baalzebub_level, parent, "d_baalzebub_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_asmodeus_level, parent, "d_asmodeus_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_portal_level, parent, "d_portal_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_sanctum_level, parent, "d_sanctum_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_earth_level, parent, "d_earth_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_water_level, parent, "d_water_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_fire_level, parent, "d_fire_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_air_level, parent, "d_air_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_astral_level, parent, "d_astral_level", 1);
|
|
sfi_xchar(nhfp, &d_dgn_topology->d_tower_dnum, parent, "d_tower_dnum", 1);
|
|
sfi_xchar(nhfp, &d_dgn_topology->d_sokoban_dnum, parent, "d_sokoban_dnum", 1);
|
|
sfi_xchar(nhfp, &d_dgn_topology->d_mines_dnum, parent, "d_mines_dnum", 1);
|
|
sfi_xchar(nhfp, &d_dgn_topology->d_quest_dnum, parent, "d_quest_dnum", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_qstart_level, parent, "d_qstart_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_qlocate_level, parent, "d_qlocate_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_nemesis_level, parent, "d_nemesis_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_knox_level, parent, "d_knox_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_mineend_level, parent, "d_mineend_level", 1);
|
|
sfi_d_level(nhfp, &d_dgn_topology->d_sokoend_level, parent, "d_sokoend_level", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "dgn_topology", 1);
|
|
}
|
|
|
|
void
|
|
sfi_dig_info(nhfp, d_dig_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct dig_info *d_dig_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "dig_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "dig_info", 1);
|
|
|
|
sfi_int(nhfp, &d_dig_info->effort, parent, "effort", 1);
|
|
sfi_d_level(nhfp, &d_dig_info->level, parent, "level", 1);
|
|
sfi_nhcoord(nhfp, &d_dig_info->pos, parent, "pos", 1);
|
|
sfi_long(nhfp, &d_dig_info->lastdigtime, parent, "lastdigtime", 1);
|
|
sfi_boolean(nhfp, &d_dig_info->down, parent, "down", 1);
|
|
sfi_boolean(nhfp, &d_dig_info->chew, parent, "chew", 1);
|
|
sfi_boolean(nhfp, &d_dig_info->warned, parent, "warned", 1);
|
|
sfi_boolean(nhfp, &d_dig_info->quiet, parent, "quiet", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "dig_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_dungeon(nhfp, d_dungeon, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct dungeon *d_dungeon;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "dungeon";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "dungeon", 1);
|
|
|
|
sfi_char(nhfp, d_dungeon->dname, parent, "dname", 24);
|
|
sfi_char(nhfp, d_dungeon->proto, parent, "proto", 15);
|
|
sfi_char(nhfp, &d_dungeon->boneid, parent, "boneid", 1);
|
|
sfi_d_flags(nhfp, &d_dungeon->flags, parent, "flags", 1);
|
|
sfi_xchar(nhfp, &d_dungeon->entry_lev, parent, "entry_lev", 1);
|
|
sfi_xchar(nhfp, &d_dungeon->num_dunlevs, parent, "num_dunlevs", 1);
|
|
sfi_xchar(nhfp, &d_dungeon->dunlev_ureached, parent, "dunlev_ureached", 1);
|
|
sfi_int(nhfp, &d_dungeon->ledger_start, parent, "ledger_start", 1);
|
|
sfi_int(nhfp, &d_dungeon->depth_start, parent, "depth_start", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "dungeon", 1);
|
|
}
|
|
|
|
void
|
|
sfi_edog(nhfp, d_edog, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct edog *d_edog;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "edog";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "edog", 1);
|
|
|
|
sfi_long(nhfp, &d_edog->droptime, parent, "droptime", 1);
|
|
sfi_unsigned(nhfp, &d_edog->dropdist, parent, "dropdist", 1);
|
|
sfi_int(nhfp, &d_edog->apport, parent, "apport", 1);
|
|
sfi_long(nhfp, &d_edog->whistletime, parent, "whistletime", 1);
|
|
sfi_long(nhfp, &d_edog->hungrytime, parent, "hungrytime", 1);
|
|
sfi_nhcoord(nhfp, &d_edog->ogoal, parent, "ogoal", 1);
|
|
sfi_int(nhfp, &d_edog->abuse, parent, "abuse", 1);
|
|
sfi_int(nhfp, &d_edog->revivals, parent, "revivals", 1);
|
|
sfi_int(nhfp, &d_edog->mhpmax_penalty, parent, "mhpmax_penalty", 1);
|
|
bitfield = d_edog->killed_by_u; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "killed_by_u", 1);
|
|
d_edog->killed_by_u = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "edog", 1);
|
|
}
|
|
|
|
void
|
|
sfi_egd(nhfp, d_egd, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct egd *d_egd;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "egd";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "egd", 1);
|
|
|
|
sfi_int(nhfp, &d_egd->fcbeg, parent, "fcbeg", 1);
|
|
sfi_int(nhfp, &d_egd->fcend, parent, "fcend", 1);
|
|
sfi_int(nhfp, &d_egd->vroom, parent, "vroom", 1);
|
|
sfi_xchar(nhfp, &d_egd->gdx, parent, "gdx", 1);
|
|
sfi_xchar(nhfp, &d_egd->gdy, parent, "gdy", 1);
|
|
sfi_xchar(nhfp, &d_egd->ogx, parent, "ogx", 1);
|
|
sfi_xchar(nhfp, &d_egd->ogy, parent, "ogy", 1);
|
|
sfi_d_level(nhfp, &d_egd->gdlevel, parent, "gdlevel", 1);
|
|
sfi_xchar(nhfp, &d_egd->warncnt, parent, "warncnt", 1);
|
|
bitfield = d_egd->gddone; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "gddone", 1);
|
|
d_egd->gddone = bitfield;
|
|
|
|
bitfield = d_egd->witness; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "witness", 2);
|
|
d_egd->witness = bitfield;
|
|
|
|
bitfield = d_egd->unused; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "unused", 5);
|
|
d_egd->unused = bitfield;
|
|
|
|
for (i = 0; i < FCSIZ; ++i)
|
|
sfi_fakecorridor(nhfp, &d_egd->fakecorr[i], parent, "fakecorr", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "egd", 1);
|
|
}
|
|
|
|
void
|
|
sfi_emin(nhfp, d_emin, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct emin *d_emin;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "emin";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "emin", 1);
|
|
|
|
sfi_aligntyp(nhfp, &d_emin->min_align, parent, "min_align", 1);
|
|
sfi_boolean(nhfp, &d_emin->renegade, parent, "renegade", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "emin", 1);
|
|
}
|
|
|
|
void
|
|
sfi_engr(nhfp, d_engr, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct engr *d_engr;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "engr";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "engr", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_engr->nxt_engr, parent, "nxt_engr", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_engr->engr_txt, parent, "engr_txt", 1);
|
|
sfi_xchar(nhfp, &d_engr->engr_x, parent, "engr_x", 1);
|
|
sfi_xchar(nhfp, &d_engr->engr_y, parent, "engr_y", 1);
|
|
sfi_unsigned(nhfp, &d_engr->engr_lth, parent, "engr_lth", 1);
|
|
sfi_long(nhfp, &d_engr->engr_time, parent, "engr_time", 1);
|
|
sfi_xchar(nhfp, &d_engr->engr_type, parent, "engr_type", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "engr", 1);
|
|
}
|
|
|
|
void
|
|
sfi_epri(nhfp, d_epri, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct epri *d_epri;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "epri";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "epri", 1);
|
|
|
|
sfi_aligntyp(nhfp, &d_epri->shralign, parent, "shralign", 1);
|
|
sfi_schar(nhfp, &d_epri->shroom, parent, "shroom", 1);
|
|
sfi_nhcoord(nhfp, &d_epri->shrpos, parent, "shrpos", 1);
|
|
sfi_d_level(nhfp, &d_epri->shrlevel, parent, "shrlevel", 1);
|
|
sfi_long(nhfp, &d_epri->intone_time, parent, "intone_time", 1);
|
|
sfi_long(nhfp, &d_epri->enter_time, parent, "enter_time", 1);
|
|
sfi_long(nhfp, &d_epri->hostile_time, parent, "hostile_time", 1);
|
|
sfi_long(nhfp, &d_epri->peaceful_time, parent, "peaceful_time", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "epri", 1);
|
|
}
|
|
|
|
void
|
|
sfi_eshk(nhfp, d_eshk, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct eshk *d_eshk;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "eshk";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "eshk", 1);
|
|
|
|
sfi_long(nhfp, &d_eshk->robbed, parent, "robbed", 1);
|
|
sfi_long(nhfp, &d_eshk->credit, parent, "credit", 1);
|
|
sfi_long(nhfp, &d_eshk->debit, parent, "debit", 1);
|
|
sfi_long(nhfp, &d_eshk->loan, parent, "loan", 1);
|
|
sfi_int(nhfp, &d_eshk->shoptype, parent, "shoptype", 1);
|
|
sfi_schar(nhfp, &d_eshk->shoproom, parent, "shoproom", 1);
|
|
sfi_schar(nhfp, &d_eshk->unused, parent, "unused", 1);
|
|
sfi_boolean(nhfp, &d_eshk->following, parent, "following", 1);
|
|
sfi_boolean(nhfp, &d_eshk->surcharge, parent, "surcharge", 1);
|
|
sfi_boolean(nhfp, &d_eshk->dismiss_kops, parent, "dismiss_kops", 1);
|
|
sfi_nhcoord(nhfp, &d_eshk->shk, parent, "shk", 1);
|
|
sfi_nhcoord(nhfp, &d_eshk->shd, parent, "shd", 1);
|
|
sfi_d_level(nhfp, &d_eshk->shoplevel, parent, "shoplevel", 1);
|
|
sfi_int(nhfp, &d_eshk->billct, parent, "billct", 1);
|
|
for (i = 0; i < BILLSZ; ++i)
|
|
sfi_bill_x(nhfp, &d_eshk->bill[i], parent, "bill", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_eshk->bill_p, parent, "bill_p", 1);
|
|
sfi_int(nhfp, &d_eshk->visitct, parent, "visitct", 1);
|
|
sfi_char(nhfp, d_eshk->customer, parent, "customer", PL_NSIZ);
|
|
sfi_char(nhfp, d_eshk->shknam, parent, "shknam", PL_NSIZ);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "eshk", 1);
|
|
}
|
|
|
|
void
|
|
sfi_fakecorridor(nhfp, d_fakecorridor, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct fakecorridor *d_fakecorridor;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "fakecorridor";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "fakecorridor", 1);
|
|
|
|
sfi_xchar(nhfp, &d_fakecorridor->fx, parent, "fx", 1);
|
|
sfi_xchar(nhfp, &d_fakecorridor->fy, parent, "fy", 1);
|
|
sfi_xchar(nhfp, &d_fakecorridor->ftyp, parent, "ftyp", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "fakecorridor", 1);
|
|
}
|
|
|
|
void
|
|
sfi_fe(nhfp, d_fe, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct fe *d_fe;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "fe";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "fe", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_fe->next, parent, "next", 1);
|
|
sfi_long(nhfp, &d_fe->timeout, parent, "timeout", 1);
|
|
sfi_ulong(nhfp, &d_fe->tid, parent, "tid", 1);
|
|
sfi_short(nhfp, &d_fe->kind, parent, "kind", 1);
|
|
sfi_short(nhfp, &d_fe->func_index, parent, "func_index", 1);
|
|
sfi_any(nhfp, &d_fe->arg, parent, "arg", 1);
|
|
bitfield = d_fe->needs_fixup; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "needs_fixup", 1);
|
|
d_fe->needs_fixup = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "fe", 1);
|
|
}
|
|
|
|
void
|
|
sfi_flag(nhfp, d_flag, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct flag *d_flag;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "flag";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "flag", 1);
|
|
|
|
sfi_boolean(nhfp, &d_flag->acoustics, parent, "acoustics", 1);
|
|
sfi_boolean(nhfp, &d_flag->autodig, parent, "autodig", 1);
|
|
sfi_boolean(nhfp, &d_flag->autoquiver, parent, "autoquiver", 1);
|
|
sfi_boolean(nhfp, &d_flag->autoopen, parent, "autoopen", 1);
|
|
sfi_boolean(nhfp, &d_flag->beginner, parent, "beginner", 1);
|
|
sfi_boolean(nhfp, &d_flag->biff, parent, "biff", 1);
|
|
sfi_boolean(nhfp, &d_flag->bones, parent, "bones", 1);
|
|
sfi_boolean(nhfp, &d_flag->confirm, parent, "confirm", 1);
|
|
sfi_boolean(nhfp, &d_flag->dark_room, parent, "dark_room", 1);
|
|
sfi_boolean(nhfp, &d_flag->debug, parent, "debug", 1);
|
|
sfi_boolean(nhfp, &d_flag->end_own, parent, "end_own", 1);
|
|
sfi_boolean(nhfp, &d_flag->explore, parent, "explore", 1);
|
|
sfi_boolean(nhfp, &d_flag->female, parent, "female", 1);
|
|
sfi_boolean(nhfp, &d_flag->friday13, parent, "friday13", 1);
|
|
sfi_boolean(nhfp, &d_flag->help, parent, "help", 1);
|
|
sfi_boolean(nhfp, &d_flag->ignintr, parent, "ignintr", 1);
|
|
sfi_boolean(nhfp, &d_flag->ins_chkpt, parent, "ins_chkpt", 1);
|
|
sfi_boolean(nhfp, &d_flag->invlet_constant, parent, "invlet_constant", 1);
|
|
sfi_boolean(nhfp, &d_flag->legacy, parent, "legacy", 1);
|
|
sfi_boolean(nhfp, &d_flag->lit_corridor, parent, "lit_corridor", 1);
|
|
sfi_boolean(nhfp, &d_flag->nap, parent, "nap", 1);
|
|
sfi_boolean(nhfp, &d_flag->null, parent, "null", 1);
|
|
sfi_boolean(nhfp, &d_flag->p__obsolete, parent, "p__obsolete", 1);
|
|
sfi_boolean(nhfp, &d_flag->pickup, parent, "pickup", 1);
|
|
sfi_boolean(nhfp, &d_flag->pickup_thrown, parent, "pickup_thrown", 1);
|
|
sfi_boolean(nhfp, &d_flag->pushweapon, parent, "pushweapon", 1);
|
|
sfi_boolean(nhfp, &d_flag->rest_on_space, parent, "rest_on_space", 1);
|
|
sfi_boolean(nhfp, &d_flag->safe_dog, parent, "safe_dog", 1);
|
|
sfi_boolean(nhfp, &d_flag->showexp, parent, "showexp", 1);
|
|
sfi_boolean(nhfp, &d_flag->showscore, parent, "showscore", 1);
|
|
sfi_boolean(nhfp, &d_flag->silent, parent, "silent", 1);
|
|
sfi_boolean(nhfp, &d_flag->sortpack, parent, "sortpack", 1);
|
|
sfi_boolean(nhfp, &d_flag->sparkle, parent, "sparkle", 1);
|
|
sfi_boolean(nhfp, &d_flag->standout, parent, "standout", 1);
|
|
sfi_boolean(nhfp, &d_flag->time, parent, "time", 1);
|
|
sfi_boolean(nhfp, &d_flag->tombstone, parent, "tombstone", 1);
|
|
sfi_boolean(nhfp, &d_flag->verbose, parent, "verbose", 1);
|
|
sfi_int(nhfp, &d_flag->end_top, parent, "end_top", 1);
|
|
sfi_int(nhfp, &d_flag->end_around, parent, "end_around", 1);
|
|
sfi_unsigned(nhfp, &d_flag->moonphase, parent, "moonphase", 1);
|
|
sfi_ulong(nhfp, &d_flag->suppress_alert, parent, "suppress_alert", 1);
|
|
sfi_unsigned(nhfp, &d_flag->paranoia_bits, parent, "paranoia_bits", 1);
|
|
sfi_int(nhfp, &d_flag->pickup_burden, parent, "pickup_burden", 1);
|
|
sfi_int(nhfp, &d_flag->pile_limit, parent, "pile_limit", 1);
|
|
sfi_char(nhfp, &d_flag->sortloot, parent, "sortloot", 1);
|
|
sfi_char(nhfp, d_flag->inv_order, parent, "inv_order", MAXOCLASSES);
|
|
sfi_char(nhfp, d_flag->pickup_types, parent, "pickup_types", MAXOCLASSES);
|
|
sfi_char(nhfp, d_flag->end_disclose, parent, "end_disclose", NUM_DISCLOSURE_OPTIONS + 1);
|
|
sfi_char(nhfp, &d_flag->menu_style, parent, "menu_style", 1);
|
|
sfi_boolean(nhfp, &d_flag->made_fruit, parent, "made_fruit", 1);
|
|
sfi_int(nhfp, &d_flag->initrole, parent, "initrole", 1);
|
|
sfi_int(nhfp, &d_flag->initrace, parent, "initrace", 1);
|
|
sfi_int(nhfp, &d_flag->initgend, parent, "initgend", 1);
|
|
sfi_int(nhfp, &d_flag->initalign, parent, "initalign", 1);
|
|
sfi_int(nhfp, &d_flag->randomall, parent, "randomall", 1);
|
|
sfi_int(nhfp, &d_flag->pantheon, parent, "pantheon", 1);
|
|
sfi_boolean(nhfp, &d_flag->lootabc, parent, "lootabc", 1);
|
|
sfi_boolean(nhfp, &d_flag->showrace, parent, "showrace", 1);
|
|
sfi_boolean(nhfp, &d_flag->travelcmd, parent, "travelcmd", 1);
|
|
sfi_int(nhfp, &d_flag->runmode, parent, "runmode", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "flag", 1);
|
|
}
|
|
|
|
void
|
|
sfi_fruit(nhfp, d_fruit, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct fruit *d_fruit;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "fruit";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "fruit", 1);
|
|
|
|
sfi_char(nhfp, d_fruit->fname, parent, "fname", PL_FSIZ);
|
|
sfi_int(nhfp, &d_fruit->fid, parent, "fid", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_fruit->nextf, parent, "nextf", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "fruit", 1);
|
|
}
|
|
|
|
void
|
|
sfi_kinfo(nhfp, d_kinfo, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct kinfo *d_kinfo;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "kinfo";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "kinfo", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_kinfo->next, parent, "next", 1);
|
|
sfi_int(nhfp, &d_kinfo->id, parent, "id", 1);
|
|
sfi_int(nhfp, &d_kinfo->format, parent, "format", 1);
|
|
sfi_char(nhfp, d_kinfo->name, parent, "name", BUFSZ);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "kinfo", 1);
|
|
}
|
|
|
|
void
|
|
sfi_levelflags(nhfp, d_levelflags, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct levelflags *d_levelflags;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "levelflags";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "levelflags", 1);
|
|
|
|
sfi_uchar(nhfp, &d_levelflags->nfountains, parent, "nfountains", 1);
|
|
sfi_uchar(nhfp, &d_levelflags->nsinks, parent, "nsinks", 1);
|
|
bitfield = d_levelflags->has_shop; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_shop", 1);
|
|
d_levelflags->has_shop = bitfield;
|
|
|
|
bitfield = d_levelflags->has_vault; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_vault", 1);
|
|
d_levelflags->has_vault = bitfield;
|
|
|
|
bitfield = d_levelflags->has_zoo; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_zoo", 1);
|
|
d_levelflags->has_zoo = bitfield;
|
|
|
|
bitfield = d_levelflags->has_court; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_court", 1);
|
|
d_levelflags->has_court = bitfield;
|
|
|
|
bitfield = d_levelflags->has_morgue; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_morgue", 1);
|
|
d_levelflags->has_morgue = bitfield;
|
|
|
|
bitfield = d_levelflags->has_beehive; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_beehive", 1);
|
|
d_levelflags->has_beehive = bitfield;
|
|
|
|
bitfield = d_levelflags->has_barracks; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_barracks", 1);
|
|
d_levelflags->has_barracks = bitfield;
|
|
|
|
bitfield = d_levelflags->has_temple; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_temple", 1);
|
|
d_levelflags->has_temple = bitfield;
|
|
|
|
bitfield = d_levelflags->has_swamp; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "has_swamp", 1);
|
|
d_levelflags->has_swamp = bitfield;
|
|
|
|
bitfield = d_levelflags->noteleport; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "noteleport", 1);
|
|
d_levelflags->noteleport = bitfield;
|
|
|
|
bitfield = d_levelflags->hardfloor; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "hardfloor", 1);
|
|
d_levelflags->hardfloor = bitfield;
|
|
|
|
bitfield = d_levelflags->nommap; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "nommap", 1);
|
|
d_levelflags->nommap = bitfield;
|
|
|
|
bitfield = d_levelflags->hero_memory; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "hero_memory", 1);
|
|
d_levelflags->hero_memory = bitfield;
|
|
|
|
bitfield = d_levelflags->shortsighted; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "shortsighted", 1);
|
|
d_levelflags->shortsighted = bitfield;
|
|
|
|
bitfield = d_levelflags->graveyard; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "graveyard", 1);
|
|
d_levelflags->graveyard = bitfield;
|
|
|
|
bitfield = d_levelflags->sokoban_rules; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "sokoban_rules", 1);
|
|
d_levelflags->sokoban_rules = bitfield;
|
|
|
|
bitfield = d_levelflags->is_maze_lev; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "is_maze_lev", 1);
|
|
d_levelflags->is_maze_lev = bitfield;
|
|
|
|
bitfield = d_levelflags->is_cavernous_lev; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "is_cavernous_lev", 1);
|
|
d_levelflags->is_cavernous_lev = bitfield;
|
|
|
|
bitfield = d_levelflags->arboreal; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "arboreal", 1);
|
|
d_levelflags->arboreal = bitfield;
|
|
|
|
bitfield = d_levelflags->wizard_bones; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "wizard_bones", 1);
|
|
d_levelflags->wizard_bones = bitfield;
|
|
|
|
bitfield = d_levelflags->corrmaze; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "corrmaze", 1);
|
|
d_levelflags->corrmaze = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "levelflags", 1);
|
|
}
|
|
|
|
void
|
|
sfi_linfo(nhfp, d_linfo, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct linfo *d_linfo;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "linfo";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "linfo", 1);
|
|
|
|
sfi_uchar(nhfp, &d_linfo->flags, parent, "flags", 1);
|
|
#ifdef MFLOPPY
|
|
sfi_int(nhfp, &d_linfo->where, parent, "where", 1);
|
|
sfi_long(nhfp, &d_linfo->time, parent, "time", 1);
|
|
sfi_long(nhfp, &d_linfo->size, parent, "size", 1);
|
|
#endif /*MFLOPPY*/
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "linfo", 1);
|
|
}
|
|
|
|
void
|
|
sfi_ls_t(nhfp, d_ls_t, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct ls_t *d_ls_t;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "ls_t";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "ls_t", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_ls_t->next, parent, "next", 1);
|
|
sfi_xchar(nhfp, &d_ls_t->x, parent, "x", 1);
|
|
sfi_xchar(nhfp, &d_ls_t->y, parent, "y", 1);
|
|
sfi_short(nhfp, &d_ls_t->range, parent, "range", 1);
|
|
sfi_short(nhfp, &d_ls_t->flags, parent, "flags", 1);
|
|
sfi_short(nhfp, &d_ls_t->type, parent, "type", 1);
|
|
sfi_any(nhfp, &d_ls_t->id, parent, "id", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "ls_t", 1);
|
|
}
|
|
|
|
void
|
|
sfi_mapseen_feat(nhfp, d_mapseen_feat, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mapseen_feat *d_mapseen_feat;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mapseen_feat";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "mapseen_feat", 1);
|
|
|
|
bitfield = d_mapseen_feat->nfount; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "nfount", 2);
|
|
d_mapseen_feat->nfount = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->nsink; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "nsink", 2);
|
|
d_mapseen_feat->nsink = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->naltar; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "naltar", 2);
|
|
d_mapseen_feat->naltar = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->nthrone; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "nthrone", 2);
|
|
d_mapseen_feat->nthrone = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->ngrave; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ngrave", 2);
|
|
d_mapseen_feat->ngrave = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->ntree; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ntree", 2);
|
|
d_mapseen_feat->ntree = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->water; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "water", 2);
|
|
d_mapseen_feat->water = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->lava; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "lava", 2);
|
|
d_mapseen_feat->lava = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->ice; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ice", 2);
|
|
d_mapseen_feat->ice = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->nshop; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "nshop", 2);
|
|
d_mapseen_feat->nshop = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->ntemple; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ntemple", 2);
|
|
d_mapseen_feat->ntemple = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->msalign; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "msalign", 2);
|
|
d_mapseen_feat->msalign = bitfield;
|
|
|
|
bitfield = d_mapseen_feat->shoptype; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "shoptype", 5);
|
|
d_mapseen_feat->shoptype = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "mapseen_feat", 1);
|
|
}
|
|
|
|
void
|
|
sfi_mapseen_flags(nhfp, d_mapseen_flags, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mapseen_flags *d_mapseen_flags;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mapseen_flags";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "mapseen_flags", 1);
|
|
|
|
bitfield = d_mapseen_flags->unreachable; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "unreachable", 1);
|
|
d_mapseen_flags->unreachable = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->forgot; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "forgot", 1);
|
|
d_mapseen_flags->forgot = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->knownbones; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "knownbones", 1);
|
|
d_mapseen_flags->knownbones = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->oracle; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oracle", 1);
|
|
d_mapseen_flags->oracle = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->sokosolved; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "sokosolved", 1);
|
|
d_mapseen_flags->sokosolved = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->bigroom; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "bigroom", 1);
|
|
d_mapseen_flags->bigroom = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->castle; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "castle", 1);
|
|
d_mapseen_flags->castle = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->castletune; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "castletune", 1);
|
|
d_mapseen_flags->castletune = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->valley; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "valley", 1);
|
|
d_mapseen_flags->valley = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->msanctum; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "msanctum", 1);
|
|
d_mapseen_flags->msanctum = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->ludios; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ludios", 1);
|
|
d_mapseen_flags->ludios = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->roguelevel; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "roguelevel", 1);
|
|
d_mapseen_flags->roguelevel = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->quest_summons; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "quest_summons", 1);
|
|
d_mapseen_flags->quest_summons = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->questing; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "questing", 1);
|
|
d_mapseen_flags->questing = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->vibrating_square; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "vibrating_square", 1);
|
|
d_mapseen_flags->vibrating_square = bitfield;
|
|
|
|
bitfield = d_mapseen_flags->spare1; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "spare1", 1);
|
|
d_mapseen_flags->spare1 = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "mapseen_flags", 1);
|
|
}
|
|
|
|
void
|
|
sfi_mapseen_rooms(nhfp, d_mapseen_rooms, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mapseen_rooms *d_mapseen_rooms;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mapseen_rooms";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "mapseen_rooms", 1);
|
|
|
|
bitfield = d_mapseen_rooms->seen; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "seen", 1);
|
|
d_mapseen_rooms->seen = bitfield;
|
|
|
|
bitfield = d_mapseen_rooms->untended; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "untended", 1);
|
|
d_mapseen_rooms->untended = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "mapseen_rooms", 1);
|
|
}
|
|
|
|
void
|
|
sfi_mapseen(nhfp, d_mapseen, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mapseen *d_mapseen;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mapseen";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "mapseen", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_mapseen->next, parent, "next", 1);
|
|
sfi_branch(nhfp, d_mapseen->br, parent, "br", 1);
|
|
sfi_d_level(nhfp, &d_mapseen->lev, parent, "lev", 1);
|
|
sfi_mapseen_feat(nhfp, &d_mapseen->feat, parent, "feat", 1);
|
|
sfi_mapseen_flags(nhfp, &d_mapseen->flags, parent, "flags", 1);
|
|
sfi_char(nhfp, d_mapseen->custom, parent, "custom", 1);
|
|
sfi_unsigned(nhfp, &d_mapseen->custom_lth, parent, "custom_lth", 1);
|
|
for (i = 0; i < (MAXNROFROOMS + 1) * 2; ++i)
|
|
sfi_mapseen_rooms(nhfp, &d_mapseen->msrooms[i], parent, "msrooms", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_mapseen->final_resting_place, parent, "final_resting_place", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "mapseen", 1);
|
|
}
|
|
|
|
void
|
|
sfi_mextra(nhfp, d_mextra, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mextra *d_mextra;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mextra";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "mextra", 1);
|
|
|
|
sfi_char(nhfp, d_mextra->mname, parent, "mname", 1);
|
|
sfi_egd(nhfp, d_mextra->egd, parent, "egd", 1);
|
|
sfi_epri(nhfp, d_mextra->epri, parent, "epri", 1);
|
|
sfi_eshk(nhfp, d_mextra->eshk, parent, "eshk", 1);
|
|
sfi_emin(nhfp, d_mextra->emin, parent, "emin", 1);
|
|
sfi_edog(nhfp, d_mextra->edog, parent, "edog", 1);
|
|
sfi_int(nhfp, &d_mextra->mcorpsenm, parent, "mcorpsenm", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "mextra", 1);
|
|
}
|
|
|
|
void
|
|
sfi_mkroom(nhfp, d_mkroom, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mkroom *d_mkroom;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mkroom";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "mkroom", 1);
|
|
|
|
sfi_schar(nhfp, &d_mkroom->lx, parent, "lx", 1);
|
|
sfi_schar(nhfp, &d_mkroom->hx, parent, "hx", 1);
|
|
sfi_schar(nhfp, &d_mkroom->ly, parent, "ly", 1);
|
|
sfi_schar(nhfp, &d_mkroom->hy, parent, "hy", 1);
|
|
sfi_schar(nhfp, &d_mkroom->rtype, parent, "rtype", 1);
|
|
sfi_schar(nhfp, &d_mkroom->orig_rtype, parent, "orig_rtype", 1);
|
|
sfi_schar(nhfp, &d_mkroom->rlit, parent, "rlit", 1);
|
|
sfi_schar(nhfp, &d_mkroom->needfill, parent, "needfill", 1);
|
|
sfi_schar(nhfp, &d_mkroom->needjoining, parent, "needjoining", 1);
|
|
sfi_schar(nhfp, &d_mkroom->doorct, parent, "doorct", 1);
|
|
sfi_schar(nhfp, &d_mkroom->fdoor, parent, "fdoor", 1);
|
|
sfi_schar(nhfp, &d_mkroom->nsubrooms, parent, "nsubrooms", 1);
|
|
sfi_boolean(nhfp, &d_mkroom->irregular, parent, "irregular", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_mkroom->sbrooms[0], parent, "sbrooms", MAX_SUBROOMS);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_mkroom->resident, parent, "resident", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "mkroom", 1);
|
|
}
|
|
|
|
void
|
|
sfi_monst(nhfp, d_monst, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct monst *d_monst;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "monst";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "monst", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_monst->nmon, parent, "nmon", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_monst->data, parent, "data", 1);
|
|
sfi_unsigned(nhfp, &d_monst->m_id, parent, "m_id", 1);
|
|
sfi_short(nhfp, &d_monst->mnum, parent, "mnum", 1);
|
|
sfi_short(nhfp, &d_monst->cham, parent, "cham", 1);
|
|
sfi_short(nhfp, &d_monst->movement, parent, "movement", 1);
|
|
sfi_uchar(nhfp, &d_monst->m_lev, parent, "m_lev", 1);
|
|
sfi_aligntyp(nhfp, &d_monst->malign, parent, "malign", 1);
|
|
sfi_xchar(nhfp, &d_monst->mx, parent, "mx", 1);
|
|
sfi_xchar(nhfp, &d_monst->my, parent, "my", 1);
|
|
sfi_xchar(nhfp, &d_monst->mux, parent, "mux", 1);
|
|
sfi_xchar(nhfp, &d_monst->muy, parent, "muy", 1);
|
|
for (i = 0; i < MTSZ; ++i)
|
|
sfi_nhcoord(nhfp, &d_monst->mtrack[i], parent, "mtrack", 1);
|
|
sfi_int(nhfp, &d_monst->mhp, parent, "mhp", 1);
|
|
sfi_int(nhfp, &d_monst->mhpmax, parent, "mhpmax", 1);
|
|
sfi_unsigned(nhfp, &d_monst->mappearance, parent, "mappearance", 1);
|
|
sfi_uchar(nhfp, &d_monst->m_ap_type, parent, "m_ap_type", 1);
|
|
sfi_schar(nhfp, &d_monst->mtame, parent, "mtame", 1);
|
|
sfi_ushort(nhfp, &d_monst->mextrinsics, parent, "mextrinsics", 1);
|
|
sfi_int(nhfp, &d_monst->mspec_used, parent, "mspec_used", 1);
|
|
bitfield = d_monst->female; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "female", 1);
|
|
d_monst->female = bitfield;
|
|
|
|
bitfield = d_monst->minvis; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "minvis", 1);
|
|
d_monst->minvis = bitfield;
|
|
|
|
bitfield = d_monst->invis_blkd; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "invis_blkd", 1);
|
|
d_monst->invis_blkd = bitfield;
|
|
|
|
bitfield = d_monst->perminvis; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "perminvis", 1);
|
|
d_monst->perminvis = bitfield;
|
|
|
|
bitfield = d_monst->mcan; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mcan", 1);
|
|
d_monst->mcan = bitfield;
|
|
|
|
bitfield = d_monst->mburied; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mburied", 1);
|
|
d_monst->mburied = bitfield;
|
|
|
|
bitfield = d_monst->mundetected; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mundetected", 1);
|
|
d_monst->mundetected = bitfield;
|
|
|
|
bitfield = d_monst->mcansee; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mcansee", 1);
|
|
d_monst->mcansee = bitfield;
|
|
|
|
bitfield = d_monst->mspeed; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mspeed", 2);
|
|
d_monst->mspeed = bitfield;
|
|
|
|
bitfield = d_monst->permspeed; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "permspeed", 2);
|
|
d_monst->permspeed = bitfield;
|
|
|
|
bitfield = d_monst->mrevived; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mrevived", 1);
|
|
d_monst->mrevived = bitfield;
|
|
|
|
bitfield = d_monst->mcloned; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mcloned", 1);
|
|
d_monst->mcloned = bitfield;
|
|
|
|
bitfield = d_monst->mavenge; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mavenge", 1);
|
|
d_monst->mavenge = bitfield;
|
|
|
|
bitfield = d_monst->mflee; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mflee", 1);
|
|
d_monst->mflee = bitfield;
|
|
|
|
bitfield = d_monst->mfleetim; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mfleetim", 7);
|
|
d_monst->mfleetim = bitfield;
|
|
|
|
bitfield = d_monst->msleeping; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "msleeping", 1);
|
|
d_monst->msleeping = bitfield;
|
|
|
|
bitfield = d_monst->mblinded; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mblinded", 7);
|
|
d_monst->mblinded = bitfield;
|
|
|
|
bitfield = d_monst->mstun; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mstun", 1);
|
|
d_monst->mstun = bitfield;
|
|
|
|
bitfield = d_monst->mfrozen; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mfrozen", 7);
|
|
d_monst->mfrozen = bitfield;
|
|
|
|
bitfield = d_monst->mcanmove; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mcanmove", 1);
|
|
d_monst->mcanmove = bitfield;
|
|
|
|
bitfield = d_monst->mconf; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mconf", 1);
|
|
d_monst->mconf = bitfield;
|
|
|
|
bitfield = d_monst->mpeaceful; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mpeaceful", 1);
|
|
d_monst->mpeaceful = bitfield;
|
|
|
|
bitfield = d_monst->mtrapped; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mtrapped", 1);
|
|
d_monst->mtrapped = bitfield;
|
|
|
|
bitfield = d_monst->mleashed; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mleashed", 1);
|
|
d_monst->mleashed = bitfield;
|
|
|
|
bitfield = d_monst->isshk; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "isshk", 1);
|
|
d_monst->isshk = bitfield;
|
|
|
|
bitfield = d_monst->isminion; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "isminion", 1);
|
|
d_monst->isminion = bitfield;
|
|
|
|
bitfield = d_monst->isgd; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "isgd", 1);
|
|
d_monst->isgd = bitfield;
|
|
|
|
bitfield = d_monst->ispriest; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ispriest", 1);
|
|
d_monst->ispriest = bitfield;
|
|
|
|
bitfield = d_monst->iswiz; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "iswiz", 1);
|
|
d_monst->iswiz = bitfield;
|
|
|
|
bitfield = d_monst->wormno; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "wormno", 5);
|
|
d_monst->wormno = bitfield;
|
|
|
|
bitfield = d_monst->mtemplit; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mtemplit", 1);
|
|
d_monst->mtemplit = bitfield;
|
|
|
|
sfi_ulong(nhfp, &d_monst->mstrategy, parent, "mstrategy", 1);
|
|
sfi_long(nhfp, &d_monst->mtrapseen, parent, "mtrapseen", 1);
|
|
sfi_long(nhfp, &d_monst->mlstmv, parent, "mlstmv", 1);
|
|
sfi_long(nhfp, &d_monst->mspare1, parent, "mspare1", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_monst->minvent, parent, "minvent", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_monst->mw, parent, "mw", 1);
|
|
sfi_long(nhfp, &d_monst->misc_worn_check, parent, "misc_worn_check", 1);
|
|
sfi_xchar(nhfp, &d_monst->weapon_check, parent, "weapon_check", 1);
|
|
sfi_int(nhfp, &d_monst->meating, parent, "meating", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_monst->mextra, parent, "mextra", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "monst", 1);
|
|
}
|
|
|
|
void
|
|
sfi_mvitals(nhfp, d_mvitals, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct mvitals *d_mvitals;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "mvitals";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "mvitals", 1);
|
|
|
|
sfi_uchar(nhfp, &d_mvitals->born, parent, "born", 1);
|
|
sfi_uchar(nhfp, &d_mvitals->died, parent, "died", 1);
|
|
sfi_uchar(nhfp, &d_mvitals->mvflags, parent, "mvflags", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "mvitals", 1);
|
|
}
|
|
|
|
void
|
|
sfi_nhcoord(nhfp, d_nhcoord, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct nhcoord *d_nhcoord;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "nhcoord";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "nhcoord", 1);
|
|
|
|
sfi_xchar(nhfp, &d_nhcoord->x, parent, "x", 1);
|
|
sfi_xchar(nhfp, &d_nhcoord->y, parent, "y", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "nhcoord", 1);
|
|
}
|
|
|
|
void
|
|
sfi_nhrect(nhfp, d_nhrect, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct nhrect *d_nhrect;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "nhrect";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "nhrect", 1);
|
|
|
|
sfi_xchar(nhfp, &d_nhrect->lx, parent, "lx", 1);
|
|
sfi_xchar(nhfp, &d_nhrect->ly, parent, "ly", 1);
|
|
sfi_xchar(nhfp, &d_nhrect->hx, parent, "hx", 1);
|
|
sfi_xchar(nhfp, &d_nhrect->hy, parent, "hy", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "nhrect", 1);
|
|
}
|
|
|
|
void
|
|
sfi_novel_tracking(nhfp, d_novel_tracking, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct novel_tracking *d_novel_tracking;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "novel_tracking";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "novel_tracking", 1);
|
|
|
|
sfi_unsigned(nhfp, &d_novel_tracking->id, parent, "id", 1);
|
|
sfi_int(nhfp, &d_novel_tracking->count, parent, "count", 1);
|
|
sfi_xchar(nhfp, d_novel_tracking->pasg, parent, "pasg", 30);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "novel_tracking", 1);
|
|
}
|
|
|
|
void
|
|
sfi_obj(nhfp, d_obj, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct obj *d_obj;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "obj";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "obj", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_obj->nobj, parent, "nobj", 1);
|
|
sfi_vptrs(nhfp, &d_obj->v, parent, "v", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_obj->cobj, parent, "cobj", 1);
|
|
sfi_unsigned(nhfp, &d_obj->o_id, parent, "o_id", 1);
|
|
sfi_xchar(nhfp, &d_obj->ox, parent, "ox", 1);
|
|
sfi_xchar(nhfp, &d_obj->oy, parent, "oy", 1);
|
|
sfi_short(nhfp, &d_obj->otyp, parent, "otyp", 1);
|
|
sfi_unsigned(nhfp, &d_obj->owt, parent, "owt", 1);
|
|
sfi_long(nhfp, &d_obj->quan, parent, "quan", 1);
|
|
sfi_schar(nhfp, &d_obj->spe, parent, "spe", 1);
|
|
sfi_char(nhfp, &d_obj->oclass, parent, "oclass", 1);
|
|
sfi_char(nhfp, &d_obj->invlet, parent, "invlet", 1);
|
|
sfi_char(nhfp, &d_obj->oartifact, parent, "oartifact", 1);
|
|
sfi_xchar(nhfp, &d_obj->where, parent, "where", 1);
|
|
sfi_xchar(nhfp, &d_obj->timed, parent, "timed", 1);
|
|
bitfield = d_obj->cursed; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "cursed", 1);
|
|
d_obj->cursed = bitfield;
|
|
|
|
bitfield = d_obj->blessed; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "blessed", 1);
|
|
d_obj->blessed = bitfield;
|
|
|
|
bitfield = d_obj->unpaid; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "unpaid", 1);
|
|
d_obj->unpaid = bitfield;
|
|
|
|
bitfield = d_obj->no_charge; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "no_charge", 1);
|
|
d_obj->no_charge = bitfield;
|
|
|
|
bitfield = d_obj->known; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "known", 1);
|
|
d_obj->known = bitfield;
|
|
|
|
bitfield = d_obj->dknown; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "dknown", 1);
|
|
d_obj->dknown = bitfield;
|
|
|
|
bitfield = d_obj->bknown; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "bknown", 1);
|
|
d_obj->bknown = bitfield;
|
|
|
|
bitfield = d_obj->rknown; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "rknown", 1);
|
|
d_obj->rknown = bitfield;
|
|
|
|
bitfield = d_obj->oeroded; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oeroded", 2);
|
|
d_obj->oeroded = bitfield;
|
|
|
|
bitfield = d_obj->oeroded2; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oeroded2", 2);
|
|
d_obj->oeroded2 = bitfield;
|
|
|
|
bitfield = d_obj->oerodeproof; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oerodeproof", 1);
|
|
d_obj->oerodeproof = bitfield;
|
|
|
|
bitfield = d_obj->olocked; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "olocked", 1);
|
|
d_obj->olocked = bitfield;
|
|
|
|
bitfield = d_obj->obroken; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "obroken", 1);
|
|
d_obj->obroken = bitfield;
|
|
|
|
bitfield = d_obj->otrapped; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "otrapped", 1);
|
|
d_obj->otrapped = bitfield;
|
|
|
|
bitfield = d_obj->recharged; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "recharged", 3);
|
|
d_obj->recharged = bitfield;
|
|
|
|
bitfield = d_obj->lamplit; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "lamplit", 1);
|
|
d_obj->lamplit = bitfield;
|
|
|
|
bitfield = d_obj->globby; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "globby", 1);
|
|
d_obj->globby = bitfield;
|
|
|
|
bitfield = d_obj->greased; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "greased", 1);
|
|
d_obj->greased = bitfield;
|
|
|
|
bitfield = d_obj->nomerge; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "nomerge", 1);
|
|
d_obj->nomerge = bitfield;
|
|
|
|
bitfield = d_obj->was_thrown; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "was_thrown", 1);
|
|
d_obj->was_thrown = bitfield;
|
|
|
|
bitfield = d_obj->in_use; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "in_use", 1);
|
|
d_obj->in_use = bitfield;
|
|
|
|
bitfield = d_obj->bypass; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "bypass", 1);
|
|
d_obj->bypass = bitfield;
|
|
|
|
bitfield = d_obj->cknown; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "cknown", 1);
|
|
d_obj->cknown = bitfield;
|
|
|
|
bitfield = d_obj->lknown; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "lknown", 1);
|
|
d_obj->lknown = bitfield;
|
|
|
|
sfi_int(nhfp, &d_obj->corpsenm, parent, "corpsenm", 1);
|
|
sfi_int(nhfp, &d_obj->usecount, parent, "usecount", 1);
|
|
sfi_unsigned(nhfp, &d_obj->oeaten, parent, "oeaten", 1);
|
|
sfi_long(nhfp, &d_obj->age, parent, "age", 1);
|
|
sfi_long(nhfp, &d_obj->owornmask, parent, "owornmask", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_obj->oextra, parent, "oextra", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "obj", 1);
|
|
}
|
|
|
|
void
|
|
sfi_objclass(nhfp, d_objclass, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct objclass *d_objclass;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "objclass";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "objclass", 1);
|
|
|
|
sfi_short(nhfp, &d_objclass->oc_name_idx, parent, "oc_name_idx", 1);
|
|
sfi_short(nhfp, &d_objclass->oc_descr_idx, parent, "oc_descr_idx", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_objclass->oc_uname, parent, "oc_uname", 1);
|
|
bitfield = d_objclass->oc_name_known; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_name_known", 1);
|
|
d_objclass->oc_name_known = bitfield;
|
|
|
|
bitfield = d_objclass->oc_merge; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_merge", 1);
|
|
d_objclass->oc_merge = bitfield;
|
|
|
|
bitfield = d_objclass->oc_uses_known; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_uses_known", 1);
|
|
d_objclass->oc_uses_known = bitfield;
|
|
|
|
bitfield = d_objclass->oc_pre_discovered; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_pre_discovered", 1);
|
|
d_objclass->oc_pre_discovered = bitfield;
|
|
|
|
bitfield = d_objclass->oc_magic; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_magic", 1);
|
|
d_objclass->oc_magic = bitfield;
|
|
|
|
bitfield = d_objclass->oc_charged; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_charged", 1);
|
|
d_objclass->oc_charged = bitfield;
|
|
|
|
bitfield = d_objclass->oc_unique; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_unique", 1);
|
|
d_objclass->oc_unique = bitfield;
|
|
|
|
bitfield = d_objclass->oc_nowish; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_nowish", 1);
|
|
d_objclass->oc_nowish = bitfield;
|
|
|
|
bitfield = d_objclass->oc_big; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_big", 1);
|
|
d_objclass->oc_big = bitfield;
|
|
|
|
bitfield = d_objclass->oc_tough; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_tough", 1);
|
|
d_objclass->oc_tough = bitfield;
|
|
|
|
bitfield = d_objclass->oc_dir; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_dir", 2);
|
|
d_objclass->oc_dir = bitfield;
|
|
|
|
bitfield = d_objclass->oc_material; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "oc_material", 5);
|
|
d_objclass->oc_material = bitfield;
|
|
|
|
sfi_schar(nhfp, &d_objclass->oc_subtyp, parent, "oc_subtyp", 1);
|
|
sfi_uchar(nhfp, &d_objclass->oc_oprop, parent, "oc_oprop", 1);
|
|
sfi_char(nhfp, &d_objclass->oc_class, parent, "oc_class", 1);
|
|
sfi_schar(nhfp, &d_objclass->oc_delay, parent, "oc_delay", 1);
|
|
sfi_uchar(nhfp, &d_objclass->oc_color, parent, "oc_color", 1);
|
|
sfi_short(nhfp, &d_objclass->oc_prob, parent, "oc_prob", 1);
|
|
sfi_ushort(nhfp, &d_objclass->oc_weight, parent, "oc_weight", 1);
|
|
sfi_short(nhfp, &d_objclass->oc_cost, parent, "oc_cost", 1);
|
|
sfi_schar(nhfp, &d_objclass->oc_wsdam, parent, "oc_wsdam", 1);
|
|
sfi_schar(nhfp, &d_objclass->oc_wldam, parent, "oc_wldam", 1);
|
|
sfi_schar(nhfp, &d_objclass->oc_oc1, parent, "oc_oc1", 1);
|
|
sfi_schar(nhfp, &d_objclass->oc_oc2, parent, "oc_oc2", 1);
|
|
sfi_ushort(nhfp, &d_objclass->oc_nutrition, parent, "oc_nutrition", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "objclass", 1);
|
|
}
|
|
|
|
void
|
|
sfi_obj_split(nhfp, d_obj_split, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct obj_split *d_obj_split;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "obj_split";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "obj_split", 1);
|
|
|
|
sfi_unsigned(nhfp, &d_obj_split->parent_oid, parent, "parent_oid", 1);
|
|
sfi_unsigned(nhfp, &d_obj_split->child_oid, parent, "child_oid", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "obj_split", 1);
|
|
}
|
|
|
|
void
|
|
sfi_oextra(nhfp, d_oextra, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct oextra *d_oextra;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "oextra";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "oextra", 1);
|
|
|
|
sfi_char(nhfp, d_oextra->oname, parent, "oname", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_oextra->omonst, parent, "omonst", 1);
|
|
sfi_unsigned(nhfp, d_oextra->omid, parent, "omid", 1);
|
|
sfi_long(nhfp, d_oextra->olong, parent, "olong", 1);
|
|
sfi_char(nhfp, d_oextra->omailcmd, parent, "omailcmd", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "oextra", 1);
|
|
}
|
|
|
|
void
|
|
sfi_polearm_info(nhfp, d_polearm_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct polearm_info *d_polearm_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "polearm_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "polearm_info", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_polearm_info->hitmon, parent, "hitmon", 1);
|
|
sfi_unsigned(nhfp, &d_polearm_info->m_id, parent, "m_id", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "polearm_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_prop(nhfp, d_prop, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct prop *d_prop;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "prop";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "prop", 1);
|
|
|
|
sfi_long(nhfp, &d_prop->extrinsic, parent, "extrinsic", 1);
|
|
sfi_long(nhfp, &d_prop->blocked, parent, "blocked", 1);
|
|
sfi_long(nhfp, &d_prop->intrinsic, parent, "intrinsic", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "prop", 1);
|
|
}
|
|
|
|
void
|
|
sfi_q_score(nhfp, d_q_score, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct q_score *d_q_score;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "q_score";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "q_score", 1);
|
|
|
|
bitfield = d_q_score->first_start; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "first_start", 1);
|
|
d_q_score->first_start = bitfield;
|
|
|
|
bitfield = d_q_score->met_leader; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "met_leader", 1);
|
|
d_q_score->met_leader = bitfield;
|
|
|
|
bitfield = d_q_score->not_ready; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "not_ready", 3);
|
|
d_q_score->not_ready = bitfield;
|
|
|
|
bitfield = d_q_score->pissed_off; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "pissed_off", 1);
|
|
d_q_score->pissed_off = bitfield;
|
|
|
|
bitfield = d_q_score->got_quest; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "got_quest", 1);
|
|
d_q_score->got_quest = bitfield;
|
|
|
|
bitfield = d_q_score->first_locate; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "first_locate", 1);
|
|
d_q_score->first_locate = bitfield;
|
|
|
|
bitfield = d_q_score->met_intermed; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "met_intermed", 1);
|
|
d_q_score->met_intermed = bitfield;
|
|
|
|
bitfield = d_q_score->got_final; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "got_final", 1);
|
|
d_q_score->got_final = bitfield;
|
|
|
|
bitfield = d_q_score->made_goal; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "made_goal", 3);
|
|
d_q_score->made_goal = bitfield;
|
|
|
|
bitfield = d_q_score->met_nemesis; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "met_nemesis", 1);
|
|
d_q_score->met_nemesis = bitfield;
|
|
|
|
bitfield = d_q_score->killed_nemesis; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "killed_nemesis", 1);
|
|
d_q_score->killed_nemesis = bitfield;
|
|
|
|
bitfield = d_q_score->in_battle; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "in_battle", 1);
|
|
d_q_score->in_battle = bitfield;
|
|
|
|
bitfield = d_q_score->cheater; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "cheater", 1);
|
|
d_q_score->cheater = bitfield;
|
|
|
|
bitfield = d_q_score->touched_artifact; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "touched_artifact", 1);
|
|
d_q_score->touched_artifact = bitfield;
|
|
|
|
bitfield = d_q_score->offered_artifact; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "offered_artifact", 1);
|
|
d_q_score->offered_artifact = bitfield;
|
|
|
|
bitfield = d_q_score->got_thanks; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "got_thanks", 1);
|
|
d_q_score->got_thanks = bitfield;
|
|
|
|
bitfield = d_q_score->ldrgend; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ldrgend", 2);
|
|
d_q_score->ldrgend = bitfield;
|
|
|
|
bitfield = d_q_score->nemgend; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "nemgend", 2);
|
|
d_q_score->nemgend = bitfield;
|
|
|
|
bitfield = d_q_score->godgend; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "godgend", 2);
|
|
d_q_score->godgend = bitfield;
|
|
|
|
bitfield = d_q_score->leader_is_dead; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "leader_is_dead", 1);
|
|
d_q_score->leader_is_dead = bitfield;
|
|
|
|
sfi_unsigned(nhfp, &d_q_score->leader_m_id, parent, "leader_m_id", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "q_score", 1);
|
|
}
|
|
|
|
void
|
|
sfi_rm(nhfp, d_rm, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct rm *d_rm;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "rm";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "rm", 1);
|
|
|
|
sfi_int(nhfp, &d_rm->glyph, parent, "glyph", 1);
|
|
sfi_schar(nhfp, &d_rm->typ, parent, "typ", 1);
|
|
sfi_uchar(nhfp, &d_rm->seenv, parent, "seenv", 1);
|
|
bitfield = d_rm->flags; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "flags", 5);
|
|
d_rm->flags = bitfield;
|
|
|
|
bitfield = d_rm->horizontal; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "horizontal", 1);
|
|
d_rm->horizontal = bitfield;
|
|
|
|
bitfield = d_rm->lit; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "lit", 1);
|
|
d_rm->lit = bitfield;
|
|
|
|
bitfield = d_rm->waslit; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "waslit", 1);
|
|
d_rm->waslit = bitfield;
|
|
|
|
bitfield = d_rm->roomno; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "roomno", 6);
|
|
d_rm->roomno = bitfield;
|
|
|
|
bitfield = d_rm->edge; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "edge", 1);
|
|
d_rm->edge = bitfield;
|
|
|
|
bitfield = d_rm->candig; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "candig", 1);
|
|
d_rm->candig = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "rm", 1);
|
|
}
|
|
|
|
void
|
|
sfi_s_level(nhfp, d_s_level, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct s_level *d_s_level;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "s_level";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "s_level", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_s_level->next, parent, "next", 1);
|
|
sfi_d_level(nhfp, &d_s_level->dlevel, parent, "dlevel", 1);
|
|
sfi_char(nhfp, d_s_level->proto, parent, "proto", 15);
|
|
sfi_char(nhfp, &d_s_level->boneid, parent, "boneid", 1);
|
|
sfi_uchar(nhfp, &d_s_level->rndlevs, parent, "rndlevs", 1);
|
|
sfi_d_flags(nhfp, &d_s_level->flags, parent, "flags", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "s_level", 1);
|
|
}
|
|
|
|
void
|
|
sfi_savefile_info(nhfp, d_savefile_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct savefile_info *d_savefile_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "savefile_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "savefile_info", 1);
|
|
|
|
sfi_ulong(nhfp, &d_savefile_info->sfi1, parent, "sfi1", 1);
|
|
sfi_ulong(nhfp, &d_savefile_info->sfi2, parent, "sfi2", 1);
|
|
sfi_ulong(nhfp, &d_savefile_info->sfi3, parent, "sfi3", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "savefile_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_skills(nhfp, d_skills, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct skills *d_skills;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "skills";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "skills", 1);
|
|
|
|
sfi_xchar(nhfp, &d_skills->skill, parent, "skill", 1);
|
|
sfi_xchar(nhfp, &d_skills->max_skill, parent, "max_skill", 1);
|
|
sfi_ushort(nhfp, &d_skills->advance, parent, "advance", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "skills", 1);
|
|
}
|
|
|
|
void
|
|
sfi_spell(nhfp, d_spell, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct spell *d_spell;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "spell";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "spell", 1);
|
|
|
|
sfi_short(nhfp, &d_spell->sp_id, parent, "sp_id", 1);
|
|
sfi_xchar(nhfp, &d_spell->sp_lev, parent, "sp_lev", 1);
|
|
sfi_int(nhfp, &d_spell->sp_know, parent, "sp_know", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "spell", 1);
|
|
}
|
|
|
|
void
|
|
sfi_stairway(nhfp, d_stairway, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct stairway *d_stairway;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "stairway";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "stairway", 1);
|
|
|
|
sfi_xchar(nhfp, &d_stairway->sx, parent, "sx", 1);
|
|
sfi_xchar(nhfp, &d_stairway->sy, parent, "sy", 1);
|
|
sfi_d_level(nhfp, &d_stairway->tolev, parent, "tolev", 1);
|
|
sfi_char(nhfp, &d_stairway->up, parent, "up", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "stairway", 1);
|
|
}
|
|
|
|
void
|
|
sfi_takeoff_info(nhfp, d_takeoff_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct takeoff_info *d_takeoff_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "takeoff_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "takeoff_info", 1);
|
|
|
|
sfi_long(nhfp, &d_takeoff_info->mask, parent, "mask", 1);
|
|
sfi_long(nhfp, &d_takeoff_info->what, parent, "what", 1);
|
|
sfi_int(nhfp, &d_takeoff_info->delay, parent, "delay", 1);
|
|
sfi_boolean(nhfp, &d_takeoff_info->cancelled_don, parent, "cancelled_don", 1);
|
|
sfi_char(nhfp, d_takeoff_info->disrobing, parent, "disrobing", CONTEXTVERBSZ + 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "takeoff_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_tin_info(nhfp, d_tin_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct tin_info *d_tin_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "tin_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "tin_info", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_tin_info->tin, parent, "tin", 1);
|
|
sfi_unsigned(nhfp, &d_tin_info->o_id, parent, "o_id", 1);
|
|
sfi_int(nhfp, &d_tin_info->usedtime, parent, "usedtime", 1);
|
|
sfi_int(nhfp, &d_tin_info->reqtime, parent, "reqtime", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "tin_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_trap(nhfp, d_trap, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct trap *d_trap;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "trap";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "trap", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_trap->ntrap, parent, "ntrap", 1);
|
|
sfi_xchar(nhfp, &d_trap->tx, parent, "tx", 1);
|
|
sfi_xchar(nhfp, &d_trap->ty, parent, "ty", 1);
|
|
sfi_d_level(nhfp, &d_trap->dst, parent, "dst", 1);
|
|
sfi_nhcoord(nhfp, &d_trap->launch, parent, "launch", 1);
|
|
bitfield = d_trap->ttyp; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ttyp", 5);
|
|
d_trap->ttyp = bitfield;
|
|
|
|
bitfield = d_trap->tseen; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "tseen", 1);
|
|
d_trap->tseen = bitfield;
|
|
|
|
bitfield = d_trap->once; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "once", 1);
|
|
d_trap->once = bitfield;
|
|
|
|
bitfield = d_trap->madeby_u; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "madeby_u", 1);
|
|
d_trap->madeby_u = bitfield;
|
|
|
|
sfi_vlaunchinfo(nhfp, &d_trap->vl, parent, "vl", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "trap", 1);
|
|
}
|
|
|
|
void
|
|
sfi_tribute_info(nhfp, d_tribute_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct tribute_info *d_tribute_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "tribute_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "tribute_info", 1);
|
|
|
|
sfi_size_t(nhfp, &d_tribute_info->tributesz, parent, "tributesz", 1);
|
|
sfi_boolean(nhfp, &d_tribute_info->enabled, parent, "enabled", 1);
|
|
bitfield = d_tribute_info->bookstock; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "bookstock", 1);
|
|
d_tribute_info->bookstock = bitfield;
|
|
|
|
bitfield = d_tribute_info->Deathnotice; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "Deathnotice", 1);
|
|
d_tribute_info->Deathnotice = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "tribute_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_u_achieve(nhfp, d_u_achieve, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_achieve *d_u_achieve;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_achieve";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "u_achieve", 1);
|
|
|
|
bitfield = d_u_achieve->amulet; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "amulet", 1);
|
|
d_u_achieve->amulet = bitfield;
|
|
|
|
bitfield = d_u_achieve->bell; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "bell", 1);
|
|
d_u_achieve->bell = bitfield;
|
|
|
|
bitfield = d_u_achieve->book; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "book", 1);
|
|
d_u_achieve->book = bitfield;
|
|
|
|
bitfield = d_u_achieve->menorah; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "menorah", 1);
|
|
d_u_achieve->menorah = bitfield;
|
|
|
|
bitfield = d_u_achieve->enter_gehennom; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "enter_gehennom", 1);
|
|
d_u_achieve->enter_gehennom = bitfield;
|
|
|
|
bitfield = d_u_achieve->ascended; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ascended", 1);
|
|
d_u_achieve->ascended = bitfield;
|
|
|
|
bitfield = d_u_achieve->mines_luckstone; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mines_luckstone", 1);
|
|
d_u_achieve->mines_luckstone = bitfield;
|
|
|
|
bitfield = d_u_achieve->finish_sokoban; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "finish_sokoban", 1);
|
|
d_u_achieve->finish_sokoban = bitfield;
|
|
|
|
bitfield = d_u_achieve->killed_medusa; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "killed_medusa", 1);
|
|
d_u_achieve->killed_medusa = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "u_achieve", 1);
|
|
}
|
|
|
|
void
|
|
sfi_u_conduct(nhfp, d_u_conduct, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_conduct *d_u_conduct;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_conduct";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "u_conduct", 1);
|
|
|
|
sfi_long(nhfp, &d_u_conduct->unvegetarian, parent, "unvegetarian", 1);
|
|
sfi_long(nhfp, &d_u_conduct->unvegan, parent, "unvegan", 1);
|
|
sfi_long(nhfp, &d_u_conduct->food, parent, "food", 1);
|
|
sfi_long(nhfp, &d_u_conduct->gnostic, parent, "gnostic", 1);
|
|
sfi_long(nhfp, &d_u_conduct->weaphit, parent, "weaphit", 1);
|
|
sfi_long(nhfp, &d_u_conduct->killer, parent, "killer", 1);
|
|
sfi_long(nhfp, &d_u_conduct->literate, parent, "literate", 1);
|
|
sfi_long(nhfp, &d_u_conduct->polypiles, parent, "polypiles", 1);
|
|
sfi_long(nhfp, &d_u_conduct->polyselfs, parent, "polyselfs", 1);
|
|
sfi_long(nhfp, &d_u_conduct->wishes, parent, "wishes", 1);
|
|
sfi_long(nhfp, &d_u_conduct->wisharti, parent, "wisharti", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "u_conduct", 1);
|
|
}
|
|
|
|
void
|
|
sfi_u_event(nhfp, d_u_event, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_event *d_u_event;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_event";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "u_event", 1);
|
|
|
|
bitfield = d_u_event->minor_oracle; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "minor_oracle", 1);
|
|
d_u_event->minor_oracle = bitfield;
|
|
|
|
bitfield = d_u_event->major_oracle; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "major_oracle", 1);
|
|
d_u_event->major_oracle = bitfield;
|
|
|
|
bitfield = d_u_event->read_tribute; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "read_tribute", 1);
|
|
d_u_event->read_tribute = bitfield;
|
|
|
|
bitfield = d_u_event->qcalled; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "qcalled", 1);
|
|
d_u_event->qcalled = bitfield;
|
|
|
|
bitfield = d_u_event->qexpelled; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "qexpelled", 1);
|
|
d_u_event->qexpelled = bitfield;
|
|
|
|
bitfield = d_u_event->qcompleted; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "qcompleted", 1);
|
|
d_u_event->qcompleted = bitfield;
|
|
|
|
bitfield = d_u_event->uheard_tune; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uheard_tune", 2);
|
|
d_u_event->uheard_tune = bitfield;
|
|
|
|
bitfield = d_u_event->uopened_dbridge; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uopened_dbridge", 1);
|
|
d_u_event->uopened_dbridge = bitfield;
|
|
|
|
bitfield = d_u_event->invoked; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "invoked", 1);
|
|
d_u_event->invoked = bitfield;
|
|
|
|
bitfield = d_u_event->gehennom_entered; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "gehennom_entered", 1);
|
|
d_u_event->gehennom_entered = bitfield;
|
|
|
|
bitfield = d_u_event->uhand_of_elbereth; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uhand_of_elbereth", 2);
|
|
d_u_event->uhand_of_elbereth = bitfield;
|
|
|
|
bitfield = d_u_event->udemigod; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "udemigod", 1);
|
|
d_u_event->udemigod = bitfield;
|
|
|
|
bitfield = d_u_event->uvibrated; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uvibrated", 1);
|
|
d_u_event->uvibrated = bitfield;
|
|
|
|
bitfield = d_u_event->ascended; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "ascended", 1);
|
|
d_u_event->ascended = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "u_event", 1);
|
|
}
|
|
|
|
void
|
|
sfi_u_have(nhfp, d_u_have, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_have *d_u_have;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_have";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "u_have", 1);
|
|
|
|
bitfield = d_u_have->amulet; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "amulet", 1);
|
|
d_u_have->amulet = bitfield;
|
|
|
|
bitfield = d_u_have->bell; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "bell", 1);
|
|
d_u_have->bell = bitfield;
|
|
|
|
bitfield = d_u_have->book; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "book", 1);
|
|
d_u_have->book = bitfield;
|
|
|
|
bitfield = d_u_have->menorah; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "menorah", 1);
|
|
d_u_have->menorah = bitfield;
|
|
|
|
bitfield = d_u_have->questart; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "questart", 1);
|
|
d_u_have->questart = bitfield;
|
|
|
|
bitfield = d_u_have->unused; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "unused", 3);
|
|
d_u_have->unused = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "u_have", 1);
|
|
}
|
|
|
|
void
|
|
sfi_u_realtime(nhfp, d_u_realtime, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_realtime *d_u_realtime;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_realtime";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "u_realtime", 1);
|
|
|
|
sfi_long(nhfp, &d_u_realtime->realtime, parent, "realtime", 1);
|
|
sfi_time_t(nhfp, &d_u_realtime->start_timing, parent, "start_timing", 1);
|
|
sfi_time_t(nhfp, &d_u_realtime->finish_time, parent, "finish_time", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "u_realtime", 1);
|
|
}
|
|
|
|
void
|
|
sfi_u_roleplay(nhfp, d_u_roleplay, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct u_roleplay *d_u_roleplay;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "u_roleplay";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "u_roleplay", 1);
|
|
|
|
sfi_boolean(nhfp, &d_u_roleplay->blind, parent, "blind", 1);
|
|
sfi_boolean(nhfp, &d_u_roleplay->nudist, parent, "nudist", 1);
|
|
sfi_long(nhfp, &d_u_roleplay->numbones, parent, "numbones", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "u_roleplay", 1);
|
|
}
|
|
|
|
void
|
|
sfi_version_info(nhfp, d_version_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct version_info *d_version_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "version_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "version_info", 1);
|
|
|
|
sfi_ulong(nhfp, &d_version_info->incarnation, parent, "incarnation", 1);
|
|
sfi_ulong(nhfp, &d_version_info->feature_set, parent, "feature_set", 1);
|
|
sfi_ulong(nhfp, &d_version_info->entity_count, parent, "entity_count", 1);
|
|
sfi_ulong(nhfp, &d_version_info->struct_sizes1, parent, "struct_sizes1", 1);
|
|
sfi_ulong(nhfp, &d_version_info->struct_sizes2, parent, "struct_sizes2", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "version_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_victual_info(nhfp, d_victual_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct victual_info *d_victual_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "victual_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "victual_info", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_victual_info->piece, parent, "piece", 1);
|
|
sfi_unsigned(nhfp, &d_victual_info->o_id, parent, "o_id", 1);
|
|
sfi_int(nhfp, &d_victual_info->usedtime, parent, "usedtime", 1);
|
|
sfi_int(nhfp, &d_victual_info->reqtime, parent, "reqtime", 1);
|
|
sfi_int(nhfp, &d_victual_info->nmod, parent, "nmod", 1);
|
|
bitfield = d_victual_info->canchoke; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "canchoke", 1);
|
|
d_victual_info->canchoke = bitfield;
|
|
|
|
bitfield = d_victual_info->fullwarn; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "fullwarn", 1);
|
|
d_victual_info->fullwarn = bitfield;
|
|
|
|
bitfield = d_victual_info->eating; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "eating", 1);
|
|
d_victual_info->eating = bitfield;
|
|
|
|
bitfield = d_victual_info->doreset; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "doreset", 1);
|
|
d_victual_info->doreset = bitfield;
|
|
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "victual_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_vlaunchinfo(nhfp, d_vlaunchinfo, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
union vlaunchinfo *d_vlaunchinfo;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "vlaunchinfo";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "vlaunchinfo", 1);
|
|
|
|
sfi_short(nhfp, &d_vlaunchinfo->v_launch_otyp, parent, "v_launch_otyp", 1);
|
|
sfi_nhcoord(nhfp, &d_vlaunchinfo->v_launch2, parent, "v_launch2", 1);
|
|
sfi_uchar(nhfp, &d_vlaunchinfo->v_conjoined, parent, "v_conjoined", 1);
|
|
sfi_short(nhfp, &d_vlaunchinfo->v_tnote, parent, "v_tnote", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "vlaunchinfo", 1);
|
|
}
|
|
|
|
void
|
|
sfi_vptrs(nhfp, d_vptrs, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
union vptrs *d_vptrs;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "vptrs";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "vptrs", 1);
|
|
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_vptrs->v_nexthere, parent, "v_nexthere", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_vptrs->v_ocontainer, parent, "v_ocontainer", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_vptrs->v_ocarry, parent, "v_ocarry", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "vptrs", 1);
|
|
}
|
|
|
|
void
|
|
sfi_warntype_info(nhfp, d_warntype_info, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct warntype_info *d_warntype_info;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "warntype_info";
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "warntype_info", 1);
|
|
|
|
sfi_ulong(nhfp, &d_warntype_info->obj, parent, "obj", 1);
|
|
sfi_ulong(nhfp, &d_warntype_info->polyd, parent, "polyd", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_warntype_info->species, parent, "species", 1);
|
|
sfi_short(nhfp, &d_warntype_info->speciesidx, parent, "speciesidx", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "warntype_info", 1);
|
|
}
|
|
|
|
void
|
|
sfi_you(nhfp, d_you, myparent, myname, cnt)
|
|
NHFILE *nhfp;
|
|
struct you *d_you;
|
|
const char *myparent;
|
|
const char *myname;
|
|
int cnt;
|
|
{
|
|
const char *parent = "you";
|
|
int i;
|
|
|
|
nhUse(myname);
|
|
nhUse(cnt);
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "start", "you", 1);
|
|
|
|
sfi_xchar(nhfp, &d_you->ux, parent, "ux", 1);
|
|
sfi_xchar(nhfp, &d_you->uy, parent, "uy", 1);
|
|
sfi_schar(nhfp, &d_you->dx, parent, "dx", 1);
|
|
sfi_schar(nhfp, &d_you->dy, parent, "dy", 1);
|
|
sfi_schar(nhfp, &d_you->dz, parent, "dz", 1);
|
|
sfi_schar(nhfp, &d_you->di, parent, "di", 1);
|
|
sfi_xchar(nhfp, &d_you->tx, parent, "tx", 1);
|
|
sfi_xchar(nhfp, &d_you->ty, parent, "ty", 1);
|
|
sfi_xchar(nhfp, &d_you->ux0, parent, "ux0", 1);
|
|
sfi_xchar(nhfp, &d_you->uy0, parent, "uy0", 1);
|
|
sfi_d_level(nhfp, &d_you->uz, parent, "uz", 1);
|
|
sfi_d_level(nhfp, &d_you->uz0, parent, "uz0", 1);
|
|
sfi_d_level(nhfp, &d_you->utolev, parent, "utolev", 1);
|
|
sfi_uchar(nhfp, &d_you->utotype, parent, "utotype", 1);
|
|
sfi_boolean(nhfp, &d_you->umoved, parent, "umoved", 1);
|
|
sfi_int(nhfp, &d_you->last_str_turn, parent, "last_str_turn", 1);
|
|
sfi_int(nhfp, &d_you->ulevel, parent, "ulevel", 1);
|
|
sfi_int(nhfp, &d_you->ulevelmax, parent, "ulevelmax", 1);
|
|
sfi_unsigned(nhfp, &d_you->utrap, parent, "utrap", 1);
|
|
sfi_unsigned(nhfp, &d_you->utraptype, parent, "utraptype", 1);
|
|
sfi_char(nhfp, d_you->urooms, parent, "urooms", 5);
|
|
sfi_char(nhfp, d_you->urooms0, parent, "urooms0", 5);
|
|
sfi_char(nhfp, d_you->uentered, parent, "uentered", 5);
|
|
sfi_char(nhfp, d_you->ushops, parent, "ushops", 5);
|
|
sfi_char(nhfp, d_you->ushops0, parent, "ushops0", 5);
|
|
sfi_char(nhfp, d_you->ushops_entered, parent, "ushops_entered", 5);
|
|
sfi_char(nhfp, d_you->ushops_left, parent, "ushops_left", 5);
|
|
sfi_int(nhfp, &d_you->uhunger, parent, "uhunger", 1);
|
|
sfi_unsigned(nhfp, &d_you->uhs, parent, "uhs", 1);
|
|
sfi_prop(nhfp, d_you->uprops, parent, "uprops", LAST_PROP + 1);
|
|
sfi_unsigned(nhfp, &d_you->umconf, parent, "umconf", 1);
|
|
bitfield = d_you->usick_type; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "usick_type", 2);
|
|
d_you->usick_type = bitfield;
|
|
|
|
sfi_int(nhfp, &d_you->nv_range, parent, "nv_range", 1);
|
|
sfi_int(nhfp, &d_you->xray_range, parent, "xray_range", 1);
|
|
sfi_int(nhfp, &d_you->bglyph, parent, "bglyph", 1);
|
|
sfi_int(nhfp, &d_you->cglyph, parent, "cglyph", 1);
|
|
sfi_int(nhfp, &d_you->bc_order, parent, "bc_order", 1);
|
|
sfi_int(nhfp, &d_you->bc_felt, parent, "bc_felt", 1);
|
|
sfi_int(nhfp, &d_you->umonster, parent, "umonster", 1);
|
|
sfi_int(nhfp, &d_you->umonnum, parent, "umonnum", 1);
|
|
sfi_int(nhfp, &d_you->mh, parent, "mh", 1);
|
|
sfi_int(nhfp, &d_you->mhmax, parent, "mhmax", 1);
|
|
sfi_int(nhfp, &d_you->mtimedone, parent, "mtimedone", 1);
|
|
sfi_attribs(nhfp, &d_you->macurr, parent, "macurr", 1);
|
|
sfi_attribs(nhfp, &d_you->mamax, parent, "mamax", 1);
|
|
sfi_int(nhfp, &d_you->ulycn, parent, "ulycn", 1);
|
|
sfi_unsigned(nhfp, &d_you->ucreamed, parent, "ucreamed", 1);
|
|
sfi_unsigned(nhfp, &d_you->uswldtim, parent, "uswldtim", 1);
|
|
bitfield = d_you->uswallow; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uswallow", 1);
|
|
d_you->uswallow = bitfield;
|
|
|
|
bitfield = d_you->uinwater; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uinwater", 1);
|
|
d_you->uinwater = bitfield;
|
|
|
|
bitfield = d_you->uundetected; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uundetected", 1);
|
|
d_you->uundetected = bitfield;
|
|
|
|
bitfield = d_you->mfemale; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "mfemale", 1);
|
|
d_you->mfemale = bitfield;
|
|
|
|
bitfield = d_you->uinvulnerable; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uinvulnerable", 1);
|
|
d_you->uinvulnerable = bitfield;
|
|
|
|
bitfield = d_you->uburied; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uburied", 1);
|
|
d_you->uburied = bitfield;
|
|
|
|
bitfield = d_you->uedibility; /* set it to current value for testing */
|
|
sfi_bitfield(nhfp, &bitfield, parent, "uedibility", 1);
|
|
d_you->uedibility = bitfield;
|
|
|
|
sfi_unsigned(nhfp, &d_you->udg_cnt, parent, "udg_cnt", 1);
|
|
sfi_u_achieve(nhfp, &d_you->uachieve, parent, "uachieve", 1);
|
|
sfi_u_event(nhfp, &d_you->uevent, parent, "uevent", 1);
|
|
sfi_u_have(nhfp, &d_you->uhave, parent, "uhave", 1);
|
|
sfi_u_conduct(nhfp, &d_you->uconduct, parent, "uconduct", 1);
|
|
sfi_u_roleplay(nhfp, &d_you->uroleplay, parent, "uroleplay", 1);
|
|
sfi_attribs(nhfp, &d_you->acurr, parent, "acurr", 1);
|
|
sfi_attribs(nhfp, &d_you->aexe, parent, "aexe", 1);
|
|
sfi_attribs(nhfp, &d_you->abon, parent, "abon", 1);
|
|
sfi_attribs(nhfp, &d_you->amax, parent, "amax", 1);
|
|
sfi_attribs(nhfp, &d_you->atemp, parent, "atemp", 1);
|
|
sfi_attribs(nhfp, &d_you->atime, parent, "atime", 1);
|
|
sfi_align(nhfp, &d_you->ualign, parent, "ualign", 1);
|
|
for (i = 0; i < CONVERT; ++i)
|
|
sfi_aligntyp(nhfp, &d_you->ualignbase[i], parent, "ualignbase", 1);
|
|
sfi_schar(nhfp, &d_you->uluck, parent, "uluck", 1);
|
|
sfi_schar(nhfp, &d_you->moreluck, parent, "moreluck", 1);
|
|
sfi_schar(nhfp, &d_you->uhitinc, parent, "uhitinc", 1);
|
|
sfi_schar(nhfp, &d_you->udaminc, parent, "udaminc", 1);
|
|
sfi_schar(nhfp, &d_you->uac, parent, "uac", 1);
|
|
sfi_uchar(nhfp, &d_you->uspellprot, parent, "uspellprot", 1);
|
|
sfi_uchar(nhfp, &d_you->usptime, parent, "usptime", 1);
|
|
sfi_uchar(nhfp, &d_you->uspmtime, parent, "uspmtime", 1);
|
|
sfi_int(nhfp, &d_you->uhp, parent, "uhp", 1);
|
|
sfi_int(nhfp, &d_you->uhpmax, parent, "uhpmax", 1);
|
|
sfi_int(nhfp, &d_you->uen, parent, "uen", 1);
|
|
sfi_int(nhfp, &d_you->uenmax, parent, "uenmax", 1);
|
|
sfi_xchar(nhfp, d_you->uhpinc, parent, "uhpinc", MAXULEV);
|
|
sfi_xchar(nhfp, d_you->ueninc, parent, "ueninc", MAXULEV);
|
|
sfi_int(nhfp, &d_you->ugangr, parent, "ugangr", 1);
|
|
sfi_int(nhfp, &d_you->ugifts, parent, "ugifts", 1);
|
|
sfi_int(nhfp, &d_you->ublessed, parent, "ublessed", 1);
|
|
sfi_int(nhfp, &d_you->ublesscnt, parent, "ublesscnt", 1);
|
|
sfi_long(nhfp, &d_you->umoney0, parent, "umoney0", 1);
|
|
sfi_long(nhfp, &d_you->uspare1, parent, "uspare1", 1);
|
|
sfi_long(nhfp, &d_you->uexp, parent, "uexp", 1);
|
|
sfi_long(nhfp, &d_you->urexp, parent, "urexp", 1);
|
|
sfi_long(nhfp, &d_you->ucleansed, parent, "ucleansed", 1);
|
|
sfi_long(nhfp, &d_you->usleep, parent, "usleep", 1);
|
|
sfi_int(nhfp, &d_you->uinvault, parent, "uinvault", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_you->ustuck, parent, "ustuck", 1);
|
|
sfi_genericptr(nhfp, (genericptr_t) &d_you->usteed, parent, "usteed", 1);
|
|
sfi_long(nhfp, &d_you->ugallop, parent, "ugallop", 1);
|
|
sfi_int(nhfp, &d_you->urideturns, parent, "urideturns", 1);
|
|
sfi_int(nhfp, &d_you->umortality, parent, "umortality", 1);
|
|
sfi_int(nhfp, &d_you->ugrave_arise, parent, "ugrave_arise", 1);
|
|
sfi_int(nhfp, &d_you->weapon_slots, parent, "weapon_slots", 1);
|
|
sfi_int(nhfp, &d_you->skills_advanced, parent, "skills_advanced", 1);
|
|
sfi_xchar(nhfp, d_you->skill_record, parent, "skill_record", P_SKILL_LIMIT);
|
|
for (i = 0; i < P_NUM_SKILLS; ++i)
|
|
sfi_skills(nhfp, &d_you->weapon_skills[i], parent, "weapon_skills", 1);
|
|
sfi_boolean(nhfp, &d_you->twoweap, parent, "twoweap", 1);
|
|
sfi_short(nhfp, &d_you->mcham, parent, "mcham", 1);
|
|
|
|
if (nhfp->addinfo)
|
|
sfi_addinfo(nhfp, myparent, "end", "you", 1);
|
|
}
|
|
struct nhdatatypes_t nhdatatypes[] = {
|
|
{NHTYPE_SIMPLE, (char *) "any", sizeof(anything)},
|
|
{NHTYPE_SIMPLE, (char *) "genericptr_t", sizeof(genericptr_t)},
|
|
{NHTYPE_SIMPLE, (char *) "aligntyp", sizeof(aligntyp)},
|
|
{NHTYPE_SIMPLE, (char *) "Bitfield", sizeof(uint8_t)},
|
|
{NHTYPE_SIMPLE, (char *) "boolean", sizeof(boolean)},
|
|
{NHTYPE_SIMPLE, (char *) "char", sizeof(char)},
|
|
{NHTYPE_SIMPLE, (char *) "int", sizeof(int)},
|
|
{NHTYPE_SIMPLE, (char *) "long", sizeof(long)},
|
|
{NHTYPE_SIMPLE, (char *) "schar", sizeof(schar)},
|
|
{NHTYPE_SIMPLE, (char *) "short", sizeof(short)},
|
|
{NHTYPE_SIMPLE, (char *) "size_t", sizeof(size_t)},
|
|
{NHTYPE_SIMPLE, (char *) "string", sizeof(uchar)},
|
|
{NHTYPE_SIMPLE, (char *) "time_t", sizeof(time_t)},
|
|
{NHTYPE_SIMPLE, (char *) "uchar", sizeof(uchar)},
|
|
{NHTYPE_SIMPLE, (char *) "unsigned char", sizeof(unsigned char)},
|
|
{NHTYPE_SIMPLE, (char *) "unsigned int", sizeof(unsigned int)},
|
|
{NHTYPE_SIMPLE, (char *) "unsigned long", sizeof(unsigned long)},
|
|
{NHTYPE_SIMPLE, (char *) "unsigned short", sizeof(unsigned short)},
|
|
{NHTYPE_SIMPLE, (char *) "unsigned", sizeof(unsigned)},
|
|
{NHTYPE_SIMPLE, (char *) "xchar", sizeof(xchar)},
|
|
{NHTYPE_COMPLEX, (char *) "align", sizeof(struct align)},
|
|
{NHTYPE_COMPLEX, (char *) "attribs", sizeof(struct attribs)},
|
|
{NHTYPE_COMPLEX, (char *) "dig_info", sizeof(struct dig_info)},
|
|
{NHTYPE_COMPLEX, (char *) "tin_info", sizeof(struct tin_info)},
|
|
{NHTYPE_COMPLEX, (char *) "book_info", sizeof(struct book_info)},
|
|
{NHTYPE_COMPLEX, (char *) "takeoff_info", sizeof(struct takeoff_info)},
|
|
{NHTYPE_COMPLEX, (char *) "victual_info", sizeof(struct victual_info)},
|
|
{NHTYPE_COMPLEX, (char *) "warntype_info", sizeof(struct warntype_info)},
|
|
{NHTYPE_COMPLEX, (char *) "polearm_info", sizeof(struct polearm_info)},
|
|
{NHTYPE_COMPLEX, (char *) "obj_split", sizeof(struct obj_split)},
|
|
{NHTYPE_COMPLEX, (char *) "tribute_info", sizeof(struct tribute_info)},
|
|
{NHTYPE_COMPLEX, (char *) "novel_tracking", sizeof(struct novel_tracking)},
|
|
{NHTYPE_COMPLEX, (char *) "context_info", sizeof(struct context_info)},
|
|
{NHTYPE_COMPLEX, (char *) "nhcoord", sizeof(struct nhcoord)},
|
|
{NHTYPE_COMPLEX, (char *) "dgn_topology", sizeof(struct dgn_topology)},
|
|
{NHTYPE_COMPLEX, (char *) "kinfo", sizeof(struct kinfo)},
|
|
{NHTYPE_COMPLEX, (char *) "mvitals", sizeof(struct mvitals)},
|
|
{NHTYPE_COMPLEX, (char *) "ls_t", sizeof(struct ls_t)},
|
|
{NHTYPE_COMPLEX, (char *) "bubble", sizeof(struct bubble)},
|
|
{NHTYPE_COMPLEX, (char *) "d_flags", sizeof(struct d_flags)},
|
|
{NHTYPE_COMPLEX, (char *) "d_level", sizeof(struct d_level)},
|
|
{NHTYPE_COMPLEX, (char *) "s_level", sizeof(struct s_level)},
|
|
{NHTYPE_COMPLEX, (char *) "stairway", sizeof(struct stairway)},
|
|
{NHTYPE_COMPLEX, (char *) "dest_area", sizeof(struct dest_area)},
|
|
{NHTYPE_COMPLEX, (char *) "dungeon", sizeof(struct dungeon)},
|
|
{NHTYPE_COMPLEX, (char *) "branch", sizeof(struct branch)},
|
|
{NHTYPE_COMPLEX, (char *) "linfo", sizeof(struct linfo)},
|
|
{NHTYPE_COMPLEX, (char *) "mapseen", sizeof(struct mapseen)},
|
|
{NHTYPE_COMPLEX, (char *) "mapseen_feat", sizeof(struct mapseen_feat)},
|
|
{NHTYPE_COMPLEX, (char *) "mapseen_flags", sizeof(struct mapseen_flags)},
|
|
{NHTYPE_COMPLEX, (char *) "mapseen_rooms", sizeof(struct mapseen_rooms)},
|
|
{NHTYPE_COMPLEX, (char *) "engr", sizeof(struct engr)},
|
|
{NHTYPE_COMPLEX, (char *) "flag", sizeof(struct flag)},
|
|
{NHTYPE_COMPLEX, (char *) "version_info", sizeof(struct version_info)},
|
|
{NHTYPE_COMPLEX, (char *) "savefile_info", sizeof(struct savefile_info)},
|
|
{NHTYPE_COMPLEX, (char *) "fakecorridor", sizeof(struct fakecorridor)},
|
|
{NHTYPE_COMPLEX, (char *) "egd", sizeof(struct egd)},
|
|
{NHTYPE_COMPLEX, (char *) "epri", sizeof(struct epri)},
|
|
{NHTYPE_COMPLEX, (char *) "bill_x", sizeof(struct bill_x)},
|
|
{NHTYPE_COMPLEX, (char *) "eshk", sizeof(struct eshk)},
|
|
{NHTYPE_COMPLEX, (char *) "emin", sizeof(struct emin)},
|
|
{NHTYPE_COMPLEX, (char *) "edog", sizeof(struct edog)},
|
|
{NHTYPE_COMPLEX, (char *) "mextra", sizeof(struct mextra)},
|
|
{NHTYPE_COMPLEX, (char *) "mkroom", sizeof(struct mkroom)},
|
|
{NHTYPE_COMPLEX, (char *) "monst", sizeof(struct monst)},
|
|
{NHTYPE_COMPLEX, (char *) "vptrs", sizeof(union vptrs)},
|
|
{NHTYPE_COMPLEX, (char *) "oextra", sizeof(struct oextra)},
|
|
{NHTYPE_COMPLEX, (char *) "obj", sizeof(struct obj)},
|
|
{NHTYPE_COMPLEX, (char *) "objclass", sizeof(struct objclass)},
|
|
{NHTYPE_COMPLEX, (char *) "fruit", sizeof(struct fruit)},
|
|
{NHTYPE_COMPLEX, (char *) "prop", sizeof(struct prop)},
|
|
{NHTYPE_COMPLEX, (char *) "q_score", sizeof(struct q_score)},
|
|
{NHTYPE_COMPLEX, (char *) "nhrect", sizeof(struct nhrect)},
|
|
{NHTYPE_COMPLEX, (char *) "rm", sizeof(struct rm)},
|
|
{NHTYPE_COMPLEX, (char *) "damage", sizeof(struct damage)},
|
|
{NHTYPE_COMPLEX, (char *) "cemetery", sizeof(struct cemetery)},
|
|
{NHTYPE_COMPLEX, (char *) "levelflags", sizeof(struct levelflags)},
|
|
{NHTYPE_COMPLEX, (char *) "skills", sizeof(struct skills)},
|
|
{NHTYPE_COMPLEX, (char *) "spell", sizeof(struct spell)},
|
|
{NHTYPE_COMPLEX, (char *) "fe", sizeof(struct fe)},
|
|
{NHTYPE_COMPLEX, (char *) "vlaunchinfo", sizeof(union vlaunchinfo)},
|
|
{NHTYPE_COMPLEX, (char *) "trap", sizeof(struct trap)},
|
|
{NHTYPE_COMPLEX, (char *) "u_have", sizeof(struct u_have)},
|
|
{NHTYPE_COMPLEX, (char *) "u_event", sizeof(struct u_event)},
|
|
{NHTYPE_COMPLEX, (char *) "u_achieve", sizeof(struct u_achieve)},
|
|
{NHTYPE_COMPLEX, (char *) "u_realtime", sizeof(struct u_realtime)},
|
|
{NHTYPE_COMPLEX, (char *) "u_conduct", sizeof(struct u_conduct)},
|
|
{NHTYPE_COMPLEX, (char *) "u_roleplay", sizeof(struct u_roleplay)},
|
|
{NHTYPE_COMPLEX, (char *) "you", sizeof(struct you)}
|
|
};
|
|
|
|
int nhdatatypes_size()
|
|
{
|
|
return SIZE(nhdatatypes);
|
|
}
|
|
|
|
const char *critical_members[] = {
|
|
"struct align:type:aligntyp",
|
|
"struct align:record:int",
|
|
"struct attribs:a:schar",
|
|
"struct bill_x:bo_id:unsigned",
|
|
"struct bill_x:useup:boolean",
|
|
"struct bill_x:price:long",
|
|
"struct bill_x:bquan:long",
|
|
"struct book_info:book:struct obj *",
|
|
"struct book_info:o_id:unsigned",
|
|
"struct book_info:delay:schar",
|
|
"struct branch:next:struct branch *",
|
|
"struct branch:id:int",
|
|
"struct branch:type:int",
|
|
"struct branch:end1:d_level",
|
|
"struct branch:end2:d_level",
|
|
"struct branch:end1_up:boolean",
|
|
"struct bubble:x:xchar",
|
|
"struct bubble:y:xchar",
|
|
"struct bubble:dx:schar",
|
|
"struct bubble:dy:schar",
|
|
"struct bubble:bm:uchar",
|
|
"struct bubble:prev:struct bubble *",
|
|
"struct bubble:next:struct bubble *",
|
|
"struct bubble:cons:struct container *",
|
|
"struct cemetery:next:struct cemetery *",
|
|
"struct cemetery:who:char",
|
|
"struct cemetery:how:char",
|
|
"struct cemetery:when:char",
|
|
"struct cemetery:frpx:schar",
|
|
"struct cemetery:frpy:schar",
|
|
"struct cemetery:bonesknown:boolean",
|
|
"struct context_info:ident:unsigned",
|
|
"struct context_info:no_of_wizards:unsigned",
|
|
"struct context_info:run:unsigned",
|
|
"struct context_info:startingpet_mid:unsigned",
|
|
"struct context_info:current_fruit:int",
|
|
"struct context_info:warnlevel:int",
|
|
"struct context_info:rndencode:int",
|
|
"struct context_info:next_attrib_check:long",
|
|
"struct context_info:stethoscope_move:long",
|
|
"struct context_info:stethoscope_movement:short",
|
|
"struct context_info:travel:boolean",
|
|
"struct context_info:travel1:boolean",
|
|
"struct context_info:forcefight:boolean",
|
|
"struct context_info:nopick:boolean",
|
|
"struct context_info:made_amulet:boolean",
|
|
"struct context_info:mon_moving:boolean",
|
|
"struct context_info:move:boolean",
|
|
"struct context_info:mv:boolean",
|
|
"struct context_info:bypasses:boolean",
|
|
"struct context_info:botl:boolean",
|
|
"struct context_info:botlx:boolean",
|
|
"struct context_info:door_opened:boolean",
|
|
"struct context_info:digging:dig_info",
|
|
"struct context_info:victual:victual_info",
|
|
"struct context_info:tin:tin_info",
|
|
"struct context_info:spbook:book_info",
|
|
"struct context_info:takeoff:takeoff_info",
|
|
"struct context_info:warntype:warntype_info",
|
|
"struct context_info:polearm:polearm_info",
|
|
"struct context_info:objsplit:obj_split",
|
|
"struct context_info:tribute:tribute_info",
|
|
"struct context_info:novel:novel_tracking",
|
|
"struct d_flags:town:Bitfield(town, 1)",
|
|
"struct d_flags:hellish:Bitfield(hellish, 1)",
|
|
"struct d_flags:maze_like:Bitfield(maze_like, 1)",
|
|
"struct d_flags:rogue_like:Bitfield(rogue_like, 1)",
|
|
"struct d_flags:align:Bitfield(align, 3)",
|
|
"struct d_flags:unused:Bitfield(unused, 1)",
|
|
"struct d_level:dnum:xchar",
|
|
"struct d_level:dlevel:xchar",
|
|
"struct damage:next:struct damage *",
|
|
"struct damage:when:long",
|
|
"struct damage:cost:long",
|
|
"struct damage:place:nhcoord",
|
|
"struct damage:typ:schar",
|
|
"struct dest_area:lx:xchar",
|
|
"struct dest_area:ly:xchar",
|
|
"struct dest_area:hx:xchar",
|
|
"struct dest_area:hy:xchar",
|
|
"struct dest_area:nlx:xchar",
|
|
"struct dest_area:nly:xchar",
|
|
"struct dest_area:nhx:xchar",
|
|
"struct dest_area:nhy:xchar",
|
|
"struct dgn_topology:d_oracle_level:d_level",
|
|
"struct dgn_topology:d_bigroom_level:d_level",
|
|
"struct dgn_topology:d_rogue_level:d_level",
|
|
"struct dgn_topology:d_medusa_level:d_level",
|
|
"struct dgn_topology:d_stronghold_level:d_level",
|
|
"struct dgn_topology:d_valley_level:d_level",
|
|
"struct dgn_topology:d_wiz1_level:d_level",
|
|
"struct dgn_topology:d_wiz2_level:d_level",
|
|
"struct dgn_topology:d_wiz3_level:d_level",
|
|
"struct dgn_topology:d_juiblex_level:d_level",
|
|
"struct dgn_topology:d_orcus_level:d_level",
|
|
"struct dgn_topology:d_baalzebub_level:d_level",
|
|
"struct dgn_topology:d_asmodeus_level:d_level",
|
|
"struct dgn_topology:d_portal_level:d_level",
|
|
"struct dgn_topology:d_sanctum_level:d_level",
|
|
"struct dgn_topology:d_earth_level:d_level",
|
|
"struct dgn_topology:d_water_level:d_level",
|
|
"struct dgn_topology:d_fire_level:d_level",
|
|
"struct dgn_topology:d_air_level:d_level",
|
|
"struct dgn_topology:d_astral_level:d_level",
|
|
"struct dgn_topology:d_tower_dnum:xchar",
|
|
"struct dgn_topology:d_sokoban_dnum:xchar",
|
|
"struct dgn_topology:d_mines_dnum:xchar",
|
|
"struct dgn_topology:d_quest_dnum:xchar",
|
|
"struct dgn_topology:d_qstart_level:d_level",
|
|
"struct dgn_topology:d_qlocate_level:d_level",
|
|
"struct dgn_topology:d_nemesis_level:d_level",
|
|
"struct dgn_topology:d_knox_level:d_level",
|
|
"struct dgn_topology:d_mineend_level:d_level",
|
|
"struct dgn_topology:d_sokoend_level:d_level",
|
|
"struct dig_info:effort:int",
|
|
"struct dig_info:level:d_level",
|
|
"struct dig_info:pos:nhcoord",
|
|
"struct dig_info:lastdigtime:long",
|
|
"struct dig_info:down:boolean",
|
|
"struct dig_info:chew:boolean",
|
|
"struct dig_info:warned:boolean",
|
|
"struct dig_info:quiet:boolean",
|
|
"struct dungeon:dname:char",
|
|
"struct dungeon:proto:char",
|
|
"struct dungeon:boneid:char",
|
|
"struct dungeon:flags:d_flags",
|
|
"struct dungeon:entry_lev:xchar",
|
|
"struct dungeon:num_dunlevs:xchar",
|
|
"struct dungeon:dunlev_ureached:xchar",
|
|
"struct dungeon:ledger_start:int",
|
|
"struct dungeon:depth_start:int",
|
|
"struct edog:droptime:long",
|
|
"struct edog:dropdist:unsigned",
|
|
"struct edog:apport:int",
|
|
"struct edog:whistletime:long",
|
|
"struct edog:hungrytime:long",
|
|
"struct edog:ogoal:nhcoord",
|
|
"struct edog:abuse:int",
|
|
"struct edog:revivals:int",
|
|
"struct edog:mhpmax_penalty:int",
|
|
"struct edog:killed_by_u:Bitfield(killed_by_u, 1)",
|
|
"struct egd:fcbeg:int",
|
|
"struct egd:fcend:int",
|
|
"struct egd:vroom:int",
|
|
"struct egd:gdx:xchar",
|
|
"struct egd:gdy:xchar",
|
|
"struct egd:ogx:xchar",
|
|
"struct egd:ogy:xchar",
|
|
"struct egd:gdlevel:d_level",
|
|
"struct egd:warncnt:xchar",
|
|
"struct egd:gddone:Bitfield(gddone, 1)",
|
|
"struct egd:witness:Bitfield(witness, 2)",
|
|
"struct egd:unused:Bitfield(unused, 5)",
|
|
"struct egd:fakecorr:fakecorridor",
|
|
"struct emin:min_align:aligntyp",
|
|
"struct emin:renegade:boolean",
|
|
"struct engr:nxt_engr:struct engr *",
|
|
"struct engr:engr_txt:char *",
|
|
"struct engr:engr_x:xchar",
|
|
"struct engr:engr_y:xchar",
|
|
"struct engr:engr_lth:unsigned",
|
|
"struct engr:engr_time:long",
|
|
"struct engr:engr_type:xchar",
|
|
"struct epri:shralign:aligntyp",
|
|
"struct epri:shroom:schar",
|
|
"struct epri:shrpos:nhcoord",
|
|
"struct epri:shrlevel:d_level",
|
|
"struct epri:intone_time:long",
|
|
"struct epri:enter_time:long",
|
|
"struct epri:hostile_time:long",
|
|
"struct epri:peaceful_time:long",
|
|
"struct eshk:robbed:long",
|
|
"struct eshk:credit:long",
|
|
"struct eshk:debit:long",
|
|
"struct eshk:loan:long",
|
|
"struct eshk:shoptype:int",
|
|
"struct eshk:shoproom:schar",
|
|
"struct eshk:unused:schar",
|
|
"struct eshk:following:boolean",
|
|
"struct eshk:surcharge:boolean",
|
|
"struct eshk:dismiss_kops:boolean",
|
|
"struct eshk:shk:nhcoord",
|
|
"struct eshk:shd:nhcoord",
|
|
"struct eshk:shoplevel:d_level",
|
|
"struct eshk:billct:int",
|
|
"struct eshk:bill:bill_x",
|
|
"struct eshk:bill_p:struct bill_x *",
|
|
"struct eshk:visitct:int",
|
|
"struct eshk:customer:char",
|
|
"struct eshk:shknam:char",
|
|
"struct fakecorridor:fx:xchar",
|
|
"struct fakecorridor:fy:xchar",
|
|
"struct fakecorridor:ftyp:xchar",
|
|
"struct fe:next:struct fe *",
|
|
"struct fe:timeout:long",
|
|
"struct fe:tid:unsigned long",
|
|
"struct fe:kind:short",
|
|
"struct fe:func_index:short",
|
|
"struct fe:arg:any",
|
|
"struct fe:needs_fixup:Bitfield(needs_fixup, 1)",
|
|
"struct flag:acoustics:boolean",
|
|
"struct flag:autodig:boolean",
|
|
"struct flag:autoquiver:boolean",
|
|
"struct flag:autoopen:boolean",
|
|
"struct flag:beginner:boolean",
|
|
"struct flag:biff:boolean",
|
|
"struct flag:bones:boolean",
|
|
"struct flag:confirm:boolean",
|
|
"struct flag:dark_room:boolean",
|
|
"struct flag:debug:boolean",
|
|
"struct flag:end_own:boolean",
|
|
"struct flag:explore:boolean",
|
|
"struct flag:female:boolean",
|
|
"struct flag:friday13:boolean",
|
|
"struct flag:help:boolean",
|
|
"struct flag:ignintr:boolean",
|
|
"struct flag:ins_chkpt:boolean",
|
|
"struct flag:invlet_constant:boolean",
|
|
"struct flag:legacy:boolean",
|
|
"struct flag:lit_corridor:boolean",
|
|
"struct flag:nap:boolean",
|
|
"struct flag:null:boolean",
|
|
"struct flag:p__obsolete:boolean",
|
|
"struct flag:pickup:boolean",
|
|
"struct flag:pickup_thrown:boolean",
|
|
"struct flag:pushweapon:boolean",
|
|
"struct flag:rest_on_space:boolean",
|
|
"struct flag:safe_dog:boolean",
|
|
"struct flag:showexp:boolean",
|
|
"struct flag:showscore:boolean",
|
|
"struct flag:silent:boolean",
|
|
"struct flag:sortpack:boolean",
|
|
"struct flag:sparkle:boolean",
|
|
"struct flag:standout:boolean",
|
|
"struct flag:time:boolean",
|
|
"struct flag:tombstone:boolean",
|
|
"struct flag:verbose:boolean",
|
|
"struct flag:end_top:int",
|
|
"struct flag:end_around:int",
|
|
"struct flag:moonphase:unsigned",
|
|
"struct flag:suppress_alert:unsigned long",
|
|
"struct flag:paranoia_bits:unsigned",
|
|
"struct flag:pickup_burden:int",
|
|
"struct flag:pile_limit:int",
|
|
"struct flag:sortloot:char",
|
|
"struct flag:inv_order:char",
|
|
"struct flag:pickup_types:char",
|
|
"struct flag:end_disclose:char",
|
|
"struct flag:menu_style:char",
|
|
"struct flag:made_fruit:boolean",
|
|
"struct flag:initrole:int",
|
|
"struct flag:initrace:int",
|
|
"struct flag:initgend:int",
|
|
"struct flag:initalign:int",
|
|
"struct flag:randomall:int",
|
|
"struct flag:pantheon:int",
|
|
"struct flag:lootabc:boolean",
|
|
"struct flag:showrace:boolean",
|
|
"struct flag:travelcmd:boolean",
|
|
"struct flag:runmode:int",
|
|
"struct fruit:fname:char",
|
|
"struct fruit:fid:int",
|
|
"struct fruit:nextf:struct fruit *",
|
|
"struct kinfo:next:struct kinfo *",
|
|
"struct kinfo:id:int",
|
|
"struct kinfo:format:int",
|
|
"struct kinfo:name:char",
|
|
"struct levelflags:nfountains:uchar",
|
|
"struct levelflags:nsinks:uchar",
|
|
"struct levelflags:has_shop:Bitfield(has_shop, 1)",
|
|
"struct levelflags:has_vault:Bitfield(has_vault, 1)",
|
|
"struct levelflags:has_zoo:Bitfield(has_zoo, 1)",
|
|
"struct levelflags:has_court:Bitfield(has_court, 1)",
|
|
"struct levelflags:has_morgue:Bitfield(has_morgue, 1)",
|
|
"struct levelflags:has_beehive:Bitfield(has_beehive, 1)",
|
|
"struct levelflags:has_barracks:Bitfield(has_barracks, 1)",
|
|
"struct levelflags:has_temple:Bitfield(has_temple, 1)",
|
|
"struct levelflags:has_swamp:Bitfield(has_swamp, 1)",
|
|
"struct levelflags:noteleport:Bitfield(noteleport, 1)",
|
|
"struct levelflags:hardfloor:Bitfield(hardfloor, 1)",
|
|
"struct levelflags:nommap:Bitfield(nommap, 1)",
|
|
"struct levelflags:hero_memory:Bitfield(hero_memory, 1)",
|
|
"struct levelflags:shortsighted:Bitfield(shortsighted, 1)",
|
|
"struct levelflags:graveyard:Bitfield(graveyard, 1)",
|
|
"struct levelflags:sokoban_rules:Bitfield(sokoban_rules, 1)",
|
|
"struct levelflags:is_maze_lev:Bitfield(is_maze_lev, 1)",
|
|
"struct levelflags:is_cavernous_lev:Bitfield(is_cavernous_lev, 1)",
|
|
"struct levelflags:arboreal:Bitfield(arboreal, 1)",
|
|
"struct levelflags:wizard_bones:Bitfield(wizard_bones, 1)",
|
|
"struct levelflags:corrmaze:Bitfield(corrmaze, 1)",
|
|
"struct linfo:flags:unsigned char",
|
|
#ifdef MFLOPPY
|
|
"struct linfo:where:int",
|
|
"struct linfo:time:long",
|
|
"struct linfo:size:long",
|
|
#endif /*MFLOPPY*/
|
|
"struct ls_t:next:struct ls_t *",
|
|
"struct ls_t:x:xchar",
|
|
"struct ls_t:y:xchar",
|
|
"struct ls_t:range:short",
|
|
"struct ls_t:flags:short",
|
|
"struct ls_t:type:short",
|
|
"struct ls_t:id:any",
|
|
"struct mapseen_feat:nfount:Bitfield(nfount, 2)",
|
|
"struct mapseen_feat:nsink:Bitfield(nsink, 2)",
|
|
"struct mapseen_feat:naltar:Bitfield(naltar, 2)",
|
|
"struct mapseen_feat:nthrone:Bitfield(nthrone, 2)",
|
|
"struct mapseen_feat:ngrave:Bitfield(ngrave, 2)",
|
|
"struct mapseen_feat:ntree:Bitfield(ntree, 2)",
|
|
"struct mapseen_feat:water:Bitfield(water, 2)",
|
|
"struct mapseen_feat:lava:Bitfield(lava, 2)",
|
|
"struct mapseen_feat:ice:Bitfield(ice, 2)",
|
|
"struct mapseen_feat:nshop:Bitfield(nshop, 2)",
|
|
"struct mapseen_feat:ntemple:Bitfield(ntemple, 2)",
|
|
"struct mapseen_feat:msalign:Bitfield(msalign, 2)",
|
|
"struct mapseen_feat:shoptype:Bitfield(shoptype, 5)",
|
|
"struct mapseen_flags:unreachable:Bitfield(unreachable, 1)",
|
|
"struct mapseen_flags:forgot:Bitfield(forgot, 1)",
|
|
"struct mapseen_flags:knownbones:Bitfield(knownbones, 1)",
|
|
"struct mapseen_flags:oracle:Bitfield(oracle, 1)",
|
|
"struct mapseen_flags:sokosolved:Bitfield(sokosolved, 1)",
|
|
"struct mapseen_flags:bigroom:Bitfield(bigroom, 1)",
|
|
"struct mapseen_flags:castle:Bitfield(castle, 1)",
|
|
"struct mapseen_flags:castletune:Bitfield(castletune, 1)",
|
|
"struct mapseen_flags:valley:Bitfield(valley, 1)",
|
|
"struct mapseen_flags:msanctum:Bitfield(msanctum, 1)",
|
|
"struct mapseen_flags:ludios:Bitfield(ludios, 1)",
|
|
"struct mapseen_flags:roguelevel:Bitfield(roguelevel, 1)",
|
|
"struct mapseen_flags:quest_summons:Bitfield(quest_summons, 1)",
|
|
"struct mapseen_flags:questing:Bitfield(questing, 1)",
|
|
"struct mapseen_flags:vibrating_square:Bitfield(vibrating_square, 1)",
|
|
"struct mapseen_flags:spare1:Bitfield(spare1, 1)",
|
|
"struct mapseen_rooms:seen:Bitfield(seen, 1)",
|
|
"struct mapseen_rooms:untended:Bitfield(untended, 1)",
|
|
"struct mapseen:next:struct mapseen *",
|
|
"struct mapseen:br:branch *",
|
|
"struct mapseen:lev:d_level",
|
|
"struct mapseen:feat:mapseen_feat",
|
|
"struct mapseen:flags:mapseen_flags",
|
|
"struct mapseen:custom:char *",
|
|
"struct mapseen:custom_lth:unsigned",
|
|
"struct mapseen:msrooms:mapseen_rooms",
|
|
"struct mapseen:final_resting_place:struct cemetery *",
|
|
"struct mextra:mname:char *",
|
|
"struct mextra:egd:struct egd *",
|
|
"struct mextra:epri:struct epri *",
|
|
"struct mextra:eshk:struct eshk *",
|
|
"struct mextra:emin:struct emin *",
|
|
"struct mextra:edog:struct edog *",
|
|
"struct mextra:mcorpsenm:int",
|
|
"struct mkroom:lx:schar",
|
|
"struct mkroom:hx:schar",
|
|
"struct mkroom:ly:schar",
|
|
"struct mkroom:hy:schar",
|
|
"struct mkroom:rtype:schar",
|
|
"struct mkroom:orig_rtype:schar",
|
|
"struct mkroom:rlit:schar",
|
|
"struct mkroom:needfill:schar",
|
|
"struct mkroom:needjoining:schar",
|
|
"struct mkroom:doorct:schar",
|
|
"struct mkroom:fdoor:schar",
|
|
"struct mkroom:nsubrooms:schar",
|
|
"struct mkroom:irregular:boolean",
|
|
"struct mkroom:sbrooms:struct mkroom *",
|
|
"struct mkroom:resident:struct monst *",
|
|
"struct monst:nmon:struct monst *",
|
|
"struct monst:data:struct permonst *",
|
|
"struct monst:m_id:unsigned",
|
|
"struct monst:mnum:short",
|
|
"struct monst:cham:short",
|
|
"struct monst:movement:short",
|
|
"struct monst:m_lev:uchar",
|
|
"struct monst:malign:aligntyp",
|
|
"struct monst:mx:xchar",
|
|
"struct monst:my:xchar",
|
|
"struct monst:mux:xchar",
|
|
"struct monst:muy:xchar",
|
|
"struct monst:mtrack:nhcoord",
|
|
"struct monst:mhp:int",
|
|
"struct monst:mhpmax:int",
|
|
"struct monst:mappearance:unsigned",
|
|
"struct monst:m_ap_type:uchar",
|
|
"struct monst:mtame:schar",
|
|
"struct monst:mextrinsics:unsigned short",
|
|
"struct monst:mspec_used:int",
|
|
"struct monst:female:Bitfield(female, 1)",
|
|
"struct monst:minvis:Bitfield(minvis, 1)",
|
|
"struct monst:invis_blkd:Bitfield(invis_blkd, 1)",
|
|
"struct monst:perminvis:Bitfield(perminvis, 1)",
|
|
"struct monst:mcan:Bitfield(mcan, 1)",
|
|
"struct monst:mburied:Bitfield(mburied, 1)",
|
|
"struct monst:mundetected:Bitfield(mundetected, 1)",
|
|
"struct monst:mcansee:Bitfield(mcansee, 1)",
|
|
"struct monst:mspeed:Bitfield(mspeed, 2)",
|
|
"struct monst:permspeed:Bitfield(permspeed, 2)",
|
|
"struct monst:mrevived:Bitfield(mrevived, 1)",
|
|
"struct monst:mcloned:Bitfield(mcloned, 1)",
|
|
"struct monst:mavenge:Bitfield(mavenge, 1)",
|
|
"struct monst:mflee:Bitfield(mflee, 1)",
|
|
"struct monst:mfleetim:Bitfield(mfleetim, 7)",
|
|
"struct monst:msleeping:Bitfield(msleeping, 1)",
|
|
"struct monst:mblinded:Bitfield(mblinded, 7)",
|
|
"struct monst:mstun:Bitfield(mstun, 1)",
|
|
"struct monst:mfrozen:Bitfield(mfrozen, 7)",
|
|
"struct monst:mcanmove:Bitfield(mcanmove, 1)",
|
|
"struct monst:mconf:Bitfield(mconf, 1)",
|
|
"struct monst:mpeaceful:Bitfield(mpeaceful, 1)",
|
|
"struct monst:mtrapped:Bitfield(mtrapped, 1)",
|
|
"struct monst:mleashed:Bitfield(mleashed, 1)",
|
|
"struct monst:isshk:Bitfield(isshk, 1)",
|
|
"struct monst:isminion:Bitfield(isminion, 1)",
|
|
"struct monst:isgd:Bitfield(isgd, 1)",
|
|
"struct monst:ispriest:Bitfield(ispriest, 1)",
|
|
"struct monst:iswiz:Bitfield(iswiz, 1)",
|
|
"struct monst:wormno:Bitfield(wormno, 5)",
|
|
"struct monst:mtemplit:Bitfield(mtemplit, 1)",
|
|
"struct monst:mstrategy:unsigned long",
|
|
"struct monst:mtrapseen:long",
|
|
"struct monst:mlstmv:long",
|
|
"struct monst:mspare1:long",
|
|
"struct monst:minvent:struct obj *",
|
|
"struct monst:mw:struct obj *",
|
|
"struct monst:misc_worn_check:long",
|
|
"struct monst:weapon_check:xchar",
|
|
"struct monst:meating:int",
|
|
"struct monst:mextra:struct mextra *",
|
|
"struct mvitals:born:uchar",
|
|
"struct mvitals:died:uchar",
|
|
"struct mvitals:mvflags:uchar",
|
|
"struct nhcoord:x:xchar",
|
|
"struct nhcoord:y:xchar",
|
|
"struct nhrect:lx:xchar",
|
|
"struct nhrect:ly:xchar",
|
|
"struct nhrect:hx:xchar",
|
|
"struct nhrect:hy:xchar",
|
|
"struct novel_tracking:id:unsigned",
|
|
"struct novel_tracking:count:int",
|
|
"struct novel_tracking:pasg:xchar",
|
|
"struct obj:nobj:struct obj *",
|
|
"struct obj:v:vptrs",
|
|
"struct obj:cobj:struct obj *",
|
|
"struct obj:o_id:unsigned",
|
|
"struct obj:ox:xchar",
|
|
"struct obj:oy:xchar",
|
|
"struct obj:otyp:short",
|
|
"struct obj:owt:unsigned",
|
|
"struct obj:quan:long",
|
|
"struct obj:spe:schar",
|
|
"struct obj:oclass:char",
|
|
"struct obj:invlet:char",
|
|
"struct obj:oartifact:char",
|
|
"struct obj:where:xchar",
|
|
"struct obj:timed:xchar",
|
|
"struct obj:cursed:Bitfield(cursed, 1)",
|
|
"struct obj:blessed:Bitfield(blessed, 1)",
|
|
"struct obj:unpaid:Bitfield(unpaid, 1)",
|
|
"struct obj:no_charge:Bitfield(no_charge, 1)",
|
|
"struct obj:known:Bitfield(known, 1)",
|
|
"struct obj:dknown:Bitfield(dknown, 1)",
|
|
"struct obj:bknown:Bitfield(bknown, 1)",
|
|
"struct obj:rknown:Bitfield(rknown, 1)",
|
|
"struct obj:oeroded:Bitfield(oeroded, 2)",
|
|
"struct obj:oeroded2:Bitfield(oeroded2, 2)",
|
|
"struct obj:oerodeproof:Bitfield(oerodeproof, 1)",
|
|
"struct obj:olocked:Bitfield(olocked, 1)",
|
|
"struct obj:obroken:Bitfield(obroken, 1)",
|
|
"struct obj:otrapped:Bitfield(otrapped, 1)",
|
|
"struct obj:recharged:Bitfield(recharged, 3)",
|
|
"struct obj:lamplit:Bitfield(lamplit, 1)",
|
|
"struct obj:globby:Bitfield(globby, 1)",
|
|
"struct obj:greased:Bitfield(greased, 1)",
|
|
"struct obj:nomerge:Bitfield(nomerge, 1)",
|
|
"struct obj:was_thrown:Bitfield(was_thrown, 1)",
|
|
"struct obj:in_use:Bitfield(in_use, 1)",
|
|
"struct obj:bypass:Bitfield(bypass, 1)",
|
|
"struct obj:cknown:Bitfield(cknown, 1)",
|
|
"struct obj:lknown:Bitfield(lknown, 1)",
|
|
"struct obj:corpsenm:int",
|
|
"struct obj:usecount:int",
|
|
"struct obj:oeaten:unsigned",
|
|
"struct obj:age:long",
|
|
"struct obj:owornmask:long",
|
|
"struct obj:oextra:struct oextra *",
|
|
"struct objclass:oc_name_idx:short",
|
|
"struct objclass:oc_descr_idx:short",
|
|
"struct objclass:oc_uname:char *",
|
|
"struct objclass:oc_name_known:Bitfield(oc_name_known, 1)",
|
|
"struct objclass:oc_merge:Bitfield(oc_merge, 1)",
|
|
"struct objclass:oc_uses_known:Bitfield(oc_uses_known, 1)",
|
|
"struct objclass:oc_pre_discovered:Bitfield(oc_pre_discovered, 1)",
|
|
"struct objclass:oc_magic:Bitfield(oc_magic, 1)",
|
|
"struct objclass:oc_charged:Bitfield(oc_charged, 1)",
|
|
"struct objclass:oc_unique:Bitfield(oc_unique, 1)",
|
|
"struct objclass:oc_nowish:Bitfield(oc_nowish, 1)",
|
|
"struct objclass:oc_big:Bitfield(oc_big, 1)",
|
|
"struct objclass:oc_tough:Bitfield(oc_tough, 1)",
|
|
"struct objclass:oc_dir:Bitfield(oc_dir, 2)",
|
|
"struct objclass:oc_material:Bitfield(oc_material, 5)",
|
|
"struct objclass:oc_subtyp:schar",
|
|
"struct objclass:oc_oprop:uchar",
|
|
"struct objclass:oc_class:char",
|
|
"struct objclass:oc_delay:schar",
|
|
"struct objclass:oc_color:uchar",
|
|
"struct objclass:oc_prob:short",
|
|
"struct objclass:oc_weight:unsigned short",
|
|
"struct objclass:oc_cost:short",
|
|
"struct objclass:oc_wsdam:schar",
|
|
"struct objclass:oc_wldam:schar",
|
|
"struct objclass:oc_oc1:schar",
|
|
"struct objclass:oc_oc2:schar",
|
|
"struct objclass:oc_nutrition:unsigned short",
|
|
"struct obj_split:parent_oid:unsigned",
|
|
"struct obj_split:child_oid:unsigned",
|
|
"struct oextra:oname:char *",
|
|
"struct oextra:omonst:struct monst *",
|
|
"struct oextra:omid:unsigned *",
|
|
"struct oextra:olong:long *",
|
|
"struct oextra:omailcmd:char *",
|
|
"struct polearm_info:hitmon:struct monst *",
|
|
"struct polearm_info:m_id:unsigned",
|
|
"struct prop:extrinsic:long",
|
|
"struct prop:blocked:long",
|
|
"struct prop:intrinsic:long",
|
|
"struct q_score:first_start:Bitfield(first_start, 1)",
|
|
"struct q_score:met_leader:Bitfield(met_leader, 1)",
|
|
"struct q_score:not_ready:Bitfield(not_ready, 3)",
|
|
"struct q_score:pissed_off:Bitfield(pissed_off, 1)",
|
|
"struct q_score:got_quest:Bitfield(got_quest, 1)",
|
|
"struct q_score:first_locate:Bitfield(first_locate, 1)",
|
|
"struct q_score:met_intermed:Bitfield(met_intermed, 1)",
|
|
"struct q_score:got_final:Bitfield(got_final, 1)",
|
|
"struct q_score:made_goal:Bitfield(made_goal, 3)",
|
|
"struct q_score:met_nemesis:Bitfield(met_nemesis, 1)",
|
|
"struct q_score:killed_nemesis:Bitfield(killed_nemesis, 1)",
|
|
"struct q_score:in_battle:Bitfield(in_battle, 1)",
|
|
"struct q_score:cheater:Bitfield(cheater, 1)",
|
|
"struct q_score:touched_artifact:Bitfield(touched_artifact, 1)",
|
|
"struct q_score:offered_artifact:Bitfield(offered_artifact, 1)",
|
|
"struct q_score:got_thanks:Bitfield(got_thanks, 1)",
|
|
"struct q_score:ldrgend:Bitfield(ldrgend, 2)",
|
|
"struct q_score:nemgend:Bitfield(nemgend, 2)",
|
|
"struct q_score:godgend:Bitfield(godgend, 2)",
|
|
"struct q_score:leader_is_dead:Bitfield(leader_is_dead, 1)",
|
|
"struct q_score:leader_m_id:unsigned",
|
|
"struct rm:glyph:int",
|
|
"struct rm:typ:schar",
|
|
"struct rm:seenv:uchar",
|
|
"struct rm:flags:Bitfield(flags, 5)",
|
|
"struct rm:horizontal:Bitfield(horizontal, 1)",
|
|
"struct rm:lit:Bitfield(lit, 1)",
|
|
"struct rm:waslit:Bitfield(waslit, 1)",
|
|
"struct rm:roomno:Bitfield(roomno, 6)",
|
|
"struct rm:edge:Bitfield(edge, 1)",
|
|
"struct rm:candig:Bitfield(candig, 1)",
|
|
"struct s_level:next:struct s_level *",
|
|
"struct s_level:dlevel:d_level",
|
|
"struct s_level:proto:char",
|
|
"struct s_level:boneid:char",
|
|
"struct s_level:rndlevs:uchar",
|
|
"struct s_level:flags:d_flags",
|
|
"struct savefile_info:sfi1:unsigned long",
|
|
"struct savefile_info:sfi2:unsigned long",
|
|
"struct savefile_info:sfi3:unsigned long",
|
|
"struct skills:skill:xchar",
|
|
"struct skills:max_skill:xchar",
|
|
"struct skills:advance:unsigned short",
|
|
"struct spell:sp_id:short",
|
|
"struct spell:sp_lev:xchar",
|
|
"struct spell:sp_know:int",
|
|
"struct stairway:sx:xchar",
|
|
"struct stairway:sy:xchar",
|
|
"struct stairway:tolev:d_level",
|
|
"struct stairway:up:char",
|
|
"struct takeoff_info:mask:long",
|
|
"struct takeoff_info:what:long",
|
|
"struct takeoff_info:delay:int",
|
|
"struct takeoff_info:cancelled_don:boolean",
|
|
"struct takeoff_info:disrobing:char",
|
|
"struct tin_info:tin:struct obj *",
|
|
"struct tin_info:o_id:unsigned",
|
|
"struct tin_info:usedtime:int",
|
|
"struct tin_info:reqtime:int",
|
|
"struct trap:ntrap:struct trap *",
|
|
"struct trap:tx:xchar",
|
|
"struct trap:ty:xchar",
|
|
"struct trap:dst:d_level",
|
|
"struct trap:launch:nhcoord",
|
|
"struct trap:ttyp:Bitfield(ttyp, 5)",
|
|
"struct trap:tseen:Bitfield(tseen, 1)",
|
|
"struct trap:once:Bitfield(once, 1)",
|
|
"struct trap:madeby_u:Bitfield(madeby_u, 1)",
|
|
"struct trap:vl:vlaunchinfo",
|
|
"struct tribute_info:tributesz:size_t",
|
|
"struct tribute_info:enabled:boolean",
|
|
"struct tribute_info:bookstock:Bitfield(bookstock, 1)",
|
|
"struct tribute_info:Deathnotice:Bitfield(Deathnotice,1)",
|
|
"struct u_achieve:amulet:Bitfield(amulet, 1)",
|
|
"struct u_achieve:bell:Bitfield(bell, 1)",
|
|
"struct u_achieve:book:Bitfield(book, 1)",
|
|
"struct u_achieve:menorah:Bitfield(menorah, 1)",
|
|
"struct u_achieve:enter_gehennom:Bitfield(enter_gehennom,1)",
|
|
"struct u_achieve:ascended:Bitfield(ascended, 1)",
|
|
"struct u_achieve:mines_luckstone:Bitfield(mines_luckstone, 1)",
|
|
"struct u_achieve:finish_sokoban:Bitfield(finish_sokoban, 1)",
|
|
"struct u_achieve:killed_medusa:Bitfield(killed_medusa, 1)",
|
|
"struct u_conduct:unvegetarian:long",
|
|
"struct u_conduct:unvegan:long",
|
|
"struct u_conduct:food:long",
|
|
"struct u_conduct:gnostic:long",
|
|
"struct u_conduct:weaphit:long",
|
|
"struct u_conduct:killer:long",
|
|
"struct u_conduct:literate:long",
|
|
"struct u_conduct:polypiles:long",
|
|
"struct u_conduct:polyselfs:long",
|
|
"struct u_conduct:wishes:long",
|
|
"struct u_conduct:wisharti:long",
|
|
"struct u_event:minor_oracle:Bitfield(minor_oracle, 1)",
|
|
"struct u_event:major_oracle:Bitfield(major_oracle, 1)",
|
|
"struct u_event:read_tribute:Bitfield(read_tribute, 1)",
|
|
"struct u_event:qcalled:Bitfield(qcalled, 1)",
|
|
"struct u_event:qexpelled:Bitfield(qexpelled, 1)",
|
|
"struct u_event:qcompleted:Bitfield(qcompleted, 1)",
|
|
"struct u_event:uheard_tune:Bitfield(uheard_tune, 2)",
|
|
"struct u_event:uopened_dbridge:Bitfield(uopened_dbridge, 1)",
|
|
"struct u_event:invoked:Bitfield(invoked, 1)",
|
|
"struct u_event:gehennom_entered:Bitfield(gehennom_entered, 1)",
|
|
"struct u_event:uhand_of_elbereth:Bitfield(uhand_of_elbereth, 2)",
|
|
"struct u_event:udemigod:Bitfield(udemigod, 1)",
|
|
"struct u_event:uvibrated:Bitfield(uvibrated, 1)",
|
|
"struct u_event:ascended:Bitfield(ascended, 1)",
|
|
"struct u_have:amulet:Bitfield(amulet, 1)",
|
|
"struct u_have:bell:Bitfield(bell, 1)",
|
|
"struct u_have:book:Bitfield(book, 1)",
|
|
"struct u_have:menorah:Bitfield(menorah, 1)",
|
|
"struct u_have:questart:Bitfield(questart, 1)",
|
|
"struct u_have:unused:Bitfield(unused, 3)",
|
|
"struct u_realtime:realtime:long",
|
|
"struct u_realtime:start_timing:time_t",
|
|
"struct u_realtime:finish_time:time_t",
|
|
"struct u_roleplay:blind:boolean",
|
|
"struct u_roleplay:nudist:boolean",
|
|
"struct u_roleplay:numbones:long",
|
|
"struct version_info:incarnation:unsigned long",
|
|
"struct version_info:feature_set:unsigned long",
|
|
"struct version_info:entity_count:unsigned long",
|
|
"struct version_info:struct_sizes1:unsigned long",
|
|
"struct version_info:struct_sizes2:unsigned long",
|
|
"struct victual_info:piece:struct obj *",
|
|
"struct victual_info:o_id:unsigned",
|
|
"struct victual_info:usedtime:int",
|
|
"struct victual_info:reqtime:int",
|
|
"struct victual_info:nmod:int",
|
|
"struct victual_info:canchoke:Bitfield(canchoke, 1)",
|
|
"struct victual_info:fullwarn:Bitfield(fullwarn, 1)",
|
|
"struct victual_info:eating:Bitfield(eating, 1)",
|
|
"struct victual_info:doreset:Bitfield(doreset, 1)",
|
|
"union vlaunchinfo:v_launch_otyp:short",
|
|
"union vlaunchinfo:v_launch2:nhcoord",
|
|
"union vlaunchinfo:v_conjoined:uchar",
|
|
"union vlaunchinfo:v_tnote:short",
|
|
"union vptrs:v_nexthere:struct obj *",
|
|
"union vptrs:v_ocontainer:struct obj *",
|
|
"union vptrs:v_ocarry:struct monst *",
|
|
"struct warntype_info:obj:unsigned long",
|
|
"struct warntype_info:polyd:unsigned long",
|
|
"struct warntype_info:species:struct permonst *",
|
|
"struct warntype_info:speciesidx:short",
|
|
"struct you:ux:xchar",
|
|
"struct you:uy:xchar",
|
|
"struct you:dx:schar",
|
|
"struct you:dy:schar",
|
|
"struct you:dz:schar",
|
|
"struct you:di:schar",
|
|
"struct you:tx:xchar",
|
|
"struct you:ty:xchar",
|
|
"struct you:ux0:xchar",
|
|
"struct you:uy0:xchar",
|
|
"struct you:uz:d_level",
|
|
"struct you:uz0:d_level",
|
|
"struct you:utolev:d_level",
|
|
"struct you:utotype:uchar",
|
|
"struct you:umoved:boolean",
|
|
"struct you:last_str_turn:int",
|
|
"struct you:ulevel:int",
|
|
"struct you:ulevelmax:int",
|
|
"struct you:utrap:unsigned",
|
|
"struct you:utraptype:unsigned",
|
|
"struct you:urooms:char",
|
|
"struct you:urooms0:char",
|
|
"struct you:uentered:char",
|
|
"struct you:ushops:char",
|
|
"struct you:ushops0:char",
|
|
"struct you:ushops_entered:char",
|
|
"struct you:ushops_left:char",
|
|
"struct you:uhunger:int",
|
|
"struct you:uhs:unsigned",
|
|
"struct you:uprops:prop",
|
|
"struct you:umconf:unsigned",
|
|
"struct you:usick_type:Bitfield(usick_type, 2)",
|
|
"struct you:nv_range:int",
|
|
"struct you:xray_range:int",
|
|
"struct you:bglyph:int",
|
|
"struct you:cglyph:int",
|
|
"struct you:bc_order:int",
|
|
"struct you:bc_felt:int",
|
|
"struct you:umonster:int",
|
|
"struct you:umonnum:int",
|
|
"struct you:mh:int",
|
|
"struct you:mhmax:int",
|
|
"struct you:mtimedone:int",
|
|
"struct you:macurr:attribs",
|
|
"struct you:mamax:attribs",
|
|
"struct you:ulycn:int",
|
|
"struct you:ucreamed:unsigned",
|
|
"struct you:uswldtim:unsigned",
|
|
"struct you:uswallow:Bitfield(uswallow, 1)",
|
|
"struct you:uinwater:Bitfield(uinwater, 1)",
|
|
"struct you:uundetected:Bitfield(uundetected, 1)",
|
|
"struct you:mfemale:Bitfield(mfemale, 1)",
|
|
"struct you:uinvulnerable:Bitfield(uinvulnerable, 1)",
|
|
"struct you:uburied:Bitfield(uburied, 1)",
|
|
"struct you:uedibility:Bitfield(uedibility, 1)",
|
|
"struct you:udg_cnt:unsigned",
|
|
"struct you:uachieve:u_achieve",
|
|
"struct you:uevent:u_event",
|
|
"struct you:uhave:u_have",
|
|
"struct you:uconduct:u_conduct",
|
|
"struct you:uroleplay:u_roleplay",
|
|
"struct you:acurr:attribs",
|
|
"struct you:aexe:attribs",
|
|
"struct you:abon:attribs",
|
|
"struct you:amax:attribs",
|
|
"struct you:atemp:attribs",
|
|
"struct you:atime:attribs",
|
|
"struct you:ualign:align",
|
|
"struct you:ualignbase:aligntyp",
|
|
"struct you:uluck:schar",
|
|
"struct you:moreluck:schar",
|
|
"struct you:uhitinc:schar",
|
|
"struct you:udaminc:schar",
|
|
"struct you:uac:schar",
|
|
"struct you:uspellprot:uchar",
|
|
"struct you:usptime:uchar",
|
|
"struct you:uspmtime:uchar",
|
|
"struct you:uhp:int",
|
|
"struct you:uhpmax:int",
|
|
"struct you:uen:int",
|
|
"struct you:uenmax:int",
|
|
"struct you:uhpinc:xchar",
|
|
"struct you:ueninc:xchar",
|
|
"struct you:ugangr:int",
|
|
"struct you:ugifts:int",
|
|
"struct you:ublessed:int",
|
|
"struct you:ublesscnt:int",
|
|
"struct you:umoney0:long",
|
|
"struct you:uspare1:long",
|
|
"struct you:uexp:long",
|
|
"struct you:urexp:long",
|
|
"struct you:ucleansed:long",
|
|
"struct you:usleep:long",
|
|
"struct you:uinvault:int",
|
|
"struct you:ustuck:struct monst *",
|
|
"struct you:usteed:struct monst *",
|
|
"struct you:ugallop:long",
|
|
"struct you:urideturns:int",
|
|
"struct you:umortality:int",
|
|
"struct you:ugrave_arise:int",
|
|
"struct you:weapon_slots:int",
|
|
"struct you:skills_advanced:int",
|
|
"struct you:skill_record:xchar",
|
|
"struct you:weapon_skills:skills",
|
|
"struct you:twoweap:boolean",
|
|
"struct you:mcham:short",
|
|
};
|
|
|
|
int critical_members_count()
|
|
{
|
|
return SIZE(critical_members);
|
|
}
|
|
|
|
/*sfdata.c*/
|