Skip to content

Commit

Permalink
Update to work with latest stable
Browse files Browse the repository at this point in the history
  • Loading branch information
blixt committed Jan 29, 2015
1 parent 727bb28 commit 164b77b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 21 deletions.
43 changes: 23 additions & 20 deletions lib/regionrenderer.js
Expand Up @@ -6,7 +6,7 @@ var TILES_Y = 32;
var TILES_PER_REGION = TILES_X * TILES_Y;

var HEADER_BYTES = 3;
var BYTES_PER_TILE = 23;
var BYTES_PER_TILE = 30;
var BYTES_PER_ROW = BYTES_PER_TILE * TILES_X;
var BYTES_PER_REGION = HEADER_BYTES + BYTES_PER_TILE * TILES_PER_REGION;

Expand Down Expand Up @@ -149,9 +149,12 @@ RegionRenderer.prototype._renderEntities = function (renderer, offsetX, offsetY)
case 'ObjectEntity1':
// TODO: Potential conversion code.
case 'ObjectEntity2':
// TODO: Potential conversion code.
case 'ObjectEntity3':
sprites = this._renderObject(renderer, entity);
break;
case 'PlantEntity1':
case 'PlantEntity2':
sprites = this._renderPlant(renderer, entity);
break;
default:
Expand Down Expand Up @@ -465,9 +468,9 @@ RegionRenderer.prototype._renderTile = function (context, x, y, assets, material
if (otop.platform) {
dtop = false;
} else {
itop = assets.getTileImage(otop, 'frames', getUint8(neighbors[0], neighbors[1] + delta + 2));
itop = assets.getTileImage(otop, getUint8(neighbors[0], neighbors[1] + delta + 2));
if (!itop) return false;
vtop = variant % otop.variants * 16;
vtop = variant % otop.renderParameters.variants * 16;
}
}

Expand All @@ -478,9 +481,9 @@ RegionRenderer.prototype._renderTile = function (context, x, y, assets, material
if (oright.platform) {
dright = false;
} else {
iright = assets.getTileImage(oright, 'frames', getUint8(neighbors[4], neighbors[5] + delta + 2));
iright = assets.getTileImage(oright, getUint8(neighbors[4], neighbors[5] + delta + 2));
if (!iright) return false;
vright = variant % oright.variants * 16;
vright = variant % oright.renderParameters.variants * 16;
}
}

Expand All @@ -491,9 +494,9 @@ RegionRenderer.prototype._renderTile = function (context, x, y, assets, material
if (oleft.platform) {
dleft = false;
} else {
ileft = assets.getTileImage(oleft, 'frames', getUint8(neighbors[12], neighbors[13] + delta + 2));
ileft = assets.getTileImage(oleft, getUint8(neighbors[12], neighbors[13] + delta + 2));
if (!ileft) return false;
vleft = variant % oleft.variants * 16;
vleft = variant % oleft.renderParameters.variants * 16;
}
}

Expand All @@ -504,9 +507,9 @@ RegionRenderer.prototype._renderTile = function (context, x, y, assets, material
if (obottom.platform) {
dbottom = false;
} else {
ibottom = assets.getTileImage(obottom, 'frames', getUint8(neighbors[8], neighbors[9] + delta + 2));
ibottom = assets.getTileImage(obottom, getUint8(neighbors[8], neighbors[9] + delta + 2));
if (!ibottom) return false;
vbottom = variant % obottom.variants * 16;
vbottom = variant % obottom.renderParameters.variants * 16;
}
}

Expand All @@ -517,24 +520,24 @@ RegionRenderer.prototype._renderTile = function (context, x, y, assets, material
var hueShift = view.getUint8(offset + delta + 2);

if (ocenter.platform) {
icenter = assets.getTileImage(ocenter, 'platformImage', hueShift);
icenter = assets.getTileImage(ocenter, hueShift);
if (!icenter) return false;

vcenter = variant % ocenter.platformVariants * 8;
vcenter = variant % ocenter.renderParameters.variants * 8;
if (mleft > 0 && mleft != mcenter && mright > 0 && mright != mcenter) {
vcenter += 24 * ocenter.platformVariants;
vcenter += 24 * ocenter.renderParameters.variants;
} else if (mright > 0 && mright != mcenter) {
vcenter += 16 * ocenter.platformVariants;
vcenter += 16 * ocenter.renderParameters.variants;
} else if (mleft < 1 || mleft == mcenter) {
vcenter += 8 * ocenter.platformVariants;
vcenter += 8 * ocenter.renderParameters.variants;
}

context.drawImage(icenter, vcenter, 0, 8, 8, x, y, 8, 8);
} else {
icenter = assets.getTileImage(ocenter, 'frames', hueShift);
icenter = assets.getTileImage(ocenter, hueShift);
if (!icenter) return false;

vcenter = variant % ocenter.variants * 16;
vcenter = variant % ocenter.renderParameters.variants * 16;
context.drawImage(icenter, vcenter + 4, 12, 8, 8, x, y, 8, 8);
}
}
Expand Down Expand Up @@ -616,10 +619,10 @@ RegionRenderer.prototype._renderTile = function (context, x, y, assets, material
mod = matmods[modId];
if (!mod) return false;

modImage = assets.getTileImage(mod, 'frames', view.getUint8(offset + delta + 6));
modImage = assets.getTileImage(mod, view.getUint8(offset + delta + 6));
if (!modImage) return false;

context.drawImage(modImage, 4 + variant % mod.variants * 16, 12, 8, 8, x, y - 4, 8, 8);
context.drawImage(modImage, 4 + variant % mod.renderParameters.variants * 16, 12, 8, 8, x, y - 4, 8, 8);
}

// Render the matmod of the tile below this one (if it overflows).
Expand All @@ -629,10 +632,10 @@ RegionRenderer.prototype._renderTile = function (context, x, y, assets, material
mod = matmods[modId];
if (!mod) return false;

modImage = assets.getTileImage(mod, 'frames', getUint8(neighbors[8], neighbors[9] + delta + 6));
modImage = assets.getTileImage(mod, getUint8(neighbors[8], neighbors[9] + delta + 6));
if (!modImage) return false;

context.drawImage(modImage, 4 + variant % mod.variants * 16, 8, 8, 4, x, y, 8, 4);
context.drawImage(modImage, 4 + variant % mod.renderParameters.variants * 16, 8, 8, 4, x, y, 8, 4);
}
}

Expand Down
2 changes: 1 addition & 1 deletion lib/worldrenderer.js
Expand Up @@ -12,7 +12,7 @@ var TILES_Y = 32;
var TILES_PER_REGION = TILES_X * TILES_Y;

var HEADER_BYTES = 3;
var BYTES_PER_TILE = 23;
var BYTES_PER_TILE = 30;
var BYTES_PER_ROW = BYTES_PER_TILE * TILES_X;
var BYTES_PER_REGION = HEADER_BYTES + BYTES_PER_TILE * TILES_PER_REGION;

Expand Down

0 comments on commit 164b77b

Please sign in to comment.