diff --git a/cmd/fdsextract.go b/cmd/fdsextract.go index b3b8af0..93ea672 100644 --- a/cmd/fdsextract.go +++ b/cmd/fdsextract.go @@ -45,15 +45,13 @@ func run(args *Arguments) error { return fmt.Errorf("--output can only be used when exporting a single file") } - outdir := "./" - if args.Output == "" { - outdir = strings.TrimSuffix(args.Input, filepath.Ext(args.Input)) - } + outdir := strings.TrimSuffix(args.Input, filepath.Ext(args.Input)) if args.Output != "" { - err = os.MkdirAll(outdir, 0775) - if err != nil { - return err - } + outdir = args.Output + } + err = os.MkdirAll(outdir, 0775) + if err != nil { + return err } if args.Side >= 0 && args.FileNum == -1 { @@ -131,7 +129,7 @@ func run(args *Arguments) error { for _, side := range rom.Sides { sideName := fmt.Sprintf("Side%d", side.Header.PhysicalSide) for _, file := range side.Files { - fileName := filepath.Join(outdir, fmt.Sprintf("%03d_%s_%02d_%02X", args.FileNum, sideName, file.Number, file.Id)) + fileName := filepath.Join(outdir, fmt.Sprintf("%03d_%s_%02d_%02X", num, sideName, file.Number, file.Id)) err := os.WriteFile(fileName, file.Data, 0664) if err != nil { return err