diff --git a/build.sbt b/build.sbt index 9e613ad..d598da6 100644 --- a/build.sbt +++ b/build.sbt @@ -2,15 +2,15 @@ lazy val scodec = (project in file("scodec")).settings( organization := "tf.bug", name := "fancadescodec", version := "0.1.0", - scalaVersion := "2.13.3", + scalaVersion := "2.13.2", libraryDependencies ++= Seq( "org.scodec" %% "scodec-core" % "1.11.7", - "org.scodec" %% "scodec-bits" % "1.1.17", + "org.scodec" %% "scodec-bits" % "1.1.14", "org.scodec" %% "scodec-stream" % "2.0.0", - "org.typelevel" %% "cats-effect" % "2.1.3", + "org.typelevel" %% "cats-effect" % "2.1.2", "org.typelevel" %% "cats-core" % "2.1.1", - "co.fs2" %% "fs2-core" % "2.4.2", - "co.fs2" %% "fs2-io" % "2.4.2", + "co.fs2" %% "fs2-core" % "2.3.0", + "co.fs2" %% "fs2-io" % "2.3.0", ), mainClass in assembly := Some("tf.bug.fancadescodec.Main"), ) @@ -19,7 +19,7 @@ lazy val graph = (project in file("graph")).settings( organization := "tf.bug", name := "fancadegraph", version := "0.1.0", - scalaVersion := "2.13.3", + scalaVersion := "2.13.2", libraryDependencies ++= Seq( "org.scala-graph" %% "graph-core" % "1.13.2", ), @@ -29,13 +29,13 @@ lazy val tagless = (project in file("tagless")).settings( organization := "tf.bug", name := "fancadetagless", version := "0.1.0", - scalaVersion := "2.13.3", + scalaVersion := "2.13.1", libraryDependencies ++= Seq( "org.scala-graph" %% "graph-core" % "1.13.2", "com.chuusai" %% "shapeless" % "2.3.3", "org.typelevel" %% "cats-core" % "2.1.1", - "org.typelevel" %% "cats-effect" % "2.1.3", - "io.chrisdavenport" %% "fuuid" % "0.4.0", + "org.typelevel" %% "cats-effect" % "2.1.2", + "io.chrisdavenport" %% "fuuid" % "0.3.0", "org.scalameta" %% "munit" % "0.7.9" % Test, ), testFrameworks += new TestFramework("munit.Framework"), diff --git a/graph/src/main/scala/tf/bug/fancadegraph/Argument.scala b/graph/src/main/scala/tf/bug/fancadegraph/Argument.scala index fff9cb5..d59f729 100644 --- a/graph/src/main/scala/tf/bug/fancadegraph/Argument.scala +++ b/graph/src/main/scala/tf/bug/fancadegraph/Argument.scala @@ -20,14 +20,9 @@ object Argument { fansc.Metadata.Number(pos, value) ) } - implicit val booleanArg: Argument[Boolean] = new Argument[Boolean] { - override def encode(value: Boolean)(pos: fansc.Position): Vector[fansc.Metadata] = Vector( - fansc.Metadata.Bool(pos, value) - ) - } implicit val soundOptionsArg: Argument[SoundOptions] = new Argument[SoundOptions] { override def encode(value: SoundOptions)(pos: fansc.Position): Vector[fansc.Metadata] = Vector( - fansc.Metadata.Bool(pos, value.loop), + fansc.Metadata.PlaySoundLoop(pos, value.loop), fansc.Metadata.PlaySoundSample(pos, value.sample) ) } diff --git a/graph/src/main/scala/tf/bug/fancadegraph/BlockDefinition.scala b/graph/src/main/scala/tf/bug/fancadegraph/BlockDefinition.scala index 381f4c8..78f8853 100644 --- a/graph/src/main/scala/tf/bug/fancadegraph/BlockDefinition.scala +++ b/graph/src/main/scala/tf/bug/fancadegraph/BlockDefinition.scala @@ -389,7 +389,7 @@ object BlockDefinition { override val ids: Vector[Obj] = Vector(Obj.archLower, Obj.archHigher) } - case object Win extends BuiltIn[Boolean] { + case object Win extends BuiltIn[Unit] { override val width: Int = 2 override val height: Int = 1 override val depth: Int = 2 @@ -415,7 +415,7 @@ object BlockDefinition { ) } - case object Lose extends BuiltIn[Boolean] { + case object Lose extends BuiltIn[Unit] { override val width: Int = 2 override val height: Int = 1 override val depth: Int = 2 diff --git a/graph/src/main/scala/tf/bug/fancadegraph/Main.scala b/graph/src/main/scala/tf/bug/fancadegraph/Main.scala index 93c4d25..cfd0e07 100644 --- a/graph/src/main/scala/tf/bug/fancadegraph/Main.scala +++ b/graph/src/main/scala/tf/bug/fancadegraph/Main.scala @@ -1,6 +1,7 @@ package tf.bug.fancadegraph import cats.effect.{Blocker, ExitCode, IO, IOApp} +import cats.implicits._ import fs2._ import java.nio.file.{Paths, StandardOpenOption} import scalax.collection.Graph @@ -11,8 +12,8 @@ import tf.bug.fancadescodec.{Cartridge, Codecs, Position} object Main extends IOApp { override def run(args: List[String]): IO[ExitCode] = { - val winBlock = Block(Position(0, 0, 0), BlockDefinition.Win, true) - val loseBlock = Block(Position(0, 0, 3), BlockDefinition.Lose, true) + val winBlock = Block(Position(0, 0, 0), BlockDefinition.Win) + val loseBlock = Block(Position(0, 0, 3), BlockDefinition.Lose) val loseAfter = Pin(loseBlock, BlockDefinition.Lose.after) val winBefore = Pin(winBlock, BlockDefinition.Win.before) val level = Level( diff --git a/project/plugins.sbt b/project/plugins.sbt index 4ff411d..f0390ca 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,3 +1,2 @@ -addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.1.13") +addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.1.11") addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.10") -addSbtPlugin("org.jmotor.sbt" % "sbt-dependency-updates" % "1.2.2") diff --git a/scodec/src/main/scala/tf/bug/fancadescodec/Codecs.scala b/scodec/src/main/scala/tf/bug/fancadescodec/Codecs.scala index 71453c3..145b203 100644 --- a/scodec/src/main/scala/tf/bug/fancadescodec/Codecs.scala +++ b/scodec/src/main/scala/tf/bug/fancadescodec/Codecs.scala @@ -50,8 +50,8 @@ object Codecs { lazy val metadata: Codec[Metadata] = discriminated[Metadata].by(uint16L) .subcaseP(0x0100) { - case bool: Metadata.Bool => bool - } (metadataBool) + case psl: Metadata.PlaySoundLoop => psl + } (metadataPlaySoundLoop) .subcaseP(0x0201) { case pss: Metadata.PlaySoundSample => pss } (metadataPlaySoundSample) @@ -68,8 +68,8 @@ object Codecs { case terminal: Metadata.Terminal => terminal } (metadataTerminal) - lazy val metadataBool: Codec[Metadata.Bool] = - (position :: bool(8).hlist).as[Metadata.Bool] + lazy val metadataPlaySoundLoop: Codec[Metadata.PlaySoundLoop] = + (position :: bool(8).hlist).as[Metadata.PlaySoundLoop] lazy val metadataPlaySoundSample: Codec[Metadata.PlaySoundSample] = (position :: sample.hlist).as[Metadata.PlaySoundSample] lazy val metadataNumber: Codec[Metadata.Number] = diff --git a/scodec/src/main/scala/tf/bug/fancadescodec/Metadata.scala b/scodec/src/main/scala/tf/bug/fancadescodec/Metadata.scala index 64004d5..ad760aa 100644 --- a/scodec/src/main/scala/tf/bug/fancadescodec/Metadata.scala +++ b/scodec/src/main/scala/tf/bug/fancadescodec/Metadata.scala @@ -4,7 +4,7 @@ sealed trait Metadata object Metadata { - case class Bool( + case class PlaySoundLoop( block: Position, doLoop: Boolean ) extends Metadata diff --git a/tagless/src/main/scala/tf/bug/fancadetagless/Fanscript.scala b/tagless/src/main/scala/tf/bug/fancadetagless/Fanscript.scala index 8a26a2f..8e5f89c 100644 --- a/tagless/src/main/scala/tf/bug/fancadetagless/Fanscript.scala +++ b/tagless/src/main/scala/tf/bug/fancadetagless/Fanscript.scala @@ -1,6 +1,7 @@ package tf.bug.fancadetagless import tf.bug.fancadetagless.Fanscript.{Position, ScreenSize} +import tf.bug.fancadegraph.BlockDefinition trait Fanscript[F[_]] {