Added some starting structure and documentation.  Fixed bug with ignore file.
Released under the MIT license.
Built basic hello-world main along with a simple build system.

At this point I don't have a need for an advanced build system. That may change very soon, but for now scripts will work well.
Don't need to track .lst files!
Build-time versioning.

Chose to use a datetime stamp as the version code.  Makes things simple.
Added library gathering functionality to build scripts.  Added starts for the tile grabber and zoomer code.

Library gathering tested on Win7, should be sane in Linux land too.
Added build steps to README.
rdmd really cleans up the build scripts and makes life generally easier!
Corrected executable output location.

rdmd places the executable in the source directory instead of the working directory.  Not what I want.
Added configuration file and a logging service.

The logging service still needs to be able to write to disk, but that'll come when it's needed.

JSON is easy to bring in, as the parsing facilities are part of the standard lib, but it's not very forgiving syntax wise nor does it have nice automatic connections between variables and keys.  Ah well, works for now.
Cleaned out the globals.

Turns out that they were not useful.  Gonzolas!
Got the code able to download a file from a server!

This introduces the first dependency: libcurl.
Added ability to connect to database to get regions and then download them.

Included is a new configuration parameter "database_connection" which is required if the --gettiles flag is set.

Note that the tile downloading process is SLOW: the regions take about 1/2 a second to create the tile and send it over.  Anything to reduce the number of calls or improve the speed is important here!
Exiting early from build is cleaner. LGRP_APP should be private to the module.

Some libraries can depend on other libs, and trying to handle that via the needsextract flag was getting bad - it was overloading the purpose and meaning, and having a flag in the first place is bad enough, adding more wasn't a good idea to me.
However the exit command has the /B flag which allow it to work like exit in UNIX shells: just exit the script, not the whole world.  This is what I wanted in the first place!

There's no need for any other module to see that constant.
Split off version statement.

This way the version line comes AFTER the greeting.
Add scope statements to contract terms.

It's nice to have more information than a line number sometimes.

Note that the scope statement is before the assert: if it's put after, like often used in the Exception Safety docs, it'll never be executed as the assert drops first.
Make error reporting clearer about what actually was wrong.

Scope calls stack up, useful in certain circumstances, but in this case only caused confusion.  Better to narrow the scope a mite so that one error report goes to one block of asserts.
Downloaded tiles were corrupted due to wrong command usage.

Using write() with get() is semi-ok for text files, but for binary data, lots of mess happens.

Added a unit test to catch that class of error, and which will also catch format errors and changes, and corrected the problem.
Added ability to create the ocean tile.

The build system for this commit leaves much to be desired: Windows requires a ton of intervention, Linux is untouched, and the DMagick lib requires custom changes.  I'll be addressing this ASAP.

The ocean tile creation is a huge leap forward: now the image processing library is in place and operational - even if how to get there isn't obvious at this stage.  I'll get that ironed out and the actual zoom algorithm built shortly.

Not entirely sure why the tile color isn't exactly as requested, but for now it is close enough.
Build system improvements.

More verbosity during time-consuming activities.  Makes the time not feel so long.
Cleaned out non-essential actions, such as building the DMagick library - we are using the source directly!

Temporarily swapped to using my fork of DMagick to get support for the DMagick_No_Display version flag.  This allows us to avoid having to link with User32.lib and waste space and time on GUI functionality that will never be used.