Skip to content

Commit

Permalink
Updated and made easier to use.
Browse files Browse the repository at this point in the history
  • Loading branch information
HotaruBlaze committed Apr 6, 2021
1 parent 18b5509 commit f921d1b
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 36 deletions.
3 changes: 0 additions & 3 deletions loadOrder.txt

This file was deleted.

6 changes: 3 additions & 3 deletions scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
prepareBuild(){
echo -n "Preparing Build Enviroment...\n"
rm -rf ./build
mkdir -p ../build ./build/windows ./build/linux
mkdir -p ./build ./build/windows ./build/linux
echo -n "Done\n"
}

# Build Linux
buildLinux(){
echo -n "Building Linux Binary...\n"
go build -o ../build/linux/TES3MP-CRC32 ../src/main.go
go build -ldflags "-s -w" -o ./build/linux/TES3MP-CRC32 ./src/main.go
echo -n "Done\n"
}
buildWindows(){
echo -n "Building Windows Binary...\n"
GOOS=windows GOARCH=386 go build -o ../build/windows/TES3MP-CRC32.exe ../src/main.go
GOOS=windows GOARCH=386 go build -ldflags "-s -w" -o ./build/windows/TES3MP-CRC32.exe ./src/main.go
echo -n "Done\n"
}

Expand Down
55 changes: 25 additions & 30 deletions src/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,11 @@ package main
import (
"bufio"
"encoding/hex"
"flag"
"fmt"
"hash/crc32"
"io"
"log"
"os"
"path"
"path/filepath"
"runtime"
"strings"
)

Expand Down Expand Up @@ -51,40 +47,39 @@ func hashFileCRC32(filePath string, polynomial uint32) (string, error) {
}

func main() {
loadOrderFlag := flag.String("loadOrder", "", "Load order file")
dataFileFlag := flag.String("dataFiles", "", "Data Files Directory")
var validFiles []string
dirname := "." + string(filepath.Separator) + "Data Files" + string(filepath.Separator)

flag.Parse()
d, err := os.Open(dirname)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer d.Close()

files, err := d.Readdir(-1)
if err != nil {
fmt.Println(err)
os.Exit(1)
}

flag.VisitAll(func(f *flag.Flag) {
if f.Value.String() == "" {
if runtime.GOOS == "windows" {
fmt.Println(os.Args[0] + " --loadOrder ./loadOrder.txt" + " --dataFiles \"C:\\games\\TES3MP\\Data Files\"")
} else {
fmt.Println(os.Args[0] + " --loadOrder ./loadOrder.txt" + " --dataFiles \"/home/tes3mp/Data Files\"")
for _, file := range files {
if file.Mode().IsRegular() {
if filepath.Ext(file.Name()) == ".esm" || filepath.Ext(file.Name()) == ".esp" {
validFiles = append(validFiles, file.Name())
}
os.Exit(1)
}
})

loadOrder, loadOrdererr := os.Open(*loadOrderFlag)

if loadOrdererr != nil {
log.Fatal(loadOrdererr)
}
defer loadOrder.Close()

scanner := bufio.NewScanner(loadOrder)
for scanner.Scan() {
file := path.Join(*dataFileFlag, scanner.Text())

hash, err := hashFileCRC32(file, 0xedb88320)
for _, validFile := range validFiles {
validFilePath := "." + string(filepath.Separator) + "Data Files" + string(filepath.Separator) + validFile
hash, err := hashFileCRC32(validFilePath, 0xedb88320)
if err == nil {
fmt.Println(filepath.Base(file) + ": " + "0x" + strings.ToUpper(hash))
fmt.Println(filepath.Base(validFile) + ": " + "0x" + strings.ToUpper(hash))
}
}

if err := scanner.Err(); err != nil {
log.Fatal(err)
}
buf := bufio.NewReader(os.Stdin)
fmt.Print("Press enter to close")
_, _ = buf.ReadBytes('\n')
}

0 comments on commit f921d1b

Please sign in to comment.