Making premade gamelist.xml with xtra media collections
-
@meleu @UDb23 Well UDb23, I should probably leave this up to you and what you're doing. I don't want to turn away help that you could use on your program, but unless you knew of a way to integrate meleu's work into MekaX I don't know how it's going to help us out. Please chime in here and let us know what your plan is.
In any event, I should at least show a few examples of what the path line should look like for a few different roms.
Here's a few examples of different games for NES and what the path line should read as:
Mega Man:
<path>/home/pi/RetroPie/roms/nes/(1) Licensed/(1_1) US Licensed/MEGA MAN I.ZIP</path>
Championship Lode Runner:
<path>/home/pi/RetroPie/roms/nes/(1) Licensed/(1_5) Japan/CHAMPIONSHIP LODE RUNNER.ZIP</path>
Final Fantasy II:
<path>/home/pi/RetroPie/roms/nes/(2) Translated/FINAL FANTASY II.ZIP</path>
Protoman: The Red Bomber
<path>/home/pi/RetroPie/roms/nes/(3)Unlicensed - Homebrew/(3_08) Mega Man Updates/PROTOMAN - THE RED BOMBER.ZIP</path>
Gall Force: Eternal Story
<path>/home/pi/RetroPie/roms/nes/(4) Famicom Disk System/(4_1) Translated/GALL FORCE - ETERNAL STORY.ZIP</path>
-
Imagine the following scenario:
-
you have a gamelist.xml for nes games and it has this entry:
<path>./MEGA MAN I.ZIP</path>
-
you have a file named
MEGA MAN I.ZIP
and it lives in the directory/home/pi/RetroPie/roms/nes/NO/MATTER/HOW/MANY/SUBFOLDERS/YOU/NEED/
. -
if you run my script in your RetroPie system, it will change this
<path>./MEGA MAN I.ZIP</path>
to this:
<path>/home/pi/RetroPie/roms/nes/NO/MATTER/HOW/MANY/SUBFOLDERS/YOU/NEED/MEGA MAN I.ZIP</path>
Trying to explain in simple English (which isn't my mother language): my script gets every
<path>
entry in the given gamelist.xml file and tries to find the rom in the real file system, if it finds the ROM, update the<path>
with the full path to the ROM. If it doesn't find the rom, leave the<path>
as is.But it runs on Linux only.
From what I understood, it's pretty simple to accomplish what you want in a Linux environment. The big problem here is that we have different backgrounds and sometimes we don't quite understand each other.
If you invite your Linuxer friend to join this conversation here maybe we'll have more luck.
-
-
@meleu I invited him a few hours ago in hopes he would join the forum here and he could add input. Hope to hear back from him in the next day or two.
Your English is great man. If you didn't say it wasn't your native language I never would have known. Half the people I know who speak English natively can't type anything to save their life. I'm definately not having any problems understanding you.
I'm just a coding dummy is all. DOS is my major background, but even there I never was a coding wizard or anything. I knew all the basic commands and I've been able to write a lot of helpful launch files for a DOSBox setup I've been working on. It's easier for me to figure out things I don't know about DOS by looking them up online because I at least have the basics down. That's a lot harder for me to do with Linux because I'm still just learning the very basic stuff. It's not as hard as it would be if I didn't know DOS to compare it to, but I'm still very new at this.
I'm still hoping that in the end UDb23 is able to make MekaX a one-stop-shop for this process so nothing has to be done in Linux. I'm currently only running a Pi Zero, so I would imagine that the lack of processing power on that would not help issues either.
If there is no way that UDb23 is able to do all of this in MekaX and it has to be done partially in Linux than that will be the only option. It's surely better than me having to edit nearly 10,000 entries by hand, and then having to do that all over again any time somebody upgrades or adds artwork/videos/games.
I'm going to try it out, but I don't know where to start. Could you explain to me how to run the program and where the media needs to be? I think the media files and rom files are already explained so we should be working right there, but where would I have to put the {gamename}.XML files for the program to work?
Should I maybe add a folder to all of the system media folders? For example:
/home/pi/RetroPie/media/NES/Synopsis/MEGA MAN I.XML
-
@meleu I've downloaded it and tried running it a bunch of times.
fullpath-gamelist.sh --help
: command not found
./fullpath-gamelist.sh --help
: Permission denied
sudo ./fullpath-gamelist.sh --help
: command not found
$ ./fullpath-gamelist.sh --help
: command not foundMe and linux. This just about sums that relationship up. :)
-
@Used2BeRX said in Making premade gamelist.xml with xtra media collections:
Your English is great man. (...) I'm definately not having any problems understanding you.
I was talking about different Operational Systems backgrounds, not exactly English. :-) It seems that you are not aware of the extremely powerful tools a Linux environment have to process text files like you want to do, and this is making our conversation a bit hard to follow...
I'm still hoping that in the end UDb23 is able to make MekaX a one-stop-shop for this process so nothing has to be done in Linux.
It would be hard to accomplish, because file his program runs on Windows and the gamelist.xml files have paths using the UNIX style.
Windows:C:\path\to\some\file.txt
UNIX:/path/to/some/file.txt
As far as I understood @UDb23 asked me to "fix" the xml files that his MetaX is generating. And that's what I tried to do. But IMHO making the entire process in Linux would be extremely simpler and faster.
-
@Used2BeRX said in Making premade gamelist.xml with xtra media collections:
@meleu I've downloaded it and tried running it a bunch of times.
fullpath-gamelist.sh --help
: command not found
./fullpath-gamelist.sh --help
: Permission denied
sudo ./fullpath-gamelist.sh --help
: command not found
$ ./fullpath-gamelist.sh --help
: command not foundMe and linux. This just about sums that relationship up. :)
run this command before trying again:
chmod a+x fullpath-gamelist.sh
And then you'll be ready to run
./fullpath-gamelist.sh --help
-
@meleu I sent you the email, so you can delete your address when you make sure you got it.
I'll try those commands out. I have only one USB keyboard, so to further complicate having to do a lot of this stuff in Linux without an extremely point and click interface that UDb23 is making in MetaX, I have to get up and switch the keyboard every time I want to communicate. :)
Definately saw a change. Now it says:
line 7: syntax error near unexpected tokey "newline'
line 7: `<!DOCTYPE html>`` (Only one mark at the end there) -
@Used2BeRX looks like you didn't download the right file. The URL is https://raw.githubusercontent.com/meleu/share/master/fullpath-gamelist.sh
you can get it directly from your RetroPie command line this way:
wget https://raw.githubusercontent.com/meleu/share/master/fullpath-gamelist.sh
-
Yo, whats going on?
-
@NeMesiS Hey bud.
@meleu @UDb23 This is my "linux buddy" from the other site.
I'll redownload that file. That's for sure not the link I used when I downloaded it earlier.
EDIT:
Help works now with the new download (went from 65kb to only 3kb???)
Don't know what to do from there though. I put the XML files in
/home/pi/RetroPie/Media/NES/XMLTest/
Then I ran
./fullpath-gamelist.sh /home/pi/RetroPie/Media/NES/XMLTest/ gamelist.xml
: file not found.
-
@meleu said in Making premade gamelist.xml with xtra media collections:
As far as I understood @UDb23 asked me to "fix" the xml files that his MetaX is generating. And that's what I tried to do. But IMHO making the entire process in Linux would be extremely simpler and faster.
Surely it is simpler in Linux. Point is @Used2BeRX asked a windows application for the main "conversion" task. That's what I did.
Searching for Roms came after and I thought it would make sense to apply the "directory customization" directly on the Raspberry so it would adapt to each users actually installed roms on the Pi itself.
Roms and xml will be used on the Pi anyway in the end.I think adding this functionality to MetaX, looking for windows folders, and then write out the xml with "unix style paths" is possible; probably takes a significant amount of time and not sure if it is worth the effort.
Any feedback welcome.
-
Surely it is simpler in Linux. Point is @Used2BeRX asked a windows application for the main "conversion" task. That's what I did.
I got it bro. Please, I'm not disrespecting your work on that program at all. And I was OK doing what you requested. But it seems that the first-step-on-Windows-second-step-on-Linux way of working is confusing @Used2BeRX . That's why I think that making everything on one environment should be less confusing.
As you said: "Roms and xml will be used on the Pi anyway in the end."
Then why not convert everything in a Linux environment? :-)
-
@meleu For starters, I have trouble getting a help function to work. lol
Now that I got that far, I have no idea how to do anything with the program, and I have a feeling that doing it this way is going to require me typing out hundreds of lines of commands to get everything done instead of being able to just point and click from a GUI.
I'm trying to learn out of necessity here since it looks like we won't be able to do this the easy way.
-
@NeMesiS Hey dude, I was trying to help @Used2BeRX with this
crazyconversion but, as we have different OS backgrounds, we were having some - let's say - communication issues. I saw you wrote a script to make the conversion and posted on the other forums, I'll try to test that script and we can continue the conversation there. -
@meleu Yea, sweet...
I'll have to catch up with this thread,
is 6am atm I really should go to bed...
What have you guys got so far? -
@NeMesiS said in Making premade gamelist.xml with xtra media collections:
What have you guys got so far?
This. But I think it's better you go to bed for now. :)
edit: and @UDb23 made a Windows program to convert from txt to xml. My script only looks for the full path to the ROM...
-
@Used2BeRX Please, mark true or false for the following sentences, assuming you're saying them:
-
I understand that, despite being a more user-friendly environment, making the conversion from txt to xml on Windows is more painful.
-
I understand that Linux has powerfull tools to process text files, and my coders friends will be happy to help me if I am able to run their programs and provide feedback.
-
I'm not used to Linux but, as we are generating files to be used on Linux, I want to learn at least the basics (e.g.: how to execute simple commands from the prompt).
-
I prefer to spend some hours learning the basics of Linux than months generating xml files manually.
-
I want to share the results with the RetroPie community.
-
I don't want to use the results for commercial purpposes.
Thanks.
-
-
do it all in python and stop worrying about linux vs windows ;)
-
- False (I think. I don't know if I understand the question)
- True
- True
- True
- True
- True
-
@dankcushions said in Making premade gamelist.xml with xtra media collections:
do it all in python and stop worrying about linux vs windows ;)
What about
C:\windows\path\style
vs/UNIX/style/one
?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.