diff --git a/cmd/client.go b/cmd/client.go index 79e3870..71522a2 100644 --- a/cmd/client.go +++ b/cmd/client.go @@ -79,7 +79,6 @@ func runClient(cmd *cobra.Command, args []string) { select { case _ = <-osChan: - // funzt noch nicht: log.Println("Got a KILL") con.Close() close(renderQueue) diff --git a/cmd/server.go b/cmd/server.go index a4e9edd..5cdc94e 100644 --- a/cmd/server.go +++ b/cmd/server.go @@ -74,6 +74,7 @@ func resetServer() { _, client := k, clients[k] client.off = off off += client.w + off += 10 } } @@ -85,7 +86,7 @@ func serveClients() { for _, k := range clientKeys { id, client := k, clients[k] if id > 0 { - oFrame := level.GetFrame(0+frameCounter, client.w, frameCounter) + oFrame := level.GetFrame(client.off, client.w, frameCounter) enc := gob.NewEncoder(client.con) err := enc.Encode(oFrame) if err != nil { diff --git a/data/level.go b/data/level.go index 8299a7d..dc64a68 100644 --- a/data/level.go +++ b/data/level.go @@ -4,6 +4,7 @@ import ( "encoding/gob" "log" "os" + //"sort" ) type directionType int @@ -60,6 +61,7 @@ func LoadLevel(filename string) *Level { return ret } +// that's a func func (lvl *Level) Height() int { max := 0 for _, l := range lvl.Layers { @@ -72,6 +74,7 @@ func (lvl *Level) Height() int { return max } +// this is a func also ;) func (lvl *Level) Width() (max int) { for _, lay := range lvl.Layers { for _, fra := range lay.Frames { @@ -85,6 +88,7 @@ func (lvl *Level) Width() (max int) { return } +//testcomment func (lvl *Level) GetFrame(off, w, frameNo int) (ret *Frame) { h := lvl.Height() @@ -92,15 +96,20 @@ func (lvl *Level) GetFrame(off, w, frameNo int) (ret *Frame) { W: w, H: h, } + var mdata = make([]rune, w*h) + for y := 0; y < h; y++ { + ret.Data = append(ret.Data, mdata[y*w:(y+1)*w]) + } for _, layer := range lvl.Layers { if layer.Z == 0 { for row := 0; row < h; row++ { - ret.Data = append(ret.Data, []rune{}) + //ret.Data = append(ret.Data, []rune{}) f := (frameNo % len(layer.Frames)) + 1 if row <= len(layer.Frames[f]) { + //for col := 0 //log.Println(len(layer.Frames[f][row])) - ret.Data[row] = append(ret.Data[row], (layer.Frames[f][row][off:])...) + //ret.Data[row] = append(ret.Data[row], (layer.Frames[f][row][off%w:])...) } } } diff --git a/levels/locoworld/Manifest.json b/levels/locoworld/Manifest.json index 5f8fe13..b7eb521 100644 --- a/levels/locoworld/Manifest.json +++ b/levels/locoworld/Manifest.json @@ -1,6 +1,6 @@ { "Name": "The locomotive!", - "FPS": 10, + "FPS": 25, "Layers" : { "locomotive": { "Z-Index": 0,