static void wall_read(connection * b, gamedata * data) { static wall_data dummy; wall_data *fd = b->data.v ? (wall_data *)b->data.v : &dummy; read_unit_reference(data, &fd->mage, NULL); READ_INT(data->store, &fd->force); READ_INT(data->store, &fd->countdown); fd->active = true; }
static int giveitem_read(trigger * t, gamedata *data) { giveitem_data *td = (giveitem_data *)t->data.v; char zText[128]; int result; result = read_unit_reference(data, &td->u, NULL); READ_INT(data->store, &td->number); READ_TOK(data->store, zText, sizeof(zText)); td->itype = it_find(zText); assert(td->itype); if (result == 0) { return AT_READ_FAIL; } return AT_READ_OK; }
static int read_follow(attrib * a, void *owner, struct storage *store) { read_unit_reference(store); /* skip it */ return AT_READ_FAIL; }