Homebrew COMPLETED PyNX - Game Redirector

Should I add NPDM editing to this?

  • Yes

  • No


Results are only viewable after voting.

ChainedHope

Active Member
OP
Newcomer
Joined
Dec 12, 2017
Messages
41
Trophies
0
Age
29
XP
195
Country
United States
GameRedirectory is a PyNX script for managing your LayeredFs games. Follow the installation and how-to section.
Features: NPDM editing, moving files between a storage location (/switch/games/) and donors (/atmosphere/titles/), configuration file to keep track of what is where.

Downloads
GITHUB: https://github.com/Kozlowlw/py-switch


Old releases:
v1.0.3: https://mega.nz/#!h6xhkQhY!rbzaB0mozAjoYSjcZ-dfcBIFiIkt4fmcvN_O9e7Y5Rw
v1.0.2: https://mega.nz/#!0rZTGKaY!DQxYZzXoQ0NFdClAvFz4GGWtr0gLardSB6EEh_2jcj0
Beta-v1.0.1: https://mega.nz/#!ImpzWYBC!C2vMSiJSDkNrww6F83J0M0t8prhZYjetNYeBESWzTtU
v1.0.0 - https://mega.nz/#!kiRlxCZK!DA3hl5dr_ea37tPsA_IWkXDQzf1x0fF5mhM8mrsw51g

Installation:
  1. Put PyNX in /switch
  2. Put GameRedirector.py in /switch
  3. Put your titles in /switch/games/
How To Use:
  1. Launch PyNX.nro from hbl/hbm
  2. Select GameRedirector.py from the list (Up/Down on dpad/left joycon to move, a to select)
  3. Press 'a' again. The dialog doesn't pop up that asks if you want to run with v0.5.1 for some reason.
  4. Use 'Select Donor Title' to pick which game to redirect to (overwrite)
  5. Use 'Select Game Folder' to pick the game you want to redirect (play)
  6. Use 'Swap Files' to begin the process
  7. Press the home button to exit. The 'End' option kills my script, but not PyNX. I couldn't find a method for doing that in there library.
  8. Start the donor game and enjoy.
FAQ:
Q: What file structure do the /switch/games/ need to be in?
A: {GameName}/RomFs/* <---- NOTE: It defaults to a folder. If you want it to use .bin or .romfs then change it in the config.ini in /switch/games/
{GameName}/ExeFs/*​

Q: How do I get my XCI into that structure?
A: You can use my python script (here) or any of the other XCI converters and just make the folders.

Q: What games work with what donors?
A: Check here [Also post what you try, so we get a better list]

Q: PyNX crashes/Homebrew doesn't load in LayeredFs patched kernel?
A: Right now you can only "sometimes" use homebrew alongside the LayeredFS kernels. Booting into a non-patched kernel [regular hetake] to use the script and then rebooting into your RomFS/LayeredFs patched kernel to run the game works too. This will hopefully be fixed at some point. I've heard Switchblade lets you run homebrew with less crashes.

Q: Your script crashed after running.
A: It happens. Try again.

Changelog:
V1.0.3 - Added .npdm editing. File structure has changed!!!! Games now go in /switch/games/{Game Name}/{ExeFs and RomFs dirs}. This also means that RomFs needs to be a folder now. You are welcome to change it in the code, but to make it better fit my python xci-to-lfs script its staying as a folder (literally change it to move '/RomFs/' to '/RomFs.bin' and it should work)

V1.0.2 - Updated.. Shouldn't have anymore issues with config files. Working on npdm and folder editing for v1.0.3. Will probably change file structure a bit if/when I do this.

V1.0.1 - Finished the config portion. Also managed to get moving files working instead of copying. It now takes less than a minute to move a previous redirect and move in a new game. #Success. This had very limited testing so... beta?

V1.0.0 - POC release. Works but super slow
 
Last edited by ChainedHope,

ChainedHope

Active Member
OP
Newcomer
Joined
Dec 12, 2017
Messages
41
Trophies
0
Age
29
XP
195
Country
United States
Sick! Will certainly serve very nicely for, well, swapping titles and play stuff that wasn't expected to run.
Tell me how it goes. I didn't even think to check save data between swaps. And well... its 8am and I've been up all night so I'm done for the now.
 

ChainedHope

Active Member
OP
Newcomer
Joined
Dec 12, 2017
Messages
41
Trophies
0
Age
29
XP
195
Country
United States
Hey, I notice you use shutils instead of os.rename(), is there any specific reason why?
I was having weird issues with os anything tbh. Mostly OSErrors, and when I would try to pass through them it would cause problems like files mysteriously disappearing as if they were being renamed or moved to hidden parts (or being deleted all together which shouldn't have happened). Other parts of PyNX use shutils so I figure they must have a good reason for it and just went with it. Originally the script only used os, sys, and a few nx imports.

-- e
I'm making a few changes. I want this configuration to work >.< its going to annoy me until its done....
 
Last edited by ChainedHope,
  • Like
Reactions: lutyj

ChainedHope

Active Member
OP
Newcomer
Joined
Dec 12, 2017
Messages
41
Trophies
0
Age
29
XP
195
Country
United States
If I could get someone to test the beta file out, that would be awesome. Cut down the time considerably and added the configuration file to keep track of everything. Config file might break tho so keep an eye on it. (Beta release)
 

bedbug1226

Well-Known Member
Newcomer
Joined
Dec 1, 2014
Messages
83
Trophies
0
Age
30
XP
496
Country
United States
I Tried it on The binding of isaac replaceing fallout shelter and it worked great.

Then I tested it and the config broke when I tried to put a game over the octopath demo. It seemed to put it over fortnight in the config for some reason?
 
Last edited by bedbug1226,

ReavoEnd

Member
Newcomer
Joined
Jun 17, 2018
Messages
22
Trophies
0
Age
34
XP
173
Country
United States
No idea, every game is binded with BlazBlue xD

Ditto. I selected Octopath Demo as the donor title and config states it instead used BlazBlue as the donor title. Since BlazBlue is the top entry, I'm guessing it is the default and the "Select Donor Title" menu is just not working/actually changing the selected donor title?
 

bedbug1226

Well-Known Member
Newcomer
Joined
Dec 1, 2014
Messages
83
Trophies
0
Age
30
XP
496
Country
United States
I think putting "current_settings[3] = selected" under "def donor_action(selected):" might fix this?

def donor_action(selected):
current_settings[0] = donor_tids[selected]
current_settings[3] = selected

(Ah I see this fixed the config but break the movement?)
 
Last edited by bedbug1226,

Cali-Bean

Member
Newcomer
Joined
Jun 17, 2018
Messages
13
Trophies
0
Age
22
XP
97
Country
United States
Is it possible to do this with a android phone?

--------------------- MERGED ---------------------------

Will it be possible to get the RomFS and ExeFS with an android?
 

bedbug1226

Well-Known Member
Newcomer
Joined
Dec 1, 2014
Messages
83
Trophies
0
Age
30
XP
496
Country
United States
Try this?
-DELETED-
Delete old config and place games back in correct directory

I'm not the best programmer and have no experience with python but i butchered the program and I fixed the bug added some checks for some common errors I could see people doing.

Trying to check for empty game folder or game already moved right now.
 
Last edited by bedbug1226,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • K3Nv2 @ K3Nv2:
    It must be the 1st already
  • BakerMan @ BakerMan:
    1st of what?
  • BakerMan @ BakerMan:
    may?
  • K3Nv2 @ K3Nv2:
    Oh yeah it's in September
  • Xdqwerty @ Xdqwerty:
    @BakerMan, yea i think its different
  • BakerMan @ BakerMan:
    ok, because here it's in september, right before the fuckin school year starts
  • Xdqwerty @ Xdqwerty:
    good night
  • BakerMan @ BakerMan:
    as to you
  • K3Nv2 @ K3Nv2:
    How do you know if the night will be good when you're asleep
  • BakerMan @ BakerMan:
    because i didn't say i was asleep
  • BakerMan @ BakerMan:
    i said i was sleeping...
  • BakerMan @ BakerMan:
    sleeping with uremum
  • K3Nv2 @ K3Nv2:
    Even my mum slept on that uremum
  • TwoSpikedHands @ TwoSpikedHands:
    yall im torn... ive been hacking away at tales of phantasia GBA (the USA version) and have so many documents of reverse engineering i've done
  • TwoSpikedHands @ TwoSpikedHands:
    I just found out that the EU version is better in literally every way, better sound quality, better lighting, and there's even a patch someone made to make the text look nicer
  • TwoSpikedHands @ TwoSpikedHands:
    Do I restart now using what i've learned on the EU version since it's a better overall experience? or do I continue with the US version since that is what ive been using, and if someone decides to play my hack, it would most likely be that version?
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
    TwoSpikedHands @ TwoSpikedHands: I appreciate the insight!