+ } else if (box_inOp.dataReadyForShip()) {
+ long op = box_inOp.peekDataForShip();
+ op_count = (op & 15)==12;
+ op_repeat = ((op>>2) & 3)==0;
+ op_pass = ((op>>2) & 3)==1;
+ op_drop = ((op>>2) & 3)==2;
+ op_c1 = (op_repeat || op_pass || op_drop) && !(((op>>1)&1)!=0);
+ op_c2 = (op_repeat || op_pass || op_drop) && (((op>>1)&1)!=0);
+ op_v1 = (op_repeat || op_pass || op_drop) && !(((op>>0)&1)!=0);
+ op_v2 = (op_repeat || op_pass || op_drop) && (((op>>0)&1)!=0);
+ if (!full) {
+ if (op_count && box_in1.dataReadyForShip() && box_in2.dataReadyForShip()) {
+ temp = box_in1.peekDataForShip() - box_in2.peekDataForShip();
+ box_in1.removeDataForShip();
+ full = true;
+ } else if (op_c1 && box_in1.dataReadyForShip()) {
+ temp = box_in1.peekDataForShip() - 1;
+ box_in1.removeDataForShip();
+ full = true;
+ } else if (op_c2 && box_in2.dataReadyForShip()) {
+ temp = box_in2.peekDataForShip() - 1;
+ box_in2.removeDataForShip();
+ full = true;
+ }
+ } else if (temp < 0) {
+ full = false;
+ box_inOp.removeDataForShip();