Exemplo n.º 1
0
void field_load(SCM src)
{
     field_smob *fs = assert_field_smob(src);
     CHECK(mdata, "init-params must be called before field-load");
     update_curfield_smob();
     CHECK(fields_conform(fs, &curfield_smob),
	   "argument for field-load must conform to current size");
     curfield_smob.type = fs->type;
     field_set(&curfield_smob, fs);
}
Exemplo n.º 2
0
void freeze_block(Block * block, Field field) {
  if (NULL_BLOCK(*block)) return;

  int i, j;

  for (i = 0; i < SHAPE_HEIGHT; i++) {
    for (j = 0; j < SHAPE_WIDTH; j++) {
      if (shapes[block->shape][block->rot][i][j]) {
        field_set(field, block->x + j, block->y + i, block->shape);
      }
    }
  }

  *block = BLOCK_NULL;
}
Exemplo n.º 3
0
void field_setB(SCM dest, SCM src)
{
     field_smob *fd = assert_field_smob(dest);
     field_smob *fs = assert_field_smob(src);
     field_set(fd, fs);
}