From 8edf7ac06469707cc221b2cdaa8bea0ed4e2f898 Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Thu, 20 Oct 2011 16:25:13 +0000 Subject: [PATCH] Minor fixes to the OP, small enhancements to icons. --- Makefile | 4 ++-- docs/INSTALL | 2 +- docs/README | 10 +++++----- docs/WHATSNEW | 16 ++++++++++++++++ res/pause-off.png | Bin 0 -> 1347 bytes res/pause-on.png | Bin 0 -> 1342 bytes res/pause.png | Bin 1348 -> 0 bytes res/power-off.png | Bin 0 -> 3864 bytes res/power-on-green.png | Bin 0 -> 3874 bytes res/{power.png => power-on-red.png} | Bin src/gui/about.cpp | 2 +- src/gui/mainwin.cpp | 17 +++++++++++++++-- src/gui/mainwin.h | 3 +++ src/gui/virtualjaguar.qrc | 7 +++++-- src/op.cpp | 25 ++++++++++++++++++++++--- virtualjaguar.pro | 6 ++++-- 16 files changed, 74 insertions(+), 18 deletions(-) create mode 100644 res/pause-off.png create mode 100644 res/pause-on.png delete mode 100644 res/pause.png create mode 100644 res/power-off.png create mode 100644 res/power-on-green.png rename res/{power.png => power-on-red.png} (100%) diff --git a/Makefile b/Makefile index 0fcad72..d1cb758 100644 --- a/Makefile +++ b/Makefile @@ -23,10 +23,10 @@ all: prepare virtualjaguar prepare: @echo -e "\033[01;33m***\033[00;32m Preparing to compile Virtual Jaguar...\033[00m" -# @echo "#define VJ_RELEASE_VERSION \"v2.0.1\"" > src/version.h +# @echo "#define VJ_RELEASE_VERSION \"v2.0.2\"" > src/version.h # @echo "#define VJ_RELEASE_SUBVERSION \"Final\"" >> src/version.h @echo "#define VJ_RELEASE_VERSION \"SVN `svn info | grep -i revision`\"" > src/version.h - @echo "#define VJ_RELEASE_SUBVERSION \"2.0.1 Prerelease\"" >> src/version.h + @echo "#define VJ_RELEASE_SUBVERSION \"2.0.2 Prerelease\"" >> src/version.h virtualjaguar: sources libs makefile-qt @echo -e "\033[01;33m***\033[00;32m Making Virtual Jaguar GUI...\033[00m" diff --git a/docs/INSTALL b/docs/INSTALL index 36ea778..a5a7b57 100644 --- a/docs/INSTALL +++ b/docs/INSTALL @@ -1,5 +1,5 @@ ---------------------------------------- -Virtual Jaguar v2.0.0 Qt release INSTALL +Virtual Jaguar v2.0.2 Qt release INSTALL ---------------------------------------- diff --git a/docs/README b/docs/README index 1f2f3b3..5e5d3b1 100644 --- a/docs/README +++ b/docs/README @@ -1,5 +1,5 @@ ------------------------------------------- -Virtual Jaguar v2.0.0 GCC/Qt release README +Virtual Jaguar v2.0.2 GCC/Qt release README ------------------------------------------- -------------- @@ -15,10 +15,10 @@ software requirements. The use of this software is entirely at your own risk. While it won't rape your dog, it might do other nasty things. We can't be held responsible for -damage done to you hardware and/or software. You have been warned! You may only -use the ROM images if you own the cartridges itself. The use of Commercial ROMs -without owning the original cartridge is illegal in most countries and could -result in fines and/or legal actions. +damage done to you hardware and/or software. You may only use the ROM images if +you own the cartridges itself. The use of Commercial ROMs without owning the +original cartridge is illegal in most countries and could result in fines +and/or legal actions. This software is released under the GPL v3 or later. For more information I direct you to the GPLv3 file. You may hack/change the code anyway you like. You diff --git a/docs/WHATSNEW b/docs/WHATSNEW index 4a6c48f..72625b0 100644 --- a/docs/WHATSNEW +++ b/docs/WHATSNEW @@ -1,3 +1,19 @@ +Virtual Jaguar v2.0.2 GCC/Qt +---------------------------- + +* Fixed problem on OP with 24BPP bitmaps. [Shamus] +* Cosmetic GUI fixes. [Shamus] + +Virtual Jaguar v2.0.1 GCC/Qt +---------------------------- + +* Fixed NTSC timings; they were hardwired to PAL rates. [Shamus] +* Fixed possible missing trailing slash on path fields input by user. [Shamus] +* Fixed exit hotkey to work on Win32. [Shamus] +* Changed PAL/NTSC switch to only work when virtual machine is powered off. + [Shamus] +* Miscellaneous documentation fixes. [Shamus] + Virtual Jaguar v2.0.0 GCC/Qt ---------------------------- diff --git a/res/pause-off.png b/res/pause-off.png new file mode 100644 index 0000000000000000000000000000000000000000..593344514172f1049437972a16dcf96d5f15ce84 GIT binary patch literal 1347 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{Nxdx@v7EBkFO5fKTIMI1NR0)=EVLn2C?^K)}k z^GbkR1_tM%)Wnk16ovB4k_-iRPv3wPy;ODv29{Z#E{-7;x8BZj%oBDLaNRH5bcC() zWLLxn*^_q~WDc4em_OiXQ7&k?qu|bA-mx^&En`!1reYZ9#|@ettt>~3S!18p#edQ| z=kNP{_Nm)gy8`C0y9PiERAu}N|HjvII#(&zV2Iv1XM+cnx}cbhN>u|?h$ z5Bu%9R4ywQ(;uQJ!$DthbN)CFhlCw@6+_RoLUgfDehw}~?p?Ejgc z`*}J4pRHRRKPWP>d|npmWmU_t=eEH7b+^8)c{SZ3d**3b^Z0LfTbC@YOu1Eav)un} z`D>N~aX-YE&HjgTh&>Bk^>+Ww!q3|kE0X0x%NlN8&S3qt za_zrI3^LwT4|?k ziqqp5Cgk!dWC|Tg)~G0NthvPa;l|7N@-xCafAP!K@Nr+2U&NdeCVxenmtpUc-sbbm zE--!btKYs}w1N3}d4tgPjfE@;!O9H6?hInhBL)I0?Qj}cko#qaJXx=kNJ++EasGX$s+6uzcoyM z%Ph8Fxaq#~=5q-}h7&ekce^d!UIsfn3(Wdv=~l?FsXyp@Qs2Rkn#bNOJXOz@D!=sI zQJH2wgBXzdXACZfI$D;BPTZhy+*~QqlTktFS+(+#Im`l_%0go2R%;1zN{8D|+#skV z6jsTuAXK)W-Q|!_JiBbdf{vD-a_W~E9aPSIx0uPtpp>}JP7|d4{nS??4k|q!5i`<1 zt^;b@+0kOTB|s^$^?M`GQkO$A!_m&FM?d&JFL7ho)a^0Dnft7bmo3k$sjHa3ING$m zn5}%^eiqAvYab<}k_1W~|KJOL>ixiKMY!%)arOtBm+14^#h-ayzk2eQs|TO2t_)>A zuyu()pWXa3t6lzv^Vx;BzS8G&c2!q;<(n=3CGDkM0g( zNL^>o!mzEwIQqbKAnAE|t@X0oRcZ64?<@Yc^q&F44JE(rV(-hjZ%nO8dl&HkqyE=; r_cit+3@bKGcR(u|kjjexVfPvL|2V}Us^xqKRD5~5`njxgN@xNAfm$VW literal 0 HcmV?d00001 diff --git a/res/pause-on.png b/res/pause-on.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3b4cc8bb364cf8448a705864b0df35ce2dffd2 GIT binary patch literal 1342 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{Nxdx@v7EBkFO5fOQVi(adD1BGNWLn2C?^K)}k z^GbkR1_tM%)Wnk16ovB4k_-iRPv3wPy;ODv29~LwE{-7;x8BY&^pg%0XsdVba1q|= z^EhE5cR_Oj%k+11q@Qpox}Oky5%Y_qfSIr1f|9xBS`AT_{8^qGlvEGy7QWYW|GW1( z1N+VIYpr+Z|6tF(&2@FP?KB1k0R{yI2apFD8JHMY7&u@8W#RftqQ;kMG%|DMD|#%{-A$h*HXZO-&zFUrN$+p-ELKCjm zCT@*)S!K(@pnTR}$OYF`Rww~thQokbKIM?a=!%w`y@G;8o4vv z44cj}s_-^dl(4>6oZxT85NGxGukB~8!2kQ2&(|&dDdU2vTgpB}ibox| z_VWFk^RMr>f_}NznzL3&J_1NVn~r+nl?XK zgk9mchUsq^Wfq2+?klYgk89L&ov`sbYj<3O&*59(E59>_7IsHx*oOQ(zu?W{D|2Tg zUtrv&4OD+brolsE;)X3sLSj#TxT)x9GPoS7$#0ob%%GI$a_CTHsH#%p-&g8F*PLAr zX}t$Z%6)I}h+*|T7Jr@UuJYrIdffI6{zCR-k`Zm9W8>K+@E#s zg#opRPc^HN#!!47C?x5tdb!_m(6zV`<0rc4uJT@J}aWjqUfRTr>6M0Nr1ql>Qh zWf}j)DKmWUJAXl_d4cuu@)=t3OyST}6|YiT`r&6*-1)U`m(1Dc=RXUTW!OF`Po^gC z%xagv*ZJ(Ox4zQnb9n4h7yN?nR9rm=gI;yqo_6=OU#GJstbFNp>5yG)TvOfOeU*Xr z+bj>JEvX^sgjK!C}pA);%o`+#u$Kl?izb`YHsm`AneWm_O^xy4*ulZRSR=rUb hKr0mx#l(gGSNXGbw$}8gE3$%0E>BlKmvv4FO#q|NF>wF@ literal 0 HcmV?d00001 diff --git a/res/pause.png b/res/pause.png deleted file mode 100644 index 7b03a0dea030b6e739bd70f6c51c2d9e4a36d279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1348 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)4tZWJfp5yJ(Lf>D%#er@=ltB< z)VvZPmw~~#C^fMpHASI3vm`^o-P1Q9MK6_|fq`YVr;B4q#jUrq4(1963bfT9XVDZ- zxo;uJEwzBbdkIT=0DwIuXA2qtvro^L4ZMl!2#q!Mg}GZ76uNO0AF~&lBjWPull64Z3Ox`l#OBQ=mEQ8eVnh7O4=WX}ha&$|!#bywi zaJ4pdYrN|!TNZ}PSAQ&BvXs%__v!1>p3^7kUHkma>cX@6o>ke>|J7qXtG3VE9?np( z|7U*AXLbHRTYDWp*fFtOzFMLA@(<&OcTP3?=4}@b-OmzrI_BNZpPSz6spy_nzWnU; zzUsXF(drD}4sCz2@#lW04F>Cja{qswH+w(#!R*f~HZh+mi~HeK#q&1K+3drb5^-(b z13DA@bH9qSKM1*0%s&75GuOW-87j11b~c|E{`~8HmEy~p&F76jui|U)3|JraN}un* z#wFJdE;rR@IAO*=)JZ7D_xOC|%YkpF=Tq!m>e1oy5A@?^-9?GN1E z`s#aC`_8q34avuouNZzWvSZlhxcA#k=9GEKEf%aYhe|InR=qm+QTD;Q3o;6yWfog7 z+;m@g^SQ)P#uIj4XYG!2FgiR7eC2q?&}%-EQGd|p^M+l_6Kbba2^916`5UJ3hyF9x z_^t6(;h989!@pBN^@i*ULT)NLYdcz4E%ym>dUG*MG`KIV_*ACBLt^5Fg1FF5j~g3) zb++&dOx$qFnqlIG-?j=u(|%aJV6b&nIrH6OCLe=R;=bc2OBe(=KY#V)1ZuBeAF>=M z=yK?gP4{-Q@wURzDQR$^MGnW>qnnE9qH%9zUF6a(0z19?88*uM?RNQp7&*z&6_!W>H9g(EA4q0wslONd-V5RCNtIfGpn!E v|MLE8F8G?Cm0{HzRROfJ0Z~|7*nhP=a{8%7r;}&=0+nB$u6{1-oD!MPx#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipo1 z5IHXIlD!}R0013nR9JLFZ*6U5Zgc_CX>@2HM@dakWG-a~000he zNkluwWZLP8eWIV4E=mvV^XE!iS{<$CMlTR5TG$}ByfPjI0wjB2>}`m2Vny~ zQPC-5B?M?NOsUhc5(318Np(6_U7@aW0U6JmA_i9)*so~i4FFq!ERgk$83-`kh~ifp zNeJLx_-SA+Fsq0J#RSO8XMM)=R{O?eD-5X_;>=h1E&W>jK~lz^4QJNfuZQtniK5RA$^&z_|+BTn>21H|G3+@3RkW>8Hxq!m&3E^VS1&#p@&v@RifQ@n1Bcx&${#4+0U`+(!k0!xf zF&xnS_G~i<34&dTA6Huv`1mBVIyxC#|U7Q+~ zGM?8ahRqV-d%zx!9#x1L)XEK<<=~wu)D)|n8Mhh z+Po48Dvi_Q@ZDwr4`e)VaS1!8{s@rqym7!OV&$J+L4CSJPLTjPYKKn%Hvo6Ka1~Py zgntgO9GDr?1P#b%G};v70BzJ36M!!Qw^fLJ)Q$k6_Rq!^Q%;R>a<2~tYJZv*B4w*sGxSpZr2jK;8%>dwhnrLaE6cO5U=>a|+iftCh1PJH1RH4y&# z5(H>A4N$-?*c`{z8irv?VfCkh>w&{#o`?Z#QfPIFL`sLE4N%gMm8{;9nBRRea6Y!` zxpo8)2Hq@csl5imUlAZJ>>R!^i))|>_5m)7x)nrSA@jvLoe;CyUk)rSmkw5R-vYUl zzA-1oOo9|}B5-+>tsoU)^><^BTW=9-bz+zycL*WktxBA8$ z5utW&7`=3Gr~(bqRNs>M%Hl4hyc@895Xa!ECP2pXt^_=Xs=pt&(KqI1g`kO6I(U2p z4`IMJW~pd_4Y;c?-b;*fcLWf_?>o3j@Z^D~fd#%XKUT8dwGeqM-XByya+=O~ZfK9+PzA-Z-Ez&uEK@6Th)!Y}fT*{nPnag~IH z#eKjpfgQ@@9!V8p`JfsgjV*oBo`}uBEsnyu`8plz|HdJ3C-7%wd!-XNH{*E|wF#hI z;PE!LM0}&eI6}UT#wq0{{tS3oIc704s7n}>0H+YH&rZ30^=@F5!$S~_QWEwwHn*W^ zXG{c+Rv~~Ge4TwZIOs1)fsWG#$X_wKPB){gUqcfPdo_19dvq zSR~jAtN^wvZUe^zNfienz`@uklNO#4)$h6$>#NxQzfmzLW4XrDq8YU?i2x<*mCn3% z04HN(&01=Cg>TI3F-+(d;1z{&ULl^M(=7JPq^7+wE2;)a1BWWF%8kT>EIPGDhzs==GUBZ}kgSt&OVgaBF}MW@#u*uYO8F+u_@D?*T5i4B~aH#}af;>M&J-^pz7$RgLYKbji?=S?|54|MF zJH9dfiChC?P>}#oCX-u9188Lc|CPwJs;z2B(G|>v)c{@Sm4CgJh_!0Gj$S>(9$^Te z83Nv($TQTOX)M5YY@ea32>?1(wK*|r5>yAxV$lg<2%vScCPjpkH7!m6jnwc+IZcwP zuyVDKOXOKIv{hQ2VYi2BwLpUE5KD`jau3itS(C$IQDp+RD^tq`=uD6qq#Z5T^ zXeLA^C-STs6P31rvMp}PJz%S%@wQhY&)|?2`&x6>R?ZDCM}RDP%?#3sSgXP$$^>sh zU?25+5Z5 zs0x~AF+L1M0Kq>L-OW=Hxdz5(6vx^gg#i7E1UR8qmm@YHy3tDoKUeMuekB5E+5uh3 zHW0`KoQ7@jqSfVebETD8i2(0wc>;uJWZ0ssUo&$0ViW>wK`$b>D{yM!4pzi$^h)uD zffu4`0L_qaI@t!ws{g6jR(x8ec+XRz7$*n;H0^-t2?0t9zY{nUz0+98{y!L+0CJGx zaYZ{|0&rm>?lCb5g)3l2!9>*nV2>$j1%%pwIo0;FZ4n%dy#YiEgTRJL?c;+GAdAfm zqNoL~O62`9^*;qTPh4d!JWGJ%cohjCr)2+v4d-g%>_iKEoCDa4w>0q-0jjZs792c* zUQ`h5q0^hH>1y5N#@~F#z5zWf-o>7R9@HX07WkX;yPrY8W`<2H{0=ev&P4Cpy*%(& zpf5-l)@lf#-MeN2urTapM@@n>@NIPOU>FAe5VQ|t(Cg3&J##c~!D<5z1a1!6*}4hw z4d5u{F?Uq6SOXUwiZS@8@|SJLUUqa&3#$Jw0T-a#gE@!o#MY-y0Ku;v%tZ%qTgLMa zY$4&##x}0f&WpSQJW$OaR7-$f;2{Td(giHbc;56D5dML{z34aKF1UVKX9N(#;zzjY zp4|i7AqkOY75;Q!8G7}8qgVfWrvwoE6IkhJj^+TjW<2jxO(^`su=fJ=I2b;M?KWO@ zSJN;A7zBQcUcF#3#$l61D>I&Vy!gq@Ap8?W_$N7f#2eTa{Ml;%uxbKGaG_6BnTzXQ zIug}bPsw=RH-Y=HEn8jOwmO21)IJu<7tiPOVPEbLA;Ad_=dd4pyU0Dj z7Kir>xe$IDdvWx6=$`T^M&W|(OT*r|80GNctJp@&F5ACM1Fpl~taVx=XaiaG=gZuD z*`e@}xqmRqg`1%@fV^xMHkx$jMCofB zi2(A_`(wkzN5nA4BiM6pj{?6?zG^ng9CTyvRXz`xfnH*#9QuHTzA?Q~28m1nnSeRK zD#~=DaSphHlw#2@ioI50Iu_mSrK(06#~elEChZ)ydA+t zu(|JNuo24VvE9D=l?C30t=a1Y4#B3eyRnI!$uX$<(eHeVZ_E;n!PE#K6SWpw+0st@ z_y}9P`YyKH_Bv6MePIY8#VToR%lw(x^LjI6Z?9GMG6&q@8*{zZfZ7C@20RRSF|UfT zwg`&8LqE1Y?k%yLKahAs;a=dJXs!v^11!_A{dLF7XO|kkPeJ(Wd}C&74ysCkB7d*WTXLT{p4J7g68$0~BvjqnjwzqwqILut(kXb>h4G z#;gGrV=IXAB#0vXmw`pDTwZ6v8*xzy^TES96C0( zVk@qe`^IdGLFn#1@LK3R=_Oa0D1b8}wk)rEM)N{2|~^ zz+J$`xN9D2LV!`);Bst;bzBRs`q!|f_IK9ms@j?nV3amkh|M8PZjo(a09(R+Kk!H` zud1y%0gALi5B8Mou}y3wz6)#s{z&aFsIDIZ6cM2ln_Hg`9EUwT(Jc1C25f!fM(X2& z>iQ#qke~ybhCLQrVRJIJ*rE~fCbqf8BfwhUnAhv=3)US0Mv(nty35Mk{y$_Fo15b}}yf1$SVzu1eM-(Y8}oR^AL`7jNPh9*D&f~1Qy#tiIv z{3$|!@qD}_Yy^9~%3Gq&|AQ?h+lD<4IRp$gy1-kC00}B1Nya1uNRSX9K|+882>}wc aApQppE|yXAq{`F)0000Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipo1 z5IYLtr#o{10013nR9JLFZ*6U5Zgc_CX>@2HM@dakWG-a~000ho zNkl+*2r7AXTIJmevC5ebiUxzGSgLlMY85z9lN;h`uM zK}_086eA(h7*Hu_YawtIwXs!sUbexsfUK$EVIiVZ345VZSi4&u3p?W<=QnoP?9SZB z@7{UcZ!%d(ch8-Be&6#uzt{PlwqmhJiq=IYor2cJq*i)a%guEF(|}I-*&+Wl0t^Ae zz>sGd~LwOVu8 z05Vxm09W`Fe#yVT82Fmy<|?^oA1J+FM#l24&W@{*Or?*qu~f(xw&>RY<>b<4eTD{J9IIA zsJ5s?f@_rvo`m z)pP9#APl@o)KYs5gulv1S~zxiwzISbnqVK`(x_WO)D^N&tkWq8tNoS0@=EDoMfc5@ zJL%cZ$qADn1Dph07G*2QL|FYjm?KxaC-lO@vg()n5Wc4S=G&bV5+u1DOaU$dPDqph zmYXXbojN!nANe6nwrm-&(x=*QQzU@zab!C<8B^@>MgntV0XJA~t~<;hhph)FotTNU zo}dUk4}3Lb`IIIx1C1r$x6g8OKM)(~T;i)N&R~LWi!3*Hn`b*alGp;40#joY{s?f3 zXFEqmsGS=@FC84JKtnXuH)X!^#1~TD4Om2oV{m~9V7a*~fWu={{R6-ap6%SE5H!(B z2TzXRAq;x9vs|>m2I8wQ-b;+~_y{0|-?xb;!BYgD0v36;^CKneT?>)N@@%JHeD}M6 zcVn2p$-rEZQEVFEY~l&^jsly2t3BIUtGG8(Ph)wuGvL|ImB6Jy9E~UT0TzgnuKQvV za5xK-lt6iPJq;|7RicGNO2R@C;Q_G=v`LTwK0|=h%o(4;FBM=Oq`dbRF=gQwdbYD! zc`}kJ2@8vRfnNYSl*c`a0AYE*8X$`)ebSzY&A`nug>#E_I@bSBK)b->Eli2{#u(!W#X1^iA~*4;z{|=pi`jl%Lcat!g>Zd#D($Ox0ZxpEAR474 z>?urcL(|Tf3LK+C05SefL^tZU30NI-GseV^hK1AuJH!@vQc=@%0H4#+09o`)y6*-4 zO}rSa)3L@Q!B$`uuw8K*IMz?9*be~?#zdL4@U*D@xLdKlis}Cw6+<#s+;~bfqZX#& zqh!6>nYRwW#>ASn)bc9NcDw{8bPMo`!Z@#xOwnl`b7oT0-k1|r17v|il~?6Pl0hDw zT0yOGs%--!z@y5~nx{bk%{1oABv-(hCwjrC#u!2H2Jo=rczagM4fr8|R>jYIz+*{u z!jR{zkx!UsRx3J<1HUiF^prP zY5*;4r3Ur;QaiX@f-QcYpT}R(X`C+MGm7ru@p5oyTvQA0%v5CJv$ZPW_H1X9<>pGQ z=Bjof6SZHH?<#l_6Mfadba4r{hatfJN?)P?xHX(mJln}zZf+%}bURD*K7?^XbF17< zw((#DkfH)D1F)Ui9^foD3^yqUT;jk>Vh3n+D4kSkoJ>OdKh*a8UZY`{kcFrdYyo?R zA;5mqt8WY`5&$Y>a;s?otqkD5Qke$Ys)iL^!9rLK(2ZXC*PE$WgYy8r zdWJp15I{2oygij?s5#SEfbEz*LxBkZI#sm=F=|o-gJ!YllrRL)I$4t;!pWKzCxAw3 zc(jrx$y8anS}3IQtQp#>t(p$H)OhoZZAN-9_1_>|&U+oKR*K#>3^*6MP^21E~fso-ZT9l@_g z08KlfJKY9+xqve;Enc*`oNlhRGOH2bJuOdw5RD95boFaSPG5{dfGy}n1a}2aP2It& zn2TO1-U#qQR1KgR63(XEKt=U$VOsHNmEt`|m0}z}1kkhtW~Ky~Q23p|ndqIyLiYcm z&;*c!6pty|0aJhrQgM%qX((I)GX~E`)c|0QDQN|S+JJdM``NY#4#wO7qJ<$~L$&tt zeh84qWCl^x0#~N;{)qbT0?rdxSqsnL<2YVb0>~-ZKV!nVS~xq^0w2MrF&A%X;z@i| zWBV;QcpSZ`Aecj^HwNiy-Q>pKLdL%VJuKeAoPr+GB0wJatMa>_fzM`!O)UHlG5pR% z@7ld0@E4%pPZ!o81kmnXGX+>2_OhcUK^FKHx_2;)0KfO!htcnKXr-PxnzvxJ0S5v% z`R#1og!npewDOocf-F|wMTcSxKBD|(+cB3NozsHq|BJx+==NYPU^=n&s}n%*s~F~@ z1Gv?4a|gDN@aJM0S83-(-UjXu@&`c)&<8vi!<=*jD=arRvjv2IAaD=*4Y*6LUp_Vh zh+*+V;_05<3*0UVk!BVCOkf3i^?qYl|N2-7AowS+I;J_A2i#)0xlc5q@DIb>3(ybAxYo0sRZ$00A%INE zV&MBE+YxLOlly)e6QO(#)9rgeS>SD$n!Qfo5KJ1o2b0K|o`9+!`_4CewzEuQFf{_m zM6JVAwzQKxKExESzJuwu?TVW04?_qkR>@*o=Fi5Q*PA7Kd#$pU1>knicCOPJP@4cV zfQNv?6J8bLZ4s1xhXG7|+?!%Kzc2BI(!Ib1(Ogq72Uuoe`s+@X&n`87pOWxh&vxc& z4ysCkGJ|LZ`gv|`HQHWAmSUL~Q>+7FPvq~PuD!jfyKZ8cFQLBg2Pog7#x_x^N8xXh zV2`@%8;kGm+0I&EDW-y`NQx-Je;HU3m&+Sl@J3ve#h5b%DG9>u`F{s)lm$gY5kN?A zFQ(}6m6Qa5ZIpgsk!L%(z1MmlGe?fKq5TJ|*otWJELg0AJ;fZFk z4>n-x8#huP7gX0D0fYn{m^AEhmKu9nZQ;pM&X`*;4=4jQvbz&=gfQjC1 z!xU+*McV7ti<)m}0!*+yWHDW}X3Kx?jVa0ni1ArWbq^w}UB>v}6BUGfDF0uoZTv6hBInoH*(&FyvQ<7p1EZk{ z;DaF9GL10{a~{7-2r!wCmV}LBu2*?e)cJofrDWSM=OKrIp+*;YOA#PNb)?CdlmIDG k0;EU@kRl~OiWbEG0Hye#!8L`fFaQ7m07*qoM6N<$f_`QBv;Y7A literal 0 HcmV?d00001 diff --git a/res/power.png b/res/power-on-red.png similarity index 100% rename from res/power.png rename to res/power-on-red.png diff --git a/src/gui/about.cpp b/src/gui/about.cpp index db688f4..c9588ea 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -41,7 +41,7 @@ AboutWindow::AboutWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Dialog) "" "Coders: James L. Hammons (shamus)
Niels Wagenaar (nwagenaar)
Carwin Jones (Caz)
Adam Green" "Testers: Cyrano Jones, Robert R, TheUMan, Dissection,
overridex, geormetal" - "Build Team: ggn (win32)
goldenegg (MacOS)" + "Build Team: ggn (win32)
LinkoVitch, goldenegg (MacOS)" "Homepage: http://icculus.org/virtualjaguar/" "" "

" diff --git a/src/gui/mainwin.cpp b/src/gui/mainwin.cpp index 37f9f24..7abc8c7 100644 --- a/src/gui/mainwin.cpp +++ b/src/gui/mainwin.cpp @@ -103,14 +103,24 @@ MainWin::MainWin(): running(true), powerButtonOn(false), showUntunedTankCircuit( quitAppAct->setStatusTip(tr("Quit Virtual Jaguar")); connect(quitAppAct, SIGNAL(triggered()), this, SLOT(close())); - powerAct = new QAction(QIcon(":/res/power.png"), tr("&Power"), this); + powerGreen.addFile(":/res/power-off.png", QSize(), QIcon::Normal, QIcon::Off); + powerGreen.addFile(":/res/power-on-green.png", QSize(), QIcon::Normal, QIcon::On); + powerRed.addFile(":/res/power-off.png", QSize(), QIcon::Normal, QIcon::Off); + powerRed.addFile(":/res/power-on-red.png", QSize(), QIcon::Normal, QIcon::On); + +// powerAct = new QAction(QIcon(":/res/power.png"), tr("&Power"), this); + powerAct = new QAction(powerGreen, tr("&Power"), this); powerAct->setStatusTip(tr("Powers Jaguar on/off")); powerAct->setCheckable(true); powerAct->setChecked(false); // powerAct->setDisabled(true); connect(powerAct, SIGNAL(triggered()), this, SLOT(TogglePowerState())); - pauseAct = new QAction(QIcon(":/res/pause.png"), tr("Pause"), this); + QIcon pauseIcon; + pauseIcon.addFile(":/res/pause-off", QSize(), QIcon::Normal, QIcon::Off); + pauseIcon.addFile(":/res/pause-on", QSize(), QIcon::Normal, QIcon::On); +// pauseAct = new QAction(QIcon(":/res/pause.png"), tr("Pause"), this); + pauseAct = new QAction(pauseIcon, tr("Pause"), this); pauseAct->setStatusTip(tr("Toggles the running state")); pauseAct->setCheckable(true); pauseAct->setDisabled(true); @@ -221,6 +231,7 @@ MainWin::MainWin(): running(true), powerButtonOn(false), showUntunedTankCircuit( // running = powerAct->isChecked(); ntscAct->setChecked(vjs.hardwareTypeNTSC); palAct->setChecked(!vjs.hardwareTypeNTSC); + powerAct->setIcon(vjs.hardwareTypeNTSC ? powerRed : powerGreen); // Do this in case original size isn't correct (mostly for the first-run case) ResizeMainWindow(); @@ -528,6 +539,7 @@ void MainWin::SetZoom300(void) void MainWin::SetNTSC(void) { + powerAct->setIcon(powerRed); timer->setInterval(16); vjs.hardwareTypeNTSC = true; ResizeMainWindow(); @@ -535,6 +547,7 @@ void MainWin::SetNTSC(void) void MainWin::SetPAL(void) { + powerAct->setIcon(powerGreen); timer->setInterval(20); vjs.hardwareTypeNTSC = false; ResizeMainWindow(); diff --git a/src/gui/mainwin.h b/src/gui/mainwin.h index cc7d160..c69c478 100644 --- a/src/gui/mainwin.h +++ b/src/gui/mainwin.h @@ -92,6 +92,9 @@ class MainWin: public QMainWindow QAction * filePickAct; QAction * configAct; QAction * useCDAct; + + QIcon powerGreen; + QIcon powerRed; }; #endif // __MAINWIN_H__ diff --git a/src/gui/virtualjaguar.qrc b/src/gui/virtualjaguar.qrc index 1c60900..ebd31b4 100644 --- a/src/gui/virtualjaguar.qrc +++ b/src/gui/virtualjaguar.qrc @@ -1,8 +1,11 @@ ../../res/vj-icon.png - ../../res/power.png - ../../res/pause.png + ../../res/power-off.png + ../../res/power-on-red.png + ../../res/power-on-green.png + ../../res/pause-off.png + ../../res/pause-on.png ../../res/zoom100.png ../../res/zoom200.png ../../res/zoom300.png diff --git a/src/op.cpp b/src/op.cpp index 9da791b..73fc330 100644 --- a/src/op.cpp +++ b/src/op.cpp @@ -782,6 +782,15 @@ void OPProcessFixedBitmap(uint64 p0, uint64 p1, bool render) if (!render || iwidth == 0) return; +//OK, so we know the position in the line buffer is correct. It's the clipping in +//24bpp mode that's wrong! +#if 0 +//This is a total kludge, based upon the fact that 24BPP mode puts *4* bytes +//into the line buffer for each pixel. +if (depth == 5) // i.e., 24bpp mode... + xpos >>= 1; // Cut it in half... +#endif + //#define OP_DEBUG_BMP //#ifdef OP_DEBUG_BMP // WriteLog("bitmap %ix%i %ibpp at %i,%i firstpix=%i data=0x%.8x pitch %i hflipped=%s dwidth=%i (linked to 0x%.8x) Transluency=%s\n", @@ -797,8 +806,12 @@ void OPProcessFixedBitmap(uint64 p0, uint64 p1, bool render) // Not sure if this is Jaguar Two only location or what... // From the docs, it is... If we want to limit here we should think of something else. // int32 limit = GET16(tom_ram_8, 0x0008); // LIMIT +// int32 limit = 720; +// int32 lbufWidth = (!in24BPPMode ? limit - 1 : (limit / 2) - 1); // Zero based limit... +//printf("[OP:xpos=%i,spos=%i,epos=%i>", xpos, startPos, endPos); + // This is correct, the OP line buffer is a constant size... int32 limit = 720; - int32 lbufWidth = (!in24BPPMode ? limit - 1 : (limit / 2) - 1); // Zero based limit... + int32 lbufWidth = 719; // If the image is completely to the left or right of the line buffer, then bail. //If in REFLECT mode, then these values are swapped! !!! FIX !!! [DONE] @@ -875,6 +888,7 @@ if (depth > 5) clippedWidth = startPos - lbufWidth, dataClippedWidth = phraseClippedWidth = clippedWidth / phraseWidthToPixels[depth], startPos = lbufWidth + (clippedWidth % phraseWidthToPixels[depth]); +//printf(" 5) // uint32 lbufAddress = 0x1800 + (!in24BPPMode ? leftMargin * 2 : leftMargin * 4); //Why does this work right when multiplying startPos by 2 (instead of 4) for 24 BPP mode? //Is this a bug in the OP? - uint32 lbufAddress = 0x1800 + (!in24BPPMode ? startPos * 2 : startPos * 2); +//It's because in 24bpp mode, each pixel takes *4* bytes, instead of the usual 2. +//Though it looks like we're doing it here no matter what... +// uint32 lbufAddress = 0x1800 + (!in24BPPMode ? startPos * 2 : startPos * 2); +//Let's try this: + uint32 lbufAddress = 0x1800 + (startPos * 2); uint8 * currentLineBuffer = &tomRam8[lbufAddress]; // Render. @@ -1241,7 +1259,8 @@ if (start_logging) // From the docs, it is... If we want to limit here we should think of something else. // int32 limit = GET16(tom_ram_8, 0x0008); // LIMIT int32 limit = 720; - int32 lbufWidth = (!in24BPPMode ? limit - 1 : (limit / 2) - 1); // Zero based limit... +// int32 lbufWidth = (!in24BPPMode ? limit - 1 : (limit / 2) - 1); // Zero based limit... + int32 lbufWidth = 719; // Zero based limit... // If the image is completely to the left or right of the line buffer, then bail. //If in REFLECT mode, then these values are swapped! !!! FIX !!! [DONE] diff --git a/virtualjaguar.pro b/virtualjaguar.pro index 334f4b8..1b286b0 100644 --- a/virtualjaguar.pro +++ b/virtualjaguar.pro @@ -66,7 +66,8 @@ HEADERS = \ src/gui/help.h \ src/gui/imagedelegate.h \ src/gui/keygrabber.h \ - src/gui/mainwin.h + src/gui/mainwin.h \ + src/gui/sdljoystick.h SOURCES = \ src/gui/about.cpp \ @@ -83,4 +84,5 @@ SOURCES = \ src/gui/help.cpp \ src/gui/imagedelegate.cpp \ src/gui/keygrabber.cpp \ - src/gui/mainwin.cpp + src/gui/mainwin.cpp \ + src/gui/sdljoystick.cpp -- 2.37.2