7akeem0/007-firstlight-toolkit

GitHub: 7akeem0/007-firstlight-toolkit

Stars: 6 | Forks: 1

# 007 First Light — Toolkit # مجموعة أدوات لتعريب 007 First Light نشأ هذا المشروع من جهد تعريب اللعبة عام 2026 — أول تعريب كامل للعبة. الأدوات معمّمة بحيث تخدم أي لغة، مو بس العربي. Born from the 2026 Arabic localization effort — the first complete translation of the game. Tools are generalized to serve any language, not just Arabic. ## 🇸🇦 بالعربي ### إيش هذا الـ Toolkit؟ طقم أدوات بـ Python لتعديل لعبة 007 First Light (محرّك Glacier، صيغة RPKG v2). يقدر: - 📖 **يستخرج كل النصوص** من اللعبة (الواجهة + الحوار + أسماء المتحدّثين) كملفات JSON قابلة للتحرير. - 🔤 **يركّب أي خط** (TTF) في اللعبة مع الحفاظ على استقرار الـ engine. - 💉 **يحقن ترجمات كاملة** في اللعبة بأمر واحد (واجهة + حوار + أسماء + خط). - 🔄 **يرجّع كل شي للأصل** بأمر واحد. ### إيش تحتاج؟ - ويندوز (يشتغل على لينكس كمان) - [Python 3.10+](https://www.python.org/downloads/) - لعبة 007 First Light مثبّتة (Steam) ### التثبيت السريع git clone https://github.com/7akeem0/007-firstlight-toolkit.git cd 007-firstlight-toolkit pip install -r requirements.txt ### الاستخدامات الثلاثة الرئيسية #### 1. تعريب اللعبة كاملاً (المثال العربي) # استخرج كل النصوص من اللعبة python tools/extract_text.py --game-dir "D:/SteamLibrary/steamapps/common/007 First Light" --out my_translation/ # ترجم القيم في my_translation/ui.json, dialogue.json, speakers.json # نزّل خطوط Noto Kufi Arabic من قوقل وحطّها في examples/arabic/fonts/ # ركّب كل شي بأمر واحد python tools/install_translation.py --config examples/arabic/translation_config.json #### 2. تركيب خط فقط (بدون ترجمة) لو بس تبي تغيّر شكل الحروف: python tools/install_font.py --config examples/arabic/font_config.json #### 3. استكشاف ملفات اللعبة # قائمة بكل الموارد في chunk0 python tools/list_resources.py "D:/.../Runtime/chunk0.rpkg" # فقط الخطوط (GFXF) python tools/list_resources.py chunk0.rpkg --type GFXF # استخرج خط معيّن python tools/extract_font.py chunk0.rpkg 01DD9580958CDC9B my_font.GFXF ### الاسترجاع python tools/install_translation.py --restore # أو python tools/install_font.py --restore ### اللغات المدعومة | اللغة | reshaping/bidi | ملاحظات | |---|:---:|---| | العربي | ✅ تلقائي | تستخدم Arabic Presentation Forms-B | | الفارسي | ✅ تلقائي | يضيف چ پ ژ گ | | الأردو | ✅ تلقائي | يحتاج Noto Nastaliq Urdu | | التركي/الفرنسي/الإسباني/إلخ | ❌ مو محتاج | لاتيني مع علامات | | الروسي/البلغاري/إلخ | ❌ مو محتاج | سيريلي | ### الهيكل 007-firstlight-toolkit/ ├── glacier/ # المكتبة الأساسية (modular) │ ├── rpkg.py # قراءة/كتابة RPKG + XTEA + XOR │ ├── locr.py # نصوص الواجهة │ ├── dlge.py # نصوص الحوار + أسماء المتحدّثين │ ├── gfxf.py # بناء الخطوط │ ├── shaping.py # reshaping للعربي والفارسي │ └── steam.py # اكتشاف مسار اللعبة ├── tools/ # سكربتات CLI │ ├── list_resources.py # استعراض الموارد │ ├── extract_text.py # استخراج كل النصوص │ ├── extract_font.py # استخراج خط │ ├── install_font.py # تركيب خط (all-in-one) │ └── install_translation.py # تركيب ترجمة كاملة (all-in-one) ├── examples/ │ └── arabic/ # مثال عربي كامل وجاهز ├── docs/ │ ├── RPKG_FORMAT.md # توثيق صيغة الـ chunks │ ├── FONT_INJECTION.md # شرح حقن الخط │ └── TRANSLATION_WORKFLOW.md # سير عمل الترجمة └── README.md ### الكريدت - **تعريب اللعبة + هندسة الـ engine عكسياً (2026):** هشام ([@7akeem0](https://github.com/7akeem0)) - **الأدوات (هذا الريبو):** مفتوحة المصدر (MIT). استخدمها كيف ما تبي. ## 🇬🇧 English ### What is this toolkit? A Python toolkit for modding 007 First Light (Glacier engine, RPKG v2). It can: - 📖 **Extract all text** from the game (UI + dialogue + speaker names) as editable JSON. - 🔤 **Install any font** (TTF) into the game while keeping the engine stable. - 💉 **Inject full translations** in one command (UI + dialogue + names + font). - 🔄 **Restore everything** in one command. ### Requirements - Windows (also works on Linux) - [Python 3.10+](https://www.python.org/downloads/) - 007 First Light installed (Steam) ### Install git clone https://github.com/7akeem0/007-firstlight-toolkit.git cd 007-firstlight-toolkit pip install -r requirements.txt ### Main use cases #### 1. Full game translation (Arabic example) # Extract all text from the game python tools/extract_text.py --game-dir "D:/.../007 First Light" --out my_translation/ # Translate the values in my_translation/ui.json, dialogue.json, speakers.json # Download Noto Kufi Arabic from Google Fonts → put it in examples/arabic/fonts/ # Install everything in one command python tools/install_translation.py --config examples/arabic/translation_config.json #### 2. Font only (no translation) python tools/install_font.py --config examples/arabic/font_config.json #### 3. Explore game files python tools/list_resources.py chunk0.rpkg python tools/list_resources.py chunk0.rpkg --type GFXF python tools/extract_font.py chunk0.rpkg 01DD9580958CDC9B my_font.GFXF ### Restore python tools/install_translation.py --restore # or python tools/install_font.py --restore ### Supported languages | Language | reshaping/bidi | Notes | |---|:---:|---| | Arabic | ✅ auto | Uses Arabic Presentation Forms-B | | Persian | ✅ auto | Adds چ پ ژ گ | | Urdu | ✅ auto | Needs Noto Nastaliq Urdu | | Turkish/French/Spanish/etc. | ❌ N/A | Latin with diacritics | | Russian/Bulgarian/etc. | ❌ N/A | Cyrillic | ### Architecture `glacier/` is a clean Python package — use it as a library. `tools/` are CLI scripts that wrap it. See `docs/` for the technical deep-dive. ### Disclaimer This toolkit does not contain or distribute any game assets. You must own a legal copy of 007 First Light. The toolkit does not modify the game executable, only the data archives, and includes a restore command.