summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/webserver
diff options
context:
space:
mode:
authorNate Rook <nrook@google.com>2014-07-19 13:42:49 -0700
committerNeil Moore <neil@s-z.org>2014-07-20 15:32:15 -0400
commit9ff0d5b6caf744aa25243612a9d2c61fe8781cf0 (patch)
treeebb93a282250479a829813c1f62894580c6375bd /crawl-ref/source/webserver
parentc0b7207e917e7787ce182b86de917ab0d83ee27c (diff)
downloadcrawl-ref-9ff0d5b6caf744aa25243612a9d2c61fe8781cf0.tar.gz
crawl-ref-9ff0d5b6caf744aa25243612a9d2c61fe8781cf0.zip
Webtiles: Make visible() take a cell rather than coordinates.
All callers already have a cell; this leads to performance improvements in those cases, since get() doesn't need to be called. Previously calls to visible() took around 4.3ms per player move. Now they take around 2.1ms. (V8) [Committer's note: removed some now-unnecessary braces. -nfm]
Diffstat (limited to 'crawl-ref/source/webserver')
-rw-r--r--crawl-ref/source/webserver/game_data/static/dungeon_renderer.js2
-rw-r--r--crawl-ref/source/webserver/game_data/static/map_knowledge.js3
-rw-r--r--crawl-ref/source/webserver/game_data/static/monster_list.js12
3 files changed, 6 insertions, 11 deletions
diff --git a/crawl-ref/source/webserver/game_data/static/dungeon_renderer.js b/crawl-ref/source/webserver/game_data/static/dungeon_renderer.js
index 3a303fba18..8f236969b8 100644
--- a/crawl-ref/source/webserver/game_data/static/dungeon_renderer.js
+++ b/crawl-ref/source/webserver/game_data/static/dungeon_renderer.js
@@ -246,7 +246,7 @@ function ($, cr, map_knowledge, options, dngn) {
{
var map_cell = map_knowledge.get(cx, cy);
var cell = map_cell.t;
- if (map_knowledge.visible(cx, cy) && cell_is_animated(cell))
+ if (map_knowledge.visible(map_cell) && cell_is_animated(cell))
{
animate_cell(cell);
var x = (cx - this.view.x) * this.cell_width;
diff --git a/crawl-ref/source/webserver/game_data/static/map_knowledge.js b/crawl-ref/source/webserver/game_data/static/map_knowledge.js
index e5564d4f83..f57f546cf6 100644
--- a/crawl-ref/source/webserver/game_data/static/map_knowledge.js
+++ b/crawl-ref/source/webserver/game_data/static/map_knowledge.js
@@ -33,9 +33,8 @@ define(["jquery", "./enums"], function ($, enums) {
bounds = null;
}
- function visible(x, y)
+ function visible(cell)
{
- var cell = get(x, y);
if (cell.t)
{
cell.t.bg = enums.prepare_bg_flags(cell.t.bg || 0);
diff --git a/crawl-ref/source/webserver/game_data/static/monster_list.js b/crawl-ref/source/webserver/game_data/static/monster_list.js
index 18f4943085..200d7be300 100644
--- a/crawl-ref/source/webserver/game_data/static/monster_list.js
+++ b/crawl-ref/source/webserver/game_data/static/monster_list.js
@@ -16,14 +16,10 @@ function ($, map_knowledge, cr, dungeon_renderer, options) {
function update_loc(loc)
{
- var mon = map_knowledge.get(loc.x, loc.y).mon;
- if (mon)
- {
- if (map_knowledge.visible(loc.x, loc.y))
- monsters[[loc.x,loc.y]] = { mon: mon, loc: loc };
- else
- delete monsters[[loc.x,loc.y]];
- }
+ var map_cell = map_knowledge.get(loc.x, loc.y);
+ var mon = map_cell.mon;
+ if (mon && map_knowledge.visible(map_cell))
+ monsters[[loc.x,loc.y]] = { mon: mon, loc: loc };
else
delete monsters[[loc.x,loc.y]];
}