Skip to content

مطار معياري (multitile-airport) ​

المصدر: فرع الميزات jgrpp-multitile-airport من pulsexlb/OpenTTD-patches، تم دمجه في jrpm عبر git merge.

مقدمة الوظيفة ​

إعادة هيكلة المطار المعياري متعدد البلاطات: تغيير المطار من "نوع مطار ثابت" إلى نظام متعدد البلاطات يمكنه تعديل تخطيطه بحرية:

  • مطار متعدد البلاطات: يتكون المطار من عدة بلاطات وظيفية (مدرج، ممر سير، موقف طائرات، مبنى الركاب، مهبط طائرات هليكوبتر)، يمكن دمجها في أي تخطيط؛
  • تعديل تخطيط المطار: بعد تفعيل station.allow_modify_airports، يمكن إضافة/إزالة/تعديل البلاطات في مطار موجود؛
  • نظام أنواع air: إضافة air.h/air_type.h/newgrf_airtype.*——تجريد أنواع الطيران (طائرات ثابتة الجناح/هليكوبتر، إلخ) إلى نظام أنواع air قابل للتوسيع، يمكن لـ NewGRF تعريف أنواع طيران جديدة وسبرايتاتها؛
  • جدولة PBS الجوية: pbs_air.*——النسخة الجوية من إشغال المدرج/ممر السير وحجز الإشارات، تدعم سير طائرات متعددة بشكل متزامن؛
  • توجيه YAPF الجوي: تخطيط مسار الطائرة على الأرض (سير/انتظار) وفي الجو يتبع نظام YAPF.

القدرات الأساسية ​

القدرةالوصف
تعديل تخطيط المطارstation.allow_modify_airports (مفعل افتراضياً؛ بعد التفعيل يمكن تعديل المطارات الموجودة)
نوع الطيران الافتراضيgui.default_air_type
سبرايتات المطار متعدد البلاطاتopenttd.grf (سبرايتات أنواع air) المعاد بناؤه، إصلاح سبرايتات الشفافية
سلوك الطائراتإشغال المدرج، الانعطاف أثناء السير، انتظار الإقلاع/الهبوط، مهبط الطائرات الهليكوبتر، رسم المركبات الفضائية
توافق NewGRFتحميل سبرايتات airtype، استدعاءات NewGRF للمطار
الحفظإصدار حفظ SLV_MULTITILE_AIRPORTS

طريقة الاستخدام ​

  1. فعّل station.allow_modify_airports في إعدادات اللعبة؛
  2. بعد بناء المطار، استخدم أداة تعديل المطار لضبط تخطيط المدرج/مواقف الطائرات/مبنى الركاب؛
  3. اختر نوع الطيران الافتراضي في gui.default_air_type؛
  4. استخدم أنواع air مخصصة مع نيوجراف الطيران.

الكود ذو الصلة ​

  • أنواع الطيران: src/air.h، src/air_type.h، src/newgrf_airtype.*
  • الجدولة الجوية: src/pbs_air.*
  • أوامر الطائرات/المطارات: src/aircraft_cmd.cpp (إعادة هيكلة 3600 سطر)، src/airport_cmd.cpp، src/airport_gui.cpp
  • التوجيه: src/pathfinder/yapf (جزء الطيران)
  • الحفظ: src/sl/saveload_common.h (SLV_MULTITILE_AIRPORTS)

ملاحظات ​

  • هذه الميزة هي إعادة هيكلة واسعة النطاق لنظام الطيران (إعادة هيكلة aircraft_cmd.cpp لأكثر من 3600+ سطر)، يوصى بالتركيز على الاختبارات الانحدارية بعد التجميع الفعلي: شراء/إقلاع/هبوط الطائرات، إشغال المدرج، واجهة مستخدم المطار، تحميل الحفظ؛
  • تم حذف الأنواع القديمة غير المشار إليها في مساحة العمل أثناء الدمج (VehicleAirFlags، AirportMovingDataFlag)، تم التأكد من عدم وجود ملفات أخرى تشير إليها؛
  • إذا كان المطار الموجود في الحفظ يحتاج إلى تعديل، قم بنسخ احتياطي للحفظ أولاً.