Merge branch 'portalbanner-resize' into 'develop'
Moved from gim to gg for image creation See merge request Raum0x2A/nmslib!2
This commit was merged in pull request #3.
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1 +1,5 @@
|
||||
assets/
|
||||
.vscode/
|
||||
notes.txt
|
||||
Test.png
|
||||
test.png
|
||||
@@ -6,4 +6,5 @@ test:
|
||||
image: golang:1.16.3
|
||||
script:
|
||||
- go test
|
||||
|
||||
except:
|
||||
- portalbanner-resize
|
||||
|
||||
BIN
NMH-BlueDream.png
Normal file
BIN
NMH-BlueDream.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 307 KiB |
BIN
NewLennon.png
BIN
NewLennon.png
Binary file not shown.
|
Before Width: | Height: | Size: 228 KiB |
33
README.md
33
README.md
@@ -31,17 +31,19 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
portalcode := nmslib.RndPortal()
|
||||
galaticAddress, _ := nmslib.P2gc(portalcode)
|
||||
fmt.Printf("Random portal code: %s\n", portalcode)
|
||||
portalcode := "21F2F8EDB94D"
|
||||
galacticCoords, err := nmslib.P2gc(portalcode)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Printf("Input:\t%s\nOutput:\t%s\n", portalcode, galacticCoords)
|
||||
|
||||
fmt.Printf("%s >> %s\n", portalcode, galaticAddress)
|
||||
nmslib.CreateBanner(portalcode, "./banners/"+portalcode+".png", 10)
|
||||
fmt.Printf("saving image to ./banners/%s.png\n", portalcode)
|
||||
nmslib.CreateBanner(portalcode, "./NMH-BlueDream.png", 0)
|
||||
nmslib.CreateBanner(RndPortal(), "./Random.png", 0)
|
||||
|
||||
fmt.Println("Translating \"KIHTYOMOLES\" from Korvax To English: " + nmslib.Translate{Word: "KIHTYOMOLES"}.Kor2Eng())
|
||||
korvax := nmslib.Translate{Word: "Contraband"}
|
||||
fmt.Println("Translating \"Contraband\" from English to Korvax: " + korvax.Eng2Kor())
|
||||
fmt.Println(nmslib.Translate{Word: "KIHTYOMOLES"}.Kor2Eng())
|
||||
korvax := nmslib.Translate{Word: "Contraband"}
|
||||
fmt.Println(korvax.Eng2Kor())
|
||||
}
|
||||
|
||||
|
||||
@@ -62,13 +64,13 @@ This function takes 3 parameters:
|
||||
|
||||
**Example:**
|
||||
|
||||
Horizontal Layout for Galactic Hub [HUB10-6A Icarus Sun](https://nomanssky.gamepedia.com/HUB10-6A_Icarus_Sun) Eniwa 68/L3
|
||||
Horizontal Layout for the NMH Capital planet [Blue Dream (aka Omins XI)](https://nomanssky.fandom.com/wiki/Omins_XI) in the [Notric-Lis XIII](https://nomanssky.fandom.com/wiki/Notric-Lis_XIII) system in the [Lahanhar Conflux](https://nomanssky.fandom.com/wiki/Lahanhar_Conflux) region
|
||||
|
||||
```golang
|
||||
nmslib.CreateBanner("006AFA556C30", "NewLennon.png", 0)
|
||||
nmslib.CreateBanner("21F2F8EDB94D", "NMH-BlueDream.png", 0)
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
Vertical layout for a random address
|
||||
|
||||
@@ -93,7 +95,7 @@ This function only takes 1 parameter and returns a string and error
|
||||
**Example:**
|
||||
|
||||
```golang
|
||||
ga, _ := nmslib.P3gc("21F2F8EDB94D")
|
||||
ga, _ := nmslib.P2gc("21F2F8EDB94D")
|
||||
fmt.Println(ga)
|
||||
```
|
||||
|
||||
@@ -103,14 +105,15 @@ Output:
|
||||
|
||||
### Converting Galactic coordinates to Portal codes with Gc2p()
|
||||
|
||||
This function only takes 1 parameter and returns a string and error
|
||||
This function only takes 2 parameters and returns a string and error
|
||||
|
||||
* galacticaddress: 16 char 4 block hex address
|
||||
* Planet ID [1-6]
|
||||
|
||||
**Example:**
|
||||
|
||||
```golang
|
||||
pc, _ := nmslib.P3gc("014C:0077:06DA:01F2")
|
||||
pc, _ := nmslib.Gc2p("014C:0077:06DA:01F2", 2)
|
||||
fmt.Println(pc)
|
||||
```
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ import (
|
||||
func bindataRead(data []byte, name string) ([]byte, error) {
|
||||
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Read %q: %v", name, err)
|
||||
return nil, fmt.Errorf("read %q: %v", name, err)
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
@@ -63,7 +63,7 @@ func bindataRead(data []byte, name string) ([]byte, error) {
|
||||
clErr := gz.Close()
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Read %q: %v", name, err)
|
||||
return nil, fmt.Errorf("read %q: %v", name, err)
|
||||
}
|
||||
if clErr != nil {
|
||||
return nil, err
|
||||
|
||||
27
convert.go
27
convert.go
@@ -14,7 +14,7 @@ import (
|
||||
|
||||
/*
|
||||
P2gc - Portal code to galactic coordinates
|
||||
Requires 1 var and returns 1 var string
|
||||
Requires 1 var and returns 1 var string and an error
|
||||
var p string
|
||||
Portal Glyph hex string 12 chars in len (ex. 006afa556c30)
|
||||
Return var string
|
||||
@@ -27,19 +27,19 @@ func P2gc(p string) (gc string, err error) {
|
||||
var coord [4]int64
|
||||
coord[1], err = strconv.ParseInt(p[4:6], 16, 16) // Y coordinate
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [4:6]")
|
||||
}
|
||||
coord[2], err = strconv.ParseInt(p[6:9], 16, 16) // Z cooridnate
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [6:9]")
|
||||
}
|
||||
coord[3], err = strconv.ParseInt(p[9:12], 16, 16) // X coordinate
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [9:12]")
|
||||
}
|
||||
coord[0], err = strconv.ParseInt(p[1:4], 16, 16) // SSI (Star System Identifier)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [1:4]")
|
||||
}
|
||||
|
||||
// apply shifts to Handle the shape/boundaries of the galaxy
|
||||
@@ -72,13 +72,16 @@ Requires 1 string and 1 int returns a string and error
|
||||
Galactic address (ex. 042F:0079:0D55:006A)
|
||||
var p int
|
||||
Planet ID [1-6]
|
||||
Return var string
|
||||
Return portalcode string
|
||||
Portal Glyph hex string 12 chars in len (ex. 006afa556c30)
|
||||
*/
|
||||
func Gc2p(gc string, p int) (portalcode string, err error) {
|
||||
// split and store string
|
||||
// coords[0] == X; coords[1] == Y coords[2] == Z;
|
||||
// coords[3] == SSI coords[4] == P
|
||||
if len(gc) != 19 {
|
||||
return "", errors.New("galatic code is the wrong length")
|
||||
}
|
||||
if p > 6 {
|
||||
p = 1
|
||||
}
|
||||
@@ -91,23 +94,23 @@ func Gc2p(gc string, p int) (portalcode string, err error) {
|
||||
var hexCoords [5]int64
|
||||
hexCoords[0], err = strconv.ParseInt(coords[4], 16, 16) // P
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [4]")
|
||||
}
|
||||
hexCoords[1], err = strconv.ParseInt(coords[3], 16, 16) // SSI
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [3]")
|
||||
}
|
||||
hexCoords[2], err = strconv.ParseInt(coords[1], 16, 16) // Y
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [1]")
|
||||
}
|
||||
hexCoords[3], err = strconv.ParseInt(coords[2], 16, 16) // Z
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [2]")
|
||||
}
|
||||
hexCoords[4], err = strconv.ParseInt(coords[0], 16, 16) // X
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return "", errors.New("error parsing intergers from string: [0]")
|
||||
}
|
||||
|
||||
// Apply shifts to Handle the shape/boundaries of the galaxy
|
||||
@@ -130,5 +133,5 @@ func Gc2p(gc string, p int) (portalcode string, err error) {
|
||||
portalcode = portalcode + fmt.Sprintf("%03X", hexCoords[n])
|
||||
}
|
||||
}
|
||||
return portalcode, err // return formated string and error
|
||||
return // return formated string and error
|
||||
}
|
||||
|
||||
117
glyphbanner.go
117
glyphbanner.go
@@ -1,110 +1,123 @@
|
||||
package nmslib
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"image/png"
|
||||
"image"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
gim "github.com/ozankasikci/go-image-merge"
|
||||
"github.com/fogleman/gg"
|
||||
)
|
||||
|
||||
/*CreateBanner - Output PNG of Portal Glyphs
|
||||
Requires 3 vars and returns 0 var, Outputs a PNG file
|
||||
Requires 3 vars and returns 1 err, Outputs a PNG file
|
||||
var portalex string
|
||||
Portal Glyph hex string
|
||||
var savename string
|
||||
Output name of PNG file
|
||||
var opt int
|
||||
00 sets horizontal banner in light mode
|
||||
00 sets horizontal banner in light mode [ 00 || 0 ]
|
||||
01 sets horizontal banner in dark mode [ 01 || 1 ]
|
||||
10 sets vertical banner in light mode
|
||||
01 sets horizontal banner in dark mode
|
||||
11 sets vertical banner in dark mode
|
||||
|
||||
* note first of the 2 bits sets the layout, the second bit sets the glyph color
|
||||
*/
|
||||
func CreateBanner(portalhex string, savename string, opt int) {
|
||||
var err error
|
||||
func CreateBanner(portalhex string, savename string, opt int) (err error) {
|
||||
var GlyphHex [12]int64
|
||||
var glyphImg [12]string
|
||||
var mode string
|
||||
var vert int
|
||||
var horz int
|
||||
var imgArray [12]image.Image
|
||||
|
||||
// Setup temp dir
|
||||
tempdir, err := ioutil.TempDir("", "nmslib-")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return errors.New("can not create temp directory")
|
||||
}
|
||||
// don't forget to clean up afterwords
|
||||
defer os.RemoveAll(tempdir)
|
||||
|
||||
//Set light or dark mode glyphs
|
||||
if opt == 00 || opt == 10 {
|
||||
mode = "light"
|
||||
} else if opt == 01 || opt == 11 {
|
||||
mode = "dark"
|
||||
} else {
|
||||
// if opt is an invalid option (ie. not a 2 bit binary number default to classic mode/layout
|
||||
opt = 0
|
||||
mode = "light"
|
||||
}
|
||||
//defer os.RemoveAll(tempdir)
|
||||
|
||||
// verify len of portalhex
|
||||
if len(portalhex) == 12 {
|
||||
// get hex value from each digit in given string to an array of int64
|
||||
// get hex value from each digit in given string and add it to an array of int64
|
||||
for i := 0; i < len(portalhex); i++ {
|
||||
GlyphHex[i], err = strconv.ParseInt(portalhex[i:int(i+1)], 16, 16)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return errors.New("string provided is not hexadecimal ([0-9][A-F])")
|
||||
}
|
||||
}
|
||||
|
||||
// set options
|
||||
if opt == 00 { // set vertical rendering in light mode
|
||||
vert, horz = 12, 1
|
||||
mode = "light"
|
||||
} else if opt == 01 { // set vertival in dark mode
|
||||
vert, horz = 12, 1
|
||||
mode = "dark"
|
||||
} else if opt == 11 { // set horizontal rendering in dark mode
|
||||
vert, horz = 1, 12
|
||||
mode = "dark"
|
||||
} else { // set horizontal rendering in light mode (classic/default)
|
||||
vert, horz = 1, 12
|
||||
mode = "light"
|
||||
}
|
||||
|
||||
// assign image location of its glyph hex value to an array of strings
|
||||
// assign image location of its glyph-hex value to an array of strings
|
||||
for j := 0; j < len(glyphImg); j++ {
|
||||
glyphImg[j] = fmt.Sprintf("assets/glyphs/%s/PORTALSYMBOL.%X.png", mode, GlyphHex[j])
|
||||
}
|
||||
// pull images need from glyph.go and saved them to ./glyphs/
|
||||
|
||||
// pull images need from assets.go and saved them to the temp directory
|
||||
for k := 0; k < len(glyphImg); k++ {
|
||||
data, err := Asset(glyphImg[k])
|
||||
if err != nil {
|
||||
panic(err)
|
||||
return errors.New("can not load images from assets: " + glyphImg[k])
|
||||
}
|
||||
_, err2 := os.Stat(tempdir + "/assets/glyphs/" + mode + "/")
|
||||
if os.IsNotExist(err2) {
|
||||
errDir := os.MkdirAll(tempdir+"/assets/glyphs/"+mode, 0755)
|
||||
if errDir != nil {
|
||||
panic(errDir)
|
||||
return errors.New("can not create temp directory")
|
||||
}
|
||||
}
|
||||
// fmt.Println(tempdir + "/" + glyphImg[k]) // for debugging only
|
||||
err = ioutil.WriteFile(tempdir+"/"+glyphImg[k], []byte(data), 0644)
|
||||
|
||||
if err != nil {
|
||||
return errors.New("can not write file to temp directory")
|
||||
}
|
||||
}
|
||||
|
||||
// load images for processing using github.com/ozankasikci/go-image-merge
|
||||
grids := []*gim.Grid{
|
||||
{ImageFilePath: tempdir + "/" + glyphImg[0]}, {ImageFilePath: tempdir + "/" + glyphImg[1]},
|
||||
{ImageFilePath: tempdir + "/" + glyphImg[2]}, {ImageFilePath: tempdir + "/" + glyphImg[3]},
|
||||
{ImageFilePath: tempdir + "/" + glyphImg[4]}, {ImageFilePath: tempdir + "/" + glyphImg[5]},
|
||||
{ImageFilePath: tempdir + "/" + glyphImg[6]}, {ImageFilePath: tempdir + "/" + glyphImg[7]},
|
||||
{ImageFilePath: tempdir + "/" + glyphImg[8]}, {ImageFilePath: tempdir + "/" + glyphImg[9]},
|
||||
{ImageFilePath: tempdir + "/" + glyphImg[10]}, {ImageFilePath: tempdir + "/" + glyphImg[11]},
|
||||
//Load/open images needed
|
||||
for iter := 0; iter < 12; iter++ {
|
||||
imgArray[iter], err = gg.LoadPNG(tempdir + "/" + glyphImg[iter])
|
||||
if err != nil {
|
||||
return errors.New("can not read glyph " + glyphImg[iter])
|
||||
}
|
||||
}
|
||||
|
||||
// create new image from grids
|
||||
rgba, err := gim.New(grids, vert, horz).Merge()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
//begin concatenating images
|
||||
// get image size of first glyph, all glyphs have the same X && Y dimension so we only need to measure one.
|
||||
imgDim := imgArray[0].Bounds().Size()
|
||||
|
||||
// save the output to png
|
||||
file, err := os.Create(savename)
|
||||
err = png.Encode(file, rgba)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
//classic horizontal layout
|
||||
if opt == 01 || opt == 00 {
|
||||
imgWidth := imgDim.X * 12
|
||||
imgHeight := imgDim.Y
|
||||
concat := gg.NewContext(imgWidth, imgHeight)
|
||||
for a := 0; a < 12; a++ {
|
||||
concat.DrawImage(imgArray[a], imgDim.X*a, 0)
|
||||
}
|
||||
concat.SavePNG(savename)
|
||||
}
|
||||
//Vertical layout
|
||||
if opt == 10 || opt == 11 {
|
||||
imgWidth := imgDim.X
|
||||
imgHeight := imgDim.Y * 12
|
||||
concat := gg.NewContext(imgWidth, imgHeight)
|
||||
for a := 0; a < 12; a++ {
|
||||
concat.DrawImage(imgArray[a], 0, imgDim.Y*a)
|
||||
}
|
||||
concat.SavePNG(savename)
|
||||
}
|
||||
} else {
|
||||
return errors.New("portalcode must be exactly 12 chars")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
8
go.mod
8
go.mod
@@ -1,5 +1,9 @@
|
||||
module gitlab.com/Raum0x2A/nmslib
|
||||
|
||||
go 1.15
|
||||
go 1.16
|
||||
|
||||
require github.com/ozankasikci/go-image-merge v0.2.2
|
||||
require (
|
||||
github.com/fogleman/gg v1.3.0
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||
golang.org/x/image v0.0.0-20210504121937-7319ad40d33e // indirect
|
||||
)
|
||||
|
||||
9
go.sum
9
go.sum
@@ -1,2 +1,7 @@
|
||||
github.com/ozankasikci/go-image-merge v0.2.2 h1:K370BLLTIsamwjAeViiPntf7GiG3h9pXzDmxXCbN8/0=
|
||||
github.com/ozankasikci/go-image-merge v0.2.2/go.mod h1:NQ2aN0b21buFx3p+5x4dZrKuPSLh2uBukK7F30BrYTo=
|
||||
github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8=
|
||||
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
golang.org/x/image v0.0.0-20210504121937-7319ad40d33e h1:PzJMNfFQx+QO9hrC1GwZ4BoPGeNGhfeQEgcQFArEjPk=
|
||||
golang.org/x/image v0.0.0-20210504121937-7319ad40d33e/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
|
||||
3
lang.go
3
lang.go
@@ -191,6 +191,9 @@ func openCSV(lagcsv string) [][]string {
|
||||
|
||||
// wirte extracted data to temp dir
|
||||
err = ioutil.WriteFile(tempdir+"/"+lagcsv, []byte(data), 0644)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
csvFile, err := os.Open(tempdir + "/" + lagcsv)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
|
||||
30
nmslib-convert_test.go
Normal file
30
nmslib-convert_test.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package nmslib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestPortal2Galactic(t *testing.T) {
|
||||
want, err := P2gc("21F2F8EDB94D")
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
if want != "014C:0077:06DA:01F2" {
|
||||
t.Errorf("Testing P2gc(\"21F2F8EDB94D\"): got %q, want: 014C:0077:06DA:01F2.\n", want)
|
||||
} else {
|
||||
fmt.Printf("Testing P2gc(\"21F2F8EDB94D\"): got: %q, want: 014C:0077:06DA:01F2.\n", want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGalactic2portal(t *testing.T) {
|
||||
want, err := Gc2p("014C:0077:06DA:01F2", 2)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
if want != "21F2F8EDB94D" {
|
||||
t.Errorf("\nTesting Gc2p(\"014C:0077:06DA:01F2\"): got %q, want: 21F2F8EDB94D.\n", want)
|
||||
} else {
|
||||
fmt.Printf("\nTesting Gc2p(\"014C:0077:06DA:01F2\"): got: %q, want: 21F2F8EDB94D.\n", want)
|
||||
}
|
||||
}
|
||||
21
nmslib-glyphbanner_test.go
Normal file
21
nmslib-glyphbanner_test.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package nmslib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCreateBanner(t *testing.T) {
|
||||
fmt.Printf("\nTesting CreateBanner: ")
|
||||
|
||||
rp := "21F2F8EDB94D"
|
||||
//rp := RndPortal()
|
||||
fileout := "./test.png"
|
||||
|
||||
err := CreateBanner(rp, fileout, 0)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
fmt.Printf("Portal address `%s` rendered as `%s`\n", rp, fileout)
|
||||
}
|
||||
11
nmslib-rpcg_test.go
Normal file
11
nmslib-rpcg_test.go
Normal file
@@ -0,0 +1,11 @@
|
||||
package nmslib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestRndPortal(t *testing.T) {
|
||||
fmt.Printf("\nRandom Portal Code: ")
|
||||
fmt.Println(RndPortal())
|
||||
}
|
||||
35
nmslib-translate_test.go
Normal file
35
nmslib-translate_test.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package nmslib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTranslate(t *testing.T) {
|
||||
want := Translate{"Paka"}
|
||||
if want.Atl2Eng() != "Awake" {
|
||||
t.Errorf("\nTesting Translate{\"Paka\"}.Atl2Eng(): got %q, want: %q.\n", want.Atl2Eng(), "Awake")
|
||||
} else {
|
||||
fmt.Printf("\nTesting Translate{\"Paka\"}.Atl2Eng(): got %q, want: %q.\n", want.Atl2Eng(), "Awake")
|
||||
}
|
||||
want = Translate{"hofsos"}
|
||||
if want.Gek2Eng() != "answer" {
|
||||
t.Errorf("Testing Translate{\"hofsos\"}.Gek2Eng(): got %q, want: %q.\n", want.Gek2Eng(), "answer")
|
||||
} else {
|
||||
fmt.Printf("Testing Translate{\"hofsos\"}.Gek2Eng(): got %q, want: %q.\n", want.Gek2Eng(), "answer")
|
||||
}
|
||||
|
||||
want = Translate{"Aqo"}
|
||||
if want.Vyk2Eng() != "Foes" {
|
||||
t.Errorf("Testing Translate{\"Aqo\"}.Vyk2Eng(): got %q, want: %q.\n", want.Vyk2Eng(), "Foes")
|
||||
} else {
|
||||
fmt.Printf("Testing Translate{\"Aqo\"}.Vyk2Eng(): got %q, want: %q.\n", want.Vyk2Eng(), "Foes")
|
||||
}
|
||||
want = Translate{"Alinichel"}
|
||||
if want.Kor2Eng() != "Emergency" {
|
||||
t.Errorf("Testing Translate{\"Alinichel\"}.Kor2Eng(): got %q, want: %q.\n", want.Kor2Eng(), "Emergency")
|
||||
} else {
|
||||
fmt.Printf("Testing Translate{\"Alinichel\"}.Kor2Eng(): got %q, want: %q.\n", want.Kor2Eng(), "Emergency")
|
||||
}
|
||||
fmt.Printf("\nTesting complete.\nStatus: ")
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
package nmslib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestRndPortal(t *testing.T) {
|
||||
fmt.Printf("\nRandom Portal Code: ")
|
||||
fmt.Println(RndPortal())
|
||||
}
|
||||
|
||||
func TestCreateBanner(t *testing.T) {
|
||||
fmt.Printf("\nTesting CreateBanner: ")
|
||||
CreateBanner(RndPortal(), "/tmp/Test.png", 11)
|
||||
fmt.Printf("Random Portal address rendered as `/tmp/Test.png`\n\n")
|
||||
}
|
||||
|
||||
func TestPortal2Galactic(t *testing.T) {
|
||||
want, err := P2gc("006afa556c30")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if want != "042F:0079:0D55:006A" {
|
||||
t.Errorf("Testing P2gc(\"006afa556c30\"): got %q, want: %q.\n", want, "042F:0079:0D55:006A")
|
||||
} else {
|
||||
fmt.Printf("Testing P2gc(\"006afa556c30\"): got: %q, want: %q.\n", want, "042F:0079:0D55:006A")
|
||||
}
|
||||
|
||||
want, err = P2gc("41EDF9554C2F")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if want != "042E:0078:0D53:01ED" {
|
||||
t.Errorf("Testing P2gc(\"41EDF9554C2F\"): got %q, want: %q.\n", want, "042E:0078:0D53:01ED")
|
||||
} else {
|
||||
fmt.Printf("Testing P2gc(\"41EDF9554C2F\"): got: %q, want: %q.\n", want, "042E:0078:0D53:01ED")
|
||||
}
|
||||
}
|
||||
|
||||
func TestGalactic2portal(t *testing.T) {
|
||||
want, err := Gc2p("042F:0079:0D55:006A", 1)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if want != "106AFA556C30" {
|
||||
t.Errorf("\nTesting Gc2p(\"042F:0079:0D55:006A\"): got %q, want: %q.\n", want, "106AFA556C30")
|
||||
} else {
|
||||
fmt.Printf("\nTesting Gc2p(\"042F:0079:0D55:006A\"): got: %q, want: %q.\n", want, "106AFA556C30")
|
||||
}
|
||||
|
||||
want, err = Gc2p("042E:0078:0D53:01ED", 4)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if want != "41EDF9554C2F" {
|
||||
t.Errorf("Testing Gc2p(\"042E:0078:0D53:01ED\"): got %q, want: %q.\n", want, "41EDF9554C2F")
|
||||
} else {
|
||||
fmt.Printf("Testing Gc2p(\"042E:0078:0D53:01ED\"): got: %q, want: %q.\n", want, "41EDF9554C2F")
|
||||
}
|
||||
}
|
||||
|
||||
func TestTranslate(t *testing.T) {
|
||||
want := Translate{"Paka"}
|
||||
if want.Atl2Eng() != "Awake" {
|
||||
t.Errorf("\nTesting Translate{\"Paka\"}.Atl2Eng(): got %q, want: %q.\n", want.Atl2Eng(), "Awake")
|
||||
} else {
|
||||
fmt.Printf("\nTesting Translate{\"Paka\"}.Atl2Eng(): got %q, want: %q.\n", want.Atl2Eng(), "Awake")
|
||||
}
|
||||
want = Translate{"hofsos"}
|
||||
if want.Gek2Eng() != "answer" {
|
||||
t.Errorf("Testing Translate{\"hofsos\"}.Gek2Eng(): got %q, want: %q.\n", want.Gek2Eng(), "answer")
|
||||
} else {
|
||||
fmt.Printf("Testing Translate{\"hofsos\"}.Gek2Eng(): got %q, want: %q.\n", want.Gek2Eng(), "answer")
|
||||
}
|
||||
|
||||
want = Translate{"Aqo"}
|
||||
if want.Vyk2Eng() != "Foes" {
|
||||
t.Errorf("Testing Translate{\"Aqo\"}.Vyk2Eng(): got %q, want: %q.\n", want.Vyk2Eng(), "Foes")
|
||||
} else {
|
||||
fmt.Printf("Testing Translate{\"Aqo\"}.Vyk2Eng(): got %q, want: %q.\n", want.Vyk2Eng(), "Foes")
|
||||
}
|
||||
want = Translate{"Alinichel"}
|
||||
if want.Kor2Eng() != "Emergency" {
|
||||
t.Errorf("Testing Translate{\"Alinichel\"}.Kor2Eng(): got %q, want: %q.\n", want.Kor2Eng(), "Emergency")
|
||||
} else {
|
||||
fmt.Printf("Testing Translate{\"Alinichel\"}.Kor2Eng(): got %q, want: %q.\n", want.Kor2Eng(), "Emergency")
|
||||
}
|
||||
fmt.Printf("\nTesting complete.\nStatus: ")
|
||||
}
|
||||
22
rpcg.go
22
rpcg.go
@@ -1,11 +1,3 @@
|
||||
package nmslib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"time"
|
||||
)
|
||||
|
||||
/*
|
||||
[P][SSS][YY][ZZZ][XXX] – (P = Planet Index / S = Star System Index / Y = Height / Z = Width / X = Length)
|
||||
|
||||
@@ -23,6 +15,20 @@ import (
|
||||
|
||||
*/
|
||||
|
||||
package nmslib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"time"
|
||||
)
|
||||
|
||||
/*
|
||||
RndPortal - Random Portalcode generator
|
||||
Requires no input required
|
||||
Returns a string
|
||||
*/
|
||||
|
||||
func RndPortal() (final string) {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
min := 0x1
|
||||
|
||||
Reference in New Issue
Block a user