mirror of
https://github.com/dborth/vbagx.git
synced 2024-11-01 08:25:12 +01:00
fix bug w/ reading files < 2048 bytes
This commit is contained in:
parent
59b7c2f6d3
commit
874525235d
@ -442,13 +442,12 @@ LoadFile (char * rbuffer, char *filepath, u32 length, int method, bool silent)
|
||||
fstat(file->_file, &fileinfo);
|
||||
size = fileinfo.st_size;
|
||||
|
||||
memcpy (rbuffer, zipbuffer, 2048); // copy what we already read
|
||||
memcpy (rbuffer, zipbuffer, readsize); // copy what we already read
|
||||
|
||||
ShowProgress ("Loading...", 2048, length);
|
||||
|
||||
u32 offset = 2048;
|
||||
u32 offset = readsize;
|
||||
while(offset < size)
|
||||
{
|
||||
ShowProgress ("Loading...", offset, size);
|
||||
readsize = fread (rbuffer + offset, 1, (1024*512), file); // read in 512K chunks
|
||||
|
||||
if(readsize <= 0 || readsize > (1024*512))
|
||||
@ -456,7 +455,6 @@ LoadFile (char * rbuffer, char *filepath, u32 length, int method, bool silent)
|
||||
|
||||
if(readsize > 0)
|
||||
offset += readsize;
|
||||
ShowProgress ("Loading...", offset, length);
|
||||
}
|
||||
|
||||
if(offset != size) // # bytes read doesn't match # expected
|
||||
|
@ -810,6 +810,8 @@ ShowProgress (const char *msg, int done, int total)
|
||||
return;
|
||||
else if(done > total) // this shouldn't happen
|
||||
done = total;
|
||||
else if(total < (256*1024)) // don't bother showing progress for small files
|
||||
return;
|
||||
|
||||
int xpos, ypos;
|
||||
int i;
|
||||
|
@ -277,9 +277,8 @@ void InitialiseVideo ()
|
||||
|
||||
switch (vmode->viTVMode >> 2)
|
||||
{
|
||||
case VI_PAL: // 576 lines (PAL 50Hz)
|
||||
// force PAL60
|
||||
//vmode = &TVEurgb60Hz480IntDf;
|
||||
case VI_PAL:
|
||||
// 576 lines (PAL 50hz)
|
||||
break;
|
||||
|
||||
case VI_NTSC:
|
||||
|
Loading…
Reference in New Issue
Block a user