morvoldpress support

This commit is contained in:
Ian Gulliver
2023-05-14 18:01:39 -07:00
parent d1e90e70ac
commit 1136cf1210
2 changed files with 86 additions and 61 deletions

View File

@@ -14,6 +14,7 @@ import (
var mapSigs = map[string]string{ var mapSigs = map[string]string{
"./*.jpg;./*.psd;Objects/*.png": "patreon-drmapzo-diamond", "./*.jpg;./*.psd;Objects/*.png": "patreon-drmapzo-diamond",
"./*.jpg;./*.png;./*.psd;Objects/*.png": "patreon-drmapzo-diamond", "./*.jpg;./*.png;./*.psd;Objects/*.png": "patreon-drmapzo-diamond",
"./*.jpg;./*.webp;Objects/*.png": "patreon-morvoldpress-tier2",
} }
func main() { func main() {

View File

@@ -30,70 +30,88 @@ var removeWords = map[string]bool{
"res": true, "res": true,
"roll20": true, "roll20": true,
"roll20+tokens": true, "roll20+tokens": true,
"support": true,
"tier": true,
"tokens": true, "tokens": true,
} }
var actions = map[string]string{ var actions = map[string]string{
"creature tokens/*.png": "Creatures", "2nd floors/*.png": "Maps/{MAPNAME}/Objects",
"grid/*.jpg": "{SKIP}", "assets & tiles/*.png": "Maps/{MAPNAME}/Objects",
"grid/grid 1/*.jpg": "{SKIP}", "assets & tiles/rooftops/*.png": "Maps/{MAPNAME}/Objects",
"grid/grid 2/*.jpg": "{SKIP}", "assets & tokens/*.png": "Maps/{MAPNAME}/Objects",
"gridless/*.jpg": "Maps/{MAPNAME}", "assets & tokens/rooftops/*.png": "Maps/{MAPNAME}/Objects",
"gridless/extra color/*.jpg": "Maps/{MAPNAME}", "assets & tokens/rooftop_tiles/*.png": "Maps/{MAPNAME}/Objects",
"gridless/line/*.jpg": "Maps/{MAPNAME}", "assets & tokens/tiles or tokens/*.png": "Maps/{MAPNAME}/Objects",
"gridless/normal/*.jpg": "Maps/{MAPNAME}", "creature tokens/*.png": "Creatures",
"line/*.jpg": "Maps/{MAPNAME}", "grid/*.jpg": "{SKIP}",
"map tokens/*.png": "Maps/{MAPNAME}/Objects", "grid/grid 1/*.jpg": "{SKIP}",
"tokens/*.png": "Maps/{MAPNAME}/Objects", "grid/grid 2/*.jpg": "{SKIP}",
"./*.psd": "Maps/{MAPNAME}", "gridded/*.dd2vtt": "{SKIP}",
"*/high resolution/*.jpg": "Maps/{MAPNAME}", // Trust that it's gridless "gridded/*.jpg": "{SKIP}",
"*/high resolution/*.png": "Maps/{MAPNAME}", // Trust that it's gridless "gridded/*.webp": "{SKIP}",
"*/gridless/*.jpg": "Maps/{MAPNAME}", "gridless/*.jpg": "Maps/{MAPNAME}",
"*/high-res/gridless/*.jpg": "Maps/{MAPNAME}", "gridless/extra color/*.jpg": "Maps/{MAPNAME}",
"*/high-res/gridless/*.png": "Maps/{MAPNAME}", "gridless/line/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/*.jpg": "Maps/{MAPNAME}", "gridless/normal/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/*.png": "Maps/{MAPNAME}", "line/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/attic/*.jpg": "Maps/{MAPNAME}", "map tokens/*.png": "Maps/{MAPNAME}/Objects",
"*/high res/gridless/attic/*.png": "Maps/{MAPNAME}", "sloop vessel/*.png": "Maps/{MAPNAME}/Objects",
"*/high res/gridless/basement/*.jpg": "Maps/{MAPNAME}", "tokens/*.png": "Maps/{MAPNAME}/Objects",
"*/high res/gridless/basement/*.png": "Maps/{MAPNAME}", "ungridded/*.dd2vtt": "{SKIP}",
"*/high res/gridless/floor 1/*.jpg": "Maps/{MAPNAME}", "ungridded/*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/floor 1/*.png": "Maps/{MAPNAME}", "ungridded/*.webp": "Maps/{MAPNAME}",
"*/high res/gridless/floor 2/*.jpg": "Maps/{MAPNAME}", "./*.jpg": "Maps/{MAPNAME}",
"*/high res/gridless/floor 2/*.png": "Maps/{MAPNAME}", "./*.psd": "Maps/{MAPNAME}",
"*/high resolution/gridless/*.jpg": "Maps/{MAPNAME}", "./*.pdf": "{SKIP}",
"*/grid/*.jpg": "{SKIP}", "*/high resolution/*.jpg": "Maps/{MAPNAME}", // Trust that it's gridless
"*/gridded/*.jpg": "{SKIP}", "*/high resolution/*.png": "Maps/{MAPNAME}", // Trust that it's gridless
"*/high-res/grid/*.jpg": "{SKIP}", "*/gridless/*.jpg": "Maps/{MAPNAME}",
"*/high res/grid/*.jpg": "{SKIP}", "*/high-res/gridless/*.jpg": "Maps/{MAPNAME}",
"*/high resolution/grid/*.jpg": "{SKIP}", "*/high-res/gridless/*.png": "Maps/{MAPNAME}",
"*/creature tokens/*.png": "Creatures", "*/high res/gridless/*.jpg": "Maps/{MAPNAME}",
"*/creature tokens/variants/*.png": "Creatures", "*/high res/gridless/*.png": "Maps/{MAPNAME}",
"*/map tokens/*.png": "Maps/{MAPNAME}/Objects", "*/high res/gridless/attic/*.jpg": "Maps/{MAPNAME}",
"*/tokens/*.png": "Maps/{MAPNAME}/Objects", "*/high res/gridless/attic/*.png": "Maps/{MAPNAME}",
"*/roll20/*.jpg": "{SKIP}", "*/high res/gridless/basement/*.jpg": "Maps/{MAPNAME}",
"*/roll20/*.png": "{SKIP}", "*/high res/gridless/basement/*.png": "Maps/{MAPNAME}",
"*/roll20/grid/*.jpg": "{SKIP}", "*/high res/gridless/floor 1/*.jpg": "Maps/{MAPNAME}",
"*/roll20/gridded/*.jpg": "{SKIP}", "*/high res/gridless/floor 1/*.png": "Maps/{MAPNAME}",
"*/roll20/grid/*.png": "{SKIP}", "*/high res/gridless/floor 2/*.jpg": "Maps/{MAPNAME}",
"*/roll20/grid/attic/*.jpg": "{SKIP}", "*/high res/gridless/floor 2/*.png": "Maps/{MAPNAME}",
"*/roll20/grid/attic/*.png": "{SKIP}", "*/high resolution/gridless/*.jpg": "Maps/{MAPNAME}",
"*/roll20/grid/basement/*.jpg": "{SKIP}", "*/grid/*.jpg": "{SKIP}",
"*/roll20/grid/basement/*.png": "{SKIP}", "*/gridded/*.jpg": "{SKIP}",
"*/roll20/grid/floor 1/*.jpg": "{SKIP}", "*/high-res/grid/*.jpg": "{SKIP}",
"*/roll20/grid/floor 1/*.png": "{SKIP}", "*/high res/grid/*.jpg": "{SKIP}",
"*/roll20/grid/floor 2/*.jpg": "{SKIP}", "*/high resolution/grid/*.jpg": "{SKIP}",
"*/roll20/grid/floor 2/*.png": "{SKIP}", "*/creature tokens/*.png": "Creatures",
"*/roll20/gridless/*.jpg": "{SKIP}", "*/creature tokens/variants/*.png": "Creatures",
"*/roll20/gridless/*.png": "{SKIP}", "*/map tokens/*.png": "Maps/{MAPNAME}/Objects",
"*/roll20/gridless/attic/*.jpg": "{SKIP}", "*/tokens/*.png": "Maps/{MAPNAME}/Objects",
"*/roll20/gridless/attic/*.png": "{SKIP}", "*/roll20/*.jpg": "{SKIP}",
"*/roll20/gridless/basement/*.jpg": "{SKIP}", "*/roll20/*.png": "{SKIP}",
"*/roll20/gridless/basement/*.png": "{SKIP}", "*/roll20/grid/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 1/*.jpg": "{SKIP}", "*/roll20/gridded/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 1/*.png": "{SKIP}", "*/roll20/grid/*.png": "{SKIP}",
"*/roll20/gridless/floor 2/*.jpg": "{SKIP}", "*/roll20/grid/attic/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 2/*.png": "{SKIP}", "*/roll20/grid/attic/*.png": "{SKIP}",
"*/roll20/grid/basement/*.jpg": "{SKIP}",
"*/roll20/grid/basement/*.png": "{SKIP}",
"*/roll20/grid/floor 1/*.jpg": "{SKIP}",
"*/roll20/grid/floor 1/*.png": "{SKIP}",
"*/roll20/grid/floor 2/*.jpg": "{SKIP}",
"*/roll20/grid/floor 2/*.png": "{SKIP}",
"*/roll20/gridless/*.jpg": "{SKIP}",
"*/roll20/gridless/*.png": "{SKIP}",
"*/roll20/gridless/attic/*.jpg": "{SKIP}",
"*/roll20/gridless/attic/*.png": "{SKIP}",
"*/roll20/gridless/basement/*.jpg": "{SKIP}",
"*/roll20/gridless/basement/*.png": "{SKIP}",
"*/roll20/gridless/floor 1/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 1/*.png": "{SKIP}",
"*/roll20/gridless/floor 2/*.jpg": "{SKIP}",
"*/roll20/gridless/floor 2/*.png": "{SKIP}",
} }
var root = flag.String("root", "", "root directory to write to") var root = flag.String("root", "", "root directory to write to")
@@ -196,11 +214,17 @@ func mapName(path string) string {
i-- i--
} }
parts = parts[:i+1]
for len(parts) > 0 && removeWords[strings.ToLower(parts[0])] {
parts = parts[1:]
}
if len(parts) == 0 { if len(parts) == 0 {
panic(path) panic(path)
} }
return strings.Join(parts[:i+1], " ") return strings.Join(parts, " ")
} }
func printable(in string) string { func printable(in string) string {