প্রকল্প সম্পর্কে
Paramdex হল গেম প্যারামিটার (params) নিয়ে কাজ করার জন্য একটি রিসোর্স সংগ্রহ, যা SoulsFormats এবং এর থেকে উদ্ভূত টুলের মাধ্যমে ব্যবহৃত হয়। এটি FromSoftware শিরোনামের ডেটা মোডিং এবং টুলিংকে লক্ষ্য করে, গেমপ্লে নিজেই নয়।
কাঠামো: প্রতিটি সমর্থিত গেমের জন্য তিনটি ফোল্ডার আছে। Defs-এ paramdefs XML আকারে থাকে, যা প্যারাম ডেটা সম্পাদনার জন্য প্রয়োজন; ফাইলের নাম নির্বিচারে এবং লোড করার পরে অন্তর্ভুক্ত মেটাডেটার ভিত্তিতে প্রয়োগ করা উচিত। Names-এ পূর্বনির্ধারিত row names থাকে, প্রধানত নতুন গেমগুলির জন্য দরকারী যেখানে নামগুলি সরানো হয়েছে, এবং প্রতিটি প্যারামের জন্য নাম নিশ্চিত নয়। Tdfs-এ paramtdfs থাকে যা enumerated types-কে বন্ধুত্বপূর্ণ নাম দেয়; এগুলি শুধুমাত্র Demon's Souls-এর সাথে আনুষ্ঠানিকভাবে পাঠানো হয়েছিল। Armored Core VI-এর জন্য, কিছু প্যারাম ফাইল বিকৃত এবং প্যারাম টাইপ স্ট্রিং নেই, তাই ParamTypes.txt তাদের জন্য সঠিক প্রকার তালিকাভুক্ত করে যাদের প্রয়োজন।
কভারেজ: Dark Souls (DS1), Dark Souls: Remastered (DS1R), Dark Souls II: Scholar of the First Sin (DS2S), Dark Souls III (DS3), Demon's Souls (DES), Bloodborne (BB), Sekiro (SDT), Elden Ring (ER) এবং Armored Core VI (AC6)।
সংজ্ঞাগুলির উৎস অবদানকারীদের জন্য গুরুত্বপূর্ণ: DeS, DS1 এবং BB-এর paramdefs গেমগুলির সাথে পাঠানো হয়েছিল এবং শুধুমাত্র প্রদর্শনের নাম এবং বিবরণ অনুবাদ করে পরিবর্তন করা উচিত। SDT, ER এবং AC6-এর paramdefs বেশিরভাগই অফিসিয়াল কিন্তু আপডেটের কারণে সামান্য বর্ধিত, এবং মূল ক্ষেত্রগুলিতে একই সীমাবদ্ধতা প্রযোজ্য। অবশিষ্ট গেমগুলির paramdefs রিভার্স-ইঞ্জিনিয়ার করা হয়েছিল, তাই উন্নতি স্বাগত।
README-তে paramdefs লেখার পদ্ধতিও নথিভুক্ত। প্রতিটি paramdef-এ ParamType (paramdef-কে তার params-এর সাথে সংযুক্ত করে), DataVersion (প্যারাম ডেটা কাঠামোর সংশোধন), BigEndian, Unicode (বিবরণ স্ট্রিং UTF-16 কিনা), FormatVersion (paramdef-এর বাইনারি বিন্যাস) এবং Fields থাকা উচিত। প্রতিটি Field-এ একটি বাধ্যতামূলক Def অ্যাট্রিবিউট থাকে যা টাইপ, অভ্যন্তরীণ নাম, ঐচ্ছিক বিট সাইজ বা অ্যারে দৈর্ঘ্য এবং ঐচ্ছিক ডিফল্ট মান দেয়, C-ঘোষণা শৈলীতে লেখা, যেমন u16 iconId, u16 iconId = 1000, u8 enableGuard:1 বিটফিল্ডের জন্য, বা dummy8 padding[2] অ্যারের জন্য।
ঐচ্ছিক উপাদানগুলি সম্পাদক আচরণ কাস্টমাইজ করে: DisplayName, Enum (একটি paramtdf-এর সাথে মিলে), Description, DisplayFormat (printf ফরম্যাট স্ট্রিং), EditFlags (পরিচিত ফ্ল্যাগ Wrap এবং Lock), Minimum, Maximum, Increment, প্রদর্শন ক্রমের জন্য SortID এবং অজানা-উদ্দেশ্য স্ট্রিং UnkB8, UnkC0 এবং UnkC8। বাদ দেওয়া উপাদানগুলি ফিল্ড টাইপের উপর ভিত্তি করে যুক্তিসঙ্গত ডিফল্ট পায়; Default, Minimum, Maximum এবং Increment সর্বদা ফ্লোট এবং অ্যারে প্রকারের জন্য অর্থপূর্ণ নয়। একটি সম্পূর্ণ লোড করা উদাহরণ Def-কে DisplayName, Enum, Description, DisplayFormat, EditFlags, Minimum, Maximum, Increment এবং SortID-এর সাথে একত্রিত করে।
সমর্থিত ফিল্ড প্রকারগুলি হল s8, u8, s16, u16, s32, u32 (সব বিট সাইজ সমর্থন করে কিন্তু অ্যারে দৈর্ঘ্য নয়), b32 (চার-বাইট বুল), f32, angle32, f64, fixstr এবং fixstrW (নির্দিষ্ট-প্রস্থ Shift-JIS এবং UTF-16 স্ট্রিং, অ্যারে দৈর্ঘ্য বাধ্যতামূলক), এবং dummy8 (বাইট বা বাইট অ্যারে, সাধারণত প্যাডিং, বিট সাইজ বা অ্যারে দৈর্ঘ্য প্রয়োজন তবে উভয় নয়)।
তালিকাভুক্ত অবদানকারীদের মধ্যে রয়েছেন EvanDeadlySins, GiveMeThePowa, katalash, Pavuk, thefifthmatt, TKGP এবং Vawser।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.