このプロジェクトについて

cute_headersは、プロジェクトに直接組み込むことを目的とした、クロスプラットフォームの単一ファイルC/C++ライブラリのコレクションです。各ヘッダーは自己完結型で外部依存関係がなく、主にゲーム開発に焦点を当てています。 このリポジトリには、以下のヘッダーが文書化されています: - cute_c2 (1.10):プリミティブ上の2D衝突検出、ブール結果やマニフォールド生成、シェイプキャスト/スイープテスト、レイキャスト。 - cute_net (1.03):ゲーム向けネットワーキングライブラリ。UDP上にオプションの信頼性レイヤーと組み込みのセキュリティスキームを提供。 - cute_tiled (1.07):JSON形式にエクスポートされたTiledマップのローダー。 - cute_aseprite (1.04):.ase/.asepriteファイルをコンパクトな構造体コレクションに解析。 - cute_sound (3.0):WAVおよびOGGオーディオ(OGGはstb_vorbisラッパー経由)をモノラルまたはステレオで読み込み、再生、ループ(プラグイン付き)、パン。カスタムミキサー、音楽、クロスフェード対応。 - cute_png (1.06):PNGの読み込みと保存、テクスチャアトラスのコンパイル、DEFLATE準拠のデコンプレッサ、LZ77コンプレッサ。 - cute_spritebatch (1.08):実行時にメモリ内でアトラスを動的に構築する2Dスプライトバッチャー。プリコンパイルされたディスク上のアトラスなしで高性能レンダリングを実現。 - cute_sync (1.02):読み書きロックやスレッドプール/タスクシステムを含む同期プリミティブ。 - cute_tls (1.02):TCP経由でウェブサイトへのTLS接続を作成。HTTPSリクエストに有用(C/C++/Obj-C)。 使用方法:ヘッダーはソースに直接インクルードされます。各ヘッダーはLIBNAME_IMPLEMENTATIONシンボルを定義します。これを正確に1つの翻訳単位で定義し、そのヘッダーをインクルードすると実装が生成され、他のファイルは通常通りヘッダーをインクルードします。READMEは、このアプローチが配布を簡素化し(コピーするファイルが1つ)、ビルドスクリプトの変更を避けると主張しています。また、適切に構築された単一ファイルヘッダーはテンプレートを控えめに使用し、実装を1つの翻訳単位に配置してコンパイル時間のコストを制限すると述べています。 一部のヘッダーには、対応するexamplesやtestsフォルダにサンプルコードとデモが含まれており、READMEは使用方法の学習にこれらを推奨しています。ライセンスはファイルごとに記載され、パブリックドメインとzlibの選択肢があります。非推奨のヘッダーは別のcute_headers_deprecatedリポジトリに移動されました。著者はまた、これらの低レベルヘッダーを基盤に構築された高レベルな2Dゲーム作成フレームワークであるCute Frameworkや、ヘッダーライブラリの参考例としてSTB、RJM、Mattias Gustavssonのライブラリを指摘しています。コミュニティへの連絡手段として、DiscordサーバーとTwitter(@randypgaul)が提供されています。