More bug fixes with poorly sized sprites

This commit is contained in:
Tim Young 2017-10-10 13:25:50 -05:00
parent ccdc4e0dd6
commit 76af207526
3 changed files with 92 additions and 73 deletions

View File

@ -127,4 +127,7 @@
<data name="SLIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SLIcon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="X" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\X.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -1,16 +1,16 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria Math;}
{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f40\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}
{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f40\fbidi \fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Consolas;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}
{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f295\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f296\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f298\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f299\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f300\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f301\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f302\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f303\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f635\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f636\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}
{\f638\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f639\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f642\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f643\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}
{\f685\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f686\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f688\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f689\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
{\f690\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f691\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\f692\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f693\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
{\f695\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f696\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f698\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f699\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}
{\f702\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f703\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f44\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f45\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f46\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f47\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f48\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f49\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f381\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f382\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}
{\f384\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f385\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f388\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f389\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}
{\f431\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f432\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f434\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f435\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
{\f436\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f437\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\f438\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f439\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
{\f441\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f442\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f444\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f445\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}
{\f448\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f449\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
@ -36,58 +36,62 @@
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red43\green145\blue175;}{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused
Normal Table;}}{\*\rsidtbl \rsid70908\rsid200619\rsid3222827}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator tim.young@lightsys.org}
{\creatim\yr2017\mo9\dy20\hr8\min3}{\revtim\yr2017\mo9\dy21\hr13\min11}{\version3}{\edmins5}{\nofpages4}{\nofwords1147}{\nofchars6542}{\nofcharsws7674}{\vern91}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
Normal Table;}}{\*\rsidtbl \rsid70908\rsid200619\rsid3222827\rsid8334151}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator tim.young@lightsys.org}
{\creatim\yr2017\mo9\dy20\hr8\min3}{\revtim\yr2017\mo10\dy10\hr6\min32}{\version4}{\edmins6}{\nofpages4}{\nofwords1167}{\nofchars6655}{\nofcharsws7807}{\vern91}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale90\rsidroot3222827 \nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale120\rsidroot3222827 \nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1
\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5
\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39 1.0.6
\fs22\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid8334151 \hich\af39\dbch\af31505\loch\f39 1.07
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a bug in the SpriteEntryForm where it was possible to drag over the edge of the sprite and\hich\af39\dbch\af31505\loch\f39 make an invalid sprite size.
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39 1.0.6
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid200619 \hich\af39\dbch\af31505\loch\f39 * Changed the primary home to gitlab: }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid200619\charrsid200619
\hich\af39\dbch\af31505\loch\f39 https://git.solidcharity.com/timy/SpriteLibrary}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid200619
\par \hich\af39\dbch\af31505\loch\f39 * Rebuilt the documentation
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid3222827 \hich\af39\dbch\af31505\loch\f39 * Added linked sprite-controllers so we can share sprite definitions between controllers (decreases load time considerably)
\par \hich\af39\dbch\af31505\loch\f39 * Added a SpriteDatabase s\hich\af39\dbch\af31505\loch\f39 ystem that can help you define, load, and save sprites. It also decreases load time.
\par \hich\af39\dbch\af31505\loch\f39 * Added the SpriteDatabase OpenEditWindow, which allows you to graphically define sprites. Add your sprite images to your resources, and then make a function to call the\hich\af39\dbch\af31505\loch\f39
OpenEditWindow function (passing it a filename). It will save the sprite definitions to the filename. Then you can add that file to your resources and load that new resource.
\par \hich\af39\dbch\af31505\loch\f39 * Added a SpriteDatabase system that can help you define, load, and save sprites. It also decreases load time.
\par \hich\af39\dbch\af31505\loch\f39 * Added the SpriteDa\hich\af39\dbch\af31505\loch\f39
tabase OpenEditWindow, which allows you to graphically define sprites. Add your sprite images to your resources, and then make a function to call the OpenEditWindow function (passing it a filename). It will save the sprite definitions to the filename.
\hich\af39\dbch\af31505\loch\f39 T\hich\af39\dbch\af31505\loch\f39 hen you can add that file to your resources and load that new resource.
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39 * F}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid3222827 \hich\af39\dbch\af31505\loch\f39 ix}{\rtlch\fcs1 \af39 \ltrch\fcs0
\f39\lang9\langfe1033\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39 ed MouseEnterTransparent, MouseLeaveTransparent
\par \hich\af39\dbch\af31505\loch\f39 * Added a number more Spr\hich\af39\dbch\af31505\loch\f39 ite creation functions
\par \hich\af39\dbch\af31505\loch\f39 * Added a number more Sprite creation functions
\par \hich\af39\dbch\af31505\loch\f39 * Added a number more Sprite.AddAnimation functions
\par \hich\af39\dbch\af31505\loch\f39 * Allow us to set the ending frame after we animate (which frame do we display when we are done) in AnimateOnce and AnimateJustAFewTimes
\par \hich\af39\dbch\af31505\loch\f39 * After a ReplaceImage, it immediately inval\hich\af39\dbch\af31505\loch\f39 idates the sprite and re-draws it.
\par \hich\af39\dbch\af31505\loch\f39 * Add a series of Events, Sprite.MouseOverTransparent, Sprite.MouseEnterTransparent, and Sprite.MouseLeaveTransparent. These check the transparent areas of a sprite to see if you are moving over a solid or transparent ar
\hich\af39\dbch\af31505\loch\f39 ea of a sprite. For use if there is a lot of empty area inside a sprite, and you do not want to trigger a MouseEnter function over the empty region.
\par \hich\af39\dbch\af31505\loch\f39 * Allow us to set the ending fr\hich\af39\dbch\af31505\loch\f39 ame after we animate (which frame do we display when we are done) in AnimateOnce and AnimateJustAFewTimes
\par \hich\af39\dbch\af31505\loch\f39 * After a ReplaceImage, it immediately invalidates the sprite and re-draws it.
\par \hich\af39\dbch\af31505\loch\f39 * Add a series of Events, Sprite.MouseOverTransparent, Sprite.MouseEnte\hich\af39\dbch\af31505\loch\f39
rTransparent, and Sprite.MouseLeaveTransparent. These check the transparent areas of a sprite to see if you are moving over a solid or transparent area of a sprite. For use if there is a lot of empty area inside a sprite, and you do not want to trigger
\hich\af39\dbch\af31505\loch\f39 a\hich\af39\dbch\af31505\loch\f39 MouseEnter function over the empty region.
\par \hich\af39\dbch\af31505\loch\f39 1.0.5
\par \hich\af39\dbch\af31505\loch\f39 * upgraded a lot of documentation. Started the big documentation push
\par \hich\af39\dbch\af31505\loch\f39 - inline documentation upda\hich\af39\dbch\af31505\loch\f39 ted
\par \hich\af39\dbch\af31505\loch\f39 - inline documentation updated
\par \hich\af39\dbch\af31505\loch\f39 - Online documentation file: }{\field{\*\fldinst {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39 HYPERLINK http://tyounglightsys.ddns.info/SpriteLibrary/doc }{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid3222827 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b7c00000068007400740070003a002f002f00740079006f0075006e0067006c0069006700680074007300790073002e00640064006e0073002e0069006e0066006f002f005300700072006900740065004c0069006200
72006100720079002f0064006f0063000000795881f43b1d7f48af2c825dc485276300000000a5ab000300}}}{\fldrslt {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39 http://tyounglightsys.ddns.info/SpriteLibr
\hich\af39\dbch\af31505\loch\f39 ary/doc}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908
72006100720079002f0064006f0063000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000}}}{\fldrslt {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39
http://tyounglightsys.ddns.info/SpriteLibrary/doc}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908
\par \hich\af39\dbch\af31505\loch\f39 - Start of a large documentation PDF - Will not see the light of day until 1.0.6
\par \hich\af39\dbch\af31505\loch\f39 * added a SpriteIsBeingDestroyed event. That way you can have code fired off as a particular sprite is being destroyed.
\par \hich\af39\dbch\af31505\loch\f39 * added three events; MouseHover, MouseEnt\hich\af39\dbch\af31505\loch\f39
er, and MouseLeave. When the mouse moves over a sprite for the first time, it does the MouseEnter. When we move off the sprite, it does the MouseLeave, and when we pause over the sprite, it does a MouseHover.
\par \hich\af39\dbch\af31505\loch\f39 * Added sprite opacity. Sprite.opacity = .5;\hich\af39\dbch\af31505\loch\f39
\par \hich\af39\dbch\af31505\loch\f39 * added a Sp\hich\af39\dbch\af31505\loch\f39 riteIsBeingDestroyed event. That way you can have code fired off as a particular sprite is being destroyed.
\par \hich\af39\dbch\af31505\loch\f39 * added three events; MouseHover, MouseEnter, and MouseLeave. When the mouse moves over a sprite for the first time, it does the MouseEnter. When\hich\af39\dbch\af31505\loch\f39
we move off the sprite, it does the MouseLeave, and when we pause over the sprite, it does a MouseHover.
\par \hich\af39\dbch\af31505\loch\f39 * Added sprite opacity. Sprite.opacity = .5;
\par \hich\af39\dbch\af31505\loch\f39 * fixed some issues with transparency and sprites
\par \hich\af39\dbch\af31505\loch\f39 * Fixed my new way to add animations. The rotation they use is opposite of what I use. So everything rotated opposite from what was expected.
\par \hich\af39\dbch\af31505\loch\f39 * Added Sprite.MoveTo(Sprite) so a Sprite can target another\hich\af39\dbch\af31505\loch\f39
sprite. The moving sprite will probably need to be moving a bit faster than the destination sprite if the moving sprite hopes to catch up with it.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed my new way to add animations. The rotation t\hich\af39\dbch\af31505\loch\f39 hey use is opposite of what I use. So everything rotated opposite from what was expected.
\par \hich\af39\dbch\af31505\loch\f39 * Added Sprite.MoveTo(Sprite) so a Sprite can target another sprite. The moving sprite will probably need to be moving a bit faster than the destination sprite if t\hich\af39\dbch\af31505\loch\f39
he moving sprite hopes to catch up with it.
\par \hich\af39\dbch\af31505\loch\f39 * Added GetSpriteBaseImageCenter and GetSpritePictureboxCenter to find the center-point of the sprite.
\par \hich\af39\dbch\af31505\loch\f39 * Ad\hich\af39\dbch\af31505\loch\f39
ded SpriteComparisonDelegate, the ability to override the sort order (display order) of sprites. The sort order affects which sprite is printed on top of the other sprites. Whichever one has the highest priority is the one that appears on top of the oth
\hich\af39\dbch\af31505\loch\f39 e\hich\af39\dbch\af31505\loch\f39 r ones. The default sort order is created by: }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 SpriteComparisonDelegate}{
\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\insrsid70908 \hich\af40\dbch\af31505\loch\f40 = }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 delegate}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 (}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf17\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 Sprite}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 first, }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf17\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 Sprite}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 second) \{ }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 return}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 first.Zvalue.CompareTo(second.Zvalue); \}; }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\insrsid70908
\par \hich\af39\dbch\af31505\loch\f39 * Added SpriteComparisonDelegate, the ability to override the sort order (display order) of sprites. The sor\hich\af39\dbch\af31505\loch\f39
t order affects which sprite is printed on top of the other sprites. Whichever one has the highest priority is the one that appears on top of the other ones. The default sort order is created by: }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 SpriteComparisonDelegate}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\insrsid70908 \hich\af40\dbch\af31505\loch\f40 = }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 delegate}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 (}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf17\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 Sprite}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 first, }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf17\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 Sprite}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 \hich\af40\dbch\af31505\loch\f40 second) \{ }{\rtlch\fcs1
\af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 return}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 first.Zvalue.CompareTo(second.Zvalue); \};
}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\insrsid70908
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\insrsid70908 \hich\af39\dbch\af31505\loch\f39 The sort function simply compares the Zvalue. A more complex version might be:}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 delegate}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 (}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf17\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 Sprite}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
@ -100,35 +104,34 @@ ded SpriteComparisonDelegate, the ability to override the sort order (display or
\hich\af40\dbch\af31505\loch\f40 (first.BaseImageLocation.Y != second.BaseImageLocation.Y) }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 return}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 first.BaseImageLocation.Y.CompareTo(second.BaseImageLocation.Y);
\par \hich\af40\dbch\af31505\loch\f40 }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 return}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908
\hich\af40\dbch\af31505\loch\f40 first.BaseImageLocation.X.CompareTo(second.BaseImageLocation.X);
\hich\af40\dbch\af31505\loch\f40 first.BaseImageLocation.X.CompareTo(second.B\hich\af40\dbch\af31505\loch\f40 aseImageLocation.X);
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 \};}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\insrsid70908
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39
* Added another way to Add Animations. We can create an animation that is a rotation of a different animation. For example, you can have something rotated by 45 or 90 degrees.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a bug with large sprites that make other things blink
\par \hich\af39\dbch\af31505\loch\f39 * SpriteControll\hich\af39\dbch\af31505\loch\f39 er.ResetKeypressState() clears any residual keypress. Sometimes the program misses keys being pressed and released. This clears any memory, and starts it from scratch.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a bug with large sprites that make\hich\af39\dbch\af31505\loch\f39 other things blink
\par \hich\af39\dbch\af31505\loch\f39 * SpriteController.ResetKeypressState() clears any residual keypress. Sometimes the program misses keys being pressed and released. This clears any memory, and starts it from scratch.
\par \hich\af39\dbch\af31505\loch\f39 1.0.4
\par \hich\af39\dbch\af31505\loch\f39 * fix timing issue with start-animation. It had not been setting the animation \hich\af39\dbch\af31505\loch\f39 start time.
\par \hich\af39\dbch\af31505\loch\f39 * fix timing issue with start-animation. It\hich\af39\dbch\af31505\loch\f39 had not been setting the animation start time.
\par \hich\af39\dbch\af31505\loch\f39 * Added ability to change the animation speed of one frame. Works across all sprites. }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\lang9\langfe1033\highlight8\langnp9\insrsid70908 \hich\af40\dbch\af31505\loch\f40
ChangeFrameAnimationSpeed}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 / GetFrameAnimationSpeed}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908
\par \hich\af39\dbch\af31505\loch\f39 * Added the ability to return the count of animations this sprite has (Sprite.AnimationCount)
\par \hich\af39\dbch\af31505\loch\f39 * Added a Sp\hich\af39\dbch\af31505\loch\f39 rite.GetImage(animation, frame) so we can retrieve any specific image
\par \hich\af39\dbch\af31505\loch\f39 * Added the ability to return the count of animations this sprite has \hich\af39\dbch\af31505\loch\f39 (Sprite.AnimationCount)
\par \hich\af39\dbch\af31505\loch\f39 * Added a Sprite.GetImage(animation, frame) so we can retrieve any specific image
\par \hich\af39\dbch\af31505\loch\f39 * added a sprite.unhidesprite function that does the opposite of the hidesprite function.
\par \hich\af39\dbch\af31505\loch\f39 * Fix the getanimationspeed func to return the real amount
\par \hich\af39\dbch\af31505\loch\f39 * Add a random number generator to th\hich\af39\dbch\af31505\loch\f39 e sprite controller
\par \hich\af39\dbch\af31505\loch\f39 *\hich\af39\dbch\af31505\loch\f39 Add a random number generator to the sprite controller
\par \hich\af39\dbch\af31505\loch\f39 *Allow a change to the tick-speed. Default is 10ms.
\par \hich\af39\dbch\af31505\loch\f39 *Add a spriteController.DestroyAllSprites function
\par \hich\af39\dbch\af31505\loch\f39 * Added the ability to replace a sprite frame. (Sprite.ReplaceImage)
\par \hich\af39\dbch\af31505\loch\f39 * Added a }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\lang9\langfe1033\highlight8\langnp9\insrsid70908 \hich\af40\dbch\af31505\loch\f40 RegisterKeyDownFunction}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 and RegisterKeyUpFunction, a\hich\af40\dbch\af31505\loch\f40
s well as the corresponding events on the keyfilter. This allows you to trigger things when a key is pressed and released.}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908
\par \hich\af39\dbch\af31505\loch\f39 * Added a }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\lang9\langfe1033\highlight8\langnp9\insrsid70908 \hich\af40\dbch\af31505\loch\f40 RegisterKeyDownF\hich\af40\dbch\af31505\loch\f40 unction}{\rtlch\fcs1
\af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 and RegisterKeyUpFunction, as well as the corresponding events on the keyfilter. This allows you to trigger things when a key is pressed and released.}{
\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid70908
\par \hich\af39\dbch\af31505\loch\f39 * Added a function to return all the sprites that intersect with a given rectangle
\par \hich\af39\dbch\af31505\loch\f39 * Added a KeysPressed function that returns a lis\hich\af39\dbch\af31505\loch\f39 t of all the keys which are currently pressed.
\par \hich\af39\dbch\af31505\loch\f39 * Added a Key\hich\af39\dbch\af31505\loch\f39 sPressed function that returns a list of all the keys which are currently pressed.
\par \hich\af39\dbch\af31505\loch\f39 * Repaired a glitch in playing sounds. Set the stream position back to 0 (the beginning so you can play it a second time)
\par \hich\af39\dbch\af31505\loch\f39 *Repaired a small bug with the animate-once function that kept rotating the animation \hich\af39\dbch\af31505\loch\f39 once it had finished.\line * Support for large sprites. SpriteController.}{\rtlch\fcs1 \af39
\par \hich\af39\dbch\af31505\loch\f39 *Repaired a small bug with the animate-once functi\hich\af39\dbch\af31505\loch\f39 on that kept rotating the animation once it had finished.\line * Support for large sprites. SpriteController.}{\rtlch\fcs1 \af39
\ltrch\fcs0 \f39\cf1\lang9\langfe1033\highlight8\langnp9\insrsid70908 \hich\af39\dbch\af31505\loch\f39 OptimizeForLargeSpriteImages}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\cf1\highlight8\insrsid70908 \hich\af39\dbch\af31505\loch\f39
= true/false will resize the sprite and store it in its resized state. It should print the sprite faster this way than if it needs to squish or expand the sp\hich\af39\dbch\af31505\loch\f39 rite every time it goes to print it.
= true/false will resize the sprite and store it in its resized state. It should print the sprite faster this way than if\hich\af39\dbch\af31505\loch\f39 it needs to squish or expand the sprite every time it goes to print it.
\par \hich\af39\dbch\af31505\loch\f39 *Add the ability to specify the starting frame when we tell the sprite to do an animation. }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 public}{\rtlch\fcs1
\af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 void}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 ChangeAnimation(}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 int}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0
@ -136,27 +139,27 @@ s well as the corresponding events on the keyfilter. This allows you to trigger
\b\f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 StartFrame = 0}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid70908 \hich\af40\dbch\af31505\loch\f40 )}{\rtlch\fcs1 \af39 \ltrch\fcs0
\f39\lang9\langfe1033\langnp9\insrsid70908
\par \hich\af39\dbch\af31505\loch\f39 1.0.3
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a problem in the "animate a few times" functio\hich\af39\dbch\af31505\loch\f39 n. It basically would only animate once, regardless of how many times you told it to animate.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a problem in the sound. I was itterating through a list of sounds, and the list changed. My foreach loop would break. Changed that. Thanks, Warren fo\hich\af39\dbch\af31505\loch\f39 r pointing that out.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed MoveTo - Occasionally the MoveTo will break terribly. If you move the sprite to the position where it is, it will make a vector with NaN (Not a Number) and it throws the sprite off to a place waaaay long away.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a problem in the "animate a few times" function. It basically would only animate once, regardless of how many times you told it to animate.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a problem in the sound. I was itterating through a list of sounds, and the list changed. My foreach loop would break. Changed that. Thanks, Warren for pointing that out.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed MoveTo - Occasionally the MoveTo will break terribly. If you move\hich\af39\dbch\af31505\loch\f39
the sprite to the position where it is, it will make a vector with NaN (Not a Number) and it throws the sprite off to a place waaaay long away.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed MoveTo - Would occasionally send the sprite off in the wrong direction for a bit. The "last movement" \hich\af39\dbch\af31505\loch\f39
time was not set, so, when a direction was set, it would think it had been kept from moving for some time, and leap forward that amount of time. This resulted in the sprite suddenly being half-way across the screen in a strange location. All fixed.
\par \hich\af39\dbch\af31505\loch\f39
* Fixed MoveTo - Would occasionally send the sprite off in the wrong direction for a bit. The "last movement" time was not set, so, when a direction was set, it would think it had been kept from moving for some time, and leap forward that amount of time.
\hich\af39\dbch\af31505\loch\f39 \hich\af39\dbch\af31505\loch\f39 This resulted in the sprite suddenly being half-way across the screen in a strange location. All fixed.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed MoveTo(List<Point>). It works much better now. It used to get a slightly off direction (probably a rounding issue) and would not recorrect. \hich\af39\dbch\af31505\loch\f39
It always missed the destination. Changed it to be self correcting.
\par \hich\af39\dbch\af31505\loch\f39 * FIxed faster movement to the left than right (due to dropping of decimals instead of rounding)
\par \hich\af39\dbch\af31505\loch\f39 * Added this release notes file so people can figure out what has changed since the last \hich\af39\dbch\af31505\loch\f39 update.
\par \hich\af39\dbch\af31505\loch\f39 * Fix\hich\af39\dbch\af31505\loch\f39
ed MoveTo(List<Point>). It works much better now. It used to get a slightly off direction (probably a rounding issue) and would not recorrect. It always missed the destination. Changed it to be self correcting.
\par \hich\af39\dbch\af31505\loch\f39 * FIxed faster movement to the left than \hich\af39\dbch\af31505\loch\f39 right (due to dropping of decimals instead of rounding)
\par \hich\af39\dbch\af31505\loch\f39 * Added this release notes file so people can figure out what has changed since the last update.
\par \hich\af39\dbch\af31505\loch\f39 1.0.2
\par \hich\af39\dbch\af31505\loch\f39 * Able to change animation speed
\par \hich\af39\dbch\af31505\loch\f39 * Added MoveTo
\par \hich\af39\dbch\af31505\loch\f39 * Added Mirroring
\par \hich\af39\dbch\af31505\loch\f39 1.0.1
\par \hich\af39\dbch\af31505\loch\f39 * Minor changes (DateTime.Now -> DateTime.UtcNow)
\par \hich\af39\dbch\af31505\loch\f39 * Minor changes (DateTime\hich\af39\dbch\af31505\loch\f39 .Now -> DateTime.UtcNow)
\par \hich\af39\dbch\af31505\loch\f39 * Change to Payload structure. Was "Object" now it is a class of its own: SpritePayload
\par \hich\af39\dbch\af31505\loch\f39 * return sprites at point broke\hich\af39\dbch\af31505\loch\f39
n terribly. Would return all the named sprites which had never been displayed. Finding all the sprites in the top-left corner returned a ton of sprites that should not have been there. Now it only returns sprites that have been printed.
\par \hich\af39\dbch\af31505\loch\f39 1.0.0 Initial V\hich\af39\dbch\af31505\loch\f39 ersion
\par \hich\af39\dbch\af31505\loch\f39 * return sprites at point broken terribly. Would return all the named sprites which had never been displayed. Finding all the sprites in the\hich\af39\dbch\af31505\loch\f39
top-left corner returned a ton of sprites that should not have been there. Now it only returns sprites that have been printed.
\par \hich\af39\dbch\af31505\loch\f39 1.0.0 Initial Version
\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
@ -297,8 +300,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000007059
a7180533d301feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000001066
bf7abb41d301feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}

View File

@ -480,7 +480,14 @@ namespace SpriteLibrary
//If we are dragging, process the dragging
if (WeAreDragging)
{
ChosenArea = AreaFromGridPoints(DragStart, e.Location);
Image NewImage = myDatabase.GetImageFromName(cbStartingImage.SelectedItem.ToString(), true);
Rectangle tRec = AreaFromGridPoints(DragStart, e.Location);
if (tRec.Width > NewImage.Width)
tRec = new Rectangle(tRec.Location.X, tRec.Location.Y, NewImage.Width, tRec.Height);
if (tRec.Height > NewImage.Height)
tRec = new Rectangle(tRec.Location.X, tRec.Location.Y, tRec.Width, NewImage.Height);
ChosenArea = tRec;
UpdateChosenAreaLabel();
}
}
@ -497,7 +504,13 @@ namespace SpriteLibrary
//When the mouse goes up, stop dragging and update
if(WeAreDragging)
{
ChosenArea = AreaFromGridPoints(DragStart, e.Location);
Image NewImage = myDatabase.GetImageFromName(cbStartingImage.SelectedItem.ToString(), true);
Rectangle tRec = AreaFromGridPoints(DragStart, e.Location);
if (tRec.Width > NewImage.Width)
tRec = new Rectangle(tRec.Location.X, tRec.Location.Y, NewImage.Width, tRec.Height);
if (tRec.Height > NewImage.Height)
tRec = new Rectangle(tRec.Location.X, tRec.Location.Y, tRec.Width, NewImage.Height);
ChosenArea = tRec;
UpdateChosenAreaLabel();
}
WeAreDragging = false;