load("@bazel_skylib//rules:run_binary.bzl", "run_binary")

cc_library(
    name = "game",
    srcs = glob(["*.c"]) + [":art/game_demo_sprites.c", ":map/game_map.c"],
    hdrs = glob(["*.h"]) + [":art/game_demo_sprites.h", ":map/game_map.h"],
    visibility = ["//visibility:public"],
    deps = ["//device:device", "//sys:sys"]
)

run_binary(
    name = "game_demo_sprites",
    args = [
        "game_demo_sprites",
        "256",  # n sprites
        "0",  # key color
        "$(location :art/game_demo_sprites.png)",
        "$(location :art/game_demo_sprites.c)"
    ],
    srcs = [":art/game_demo_sprites.png"],
    outs = [":art/game_demo_sprites.c"],
    tool = "//pytools:spritesheet",
)

run_binary(
    name = "game_map",
    args = [
        "game_map",
        "$(location :map/crocparty.ldtk)",
        "$(location :map/game_map.c)",
    ],
    srcs = [":map/crocparty.ldtk"],
    outs = [":map/game_map.c"],
    tool = "//pytools:mapdata"
)