ปลั๊กอิน Nintendo Switch สำหรับพอร์ทัล 1 และ 2 ที่อนุญาตให้โหลดไฟล์นอก game.zip ได้ ดังนั้นไม่ต้องบรรจุใหม่และส่งไฟล์เก็บถาวรขนาดใหญ่ทุกครั้งที่คุณต้องการเปลี่ยนแปลงบางสิ่งอีกต่อไป
คุณต้องมีพอร์ทัล 2 เวอร์ชัน 1.0.3 และพอร์ทัลเวอร์ชัน 1.0.2 หรือ 1.0.3
จากการดาวน์โหลดเผยแพร่:
พอร์ทัล-NXSideLoader.zip
หากไม่มีแพตช์เครือข่าย (จะไม่บล็อกคุณจากการใช้เครือข่าย):
- Portal2-NXSideLoader.zip
ด้วยแพทช์เครือข่าย (สำหรับผู้ที่บล็อกเซิร์ฟเวอร์ Nintendo มันจะบล็อกเกมไม่ให้เชื่อมต่อกับเครือข่ายเพื่อป้องกันความผิดพลาด + ช่วยในการแก้ไขจุดบกพร่อง):
- Portal2-NoWeb-NXSideLoader.zip
วางโฟลเดอร์ atmosphere
ไว้ที่รูทของ sdcard (ใช่ CFW ของคุณจะไม่ถูกลบ...)
เปลี่ยนชื่อโฟลเดอร์ mod หลัก (เช่น ในกรณีที่ Portal Reloaded เป็น "portalreloaded") เป็น ขึ้นอยู่กับเกม:
portal
portal2_dlc3
และใส่โฟลเดอร์นี้ลงใน:
atmosphere/contents/01007BB017812000/romfs/nxcontent/
atmosphere/contents/0100ABD01785C000/romfs/nxcontent/
ชื่อโฟลเดอร์และไฟล์ทั้งหมดภายในโฟลเดอร์ romfs จะต้องเป็นตัวพิมพ์เล็ก!
Some mods are overwriting menu options, so you can lose access to Switch controller settings.
If after installing mod you can't save anything in options, try to delete `gameinfo.txt` from mod folder. You may also delete custom options menu.
They are stored either freely somewhere inside mod folder OR they are packed to some vpk file.
Mods จำเป็นต้องมีโค้ด CPU ที่ได้รับการปรับปรุงอย่างเหมาะสม มิฉะนั้น Switch จะติดขัด
ตัวอย่างของ mods ที่ปรับให้เหมาะสมอย่างเหมาะสม:
ตัวอย่างของ mods ที่ปรับให้เหมาะสมไม่ดี:
ไฟล์บางไฟล์ใน nxcontent
อาจไม่รองรับเนื่องจากมีการโหลดล่วงหน้าด้วยฟังก์ชันแยกต่างหาก ฉันจำเป็นต้องเพิ่มการรองรับเฉพาะสำหรับหนึ่งฟังก์ชันเพื่อให้สามารถโหลด rom_boot_params.txt
ได้ หากมีไฟล์ใดที่ใช้งานไม่ได้และคุณต้องการให้มันใช้งานได้ ให้เขียนปัญหา
เกมรองรับ vscripts
Mod นี้ไม่รองรับการแก้ไขซอร์สโค้ด คุณจะต้องสร้างตะขอของคุณเองด้วยตนเอง
ผู้พัฒนาเกมได้ออกแบบ cstdio ทั้งหมดใหม่เพื่อใช้ game.zip เป็นระบบไฟล์ เกมพอร์ทัลเพื่อเปิดไฟล์ส่วนใหญ่ใช้ฟังก์ชันที่เรียกว่า fopen_nx()
หากต้องการอ่านไฟล์นี้ - fread_nx()
ฯลฯ ฟังก์ชั่นทั้งหมดเข้ากันได้กับ cstdio ดังนั้นวิธีแก้ปัญหาจึงค่อนข้างง่าย:
fopen_nx()
fopen()
ด้วยเส้นทางที่ถูกต้องโดยขึ้นต้นด้วย rom:/
มี 2 ปัญหาเกี่ยวกับโซลูชันนี้:
rom_boot_params.txt
ดังนั้นฉันจึงติดตั้งฟังก์ชันในการอ่านไฟล์นี้และออกแบบใหม่ให้โหลดไฟล์จากการ์ด SD ต่อมาปรากฎว่าฟังก์ชั่นเดียวกันนี้มีหน้าที่ในการโหลดไฟล์เสียงและพื้นผิวจากไฟล์ bspfopen_nx()
ไม่สนใจตัวพิมพ์ + มีลำดับความสำคัญในการตรวจสอบก่อนว่าไฟล์อยู่ในโฟลเดอร์ nxcontent
หรือไม่ และหากไม่ตรวจสอบรูทของ zip ภายใน hook ฉันได้นำการตรวจสอบนี้ไปใช้ใหม่ + ใช้ tolower()
สำหรับเส้นทางของไฟล์ เนื่องจากการโหลดไฟล์ HOS romfs จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และไฟล์ต้นฉบับทั้งหมดเป็นตัวพิมพ์เล็กคุณต้องติดตั้ง devkitpro มาตรฐานด้วย Switch-dev
แก้ไข main.npdm
จาก exefs ด้วยสิ่งนี้ มิฉะนั้นปลั๊กอินจะขัดข้อง: https://github.com/skyline-dev/skyline/blob/master/scripts/patchNpdm.py
หากต้องการคอมไพล์สำหรับคำสั่ง Portal 1
make PORTAL="-DPORTAL"
สำหรับพอร์ทัล 2
make PORTAL="-DPORTAL2"
พร้อมแพตช์อินเทอร์เน็ตเพื่อให้สามารถแก้ไขจุดบกพร่องผ่านเครือข่ายที่บล็อกการเข้าถึงเซิร์ฟเวอร์ Nintendo
make PORTAL="-DPORTAL2 -DPDEBUG"