عن المشروع

cute_headers هي مجموعة من مكتبات C/C++ أحادية الملف وعابرة للمنصات، مخصصة للإدراج مباشرة في المشروع. كل ملف رأس مكتفٍ بذاته وليس له تبعيات خارجية، والتركيز المعلن هو تطوير الألعاب بشكل أساسي. يوثّق المستودع ملفات الرأس التالية: - cute_c2 (1.10): كشف التصادم ثنائي الأبعاد على الأشكال الأولية، ونتائج منطقية و/أو توليد manifolds، واختبارات shape cast/sweep، وraycasts. - cute_net (1.03): مكتبة شبكات للألعاب، تقدم طبقة موثوقية اختيارية فوق UDP مع مخطط أمان مدمج. - cute_tiled (1.07): محمّل لخرائط Tiled المصدّرة بصيغة JSON. - 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): مجمّع رموز ثنائي الأبعاد وقت التشغيل يبني الأطالس في الذاكرة أثناء العمل، لأداء عرض عالٍ دون أطالس مسبقة التجميع على القرص. - cute_sync (1.02): بدائيات المزامنة بما في ذلك قفل القراءة/الكتابة ونظام threadpool/task. - cute_tls (1.02): إنشاء اتصال TLS بموقع ويب عبر TCP، مفيد لطلبات HTTPS (C/C++/Obj-C). نموذج الاستخدام: تُدرج ملفات الرأس مباشرة في المصدر. يعرّف كل ملف رأس رمز LIBNAME_IMPLEMENTATION؛ تعريفه في وحدة ترجمة واحدة بالضبط وإدراج ملف الرأس هناك يُصدر التنفيذ، بينما تُدرج الملفات الأخرى ملف الرأس بشكل عادي. يرى README أن هذا النهج يبسّط التوزيع (ملف واحد للنسخ) ويتجنب تغييرات سكربت البناء، وأن ملفات الرأس الأحادية المبنية جيدًا تستخدم القوالب باعتدال وتضع التنفيذ في وحدة ترجمة واحدة للحد من تكلفة وقت الترجمة. تأتي بعض ملفات الرأس مع كود أمثلة وعروض توضيحية في مجلدات examples أو tests المقابلة، والتي يوصي README بها لتعلم الاستخدام. الترخيص مذكور لكل ملف، مع خيار بين الملكية العامة وzlib. نُقلت ملفات الرأس المهملة إلى مستودع منفصل cute_headers_deprecated. يشير المؤلف أيضًا إلى Cute Framework، وهو إطار عمل لإنشاء ألعاب ثنائية الأبعاد بمستوى أعلى مبني إلى حد كبير فوق ملفات الرأس منخفضة المستوى هذه، وإلى مكتبات STB وRJM وMattias Gustavsson كأمثلة مرجعية لمكتبات ملفات الرأس. يُتاح التواصل المجتمعي عبر خادم Discord وTwitter (@randypgaul).