in rts/frontend/game.js [454:517]
var render = function (game) {
tick = game.tick;
ctx.beginPath()
ctx.fillStyle = "Black";
ctx.font = "15px Arial";
var label = "Tick: " + tick;
ctx.fillText(label, left_frame_width + 10, 20);
ctx.closePath();
onMap(game.rts_map);
if (! game.spectator) {
onPlayerSeenUnits(game.rts_map);
}
var all_units = {};
var selected = {};
for (var i in game.players) {
onPlayerStats(game.players[i]);
}
for (var i in game.units) {
var unit = game.units[i];
all_units[unit.id] = unit;
var s_units = game.selected_units;
var isSelected = (s_units && s_units.indexOf(unit.id) >= 0);
if (isSelected) {
selected[unit.id] = unit;
}
onUnit(unit, isSelected);
}
if (dragging && x_down && y_down) {
ctx.lineWidth = 2;
ctx.beginPath();
ctx.rect(x_down, y_down, x_curr - x_down, y_curr - y_down);
ctx.strokeStyle = 'green';
ctx.stroke();
ctx.closePath();
}
for (var i in game.bullets) {
onBullet(game.bullets[i]);
}
var len = Object.keys(selected).length;
if (len == 1) {
var idx = Object.keys(selected)[0];
var unit = selected[idx];
draw_state(unit);
}
ctx.beginPath();
ctx.fillStyle = "Black";
ctx.font = "15px Arial";
if (len > 1) {
var label = len + " units";
ctx.fillText(label ,left_frame_width + 50, 200);
}
var label = "Current FPS is " + Math.floor(50 * Math.pow(1.3, speed));
ctx.fillText(label, left_frame_width + 50, 570);
if (game.replay_length) {
range1.value = 100 * game.tick / game.replay_length;
}
var label = "Current progress_percent is " + range1.value;
ctx.fillText(label, left_frame_width + 50, 670);
ctx.closePath();
};