Lua/ysdl Awesome Tower Defense
------------------------------
This is a Lua port of Trygve Vea's Awesome Tower Defense 0.3. It
was written as a demonstration and testbed for the ysdl Lua/SDL
binding.  The original C code came from

    http://anticrap.net/awesometd/

and you may also follow ongoing development of the original Awesome
Tower Defense at

    http://github.com/kvisle/awesometd

Both the C and Lua versions are licensed under the GNU General
Public License, version 2 or later. See the file COPYING for details.

Requirements:
   Lua 5.1.x
   SDL 1.2.x
   SDL-image 1.2.x

You may need to fix up the Makefile a bit to get it to compile on
your system.  Once compiled, run as:

$ ./awesometd-ysdl main.lua

from the directory containing the source code and 'data' subdirectory.

Changes and new features this version (0.3r4):

- Waypoint pathfinding: no more hard-coded map starts and exits,
    plus more flexibility in paths. See the comments in levels.lua
    for a description.
- Lee algorithm pathfinding: allows monsters to find the shortest
    path from amongst multiple possibilities.  Allows open play
    areas within a map where both monsters and towers can be placed
    (similar to Desktop Tower Defense).
- Monsters may now move diagonally; some of their sprite image files
    have been updated to include the diagonally-rotated images
- Cursor now is a semi-transparent overlay, which changes color red or
    green depending on whether a tower may be placed under it. It
    also will change to say "would block" if an attempt is made to
    place a tower within a Lee-algorithm map where it would block
    any monster entrances or exits.
- 'Fast' play mode: hitting 'F' toggles game logic running at 5
    times normal speed -- useful to speed play-testing and debugging.
- Optionally load map backgrounds from file (using SDL_image).
- Automatic generation of map backgrounds rewritten to handle the
    open spaces available with Lee-algorithm pathfinding.
- gfx_charmap now uses bitmap font which handles all ASCII
    characters (32-126, although the lower and upper case characters
    are currently the same).
- Quick hack to main menu to allow selection from multiple levels.
- Dropped use of timers, only because I didn't want to add the Lua
    support for SDL timers.

Comments, bug reports, and improvements are welcome at <musound at
jps dot net>.  Have fun,

-Sean Bolton

==============================================================================

From the original 0.3 README file:
----------------------------------

Awesome Tower Defense    0.3
============================

Awesome Tower Defense is one of Trygve Vea's pet projects. It is written in
C/SDL, because C is awesome and SDL is easy. The combination makes it pretty
easy to port the game into different platforms.

It is also licensed under the GNU General Public License v2.0

It's currently known to work unmodified and natively on the following 
platforms/architectures:

    GNU/Linux 2.6 x86
    GNU/Linux 2.6 x86-64
    Mac OS X x86
    Mac OS X PPC
    Windows XP/Vista x86

