#!/usr/bin/perl -w

# This is part of the YARRG website.  YARRG is a tool and website
# for assisting players of Yohoho Puzzle Pirates.
#
# Copyright (C) 2009 Ian Jackson <ijackson@chiark.greenend.org.uk>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Yohoho and Puzzle Pirates are probably trademarks of Three Rings and
# are used without permission.  This program is not endorsed or
# sponsored by Three Rings.

BEGIN { unshift @INC, qw(.) }

use strict (qw(vars));

use CommodsDatabase;

my $ocean= shift @ARGV;

db_setocean($ocean);
db_connect();
my $islands= $dbh->selectall_arrayref('
	SELECT islandid,islandname FROM islands;
');
my $routes= $dbh->selectall_arrayref('
	SELECT aiid, biid, dist	FROM routes;
');
$dbh->disconnect();

#use Data::Dumper;
#print Dumper($results);

print "strict graph $ocean {\n";
print "    splines=true;\n";
print "    nslimit=10;\n";
print "    mclimit=10;\n";

foreach my $row (@$islands) {
    my ($id,$str) = @$row;
    $str =~ s/[\"\\]/\\$&/g;
    print "    n$id [ label=\"$str\" ];\n";
}
foreach my $row (@$routes) {
    my ($ia,$ib,$dist) = @$row;
    print "    n$ia -- n$ib [ w=".(1.0/($dist*$dist)).", len=".(0.5*$dist+1).", label=$dist ];\n";
    #len=$dist, minlen=$dist, , ,
    #w=".(1.0/$dist).", 
}

print "}\n";
