diff --git a/fonts/LiberationMono-Bold.ttf b/fonts/LiberationMono-Bold.ttf deleted file mode 100644 index d21a817..0000000 Binary files a/fonts/LiberationMono-Bold.ttf and /dev/null differ diff --git a/fonts/LiberationMono-BoldItalic.ttf b/fonts/LiberationMono-BoldItalic.ttf deleted file mode 100644 index cf08881..0000000 Binary files a/fonts/LiberationMono-BoldItalic.ttf and /dev/null differ diff --git a/fonts/LiberationMono-Italic.ttf b/fonts/LiberationMono-Italic.ttf deleted file mode 100644 index c17a1a0..0000000 Binary files a/fonts/LiberationMono-Italic.ttf and /dev/null differ diff --git a/fonts/LiberationMono-Regular.ttf b/fonts/LiberationMono-Regular.ttf deleted file mode 100644 index 690e112..0000000 Binary files a/fonts/LiberationMono-Regular.ttf and /dev/null differ diff --git a/fonts/Monaco-Linux.ttf b/fonts/Monaco-Linux.ttf deleted file mode 100644 index 99a7f96..0000000 Binary files a/fonts/Monaco-Linux.ttf and /dev/null differ diff --git a/fonts/UbuntuMono-B.ttf b/fonts/UbuntuMono-B.ttf deleted file mode 100644 index 7bd6665..0000000 Binary files a/fonts/UbuntuMono-B.ttf and /dev/null differ diff --git a/fonts/UbuntuMono-BI.ttf b/fonts/UbuntuMono-BI.ttf deleted file mode 100644 index 6c5b8ba..0000000 Binary files a/fonts/UbuntuMono-BI.ttf and /dev/null differ diff --git a/fonts/UbuntuMono-R.ttf b/fonts/UbuntuMono-R.ttf deleted file mode 100644 index fdd309d..0000000 Binary files a/fonts/UbuntuMono-R.ttf and /dev/null differ diff --git a/fonts/UbuntuMono-RI.ttf b/fonts/UbuntuMono-RI.ttf deleted file mode 100644 index 18f81a2..0000000 Binary files a/fonts/UbuntuMono-RI.ttf and /dev/null differ diff --git a/main.go b/main.go index e34b034..f4ff10f 100644 --- a/main.go +++ b/main.go @@ -5,43 +5,28 @@ import ( blt "bearlibterminal" "ui" "util" - "flag" - "io/ioutil" - "encoding/json" "game" ) var version = "0.0.0" func main() { + defer shutdown() log.Println("Starting...") - var configArg string = "./config.json" - flag.StringVar(&configArg, "cfg", configArg, "config file location") - flag.Parse() - - // get config - data, err := ioutil.ReadFile(configArg) - if err != nil { - log.Fatalf("quoteCompressor can't read config at %s", configArg) - } - config := new(util.Config) - err = json.Unmarshal(data, config) - if err != nil { - log.Fatalln(err) - } + config := util.LoadConfig() game.Init(config) blt.Open() //blt.Set("window: size=80x25, title="+config.Title+" v"+string(version)+"; font: ./fonts/Monaco-Linux.ttf, size=10") - blt.Set("window: size=100x47, title="+config.Title+" v"+string(version)+"; font: ./fonts/UbuntuMono-R.ttf, size=10;") - defer blt.Close() + blt.Set("window: size=100x47, title="+config.Title+" v"+string(version)+"; font: ./resources/fonts-bitmap/ibmnew8x12.png, size=8x12;") + blt.Print(1, 1, "Hello, [font=italic]world[/font]!") + blt.Print(1, 4, "Testing line-spacing") blt.PrintExt(1, 6, 5, 4, 1, "Lorem ipsum dolor sit amet") blt.Refresh() - mainLoop() } @@ -50,16 +35,33 @@ func mainLoop () { var exit = false for !exit { - var key, keycode = ui.ReadKey(); - if key != "" { - blt.Print( 1, 3, "Key: ") + var key, keycode = ui.ReadKey() + if key != "" { + blt.ClearArea(0,3, 80, 1) } - blt.Print( 1, 3, "Key: " + key ) - exit, _ = util.InArray(keycode, []int{blt.TK_CLOSE, blt.TK_ESCAPE}) - if (!exit) { - exit = key == "Ctrl+q" + switch key { + case "F10": + blt.Set("window: size=100x47; font: ./resources/fonts-ttf/UbuntuMono-R.ttf, size=10;") + case "Ctrl+q": + fallthrough + case "Escape": + exit = true + default: + blt.Print( 1, 3, "Key: " + key ) } + + if keycode ==blt.TK_CLOSE { + exit = true + } + blt.Refresh() } - log.Println("Closing...") + +} + +func shutdown() { + + log.Println("Here we must save state, but it is not done yet") + log.Println("Exiting application...") + blt.Close() } \ No newline at end of file diff --git a/src/util/util.go b/src/util/util.go index eb32eb9..abf310b 100644 --- a/src/util/util.go +++ b/src/util/util.go @@ -2,6 +2,10 @@ package util import ( "reflect" + "flag" + "io/ioutil" + "log" + "encoding/json" ) type Config struct { @@ -9,6 +13,23 @@ type Config struct { FpsLimit int `json:"fpsLimit, omitempty" validate:"required"` } +func LoadConfig () *Config { + var configArg string = "./config.json" + flag.StringVar(&configArg, "cfg", configArg, "config file location") + flag.Parse() + + // get config + data, err := ioutil.ReadFile(configArg) + if err != nil { + log.Fatalf("Application couldn't read config at %s", configArg) + } + config := new(Config) + err = json.Unmarshal(data, config) + if err != nil { + log.Fatalln(err) + } + return config +} func InArray(val interface{}, array interface{}) (exists bool, index int) { exists = false