KotOR II Switch Modding Framework 1.0.2

   (0 reviews)

1 Screenshot

About This File

I wondered, why wait a few months for Aspyr to release TSLRCM when you could hack it together in a few days for fun? To that end:

Switch KotOR II Modding romFS Dummy Folder 1.0.1

This is a set of files and folders designed to make modding the Switch version of KotOR II easier and more accessible to a novice user.

Read to the end before using.

You will need a hackable, or modchipped Switch to use this, and custom firmware must be installed, I use Atmosphere, but anything that supports romFS should be fine. If you use something other than Atmosphere you'll have to figure out where it goes, but it should be very similar.

This should work just fine with the digital or physical version (when it is released) without issue. I have only tested this on the most up-to-date build at this time, 1.0.1. I will update this when the next patch is released, and hopefully again when TSLRCM is officially released.

Extract the zip file, and install any mods you want to use, pointing TSLPatcher at the \Localized\English\ folder containing the dialog.tlk file. For mods that don't use TSLPatcher, copy files as directed, "romfs" is equivalent to the directory on PC containing the executable.

NOTE: You may need to move files that TSLPatcher is expecting to the folder to be able to patch them. You can access them by dumping your game with nxdumptool, using romfs. Make sure you include updates when doing so. What I included should be more than sufficient for TSLRCM, however.

NOTE: When you are done, move the override folder to the root of the romfs folder, i.e. the directory with the "swplayer.ini" file.

Feel free to comment with what you needed, and what mod it was for, and if there is popular demand, I will add the files to this pack. The easiest way I found, was just to try installing a mod, and then check the log for errors to see what files were missing.

NOTE: Long filenames cause issues with TSLPatcher, this is exacerbated by the length of the filepath for romFS modding. I recommend moving the "romfs" folder to the root of the drive and patching there, moving the folder back afterwards.

Make sure to check your error log, you may manually need to copy .lip files over to override afterwards.

Move textures (.tga, .txi and .tpc) to override/Textures or they won't apply. NOTE: Aspyr included upscaled textures with this version that are not in other releases of the game. As far as I can tell, they are all in the format the original textures were in, by and large, that means they are in .tpc format, which trumps .tga and .txi files of the same name. If you have issues with a mod's textures not applying, try converting them to .tpc with Xoreos-Tools. You can download my texture reversion mods for K1 and K2 on Switch if you want to see what files are in what format.

At this point, copy the atmosphere folder to the root of your SD card, and you should be done. Please feel free to mention any issues you run into, or workarounds you needed, and I'll update this post.

I tested a run of TSLRCM and Leilukin's Gay Handmaiden mod with great success. I have not tested the Male Exile/Disciple part of that mod, but it should work as well.

Mods that involve UI likely won't work. Everything is at your own risk, you may end up with a broken save, etc. Worst case scenario, you can uninstall all mods by deleting the `0100B2C016252000` folder from `/atmosphere/contents/`

Big thanks to JC for a ton of help troubleshooting, and big thanks to Zbyl2 for helping with TSLRCM-related issues.

7-22-2022 Update:

Just a change to the readme regarding potential texture issues.


What's New in Version 1.0.2   See changelog

Released

7-22-2022 Update:

Just a change to the readme regarding potential texture issues.

  • Like 1
  • Light Side Points 1



User Feedback

Recommended Comments

Quote

Mods that involve UI likely won't work.

Typically the Restored Content mod alters the main menu to show that it's been installed correctly. I've followed the instructions you listed (including moving the Override folder to the rootfs folder), but I'm not seeing any changes to the main menu. Hopefully I didn't miss anything obvious in your instructions.

Did you have the same experience (quote above that could be related)? I'm not familiar enough with the game to recognize if TSLRC is working as intended from within the game itself 😅

I'm using the 1.0.2 patch with just the TSLRC mod, for whatever that's worth.

Edited by dMATOovoxq

Share this comment


Link to comment
Share on other sites
On 6/24/2023 at 12:39 PM, dMATOovoxq said:

Typically the Restored Content mod alters the main menu to show that it's been installed correctly. I've followed the instructions you listed (including moving the Override folder to the rootfs folder), but I'm not seeing any changes to the main menu. Hopefully I didn't miss anything obvious in your instructions.

Did you have the same experience (quote above that could be related)? I'm not familiar enough with the game to recognize if TSLRC is working as intended from within the game itself 😅

I'm using the 1.0.2 patch with just the TSLRC mod, for whatever that's worth.

Apologize for the delayed response, I've been busy. TSLRCM will NOT show on the main menu. However, it should work just fine.

IIRC, on Peragus, there is a vibrocutter in the first room where you get base-level equipment, if you acquire that, then you know the mod is installed.

Share this comment


Link to comment
Share on other sites
3 hours ago, jacqylfrost said:

Apologize for the delayed response, I've been busy. TSLRCM will NOT show on the main menu. However, it should work just fine.

IIRC, on Peragus, there is a vibrocutter in the first room where you get base-level equipment, if you acquire that, then you know the mod is installed.

Damn, you have a good memory. I ended up installing TSLRCM on my PC — after waking up on Peragus and bashing the first door with the Plasma Torch, searching the closest body will give a Vibrocutter (TSLRCM) instead of a Vibrosword (base game). There also should be a feat called Mobility available in the initial character creation menu, but not sure if that counts as "UI" stuff that this framework wouldn't support.

That being said, it looks like your instructions didn't work for me on Switch. I ran through them a couple times just to make sure I didn't miss something dumb, but it's certainly possible I still did. I saw a few others were having difficulties as well — any ideas? Regardless, appreciate the work you put into this.

  • Like 1

Share this comment


Link to comment
Share on other sites
On 6/26/2023 at 10:22 PM, dMATOovoxq said:

Damn, you have a good memory. I ended up installing TSLRCM on my PC — after waking up on Peragus and bashing the first door with the Plasma Torch, searching the closest body will give a Vibrocutter (TSLRCM) instead of a Vibrosword (base game). There also should be a feat called Mobility available in the initial character creation menu, but not sure if that counts as "UI" stuff that this framework wouldn't support.

That being said, it looks like your instructions didn't work for me on Switch. I ran through them a couple times just to make sure I didn't miss something dumb, but it's certainly possible I still did. I saw a few others were having difficulties as well — any ideas? Regardless, appreciate the work you put into this.

Actually, got it working! Screenshots attached — one with the first sign that TSLRCM is working in the character creation menu (the "Mobility" feat is added), and one with the first in-game sign that it's working (the first dead body has a Vibrocutter instead of a Vibrosword). However, I had to take a modified approach to this, details below.

Background: I'm sure you've noticed already, but there's no real pattern to which files live in the romfs's override folder vs. the Localized override folder. So, I dumped it all from the Switch and mapped out where each override file is supposed to be (along with other folders split between romfs and Localized, like romfs/StreamSounds/).

Resolution: I've attached a modified version of your original framework. I've flattened the directory structure to get rid of the Localized folder, so all mods are installed into romfs/ (instead of installing to romfs/Localized/English/ and moving things around afterwards). Once the mods are all installed, run the finalize.sh script to restructure everything into what the game expects on the Switch, then copy the Title ID folder (i.e. 0100B2C016252000) to the SD card under /atmosphere/contents/.

NOTE: the script I wrote will only work on macOS or Linux (or on Windows with WSL2 or Cygwin, if you're feeling adventurous). It can be easily adapted to Windows batch or PowerShell, but I don't currently have the inclination or motivation to do so.

Feel free to incorporate this into this framework, if you wouldn't mind adding an attribution (to DrSnuggly, I’m in the process of changing my username here lol), if you feel it's appropriate.

UPDATEWIth jacqylfrost's blessing, I've spun my work into it's own framework that can be found here (along with a GitHub project to create issues and the like). Now with the TSLRCM main screen working!

 

2023062722553700-09283F1FC0B01C5416AE2622190758FC.jpg

2023062722562100-09283F1FC0B01C5416AE2622190758FC.jpg

 

 

Edited by dMATOovoxq
  • Like 1

Share this comment


Link to comment
Share on other sites
6 hours ago, dMATOovoxq said:

Actually, got it working! Screenshots attached — one with the first sign that TSLRCM is working in the character creation menu (the "Mobility" feat is added), and one with the first in-game sign that it's working (the first dead body has a Vibrocutter instead of a Vibrosword). However, I had to take a modified approach to this, details below.

Background: I'm sure you've noticed already, but there's no real pattern to which files live in the romfs's override folder vs. the Localized override folder. So, I dumped it all from the Switch and mapped out where each override file is supposed to be (along with other folders split between romfs and Localized, like romfs/StreamSounds/).

Resolution: I've attached a modified version of your original framework. I've flattened the directory structure to get rid of the Localized folder, so all mods are installed into romfs/ (instead of installing to romfs/Localized/English/ and moving things around afterwards). Once the mods are all installed, run the finalize.sh script to restructure everything into what the game expects on the Switch, then copy the Title ID folder (i.e. 0100B2C016252000) to the SD card under /atmosphere/contents/.

NOTE: the script I wrote will only work on macOS or Linux (or on Windows with WSL2 or Cygwin, if you're feeling adventurous). It can be easily adapted to Windows batch or PowerShell, but I don't currently have the inclination or motivation to do so.

Feel free to incorporate this into this framework, if you wouldn't mind adding an attribution (to DrSnuggly, I’m in the process of changing my username here lol), if you feel it's appropriate.

2023062722553700-09283F1FC0B01C5416AE2622190758FC.jpg

2023062722562100-09283F1FC0B01C5416AE2622190758FC.jpg

KotOR II Switch Modding Framework 2.0.0.zip 3.29 MB · 0 downloads

I appreciate you contributing it, I'll have to dig through my notes again, I must have missed something in the readme, considering others are having trouble too. Fact of the matter is that it was nearly a year ago at this point, my memory isn't great, and I've been too busy to really look into it. I'll dig into it at some point, will absolutely credit you for it, that's a given.

Thanks and have fun!

Share this comment


Link to comment
Share on other sites
On 6/27/2023 at 12:58 AM, jacqylfrost said:

Apologize for the delayed response, I've been busy. TSLRCM will NOT show on the main menu. However, it should work just fine.

IIRC, on Peragus, there is a vibrocutter in the first room where you get base-level equipment, if you acquire that, then you know the mod is installed.

I initially thought I didn't get it to work, since the menu didn't show TSLRCM, but turns out it did, since both Mobility and the Vibrocutter appears. I put everything in the root romfs folder, and all the texture files in a Textures subfolder in the (root) Override folder.

Share this comment


Link to comment
Share on other sites

Apologies for bumping this, but could anyone help me making use of dMATOovoxq's "KotOR II Switch Modding Framework 2.1.0.zip"? My understanding is the scripts were made for linux/mac. Did jacqylfrost ever tweak his implementation with this new info?

Thanks in advance.

Share this comment


Link to comment
Share on other sites
3 hours ago, StellarBull said:

Apologies for bumping this, but could anyone help me making use of dMATOovoxq's "KotOR II Switch Modding Framework 2.1.0.zip"? My understanding is the scripts were made for linux/mac. Did jacqylfrost ever tweak his implementation with this new info?

Thanks in advance.

As stated above, I am very busy, at the moment I am settling into a new job, and I just got back from a convention. I've given @dMATOovoxq/Dr Snuggly my blessing to split this off into their own modding framework with their improvements, but they previously indicated they have no plans to get this working on Windows. I will look into this myself at some point, but to be frank, I'm exhausted, and this is my first weekend off in nearly 3 weeks, and I'm taking a breather.

Never say never, but don't expect it soon. I may look over my notes and see if there's something I missed when I wrote the readme later today, but I did get TSLRCM and another mod working just fine with this, so I suspect I may have worded something poorly or just forgotten a detail. The script shouldn't be strictly necessary for TSLRCM, I'm just not sure what issue people are running into. Some have gotten it working just fine.

  • Like 1

Share this comment


Link to comment
Share on other sites
4 hours ago, jacqylfrost said:

As stated above, I am very busy, at the moment I am settling into a new job, and I just got back from a convention. I've given @dMATOovoxq/Dr Snuggly my blessing to split this off into their own modding framework with their improvements, but they previously indicated they have no plans to get this working on Windows. I will look into this myself at some point, but to be frank, I'm exhausted, and this is my first weekend off in nearly 3 weeks, and I'm taking a breather.

Never say never, but don't expect it soon. I may look over my notes and see if there's something I missed when I wrote the readme later today, but I did get TSLRCM and another mod working just fine with this, so I suspect I may have worded something poorly or just forgotten a detail. The script shouldn't be strictly necessary for TSLRCM, I'm just not sure what issue people are running into. Some have gotten it working just fine.

I appreciate you taking the time to respond. I've gotten it to work and even made my own script based off of the one posted.

 

Currently trying to figure out why this breaks some tooltips/button prompts, I suspect it's because TSLRCM does not edit dialog.tk but outright replaces it, and now a bunch of popup windows ingame reference PC controls instead. If/when I figure that out, I will share it here.

  • Like 1

Share this comment


Link to comment
Share on other sites

I haven't slept at all and it's 6 am here but I do believe I have solved the issues I mentioned. I compared the dialog.tlk for the PC and Switch versions of KOTOR 2, output the difference (favoring the switch), which left me with all the instances of altered button prompts made specifically for the switch, as well as some other interface text elements. Then I made a script to look at that output and the TSLRCM dialog.tlk, updating any strings with the same id to the switch iterations, and inserting any strings with entirely new ids as well. A preliminary test shows promise, but after I complete a full playthrough I will post everything and credit both dMATOovoxq and jacqylfrost.

For now I need sleep.

  • Like 1

Share this comment


Link to comment
Share on other sites
1 hour ago, StellarBull said:

I haven't slept at all and it's 6 am here but I do believe I have solved the issues I mentioned. I compared the dialog.tlk for the PC and Switch versions of KOTOR 2, output the difference (favoring the switch), which left me with all the instances of altered button prompts made specifically for the switch, as well as some other interface text elements. Then I made a script to look at that output and the TSLRCM dialog.tlk, updating any strings with the same id to the switch iterations, and inserting any strings with entirely new ids as well. A preliminary test shows promise, but after I complete a full playthrough I will post everything and credit both dMATOovoxq and jacqylfrost.

For now I need sleep.

This is why procrastinators always win! If I simply think about doing something long enough, someone else will do it!

In all seriousness, great to hear, I hope to eventually try and put together a guide, maybe even a complete modpack (assuming I can get permission from TSLRCM authors) with these kinds of bugs/polish issues ironed out, so if you get it working, I may ask to use it (of course, with credit).

Or maybe someone else will beat me to the punch entirely! Either way, great work!

  • Like 1

Share this comment


Link to comment
Share on other sites

I've been testing a playthrough with just TSLRCM and I've run into a bug: there are no hooded handmaidens in the polar academy and I can't leave via the ebon hawk.

On 6/28/2023 at 4:36 AM, dMATOovoxq said:

UPDATE: removed the script since it had some egregious issues and will be uploaded / updated elsewhere on this site soon.

Oh my, I wonder if these issues are affecting me now. My script was based entirely off of yours. I will await your update.

EDIT: After manually moving folders as per original instructions in this page and without using the script, everything appears to be working.

Edited by StellarBull

Share this comment


Link to comment
Share on other sites

Yeah, the reason I took down my script is because it wasn't resolving all issues that I was encountering, but it did resolve some of the issues that come from just dumping the files only in the override folder.

Main issue remaining: I can't seem to figure out how to get the Switch to recognize some texture files. For example, dropping michaelfung2000's Canonical Jedi Exile 1.2 mod (which only consists of four loose texture files) into any of these folders in the Switch romFS doesn't work — the textures never appear in-game:

  • ./override
  • ./override/textures
  • ./Localized/English/override
  • ./Localized/English/override/textures

The fact that these aren't appearing correctly leads me to believe there may be other fundamental issues that could occur with Switch mods. I'm probably being overly cautious, but wanted to figure that out before re-publishing my script. Hopefully that makes sense.

Edited by dMATOovoxq
  • Like 1

Share this comment


Link to comment
Share on other sites
On 7/8/2023 at 3:00 PM, dMATOovoxq said:

Yeah, the reason I took down my script is because it wasn't resolving all issues that I was encountering, but it did resolve some of the issues that come from just dumping the files only in the override folder.

Main issue remaining: I can't seem to figure out how to get the Switch to recognize some texture files. For example, dropping michaelfung2000's Canonical Jedi Exile 1.2 mod (which only consists of four loose texture files) into any of these folders in the Switch romFS doesn't work — the textures never appear in-game:

  • ./override
  • ./override/textures
  • ./Localized/English/override
  • ./Localized/English/override/textures

The fact that these aren't appearing correctly leads me to believe there may be other fundamental issues that could occur with Switch mods. I'm probably being overly cautious, but wanted to figure that out before re-publishing my script. Hopefully that makes sense.

I appreciate you taking the time to respond.

I wonder why my second install of TSLRCM worked just following the original instructions in this page but with your script it broke during Telos. I'm currently running an install with a lot of redundancy (files in both the localized and root directories) just to cover all my bases. So far so good.

As for the textures, are you sure they're in .tpc format? According to jacqylfrost those always seem to load.

Share this comment


Link to comment
Share on other sites
1 hour ago, StellarBull said:

I appreciate you taking the time to respond.

I wonder why my second install of TSLRCM worked just following the original instructions in this page but with your script it broke during Telos. I'm currently running an install with a lot of redundancy (files in both the localized and root directories) just to cover all my bases. So far so good.

As for the textures, are you sure they're in .tpc format? According to jacqylfrost those always seem to load.

Yep, you're exactly right about the .tpc format, thought the resolution ended up being a little more complex (as always lol). I've rewritten a large portion of the scripts, and things now seem to be fully functional (though I haven't made a complete play-through yet).

WIth jacqylfrost's blessing, I've spun my work into it's own framework that can be found here (along with a GitHub project to create issues and the like). I figure we can discuss any further issues there, if you're interested in trying the setup again. No worries if not, though.

 

Share this comment


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.