// todo want to fix this for at least basic game reconfigs, auto-reload?
}
-function api(meth: string, data: Object) {
+function api_immediate(meth: string, data: Object) {
api_queue.push([meth, data]);
api_check();
}
api_check();
}
-function api_piece(f: (meth: string, payload: Object) => void,
+function api_piece_x(f: (meth: string, payload: Object) => void,
meth: string,
piece: PieceId, p: PieceInfo,
op: Object) {
op : op,
})
}
+function api_piece(meth: string,
+ piece: PieceId, p: PieceInfo,
+ op: Object) {
+ api_piece_x(api_immediate, meth, piece, p, op);
+}
function svg_element(id: string): SVGGraphicsElement | null {
let elem = document.getElementById(id);
for (var piece of uo.targets!) {
let p = pieces[piece]!;
- api_piece(api, 'k', piece, p, { opname: uo.opname, wrc: uo.wrc });
+ api_piece('k', piece, p, { opname: uo.opname, wrc: uo.wrc });
if (uo.wrc == 'UpdateSvg') {
p.cseq_updatesvg = p.cseq;
redisplay_ancillaries(piece,p);
p.angle %= 8;
let transform = wasm_bindgen.angle_transform(p.angle);
p.pelem.setAttributeNS(null,'transform',transform);
- api_piece(api, 'rotate', piece,p, p.angle);
+ api_piece('rotate', piece,p, p.angle);
}
recompute_keybindings();
return true;
piece_set_zlevel(e.piece, p, (oldtop_piece) => {
let z = zrange.next();
p.z = z;
- api_piece(api, "setz", e.piece, e.p, { z });
+ api_piece("setz", e.piece, e.p, { z });
});
}
}
for (let piece of uo.targets!) {
let p = pieces[piece]!;
p.pinned = newpin;
- api_piece(api, 'pin', piece,p, newpin);
+ api_piece('pin', piece,p, newpin);
redisplay_ancillaries(piece,p);
}
recompute_keybindings();
+SPECIAL_MULTI_DELTA_MAX);
drag_add_piece(piece,p);
set_grab_us(piece,p);
- api_piece(api, wresting ? 'wrest' : 'grab', piece,p, { });
+ api_piece(wresting ? 'wrest' : 'grab', piece,p, { });
}
} else {
add_log_message('That piece is held by another player.');
p.drag_delta = 0;
redisplay_ancillaries(piece,p);
recompute_keybindings();
- api_piece(api, 'ungrab', piece,p, { autoraise });
+ api_piece('ungrab', piece,p, { autoraise });
}
function clear_halo(piece: PieceId, p: PieceInfo) {
);
piece_set_pos_core(tp, x, y);
tp.queued_moves++;
- api_piece(api_delay, 'm', tpiece,tp, [x, y] );
+ api_piece_x(api_delay, 'm', tpiece,tp, [x, y] );
if (need_redisplay_ancillaries) redisplay_ancillaries(tpiece, tp);
}
if (!(dragging & DRAGGING.RAISED)) {
let oldtop_p = pieces[oldtop_piece]!;
let z = wasm_bindgen.increment(oldtop_p.z);
p.z = z;
- api_piece(api, "setz", piece,p, { z: z });
+ api_piece("setz", piece,p, { z: z });
});
}
}