Homebrew CaVE Database Manager - A SNES, NES, N64, Genesis Switch Online modding App

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
I still just can't get this app to open my databases. I'll save a database, go back to it 3 hours later and it's gone. It tells me there are new games available, which is the entirety of the SNES library, and then everything I did before doesn't show up.

The Database is still there, but Cave just doesn't open it.

Off the top of my head, this sounds like it could be an issue I just noticed and fixed yesterday. That issue would only show itself if you selected a folder above the lclassics.titlesdb that was unexpected. In short, the current public version expects/needs you to select the folder immediately above the folder with the titleid as its name. For example with a folder path containing "WhateverFolder/01008D300C50C000/romfs/..", you would want to select "WhateverFolder" when creating your new database. I think to get your current database to load and save properly, load up the program, ignore the bad update popup, go to "File > Open Database" and select the parent folder as mentioned. Immediately save then reopen to see if things are now syncs up.

This will be fixed in the next version, but as there's been quite a few other changes... I cant release an update right away.

In future versions CaVE will not care what parent folder you select above the lclassics.titlesdb, and automatically find and save the folder with the titleid to the settings file. The issue is that it currently adds an extra titleid into the path it uses like "WhateverFolder/01008D300C50C000/01008D300C50C000/romfs/.." and as a results fail to find the db when it goes to save to it.
 

Djangit

Member
Newcomer
Joined
Mar 14, 2020
Messages
9
Trophies
0
Age
37
XP
83
Country
United States
Off the top of my head, this sounds like it could be an issue I just noticed and fixed yesterday. That issue would only show itself if you selected a folder above the lclassics.titlesdb that was unexpected. In short, the current public version expects/needs you to select the folder immediately above the folder with the titleid as its name. For example with a folder path containing "WhateverFolder/01008D300C50C000/romfs/..", you would want to select "WhateverFolder" when creating your new database. I think to get your current database to load and save properly, load up the program, ignore the bad update popup, go to "File > Open Database" and select the parent folder as mentioned. Immediately save then reopen to see if things are now syncs up.

This will be fixed in the next version, but as there's been quite a few other changes... I cant release an update right away.

In future versions CaVE will not care what parent folder you select above the lclassics.titlesdb, and automatically find and save the folder with the titleid to the settings file. The issue is that it currently adds an extra titleid into the path it uses like "WhateverFolder/01008D300C50C000/01008D300C50C000/romfs/.." and as a results fail to find the db when it goes to save to it.

That's excellent, thank you! This fixed my problem. Thanks for all your hard work on this app.
 
  • Like
Reactions: DarkAkuma

dcx6723

Well-Known Member
Newcomer
Joined
Mar 24, 2016
Messages
88
Trophies
0
Age
34
XP
1,522
Country
United States
"Just make sure you are using v4.0.0.0 of the NES Online app. Older versions will probably not be compatible."
Please update this text to v4.7, I downgraded to 4.0 (which was unusable) and then my nes app crash literally at startup on SX OS (even with no titles, deleted the save deata, latest SX OS) so i'm using the japanese one instead.
 

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
"Just make sure you are using v4.0.0.0 of the NES Online app. Older versions will probably not be compatible."
Please update this text to v4.7, I downgraded to 4.0 (which was unusable) and then my nes app crash literally at startup on SX OS (even with no titles, deleted the save deata, latest SX OS) so i'm using the japanese one instead.

Well, I'd hope from context that most people would have understood the meaning of that complete line. To say that versions before v4.0 "will probably not be compatible".

Still, I updated it by adding in "or later" to better achieve the intent of that line, and not be some text I have to update every couple months as new versions of the app come out.
 
  • Like
Reactions: MManatane

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Strange new updates that seem to add nothing.
NES 5.0 SNES 2.0

Yea. I already got my hands on it and checked it out last night. Internally, it changes little. Addresses have been shifted around causing me to need to update my development tools has been the most impact so far. There's a few very minor changes in the code. I dont think they will effect anything, but they might. I'll need to actually have someone do some tests. But in general, I don't plan to release a unlock or CaVE update for this version. Id recommend that people just skip it as it adds nothing for them over v1.7/v4.7.

Overall, I think this is just a general code cleaning update. Some functions with a lot of Preset IDs/Game Codes got overhauled. They dont de-compile as well, but I think the change was just to better sort them for NERDs own programmer use. I noticed some functions have been changed to what looks like being moved to run on the background thread. I also suspect theres more general optimization changes made to boost load times, and maybe netplay performance (as I always hear that can be pretty bad). But that last bit isn't based on anything Ive seen in the code, just logic on what would be worth further refining the code for.

EDIT:

Ive also been informed of a new Switch firmware, and feature with it that most likely explains the reason for this update being posted at all. V11 changes the Online Hub a bit and allows you to boot directly into NES/SNES games from the Online Hub page, bypassing the NES/SNES apps menu itself.

While I never looked closely at the command line parsing part of the code, or at least cant remember anything that stood out, I seriously doubt it would have had functionality before to allow booting directly into a game like that. So it would have needed an update for such support. The other minor changes are just "extra".

Seeing as this new feature is a v11 firmware only feature, and modding typically has you not using the latest firmwares... this further cements not having a reason to care about this update and support it. I could release new unlock patches (if they prove to work), but I don't want to give anyone the wrong idea and encourage them to use the latest version to no benefit.
 
Last edited by DarkAkuma,
  • Like
Reactions: rafsilva1983

AlanLC

Well-Known Member
Member
Joined
Aug 18, 2014
Messages
413
Trophies
0
Age
45
XP
2,598
Country
Brazil
I found as Hide icon, It was easier than before:

bootapp/resources/prefabs/sys/sysuserinfolist.scn


{
"rootWorldNode": {
"id": "85308c1c-f69d-46c0-86d0-028289acde3d",
"name": "SysUserInfoList",
"transform": [
1,
0,
0,
0,
1,
0
],
"enabled": true,
"zIndex": 0,
"visible": false,
 

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Before someone else posts it...

https://twitter.com/NintendoAmerica/status/1338650446437740546



For japan, they are adding:

SNES:
  • DKC3
  • Fire Fighting (Ignition Factor)
  • Kunio-Kun no Dodge Ball Dayo Zenin Shuugo!
  • Sugoi Hebereke
NES:
  • Smash Ping Pong
...

Heads up. I'm also going to try to have a big update ready for CaVE for this release too. I've been working off and on on it for the past few months, trying to tackle the remaining features/issues. It hasen't gotten the extensive testing I'd like, but things have been tested. Just a heads up in case there are issues making this overall update a pain.

EDIT:

Seems to be no issue with the new full unlock. Both it and CaVE have been submitted for hardware testing.

As for the new SNES games...

Code:
// Tuff E Nuff
47 02 00 00 80 12 74 07 70 01 0A 00 00 00 43 61 6E 31
// SUPER VALIS Ⅳ
47 02 00 00 7E 12 74 07 70 02 0A 00 00 00 43 61 6E 31
// The Ignition Factor
74 07 70 01 47 02 00 00 D0 10 0A 00 00 00 43 61 6E 31
// Donkey Kong Country 3: Dixie Kong's Double Trouble!
47 02 00 00 77 10 76 5A 74 07 0A 00 00 00 43 61 6E 31

// Kunio-Kun no Dodge Ball Dayo Zenin Shuugo!
47 02 00 00 0E 11 70 04 76 32 74 07 0C 00 00 00 43 61 6E 31
// Donkey Kong Country 3 J-NTSC
47 02 00 00 78 10 76 5A 74 07 0A 00 00 00 43 61 6E 31
// Sugoi Hebereke
47 02 00 00 5F 12 70 04 74 07 0A 00 00 00 43 61 6E 31
// Fire Fighting
74 07 70 01 47 02 00 00 D1 10 0A 00 00 00 43 61 6E 31

Probably the most interesting thing about the footers is how odd Ignition Factor/Fire Fighting look at first glance. This is the first time that the Game Code (Preset ID) and its param is not listed first. Thecnically, it never needed to be... just always was.

IDK. Perhaps it is interesting that they keep marking multiplayer games correctly, and in particular ones that support 4 players. The param apparently effects nothing, and these emus dont even support more than 2 players. So perhaps it means that they want to support 3-5 players at a later date. Theres no reason not to for local play I think. But its probably the netplay thats holding them up.
 
Last edited by DarkAkuma,

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
CaVE v1.2.0.0, and the Full Unlock v2.1.0.0 have been released! As always they are available over at the homepage.

Additionally, this is not just a simple database update for CaVE. This is a full fledged new version, with many updates and fixes. Heres the entire change log:

Support for SNES/SFC Online v2.1.0.0 and NES/FC Online v5.1.0.0 databases.
Added support for in-app conversion of normal images to .xtx.z.
Added option to auto-scale images down to a more reasonable resolution. Enabled by default.
Added "Create SP Game Title" option. This is usable with NES/FC and SNES/SFC now too!
Overhauled the stock database setup. Now refereed to as Update History Database.
● All lclassics.titlesdb and strings.lng info from the old setup, are now in a single file.
● This single file removes the redundancy of the same data among versions and instead only lists the changes with each update.
● As a result, this new Update History Database file will take up around 25MB less disc space.
● Updates are more clearly organized using their update version.
● The "Stock Databases" menu has been removed.
● Now, when creating a new database, you can select to do so for clear specific versions.
Added support for remembering a couple basic window/control positions and sizes between sessions.
Added the ability to edit meta subtitles. (These are used with SP titles.)
Added option to allow you to suppress the update pop-up.
Fixed an issue with SFC/FC database selection not properly updating things.
Added fixes to make this more compatible with Yuzu.
Fixed some lingering issues with the move to require Title IDs in your selected databases path.
With the new database setup, I also fixed several errors found in the old stock databases.
Fixed some issues with switching languages not updating meta comments.
Cache images are now stored as png instead of bmp. All pre existing bmp cached images will be converted upon first run.
Added an appropriate Red ribbon icon thats displayed on SP titles.
Added tooltips to many menu items, to better explain their purpose for new users.
A lot of misc code changes that users shouldn't notice.

There a several big changes I could talk about, but I feel the SP Title support, and in particular its support for SNES could stand to be kicked off right.

A brief rundown on what the feature is for us SNES only people.

SP titles are "special" versions of a game already in the database. They are based on loading a save state on boot. Whats achieved by that save state has been up to whatever Nintendo felt was worth while. Historically, things like starting the game with a ton of Rupees and a few items/hearts, starting at a later boss, starting directly at the final boss with criteria met to see a special ending, starting at a challenging level/NewGame+, etc.

To get things started off for SNES, I created one for Super Mario World that I feel fits Nintendos themes. Starting with a 100% cleared map, and in the special Autumn or Halloween theme. For other games, not restricted to just stock games, I could see SP titles like... NewGame+ with characters maxed out to 999 in Chrono Trigger. Jumping right to the secret 1v1 battle mode in Megaman 7. Maybe a custom level in Megaman X using the secret level editor. Etc.

Here's my Super Mario World SP Title. And here's a quick overview of how to use it.

Extract it, right click Super Mario World in your game list and select Create SP Game Title, select the state file extracted from this zip, double click the Details Art image for the newly added item at the bottom of the list and select the details.xtx.z from the extracted zip, and save the database (Ctrl+S).

You could also copy my pre-made strings from the strings.lng to use with the meta comment/subtitle, but you would need to remove \n's and manually replace with starting next line on a new line yourself.


To make these yourself, you will need to be able to access the save states on your switch to make backup copies. I do not have directions for that, but I'm sure they exist somewhere for your CFW.

In the future I'll make a file format for SP title packages that includes the state, image(s), a meta comment and meta subtitle. A format that will allow for a 1 click import. I was going for that with the above zip file, but decided that it was to "last minute" and I didn't want to rush through designing a format that the app will need to support for its entire lifetime. Next time!

For now, keep these general rules in mind.
  • Provide a Details image. The image should be of the first area you see when the state is loaded, or something that conveys the purpose of the SP Title.
  • You don't need new box art. As like with Nintendos official SP titles, the box art of the source game is reused.
  • Provide a short Meta Subtitle, and a more descriptive Meta Comment string. You can use the CaVE edit windows for these to approximate the space you have to work with in the app dialog.
  • Aim for some quality with the timing of your state. Like during black fade ins, before music starts, at the musics loop point, the location of the character, etc. Just keep that stuff in mind and try to aim for something that might seem professional, or "official".
I hope to see a lot of people use this feature and share their custom SP titles! =)

----

As always, a huge thanks to RadMcFist for all his help testing the full unlock and this latest CaVE update! =)
 
Last edited by DarkAkuma,

marcioap1

Well-Known Member
Member
Joined
Sep 15, 2012
Messages
137
Trophies
0
XP
432
Country
Brazil
Something's wrong with CaVE v1.2 in my end. It doesn't open. Previous version (v1.1.1.0) still fine. What could I be doing wrong?
 

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Something's wrong with CaVE v1.2 in my end. It doesn't open. Previous version (v1.1.1.0) still fine. What could I be doing wrong?

I just extracted a copy and it opens fine for me. I extracted all the files from the .rar.

Without further info, I could only speculate. Perhaps you need to, and didn't, extract the settings file? There were some issues during development with compatibility with older databases and settings. Though I thought I got them all fixed.

If you are using 100% extracted new files only like me... IDK.

This ultimately may be something you have to trial and error through on your own, and report results to me so I can try and fix.
 
  • Like
Reactions: marcioap1

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Yes, I'm using all files from the zip. I don't know what it could be. I'll keep trying.

Hmm. Try manually editing the settings file to change "show_update_window" to false. Not sure why that would be a issue for you and not me, but thats a workaround to the one issue I had during development where the exe simply wouldn't open. I fixed the issue of course, but who knows...

Also... I just noticed a missing default line. Try adding

Code:
"auto_scale_images": true,

Its possible a missing but expected setting could cause a crash... but I dont see why for some, but not others.
 
Last edited by DarkAkuma,

RadMcFist

Well-Known Member
Member
Joined
Sep 16, 2019
Messages
114
Trophies
0
Age
39
XP
698
Country
United States
@marcioap1 The only thing I can think of it to try to not extract the new version over the old one but on its own separate folder.

It shouldn't be some weird compatibility problem with old databases since a freshly uncompressed new version of CaVE opens with no databases loaded for the first time. Maybe it's trying to re-open the last open database from a previous version that is somehow borked for some reason? But like I said, that shouldn't happen if the settings file was deleted/overwritten though. Try checking the settings file (open with any text editor) for the stuff DarkAkuma mentioned and see what it says under "database".
 

marcioap1

Well-Known Member
Member
Joined
Sep 15, 2012
Messages
137
Trophies
0
XP
432
Country
Brazil
@DarkAkuma I tried changing "auto_scale_images" and "show_update_window" to "true" and "false" but still no luck.

@RadMcFist There's nothing under "database". I tried adding the path to my database and the cache folder get populated but the program still won't open.

{
"settings": {
"database": "",
"language": "en",
"default_nes_box_art": "images/CLV-P-NXXXE.xtx.z",
"default_nes_details_art": "images/CLV-P-NXXXE00.xtx.z",
"default_snes_box_art": "images/S-XXXX_e.xtx.z",
"default_snes_details_art": "images/S-XXXX_e-details.xtx.z",
"default_fc_box_art": "images/CLV-P-NXXXE.xtx.z",
"default_fc_details_art": "images/CLV-P-NXXXE00.xtx.z",
"default_sfc_box_art": "images/S-XXXX_e.xtx.z",
"default_sfc_details_art": "images/S-XXXX_e-details.xtx.z",
"show_stock_games": true,
"auto_scale_images": true,
"show_update_window": false,
"show_advanced_info": false,
"show_title_screen": true,
"show_info": true,
"show_extra_info": false,
"show_advanced_options": false,
"show_fds_options": false,
"show_language_info": false,
"show_details": true,
"show_cover_art": true
}
}
 

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Going off the info provided, all can conclude from the start up code is that its having a issue with loading your database.json to list the updates in New Database menu, or that its failing at creating/loading registry settings.

Given that this crash/fail is uniquely happening to just you, I'm more inclined to believe its a registry issue. What OS are you using? I'm on Win10 Pro. Maybe try running the exe with admin privileges?
 
Last edited by DarkAkuma,
  • Like
Reactions: rafsilva1983

DarkAkuma

Well-Known Member
OP
Member
Joined
Sep 20, 2008
Messages
412
Trophies
1
XP
2,460
Country
United States
Well. All I can say to try for now is, redownload CaVE and add this param to the settings file before running it.

Code:
"debug_log": true

This will let CaVE output some information about where it fails, to a text file. You could simply post the last few lines to me so I can narrow down the fail point in code.

But I think the issue is that CaVE is unable to load the database.json because you have some weird permission issues, like needing admin privileges but not running as admin, or installing it to a folder thats protected. Or even a working directory issue.

Of course, you never responded to the "run as admin" suggestion I posted, so you can try that or simply installing to another folder instead to get past the issue if you havent yet.
 
Last edited by DarkAkuma,
  • Like
Reactions: marcioap1

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: @CameronCataclysm...