Skip to content

Commit

Permalink
Ready for 1.4d release:
Browse files Browse the repository at this point in the history
* Fixed bug in card.c that prevented writing to the last block of the memory card, preventing restoring a savegame that would fill the memory card (thanks to undergroundmonorail)
* Fixed bug in card.c that prevented correct block freeing when deleting a file and only was fixed by using the memory card on official software (the wii/gamecube save manager or probably also games)
* Added libogc fix for a bug in card.c (the bug didn't affect GCMM, it was fixed in 1.4b, but I didn't change card.c)
* Changed button presses for single savegame delete to prevent unvoluntary savegame deleting
  • Loading branch information
suloku committed Aug 10, 2015
1 parent 2493ec6 commit aedfb36
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 8 deletions.
4 changes: 2 additions & 2 deletions hbc/meta.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<app version="1">
<name>GCMM</name>
<coder>Suloku</coder>
<version>1.4c</version>
<release_date>20140105000000</release_date>
<version>1.4d</version>
<release_date>20150808000000</release_date>
<short_description>Memory Card Manager</short_description>
<long_description>A memory card manager for Wii/GC.

Expand Down
8 changes: 7 additions & 1 deletion readme.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ח����������� ������������������������������ �����������������������-����-���
|0O��o� GCMM 1.4c by suloku �o��O0|
|0O��o� GCMM 1.4d by suloku �o��O0|
| http://code.google.com/p/gcmm |
| (Under GPL License) |
`������� ���������������� ��������������� �������������������� �������������'
Expand Down Expand Up @@ -30,6 +30,12 @@ I (suloku) have updated the code to newest libraries to port it to the Wii syste
|0O��o� UPDATE HISTORY �o��O0|
`������� ���������������� ��������������� �������������������� �������������'

[What's New 1.4d - august 08, 2015 - By suloku]
* Fixed bug in card.c that prevented writing to the last block of the memory card, preventing restoring a savegame that would fill the memory card (thanks to undergroundmonorail)
* Fixed bug in card.c that prevented correct block freeing when deleting a file and only was fixed by using the memory card on official software (the wii/gamecube save manager or probably also games)
* Added libogc fix for a bug in card.c (the bug didn't affect GCMM, it was fixed in 1.4b, but I didn't change card.c)
* Changed button presses for single savegame delete to prevent unvoluntary savegame deleting

[What's New 1.4c - january 05, 2014 - By suloku]
* Disabled __sector_erase() check when raw restoring as some unofficial cards seem to have problems with it.

Expand Down
6 changes: 4 additions & 2 deletions source/card.c
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@ static s32 __card_getfilenum(card_block *card,const char *filename,const char *g
entries = dirblock->entries;
for(i=0;i<CARD_MAXFILES;i++) {
if(entries[i].gamecode[0]!=0xff) {
if(strnicmp((const char*)entries[i].filename,filename,strlen(filename))==0) {
if(strcasecmp(filename,(const char*)entries[i].filename)==0) {
if((gamecode && gamecode[0]!=0xff && memcmp(entries[i].gamecode,gamecode,4)!=0)
|| (company && company[0]!=0xff && memcmp(entries[i].company,company,2)!=0)) continue;

Expand Down Expand Up @@ -729,7 +729,7 @@ static s32 __card_allocblock(s32 chn,u32 blocksneed,cardcallback callback)
wrong.
*/
count++;
if(count>=((card->blocks)-CARD_SYSAREA)) return CARD_ERROR_BROKEN;
if(count>((card->blocks)-CARD_SYSAREA)) return CARD_ERROR_BROKEN;

currblock++;
if(currblock<CARD_SYSAREA || currblock>=card->blocks) currblock = CARD_SYSAREA;
Expand Down Expand Up @@ -762,6 +762,8 @@ static s32 __card_freeblock(s32 chn,u16 block,cardcallback callback)

fatblock = __card_getbatblock(card);
next = fatblock->fat[block-CARD_SYSAREA];
fatblock->fat[block-CARD_SYSAREA] = 0;
fatblock->freeblocks++;
while(1) {
if(next==0xffff) break;
if(next<CARD_SYSAREA || next>=card->blocks) return CARD_ERROR_BROKEN;
Expand Down
2 changes: 1 addition & 1 deletion source/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
//Comment FLASHIDCHECK to allow writing any image to any mc. This will corrupt official cards.
#define FLASHIDCHECK

const char appversion[] = "v1.4c";
const char appversion[] = "v1.4d";
int mode;
int cancel;
int doall;
Expand Down
4 changes: 2 additions & 2 deletions source/mcard.c
Original file line number Diff line number Diff line change
Expand Up @@ -837,8 +837,8 @@ void MC_DeleteMode(int slot)
return;
}

//0 = B wass pressed -> delete the file
erase = WaitPromptChoice("Are you sure you want to delete the file?", "Delete", "Cancel");
//0 = Z or 2 was pressed -> delete the file
erase = WaitPromptChoiceAZ("Are you sure you want to delete the file?", "Delete", "Cancel");
if (!erase)
{
// selected = 1;
Expand Down

0 comments on commit aedfb36

Please sign in to comment.