Ticket #8780: hofIntroSjisFix.patch
File hofIntroSjisFix.patch, 1.9 KB (added by , 16 years ago) |
---|
-
screen.cpp
2769 2769 return _sjisOverlayPtrs[1]; 2770 2770 else if (page == 2 || page == 3) 2771 2771 return _sjisOverlayPtrs[2]; 2772 else 2773 return 0; 2772 2773 if (_vm->gameFlags().gameID == GI_KYRA2) { 2774 if (page == 12 || page == 13) 2775 return _sjisOverlayPtrs[3]; 2776 } 2777 2778 return 0; 2774 2779 } 2775 2780 2776 2781 void Screen::clearOverlayPage(int page) { … … 2812 2817 y <<= 1; y2 <<= 1; 2813 2818 w <<= 1; h <<= 1; 2814 2819 2815 dst += y2 * 640 + x2; 2816 src += y * 640 + x; 2820 if (w == 640 && h == 400) { 2821 memcpy(dst, src, SCREEN_OVL_SJIS_SIZE); 2822 } else { 2823 dst += y2 * 640 + x2; 2824 src += y * 640 + x; 2817 2825 2818 while (h--) { 2819 for (x = 0; x < w; ++x) 2820 memcpy(dst, src, w); 2821 dst += 640; 2822 src += 640; 2826 while (h--) { 2827 for (x = 0; x < w; ++x) 2828 memcpy(dst, src, w); 2829 dst += 640; 2830 src += 640; 2831 } 2823 2832 } 2824 2833 } 2825 2834 … … 3086 3095 3087 3096 } // End of namespace Kyra 3088 3097 3098 -
screen.h
69 69 SCREEN_PAGE_SIZE = 320 * 200 + 1024, 70 70 SCREEN_OVL_SJIS_SIZE = 640 * 400, 71 71 SCREEN_PAGE_NUM = 16, 72 SCREEN_OVLS_NUM = 372 SCREEN_OVLS_NUM = 4 73 73 }; 74 74 75 75 enum CopyRegionFlags { … … 327 327 328 328 #endif 329 329 330 -
sequences_v2.cpp
1550 1550 void KyraEngine_v2::seq_processText() { 1551 1551 Screen::FontId curFont = _screen->setFont(Screen::FID_GOLDFONT_FNT); 1552 1552 int curPage = _screen->setCurPage(2); 1553 char outputStr[ 60];1553 char outputStr[70]; 1554 1554 1555 1555 for (int i = 0; i < 10; i++) { 1556 1556 if (_activeText[i].startTime + _activeText[i].duration > _system->getMillis() && _activeText[i].duration != -1) {