Hacking WiiFlow Lite with emulator's database

chrondelta

a she/her Wii hacker
Member
Joined
Sep 14, 2021
Messages
262
Trophies
0
Location
twitter.com/chronikerdelta
Website
paypal.me
XP
535
Country
United States

matto21

Well-Known Member
Member
Joined
Dec 29, 2011
Messages
586
Trophies
0
XP
2,015
Country
Italy
I prefer the left one but also i feel like this is completely ahistorical too. Not that that stops me from using custom boxcovers, but idk. The left on has a cleaner look. The right one has some unaesthetic perspective warping.
these are downloaded from emumovies
they need to be resized and renamed

BS F-Zero Grand Prix - Dai-4-shuu - Ace League (Japan).png

I'm creating these
Arkanoid - Do1h It Again (Japan) (BS) - Copia.png
Arkanoid - Do1h It Again (Japan) (BS).png
 
Last edited by matto21,

chrondelta

a she/her Wii hacker
Member
Joined
Sep 14, 2021
Messages
262
Trophies
0
Location
twitter.com/chronikerdelta
Website
paypal.me
XP
535
Country
United States
may i recommend running the labels through an affine transformation to match the perspective of what the label of the carts should be? I don't know what tool you're using to make these, but "perspective warp" is what it's called in Photoshop, and an "affine transformation" that maps 4 points in 2d space to 4 other points in 2D space is the mathematics of what you're looking for. I know openCV2 for python has a method for doing such transformations, so if you have all the label images, you could figure out the rectangle-to-trapezoid transformation that needs to happen to them and apply it before putting the labels on.

Do you have a "blank" cartridge with no label but shows the proper perspective of where the label would be? If so i could probably analyze it myself and come up with a functional affine transformation script to use on the labels, unless you know how to do that yourself.
 

chrondelta

a she/her Wii hacker
Member
Joined
Sep 14, 2021
Messages
262
Trophies
0
Location
twitter.com/chronikerdelta
Website
paypal.me
XP
535
Country
United States
that's not quite what i meant XP what was the original image before you put labels on it?

Edit: Like, basically, we want the labels to fit into the purple trapezoid i drew here. Except, this purple trapezoid is only a guess at what the shape is, if you show me the original image, i can get something more exact. And then it's basically trivial to turn the labels into the proper shape.
 

Attachments

  • Arkanoid - Do1h It Again (Japan) (BS) (1).png
    Arkanoid - Do1h It Again (Japan) (BS) (1).png
    380.8 KB · Views: 4

matto21

Well-Known Member
Member
Joined
Dec 29, 2011
Messages
586
Trophies
0
XP
2,015
Country
Italy
that's not quite what i meant XP what was the original image before you put labels on it?

Edit: Like, basically, we want the labels to fit into the purple trapezoid i drew here. Except, this purple trapezoid is only a guess at what the shape is, if you show me the original image, i can get something more exact. And then it's basically trivial to turn the labels into the proper shape.
is the one downloaded from emumovies
I tried to render them in 2D and the result is what you see
 

chrondelta

a she/her Wii hacker
Member
Joined
Sep 14, 2021
Messages
262
Trophies
0
Location
twitter.com/chronikerdelta
Website
paypal.me
XP
535
Country
United States
and what about the cartridge, but without any label? The one you posted above isn't what im looking for.

edit: also, i rescind my comment about it being "ahistorical", i didn't know that there were some of those cartridges released pre-labeled. Guess i learned something ^^;
 
Last edited by chrondelta,

Wiimpathy

Well-Known Member
OP
Member
Joined
Mar 3, 2010
Messages
979
Trophies
1
XP
2,547
Country
France
https://www.mediafire.com/file/6mxbabv95cnznm8/SNES+Data.7z/file So i have done my best to "update" the SNES database files. I have tried my best to separate out pirate carts and romhacks from the rest of the database by putting them at the end, but it's really not perfect in that regard. However, it should have most of the ROMhacks that are on MarioCube as well as those featured in ToddOfWar420's new coverset. I took new gameID numbers from pages on romhacking.net, smwcentral, metroidconstruction, or i used the last 6 digits of the SHA-1 of the zip file of the ROM. So it's not perfectly consistent, but it's extremely functional. I tried to maximize the number of snapshots and cart-disks available too using scraping tools, though i think someone with more knowledge than me should confirm the cart_disk files are Correct. The snapshots i can verify though.

As for what's missing, i collated some lists using scripts.

Missing snapshots:


Missing cart_disks (many of these probably don't have images. But please do double check the cart_disks I added)


Finally, here's what's missing from database entries in SUPERNES.xml






The python scripts ive made for analyzing libraries has been quite useful. Anyway, I'm crossposting this to the wiiflow plugins thread and the cover collection thread.

Expect a whole new Satellaview database soon, too. No cart_disks for that obviously, but that's obvious.
OK. Opening post edited with the link to your Snapshots_MOD archive. It would be cool to have an uptaded one someday with recent additions from @matto21 and others.
Also added a few notes about editing/checking databases. Maybe that will help the ones posting invalid xmls, maybe not... XML isn't a simple, raw .txt file. I know it's boring but we must follow some kind of conformity when we write them. Clean files are easier to manipulate with xml tools etc.
I hope it's the last time I say it but your SUPERNES.xml is invalid:
./SUPERNES.xml:68191: parser error : xmlParseEntityRef: no name
eam Software, the same company responsible for Radical Rex, Shadowrun, and Tom &
^
./SUPERNES.xml:69266: parser error : xmlParseEntityRef: no name
<synopsis>While the SNES is well known for it’s great Jump & Run games a
^
./SUPERNES.xml:69282: parser error : xmlParseEntityRef: no name
Advice & Support Sportklaus Micah Bredator Krischan
^
./SUPERNES.xml:69334: parser error : Opening and ending tag mismatch: synopsis line 65535 and locale
</locale>
^
./SUPERNES.xml:69347: parser error : Opening and ending tag mismatch: locale line 65535 and game
</game>
^
./SUPERNES.xml:69766: parser error : xmlParseEntityRef: no name
Character-based esper restrictions & new stat boosts that promote greater divers
^
./SUPERNES.xml:69955: parser error : Opening and ending tag mismatch: game line 65535 and rating
</rating>
^
./SUPERNES.xml:70014: parser error : xmlParseEntityRef: no name
Also included is a detailed game manual & level guide in .PDF format!
^
./SUPERNES.xml:70246: parser error : xmlParseEntityRef: no name
*New Dark World design (Areas 43, 45, & 47 ONLY!).
^
./SUPERNES.xml:70325: parser error : xmlParseEntityRef: no name
<synopsis>"The Legend of Zelda: A Link to the Past Redux" is a fork of Conn &
^
./SUPERNES.xml:71579: parser error : xmlParseEntityRef: no name
*Switched places for Mario & Luigi on 2 Player exchange extra lives prompt
^
./SUPERNES.xml:72459: parser error : xmlParseEntityRef: no name
This hack was made possible by giangurgolo & Omega’s Lazy Shell editor. </syno
I don't which tools/libs you're using but please check the files are well-formed in the end.

Regarding SUPERNES/SUPERNES_HACKS, the reasons they were seperated:
The screenscraper website had it this way so it was kept. As said, most hacks data was missing, easier to fill independently. And 2, the higher risk of crc conflict.
Now, you have merged some hacks and it seems you've checked the crc duplicates. So that should be ok I guess.
And again nipticking but the xml is sorted alphabetically by the game name. But yeah putting the hacks in the end is easier.
 

matto21

Well-Known Member
Member
Joined
Dec 29, 2011
Messages
586
Trophies
0
XP
2,015
Country
Italy
OK. Opening post edited with the link to your Snapshots_MOD archive. It would be cool to have an uptaded one someday with recent additions from @matto21 and others.
Also added a few notes about editing/checking databases. Maybe that will help the ones posting invalid xmls, maybe not... XML isn't a simple, raw .txt file. I know it's boring but we must follow some kind of conformity when we write them. Clean files are easier to manipulate with xml tools etc.
I hope it's the last time I say it but your SUPERNES.xml is invalid:
./SUPERNES.xml:68191: parser error : xmlParseEntityRef: no name
eam Software, the same company responsible for Radical Rex, Shadowrun, and Tom &
^
./SUPERNES.xml:69266: parser error : xmlParseEntityRef: no name
<synopsis>While the SNES is well known for it’s great Jump & Run games a
^
./SUPERNES.xml:69282: parser error : xmlParseEntityRef: no name
Advice & Support Sportklaus Micah Bredator Krischan
^
./SUPERNES.xml:69334: parser error : Opening and ending tag mismatch: synopsis line 65535 and locale
</locale>
^
./SUPERNES.xml:69347: parser error : Opening and ending tag mismatch: locale line 65535 and game
</game>
^
./SUPERNES.xml:69766: parser error : xmlParseEntityRef: no name
Character-based esper restrictions & new stat boosts that promote greater divers
^
./SUPERNES.xml:69955: parser error : Opening and ending tag mismatch: game line 65535 and rating
</rating>
^
./SUPERNES.xml:70014: parser error : xmlParseEntityRef: no name
Also included is a detailed game manual & level guide in .PDF format!
^
./SUPERNES.xml:70246: parser error : xmlParseEntityRef: no name
*New Dark World design (Areas 43, 45, & 47 ONLY!).
^
./SUPERNES.xml:70325: parser error : xmlParseEntityRef: no name
<synopsis>"The Legend of Zelda: A Link to the Past Redux" is a fork of Conn &
^
./SUPERNES.xml:71579: parser error : xmlParseEntityRef: no name
*Switched places for Mario & Luigi on 2 Player exchange extra lives prompt
^
./SUPERNES.xml:72459: parser error : xmlParseEntityRef: no name
This hack was made possible by giangurgolo & Omega’s Lazy Shell editor. </syno
I don't which tools/libs you're using but please check the files are well-formed in the end.

Regarding SUPERNES/SUPERNES_HACKS, the reasons they were seperated:
The screenscraper website had it this way so it was kept. As said, most hacks data was missing, easier to fill independently. And 2, the higher risk of crc conflict.
Now, you have merged some hacks and it seems you've checked the crc duplicates. So that should be ok I guess.
And again nipticking but the xml is sorted alphabetically by the game name. But yeah putting the hacks in the end is easier.
I took the liberty of correcting errors in the SUPERNES.xml file created by @chrondelta
 

Attachments

  • SUPERNES.zip
    1.6 MB · Views: 18
Last edited by matto21,

chrondelta

a she/her Wii hacker
Member
Joined
Sep 14, 2021
Messages
262
Trophies
0
Location
twitter.com/chronikerdelta
Website
paypal.me
XP
535
Country
United States
OK. Opening post edited with the link to your Snapshots_MOD archive. It would be cool to have an uptaded one someday with recent additions from @matto21 and others.
Also added a few notes about editing/checking databases. Maybe that will help the ones posting invalid xmls, maybe not... XML isn't a simple, raw .txt file. I know it's boring but we must follow some kind of conformity when we write them. Clean files are easier to manipulate with xml tools etc.
I hope it's the last time I say it but your SUPERNES.xml is invalid:
./SUPERNES.xml:68191: parser error : xmlParseEntityRef: no name
eam Software, the same company responsible for Radical Rex, Shadowrun, and Tom &
^
./SUPERNES.xml:69266: parser error : xmlParseEntityRef: no name
<synopsis>While the SNES is well known for it’s great Jump & Run games a
^
./SUPERNES.xml:69282: parser error : xmlParseEntityRef: no name
Advice & Support Sportklaus Micah Bredator Krischan
^
./SUPERNES.xml:69334: parser error : Opening and ending tag mismatch: synopsis line 65535 and locale
</locale>
^
./SUPERNES.xml:69347: parser error : Opening and ending tag mismatch: locale line 65535 and game
</game>
^
./SUPERNES.xml:69766: parser error : xmlParseEntityRef: no name
Character-based esper restrictions & new stat boosts that promote greater divers
^
./SUPERNES.xml:69955: parser error : Opening and ending tag mismatch: game line 65535 and rating
</rating>
^
./SUPERNES.xml:70014: parser error : xmlParseEntityRef: no name
Also included is a detailed game manual & level guide in .PDF format!
^
./SUPERNES.xml:70246: parser error : xmlParseEntityRef: no name
*New Dark World design (Areas 43, 45, & 47 ONLY!).
^
./SUPERNES.xml:70325: parser error : xmlParseEntityRef: no name
<synopsis>"The Legend of Zelda: A Link to the Past Redux" is a fork of Conn &
^
./SUPERNES.xml:71579: parser error : xmlParseEntityRef: no name
*Switched places for Mario & Luigi on 2 Player exchange extra lives prompt
^
./SUPERNES.xml:72459: parser error : xmlParseEntityRef: no name
This hack was made possible by giangurgolo & Omega’s Lazy Shell editor. </syno
I don't which tools/libs you're using but please check the files are well-formed in the end.

Regarding SUPERNES/SUPERNES_HACKS, the reasons they were seperated:
The screenscraper website had it this way so it was kept. As said, most hacks data was missing, easier to fill independently. And 2, the higher risk of crc conflict.
Now, you have merged some hacks and it seems you've checked the crc duplicates. So that should be ok I guess.
And again nipticking but the xml is sorted alphabetically by the game name. But yeah putting the hacks in the end is easier.
i can probably whip up a script to resort the database alphabetically. Sorry about not getting the formatting right. I tried to do it a bit better this time but i still have some things to learn. I'll look at this again later, im about to go to bed. I'm mostly just coding up my own python scripts from scratch, as far as tools go. It's possible i've been loosey goosey about this.
 

Wiimpathy

Well-Known Member
OP
Member
Joined
Mar 3, 2010
Messages
979
Trophies
1
XP
2,547
Country
France
You could use xmllint to validate the XML file.
I've explained it about 10 times. Even wrote a small howto (it's in the 1st post now). Don't know what's not clear. :wacko::cry::lol:

No matter what language, python, perl or whatever, specialized tools like xmllint, xmlstarlet(that's what I've mainly used inside shell scripts), you have to check the validity.
 

chrondelta

a she/her Wii hacker
Member
Joined
Sep 14, 2021
Messages
262
Trophies
0
Location
twitter.com/chronikerdelta
Website
paypal.me
XP
535
Country
United States
I've explained it about 10 times. Even wrote a small howto (it's in the 1st post now). Don't know what's not clear. :wacko::cry::lol:

No matter what language, python, perl or whatever, specialized tools like xmllint, xmlstarlet(that's what I've mainly used inside shell scripts), you have to check the validity.
sorry, i've got ADHD so it's possible i missed those tools and stuff before ^^; i'll use xmllint next time i submit an xml
 

chrondelta

a she/her Wii hacker
Member
Joined
Sep 14, 2021
Messages
262
Trophies
0
Location
twitter.com/chronikerdelta
Website
paypal.me
XP
535
Country
United States
looking at these errors, i'm going like "wait wtf did my script do wrong?"

Matto i appreciate you psoting the fixed document, im going through it myself too and trying to fix things. but anyway this is buckwild, i thought i nailed the XML printing, i even included a method for replacing &'s with &amp;s and just from a cursory glance everything looked good. I'm a little shocked, but that's okay, it just means i have to investigate the problem. xmllint is really helpful, thanks for pointing it out.
 

chrondelta

a she/her Wii hacker
Member
Joined
Sep 14, 2021
Messages
262
Trophies
0
Location
twitter.com/chronikerdelta
Website
paypal.me
XP
535
Country
United States
https://www.mediafire.com/file/kp1j1c7l8otv95v/Satellaview+Data.7z/file Alright here's the Satellaview work. Matto21 i just used your tilted cart-disk images, resized and renamed them properly i believe. ALSO, I made sure to *validate* the XML file this time, i promise. In fact, i did it twice cuz i validated my SUPERNES.xml as well, and added the other 91cart-disks you found matto. So thanks for your contributions! Anyway i'm gonna use xmllint in the future for sure.

Here's the updated SNES files too. https://www.mediafire.com/file/5jmrwu3lpnwmeiq/SNES+Data.7z/file


EDIT!! Actually, i'm not comfortable enough with the quality of Satellaview.ini in terms of capturing enough CRCs. I know Satellaview preservation is hit or miss and a lot of ROMs don't properly run, but i didn't fully transfer over every CRC from the prior Satellaview database over. I'm not sure how easy it would be to do, considering it'd involve identifying e.g. which week of a game a CRC belongs to. And i think the synopses on the XML could use some work. If anyone wants to work on those, i'd try to incorporate your changes. Otherwise, i might slowly chip away at it some more. Sorry for premature publishing. The SNES one should be golden now though. Still missing many of the same synopses and such as my previous status post, but i promise the XML is valid.
 
Last edited by chrondelta,
  • Like
Reactions: matto21

mastershoes

GameTDB Mod & Retro Cover Artist
Member
Joined
Jun 25, 2011
Messages
796
Trophies
1
Age
43
Location
Chicago
XP
3,423
Country
United States
There's quite a few, easy to see if you open up something like image convertor plus:
Dr. Mario
Get Going Ebisumaru! The Mechanical Maze - Mystery of the Missing Goemon
Lobo
Prime
Quick the Thunder Rabbit
Soul Blade
Super Robot Wars EX
Tarzan - Lord of the Jungle
Total Football
World League Soccer

There are a lot more than these, this is just what popped up when going through some things.
 
General chit-chat
Help Users
    Veho @ Veho: Works for me.