Hacking Estimate Bug in WBFS (?Win?)

PrixM

Well-Known Member
OP
Member
Joined
Apr 14, 2009
Messages
176
Trophies
0
XP
279
Country
Germany
Hi
i cant find any WBFS version for windows without the estimate bug.
Nights: Journey... Pal Estimate 0.01G real size 4.01G
Fifa08 Estimate 0.00G real size 4.00G
.....
It would be easy if there arent some games with 0.19 and som with 4.19 out
unsure.gif


Does someone know a version without this bug.
I´m no c programmer so i cant find/fix the bug in source.
 

palasx

Well-Known Member
Newcomer
Joined
Oct 17, 2007
Messages
98
Trophies
1
XP
227
Country
United States
confirmed in WBFS Manager 2.2.1 as well. its likely in libwbfs then, what versions are you seeing this bug in?
 

steve-p

Well-Known Member
Member
Joined
Apr 13, 2009
Messages
503
Trophies
0
XP
143
Country
i'd like to test this,
is it only games over 4gig?
and does it do this when you list the contents of a wbfs partition?
 

PrixM

Well-Known Member
OP
Member
Joined
Apr 14, 2009
Messages
176
Trophies
0
XP
279
Country
Germany
It´s only the estimating games over 4GIG Gamepartition
if you copy it to usb everything is ok and on usb the size shown is ok.

I tested every version i found out there.
All have the same bug.
wbfs_win + wbfs_win_delta
hermes version
Sorgs version
WiiNinja version
...
 

wiiNinja

Well-Known Member
Member
Joined
Jan 13, 2009
Messages
645
Trophies
1
XP
1,762
Country
United States
I see the problem. It's in the routine:

u32 wbfs_estimate_disc

The return value is a 32 bit value, which has a max value of 4GB. This is a minor bug but I can't test it right now 'cause I'm at work (no WBFS drive). Will make a change tonight.
 

AlexDP

Well-Known Member
Member
Joined
Jun 17, 2007
Messages
133
Trophies
0
XP
53
Country
Italy
wiiNinja said:
I see the problem. It's in the routine:

u32 wbfs_estimate_disc

The return value is a 32 bit value, which has a max value of 4GB. This is a minor bug but I can't test it right now 'cause I'm at work (no WBFS drive). Will make a change tonight.
This most likely is the bug indeed. I'll look into getting that fixed for WBFS Manager 3.0. Nice job.
Actually, looking at it again, that can't be the problem, Super Smash Bros. Brawl correctly reports as 6.95 GB (at least in WBFS Manager 2.2.2).
 

PrixM

Well-Known Member
OP
Member
Joined
Apr 14, 2009
Messages
176
Trophies
0
XP
279
Country
Germany
Godd for you AlexDP
But the problem with your gui ist .net 3.5
smile.gif


With the normal wbfs tools you get 2.75Gig for Super smash Bros. Brawl
 

AlexDP

Well-Known Member
Member
Joined
Jun 17, 2007
Messages
133
Trophies
0
XP
53
Country
Italy
PrixM said:
Godd for you AlexDP
But the problem with your gui ist .net 3.5
smile.gif


With the normal wbfs tools you get 2.75Gig for Super smash Bros. Brawl
Is that so? well, I can compare the libwbfs code I'm using with the latest version and see how it is that I fixed it. I'll post it back here.
Btw, is there something wrong with .NET 3.5 SP1 that I'm not aware of? I don't get what all the reluctance towards .NET is about, it's just like installing the VC++ redist, or like installing the MFC redist, or installing the Java Runtime Environment....
 

PrixM

Well-Known Member
OP
Member
Joined
Apr 14, 2009
Messages
176
Trophies
0
XP
279
Country
Germany
No problem with .net
I also like your GUI

But not everyone has .net 3.5 on his pc
I´m fan of programms that run on a standard windows an don´t need 200MB download
wink.gif


And i misunderstood you.
If you want to post a solution why yours work and all others dont work
Great job
 

PrixM

Well-Known Member
OP
Member
Joined
Apr 14, 2009
Messages
176
Trophies
0
XP
279
Country
Germany
Ok it seems that i fixed the problem doing a dirty trick
Think you can do it better if you are a C coder
So please post if you find a way to do it

Canged following lines

In Libwbfs.c / u32 wbfs_estimate_disc:
u32 tot; to u64 tot;
return tot * (p->wbfs_sec_sz / p->hd_sec_sz)*512); to return tot * ((p->wbfs_sec_sz / p->hd_sec_sz)*512)/10;

in wbfs.c / void wbfs_applet_estimate.....
u32 estimation = wbfs_estimate_disc.... to u64 estimation = wbfs_estimate_disc....
fprintf(stderr, "%.2fG\n", estimation / (GB)); to fprintf(stderr, "%.2fG\n", estimation *10 / (GB));

now i got the right size for all games
rolleyes.gif
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Maximumbeans @ Maximumbeans: butte