Skip to content

تاريخ الإصدارات ​

jrpm-0.1.0 (2026-08-14) اكتمال نقل cmclient ​

بناءً على الإصدار الأولي 0.1.0، تم إكمال نقل وظائف cmclient الخمس (modded + cmclient بالكامل):

الوظائف الجديدة (نقل cmclient / modded) ​

  • الدفعة الأولى من modded: سجل رحلة المركبة (b89f93f9) + سرعة سير الطائرة قابلة للتعديل (b89f93f9)؛
  • الدفعة الثانية من cmclient: إشارات مرجعية للموقع / تفاصيل الشحن / مشاهدة (089480b3)؛
  • الدفعة الصفرية من cmclient: أوامر الكونسول cmgamespeed / cmgamestats / cmexport / cmtreemap (1fd94d12)؛
  • الدفعة الثالثة ① من cmclient - التمييز: معاينة بناء على مستوى الكائن (محطات/سكك/مستودعات/مطارات)، مرتبطة بخط رسم viewport وأدوات البناء (6 commits، d97aa38a ← 1957bf45)؛
  • الدفعة الثالثة ③ من cmclient - المخططات: نسخ/تدوير/16 فتحة/إعادة بناء (8e08ca6b)؛
  • الدفعة الرابعة ④ من cmclient - تقسيم المدن: تقسيم Tz + تلوين growth_tiles + كتلة حفظ GRWT (9e3f95a2)؛
  • الدفعة الخامسة ⑤ من cmclient - إعادة تشغيل الأوامر: cmdrecord / cmdreplay (f113acce28)؛
  • إصلاح اصطلاح معاملات الكونسول: جميع أوامر jrpm تستخدم الآن argv[1] كبداية المعاملات (argv[0] هو اسم الأمر).

استنتاجات معمارية ​

  • ② طبقة كائن الأوامر لم تُنقل: التمييز/المخططات/إعادة التشغيل تستخدم CMD_ERROR، وإغلاق الأوامر، وتسلسل أوامر jrpm الأصلي على التوالي، متجاوزة الحاجة إلى 2251 سطراً من كود التوليد الخاص بـ cmclient.

توافق الحفظ ​

  • بيانات growth_tiles مخزنة في كتلة GRWT مستقلة، تحميل الحفظ القديم (بدون هذه الكتلة) متوافق تماماً؛
  • ملفات تسجيل الأوامر (.jrcm) هي تنسيق خاص بـ jrpm، غير مضمونة التوافق عبر الإصدارات.

jrpm-0.1.0 (2026-08-14) ​

أول إصدار من jrpm، يعتمد على jgrpp 0.73.1 + دمج pulsexlb px-patch، مع نقل ميزات modded / cmclient.

محتوى التغيير ​

  • دمج pulsexlb px-patch (152 commit):
    • فك القاطرة (decouple): أوامر الفك/الربط، نقل العلامات، حدود طول الربط/سرعة القطار، قاطرتين، ربط NewGRF، توجيه الربط، جدولة مستقلة بعد الفك؛
    • مطار معياري (multitile-airport): نظام أنواع air، جدولة PBS الجوية، توجيه YAPF الجوي، تعديل تخطيط المطار (allow_modify_airports)؛
    • إصدار الحفظ يضيف SLV_MULTITILE_AIRPORTS / SLV_ORDER_DECOUPLE.
  • تغيير اسم الإصدار: openttd-jrpm / jrpm-0.1.0 (اسم الملف التنفيذي وسلسلة المراجعة).
  • توافق إصدارات متعددة للخادم: خادم jrpm يقبل عملاء jrpm / jgrpp الأصلي / pulsexlb.
  • وظائف حصرية لـ jrpm:
    • تنزيل الموارد بمرايا متعددة + توازي على مستوى الملف (عدد متزامن قابل للتكوين)؛
    • تجميع المركبات تلقائياً حسب الطلبات المشتركة (زر نافذة + أمر autogroup)؛
    • ذكاء اصطناعي يدرك اللعبة بأكملها (واجهة برمجة تطبيقات AIGlobal + GlobalAI نموذجي، مع مفتاح تحكم في الإعدادات)؛
    • تلميح سعر البناء (تمت إزالته حسب الطلب، commit 96ebfb75).
  • نقل modded (الدفعة الأولى):
    • سجل رحلة المركبة (آخر 10 رحلات: الربح/نسبة الإشغال/المدة، زر History في نافذة تفاصيل المركبة)؛
    • سرعة سير الطائرة قابلة للتعديل (vehicle.plane_taxi_speed، مقيدة بميزة XSLF، متوافقة مع الحفظ القديم).
  • استعارة من cmclient (الدفعة الثانية):
    • إشارات مرجعية للموقع (savelocation / gotolocation، 9 فتحات)؛
    • نافذة تفاصيل شحن الشركة (company_cargo)؛
    • مساعدة المشاهدة (watch <company_id>).

توافق الحفظ ​

  • وراثة اصطلاح jgrpp: يمكن تحميل حفظ trunk (حتى أحدث إصدار مدمج)؛
  • حفظ jrpm (الذي يحتوي على بيانات المطار متعدد البلاطات/أوامر الفك) غير مضمون للقراءة المتبادلة مع حفظ jgrpp القديم؛
  • رقم إصدار الحفظ SAVEGAME_VERSION متوافق مع pulsexlb (SLV_CUSTOM_SUBSIDY_DURATION)؛
  • جميع الميزات الجديدة تستخدم بوابة ميزة XSLF الموسعة أو NOSAVE، لا تفسد الحفظ القديم.

الإصدارات العلوية ​

  • jgrpp 0.73.1: قاعدة هذا المشروع (نواة OpenTTD 16.0 + جميع ميزات JGR).
  • pulsexlb px-patch 2608.3: مصدر فك القاطرة والمطار المعياري.
  • embeddedt/OpenTTD-modded (عصر 0.59.1): مصدر سجل الرحلة وسرعة السير.
  • citymania-org/cmclient (vanilla 15.3): مصدر استعارة الإشارات المرجعية/تفاصيل الشحن/المشاهدة.

خريطة الطريق ​

  • [x] التحقق من البناء الفعلي وإصلاح أخطاء التجميع الأولى
  • [x] سجل الرحلة + سرعة السير (الدفعة الأولى من modded)
  • [x] إشارات مرجعية + تفاصيل الشحن + مشاهدة (الدفعة الثانية من cmclient)
  • [ ] نظام التمييز + نظام المخططات (الدفعة الثالثة من cmclient، راجع خريطة الطريق)
  • [ ] تجمع خيوط طبقة النقل HTTP + تنزيل مجزأ بنطاق Range (تسريع ملف واحد كبير)
  • [ ] تحسين ضغط مقارنة إرسال الخريطة
  • [ ] إحصائيات الإيرادات لكل بضاعة (يتطلب تمديد تنسيق الحفظ)
  • [ ] (بعيد المدى) تكامل زمن تشغيل خادم Rust (بالإشارة إلى Openttd-Cluster)