v1.19.3: Last-minute video tweaks (fixed EGA graphics modes and eliminated unnecessary forced updates)
This commit is contained in:
parent
1a67c7acbd
commit
62292571da
3 changed files with 32 additions and 37 deletions
|
|
@ -908,10 +908,10 @@ function Fj(a){if(0<=a.ea){if(void 0!==a.U){var b=a.U[a.ea];if(b&131072){var b=b
|
|||
function Hj(a){var b,c=a.I;a.Kc=!1;var d=c.wd[5];if(null!=d){b=1024;var e=0,k=c.wd[3]&31;switch(d&3){case 0:if(k){e=32;switch(k&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.vc=k&7}break;case 1:e=1;break;case 2:switch(k&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.ib==pi&&(e=3,c.vc=k&7)}d&8&&(b=1280);c=c.oe[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Kc=!0));b|=e}return b}
|
||||
function Ij(a,b){var c=a.I;c&&null!=b&&b!=c.Pg&&(c.ug(b),a.la.ug(c.eb,c.Eb,c.Mg()))}
|
||||
function yj(a,b){var c,d=a.Fa,e=a.I;if(e)if(e.ib==Pi)d=Ri;else if(5<=e.ib){var d=null,k=e.Nc>>2,n=32768<k?32768:k,p=e.wd[6];if(null!=p){switch(p&12){case 0:e.eb=655360;e.Eb=k;d=255;break;case 4:e.eb=655360;e.Eb=k;d=3==a.pa?15:16;break;case 8:e.eb=720896;e.Eb=n;d=Ri;break;case 12:e.eb=753664,e.Eb=n,d=3==a.pa?2:3}var q=80==(e.wd[5]&80);!q||e.eb==a.eb&&e.Eb==a.Eb||(b=!0);c=e.oe[1]&8;k=e.fb[6];k|=e.fb[7]&1?256:0;e.ib==pi&&(k|=e.fb[7]&32?512:0);n=e.fb[9];255!=d&&(p&1?655360==e.eb||q?e.wd[5]&64?d=n&31?
|
||||
143>=e.fb[18]?19:20:21:n&128?d=c?13:14:500<k&&(d=3==a.pa?17:18):d=c?7-d:6:d-=c?2:0);c=Hj(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||--d):(d=e.zc&1?3:1,e.zc&4&&--d));else a.Fa=null,null==d&&(d=a.na);if(!xj(a,d,b))return!1;Ij(a,c);return!0}
|
||||
function xj(a,b,c){if(null!=b&&(b!=a.Fa||c)){a.xd=0;a.Fa=b;a.Ea=!1;b=a.I||(b==Ri?a.ia:a.R);if(b!=a.I||b.eb!=a.eb||b.Eb!=a.Eb){Fj(a);if(a.eb){if(!Bb(a.la,a.eb,a.Eb))return!1;a.I&&(a.I.Sb=!1)}a.I=b;b.Sb=!0;a.eb=b.eb;a.Eb=b.Eb;if(!vb(a.la,b.eb,b.Eb,3,b===a.B?b:null))return!1}a.L=0;a.F=a.Cb;a.O=a.fc;a.Pa=a.F;a.Bb=Qi[Ri][2];b=0;var d=Qi[a.Fa];d&&(a.F=d[0],a.O=d[1],a.Bb=d[2],b=d[3],a.L=d[4],4!=a.pa&&7!=a.pa||a.I!==a.B||3!=a.L||(7==a.B.fb[9]?a.O=43:a.L=a.ib));a.Uc=a.F*a.O|0;a.Tc=a.Uc/a.Bb|0;a.Va=a.Tc;a.Pb=
|
||||
0;void 0!==b&&(a.Va=(a.Va<<1)+b|0,a.Pb=a.Va+b>>1);a.ya.length&&(a.ta=a.ka/a.F|0,a.va=a.sa/a.O|0,a.L?(b=a.ya[a.L],d=a.ya[a.L<<1],a.Bd&&80==a.F?d&&a.ta>=3*d.mc>>2&&(a.L<<=1,b=d):(d&&a.ta>=d.mc&&(a.L<<=1,b=d),b&&(a.ta=b.mc,a.va=b.nc)),a.Xa=a.Ya=0,b&&(a.Xa=a.F*b.mc,a.Ya=a.O*b.nc)):(a.ta=a.va=1,a.Xa=a.F,a.Ya=a.O),a.Ta=a.Z.createImageData(a.Xa,a.Ya),a.Ia=window.document.createElement("canvas"),a.Ia.width=a.Xa,a.Ia.height=a.Ya,a.Ja=a.Ia.getContext("2d"),a.hc=a.pc=0,a.Rb=a.ka,a.Yb=a.sa,b=a.ka-a.F*a.ta,d=
|
||||
a.sa-a.O*a.va,0<b&&(a.hc=b>>1,a.Rb-=b),0<d&&(a.pc=d>>1,a.Yb-=d),b||d)&&(a.Z.fillStyle=a.ga.style.backgroundColor,a.Z.fillRect(0,0,a.ka,a.sa));!1!==c?nc(a,!0):(a.Ea=!1,Jj(a,!0))}return!0}function Dj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Jj(a,b){a.Ba=-1;a.xa=!1;if(b){var c=a.Tc;if(void 0===a.U||a.U.length!=c)a.U=Array(c)}}
|
||||
143>=e.fb[18]?19:20:21:n&128||350>k?d=c?13:14:480<=k&&(d=3==a.pa?17:18):d=c?7-d:6:d-=c?2:0);c=Hj(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||--d):(d=e.zc&1?3:1,e.zc&4&&--d));else a.Fa=null,null==d&&(d=a.na);if(!xj(a,d,b))return!1;Ij(a,c);return!0}
|
||||
function xj(a,b,c){if(null!=b&&(b!=a.Fa||c)){a.xd=0;a.Fa=b;a.Ea=!1;b=a.I||(b==Ri?a.ia:a.R);if(b!=a.I||b.eb!=a.eb||b.Eb!=a.Eb){Fj(a);if(a.eb){if(!Bb(a.la,a.eb,a.Eb))return!1;a.I&&(a.I.Sb=!1)}a.I=b;b.Sb=!0;a.eb=b.eb;a.Eb=b.Eb;if(!vb(a.la,b.eb,b.Eb,3,b===a.B?b:null))return!1}a.L=0;a.F=a.Cb;a.O=a.fc;a.Pa=a.F;a.Bb=Qi[Ri][2];b=0;if(c=Qi[a.Fa])a.F=c[0],a.O=c[1],a.Bb=c[2],b=c[3],a.L=c[4],4!=a.pa&&7!=a.pa||a.I!==a.B||3!=a.L||(7==a.B.fb[9]?a.O=43:a.L=a.ib);a.Uc=a.F*a.O|0;a.Tc=a.Uc/a.Bb|0;a.Va=a.Tc;a.Pb=0;void 0!==
|
||||
b&&(a.Va=(a.Va<<1)+b|0,a.Pb=a.Va+b>>1);a.ya.length&&(a.ta=a.ka/a.F|0,a.va=a.sa/a.O|0,a.L?(b=a.ya[a.L],c=a.ya[a.L<<1],a.Bd&&80==a.F?c&&a.ta>=3*c.mc>>2&&(a.L<<=1,b=c):(c&&a.ta>=c.mc&&(a.L<<=1,b=c),b&&(a.ta=b.mc,a.va=b.nc)),a.Xa=a.Ya=0,b&&(a.Xa=a.F*b.mc,a.Ya=a.O*b.nc)):(a.ta=a.va=1,a.Xa=a.F,a.Ya=a.O),a.Ta=a.Z.createImageData(a.Xa,a.Ya),a.Ia=window.document.createElement("canvas"),a.Ia.width=a.Xa,a.Ia.height=a.Ya,a.Ja=a.Ia.getContext("2d"),a.hc=a.pc=0,a.Rb=a.ka,a.Yb=a.sa,b=a.ka-a.F*a.ta,c=a.sa-a.O*a.va,
|
||||
0<b&&(a.hc=b>>1,a.Rb-=b),0<c&&(a.pc=c>>1,a.Yb-=c),b||c)&&(a.Z.fillStyle=a.ga.style.backgroundColor,a.Z.fillRect(0,0,a.ka,a.sa));a.Ea=!1;Jj(a,!0);nc(a)}return!0}function Dj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Jj(a,b){a.Ba=-1;a.xa=!1;if(b){var c=a.Tc;if(void 0===a.U||a.U.length!=c)a.U=Array(c)}}
|
||||
function Gj(a,b,c,d,e){var k=d&255,n=d>>8;d=n&15;var p=a.ya[a.L];p.Be&&(d=p.Be[d]);var q=n>>4&15;p.Be&&(q=p.Be[q]);e?(b*=p.mc,c*=p.nc,e.fillStyle=p.Pd[q],e.fillRect(b,c,p.mc,p.nc)):(b=b*a.ta+a.hc,c=c*a.va+a.pc,a.Z.fillStyle=p.Pd[q],a.Z.fillRect(b,c,a.ta,a.va));n&256&&(q=(k&15)*p.mc,k=(k>>4)*p.nc,e?e.drawImage(p.Bg[d],q,k,p.mc,p.nc,b,c,p.mc,p.nc):a.Z.drawImage(p.Bg[d],q,k,p.mc,p.nc,b,c,a.ta,a.va));n&512&&(k=a.jd,n=a.Jc,e?(a.Da&&a.Da!==p.nc&&(k=k*p.nc/a.Da|0,n=n*p.nc/a.Da|0),e.fillStyle=p.Pd[d],e.fillRect(b,
|
||||
c+k,p.mc,n)):(a.Da&&a.Da!==a.va&&(k=k*a.va/a.Da|0,n=n*a.va/a.Da|0),a.Z.fillStyle=p.Pd[d],a.Z.fillRect(b,c+k,a.ta,n)))}
|
||||
function nc(a,b){if(a.ha.Zb){var c=!1,d=a.I;d&&(d!==a.B?d.zc&8&&(c=!0):d.Jd&32&&(c=!0));if(c||b){if(b)Jj(a,!0);else if(void 0===a.U)return;var e=!1;!(b||++a.xd&15)&&0<=a.Ha&&(a.Ha++,e=!0);var k=0,n=a.Uc,p=a.eb,c=p,q=c+a.Eb;19<=a.Fa&&(p=c=655360,q=c+65536);if(Kj(a,d)&8||d.ke&&d.ke<d.$h)d.Ue=(d.fb[12]<<8)+d.fb[13]|0,d.ke=0;var w=d.Ue;a.L&&(w<<=1);c+=w;w=a.Va;5<=a.ib&&d.fb[19]&&d.fb[19]<<1!=d.fb[1]+1&&(a.Pa=d.fb[19]<<(a.L?1:d.fb[20]&64?3:4),w=(a.Pa*(a.O-1)+a.F)/a.Bb|0);c+w>q&&(w=q-c,0>w&&(w=0));q=c+
|
||||
|
|
|
|||
Loading…
Reference in a new issue