str BOXtoString(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { str name; Box box; (void) cntxt; (void) mb; (void) stk; /*fool compiler */ OpenBox("toString"); return MAL_SUCCEED; }
str BOXreleaseAll(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { str name; Box box; (void) cntxt; (void) mb; /*fool compiler */ OpenBox("releaseAll"); releaseAllBox(box); return MAL_SUCCEED; }
str BOXdestroy(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { Box box; str name; (void) cntxt; (void) mb; (void) stk; /*fool compiler */ OpenBox("destroy"); destroyBox(name); return MAL_SUCCEED; }
str BOXrelease(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { str name; Box box; (void) cntxt; (void) mb; /*fool compiler */ OpenBox("release"); name = *(str *) getArgReference(stk, pci, 2); releaseBox(box, name); return MAL_SUCCEED; }
void FieldView::ClickBox(const IntPoint &pt) { if (pt.x >= fField->Width() || pt.y >= fField->Height()) return; if (fField->TileDigit(pt) == 0) { FloodReveal(pt); Window()->UpdateIfNeeded(); } else OpenBox(pt); }
str BOXdiscard(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { str name; Box box; (void) cntxt; (void) mb; /*fool compiler */ OpenBox("discard"); name = *(str *) getArgReference(stk, pci, 2); if (discardBox(box, name)) throw(MAL, "box.discard", OPERATION_FAILED); return MAL_SUCCEED; }
str BOXdeposit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { str name; ValPtr v; Box box; (void) cntxt; (void) mb; OpenBox("deposit"); name = *(str *) getArgReference(stk, pci, 2); v = getArgReference(stk,pci,3); if (depositBox(box, name, getArgType(mb,pci,2), v)) throw(MAL, "box.deposit", OPERATION_FAILED); return MAL_SUCCEED; }
str BOXiterator(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { str name; Box box; oid *cursor; ValPtr v; (void) cntxt; (void) mb; /*fool compiler */ OpenBox("iterator"); cursor = (oid *) getArgReference(stk, pci, 0); v = getArgReference(stk,pci,2); (void) nextBoxElement(box, cursor, v); return MAL_SUCCEED; }
str BOXtake(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { str name; Box box; ValPtr v; (void) cntxt; OpenBox("take"); name = *(str *) getArgReference(stk, pci, 2); v = getArgReference(stk,pci,0); if (takeBox(box, name, v, (int) getArgType(mb, pci, 0))) throw(MAL, "box.take", OPERATION_FAILED); (void) mb; return MAL_SUCCEED; }
IE::rect Door::Frame() const { return Opened() ? OpenBox() : ClosedBox(); }
void FieldView::FloodReveal(IntPoint pt) { OpenBox(pt); IntPoint temppt; if (pt.y > 0) { if (pt.x > 0) { temppt = pt; temppt.x--; temppt.y--; if (fField->GetState(temppt) == BOX_UNMARKED) { if (fField->TileDigit(temppt) == 0) FloodReveal(temppt); else OpenBox(temppt); } } temppt = pt; temppt.y--; if (fField->GetState(temppt) == BOX_UNMARKED) { if (fField->TileDigit(temppt) == 0) FloodReveal(temppt); else OpenBox(temppt); } if (pt.x < (fField->Width() - 1)) { temppt = pt; temppt.x++; temppt.y--; if (fField->GetState(temppt) == BOX_UNMARKED) { if (fField->TileDigit(temppt) == 0) FloodReveal(temppt); else OpenBox(temppt); } } } if (pt.x > 0) { temppt = pt; temppt.x--; if (fField->GetState(temppt) == BOX_UNMARKED) { if (fField->TileDigit(temppt) == 0) FloodReveal(temppt); else OpenBox(temppt); } } if (pt.x < (fField->Width() - 1)) { temppt = pt; temppt.x++; if (fField->GetState(temppt) == BOX_UNMARKED) { if (fField->TileDigit(temppt) == 0) FloodReveal(temppt); else OpenBox(temppt); } } if (pt.y < (fField->Height() - 1)) { if (pt.x > 0) { temppt = pt; temppt.x--; temppt.y++; if (fField->GetState(temppt) == BOX_UNMARKED) { if (fField->TileDigit(temppt) == 0) FloodReveal(temppt); else OpenBox(temppt); } } temppt = pt; temppt.y++; if (fField->GetState(temppt) == BOX_UNMARKED) { if (fField->TileDigit(temppt) == 0) FloodReveal(temppt); else OpenBox(temppt); } if (pt.x < (fField->Width() - 1)) { temppt = pt; temppt.x++; temppt.y++; if (fField->GetState(temppt) == BOX_UNMARKED) { if (fField->TileDigit(temppt) == 0) FloodReveal(temppt); else OpenBox(temppt); } } } }