var tileIndex = argument0;
var tX = argument1;
var tY = argument2;
//////////////////////////////////////////////////////////////
var screenX = TileToScreenX(tX,tY);
var screenY = TileToScreenY(tX,tY);
var tLeft = tile_get_left(tileIndex) / TILE_SIZE;
var tTop = tile_get_top(tileIndex) / TILE_SIZE;
var tXscale = tile_get_xscale(tileIndex);
var tYscale = tile_get_yscale(tileIndex);
var isoSpriteIndex = irandom(14);
var isoXscale = 1;
var isoYscale = 1;
switch (tTop) {
case 0: switch (tLeft) {
case 0:
isoSpriteIndex = 8;
break;
case 2:
isoSpriteIndex = 11;
break;
case 3:
isoSpriteIndex = 2;
if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 12;
}
else if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 12;
isoXscale = -1;
isoYscale = -1;
}
else {
if (tYscale == -1) isoYscale = -1;
if (tXscale == -1) isoXscale = -1;
}
break;
} break;
case 1: switch (tLeft) {
case 0:
isoSpriteIndex = 0;
if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 3;
isoXscale = -1;
}
else if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 3;
}
else if (tYscale == -1) isoYscale = -1;
break;
case 1:
isoSpriteIndex = 1;
if (tYscale == 1 && tXscale == 1) isoXscale = -1;
else if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 9;
isoXscale = -1;
}
else if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 9
isoYscale = -1;
}
else if (tYscale == -1 && tXscale == -1) {
isoYscale = -1;
isoXscale = 1;
}
else {
if (tYscale == -1) isoYscale = -1;
if (tXscale == -1) isoXscale = -1;
}
break;
case 2:
isoSpriteIndex = 4;
if (tYscale == 1 && tXscale == 1) isoXscale = -1;
else if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 6;
isoYscale = -1;
}
else if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 6;
isoXscale = -1;
}
else if (tYscale == -1 && tXscale == -1) {
isoYscale = -1;
isoXscale = 1;
}
else {
if (tYscale == -1) isoYscale = -1;
if (tXscale == -1) isoXscale = -1;
}
break;
case 3:
isoSpriteIndex = 5;
if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 13;
}
else if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 13;
isoXscale = -1;
isoYscale = -1;
}
else {
if (tYscale == -1) isoYscale = -1;
if (tXscale == -1) isoXscale = -1;
}
break;
case 4:
isoSpriteIndex = 1;
if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 9;
isoXscale = -1;
isoYscale = -1;
}
else if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 9;
}
else {
if (tYscale == -1) isoYscale = -1;
if (tXscale == -1) isoXscale = -1;
}
break;
} break;
case 2: switch (tLeft) {
case 0:
isoSpriteIndex = 2;
if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 12;
isoXscale = -1;
}
else if (tYscale == 1 && tXscale == 1) {
isoXscale = -1;
}
else if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 12;
isoYscale = -1;
}
else if (tYscale == -1) isoYscale = -1;
break;
case 1:
isoSpriteIndex = 5;
if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 13;
isoXscale = -1;
}
else if (tYscale == 1 && tXscale == 1) {
isoXscale = -1;
}
else if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 13;
isoYscale = -1;
}
else if (tYscale == -1) isoYscale = -1;
break;
case 2:
isoSpriteIndex = 7;
if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 10;
isoXscale = -1;
}
else if (tYscale == 1 && tXscale == 1) {
isoXscale = -1;
}
else if (tYscale == -1 && tXscale == -1) {
isoSpriteIndex = 7;
isoYscale = -1;
}
else if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 10;
isoYscale = -1;
}
else {
if (tYscale == -1) isoYscale = -1;
if (tXscale == -1) isoXscale = -1;
}
break;
case 3:
isoSpriteIndex = 7;
if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 10;
}
else if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 10;
isoXscale = -1;
isoYscale = -1;
}
else {
if (tYscale == -1) isoYscale = -1;
if (tXscale == -1) isoXscale = -1;
}
break;
case 4:
isoSpriteIndex = 4;
if (tYscale == 1 && tXscale == -1) {
isoSpriteIndex = 6;
isoYscale = -1;
isoXscale = -1;
}
else if (tYscale == -1 && tXscale == 1) {
isoSpriteIndex = 6;
}
else {
if (tYscale == -1) isoYscale = -1;
if (tXscale == -1) isoXscale = -1;
}
break;
}
}
if (isoXscale = -1) screenX += TILE_W;
if (isoYscale = -1) screenY += TILE_H;
draw_sprite_ext(sprite2, isoSpriteIndex, screenX, screenY, isoXscale, isoYscale, 0, c_white, 1);