diff --git a/Building.md b/Building.md index 0f075f2..0369737 100644 --- a/Building.md +++ b/Building.md @@ -4,6 +4,36 @@ * [Windows Cross-Compile from Linux](#windows-cross-compile-from-linux) * [Mac OS](#mac os) +## Complete App Build + +You'll need the following git repositories: + +* git.kirsle.net/apps/doodle - the game engine. +* git.kirsle.net/apps/doodle-masters - where built-in level files are kept. +* git.kirsle.net/apps/doodle-vendor - vendored libraries for Windows (SDL2.dll etc.) + +```bash +# Copy fonts and levels in +$ cp /git/doodle-masters/levels assets/levels +$ cp /git/doodle-vendor/fonts assets/fonts + +# Ensure you have bindata CLI command. NOTE: below repo is +# my fork of go-bindata, can find it elsewhere instead. +$ go get -u git.kirsle.net/go/bindata/... + +# From the doodle repo +$ make bindata-dev # TODO: populates the bindata .go modules. +$ go get ./... # install dependencies etc. +``` + +The `make setup` command tries to do the above. + +`make build` produces a local binary in the bin/ folder and `make dist` +will build an app for distribution in the dist/ folder. + +Levels should be copied in from the doodle-masters repo into the +assets/levels/ folder before running `make bindata` to release the game. + ## Fonts The `fonts/` folder is git-ignored. The app currently uses font files here diff --git a/cmd/doodad/commands/convert.go b/cmd/doodad/commands/convert.go index d0ef472..cec3c7f 100644 --- a/cmd/doodad/commands/convert.go +++ b/cmd/doodad/commands/convert.go @@ -16,7 +16,7 @@ import ( "git.kirsle.net/apps/doodle/pkg/level" "git.kirsle.net/apps/doodle/pkg/log" "git.kirsle.net/go/render" - "github.com/urfave/cli" + "github.com/urfave/cli/v2" "golang.org/x/image/bmp" ) diff --git a/cmd/doodad/commands/edit_doodad.go b/cmd/doodad/commands/edit_doodad.go index a0be96e..d810678 100644 --- a/cmd/doodad/commands/edit_doodad.go +++ b/cmd/doodad/commands/edit_doodad.go @@ -7,7 +7,7 @@ import ( "git.kirsle.net/apps/doodle/pkg/doodads" "git.kirsle.net/apps/doodle/pkg/log" - "github.com/urfave/cli" + "github.com/urfave/cli/v2" ) // EditDoodad allows writing doodad metadata. diff --git a/cmd/doodad/commands/edit_level.go b/cmd/doodad/commands/edit_level.go index 1b922ae..be9affd 100644 --- a/cmd/doodad/commands/edit_level.go +++ b/cmd/doodad/commands/edit_level.go @@ -6,7 +6,7 @@ import ( "git.kirsle.net/apps/doodle/pkg/level" "git.kirsle.net/apps/doodle/pkg/log" "git.kirsle.net/go/render" - "github.com/urfave/cli" + "github.com/urfave/cli/v2" ) // EditLevel allows writing level metadata. diff --git a/cmd/doodad/commands/install_script.go b/cmd/doodad/commands/install_script.go index 712bf62..c954e6e 100644 --- a/cmd/doodad/commands/install_script.go +++ b/cmd/doodad/commands/install_script.go @@ -6,7 +6,7 @@ import ( "git.kirsle.net/apps/doodle/pkg/doodads" "git.kirsle.net/apps/doodle/pkg/log" - "github.com/urfave/cli" + "github.com/urfave/cli/v2" ) // InstallScript to add the script to a doodad file. diff --git a/cmd/doodad/commands/show.go b/cmd/doodad/commands/show.go index c6cd98e..3b00dc5 100644 --- a/cmd/doodad/commands/show.go +++ b/cmd/doodad/commands/show.go @@ -9,7 +9,7 @@ import ( "git.kirsle.net/apps/doodle/pkg/enum" "git.kirsle.net/apps/doodle/pkg/level" "git.kirsle.net/apps/doodle/pkg/log" - "github.com/urfave/cli" + "github.com/urfave/cli/v2" ) // Show information about a Level or Doodad file. diff --git a/cmd/doodad/main.go b/cmd/doodad/main.go index a99b9df..5b90fc0 100644 --- a/cmd/doodad/main.go +++ b/cmd/doodad/main.go @@ -11,7 +11,7 @@ import ( "git.kirsle.net/apps/doodle/cmd/doodad/commands" "git.kirsle.net/apps/doodle/pkg/balance" "git.kirsle.net/apps/doodle/pkg/branding" - "github.com/urfave/cli" + "github.com/urfave/cli/v2" ) // Build variables. diff --git a/cmd/doodle/main.go b/cmd/doodle/main.go index 031ebe6..cee197f 100644 --- a/cmd/doodle/main.go +++ b/cmd/doodle/main.go @@ -17,7 +17,7 @@ import ( "git.kirsle.net/apps/doodle/pkg/log" "git.kirsle.net/apps/doodle/pkg/sound" "git.kirsle.net/go/render/sdl" - "github.com/urfave/cli" + "github.com/urfave/cli/v2" _ "image/png" ) diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..a149ae9 --- /dev/null +++ b/go.mod @@ -0,0 +1,22 @@ +module git.kirsle.net/apps/doodle + +go 1.15 + +require ( + git.kirsle.net/go/audio v0.0.0-20200429055451-ae3b0695ba6f + git.kirsle.net/go/log v0.0.0-20200902035305-70ac2848949b + git.kirsle.net/go/render v0.0.0-20200710023247-e5f4c3a16860 + git.kirsle.net/go/ui v0.0.0-20200710023146-e2a561fbd04c + github.com/google/uuid v1.1.2 + github.com/kirsle/configdir v0.0.0-20170128060238-e45d2f54772f + github.com/robertkrimen/otto v0.0.0-20200922221731-ef014fd054ac + github.com/tomnomnom/xtermcolor v0.0.0-20160428124646-b78803f00a7e // indirect + github.com/urfave/cli v1.22.5 + github.com/urfave/cli/v2 v2.3.0 + github.com/veandco/go-sdl2 v0.4.4 + github.com/vmihailenco/msgpack v3.3.3+incompatible + golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 // indirect + golang.org/x/image v0.0.0-20200927104501-e162460cd6b5 + google.golang.org/appengine v1.6.7 // indirect + gopkg.in/sourcemap.v1 v1.0.5 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..a201794 --- /dev/null +++ b/go.sum @@ -0,0 +1,58 @@ +git.kirsle.net/go/audio v0.0.0-20200429055451-ae3b0695ba6f h1:OTxRqv7JdRpmR4gm3pG7Mzv+GyG0ig2mJWluu5NOkro= +git.kirsle.net/go/audio v0.0.0-20200429055451-ae3b0695ba6f/go.mod h1:iESedHfXAOnbqiDDVs7Va+KQWkZG0Asc+452hw9TX9w= +git.kirsle.net/go/log v0.0.0-20200902035305-70ac2848949b h1:TDxEEWOJqMzsu9JW8/QgmT1lgQ9WD2KWlb2lKN/Ql2o= +git.kirsle.net/go/log v0.0.0-20200902035305-70ac2848949b/go.mod h1:jl+Qr58W3Op7OCxIYIT+b42jq8xFncJXzPufhrvza7Y= +git.kirsle.net/go/render v0.0.0-20200102014411-4d008b5c468d/go.mod h1:ywZtC+zE2SpeObfkw0OvG01pWHQadsVQ4WDKOYzaejc= +git.kirsle.net/go/render v0.0.0-20200710023247-e5f4c3a16860 h1:0jaJRNlBb/OCB/QSkXf6CpT6bVFmra9bRcX4iR8Kh1Y= +git.kirsle.net/go/render v0.0.0-20200710023247-e5f4c3a16860/go.mod h1:ss7pvZbGWrMaDuZwyUTjV9+T0AJwAkxZZHwMFsvHrkk= +git.kirsle.net/go/ui v0.0.0-20200710023146-e2a561fbd04c h1:8fvCXsFGK91WtiTIAdklAN3gHVNYD0hvFvWfznCLMGc= +git.kirsle.net/go/ui v0.0.0-20200710023146-e2a561fbd04c/go.mod h1:Q93RpHNXvbGr3dQ9mmcEN8ZC3dtNQ4FwivSx53tKOVA= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/kirsle/configdir v0.0.0-20170128060238-e45d2f54772f h1:dKccXx7xA56UNqOcFIbuqFjAWPVtP688j5QMgmo6OHU= +github.com/kirsle/configdir v0.0.0-20170128060238-e45d2f54772f/go.mod h1:4rEELDSfUAlBSyUjPG0JnaNGjf13JySHFeRdD/3dLP0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/robertkrimen/otto v0.0.0-20200922221731-ef014fd054ac h1:kYPjbEN6YPYWWHI6ky1J813KzIq/8+Wg4TO4xU7A/KU= +github.com/robertkrimen/otto v0.0.0-20200922221731-ef014fd054ac/go.mod h1:xvqspoSXJTIpemEonrMDFq6XzwHYYgToXWj5eRX1OtY= +github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/tomnomnom/xtermcolor v0.0.0-20160428124646-b78803f00a7e h1:Ee+VZw13r9NTOMnwTPs6O5KZ0MJU54hsxu9FpZ4pQ10= +github.com/tomnomnom/xtermcolor v0.0.0-20160428124646-b78803f00a7e/go.mod h1:fSIW/szJHsRts/4U8wlMPhs+YqJC+7NYR+Qqb1uJVpA= +github.com/urfave/cli v1.22.5 h1:lNq9sAHXK2qfdI8W+GRItjCEkI+2oR4d+MEHy1CKXoU= +github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/veandco/go-sdl2 v0.4.1/go.mod h1:FB+kTpX9YTE+urhYiClnRzpOXbiWgaU3+5F2AB78DPg= +github.com/veandco/go-sdl2 v0.4.4 h1:coOJGftOdvNvGoUIZmm4XD+ZRQF4mg9ZVHmH3/42zFQ= +github.com/veandco/go-sdl2 v0.4.4/go.mod h1:FB+kTpX9YTE+urhYiClnRzpOXbiWgaU3+5F2AB78DPg= +github.com/vmihailenco/msgpack v3.3.3+incompatible h1:wapg9xDUZDzGCNFlwc5SqI1rvcciqcxEHac4CYj89xI= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9 h1:umElSU9WZirRdgu2yFHY0ayQkEnKiOC1TtM3fWXFnoU= +golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200927104501-e162460cd6b5 h1:QelT11PB4FXiDEXucrfNckHoFxwt8USGY1ajP1ZF5lM= +golang.org/x/image v0.0.0-20200927104501-e162460cd6b5/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65 h1:+rhAzEzT3f4JtomfC371qB+0Ola2caSKcY69NUBZrRQ= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/sourcemap.v1 v1.0.5 h1:inv58fC9f9J3TK2Y2R1NPntXEn3/wjWHkonhIUODNTI= +gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/pkg/main_scene.go b/pkg/main_scene.go index f9cec9b..3378fba 100644 --- a/pkg/main_scene.go +++ b/pkg/main_scene.go @@ -185,7 +185,7 @@ func (s *MainScene) SetupDemoLevel(d *Doodle) error { log.Error("Error running actor main() functions: %s", err) } } else { - log.Error("Error loading title-screen.level: %s", err) + log.Error("Error loading demo level %s: %s", balance.DemoLevelName, err) } return nil