(defpackage :tracks (:use :cl) (:export :init-tracks :load-trackdb :dump-track-definitions :gvdump :trackside :dijkstra)) (in-package :tracks) (defparameter *hdiff* '#((0 . 1) (1 . 2) (1 . 1) (2 . 1) (1 . 0) (2 . -1) (1 . -1) (1 . -2) (0 . -1) (-1 . -2) (-1 . -1) (-2 . -1) (-1 . 0) (-2 . 1) (-1 . 1) (-1 . 2))) (defparameter *dirnames* #("N" "NNE" "NE" "ENE" "E" "ESE" "SE" "SSE" "S" "SSW" "SW" "WSW" "W" "WNW" "NW" "NNW")) (defparameter *track->conns* (make-hash-table :test #'equal))