From patchwork Sun Jan 2 16:02:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Gruber X-Patchwork-Id: 35887 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A0AB027BBE9; Sun, 2 Jan 2022 16:04:32 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2F59227BBEA for ; Sun, 2 Jan 2022 16:04:32 +0000 (GMT) Received: from localhost ([::1]:52092 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n43LT-0004z7-CA for patchwork@mira.cbaines.net; Sun, 02 Jan 2022 11:04:31 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56626) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n43L0-0004y4-7n for guix-patches@gnu.org; Sun, 02 Jan 2022 11:04:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:50199) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n43Kz-0003TE-TM for guix-patches@gnu.org; Sun, 02 Jan 2022 11:04:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n43Kz-0007Yp-Pr for guix-patches@gnu.org; Sun, 02 Jan 2022 11:04:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#52953] [PATCH 1/3] gnu: Add recastnavigation. Resent-From: Felix Gruber Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 02 Jan 2022 16:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52953 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 52953@debbugs.gnu.org Cc: Felix Gruber Received: via spool by 52953-submit@debbugs.gnu.org id=B52953.164113938828962 (code B ref 52953); Sun, 02 Jan 2022 16:04:01 +0000 Received: (at 52953) by debbugs.gnu.org; 2 Jan 2022 16:03:08 +0000 Received: from localhost ([127.0.0.1]:33504 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n43K8-0007X4-HC for submit@debbugs.gnu.org; Sun, 02 Jan 2022 11:03:08 -0500 Received: from mout02.posteo.de ([185.67.36.66]:58277) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n43K6-0007WL-DO for 52953@debbugs.gnu.org; Sun, 02 Jan 2022 11:03:07 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 2AAC0240107 for <52953@debbugs.gnu.org>; Sun, 2 Jan 2022 17:02:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1641139380; bh=QYTc6Oc1psoJoilHKFDu8jCD/sxXIJIR+6q2k8VV5d4=; h=From:To:Cc:Subject:Date:From; b=qKvVdUeyh1taGQjfJ4UfSjPUpyDZE6NZsMlav+MQaEuW/KpaZp4HRJjNdwp5LjWAR 7NXGm5yAbwIAmHm99AXlfVOy84ipWuigPn6sgSsZyh9uyOTPd+GnWBG79k5XPX0yHb R6WCWgxfeNemdW+gZsIn+dxJvnAcVW9uoeP1OH/7I39mBI10gpY+p32s2kP9Jm3ljB d48J5hrAfVuOSaeG7JpAyTx+gBQtiWSFHb1It2qc1AuZ10c/QI+pTbvhaLFh4mjQd1 xFtOyH/1XpG+ZXpXidqN4IqDrzRHcHk4u41rpBC3xreKIfTEOX52ZGD1G89vBKUIw9 NsOuInTuB0smg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4JRkDg2RfWz6tnd; Sun, 2 Jan 2022 17:02:58 +0100 (CET) From: Felix Gruber Date: Sun, 2 Jan 2022 16:02:48 +0000 Message-Id: <20220102160250.17874-1-felgru@posteo.net> In-Reply-To: <20220102160124.17333-1-felgru@posteo.net> References: <20220102160124.17333-1-felgru@posteo.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/game-development.scm (recastnavigation): New variable. --- gnu/packages/game-development.scm | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 305c2c2819..1f7d05f61c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -2837,3 +2837,54 @@ fully dynamic omnidirectional shadows, global illumination, HDR lighting, deferred shading, morphological / temporal / multisample anti-aliasing, and much more.") (license license:zlib)))) + +(define-public recastnavigation + ;; We follow master since there hasn't been a release since 1.5.1 in 2016. + (let ((commit "c5cbd53024c8a9d8d097a4371215e3342d2fdc87") + (revision "1")) + (package + (name "recastnavigation") + (version (git-version "1.5.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/recastnavigation/recastnavigation") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "034bm47gc3r285w1pnvkhmm74zz99d204b1r865gisaiq4qfbza0")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" + "-DRECASTNAVIGATION_DEMO=OFF" + "-DRECASTNAVIGATION_TESTS=ON" + "-DRECASTNAVIGATION_EXAMPLES=OFF"))) + (synopsis "navigation system for games") + (description "Recast is state of the art navigation mesh +construction toolset for games. + +@itemize +@item It is automatic, which means that you can throw any level geometry + at it and you will get robust mesh out. +@item It is fast which means swift turnaround times for level designers. +@item It is open source so it comes with full source and you can + customize it to your heart's content. +@end itemize + +The Recast process starts with constructing a voxel mold from a level +geometry and then casting a navigation mesh over it. The process +consists of three steps, building the voxel mold, partitioning the mold +into simple regions, peeling off the regions as simple polygons. + +Recast is accompanied with Detour, path-finding and spatial reasoning +toolkit. You can use any navigation mesh with Detour, but of course the +data generated with Recast fits perfectly. + +Detour offers simple static navigation mesh which is suitable for many +simple cases, as well as tiled navigation mesh which allows you to plug +in and out pieces of the mesh. The tiled mesh allows you to create +systems where you stream new navigation data in and out as the player +progresses the level, or you may regenerate tiles as the world changes.") + (home-page "https://github.com/recastnavigation/recastnavigation") + (license license:zlib))))