suloku / gcmm

A gamecube/wii memory card manager
GNU General Public License v3.0
254 stars 24 forks source link

Add Support for Folders and List Files in Alphabetical Order #30

Closed Zephiles closed 7 years ago

Zephiles commented 7 years ago

This is a feature that someone by the name of dragonbane0 added to version 1.4c. Ive been trying to build version 1.4e with this feature, but I can't even get GCMM to compile in the first place. Therefore, can this feature be added to the main app?

The source for this edit can be found here: https://www.dropbox.com/s/xkc6dm9n2guuakx/source.zip?dl=0

As far as I can tell, the only changes that were made were to the main.c and mcard.c files.

suloku commented 7 years ago

@Zephiles I've just noticed this. There were also a couple changes in mcard.c. He did change the delete button confirmation to B, but I prefer the more convoluted 2/Z button because you can't mistakenly press those and erase a save.

May you test this build? I don't see why it should have any problem, but if everything works I'll just put it as a release https://github.com/suloku/gcmm/releases/tag/1.4f

Zephiles commented 7 years ago

None of the folders seem to be showing up for me, although they do with the original 1.4c mod.

Zephiles commented 7 years ago

Alright so it turns out that the source I provided beforehand was missing a few files. I apologize for not pointing this out sooner. I talked with dragonbane0 and he managed to find the full source. A build was done with it and it seems to work perfectly fine, so I'll provide it. https://www.dropbox.com/s/ldpzk3al6ja1b2w/gcmm.zip?dl=0

dragonbane0 commented 7 years ago

Yeah I confirmed this works. The old source I had send to him was backuped from an old HDD and apparently some files were not copied due permission issues or something similar. This is now the original code which works. Additional changes were made to sdsupp especially SDGetFileList. Sorry this code is quite old, but I managed to comment most changes at least. This is based on 1.4c I believe and you changed which button deletes files in 1.4d so thats actually not my change, its just outdated

Thank god I use github nowadays lol

Zephiles commented 7 years ago

I managed to get a working build of 1.4f with the proper files from 1.4c. I tested it on my Wii and it seems to work fine. https://www.dropbox.com/s/9da92i9wkkdjgcr/gcmm-1.4f.zip?dl=0

Edit: I just found a bug. When trying to do a raw restore, it goes to the root of the device rather than the MCBACKUP folder, and you cant open any other folders from that.

suloku commented 7 years ago

Thanks Zephiles, I just uploaded my own merge (also the code is updated on github) if you could test it it would be great since I don't have my gc or wii set up right now (but I guess it will be the very same as yours).

I did notice missing source files yesterday, but since it compiled fine I didn't really give it much thought since you had been using that moded 1.4c I assumed it worked fine and the code shouldn't really conflict at any point for the changes made in 1.4d and 1.4e.

Thanks you both yet again, if the build that is uploaded in the releases page works fine I'll change the status from pre-release to release.

Zephiles commented 7 years ago

Alright your build works fine, but still has a couple issues with the raw restore. Yours goes into the MCBACKUP folder, but it can't open folders from it, and it says "Couldn't open fat :/MCBACKUP/..." when the curser is over a folder. I'm guessing that dragonbane0 just overlooked this when making the original mod.

suloku commented 7 years ago

Does your build work fine with raw restore? Gonna look into it. Maybe I should setup dolphin and test there

Zephiles commented 7 years ago

No, my build doesn't work with raw restore. Mine doesn't even open the MCBACKUP folder with it.

suloku commented 7 years ago

I've located the problem, gonna do some changes and upload a new file

Zephiles commented 7 years ago

I need to leave for a couple hours, but I can do more testing when I get back.

suloku commented 7 years ago

I've added the code for Raw restore, I basically copied over most of the code by dragonbane0 for the standard mode, I hope everything works as expected now.

https://www.dropbox.com/s/l99g7p4gsecdlrp/gcmm_1.4f-beta2.zip?dl=0

Zephiles commented 7 years ago

Alright I tested it. It can open the folders now, but the "Couldn't open fat :/MCBACKUP/..." text still appears every time the curser goes over a folder, which locks the inputs until the user presses A to continue.

suloku commented 7 years ago

Seems I forgot to update showCardInfo() in freetype.c to skip folders. I don't have my pc right now, I'll update the code and compile tomorrow.

EDIT: I did the changes on github editor, but can't compile until tomorrow, maybe you can build and test the latest revision here at github?

Also, I left it so the real card header information when in raw restore mode is shown even when a folder is select, should I skip it entirely or leave this way?

Zephiles commented 7 years ago

Alright I built it and it seems to work flawlessly. I can upload the build to dropbox if you want.

As for the real card header information, I don't think it really matters all that much. If you do decide to keep it, it might look better to move it up to where the file info would be.

Also on a random note, I noticed that you used "alphatebital" in some places instead of "alphabetical"

suloku commented 7 years ago

I set up dolphin and tested a little the layout and added path display. I also reworked a little the "icon" for folders and I also decided to remove the card information display in raw restore mode when a folder is selected to spare memory card reads. http://puu.sh/vbgyt/529ee2f733.png http://puu.sh/vbhmA/3334065d69.png

I think everything is ok now, it's been fun to re-take this for a while even if it was just adding other's work into it.

EDIT: also, I previously mentioned dragonbane0 changing the delete confirmation button, but that was actually how 1.4c did it, I changed that in 1.4d (shame on me).

Zephiles commented 7 years ago

Alright everything works fine, except that I found another small bug with raw restore.

When the folder names are long and go off of the blue part of the GUI, the text that goes off of it does not get erased. This does not happen with the standard mode. Also, going back to the main menu deletes the text.

https://imgur.com/a/U1HaE

suloku commented 7 years ago

Thanks for testing, I've put the same workaround the standard mode uses (basically clean the screen). Instead of advancing the version numbering I've just reuploaded the compiled file since it was only a minor graphical issue and I did upload 1.4f today. I haven't spread word of the new version anywhere, so hopefully not many people got to download it.

Zephiles commented 7 years ago

Alright, everything seems good now.