Dragon Ball Z: Burst Limit Recompiled - ALPHA (Version 4.2)
https://github.com/iExplosiveRage/DBZ-Burst-Limit-Recompiled

This is an early alpha. Expect bugs.
No game data is included. You need your own copy of the game.

HOW TO PLAY
1. (Only if the game does not start) install the Visual C++ Redistributable (x64):
   https://aka.ms/vs/17/release/vc_redist.x64.exe
2. Run burstlimit.exe. The first time, it asks for your Dragon Ball Z: Burst Limit
   Xbox 360 disc image (.iso): pick it, and the game files are copied into the
   "game_data_root" folder (about 3.3 GB, only once). The .iso isn't changed.
   Only the US (NTSC-U) version works - the installer checks it.
   (You can still extract the game yourself into "game_data_root" instead:
   it must contain default.xex and LONG2DATA.)

NEW IN 4.2
- Start screen in the game's own style (Goku, the logo, the game's font and sounds,
  read from your game files): Play, Mods, Settings, Update and who's online.
  "Play - don't show this screen again" skips it (F1 > GAME > Start screen brings it back).
- Updates from inside the game: when a new version is out, press Update on the start
  screen. It downloads, installs and restarts by itself; your settings, saves, mods,
  texture packs and game files stay. (This time, update by hand.)
- Settings menu (F1) in the game's style, with a clearer order:
  DISPLAY, GRAPHICS, EFFECTS, GAME, ONLINE, SAVE.
- The game's own menu sounds on the start screen and in the settings menu.
- No more texture pack stutter: HD textures load in the background (the original
  shows for a split second the first time instead of the game freezing).
- Window size (F1 > DISPLAY, Fullscreen off): 512x448 ... 2560x1440, and
  Keep aspect ratio (black bars, or stretched to fill the window).
- Start transformed online too (RB / LB on the character select). Off in
  F1 > ONLINE > Start transformed (online, the host's setting is used by both).
- Discord status: your Discord profile shows what you're playing (F1 > GAME > Discord status).
- PlayStation and Switch controllers work on the start screen and the installer too.
- Online fix: a new player can't join and disconnect your opponent anymore when the
  lobby connection drops for a moment during a match.
- Online: version 4.2 only plays with 4.2 (rooms are version-locked).

MODS
- mods\<Mod name>\<file>   - the file is named like the file inside the game's archive
  LONG2DATA_US.CPK, for example mods\My_Goku\BCGOK002.NUX
- An optional mod.toml in the mod's folder gives it a name:
  name = "My Goku"   author = "..."   version = "1.0"   description = "..."
- Start screen > Mods, or Main Menu > Mods > Browse mods (then Apply): switch them on or off.
- The game's own files are never changed.
- Online, rooms only match players with the same mods on.

ONLINE - both players need THIS SAME version (4.2)
- Host:  Versus > Online Battle > Player Match > Create Match > pick the rules.
         Keep "Private Session" OFF (ON hides the room from the list).
         Then wait in the Session Lobby.
- Guest: Versus > Online Battle > Player Match > Custom Match.
         Leave every search page on Random and press A. The host's room shows
         with their name: pick it.
- Both press Ready! in the Session Lobby.
- If Windows Firewall asks, allow burstlimit.exe (private and public networks).
- The two PCs connect directly; if that's not possible, through a relay server.
- Your name: open burstlimit.toml with Notepad and write it in
  online_name = "YourName"   (max 15 characters, English letters and numbers).
  Leave it empty ("") to use your Windows user name.
- Input delay: F1 > ONLINE > Online input delay. The HOST's value is used by both.
  2 = very low ping, 3-4 = normal (4 is the default), 6-8 = high ping.
  The online settings are copied from the host and can't change during a session.
- If something goes wrong online, send burstlimit.log (next to burstlimit.exe)
  in a GitHub issue.

ONLINE (old method: Radmin VPN / LAN) - still works
- Host: Host_Online.bat, enter your Radmin IP, create a Player Match.
- Join: Join_Online.bat, enter your Radmin IP then the host's IP, search for a Player Match.
- Allow burstlimit.exe through Windows Firewall (the game's UDP port is 59395).
- "Online input speed" (F1 > ONLINE) is used by this method. It shows when
  "Online input delay" is set to "Game default".
- Local_Online_Test.bat runs two copies on one PC to test.

TIP - 30 FPS with an NVIDIA GPU?
- Don't set "Max Frame Rate" to 60 in the NVIDIA Control Panel / NVIDIA App for this
  game: it locks the game to 30. Use the game's own setting instead:
  F1 > DISPLAY > Frame rate.

- F1 (or Back + Start on the controller) = settings menu: resolution, upscalers
  (AMD FSR, NVIDIA DLSS, CAS), frame rate (30 / 60 / 120 / 144 / unlocked), field of
  view, effects, button icons, Ki charge, saves, free camera... Changes apply right
  away and are saved to burstlimit.toml.
- F3 = FPS panel.
- Character select: RB / LB = start the match transformed (Super Saiyan Goku,
  Final Form Frieza, Perfect Cell...). Versus, Training and online.
- Texture packs: put the pack in textures\replace (next to burstlimit.exe) and turn on
  "Texture pack" in the settings menu.
- Free camera: Insert on the keyboard, or Y in the settings menu. Works in cinematics
  and super attacks too. Numpad 0 (or X in the free camera) freezes the game for a photo.
  Both keys can be changed in Settings > Game.
  Left stick moves, right stick looks, LB/RB down/up, LT/RT slower/faster,
  D-pad up/down zoom, D-pad left/right tilt, A hides the HUD, Y resets, B exits.
- Xbox, PlayStation and Switch controllers work out of the box.
  Keyboard: run burstlimit.exe --mnk_mode=true

THIRD-PARTY
- NVIDIA DLSS: this software uses NVIDIA DLSS (nvngx_dlss.dll), distributed under the
  NVIDIA RTX SDKs license (licenses\NVIDIA-RTX-SDKs-LICENSE.txt). NVIDIA, GeForce RTX and
  DLSS are trademarks of NVIDIA Corporation. This project is not affiliated with or
  endorsed by NVIDIA.
- AMD FidelityFX: amd_fidelityfx_loader_dx12.dll and amd_fidelityfx_upscaler_dx12.dll
  (AMD FSR 4 / 3.1.5, licenses\AMD-FidelityFX-SDK-license.md) and amd_fidelityfx_dx12.dll
  (FSR 1/2/3 present effects). This project is not affiliated with or endorsed by AMD.
- libjuice (online connections), Mozilla Public License 2.0, used unmodified
  (licenses\libjuice-LICENSE.txt). Source: https://github.com/paullouisageneau/libjuice
- Button icons: Xelu's Free Controller Prompts by Nicolae "Xelu" Berbece, CC0 (public
  domain): https://thoseawesomeguys.com/prompts/

--------------------------------------------------------------------------

دراغون بول زد: بيرست لِمِت - نسخة ريكومب (ألفا - الإصدار 4.2)

هذي نسخة تجريبية، ومتوقع فيها مشاكل.
ما فيها ملفات اللعبة، لازم تكون عندك نسختك من اللعبة.

طريقة التشغيل
1. (بس إذا اللعبة ما اشتغلت) ثبّت Microsoft Visual C++ Redistributable (x64):
   https://aka.ms/vs/17/release/vc_redist.x64.exe
2. شغّل burstlimit.exe. أول مرة بتطلب منك ملف الـISO حق لعبة Dragon Ball Z: Burst Limit
   للإكس بوكس 360: اختاره، وملفات اللعبة بتنسخ في مجلد "game_data_root" (حوالي 3.3 جيجا،
   مرة وحدة بس). ملف الـISO نفسه ما يتغير.
   تشتغل بس النسخة الأمريكية (NTSC-U)، والتثبيت يتأكد منها.
   (وتقدر برضو تستخرج ملفات اللعبة بنفسك داخل "game_data_root": لازم يكون فيه
   default.xex ومجلد LONG2DATA.)

الجديد في 4.2
- شاشة بداية بتصميم اللعبة نفسها (قوكو والشعار وخط اللعبة وأصواتها، تنقرا من ملفات لعبتك):
  Play و Mods و Settings و Update ومين أونلاين. "Play - don't show this screen again" يتخطاها
  (وترجعها من F1 > GAME > Start screen).
- التحديث من داخل اللعبة: لما ينزل إصدار جديد، اضغط Update في شاشة البداية. يحمّل ويثبت ويعيد تشغيل
  اللعبة بنفسه، وإعداداتك وتخزيناتك وموداتك وباكات التكستشرز وملفات اللعبة تبقى. (هالمرة حدّث بيدك.)
- قائمة الإعدادات (F1) بتصميم اللعبة، وبترتيب أوضح:
  DISPLAY و GRAPHICS و EFFECTS و GAME و ONLINE و SAVE.
- أصوات قوائم اللعبة نفسها في شاشة البداية وقائمة الإعدادات.
- خلاص بدون تقطيع باكات التكستشرز: الصور الـHD تتحمل في الخلفية (أول مرة تطلع الصورة الأصلية جزء
  من الثانية بدل ما تعلق اللعبة).
- حجم النافذة (F1 > DISPLAY، لما Fullscreen مطفي): من 512x448 إلى 2560x1440، و Keep aspect ratio
  (أشرطة سوداء، أو الصورة ممطوطة على كامل النافذة).
- تبدأ متحول في الأونلاين بعد (RB / LB في شاشة اختيار الشخصيات). تطفيها من
  F1 > ONLINE > Start transformed (في الأونلاين إعداد الهوست يمشي على الاثنين).
- حالة الديسكورد: بروفايلك في ديسكورد يعرض وش تلعب (F1 > GAME > Discord status).
- أيادي PlayStation و Switch تشتغل في شاشة البداية والتثبيت بعد.
- إصلاح الأونلاين: لاعب جديد ما يقدر يدخل ويقطع خصمك لما ينقطع اتصال السيرفر لحظة وأنت في مباراة.
- الأونلاين: نسخة 4.2 تلعب بس مع 4.2 (الغرف مقفلة على نفس النسخة).

المودز
- mods\<اسم المود>\<الملف>   اسم الملف نفس اسمه داخل أرشيف اللعبة LONG2DATA_US.CPK،
  مثلاً mods\My_Goku\BCGOK002.NUX
- ملف mod.toml اختياري داخل مجلد المود يعطيه اسم:
  name = "My Goku"   author = "..."   version = "1.0"   description = "..."
- شاشة البداية > Mods، أو القائمة الرئيسية > Mods > Browse mods (بعدين Apply): شغل أو طف.
- ملفات اللعبة الأصلية ما تتغير أبداً.
- في الأونلاين، الغرف تطلع بس للي عندهم نفس المودات مشغلة.

الأونلاين - لازم الاثنين يستخدمون نفس هذي النسخة (4.2)
- الهوست: Versus > Online Battle > Player Match > Create Match واختار القوانين.
  خل "Private Session" على OFF (لو ON الغرفة ما تطلع في القائمة).
  بعدها انتظر في الـSession Lobby.
- اللي يدخل: Versus > Online Battle > Player Match > Custom Match.
  خل كل صفحات البحث على Random واضغط A. بتطلع لك غرفة الهوست باسمه، اختارها.
- الاثنين يضغطون Ready! في الـSession Lobby.
- إذا جدار الحماية (Windows Firewall) طلب إذن، اسمح لـ burstlimit.exe (الشبكات الخاصة والعامة).
- الجهازين يتصلون ببعض مباشرة، وإذا ما قدروا يتصلون عن طريق سيرفر وسيط.
- اسمك: افتح burstlimit.toml بالمفكرة (Notepad) واكتبه في
  online_name = "YourName"   (أقصى شي 15 حرف، حروف إنجليزية وأرقام بس).
  خله فاضي ("") عشان ياخذ اسم مستخدم الويندوز حقك.
- تأخير الضغطات: F1 > ONLINE > Online input delay. قيمة الهوست هي اللي تمشي على الاثنين.
  2 = بنق واطي جداً، 3-4 = عادي (4 هو الافتراضي)، 6-8 = بنق عالي.
  إعدادات الأونلاين تنسخ من الهوست وما تتغير خلال الجلسة.
- إذا صارت مشكلة بالأونلاين، أرسل ملف burstlimit.log (جنب burstlimit.exe) في Issue على GitHub.

الأونلاين (الطريقة القديمة: Radmin VPN أو شبكة محلية) - للحين تشتغل
- الهوست: شغّل Host_Online.bat واكتب IP حقك في Radmin وسوّ Player Match.
- اللي يدخل: شغّل Join_Online.bat واكتب IP حقك بعدين IP الهوست، ودوّر على Player Match.
- اسمح لـ burstlimit.exe في جدار الحماية (منفذ اللعبة UDP 59395).
- خيار "Online input speed" (F1 > ONLINE) حق هذي الطريقة، ويطلع إذا "Online input delay"
  على "Game default".
- Local_Online_Test.bat يشغل نسختين على نفس الجهاز للتجربة.

نصيحة - اللعبة على 30 فريم وكرتك NVIDIA؟
- لا تحط "Max Frame Rate" على 60 في NVIDIA Control Panel أو NVIDIA App لهذي اللعبة:
  يقفل اللعبة على 30. استخدم خيار اللعبة نفسها: F1 > DISPLAY > Frame rate.

- زر F1 (أو Back + Start في اليد) يفتح قائمة الإعدادات: الدقة، رفع الدقة (AMD FSR و
  NVIDIA DLSS و CAS)، الفريمات (30 / 60 / 120 / 144 / مفتوحة)، زاوية الرؤية، المؤثرات،
  شكل الأزرار، شحن الكي، التخزينة، الكاميرا الحرة... التغييرات تنطبق على طول وتنحفظ في
  burstlimit.toml.
- زر F3 يعرض الفريمات.
- شاشة اختيار الشخصيات: RB / LB تختار التحول اللي تبدأ فيه القتال (قوكو سوبر ساين،
  فريزا الشكل الأخير، سيل الكامل...). في Versus والتدريب والأونلاين.
- باكات التكستشرز: حط الباك في مجلد textures\replace (جنب burstlimit.exe)
  وشغّل "Texture pack" من قائمة الإعدادات.
- الكاميرا الحرة: زر Insert بالكيبورد، أو Y داخل قائمة الإعدادات. تشتغل بالكت
  سينز والضربات الخاصة بعد. زر 0 بالنمباد (أو X وانت بالكاميرا) يوقف اللعبة عشان تصوّر.
  تقدر تغيّر الزرين من الإعدادات > Game.
  العصا اليسار تحرك، اليمين تلف، LB/RB نزول وطلوع، LT/RT أبطأ وأسرع،
  الأسهم فوق وتحت زوم، يمين ويسار ميلان، A يخفي الواجهة، Y يرجع الكاميرا، B يطلع.
- أيادي Xbox و PlayStation و Switch تشتغل على طول. للكيبورد: شغّل burstlimit.exe --mnk_mode=true

برامج خارجية
- NVIDIA DLSS: البرنامج يستخدم NVIDIA DLSS (nvngx_dlss.dll) تحت رخصة NVIDIA RTX SDKs
  (licenses\NVIDIA-RTX-SDKs-LICENSE.txt). NVIDIA و GeForce RTX و DLSS علامات تجارية لشركة
  NVIDIA. المشروع مو تابع لإنفيديا ولا مدعوم منها.
- AMD FidelityFX: الملفات amd_fidelityfx_loader_dx12.dll و amd_fidelityfx_upscaler_dx12.dll
  (AMD FSR 4 / 3.1.5، الرخصة licenses\AMD-FidelityFX-SDK-license.md) و amd_fidelityfx_dx12.dll
  (FSR 1/2/3). المشروع مو تابع لـAMD ولا مدعوم منها.
- libjuice (اتصال الأونلاين)، رخصة Mozilla Public License 2.0، بدون تعديل
  (licenses\libjuice-LICENSE.txt).
- أيقونات الأزرار: Xelu's Free Controller Prompts من Nicolae "Xelu" Berbece، رخصة CC0
  (ملكية عامة): https://thoseawesomeguys.com/prompts/
