diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index eaff5b6..27485d5 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -6,7 +6,7 @@ jobs: build: runs-on: ubuntu-latest container: - image: zapashcanon/gitea-ocaml-ci:latest + image: pena/gitea-ocaml-ci:latest steps: - name: checkout uses: actions/checkout@v4 diff --git a/.ocamlformat b/.ocamlformat index eb9f4e0..6f010c4 100644 --- a/.ocamlformat +++ b/.ocamlformat @@ -1,4 +1,4 @@ -version=0.27.0 +version=0.28.1 assignment-operator=end-line break-cases=fit break-fun-decl=wrap diff --git a/dune-project b/dune-project index 1c009d1..fecf61a 100644 --- a/dune-project +++ b/dune-project @@ -1,23 +1,15 @@ (lang dune 2.9) - -(implicit_transitive_deps false) - (name pellest) +(implicit_transitive_deps false) +(generate_opam_files true) -(authors "swrup") - -(maintainers "swrup@protonmail.com") +(authors "swrup@protonmail.com" "pena ") +(maintainers "swrup@protonmail.com" "pena ") (source - (uri TODO/pellest)) - -(homepage TODO/pellest) - -(bug_reports TODO/pellest) - -(documentation TODO/pellest) - -(generate_opam_files true) + (uri git+https://forge.kumikode.org/swrup/pellest.git)) +(homepage https://forge.kumikode.org/swrup/pellest) +(bug_reports https://forge.kumikode.org/swrup/pellest/issues) (package (name pellest) @@ -28,4 +20,20 @@ (pellest TODO TODO TODO TODO)) (depends (ocaml - (>= 4.08)))) + (>= 4.08)) + bos + brr + caqti + caqti-driver-sqlite3 + directories + dream + emile + fpath + lambdasoup + lwt + lwt_ppx + safepass + scfg + tyxml + uri + uuidm)) diff --git a/pellest.opam b/pellest.opam index 72709f3..140446e 100644 --- a/pellest.opam +++ b/pellest.opam @@ -2,15 +2,30 @@ opam-version: "2.0" synopsis: "OCaml library/executable to TODO" description: "pellest is an OCaml library/executable to TODO." -maintainer: ["swrup@protonmail.com"] -authors: ["swrup"] +maintainer: ["swrup@protonmail.com" "pena "] +authors: ["swrup@protonmail.com" "pena "] tags: ["pellest" "TODO" "TODO" "TODO" "TODO"] -homepage: "TODO/pellest" -doc: "TODO/pellest" -bug-reports: "TODO/pellest" +homepage: "https://forge.kumikode.org/swrup/pellest" +bug-reports: "https://forge.kumikode.org/swrup/pellest/issues" depends: [ "dune" {>= "2.9"} "ocaml" {>= "4.08"} + "bos" + "brr" + "caqti" + "caqti-driver-sqlite3" + "directories" + "dream" + "emile" + "fpath" + "lambdasoup" + "lwt" + "lwt_ppx" + "safepass" + "scfg" + "tyxml" + "uri" + "uuidm" "odoc" {with-doc} ] build: [ @@ -29,4 +44,4 @@ build: [ ] ["dune" "install" "-p" name "--create-install-files" name] ] -dev-repo: "TODO/pellest" +dev-repo: "git+https://forge.kumikode.org/swrup/pellest.git" diff --git a/src/dune b/src/dune index b35e495..c94d765 100644 --- a/src/dune +++ b/src/dune @@ -17,6 +17,8 @@ user ws) (libraries + shared + ; bos caqti caqti.blocking @@ -24,7 +26,6 @@ directories dream emile - shared fpath lambdasoup lwt diff --git a/src/island_client.ml b/src/island_client.ml index 1f25a64..cb9345d 100644 --- a/src/island_client.ml +++ b/src/island_client.ml @@ -191,22 +191,22 @@ let apply_last_key () = let open State in Kb.get_last () |> Option.iter (fun code_or_key -> - let act = - (* when you add something here, don't forget to add the corresponding case in `keypress_handler` *) - match code_or_key with - | "KeyW" | "ArrowUp" -> Move_offset Up - | "KeyA" | "ArrowLeft" -> Move_offset Left - | "KeyS" | "ArrowDown" -> Move_offset Down - | "KeyD" | "ArrowRight" -> Move_offset Right - | "m" -> Meditate - | "p" -> Plant_wheat - | _ -> - (* if this happen, it means we're adding + let act = + (* when you add something here, don't forget to add the corresponding case in `keypress_handler` *) + match code_or_key with + | "KeyW" | "ArrowUp" -> Move_offset Up + | "KeyA" | "ArrowLeft" -> Move_offset Left + | "KeyS" | "ArrowDown" -> Move_offset Down + | "KeyD" | "ArrowRight" -> Move_offset Right + | "m" -> Meditate + | "p" -> Plant_wheat + | _ -> + (* if this happen, it means we're adding bad values in `keypress_handler` and that should be fixed *) - assert false - in - Queue.add act input_queue ) + assert false + in + Queue.add act input_queue ) let render state = draw_canvas state; diff --git a/src/state.ml b/src/state.ml index cc8af84..bb1cd38 100644 --- a/src/state.ml +++ b/src/state.ml @@ -104,14 +104,13 @@ let rec check_action state = function ; Set_offset (offset_x, offset_y) ] in - begin - match dir' with - | None -> Ok offset_action - | Some dir' -> begin - match check_action state (Move dir') with - | Error _e as e -> e - | Ok actions -> Ok (offset_action @ actions) - end + begin match dir' with + | None -> Ok offset_action + | Some dir' -> begin + match check_action state (Move dir') with + | Error _e as e -> e + | Ok actions -> Ok (offset_action @ actions) + end end | Plant_wheat -> ( let { Map.x; y; dir } = state.player_pos in