Copyright (c) 1997-2005 Jerome Jacovella-St-Louis
All Rights Reserved.
-
+
tiles.ec - Main Module
****************************************************************************/
import "astar.ec"
uint16 * regions;
uint16 * contents;
uint16 * frames;
-
+
// Dimension Stuff
int numLayers;
Point maxDim;
// What's this for??
Direction direction;
- uint16 displaced;
+ uint16 displaced;
byte retries;
Point path[256];
bool chase;
int pathPos;
Direction direction;
- uint16 displaced;
+ uint16 displaced;
byte retries;
Point path[MAXPATH];
bool chase;
Point UnitExact(TileMap * map, TileUnit * unit)
{
Point exact;
-
+
exact.x = unit->pos.x*map->tileW*map->maxDim.x/map->dim[unit->space].x;
exact.y = unit->pos.y*map->tileH*map->maxDim.y/map->dim[unit->space].y;
MapForward(unit->direction,&exact,unit->displaced);
if(!target||(target==unit))
return false;
-
+
unit->chase=1;
unit->target=target;
UnitRemove(map, unit);
surface.SetForeground(white);
exact = Point{exact.x-viewX*map->tileW, exact.y-viewY*map->tileH};
-
+
if(!unit->space)
{
unit->sprite.DisplayFrame(surface,unit->seqPos,exact.x,exact.y,true,unit->filter);
{
frame += unit->direction;
unit->sprite.DisplayFrame(surface,frame,exact.x,exact.y,false,unit->filter);
- }
+ }
}
}
}
unit->event = Moving;
- if(unit->tick<seq->frames[unit->event][unit->seqPos].wait)
+ if(unit->tick<seq->frames[unit->event][unit->seqPos].wait)
return;
unit->displaced+=seq->frames[unit->event][unit->seqPos].walk;