लोकोमोटिव डीकपलिंग (डीकपल)
स्रोत: pulsexlb/OpenTTD-patches की
jgrpp-decoupleसुविधा शाखा (152 कमिट में मुख्य), git merge के माध्यम से jrpm में शामिल।
कार्यक्षमता परिचय
"लोकोमोटिव डीकपलिंग" ट्रेनों को स्टेशन/शेड्यूल के दौरान डीकपल और अटैच करने की अनुमति देता है, जिससे निम्नलिखित संभव होता है:
- डीकपल: ट्रेन "डीकपल ऑर्डर" के अनुसार निर्दिष्ट स्टेशन पर कुछ डिब्बे (या डिब्बे+लोको समूह) छोड़ देती है, शेष भाग चलता रहता है;
- अटैच: ट्रेन स्टेशन पर प्रतीक्षा करती है, दूसरी ट्रेन (या खड़ी डिब्बे समूह) से स्वचालित रूप से जुड़ जाती है;
- डीकपल के बाद दो ट्रेनें स्वतंत्र रूप से शेड्यूल निष्पादित करती हैं: "सशर्त कमांड स्किप" जैसे तंत्रों के माध्यम से, डीकपल के बाद दो ट्रेनें अलग-अलग शेड्यूल योजनाएँ निष्पादित करती हैं;
- पथ टैग स्थानांतरण: डीकपल/अटैच के दौरान पथ टैग (ट्रैकिंग प्रतिबंध टैग) ट्रेन के साथ सही ढंग से स्थानांतरित या डीडुप्लिकेट होते हैं।
मुख्य क्षमताएँ
| क्षमता | विवरण |
|---|---|
| डीकपल/अटैच ऑर्डर | नए ऑर्डर प्रकार, "लोड/न लोड करें", "अटैच की प्रतीक्षा करें", "डीकपल करें" जैसी बाधाओं का समर्थन |
| कपलिंग लंबाई और गति सीमा | ट्रेन की लंबाई के अनुसार कपलिंग ऑपरेशन सीमित; कपलिंग ऑपरेशन की गति सीमा |
| दोहरे इंजन समर्थन | आगे-पीछे दोहरे इंजन (NewGRF दोहरे इंजन लोको सहित) सही ढंग से कपल/डीकपल |
| कपलिंग पथ-खोज | YAPF/NPF दोनों कपलिंग पथ योजना का समर्थन करते हैं; केवल स्टेशन के अंदर कपलिंग |
| उल्टी दिशा में चलना | कपलिंग के बाद उल्टा चल सकता है, "डीकपल के बाद उल्टा" जैसी शेड्यूलिंग तकनीकों का समर्थन |
| NewGRF कपलिंग | NewGRF द्वारा परिभाषित कपलिंग गुणों का समर्थन (0xC6/0xF2 गुण आदि) |
| सेव | SLV_ORDER_DECOUPLE सेव संस्करण; num_decouple गणना स्थायीकरण |
उपयोग विधि
- स्टेशन पर "डीकपल" ऑर्डर (
decouple) के साथ ट्रेन को विभाजित करें; - अटैच ऑर्डर सेट करें ताकि ट्रेन जुड़ने की प्रतीक्षा करे;
- "सशर्त कमांड स्किप" (conditional order skip) के साथ डीकपल के बाद दो ट्रेनों को अलग-अलग मार्गों पर ले जाएँ;
- स्टेशन के अंदर डिब्बों का क्रम बदलने के लिए खींचें, या "लंबाई के अनुसार फ़िल्टर" जैसे सहायक उपकरणों का उपयोग करें।
संबंधित कोड
- ऑर्डर:
src/order_cmd.cpp,src/order_gui.cpp,src/order_type.h - ट्रेन:
src/train_cmd.cpp,src/train.h - पथ-खोज:
src/pathfinder/yapf,src/pathfinder/npf - सेव:
src/sl/saveload_common.h(SLV_ORDER_DECOUPLE)
नोट
- इस सुविधा में ट्रेन भौतिक क्रम/सिग्नल आरक्षण तर्क में गहरे बदलाव शामिल हैं, वास्तविक मशीन पर संकलन के बाद मुख्य रूप से प्रतिगमन परीक्षण की सिफारिश की जाती है: डीकपल, अटैच, उल्टा, दुर्घटना मरम्मत, स्वचालित प्रतिस्थापन (autoreplace) आदि परिदृश्य;
- डीकपल-संबंधित स्ट्रिंग और GUI शामिल किए गए हैं (
STR_DECOUPLE*आदि)।
2026-09-28 अपस्ट्रीम मर्ज अपडेट (px-patch 2609.x)
pulsexlb के 113 नए कमिट मर्ज किए गए, जिनमें डिकपल/कपलिंग संबंधी मुख्य बदलाव:
- कपल क्लेम स्थिति सेवगेम में सहेजी जाती है (CPLM चंक + XSLFI_COUPLE_CLAIM_STATE) — लोड के बाद कपलिंग गड़बड़ नहीं होती;
- अपने ब्लॉक में दूसरी गाड़ियाँ कपलिंग दिशा में न हों तो ट्रेन डॉकिंग जारी रख सकती है;
- स्टेशन पर टर्न-अराउंड से पहले ब्लॉक खाली होना सुनिश्चित;
- डिकपल के बाद प्रोपल्शन त्रुटि, primary != first पर यूनिट नंबर न दिखना, स्टेशन पर ऑटोरीफिट अप्रभावी आदि ठीक;
- डिकपल के बाद wait-for-couple शेड्यूल से गलत लेबल वापसी, और कपल के बाद लेबल वापस न मिलने जैसी समस्याएँ ठीक;
- डिकपल के समय लोड/अनलोड वाले प्लेटफ़ॉर्म कमांड हूबहू कॉपी होते हैं;
- कपल से पहले की शर्त बदलने पर क्रैश ठीक; होम शेड्यूल गलती से डिलीट होना ठीक;
- इंजन-रहित ट्रेनों के लिए इन्फो पैनल; (jgrpp 0.73.3) ऑर्डर ड्रैग-एंड-ड्रॉप व डबल-क्लिक।