package Ġrh mod ding . bread . model . bcc ad Ċ Ċ import Ġjavafx . scene . paint . Color Ċ import Ġrh mod ding . bread . model . IData Model Ċ import Ġjava . nio . ByteBuffer Ċ import Ġjava . nio . Byte Order ĊĊ Ċ class ĠB CC AD Ġ: ĠI DataModel Ġ{ ĊĠĠĠĠĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġread ( bytes : ĠByteBuffer ): ĠB CC AD Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . order ( Byte Order . LIT TLE _ ENDIAN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠB CC AD (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimestamp Ġ= Ġbytes . int ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsheet W Ġ= Ġbytes . short . to U Short () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsheet H Ġ= Ġbytes . short . to U Short () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( bytes . int ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsprites Ġ+= ĠSprite (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( bytes . int ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparts Ġ+= ĠSprite Part (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion X Ġ= Ġbytes . short . to U Short () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion Y Ġ= Ġbytes . short . to U Short () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion W Ġ= Ġbytes . short . to U Short () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion H Ġ= Ġbytes . short . to U Short () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos X Ġ= Ġbytes . short ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos Y Ġ= Ġbytes . short ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstretch X Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstretch Y Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrotation Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflip X Ġ= Ġbytes . get () Ġ!= Ġ 0 . to Byte () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflip Y Ġ= Ġbytes . get () Ġ!= Ġ 0 . to Byte () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmult Color Ġ= ĠColor . rgb ( bytes . get (). toInt () Ġand Ġ 0 xFF , Ġbytes . get (). toInt () Ġand Ġ 0 xFF , Ġbytes . get (). toInt () Ġand Ġ 0 xFF ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Color Ġ= ĠColor . rgb ( bytes . get (). toInt () Ġand Ġ 0 xFF , Ġbytes . get (). toInt () Ġand Ġ 0 xFF , Ġbytes . get (). toInt () Ġand Ġ 0 xFF ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopacity Ġ= Ġbytes . get (). to U Byte () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( 1 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunknown Data [ it ] Ġ= Ġbytes . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdesign ation Ġ= Ġbytes . get (). to U Byte () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunknown Ġ= Ġbytes . short ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtl Depth Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbl Depth Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtr Depth Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbr Depth Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( bytes . int ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġs Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn Ġ= Ġbytes . get (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ+= Ġbytes . get (). to Char () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( 4 Ġ- Ġ(( n Ġ+ Ġ 1 ) Ġ% Ġ 4 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanimations Ġ+= ĠAnimation (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinterpolation Int Ġ= Ġbytes . int ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( bytes . int ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsteps . add ( Animation Step (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsprite Index Ġ= Ġbytes . short . to U Short () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay Ġ= Ġbytes . short . to U Short () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtranslateX Ġ= Ġbytes . short ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtranslateY Ġ= Ġbytes . short ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepth Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstretch X Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstretch Y Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrotation Ġ= Ġbytes . float ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . rgb ( bytes . get (). toInt () Ġand Ġ 0 xFF , Ġbytes . get (). toInt () Ġand Ġ 0 xFF , Ġbytes . get (). toInt () Ġand Ġ 0 xFF ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunknown 1 Ġ= Ġbytes . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunknown 2 Ġ= Ġbytes . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopacity Ġ= Ġ( bytes . short . toInt () Ġand Ġ 0 xFF ). to U Byte () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġvar Ġtimestamp : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġoverride Ġvar Ġsheet W : ĠU Short Ġ= Ġ 1 u ĊĠĠĠ Ġoverride Ġvar Ġsheet H : ĠU Short Ġ= Ġ 1 u ĊĠĠĠ Ġoverride Ġval Ġsprites : ĠMutable List < Sprite > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġoverride Ġval Ġanimations : ĠMutable List < Animation > Ġ= Ġmutable ListOf () ĊĠĠĠĠĊĠĠĠ Ġfun Ġto Bytes (): ĠByteBuffer Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCompute Ġsize Ġof Ġbuffer ĊĠĠĠĠĠĠĠ Ġ// ĠHeader : Ġ 8 Ġbytes ĊĠĠĠĠĠĠĠ Ġ// ĠNum Ġsprites : Ġ 4 Ġbytes ĊĠĠĠĠĠĠĠ Ġ// ĠFor Ġeach Ġsprite : Ġ 4 Ġbytes ĊĠĠĠĠĠĠĠ Ġ// ĠĠ ĠFor Ġeach Ġsprite Ġpart : Ġ 6 4 Ġbytes ĊĠĠĠĠĠĠĠ Ġ// ĠNum Ġanimations : Ġ 4 Ġbytes ĊĠĠĠĠĠĠĠ Ġ// ĠFor Ġeach Ġanimation : Ġ 1 Ġ+ Ġ( 1 * name . length Ġin Ġbytes , Ġpadded Ġto Ġnearest Ġfour Ġbytes ) Ġ+ Ġ 1 6 ĊĠĠĠĠĠĠĠ Ġ// ĠĠ ĠFor Ġeach Ġanimation Ġstep : Ġ 3 2 Ġbytes ĊĠĠĠĠĠĠĠ Ġ// ĠOne Ġend Ġbyte ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= ĠByteBuffer . allocate ( 8 Ġ+ Ġ 4 Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( 4 Ġ* Ġsprites . size Ġ+ Ġ( 6 4 Ġ* Ġsprites . sum By Ġ{ Ġit . parts . size Ġ}) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ+ Ġ( animations . sum By Ġ{ Ġ 1 Ġ+ Ġit . name . length Ġ+ Ġ( 4 Ġ- Ġ(( it . name . length Ġ+ Ġ 1 ) Ġ% Ġ 4 )) Ġ+ Ġ 8 Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanimations . sum By Ġ{ Ġ 3 2 Ġ* Ġit . steps . size Ġ})) Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. order ( Byte Order . LIT TLE _ ENDIAN ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġbytes . put Int ( timestamp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( sheet W . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( sheet H . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Int ( sprites . size ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġsprites . forEach Ġ{ Ġsprite Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . put Int ( sprite . parts . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsprite . parts . forEach Ġ{ Ġp Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( p ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . put Short ( region X . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( region Y . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( region W . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( region H . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( pos X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( pos Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( stretch X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( stretch Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( rotation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( if Ġ( flip X ) Ġ 1 Ġelse Ġ 0 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( if Ġ( flip Y ) Ġ 1 Ġelse Ġ 0 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( mult Color . red Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( mult Color . green Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( mult Color . blue Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( screen Color . red Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( screen Color . green Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( screen Color . blue Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( opacity . to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( 1 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . put ( unknown Data [ it ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . put ( designation . to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( unknown ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( tl Depth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( bl Depth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( tr Depth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( br Depth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġbytes . put Int ( animations . size ) ĊĠĠĠĠĠĠĠ Ġanimations . forEach Ġ{ Ġa Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( a ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . put ( name . length . to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . toCharArray (). forEach Ġ{ Ġb Ġ-> Ġbytes . put ( b . to Byte ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( 4 Ġ- Ġ(( name . length Ġ+ Ġ 1 ) Ġ% Ġ 4 )) Ġ{ Ġbytes . put ( 0 . to Byte ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . put Int ( interpolation Int ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Int ( steps . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsteps . forEach Ġ{ Ġs Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( s ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes . put Short ( sprite Index . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( delay . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( translate X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( translate Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( depth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( stretch X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( stretch Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Float ( rotation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( color . red Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( color . green Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (( color . blue Ġ* Ġ 2 5 5 ). toInt (). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( 0 . to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( unknown 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( unknown 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Short ( opacity . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbytes . put ( 0 . to Byte ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġbytes ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ""" B CC AD =[ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġtimestamp =$ timestamp , Ġwidth =$ sheet W , Ġheight =$ sheet H , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġnum Sprites =${ sprites . size }, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġsprites =[ ${ sprites . join ToString ( separator Ġ= Ġ"\ n ") }], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġnum Animations =${ animations . size }, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ Ġanimations =[ ${ animations . join ToString ( separator Ġ= Ġ"\ n ") }] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ] """. trim Margin () ĊĠĠĠ Ġ} ĊĠĠĠĠ Ċ }