প্রকল্প সম্পর্কে
# LOOT
LOOT (Load Order Optimisation Tool) হলো একটি মডিং ইউটিলিটি যা Bethesda-এর বিস্তৃত গেম এবং সংশ্লিষ্ট টাইটেলের জন্য স্বয়ংক্রিয়ভাবে একটি সর্বোত্তম প্লাগইন লোড অর্ডার গণনা করে। এটি Starfield, Morrowind, Oblivion (Remastered সংস্করণসহ), Skyrim (Special/Anniversary Edition এবং VR সহ), Fallout 3, New Vegas, Fallout 4 (এবং VR), Nehrim, Enderal (এবং এর Special Edition), এবং OpenMW সমর্থন করে।
এই টুলটি প্লাগইনগুলোকে এমনভাবে সাজায় যাতে সমস্ত নির্ভরতা পূরণ হয় এবং প্রতিটি প্লাগইনের প্রভাব সর্বাধিক হয়, একই সাথে সাধারণ সমস্যাগুলো শনাক্ত করে এবং প্লাগইন-নির্দিষ্ট ব্যবহারের নোট, সতর্কতা এবং Wrye Bash-এর জন্য Bash Tag পরামর্শ প্রদান করে। এটি প্রতিটি সমর্থিত গেমের জন্য মেটাডেটার একটি মাস্টারলিস্ট ব্যবহার করে, যা ব্যবহারকারীরা কাস্টমাইজ করতে পারেন এমন প্লাগইনগুলো পরিচালনা করতে যেগুলোর অতিরিক্ত সাজানোর তথ্য প্রয়োজন।
## ডাউনলোড
রিলিজগুলো GitHub-এ হোস্ট করা হয়। Linux ব্যবহারকারীরা Flathub থেকে LOOT ইনস্টল করতে পারেন, এবং একটি আনঅফিসিয়াল AUR প্যাকেজও উপলব্ধ। স্ন্যাপশট বিল্ডগুলো GitHub Actions আর্টিফ্যাক্ট হিসেবে উপলব্ধ (৯০ দিন সংরক্ষিত, GitHub লগইন প্রয়োজন), এবং সত্যতা যাচাইয়ের জন্য একটি GPG স্বাক্ষর অন্তর্ভুক্ত করে। এই আর্টিফ্যাক্টগুলোর নাম সংস্করণ এবং প্ল্যাটফর্ম তথ্য দিয়ে রাখা হয়, এবং এগুলো একক-ফাইল Flatpak বান্ডল হিসেবেও প্রদান করা হয়।
## LOOT বিল্ড করা
### Windows
রিলিজ ওয়ার্কফ্লো (`.github/workflows/release.yml`) বিল্ড প্রক্রিয়ার রূপরেখা দেয়, ধরে নিয়ে যে CMake, curl, gettext, Git, Inno Setup 6, Python, Visual Studio 2022, এবং 7-zip ইনস্টল করা আছে। `mingw.shared` ডেভ কন্টেইনার ব্যবহার করে Linux থেকে ক্রস-কম্পাইল করা সম্ভব, যদিও একটি `mingw.static` কন্টেইনার বিদ্যমান কিন্তু পুরোনো libstdc++-এর সাথে সীমাবদ্ধতা রয়েছে।
### Linux
কিছু ফিচার Linux-এ সম্পূর্ণভাবে বাস্তবায়িত হয়নি। Flatpak বিল্ড করতে curl, git, flatpak, flatpak-builder, jq, python, এবং uv প্রয়োজন। নন-Flatpak বিল্ড সিস্টেম ডিপেন্ডেন্সি দিয়ে করা যায় (যেমন, Ubuntu বা Fedora-তে), যদিও পুরোনো ডিপেন্ডেন্সি সংস্করণগুলো ভালোভাবে কাজ নাও করতে পারে। ডেভ কন্টেইনারও উপলব্ধ।
### CMake ভেরিয়েবল
মূল বিল্ড প্যারামিটারগুলোর মধ্যে রয়েছে `LIBLOOT_GIT_REPOSITORY`, `LIBLOOT_GIT_COMMIT`, `LIBLOOT_URL`, `LIBLOOT_USE_PREBUILT_MSVC_BINARY`, `LOOT_BUILD_TESTS`, `LOOT_RUN_CLANG_TIDY`, `OGDF_URL`, `ZLIB_REPOSITORY`, এবং `ZLIB_TAG`। এগুলো নিয়ন্ত্রণ করে কীভাবে libloot এবং অন্যান্য ডিপেন্ডেন্সি সংগ্রহ ও বিল্ড করা হয়।
## ডকুমেন্টেশন এবং প্যাকেজিং
ডকুমেন্টেশন Sphinx দিয়ে `uv run --project docs -- sphinx-build -b html docs build/docs/html` ব্যবহার করে বিল্ড করা হয়। প্যাকেজিং স্ক্রিপ্টগুলো Windows ইনস্টলার (Inno Setup-এর মাধ্যমে) এবং Windows ও Linux-এর জন্য কম্প্রেসড আর্কাইভ তৈরি করে, PowerShell বা Python স্ক্রিপ্ট ব্যবহার করে।
LOOT একটি পরিপক্ব, সক্রিয়ভাবে রক্ষণাবেক্ষণকৃত টুল যার একটি শক্তিশালী কমিউনিটি, বিস্তৃত ডকুমেন্টেশন, এবং Weblate-এর মাধ্যমে অনুবাদ সমর্থন রয়েছে। এটি Bethesda গেম মডিংয়ের জন্য অপরিহার্য, ব্যবহারকারীদের লোড অর্ডার দ্বন্দ্ব এড়াতে এবং গেমের স্থিতিশীলতা উন্নত করতে সহায়তা করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.