@@ -178,7 +178,7 @@ void renderFrames(void) {
178178
179179 if (videoPlaying && currentFrame <= loadedFrames) {
180180 if (loadFrame) {
181- if (currentFrame < ( int ) rvidFrames) {
181+ if (currentFrame < rvidFrames) {
182182 if (rvidInRam) {
183183 if (rvidInterlaced) {
184184 if (bottomField) {
@@ -412,19 +412,21 @@ int playRvid(const char* filename) {
412412 if (useBufferHalf) {
413413 for (int i = 14 ; i < 28 ; i++) {
414414 snd ().updateStream ();
415- if (rvidCompressed) {
416- if ((loadedFrames % 128 ) == 0 ) {
417- fread (compressedFrameSizes, sizeof (u32 ), 128 , rvidFrameSizeTable);
418- }
419- if (compressedFrameSizes[loadedFrames % 128 ] > 0
420- || compressedFrameSizes[loadedFrames % 128 ] <= sizeof (compressedFrameBuffer)) {
421- fread (compressedFrameBuffer, 1 , compressedFrameSizes[loadedFrames % 128 ], rvid);
422- lzssDecompress (compressedFrameBuffer, frameBuffer+(i*(0x200 *rvidVRes)));
415+ if (loadedFrames < rvidFrames) {
416+ if (rvidCompressed) {
417+ if ((loadedFrames % 128 ) == 0 ) {
418+ fread (compressedFrameSizes, sizeof (u32 ), 128 , rvidFrameSizeTable);
419+ }
420+ if (compressedFrameSizes[loadedFrames % 128 ] > 0
421+ || compressedFrameSizes[loadedFrames % 128 ] <= sizeof (compressedFrameBuffer)) {
422+ fread (compressedFrameBuffer, 1 , compressedFrameSizes[loadedFrames % 128 ], rvid);
423+ lzssDecompress (compressedFrameBuffer, frameBuffer+(i*(0x200 *rvidVRes)));
424+ }
425+ } else {
426+ fread (frameBuffer+(i*(0x200 *rvidVRes)), 1 , 0x200 *rvidVRes, rvid);
423427 }
424- } else {
425- fread (frameBuffer+(i*(0x200 *rvidVRes)), 1 , 0x200 *rvidVRes, rvid);
428+ loadedFrames++;
426429 }
427- loadedFrames++;
428430
429431 scanKeys ();
430432 touchRead (&touch);
@@ -456,19 +458,21 @@ int playRvid(const char* filename) {
456458 if (!useBufferHalf) {
457459 for (int i = 0 ; i < 14 ; i++) {
458460 snd ().updateStream ();
459- if (rvidCompressed) {
460- if ((loadedFrames % 128 ) == 0 ) {
461- fread (compressedFrameSizes, sizeof (u32 ), 128 , rvidFrameSizeTable);
462- }
463- if (compressedFrameSizes[loadedFrames % 128 ] > 0
464- || compressedFrameSizes[loadedFrames % 128 ] <= sizeof (compressedFrameBuffer)) {
465- fread (compressedFrameBuffer, 1 , compressedFrameSizes[loadedFrames % 128 ], rvid);
466- lzssDecompress (compressedFrameBuffer, frameBuffer+(i*(0x200 *rvidVRes)));
461+ if (loadedFrames < rvidFrames) {
462+ if (rvidCompressed) {
463+ if ((loadedFrames % 128 ) == 0 ) {
464+ fread (compressedFrameSizes, sizeof (u32 ), 128 , rvidFrameSizeTable);
465+ }
466+ if (compressedFrameSizes[loadedFrames % 128 ] > 0
467+ || compressedFrameSizes[loadedFrames % 128 ] <= sizeof (compressedFrameBuffer)) {
468+ fread (compressedFrameBuffer, 1 , compressedFrameSizes[loadedFrames % 128 ], rvid);
469+ lzssDecompress (compressedFrameBuffer, frameBuffer+(i*(0x200 *rvidVRes)));
470+ }
471+ } else {
472+ fread (frameBuffer+(i*(0x200 *rvidVRes)), 1 , 0x200 *rvidVRes, rvid);
467473 }
468- } else {
469- fread (frameBuffer+(i*(0x200 *rvidVRes)), 1 , 0x200 *rvidVRes, rvid);
474+ loadedFrames++;
470475 }
471- loadedFrames++;
472476
473477 scanKeys ();
474478 touchRead (&touch);
0 commit comments