diff --git a/main.go b/main.go index 295344f..57cd91f 100644 --- a/main.go +++ b/main.go @@ -14,6 +14,14 @@ import ( "strings" ) +func usageAndExit(msg string, code int) { + fmt.Fprintf(os.Stderr, "Fehler: %s\n\n", msg) + fmt.Fprintf(os.Stderr, "Beispiel:\n go run ./main.go -wad MYMAP.wad -map MAP01 -info\n\n") + fmt.Fprintf(os.Stderr, "Verfügbare Flags:\n") + flag.PrintDefaults() + os.Exit(code) +} + func main() { // Flags wadPath := flag.String("wad", "", "Pfad zur WAD (required)") @@ -37,12 +45,8 @@ func main() { flag.Parse() - if *wadPath == "" { - fmt.Fprintf(os.Stderr, "Usage:\n") - fmt.Fprintf(os.Stderr, " go run ./cmd/bspviz -wad MYMAP.wad -list\n") - fmt.Fprintf(os.Stderr, " go run ./cmd/bspviz -wad MYMAP.wad -map MYMAP -info\n") - fmt.Fprintf(os.Stderr, " go run ./cmd/bspviz -wad MYMAP.wad -map MYMAP -extract VERTEXES,LINEDEFS -out dumps/\n") - os.Exit(2) + if strings.TrimSpace(*wadPath) == "" { + usageAndExit("Flag -wad fehlt. Bitte Pfad zu einer Doom-kompatiblen WAD-Datei angeben.", 2) } w, err := wad.Open(*wadPath)