Hacking Automatically sort NDS files into folders by genre?

  • Thread starter Thread starter Valzi
  • Start date Start date
  • Views Views 1,867
  • Replies Replies 3

Valzi

Well-Known Member
Newcomer
Joined
Jul 12, 2011
Messages
70
Reaction score
3
Trophies
1
Location
New Mexico
XP
148
Country
United States
Is there a way to sort NDS files into folders by genre? NDSCrc can NAME them by genre, but I haven't figured out a way to sort them into genre folders yet. Is there a way to do that?
 
I don't think it is possible, unless there is something in the header that shows what genre each game is, which I doubt.
You'd be better off making folders and sorting them manually.
 
Actually, the Advanscene database includes genres and most renamers use that database, so it's very possible. I just can't find any programs that take advantage of this for anything other than naming the actual files themselves. They don't sort into genre folders.
 
I got curious so I had a look around. Most databases are XML/text based in my experience although checking no-intro and advanscene I saw no genre.
Rominator (using <a href="http://filetrip.net/g51608-Rominator--ds-rod.html" target="_blank">http://filetrip.net/g51608-Rominator--ds-rod.html</a> - it ends at Dragon Quest VI - Realms of Reverie so you are missing the last 100 or so roms) did have genre lists (be aware there are also subgenre lists) but it seems to be sqlite (which may or may not be better at this point), fortunately there are browsers for the format but either way you should be able to twist it into a batch file.

I exported the sqlite to csv (using <a href="http://sqlitebrowser.sourceforge.net/" target="_blank">http://sqlitebrowser.sourceforge.net/</a> , if you know how to work SQL you might even be able to do a query but my SQL is not good so export it is.
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->genreÂÂÂÂsubgenre
ActionÂÂÂÂAdventure$$$Cooking$$$General$$$RPG
AdventureÂÂÂÂRhythm
ArcadeÂÂÂÂ
Board GamesÂÂÂÂ
Card BattleÂÂÂÂ
CompilationÂÂÂÂ
CookingÂÂÂÂ
EdutainmentÂÂÂÂ
FightingÂÂÂÂ2D$$$3D$$$Beat 'em Up$$$General
Mini GamesÂÂÂÂ
MusicÂÂÂÂAction$$$Creative$$$General$$$Rhythm
OtherÂÂÂÂ
ParlorÂÂÂÂBilliards$$$Card Games$$$Gambling$$$Pinball
Party GamesÂÂÂÂ
PlatformerÂÂÂÂ
PuzzleÂÂÂÂAction$$$Adventure$$$Block Stacker$$$Crossword$$$General$$$Sudoku
RPGÂÂÂÂ
RacingÂÂÂÂ
ReadingÂÂÂÂ
ShooterÂÂÂÂFirst Person$$$General$$$On Rails$$$Scrolling$$$Third Person
SimulationÂÂÂÂAction$$$Flight$$$Gambling$$$Game Show$$$General$$$Virtual Life$$$Virtual Pet
SportsÂÂÂÂBaseball$$$Basketball$$$Bowling$$$Boxing$$$Darts$$$Fishing$$$Football$$$Golf$$$Hockey$$$Olympics$$$Other$$$Skateboarding$$$Snowboarding$$$Soccer$$$Tennis$$$Wrestling
StrategyÂÂÂÂGeneral$$$Real Time$$$Turn Based$$$Tycoon
TriviaÂÂÂÂ
Visual NovelÂÂÂÂ
Fitness<!--c2--></div><!--ec2-->

Or if you prefer

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->md "Action"
md "Adventure"
md "Arcade"
md "Board Games"
md "Card Battle"
md "Compilation"
md "Cooking"
md "Edutainment"
md "Fighting"
md "Mini Games"
md "Music"
md "Other"
md "Parlor"
md "Party Games"
md "Platformer"
md "Puzzle"
md "RPG"
md "Racing"
md "Reading"
md "Shooter"
md "Simulation"
md "Sports"
md "Strategy"
md "Trivia"
md "Visual Novel"
md "Fitness"<!--c2--></div><!--ec2-->

Now you just need to build a move list based on names.
One CSV arranged by genre, subgenre and then number (which I messed up and lost the leading 0s from if you use numbers).
<a href="http://www.4shared.com/get/eVI0WtBX/rominatortest2.html" target="_blank">http://www.4shared.com/get/eVI0WtBX/rominatortest2.html</a>

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->"number","name","country",,"genre","altGenre"
40,"Egg Monster Hero","Japan",,"Action","Adventure"
66,"Tom Clancy's Splinter Cell - Chaos Theory","Europe",,"Action","Adventure"
71,"Tom Clancy's Splinter Cell - Chaos Theory","USA",,"Action","Adventure"
76,"Star Wars Episode III - Revenge of the Sith","USA",,"Action","Adventure"
93,"Hagane no Renkinjutsushi - Dual Sympathy","Japan",,"Action","Adventure"
161,"Star Wars Episode III - Sith no Fukushuu","Japan",,"Action","Adventure"
164,"Harry Potter and the Goblet of Fire","Europe",,"Action","Adventure"
173,"Chronicles of Narnia, The - The Lion, the Witch and the Wardrobe","USA",,"Action","Adventure"
178,"Harry Potter and the Goblet of Fire","USA",,"Action","Adventure"
196,"Chronicles of Narnia, The - The Lion, the Witch and the Wardrobe","Europe",,"Action","Adventure"
198,"King Kong","USA",,"Action","Adventure"
209,"Incredibles, The - Rise of the Underminer","Europe",,"Action","Adventure"
219,"Slime MoriMori - Dragon Quest 2 - Daisensha to Shippo Dan","Japan",,"Action","Adventure"
231,"Titeuf - Mission Nadia","Europe",,"Action","Adventure"
232,"Teenage Mutant Ninja Turtles 3 - Mutant Nightmare","Europe",,"Action","Adventure"
276,"BioHazard - Deadly Silence","Japan",,"Action","Adventure"
280,"Spider-Man 2","Japan",,"Action","Adventure"
298,"Chronicles of Narnia, The - The Lion, the Witch and the Wardrobe","Europe",,"Action","Adventure"
306,"Finding Nemo - Escape to the Big Blue","USA",,"Action","Adventure"
312,"Robots","Japan",,"Action","Adventure"
314,"Resident Evil - Deadly Silence","USA",,"Action","Adventure"
343,"Narnia Koku Monogatari - Lion to Majo","Japan",,"Action","Adventure"
388,"Harry Potter to Honoo no Goblet","Japan",,"Action","Adventure"
391,"Resident Evil - Deadly Silence","Europe",,"Action","Adventure"
464,"Kaitou Rousseau","Japan",,"Action","Adventure"
475,"Pirates of the Caribbean - Dead Man's Chest","USA",,"Action","Adventure"
495,"Pirates of the Caribbean - Dead Man's Chest","Europe",,"Action","Adventure"
497,"Monster House","USA",,"Action","Adventure"
504,"Pirates of the Caribbean - Dead Man's Chest","Japan",,"Action","Adventure"
521,"Monster House","Europe",,"Action","Adventure"
527,"Tenchu - Dark Secret","USA",,"Action","Adventure"
564,"Open Season","USA",,"Action","Adventure"
569,"Dragon Quest Heroes - Rocket Slime","USA",,"Action","Adventure"
597,"Avatar - The Last Airbender","USA",,"Action","Adventure"
601,"Scooby-Doo! Who's Watching Who?","USA",,"Action","Adventure"
630,"Scurge - Hive","USA",,"Action","Adventure"
633,"Scurge - Hive","Europe",,"Action","Adventure"
648,"LEGO Star Wars II - The Original Trilogy","Japan",,"Action","Adventure"
652,"Tomb Raider - Legend","Europe",,"Action","Adventure"
675,"Winx Club - Quest for the Codex","USA",,"Action","Adventure"
683,"Tomb Raider - Legend","USA",,"Action","Adventure"
688,"Bionicle Heroes","USA",,"Action","Adventure"
697,"Bokura no Taiyou DS - Django & Sabata","Japan",,"Action","Adventure"
706,"Tenchu - Dark Secret","Europe",,"Action","Adventure"
760,"Star Wars - Lethal Alliance","Europe",,"Action","Adventure"
764,"Star Wars - Lethal Alliance","USA",,"Action","Adventure"
765,"Fullmetal Alchemist - Dual Sympathy","USA",,"Action","Adventure"
769,"Arthur and the Minimoys","Europe",,"Action","Adventure"
786,"Bratz - Forever Diamondz","Spain",,"Action","Adventure"
815,"Scooby-Doo! Who's Watching Who?","Europe",,"Action","Adventure"
827,"Bratz - Forever Diamondz","Europe",,"Action","Adventure"
849,"Monster House","Japan",,"Action","Adventure"
945,"Meet the Robinsons","USA",,"Action","Adventure"
948,"Avatar - The Legend of Aang","Europe",,"Action","Adventure"
957,"Meet the Robinsons","Europe",,"Action","Adventure"
999,"Monster House","Europe",,"Action","Adventure"
1019,"Chicken Little - Uchuu Saikyou no Team","Japan",,"Action","Adventure"
1074,"Bratz - Forever Diamondz","Italy",,"Action","Adventure"
1094,"Pirates of the Caribbean - At World's End","USA",,"Action","Adventure"
1095,"Pirates of the Caribbean - At World's End","Europe",,"Action","Adventure"
1099,"SpongeBob & Friends - Battle For Volcano Island","Europe",,"Action","Adventure"
1161,"Transformers - Autobots","USA",,"Action","Adventure"
1162,"Transformers - Decepticons","USA",,"Action","Adventure"
1167,"Pirates of the Caribbean - At World's End","Japan",,"Action","Adventure"
1176,"Harry Potter and the Order of the Phoenix","USA",,"Action","Adventure"
1192,"Sakasete! Chibi-Robo!","Japan",,"Action","Adventure"
1193,"Harry Potter and the Order of the Phoenix","Europe",,"Action","Adventure"
1198,"Scooby-Doo! Quien est a Mirando a Quien?","Europe",,"Action","Adventure"
1218,"Harry Potter and the Order of the Phoenix","Europe",,"Action","Adventure"
1221,"Bratz - Forever Diamondz","Germany",,"Action","Adventure"
1227,"Transformers - Autobots","Europe",,"Action","Adventure"
1228,"Transformers - Decepticons","Europe",,"Action","Adventure"
1230,"Transformers - Autobots","France",,"Action","Adventure"
1231,"Transformers - Decepticons","France",,"Action","Adventure"
1269,"Transformers - Autobots","Spain",,"Action","Adventure"
1270,"Transformers - Decepticons","Spain",,"Action","Adventure"
1275,"Transformers - Autobots","Germany",,"Action","Adventure"
1276,"Transformers - Decepticons","Germany",,"Action","Adventure"
1367,"Pirates of the Caribbean - At World's End","Russia",,"Action","Adventure"
1389,"Transformers - Decepticons","Italy",,"Action","Adventure"
1390,"Transformers - Autobots","Italy",,"Action","Adventure"
1398,"Drawn to Life","USA",,"Action","Adventure"
1411,"Fullmetal Alchemist - Dual Sympathy","Europe"<!--c2--></div><!--ec2-->

Assuming your roms are named accordingly (if they are not I would consider modding a list for another naming program using this data) generate a naming list and then
mv [romname] [directory]

Something like
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->mv "LEGO Star Wars III - The Clone Wars.7z" "Adventure"
mv "Dungeon Raiders.7z" "Adventure"
mv "Wizards of Waverly Place - Spellbound.7z" "Adventure"
mv "Midnight Mysteries - The Edgar Allan Poe Conspiracy.7z" "Adventure"
mv "Hollywood Files - Deadly Intrigues.7z" "Adventure"
mv "Josefine Skolehjelp ? Engelsk - Mystery in London.7z" "Adventure"
mv "Sofie - Josefines Lillesøster - Hønseføtter og Gulerøtter.7z" "Adventure"
mv "Sherlock Holmes and the Mystery of Osborne House.7z" "Adventure"
mv "Murder in Venice.7z" "Adventure"
mv "CSI - Unsolved! (DSi Enhanced).7z" "Adventure"
mv "Space Invaders DS.7z" "Arcade"
mv "Space Invaders Revolution.7z" "Arcade"
mv "Space Invaders Revolution.7z" "Arcade"
mv "Break 'Em All.7z" "Arcade"
mv "Nervous Brickdown.7z" "Arcade"
mv "1500 DS Spirits Vol. 3 - Block Kuzushi.7z" "Arcade"
mv "Nervous Brickdown.7z" "Arcade"
mv "Geometry Wars - Galaxies.7z" "Arcade"
mv "Arkanoid DS.7z" "Arcade"
mv "Geometry Wars - Galaxies.7z" "Arcade"
mv "Brickdown [Super Lite 2500].7z" "Arcade"
mv "Space Invaders Extreme.7z" "Arcade"
mv "Space Invaders Extreme.7z" "Arcade"
mv "Space Invaders Extreme.7z" "Arcade"
mv "Space Invaders Extreme 2.7z" "Arcade"
mv "Space Invaders Extreme 2.7z" "Arcade"
mv "Space Invaders Extreme 2.7z" "Arcade"
mv "Retro Arcade Toppers Vol. 1.7z" "Arcade"
mv "Yakuman DS.7z" "Board Games"
mv "Simple DS Series Vol. 1 - The Mahjong.7z" "Board Games"
mv "Kidou Gekidan Haro Ichiza - Gundam Mahjong DS - Oyaji ni mo Agarareta Koto nai no ni!.7z" "Board Games"
mv "Appare! Shogi Jiisan - Washi to Shoubu ja.7z" "Board Games"
mv "Table Game Spirits.7z" "Board Games"
mv "Minna no Mahjong DS [v01].7z" "Board Games"
mv "Nihon Pro Mahjong Kishikai Kanshuu - Pro ni naru Mahjong DS.7z" "Board Games"
mv "Itsu Demo Doko Demo Dekiru Igo - AI Igo DS.7z" "Board Games"
mv "Itsu Demo Doko Demo Dekiru Shogi - AI Shogi DS.7z" "Board Games"
mv "Jinsei-Game DS.7z" "Board Games"
mv "Card Game 9.7z" "Board Games"
mv "Yakuman DS - Wi-Fi Taiou.7z" "Board Games"<!--c2--></div><!--ec2-->

The fill command of spreadsheets and automated search and replace of text editors are your friends here.
 

Site & Scene News

Popular threads in this forum