commit 42484711d6dcd672d02ca82957bc8a5f0db7683a Author: Victor Giers Date: Tue Jun 20 17:25:12 2017 +0200 initial commit diff --git a/Drop.pde b/Drop.pde new file mode 100644 index 0000000..7aab9ad --- /dev/null +++ b/Drop.pde @@ -0,0 +1,41 @@ +void dropEvent(DropEvent theDropEvent) { + if (theDropEvent.isFile()) { + File myFile = theDropEvent.file(); + if (myFile.isDirectory()) { + File filesLevel0[]; + filesLevel0 = theDropEvent.listFilesAsArray(myFile, 0); + boolean containsIdle = false; + boolean containsAction = false; + for (int i = 0; i < filesLevel0.length; i++) { + if (filesLevel0[i].getName().equals("action")) { + containsAction = true; + println("There is an \"action\"-folder. Assuming the idle animation to be interactive."); + } + if (filesLevel0[i].getName().equals("idle")) { + containsIdle = true; + println("There is an \"idle\"-folder. Treating this folder as image sequence container."); + } + } + if (containsIdle) { + File idleDir = new File(theDropEvent.filePath() + "/idle"); + File[] idleFiles = idleDir.listFiles(); + if (activeMarkers < 198) { + if (containsAction) { + File actionDir = new File(theDropEvent.filePath() + "/action"); + File[] actionFiles = actionDir.listFiles(); + marker[activeMarkers] = new Marker(activeMarkers, idleFiles, actionFiles, theDropEvent.x(), theDropEvent.y(),theDropEvent.filePath()); + } else { + marker[activeMarkers] = new Marker(activeMarkers, idleFiles, theDropEvent.x(), theDropEvent.y(),theDropEvent.filePath()); + } + activeMarkers++; + } else { + println("Maximum Amount of Animations reached."); + } + } else { + println("No \"idle\"-folder found. Breaking import..."); + } + } else { + println("Drag and Drop a folder that contains at least an idle animation! That was not a folder!"); + } + } +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1a4a8ab --- /dev/null +++ b/LICENSE @@ -0,0 +1,141 @@ +sssssssssssssssssssssssssssysysssssyyyyyyyyyyyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyssssoosoys+yo/+/+/--.....:++++oosssoosoooooooooooooo+++++++++ooo+++++oooooooo+ooo++/------://::///--o//yoooooooooo++++sssssssoo++++++osssssssooosooosoossoo++oo+++++++++oooooo+++/+++ooooooooooooooooooooo +sssssssssssssssssssssssssyyyyyyyyyyyyyyyysyyssysyyyyyyyyyyyhyyyyyyyysoo+////+ooossssyyhs+yoossso///++////////osss+:--------.....--..................------:+oss+::::::::://::::///++:ys++++++ooooooosssssssoo++ooooosyysssssoossssssssssooooososooooooooosso+++++++ossssssssssssssssssss +sssssssssssssssssssssssssossyyssssyyyyyyyyyyyyysyyyyyyyyyyhhhyyyyyyysssssyyyyyhhyhhhhhhs+yo+yhyyo+++++////::://::------------........................---------::---::::::///+ssyo/++/syyysssssoooo++sssssssssssssssssssssoooooooooossssssssossosssoossssssso+++++++sssssssssssssssssssss +ssssssysssssssssssssssssooosyyssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssoooooo+++osyyyyyyhyshyoyhyso++++ooooooo+oooooooosssosssssssssssoooooooooooo+ooo+++++///++++++//////////+ooy+/ss+sssosssssssssosssssooossssyyyysssssssoosooooosssssssoooosoooooossssssso+++++++sssssssssssssssssssss +sssssssssssssssssssssssooossyysoooosyyyyyyyyyyyyyyyyyyyyhyyyhhhyyyyso/:::::/++/+yyyyyyhhhsysyyyssooooooosssssssssssssyyyyyyyyyyyyyyysssssssyyysssssssssoosoooooooooo++///+++++os+ssssysooooo+//::-::ssssssssssssssssssssssssssssssssssssooooosoo++oossssssso+++++++sssssssssssssssssssss +ysssssssssssssssssssssoosssyysssysssyyysyyyyyhyyyyyyyyyyyhhhyyyyyyyso/::::://+/+syyyyyssyo/ooo+++++++oosoosssssyyysssyyyyyyyyyyssssssssssossssssssssssssssssssooooooo+++///++ooooo/syyssooo+/::-----ssssssssoosssyysssssyyysssyyyysssssoooooosoooooossssssso+++++++ossssssssssssssssssss +yyssssssssssssssssssssssssyyyyoosyyyysoosssyyyyyyyyyyyyyyyhhyyhyyyyso+::::://+/++ooos+/:oo://+ssyyyyyyyyysyysyssssssssyssssssssossoo+o++o++o+oooooooosoooooossssossssooooooo++///::oos++++++/::::---ssssssssssossyssosyyysssssyyyssoosssosssooooossooossssso+++++++ossssssssssssssssssss +yyyyssysssssssssssssssssssyyyysoooooossosossyyyyyyyyyyyyyyhhsyyyyyyysoooooossssyysyyyyo/oo::+osoysossssssssssysssssssssssssssososo+o+o++o++o+o++oooooooooooooooooooooos+soooooo+/-:ooo+ssooo+++////+ssssssssssoossssoossssssssyssoooooososo++ooosssssoosssso++++//+ossssssssssssssssssss +yyyyysyssssssssssssssssssssssyssoo+++ooooossyyyyyyyyyyyyyyhyyyyyyyyyysssssossossssssyyo+oo//+ossyssssyssysssssssssssssssssosoos+oooooo++o++o+oooooooooooooooooooooosooo+ooooooo//::oooosssosoossossossssssssys++ssssoossssssssysoooooo++++++ssoooosssssosssoo+++//+ossssssssssssssssssss +yyyyyyysssssssysssssssssssssssssso+++++oooossyyyyysssyssyyyysyyyyyyyysyyyyssyssyssyyyys+oo//+osoysssssssyssssssssssssssssssssosossooosoosoososoosoooooooooooooooooossoo+ooosoos+/::oooosssosssssosssssssssssss+ossssssssssssssssooo++++++++osooo+osssssoosssso++///ossssssssssssssssssss +yyyyyyyysyssyyssssssssssssssssssso+//++++oossyyyysssssooyyyysyyyyyyyyssssssyyyysssyyyyo+so//+ossyssssyssyssysysssssssssssssssosossosossosoososoosooooooooooooosssssssos+ooooooo//::+ooosssssssssssssssssssssss++ssssossssssssssooo++++++/+ossooooossssssssssssoo//+sssssssssssssssssssss +yyyyyyyyysyyysssssssssssssssssssss+//+++++oosyyyyyssssooyyyssyyyyyyyysoossosysyysyyyyys+so//+ossysssssssyssysysssssssssssssssssossosossosoososoososooooooooossssssososs+oooooss++::+oossssossosooooosssssssssso+ossoossooosssssoo++++////+ossoo++osssssssssosssso++sssssssssssssssssssss +yyyyyyyyyyyyysssssssssssssossssssss//////+oosyyyyssssso+yyysosyyyyyyysssssssysyysyyyyys+so//+ossyssssyysyssssysysssssssssssssssossossssosoososoososoosooooossssssoosossosooosss++:-oosossssssossoosossssssssss+/osso+ssoosssssoo++///////ooosoo++ossssssssssosssssosssssssssssssssssssss +yyyyyyyyyyyyyyysssssssssssoossssssso/://///osysyyssssso/yyyo+syyyyyyyssssssyysyyyyyyyysoso//+ossyssssyssyysysyssssssssssssssssyossssssssysssssoososossosssssssssssosoosossosssso+::ooosssssssossoosossssssssss/:oss+/soooosssso++//:::::+sossoo++ossssssssssssssssssssssssssssssssssssss +yyyyyyyyyyyyyyyyyyyysssssssossssssss+//////+oysysooooso+syy+/shyyyyyyyyssssyyssyyyyyyysoso//+oysyssysyysyyyysyyyysyyssyssyssssyossssssssyssssssssssossosssssssssssosoososoosoos++/:oossssssssossssssssssssssos/-+ss+/oo+++ososo+/:::/::+oossso+++osssssssssoosssssssssssssssssssssssssss +yyyysyyyyysssyyyyyyysssssssoossssssso/::/::/+ssso++++oy+oys/:ohyssyyyyssyssyysyyyyyyyysoss/+osysyssysyssyssysysyysyysyyyyyssysysysssssysyssyssssssssssososssssssssooossossosoosoo/:oosssssssssssssssssssssooos:-/so++o+//++ooo+/::::::/ooossso+++osssssssssoooosssssssssssssssssssssssss +yyyyssyyysssssyyyyyysssssoooooooo+++/:--:::/ossso+++ooyyss+::+hyssssysyssssyyyyyyyyyyysoos/+ooysyysysyssysyysyyyyyyyyyyyyysyysysssssssssyssysssssssssssssssssssssssssssossossosoo/:oosssssssssssssssssssooooos:-:oo+oo+////+oo+/:-:--:/oooosso+++ossssssssssoooossssoossysssssssssssssss +yyyyssyyyssossyyyyyysysssoosso++/////:::::://////+++osyyyo:--+hssssssssssssyyyyyyyyyyyyoos/+oossyyyysysyyyyyyyyyyyyyyyyyyyyyyyysyssyssysyssyssssssssssssssssssssssossosossossssoo/:oosssssssssssoooosssooooooo-.-:ssso+////+++//:------:::///+++++sssssssssso+ooosssoosssyysssssssssssss +yyyyysyyssooossyyyyyyyssso+oosssosoo:--/://++++++++++oyyy+---/hsooossssssssyyyyyyyyyyysoos++osysyysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssyyyssysssssssssssssyssssssssosssssssoo/:+osssssssssssoosooooooo++oo-..-ssso+//:/::::::------/////++++++osssssssssooooosssossyyyyyysssssssssss +yyyyyyyyssoooosyyyyyysssso++oossssoo-.-----::+++///:::+os+---/ysoooosssssysyyyyyyyyyyyssos++osysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysyyssssssssosssssssoo//+osssssssssssossosooooo++oo-..-sss+/:::////:----...-oooosso+/:+osssssssssoooooossosyyyyyyyysyssssssss +yyyyyyyyysoooosyyyyyyyssso/+oossssoo-......-::/::-----/+s+.-./ysooooossssssyyyyyyyyyyyysosoossyyhyyyyyyyhyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssyssssssssoo++osyssssssssssosoosoo+++/+oo-...o++:------:/--......-ooooss+/::+oossssssssoooooosssyyyyyyyyyyyyyyyyyys +yyyyyyyyysso++syyyyyyssss+/+oossssso-..-..---:/-------/+s+..-:ys++o+oosssssyyyyyyyyyhyyssyoossyyhyyyyyyyhyyhyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssysyyssssssoo+osssyssssssssssoooo++++//oo-...oo+:------::--.......ooooss+/::/oossssssssooooossssyyyyyyyyyyyyyyyyyyy +yyyyyyyyyyssoosyyyyyssssso/++ossssss:.:+--...-:-------/+s+...:yo/++++ossyyyyyyyyyyhyhyyssyssssyyyyyyyyyyhyyhyhyyhyhhyhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysyssssyssso+osssyssssssssooooo+++/+//+o-...ooo-------::-.--.--..ssssss+/::/oooossssssoooossssyyyyyyyyyyyyyyyyyyyy +yyyyyyyyyyyyoosyyyysosssso//+ossssso:.-+:/-...:-....../os+...:ys/++++ooosssyyyyyyyyyyyyysyssyyhyhyyyyhyyhyyhyhyhhyhhyhyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysssssysso+ossyyysssssssoo++o+///+//oo-..-oso-....--:-...--::.-ssssss//:-/ooooossyyssssosssyyyyyyyyyyyyyyyyyyyyy +yyyyyyyyyyyyyssyyyysssssso//++ssssss:.-+::/:-:/-....../ss+.../hs/++/+oossssyyyyyyhhyyhyyyysyyhhyhyyhhhhhhhhhyhhhhhhhyhhyyyyyyyyyyyyyyyyyyysyssssyyyyyyyyyyyyyyyyyyyyyyysyysyyyyyssososyyysssssosoo++o+////:/+s-...oso-....--::..::-::.-ssssso/::-/sooooosyyssssssssyyyyyyyyyyyyyyyyyyyyy +yyyyyyyssssssyyyyyssssyyso+++osyssss:..--:::--::--..../sso-../hs///++osssssyyyyyyhhhhhyyyysyhyyyhyyhyhhhhhhhyhhhhhhhhhyyyyyyyyysssssssssssssssssssssssssyyyyyyyyyyyyyyysyysyyyyyso+o+syyssysssssoo++o+//////+s-..-ooo-.....-::::/:::-.-ssssso//::+ssoooosyyssssssssyyyyyyyyyyyyyyyyyyyyy +yyyyyyyyoossssyyyssssyyyss++oosyssss:......---/:-...../sso---/hs+++oossssssyyyyyyhhhhhyosysyhyhyhhyhhhhhhhhhhhhhhhhhyhyyyyyssssooooooooooooooooooooooossssssyyyyyyyyyyysyyyyyyyyso+o+oyyyyysssssooooo+++/+//+s-..-ooo-.....-:::---....-ssssyo+/::+syssooosssossssssyyyyyyyyyyyyyyyyyyyyy +yyyyyyyyoossssyyyssyyyyyysooossysyys/--::----:/:---.--+yso---/hyoooossyyyyyyyyhhyhhhhhysysyhhhhyhhhhhhhhhhhhhhhhhhhyyyyysssoooo++++++///////////++++++ooooosssssyyyyyyyyyyyyyyyyysooo+syyyysssssssooooo+o+++os-..-oso:.....-:/:----...-sssyys+//:+yyyyssosssosssoosyyyyyyyyyyyyyyyyyyyyy +yyyyyyyysossssyyyyyyyyyyysoosssooo++/::///:--/+//:::::oyys--:+hysssssyyyyyyyyyyyyyhyyhyhyyhhdhdddhhhhhhhhhhhyhhhhyysssooo++///::::--.............---::::/++oosssssssysysyyyyyyyyhhsosssssssssssssssssooooooooy:-.-sss/------:/:-------:sssssso+//oyyyyyysssossssoosyyyyyyyyyyyyyyyyyyyyy +yyyyyyyyyssysyyyyyyyyyyyhyyyhhhhyyyyoo++++ooooo++oo+++ooo+///+oosssyyyyhhhhhhhhhyyyhhhyhhyhhdddddhhhhhhhhhyhyhyyysssoo++/:-...........................`....-:/++ooooossosssyyyyhhhs+sssyssoosysssssssooo+++++o::-:sys+/:::::///:::/++++ooooossssssssssyyyysossssooyyyyyyyyyyyyyyyyyyyyyy +yyyyyyyyyyyyyyyyyyyhhhhyyyyssyyyyyyy+::--::/+sssooo+oss+shyssssyyyyyhyhhhhhhhhhhssyhhhhhhhhddddhhhhhhhhhhhhyyyyssoo+/-..`......``........................`.....-:/+ooosssssssyyhhhysysyyyo++oyyyyyyyyyyyyyysooooooo++++/+osssyyhhhhhyyyyyyyyyyyyyyyyyyyyyyssssssssyyyyyyyyyyyyyyyyyyyyyy +yyyyyyyhhhhhyyyyyyyyyyyyyyyyysyyyyyyo::::://+yss++++oso+shysooshhyhyyyyyhhhhyhhyyyhhhhddhhhddhhhhhhyyyyyyyyssso+:-....``.``````````.....................```..``.....-:+ossosoosshyysyhhyyysosyyyyyyyyyyyyyyys//+oyyo+so++/ossyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyyyy +yyyyyyhhyyyyyyyyyyyyyyyyyysysyyyyyyyo//:///+syyyooossso+yhhysshhyyyyyyyyyyyyyhhhhhdddddhhhhdhyyhhhhhhhhhyyyyo/......```..............................```.``.......``...-+sssyyyyyyysyhhhyhhyyyyyyyyyyyyyyyyyhy+osyyo/ooo+oooosyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyyyy +yyyyyyhhhyyyyhyyyoosyyyyyyssyyyyyyyys+////++oyyyssyyyysoyhhhsshhyyhhhhhhhhhhhhhhhddhhhhhhhhhyyhhhhhhhhhyyyo:..`..........................................................-/osyyyyyysyhhhhyhhyhhyhhhhhyyyyhyyhhooyyys+ossssoosyssyyyyyyyyyyyyyyhyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyhhh +hhhhhhhhhyyyyyhyyysssyyyyssssyyyyyyyyo++++ossyhyssyyyhhyhhhhyshhhhhhhhhhhhhhhhhhhddhhdhhhhhdhhhhhhhhhhyys:..........................www.victorgiers.com......................:osyyysoyhyyyyyyyyyyyyyyhyyyyhhhhhooyyyssyyyyosyyyyyyyyyyyyyyyhyhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhh +hhhhhhhhhhyyyhhyyyyssssyyysyyyyyyyyyyoooooossyhyyyyyhhhhhhhysyhhhhhhhhhhhhhhhhhhhhhhhdhhhhhdhhhhdhhhhyo:..`...................Copyright (c) 2017 Victor Giers..................-+yysoyyyyyyhyyyyyyyyyyyyyyyhyhhooyyyyyhyyysyyyyyyyyyyyyyyyhhhhhhhyyyhhhhhhhyyysyyyyyyyyyyyyyyyyyyyhhhhhhh +hhhhhhhhhhhyhhhyyyyyysssyysyyyyyyyhyyooooossshhysyyyhhhhhhhhyyhhhhhhhhhhhhhhhhhhhhdhhddddhhhhhhhhhhys:Permission is hereby granted, free of charge, to any person obtaining a copy:osoyyyyyyhhyyyyhhyyhyyyyhhhyhsoyyyyyhhysyyyyyyyyo+//++oyyhhhhhhyyhhhhhhhhhyyysyyyyyyyyyyyyyyhhhhhhhhhhh +hhhhhhhhhhhhhyhyyyyyyyyyyyyyyyhhyhyyyooossssshhysssyyyhhhhhyyhdhhhhhhhhhhhhhhhhhhhdhhddhhhhhhhhhhhy:.of this software and associated documentation files (the "Software"), to deal.:syhhhhhyyyyyhhhhhhhhhhhhyhsoyhyyyhhyyhyyyhhs+//++///++yhhhhhyhhhhhhhhhhyyyyssyyyhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhyhhhhhhhhhhyyyhhhhhhhhhhhyysssssyhhhyyyyyhhyhhdhyhhhhhhhhhhhhhhhhhhhhddhhdddhhhdhhhh+.....in the Software without restriction, including without limitation the rights...-ohyhhhhyhhhhhhhhhhhhhhhyhsoyhhyyhhyyhyyyyhso+/+///+++oyhhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhyyhyyyyyyyyyyyyyyyyyyhhhhhyhhhhhhhdhyydhhdhhhhhhhhhhhhddhddhddddhhhhhhho......to use, copy, modify, merge, publish, distribute, sublicense, and/or sell.......-yyyyyhhhhhhhhhhhhhhhhhhhsoyhyyyhhyyhhhhhhyso++///++ooshhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhyyyhhhhhhhhhhhhhhhhhhdhyyddhddddhhhhhhhhhddhddhddhhdhyhhhs........-copies of the Software, and to permit persons to whom the Software is........../yyhyhhhhyhhhhhhhhhhhhhhsoyhyyyhhhyhhhhhhhyso+//+++++osooo++++++syhhhhhyyhhyyyhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhssssssyhhhhhhhhhdhhddhhyhdddddddddddhdddhddhddhddhhdhyhhs-.................furnished to do so, subject to the following conditions:................+yhhhhhhyhhhhhhhhhhhhhhyoyhhhhhhhhhhhhhhyoo+//////////:::::::::/+shhhhhhhhhyhhhhhhhhhhhhhhhhhhhhh +hhhhhhdhhhhhhhhhhhhhhhhhhyhhhhhhhhhhyssssssyyhhhhhhhhhhhddhyyhddddddddddhhdddhddhddddddddhyyy:...--The above copyright notice and this permission notice shall be included in all.......-shhhhhhhhhhhhhhhhhhhhhyosyhhhhhhhhhhhhhso++///////::::::::::::///yhhhhhyyhyhhhhhhhhhhhhhhhhhhhhh +hhhhhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhssssssyyhhhhhhhhhhddddyyyhdddddddddddddddhddddddddddhysy/.....copies or substantial portions of the Software, including this very License file......:yhhhhhhhhhhhhhhhhhhhhsooshhhhhhhhhhhhyo+++//////////::::::::////ohhhhhhhhyhyhhhhhhhhhhhhhhhhhhh +hhhdhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhysssssyyhhdhhhhhhhhddddhyyhddddddddddddddddddddddddddhyso.........-----------------------.................................--------------.....---.---.-shhhhhhhhhhhhhhhhhhhhyooshhhhhhhhhddhso++////+/////////:::://///ohhhyyyhhhhyhhhhhhhhhhhhhhhhhhh +ddddhdddddhhhhhhhhhhhhhhhhhhhhhhhhhysssssyyhhhhhhhhhhhddddhyyhdddddddddddddddddddddddddddys+....-------THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR--------/hhhhhhhhhhhhhhhhhhhhysssddhhhhhhhddyo+++//+++++++++////::://///ohhhyhhhhhhhhhhhhhhhhhhhhhhhhhh +ddddddddddddhhhhhhhhhhhhhhhhhhhhhyysssyyyyyhhhhhhhhhhhddddhyyhdddddddddddddddddddddddddddhs/..----------IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,----------yhhhhhhhhhhhhhhhhhhhysssdddhhhhhhhhs+++//+ooooooo++++++/:://///shhhhyhhhhhhhhhhhhhhhhhhhhhhhhh +ddddddhhddddddhhhhhhhhdhhhhhddhhysssssyyyyhhhhhhhhhhhhdhddhhhhdddddddddddddddddddddddddddho------------FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE--------ohhhhhhhhhhhhhhhddhhyssyddhhhhhhhhho+++//+sssyssssssooo+//////+hhhyyhhhhhhhhhdhhhhhhhhhhhhhhhh +ddddddddhhhdddhhhhhhhdddhhhdddhyyyyyyyyyyyhhhddhhhhhhhhhddhhhhdddddddddddddddddddddddddddy+--------------AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER....-------+hhhhhhhhhhhhhhhddhhyssydhhhhhhhhdhoo+++/+ssyyyyyyyyyyyyso++ooyhyyhhhhhyyhhhdddddddddddddhhhhh +ddddddddddhhddddhhhhhhdddhhddhhhhyyhhhhhhhhhhddhdddddddhddhhhddddddddddddddddddddddddddddy/-----------LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,-------/yhhhhhhhhhhhdddddhdhyyyhhhhdhhdddhsoo++/+ssyyhhhhhhhhhhhhhhyyyyyyhhhyhhhddddddddddddddddddddd +dddddddddhhdddhhddhhhhhhhhhdhhhhhhhddddhhhhhhddhddddddddddhhhdddddddddddddddddddddddddddhy:-----------OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE--------yhhhhhhhhhdhdddddddhhyhhhhhhhhdddhsooo+/osyyyyhhyyyyhhhhhyyyyyhyyyhhhhhhhdddddddddddddddddddd +ddddddddhhhhddddhhhddhhhhhyhyhhyyyyhdddhhhhhhddhdddddhddddhhhdhddddddddddddddddddddddddhhs:--------------------------------------........SOFTWARE...........-------------------------------ohhhhhhhdhdddddddhhhyyhhdhhhhhhddhssoo++osyhhhhhhhhsyyyyyyyhhhyyhhhhhhhhddddddddddddddddddddd +dddddddddhhhhhdddddhhhhhhhhhhyhhyyyhddddhhhhhddhddddddhhdddddddhhdddddddddddddddddddddddhs----::---------..........----............................................................--------/hhhhhhhdddddddhhhhhhhhhhhhhhdhdddyysssosyyhhhyyhhhyyyssyyhyyhhddhhhhhhhddddddddddddddddddddd +ddddddddhhhhhdddddddddhhhhhhyyhhhyhhddddhhhhhhhyhddddddhhdhhhddddhddddddddddddddddddddddh+----::-------...........---................................................--.............-------:yhhhhhdddddddhyhhhhhhhhhhhddhhdddhhhhoyhhhdhhhhhhhyyyyyyyhhdddddhhhhhhhddddddddddddddddddddd +ddddddddhhhhddddddddddddddddhdhhhhhddddhhhyyyyssyhdddddhhhhdhddddhhhdddddddddddddddddddhh+----::-----............-----------..................................------------..........-------:yhddddddddhhyyyhddhhddhhhhddddhhhhyyyoyhhhdhhhhhhhhhhhhhdddddddhhhhhhhhddddddddddddddddddddd +ddddddddhhhhdhdddddddddddhhdyhhyyhhhhddddhhhhhhhhhddddhhddddddddhhhhhhhddddddddddddddddhh+----::-----.........--------------------.....................------------::::::-------.....------/hdddddddhhyyyyhhhdhhhddddhdddhhhhhhhhhdddhdhhhhhhhyhyyhhddddddddhhhhhhhddddddddddddddddddddd +ddddddddhhhhhdddddddddddhhhhyhhhhyyhhdddddhhhhhhhhddddddhhhdddddhhyyyhhhhhhdddddddddhdhhyo::-::-----.....-----::::::///:::::::::------................---::::////+////////////::--....-----/hhhhhhhyyyyssssyhddhhhhhdddddhhhhhhdddddddhhhyyhhyossyyhhhhdddddhhhhhhhddddddddddddddddddddd +ddddddddhhhhhddddddddddhhhhhyhhyyyyyhdddddddddddhhdddddhhhdddddhhyyyyyhhhhhddddddddddddyss---::----...---:::://////+++oooooo+++///::---............----://+++oosooooooooo+++///::::-..-----/hhhhhhyyyyssssshhdddhhhhhddddhhddddddddddddhhhhyyhsyyyyyhhhhddddhhhhhhhddddddddddddddddddddd +ddddddddhhhdddddddddddddddhhyyhhhhhhddddddddddddhhddddddhhdddhhyyyyyyyyyyhhhhhhhhddddddyss::-::----..-:::://++++oooosssssyyyyysoo+//:---..........---:/+ooossyyyyyysso+//:::---------------/yyyyyyyyssssssssyhhddhhhhhhhdhhddddhhhhddddhhddhhhhhhhhhhhhddhhhhhhhhhdddddddddddddddddddddd +ddddddddddddddddddddddddddhssyhdddddddddddddddddhdddmdhhhddmhyhhyhhhhhhhhhdddhhdddddddddhs:::::------------:::::://++osyyyyyhhyyyso+/:--..........--::/oossyyyyysssoo++///::::-------------/hhhhhhhhhyyyyyyyyyyhddhhhddddddddddhhhhhddddddddddhhdhdddhhhhdhhhhhhhhdddddddddddddddddddddd +dddddddddddddddddddddddddhsooohdddddddddddddddddhdddddhhhdddhdddhdddddddddddddddddddddddds::::-----:--:::::::://++oooosssssyyyyhyyso+/:--.........--:/+ossyhhhhhhyyysooooo++////:::::------+dddddddddddddddddddhdddhhdddddddddddddhhdddddddddhhhhhdddddhhdhddhhhdddddddddddddddddddddddd +mmmmdddddddddmdmdddddddddho+/+ydddddddddddddddddhdddddhyyhddddddddddddddddddddmdddmddddddy::::-----:::///++++oooo++///+oosyyyysyyhys+/:--.........--:/+sssssyyso+///:////+++oosoo+//::-----+ddddddddddddddddddddddhhhdddddddddhdhddhdddddddddhhhhhddddddddhhdddddddddddddddddddddddddddd +mmmmmmmdddmmmddddddddddddh+::/sdddddddddddddddddddddmdhyyhdddhdddddddddddddddddddmmddddddy::::----:://+osssoo+++//::::::::/++oso+oyyo/:--.........--:/+o++o++//:::::://////+++ossso+/:-----/ddddddddddddddddddddddhhdddddddddddddddddddddddddhhhhhdddddddddhhdddddddddddddddddddddddmmmm +mmmmmdddmmmmdddddddddddddh/:::oddddddhhhhhyhhhhdddhdddsosydddhddhddddddddddddmdddddddddddy::::----:/+osyyysooo++/+///////:::---://:/+/:--....``...---:/:::---::////+++oosssssyssyyyo+:-----/hdddddddddddddddddddddhhhddddhdddddddddddddddddddhhhhhdddddddddddddddddddddddddddddmmmmddmmm +mmmmddmmmmdddddddddddddddh/---odddddhhhhhhhhddhhhhhddds+osdddhddhddddddddddddddddddddddddy::::----::/+oyhdhyhhyyyyyyysssso++//:---::::--............---:-:://++++osyyhdhdddhdhhys+/:::------/+shdddddddddddddddddhhhhdmddhhhhhhhdddddddddddddhhhhhddddddddddddddddddddddmmdddmmmmmmmmmmm +mmmmddmmmddhhhdddmddmmmddh/---odddddhhhhhhhdhhhhhhddddo/+sddhyhdhdddddddddddddddddddddhs++-::------:::://+yhhdhdhhhhdhhyso++/::----.............`.......----::://++ossysooyyyso//:---------....:yddddddddddddddddhhhddmdddhhhhhhhddddddddddddhhhhddddddddddddddddddddddddmmmmmmmmmmmmmmm +mmmmdhmmddhhhhdddmmdmddddh/-..+dddddddhhhdhhddddddddmdso+sdmhyhdhddddddddddddmmdddddds-....-----------::::/+ooosoo+o++//::---...................`..............--:://///+///+/::--------.--...-::sdddddddddddddddddddmmdddddddhhhhdddddddddddhhhdhddddddddddddddddddddmmmmmmmmmmmmmmmmmm +mmmmdhdmdhhhhhdmmmmmmddddh:.../hdddddddddddddddddddddhsoohdmdyhdhddddddddddddddddddds:/-....--------------:::::/:/::::----.......................................--------:-------------..----::-:+hdddddddmddddddddddddddddddddddddddddddddddhhhdhddddddddddddhhddddddmmmmmmmmmmmmmmmmmm +mmmmmdmmdhhyyhddmmmdmddddh:.../ydddddddddhddhhhdddmmmh+++sddysydhddddddddddddddddddd+:-::------------------------------...............................................-----------------...-::+/-.:ydddddddddddddddddmmmmdddddhhhhhhdddddddddddhhdhdddddmdddddhdddddddmmmmmmmmmmmmmmmmmmm +mmmmmdmmdhhyyyddmmmmmddddh:.../yhhdddddddhyyhhhhhddddy/::oddy+sdhddddddddddddddddddy:..:++:::---------------------..........`..............................................---------------:////:-:hddddddddddddddhdddmmddddhhhhyyyhdddddddmddddddhddmdmmdmdddddddddddmmmmmmmmmmmmmmmmmmm +mmmmmmmmmdhhhhdmmmmmmdddos:.../yhhdddddddhyyyhhhhhhddy---+dds/odyhhddddddddddddddddy:--///+/::------------------...............``...................`........................--------------/s+::/oddddddddmddddddhhdddmdddhhhhhyyyhdddddddmmdhhhhdddmmmmmmddddddddddmmmmmmmmmmmmmmmmmmmm +mmmmmmmmmddhhddmmmmmmddo-s-...:yyhhdddddhssyyhhhhhhddy-../hdo-ohyhhddddddddddddddddds+:::+o+::-----------------..............................................................--------------:/so//yddddddddmddddddhhddmmdddhhhhhhhhdddddddmmmddhhhddddmmmmmmdddddddddmmmmmmmmmmmmmmmmmmmm +mmmmmmmddmdhhddmmmmmdd+--s:+o--:-+syyyyyyys+hhhhhhhhds-../hdo-ohyhhdddddddddddddddddh+/+s+:::::------------------...............................``........................----------------://+o/:hddddddddmddddddhhddmmdddhhhhhddddddddddddmddhhhhdddmmmmmmddddddddmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmddmddddmmmmmd+:-:o:sy//:...+sssyyys/yhhhhhhhds-../hdo:ohhddddddddddddddddddddo/+o+/+::/:-------------------.....................................................------------------:++//::yddddddddmddddddhdddmmddhhhhhhddddddddddddmdddhhhddddmmmmmddddddddmmmmmmmmmmmmmmmmmmmmm +mmmmmmmdhddmddmmmmmdo::::s:ss::+-:/osssssss/yhhhhhhhdy:.-+dds+odhdddddddddddddddddddh/:://+o////::--------------------------...........`....................------------------------------:::-:::yddddddddddddddddhddmmddhhhhhhddddddddddddmddddhddddddmmmmddddddddmmmmmmmmmmmmmmmmmmmmm +mmmmmmmdhhhdmddmmmdo///+yh:-:-:ssyyyyyyyyys+yhhhhhhddy:--+ddyosdhdddddddddddddddddddd+::--:////+/::-------------------------------.......--......----.....---------------------------------...-:+ddddddddddmdddddhhhdmmdddhhhhhddddddddddmmmdddhhdmdddddmmmddddddddmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmhhhhdmddmdy++oyhdh:...:shhhhhhhhhddoyhhhhhhddy:::+hdyoshhhdddddddddddddddddddy/:-...-//++/::::-----------------------------...--://:-----:/+/:------------------------------------:..-:/hdddddddddddddddhhhhddmdddhhhhhdddddddmmmmmmddhhhdmmmddddmmdddddhdmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmhyhhhdmddhssyddddh:...:shhdddddhhhhsyhhhhhhddh/::+hdhssdddddhhhhhdhhhdhdddddhhs::-..-:/+o+/:::::::-------------------------::/oyyyyysoo+osyyhyo/::--------------------------------:-.-:yddddddddddddddddhyhdddmdddhhhyhdddddddmmmmmmddhhddmmmmmdddmdddddhdmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmdhhdhdmmhhhdmddddh:...:shdddddhhhhhsyhyhhhhddh/:/ohdhyydhdddhhhhhhhhhhhhdddhhyy+:-..-::/o++//:::::::-----------------------/syhyssssddhhhsosyhhs+:---------------------::::-------:---+hhdddddddddddddddhydddmmddhhhyyydddddddmmmmmmdddhddmmmmmmmmmdmdddddmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmmdddhhdmdmmmmmdddh:...:sdddddddhhhdsyyyhhhhhdd+//ohddhddhdddhhhhhhhhhhhhhhhhhhhy+----://++++//:::::::::--------------------:/ooo+//+yyhys+///++/::-------------------::::::::----::::/yhhhhhhdddddddddmdhyhddmmddhhhyyyhdddddmmmmmmmddhhddmmmmmmmmmdddmddmmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmmmmmdddmddddhhhyyh/---/ydddmmddddddsyyhyhhhdddo++shdddddhhhdyhhyhhhyhhhhdhdhysyyo/::::///+++/////::::::::-----------------------::::://::::-----------------------::::::::::::---/++oydddddddddddddddmmdhyhddmmddhhyyyyddddddmmmmmmmdddddddddddddmmddmmmmmmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmmdddhhdmdmmmmddhhh+:::+dhhdhhhhhhhhoyhhyyhhdmdssosyhddmdhhddyhhhhhhyhhhhdhdhyyyyyys+++o+//+++//////:::::::::------------..........------..-.......--------------:::::::::::::---:shddddddddddddddddddmmdyshddmmddhhyyhhdmmmdddmmmmmmmdddmdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmdhhhhhdmdmmmmmmdddo/::odhhhhyyyyyys+syyyyhhdddyyyyyhddddhhddhhhhhhhyhhhhhddhyyhyyyyhmdys///++///////::::::::::----------...........................-----------:::::::::::::::---/mmddddddddddddddddddmmdyshddddddhyyyyyhdddddddddmmmmdddddmmmmmmmmmmdddmmmmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmhsshhhmmmhhdmmddddo///sdhhhyyyyyyys+syyyyyhddmhyyhyhddddhhdhyhhhhhhyhhhhdhdhysyysyysydmds////////////:::::::::-----------.........................------------::::::::::::::---:shhhdddddddddddddddmdmmdyshddmdddyyyysshdddmddddmmmmmdddddmmmmmdddmmmddmdmmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmms+shhmmmmdyyhdmddds+ooyhhhhhyyyyyysoyyyyyyhhdmdhhhyyhdddhhddhhhyhhhyhhyhhhdhhyyysssssysys+///////////:::::::::-------------....-----......-------------------::::::::::::::----/hhhhhhdhdddddddddddddddhyshhdmdhdyyssssydddmmmmmmmmmddddddmmmddhdmmmmmdmmmmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmdsoyhdmmmmmhyyyhddmyossyydddddhdhhysyyyyyyyhhdmmhhhyyhdddhhddyhhyhhyyhhhhhhdhhyyysssosyosos+/////////::::::::::--------------:://////:---::///////::--------:::::::::::::::----:ohhhhhhhhhhhdhddddddddddhsohhdmdhdyyssssssydmmmmmmmmmddhhhdmmddhdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm +mmmmmmmmhhhmmmhmmmmhyyyhddysyyyydhddddhddyssyyyyyyhhdmmhhhyyhdddhdddyhhyhhhyhhyhhhdyysyysssossoso+o////////:::::::::::::::::::::://++oooooo+++///++++oooooo+++///:::::::::::::::::----+hhhhhdhddddddhhddddddhddhsohhdmdddhyssssoooymmmmmmmmmddhhhddddhdmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNmm +Nmmmmmmmddmmdyymmmmmhyyyhdhyyyyydhddhhhhdyssssyyyyhhdmmddhsyhdddhhhhyhhyhhhyyhhhhhhhysyysssosysso+/+//////:::::::::::::::://+osssoooo+////++ooo++++/////++oossoo+//:::::::::::::::---/yhhhhddhhdddddhdddhdddhdddsohdmmdddyyssssoooydmmmmmmmmdhhhhdddddmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNmmmm +NNNNNNmddmmmysymmmmmmdhhhdhyyyhshhdddhdddysssyyyyyhdmmmmdhyhhhhhhdddhhhhhhyyyhhhhhhyysyysssossoso+//++////::::::::::--:::://+///:--........................---::::::::::::::::::::::/shhhhhhhhhhddhdhhddddddhddhhshdmmdddhyyssssooydmmmmmmmmdhhhhddddmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNmmm +NNNNNmmmmmmhhyhmmmmmmmdhhdhyyyhshhdddddddhyyyyhyhyhhhhhhddhhhhhhhhddyhhyhhyyhhhhhhhyysyssssossoso+://o++////::::::-----:::::::::::::-------...-....-----:::::::::::::::--::::::::::/syhhhhhhhhhdddhhyhhdddddhddhhhhddhhyyyyyyyysssydmmmmmmmmdhhhhdddmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNmmmm +NNNNNmmmmmhhyshmmmmmmmmdhhhhhhhhhhhhhddddhyyyyyyyhhhhdddmhhhhhhhhdddyhhyhhyyhhyhhhhyysyssssossoso+++++so++///::::::--------::::::////////:::--:---::://////:::::::::::----::::::::/syyyhhhhhhhhhdhhdhhhdddddhddhyyhddddyyyyssssssshmmmmmmmmmdhhhdddmmmNNNNNmdmmmmmmmmNNNNNNNNNNNNNNNmmmm +NNNNNmmNmdyhhyhmmmmmmmmmdddhhhdhhhyyyyyyhyssssssyyyydmdddhsyyhhhhhhhyyyyyyyyyyyhhhhyyssssssossoso+++o//syo++///::::----------:::://///+++++++++++++++////::::::::-::::::::::::://+yyyyyhhhhhhhhhdhhdyhhddhddhddhsoyddddhysssooo++oymmmmmmmmmdhhhddmmmmNNNNNmmmmmmmmmmNNNNNNNNNNNNNNmmmmm +NNNNmddmmdyyhhdmmmmmmmmddddhhhdhhhyyyyyhhsooooossssyhddddyosyyhhhhddyhhhyyyyhhyhhhhyysssossossossoooo//+yhyo++//::::-----------::::::://////++///////::::::::::----:::::::::///+oyhyyyyyhhhhhhhhhhhhyhhddddhhddhs+yhdddysooooo++++smmmmmmmmmddhhhdmNmNNNNNNmmmmmmmmmmNNNNNNNNNNNNNNNmmmm +NNNNmdmmmhhyyyhmmmmmmmmmddddhhddhhhhhhhyhsooooossssyhdddhyosyyhdhdddyyhyyyyyyhhhhhhhysssossossossooo+//+oyhdyso+//::::-:-------------::----------------------------::::::://+oo/syyyyyyyhhhhhhhhdhddhhdddddhdddys+yhhddyssooo+++++smmmmmmmmmdhhdddmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN +NNNNmdmmmdhhyyhmmmmmmmmmdhdhyyhddddddddhhsooosossyyyddddhyoydhhdhhddyyyyyyhyyhhhhhhhysysssssssosoooo++/+ssoyhdhyo+//::::-------------------------------------------::::://+sys//syyyyyyyhyyyhhhhhhddhdddddddddhds+yhhddhyysoooo+++smmmmmmmmmdyyhhdmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN +NNNNmdmNmddhhyhmNNmmmmmmdhhhyyhyddddmddddysyyyyyyhhddmmddyoyddhdhhhhs+ooooooshhhddddso+++ooooo++ooooos:oyyo+oyddhys+//:::----------------.............------------:::://oshy+::shhhhhhdddmdmdmmdddddhddddhhyyyhds+yhddddhhhyyyyyyyhmmmmmmmmmdyhyhdmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN +NNNNmmmNNmddhhdmNNNmmmmmdhhyyyhdddmdmddddddhhhhhhhdddddmdsoydhyssssssssyysossssyyyyyo+oo+++oo+++oooos/:syhs+/+sydddhs+//::-----------...................---------::://+shho/:::syyysssssoo+ooo++oosyyyo++++++oyhs+ohdhhyhyysssyyhdhmmmmmmmmmhyyyydmNNNNNNNNmmmmmmmNmmmNNNNNNNNNNNNNNNNNN +NNNNmmdmmNNmdddmNNNNmmmmmdyyyyyyddmdmdddhhdhyyyyyyhhhhhhso+ydhysssssssossso+//////::////://++:://////-//::/o///+oydmdhs+/:::---------...................--------:://oydho/::::--/:::-::::::::::::/ooo++ooooooshds+++oyyysssoooosyyymmmmmmmmmhyysydNNNNNNNNNmmmmNNmdmmNNNNNNNNNNNNNNNNNNN +NNNNNNmhhmNNmmdmmNNmmmmmmdysssysddmdmmdddysyhssssyyyyo+//++yhyyyyyys+//oyysso++/////////:/:++:::::::--::---o+/////oydmmdyo+/::----------.............---------:://oydho/::::::-:/:-:-:::://///+osyyyo/::/oyhhhdhs+////+oysoooooysoymmmmmmmmmhssoshNNmmNNNNmmmmmmmdmmNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdhhmNmmmdmmmmdhdmhsssosddmmmmmddhyssyysssyyo+/////+o+osyys+:::+sddhhhhyyyyyhyys////oysoooos/--//:::+o///////+shmmmhs+//:::-------------------------:::/+ohdho/::::::::osy+:/::yyhhhhhhhhhhddy+/:::/shhdhy+///:::/ssoooysssymmmmmNmmmyssoshNmmNNNmmmmmmmdmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdddhdmmmmmdmmmdmmhsoooomdmmdddddhyyhhyyyhyo//////+s++ooo+/////shdddhhhhhyyyyhhh/ss+hhyyyyyh/--+yhdddo////////+oshdNNmhyo+//:::::-----------::::::://+oyhhs+//::::::::+ssyy/so/hhyyhhhhhddddddys+//::+ydhhho///:::+yyssyhyyhmmmmmmmmmyssoshNNNNmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdddddhhmmmmmdmmmmhso++ommmmdddddddhhyyyysyo///++oydo++++++ossyyhhyhyyyyyyyyyyyyoyyyhyhyyhhh/-/syhddds/:::://///+osydNNNNmhyso++/////:/:////////++osyhhys+///:::::::-:+osssossooooooooooosssooo++++/:/sdhhdhso+/::oyhhhdddmmmmmmmmmmmysooodNNmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdddddddhhmmmmmmmmho+++smmmmdddddddddmhhdhyoosyhhdhssyyy+:--:::+sssyyyssyhyhhsoo+o++++++++++++o++++/++//::://////++oosyhdmNNNmmdhyyysssssssssyyhdddhsoo++///:::::::--:oyyhhhhhhdddddddmmmmmmmdho/::--:+sooosyyysooshddddddmmmmmmmmmNmhsooohmmmmmmmdmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNdddhdmddmdhdmmmmdmho+++sddmddhhyhdddddhhdhhyysyyyyysoooo+/osyyyhhhhhhhyhdmdNNyyysyysyysyyyyhhhhyyhyyyh+/:::::://///+++oooosyhddddmmmmmmmmmddddhysso++++////:::::::---/dmmmmmmmmNNNNNNNNNNNNNNmmmmmddssssssyhhhhyyhhhddddmdmmdoooossyhhysosdmmmmmmdmNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNddhhdddmNNmdddmdmmdhysyyo//://+++dmmmmmdddhhhyhhhhhy+////ymmmhhdddddhhdmmmmNNhyyyyyyyyyyyyyyyyyyyyyssso/:::::::://////++++++++oooooo++++++++++++++++/////:::::::::---/dmmmmNNmmNNNNNNNNNNNNNNmNNNNNNhdhhyyyhyyhyhhdmmmmmmmmmh/+//:::-/oodddmmmmmmNNNmmmmdmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmddhhhhdmNNNmddmmdddd+/:-++//+o++dmmmmmsymdmddddhhhy+///:smmmdddddddddmmmNmNNhyhyyyyyyyyyyyyyyyyyyyyyyo::::::::::////////++++///////////////////////////:::::::::----/dmmmNNNmmNNNNNNNNNNNNNNmNNNNNNhdhhyyyhdmmmNNNNmmmmmmmmy/+/:::o:-:+ddddmdmNNNNNmmdddmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmddhhhhdNNNNNNmdddddd+:-/o---:+++dmmmmmsymmmmdddddhh++//:smmmdddddddddmmmmmNNhhhhhhhyyhhyyyyyyyyyhyyyyo:::::::::::://///////////////:::::::////////////:::::::::-----:dmmmNNNmNNNNNNNNNNNNNNNmNNNNNNhdhhysyhmNNNNNNNNmNmmmmmy:/:-..:---/ddddmNNNNNNNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdhhdhhdNNNNNNNmmdddd/-------///+dmmmmmsymmdddddddhho+//:smmmdhdddddddmmmNNNNhhhhhhhhhhhhhyyhhhyhhhhhhs::::::::::::::////////////::::::::::::////////::::::::::------:hmmNNNNmmNNNNNNNNNNNNNNNNNNNNNyhyysyyhmNNNNNNNNNmmmmmmy://:--...-/sshmNNNNNNNNmmmddddmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdhhhhhdNNNNNNNmNNyo++:...--:+/:+dmmmmmoymddddddddhho++/:ymNmdhdddddmmmmNNNNNdddddhhdddhhhhyhhhhhhhhhhy/:::::::::::::::///////////:::::::::::////////::::::::::------:hmNNNNNmNNNNNNNNNNNNNNNNNNNNNNyhyysyydNNNNNNNNNNmmmmmmy-:/--....-///ymNNNNNNNNmmmdddmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdhhhhddNNNNNNNNNNy+/+-.....-//:+dmmmmmsymdhdmmmddhhso+//ymNmdhmmdddddmmmNNNNdddddddddddhhhhhhdhdddhdhy:::::::::::::::::///////////::::::::::///////:::::::::::------:hmNNNNNmNNNNNNNNNNNNNNNNNNNNNNyhyyyyydNNNNNNNmmmddddddy-::----.../:/smNNNNNNNNmmmmmddmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdhhhhdmNNNNNNNNNNs///-.-::/://:+dddhhhhhddddmmmddhho++//ymNNdhmmdddddmmmNmNNddmdddddddddddhdddddddddds:::::::::::::::://////+++/////::::::////////:::::::::::--------ommmNNNmNNNNNNNNNNNNNNNNNNNNNNyhyyyyhdmmddhhhhyhhhhhddy-::-//:/:-/:/smNNNNNNNNmmddddmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdhhhhhmNNNNNNNNNNs///-/+-:/--::+hhdhhhhhhyyyyyyhhhyoo+/:ymNNddmmmddmmmNNNNNNddmmmmdddddddddddddddddddo:::::::::::::::::///////////////:::////////::::::::::::---------/ydmmmmmNNNNNNNNNNNNNNNNNNNNNyhyysyyssssssssyyyhhhhhdy--..-/::+-/:/smNNNNNNNNmmddmmmNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmddhhhhmNNNNNNmNNNs///-/+:/....-/hhhhhhhhyyyyysssosyso+//ymNNddmmmmmmmmNNNNNNddmmmddddddddddddddddddy/--::::::::::::::::::////////////::::::::::::::::::::::-----------../sdmmmmmmmmmNNNNNNNNNNNNNNNyhyyssyoooossssyyyyhhhdds--...-:/o-+::smNNNNNNNNmmmdmmmNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmddhhhhdNNNNNNmNNNs/:/-//--...--/hhddhhhyyyyyssssooyso+++hmNNddmmmmmmmmNNNNNNddmddddddddddddddddddy/-..-::::::::::::::::::::::::::::::::::::::::::::::::::-------------....:yddmmmmmmmmmmmmmNNNNNNNNyhyyssyoooosssyyhdddmmddy--:.--.-:-/::smNNNNNNNNmmmdmmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdhhhhdmNNNNNNNNNNs///---.---::-/hdddmmhhdhhyysssooyoosoohmNNmdmmmmmmmmmmmmmmhddddddddddddddddddy+..-..-::-:::::::::::::::::::::::::::::::::::::::::::::-:-------------......-/syhddmmmmmmmmmmmmmmmmyhhysssoosyhddmmmmmmmmmdy--:-......+:/smNNNNNNNNmmmmmmmNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmdhhhhdmNNNNNNNNNNs+//-......::-/hdddmmyyNmmmmddhyyyssso+hmNNmdmmmmmmmmmmmmmmhhddhhhhhhhhhhhyso/-.....---::-::::::::::::::::::::::::::::::--::::::::-------------------..........-:osyyyyyyhhhhhhhhdsyyyssyhdmmmmmmmmmmmmmmdy-::......-+:+omNNNNNNNNmmmdmmmmNNNNNNNNNNNNNNNNNNMNN +NNNNNNNmhhhhhdmNNNNNNNNNNs+//-......:/-/dddmmmyyNmmmmmmmmhhssso+hmmmmddddhhyssoo+++/:::------------......`...---::-:::::::::::::::::::::::::-------::::::---------------------...-.......`.....---.....--------://+ossyyhddddmmmmmdy-::-.....-+:/ommNNNNNNNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN +NNNNNNNmhhhhhhdNNNNNNNNNNs+//-.....-//:+dmmmmmsyNmmmmmmmdhyoo++/+o++/::---................................-..----:--::::::::::::::::::::::::--------:::::----------------------...-.............-::--....................---::/+++o+--:......-+:/ommNNNNNNNmdddmmmmNNNNNNNNNNNNNNNNMMNMM +MMMNNNNmhhhhhhdNNNNNNNNNms+/+-.....-:/:+ddddddooyysoo+/::--...................-----:::::-----............-...-------:::::::----:::::::::::::--------::::-----------------------...................--::///+++//:::----.........................--:/hdmmmmNNmmdddmmmmNNNNNNNNMMMMMMMMMMMMM +MNNNNNNdhhhhhhhmNNNmNNNNms+/+:.....-//:/yso+/:...................----:://+oossyyyhhhs////:-..............-...----:---:-----------::::::::::::----------------------------------......................--://++oooooossssoo+++///:::::--.............--:+oyhddmdddmmmmNNNNNNNNNNNNNNNNMMMMM +MMNNMNNmdhhhhhdmNNmmNmNmmy+/+:.....-:-..............--::://+++oosyyhhhddddddddddhysso/:--................-....---------------------::::::::::-------:--------------------------.........................-:/:-..--:+ooysoooossyhyyyysooooo+++/::--........-:/+syhdmmNNNNNNNNNNNNNNNNNNNNN +MMMNNNNmdhhhhhdmNNNmNmmmmyo+/:.............-://+ossyyyyysyyoooooyddddhdddhhys+/:-///:-..................-.....-----------------------::::::::::::-----------------------------............................-:::.......-::/++osyhyyhhy/oo//::/+oyssso//:-........-:/+syhdmNNNNNNNNNNNNNNNN +MMNNNNNmdhhhhyhmmmmmmmdhy+:-..........-//+yhddhhyyyhhhhssss+++++ydddhys+/--....-//:-.....`..............-......------------------------::::::::-------------------------------..............................-::-...`......--:/+oyhhs/oo:::----ooshmsoosso+:--.........:/+syhdmNNNNNNNNNN +NNNNNNNmdhhhyyhddhys+:-..........-:+oss+::dmmmhhhyyyyhyyoos++//+oso/-........-::-...............................------------------------::::::::-----------------------------..................................-...`............-:/+/o+:-:---:osshm+-:ymmmdhyso/:--........--:/oshhdmmmm +NNNNNNNmdhyyso+/:-.........-://+oo++sy+-.-dmmmhhmdddhhyyooo/:-...........`...//:-................................---------------------------:::-----------------------.----....................................--..........``...``...---.----:ossym+--ymNNNmmmdddhyso/::-.........-:/+sy +NNNmmdhyo/:-..........-:+osyso/::-::oh+-.-dddmhydddddhys/:-.................----..................................-------------------------------------------------------.......................................-...............``..........--+oosd/--ymNNNmmmmdmmmNNmddyso/:-.......... +dhs+/:-.........--:+oyhdmhyso/:::::/sho-.-ddddyshhys+/-.....................-......................................-----------------------------------------------------........................................--.....`.......``.`............-/oh/--smmNNmmmmmmmNNNNNNNNmmdhys+/:-.... +-..........-:/osyddmmNNNNhyoo+::::::oy+-.-dddho//:-.........................-......................`...............-----------------------------------------------------..................`...........``.......---.`.`............................:---sddmmmmmmmmmNNNNNNNNNNNNNNmmdhyo+/ +......-:/osyhddmmmmmmNNNNhyoo+::::::oy+-.-ys/-.............................--.......................................---------------------------------------------------...................................-------:....................................+hddmmmmmmmmNNNNNNNNNNNNNNNNNNmmmd +--/+syhdddhhhhmmmmmmNNNNNhyoo+::::::oh+-..:................................-..........................................-------------------------------------..---------....................................--...--:-....................................-+ydmmmmmmmNmmmmNNNNmmmmmmmNNNNNN +hdmmmmmmdhhhhhmmmmmmNNNNNhsso+:::::/oy/...`...............................--...........................................----------------------------------....--------......................................-------:......................................-/ydmmmmmNmmmmmmmmmmmmmNmmmNNNN +mmmmmmmmdddddhdmmmmmNNNNNdyso+:::::::-....................................--....-........................................----.......-------------------........-----.....................................`.....---:........................................./ydmmmNmmmmmmmmmmmmmmNNNNNNN +mmmmmmmNmmdddddmmmmmNNNNNdyo++::::-.......................................--...............................................---.........--------------.........----..................................`...........--:.........................................../hmmmmmmmmmmmmmmNNNNNNNNNN +mmmmmmmNmmdddddmmmmmNNNNNds++o::-......................................`..:-............................................................------------................................................`...........--/............................................-sdmmmmmmmmmmmNNNNNNNNNNN +mmmmmmmNmddddddmmmmmNNmNNds+++:...........................................---...-........................................................----------...................................................`.....----::/............................................../ydmmmmmmmNNNNNNNNNNNNN +mmmmmmmNmmdddddmmmdmNNmNNds+/:............................................--...--................-..........................................------....................................................`.`...--::::/................................................odmmmNNNNNNNNNNNNNNNN +mmmmmmmNmmdddddmddddmNmNmhs/-..........................................`..---..--..........................................................................................................................----::::................................................./hmmmNNNmmmmmmmmmmmm +mmmmmmmNmmdddddmdddddmmddh/...............................................-:-..............................................................................................................................-:::::/:..................................................-smNNNNmmmmmmmmmmmm +mmmmmmmNmmmddddmmmmddddhy/................................................:/:--..-.........................................................................................................................::::::/:....................................................+dmmmmNmmmmmmmmNm +mmmmmmmNmmmmmddmmmmmddhs-.................................................-::-...-........................................................................................................................-::::://:.....................................................:hmmmmmmmNNNNNNN +mmmmmmmNmmmmmddmNmmddho-..................................................-/:------.......................................................................................................................:::::://:......................................................:dmmmmmmmNNNNNN diff --git a/LoadAndSave.pde b/LoadAndSave.pde new file mode 100644 index 0000000..95226b4 --- /dev/null +++ b/LoadAndSave.pde @@ -0,0 +1,48 @@ +void loadSaveFile() { + File xiz10ciList = new File(dataPath("save.gse")); + if (xiz10ciList.exists()) { + String[] saveData = loadStrings("save.gse"); + int entries = int((saveData.length)/7); + for (int i = 0; i < entries; i++) { + int id = int(saveData[i*7]); + String idlePath = saveData[i*7+1]; + String actionPath = saveData[i*7+2]; + int x_position = int(saveData[i*7+3]); + int y_position = int(saveData[i*7+4]); + float w = float(saveData[i*7+5]); + float h = float(saveData[i*7+6]); + marker[activeMarkers] = new Marker(id, idlePath, actionPath, x_position, y_position, w, h); + activeMarkers++; + } + } +} + +FileWriter output = null; +void save_gse() { + File saveFile = new File(saveFilePath); + if (saveFile.exists()) { + saveFile.delete(); + }; + try { + output = new FileWriter(saveFilePath, true); + for (int i = 0; i < activeMarkers; i++) { + marker[i].saveToFile(); + if (!(i == activeMarkers - 1)) { + } + } + } + catch (IOException e) { + println("It Broke"); + e.printStackTrace(); + } + finally { + if (output != null) { + try { + output.close(); + } + catch (IOException e) { + println("Error while closing the writer"); + } + } + } +} \ No newline at end of file diff --git a/Marker.pde b/Marker.pde new file mode 100644 index 0000000..d1fe831 --- /dev/null +++ b/Marker.pde @@ -0,0 +1,163 @@ +Marker[] marker; +class Marker { + PImage[] idleImages; + PImage[] actionImages; + String idlePath; + String actionPath; + int id; + int frameIdle; + int frameAction; + int idleImageCount, actionImageCount; + float canvasPosX, canvasPosY; + float canvasImgW, canvasImgH; + boolean dead; + boolean loadActionRoutine; + boolean hasAction; + boolean waitForPlay; + boolean playAction; + boolean locked; + boolean drag; + boolean hover() { + if (viewX > canvasPosX && viewX < canvasPosX + canvasImgW && viewY > canvasPosY && viewY < canvasPosY+ canvasImgW) { + return true; + } else { + return false; + } + } + Marker(int idtemp, File[] i, int x, int y, String fp) { //casual idle import via drag'n'drop, no action animation + id = idtemp; + idlePath = fp + "/idle"; + loadSequence(i); + hasAction = false; + canvasPosX = viewyfyX(x) - canvasImgW/2; + canvasPosY = viewyfyY(y) - canvasImgH/2; + } + Marker(int idtemp, File[] i, File[] a, int x, int y, String fp) { //casual import via drag'n'drop with action animation + id = idtemp; + idlePath = fp + "/idle"; + actionPath = fp + "/action"; + loadSequence(i); + loadSequence(a); + hasAction = true; + canvasPosX = viewyfyX(x) - canvasImgW/2; + canvasPosY = viewyfyY(y) - canvasImgH/2; + } + Marker(int idtemp, String i, String a, int x, int y, float cw, float ch) { //import from savefile + id = idtemp; + idlePath = i; + actionPath = a; + File idleDir = new File(i); + File[] idleFiles = idleDir.listFiles(); + loadSequence(idleFiles); + if (!a.equals("null")) { + File actionDir = new File(a); + File[] actionFiles = actionDir.listFiles(); + loadSequence(actionFiles); + hasAction = true; + } else { + hasAction = false; + } + canvasPosX = x; + canvasPosY = y; + canvasImgW = cw; + canvasImgH = ch; + } + void loadSequence(File[] filestemp) { //load images + File files[] = filestemp; + String filePaths[] = new String[files.length]; + int imageCount = 0; + for (int i = 0; i < files.length; i++) { + filePaths[i] = files[i].getAbsolutePath(); + if (isImage(filePaths[i])) { + imageCount++; + } + } + filePaths = sort(filePaths); + if (imageCount > 0) { + if (!loadActionRoutine) idleImages = new PImage[imageCount]; + else actionImages = new PImage[imageCount]; + imageCount = 0; + println("Loading animation..."); + for (int i = 0; i < files.length; i++) { + if (isImage(files[i].getAbsolutePath())) { + if (!loadActionRoutine) idleImages[imageCount] = loadImage(filePaths[i]); + else actionImages[imageCount] = loadImage(filePaths[i]); + println("Loading image number..." + imageCount); + imageCount++; + } + } + if (!loadActionRoutine) { + idleImageCount = imageCount; + canvasImgW = idleImages[0].width; //assuming all images have the same size + canvasImgH = idleImages[0].height; + loadActionRoutine = true; //CAREFUL!! This is specifically designed for maximum 2 imports. + } else { + actionImageCount = imageCount; + loadActionRoutine = false; + } + } else { + println("This folder contains no PNGs and / or no GIFs."); + } + } + + void rightClicked() { + if (!locked) { + draggingAsset = true; + drag = true; + clickedMarkerID = id; + } + } + + void leftClicked() { + if (hasAction && !waitForPlay && !playAction) { + waitForPlay = true; + } + } + + void display() { + if (!dead) { + frameIdle = (frameIdle+2) % idleImageCount; + if (waitForPlay) { + if (frameIdle >= idleImageCount - 1) { + waitForPlay = false; + playAction = true; + } + } + if (playAction) { + frameAction = (frameAction+2) % actionImageCount; + renderer.image(actionImages[frameAction], canvasPosX, canvasPosY, canvasImgW, canvasImgH); + if (frameAction >= actionImageCount - 3) { + playAction = false; + frameIdle = 0; + } + } else { + renderer.image(idleImages[frameIdle], canvasPosX, canvasPosY, canvasImgW, canvasImgH); + } + } + } + void saveToFile() throws IOException { //open the IO stream outside... + //output.write("\"id\": " + str(id) + ",\n"); + //output.write("\"idlePath\": \"/" + idlePath + "\",\n"); + //output.write("\"actionPath\": \"" + actionPath + "\",\n"); + //output.write("\"x-position\": " + canvasPosX +",\n"); + //output.write("\"y-position\": " + canvasPosY + ",\n"); + //output.write("\"width\": " + canvasImgW + ",\n"); + //output.write("\"height\": " + canvasImgH); + output.write(str(id) + "\n"); + output.write(idlePath + "\n"); + output.write(actionPath + "\n"); + output.write(canvasPosX +"\n"); + output.write(canvasPosY + "\n"); + output.write(canvasImgW + "\n"); + output.write(canvasImgH + "\n"); + } + void kill() { + dead = true; + drag = false; + Marker temp = marker[activeMarkers-1]; + marker[activeMarkers-1] = marker[id]; + marker[id] = temp; + activeMarkers--; + draggingAsset = false; + } +} \ No newline at end of file diff --git a/MouseAndKey.pde b/MouseAndKey.pde new file mode 100644 index 0000000..691251d --- /dev/null +++ b/MouseAndKey.pde @@ -0,0 +1,85 @@ + +void mousePressed() { + if (!draggingAsset) { + if (mouseButton == CENTER) { + if (!zoomedState && scaleFactor == 1.0) { + zoom(3); + } else { + reset(); + } + zoomedState = !zoomedState; + } else if (mouseButton == RIGHT) { + for (int i=0; i < activeMarkers; i++) { + if (marker[i].hover()) { + marker[i].rightClicked(); + } + } + } else if (mouseButton == LEFT) { + for (int i=0; i < activeMarkers; i++) { + if (marker[i].hover()) { + marker[i].leftClicked(); + } + } + } + } +} + +void mouseClicked(MouseEvent evt) { + if (evt.getCount() == 2) { + draggingAsset = false; + for (int i=0; i < activeMarkers; i++) { + if (marker[i].hover()) { + marker[i].drag = false; + marker[i].locked = !marker[i].locked; + } + } + } +} + +void mouseReleased() { + if (draggingAsset) { + draggingAsset = false; + marker[clickedMarkerID].drag = false; + } +} + +void mouseDragged(MouseEvent e) { + if (zoomedState && !draggingAsset) { + translateX += mouseX - pmouseX; + translateY += mouseY - pmouseY; + collisionDetection(); + } else if (draggingAsset) { + marker[clickedMarkerID].canvasPosX = viewX - marker[clickedMarkerID].canvasImgW/2; + marker[clickedMarkerID].canvasPosY = viewY - marker[clickedMarkerID].canvasImgH/2; + } +} + +void mouseWheel(MouseEvent e) { + float factor = e.getCount() > 0 ? 1.0/1.05 : e.getCount() < 0 ? 1.05 : 1.0; + if (!draggingAsset) { + zoom(factor); + zoomedState = true; + if (scaleFactor <= 1.0 && e.getCount() > 0) { + reset(); + } + } else { + marker[clickedMarkerID].canvasPosX += marker[clickedMarkerID].canvasImgW/2; + marker[clickedMarkerID].canvasImgW *= factor; + marker[clickedMarkerID].canvasPosX -= marker[clickedMarkerID].canvasImgW/2; + marker[clickedMarkerID].canvasPosY += marker[clickedMarkerID].canvasImgH/2; + marker[clickedMarkerID].canvasImgH *= factor; + marker[clickedMarkerID].canvasPosY -= marker[clickedMarkerID].canvasImgH/2; + } +} + +void keyPressed() { + if (draggingAsset) { + if (key == DELETE) { + marker[clickedMarkerID].kill(); + } + } + if (key == 's') { + save_gse(); + println("Saved"); + } +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..10b5152 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +gSprite-Engine +Tiny 2D-animation sprite composer for interactive animation loops + +Places clickable animations on a background image. + +How to use: +To import an animation, drag and drop a folder from your file system to the gse-window. +You can use the example_animation folder and just throw it in the water, I recommend. +The folder must contain another folder called "idle". In this folder, the idle-animation that sould be looping by default must be present as .png or .gif image strip. +Next to the "idle" folder there might an "action" folder be placed. In that folder, place an image strip with an animation that should be triggered if the idle animation is being clicked at. +If gse doesn't find an action folder, it assumes the animation is non-interactive. + +Folder structure: + idle - animationframe0001.png, animationframe0001.png ... + / +animation + \ + action - actionanimationframe0001.png, actionanimationframe0001.png ... + +Once the folder has been imported the animation should instantly be visible on the map. + +Animation controls: +To trigger the action animation, simply left-click the animation. The action animation will be started after the current loop of the idle animation has finished. +To move the animation around, right-click and drag it. +To scale an animation, right-click it and keep pushing while scrolling the mouse wheel. +To delete an animation, right-click it and keep pushing while pressing Del. +To lock an animation, so you can't move it anymore by accident, double click it. Double click again, to unlock it. +Navigation controls: +Middle mouse click to zoom in and out at fixed positions. +Mouse wheel scroll to zoom dynamically. +Left-click on the background to drag the map around. + +To save the setup as .gse file, press s. The program will automatically load the save file on startup. It is located in the sketches data folder. Back it up now and then ~. diff --git a/View.pde b/View.pde new file mode 100644 index 0000000..00c283c --- /dev/null +++ b/View.pde @@ -0,0 +1,41 @@ +void calculateViewport() { + //fokkin mahjick viewport calculateion scale translate tath bitch back and map to mouse + viewportX = map(-translateX/scaleFactor, 0, width, 0, renderer.width); + viewportW = map((-translateX+width)/scaleFactor - (-translateX/scaleFactor), 0, width, 0, renderer.width); + viewportR = map((-translateX+width)/scaleFactor, 0, width, 0, renderer.width); + viewportY = map(-translateY/scaleFactor, 0, height, 0, renderer.height); + viewportH = map((-translateY+height)/scaleFactor - (-translateY/scaleFactor), 0, height, 0, renderer.height); + viewportB = map((-translateY+height)/scaleFactor, 0, height, 0, renderer.height); + viewX = map(mouseX, 0, width, viewportX, viewportR); + viewY = map(mouseY, 0, height, viewportY, viewportB); +} +float viewyfyX(float x) { + return map(x, 0, width, viewportX, viewportR); +} +float viewyfyY(float y) { + return map(y, 0, height, viewportY, viewportB); +} + +void zoom(float delta) { + translateX -= mouseX; + translateY -= mouseY; + scaleFactor *= delta; + translateX *= delta; + translateY *= delta; + translateX += mouseX; + translateY += mouseY; + collisionDetection(); +} + +void collisionDetection() { + while (translateX*scaleFactor > 0.0) translateX--; + while (translateY*scaleFactor > 0.0) translateY--; + while (translateX+width*scaleFactor < width) translateX++; + while (translateY+height*scaleFactor < height) translateY++; +} + +void reset() { + scaleFactor = 1; + translateX = 0.0; + translateY = 0.0; +} \ No newline at end of file diff --git a/assets/background.jpg b/assets/background.jpg new file mode 100644 index 0000000..b3d27a1 Binary files /dev/null and b/assets/background.jpg differ diff --git a/data/save.gse b/data/save.gse new file mode 100644 index 0000000..5a11f77 --- /dev/null +++ b/data/save.gse @@ -0,0 +1,7 @@ +0 +/home/giers/0ARBEIT/SpriteEngine/gse/example_animation/idle +/home/giers/0ARBEIT/SpriteEngine/gse/example_animation/action +2149.8884 +1619.6163 +350.2232 +260.76724 diff --git a/example_animation/action/frame0000.png b/example_animation/action/frame0000.png new file mode 100644 index 0000000..e69ecdb Binary files /dev/null and b/example_animation/action/frame0000.png differ diff --git a/example_animation/action/frame0001.png b/example_animation/action/frame0001.png new file mode 100644 index 0000000..6418ac6 Binary files /dev/null and b/example_animation/action/frame0001.png differ diff --git a/example_animation/action/frame0002.png b/example_animation/action/frame0002.png new file mode 100644 index 0000000..7fe9fb7 Binary files /dev/null and b/example_animation/action/frame0002.png differ diff --git a/example_animation/action/frame0003.png b/example_animation/action/frame0003.png new file mode 100644 index 0000000..a7609e1 Binary files /dev/null and b/example_animation/action/frame0003.png differ diff --git a/example_animation/action/frame0004.png b/example_animation/action/frame0004.png new file mode 100644 index 0000000..bed8b33 Binary files /dev/null and b/example_animation/action/frame0004.png differ diff --git a/example_animation/action/frame0005.png b/example_animation/action/frame0005.png new file mode 100644 index 0000000..188435f Binary files /dev/null and b/example_animation/action/frame0005.png differ diff --git a/example_animation/action/frame0006.png b/example_animation/action/frame0006.png new file mode 100644 index 0000000..9ab52cc Binary files /dev/null and b/example_animation/action/frame0006.png differ diff --git a/example_animation/action/frame0007.png b/example_animation/action/frame0007.png new file mode 100644 index 0000000..1138f31 Binary files /dev/null and b/example_animation/action/frame0007.png differ diff --git a/example_animation/action/frame0008.png b/example_animation/action/frame0008.png new file mode 100644 index 0000000..b7dd091 Binary files /dev/null and b/example_animation/action/frame0008.png differ diff --git a/example_animation/action/frame0009.png b/example_animation/action/frame0009.png new file mode 100644 index 0000000..19ff255 Binary files /dev/null and b/example_animation/action/frame0009.png differ diff --git a/example_animation/action/frame0010.png b/example_animation/action/frame0010.png new file mode 100644 index 0000000..b4a99ab Binary files /dev/null and b/example_animation/action/frame0010.png differ diff --git a/example_animation/action/frame0011.png b/example_animation/action/frame0011.png new file mode 100644 index 0000000..b6da3c5 Binary files /dev/null and b/example_animation/action/frame0011.png differ diff --git a/example_animation/action/frame0012.png b/example_animation/action/frame0012.png new file mode 100644 index 0000000..21bd31c Binary files /dev/null and b/example_animation/action/frame0012.png differ diff --git a/example_animation/action/frame0013.png b/example_animation/action/frame0013.png new file mode 100644 index 0000000..0aa65e4 Binary files /dev/null and b/example_animation/action/frame0013.png differ diff --git a/example_animation/action/frame0014.png b/example_animation/action/frame0014.png new file mode 100644 index 0000000..c5c8db5 Binary files /dev/null and b/example_animation/action/frame0014.png differ diff --git a/example_animation/action/frame0015.png b/example_animation/action/frame0015.png new file mode 100644 index 0000000..9ccc2da Binary files /dev/null and b/example_animation/action/frame0015.png differ diff --git a/example_animation/action/frame0016.png b/example_animation/action/frame0016.png new file mode 100644 index 0000000..9ab52cc Binary files /dev/null and b/example_animation/action/frame0016.png differ diff --git a/example_animation/action/frame0017.png b/example_animation/action/frame0017.png new file mode 100644 index 0000000..188435f Binary files /dev/null and b/example_animation/action/frame0017.png differ diff --git a/example_animation/action/frame0018.png b/example_animation/action/frame0018.png new file mode 100644 index 0000000..bed8b33 Binary files /dev/null and b/example_animation/action/frame0018.png differ diff --git a/example_animation/action/frame0019.png b/example_animation/action/frame0019.png new file mode 100644 index 0000000..a7609e1 Binary files /dev/null and b/example_animation/action/frame0019.png differ diff --git a/example_animation/action/frame0020.png b/example_animation/action/frame0020.png new file mode 100644 index 0000000..7fe9fb7 Binary files /dev/null and b/example_animation/action/frame0020.png differ diff --git a/example_animation/action/frame0021.png b/example_animation/action/frame0021.png new file mode 100644 index 0000000..3c69002 Binary files /dev/null and b/example_animation/action/frame0021.png differ diff --git a/example_animation/action/frame0022.png b/example_animation/action/frame0022.png new file mode 100644 index 0000000..2ec93cc Binary files /dev/null and b/example_animation/action/frame0022.png differ diff --git a/example_animation/action/frame0023.png b/example_animation/action/frame0023.png new file mode 100644 index 0000000..c6acff7 Binary files /dev/null and b/example_animation/action/frame0023.png differ diff --git a/example_animation/action/frame0024.png b/example_animation/action/frame0024.png new file mode 100644 index 0000000..e798bd8 Binary files /dev/null and b/example_animation/action/frame0024.png differ diff --git a/example_animation/action/frame0025.png b/example_animation/action/frame0025.png new file mode 100644 index 0000000..7fe9fb7 Binary files /dev/null and b/example_animation/action/frame0025.png differ diff --git a/example_animation/action/frame0026.png b/example_animation/action/frame0026.png new file mode 100644 index 0000000..a7609e1 Binary files /dev/null and b/example_animation/action/frame0026.png differ diff --git a/example_animation/action/frame0027.png b/example_animation/action/frame0027.png new file mode 100644 index 0000000..b4ca5a1 Binary files /dev/null and b/example_animation/action/frame0027.png differ diff --git a/example_animation/action/frame0028.png b/example_animation/action/frame0028.png new file mode 100644 index 0000000..469f88e Binary files /dev/null and b/example_animation/action/frame0028.png differ diff --git a/example_animation/action/frame0029.png b/example_animation/action/frame0029.png new file mode 100644 index 0000000..0e0600a Binary files /dev/null and b/example_animation/action/frame0029.png differ diff --git a/example_animation/action/frame0030.png b/example_animation/action/frame0030.png new file mode 100644 index 0000000..9e725b4 Binary files /dev/null and b/example_animation/action/frame0030.png differ diff --git a/example_animation/action/frame0031.png b/example_animation/action/frame0031.png new file mode 100644 index 0000000..70f90ff Binary files /dev/null and b/example_animation/action/frame0031.png differ diff --git a/example_animation/action/frame0032.png b/example_animation/action/frame0032.png new file mode 100644 index 0000000..0c07c79 Binary files /dev/null and b/example_animation/action/frame0032.png differ diff --git a/example_animation/action/frame0033.png b/example_animation/action/frame0033.png new file mode 100644 index 0000000..8632c6c Binary files /dev/null and b/example_animation/action/frame0033.png differ diff --git a/example_animation/action/frame0034.png b/example_animation/action/frame0034.png new file mode 100644 index 0000000..5a9b99a Binary files /dev/null and b/example_animation/action/frame0034.png differ diff --git a/example_animation/action/frame0035.png b/example_animation/action/frame0035.png new file mode 100644 index 0000000..74de70b Binary files /dev/null and b/example_animation/action/frame0035.png differ diff --git a/example_animation/action/frame0036.png b/example_animation/action/frame0036.png new file mode 100644 index 0000000..8637643 Binary files /dev/null and b/example_animation/action/frame0036.png differ diff --git a/example_animation/action/frame0037.png b/example_animation/action/frame0037.png new file mode 100644 index 0000000..a12f316 Binary files /dev/null and b/example_animation/action/frame0037.png differ diff --git a/example_animation/action/frame0038.png b/example_animation/action/frame0038.png new file mode 100644 index 0000000..817b84a Binary files /dev/null and b/example_animation/action/frame0038.png differ diff --git a/example_animation/action/frame0039.png b/example_animation/action/frame0039.png new file mode 100644 index 0000000..cc82170 Binary files /dev/null and b/example_animation/action/frame0039.png differ diff --git a/example_animation/action/frame0040.png b/example_animation/action/frame0040.png new file mode 100644 index 0000000..c9375fe Binary files /dev/null and b/example_animation/action/frame0040.png differ diff --git a/example_animation/action/frame0041.png b/example_animation/action/frame0041.png new file mode 100644 index 0000000..6130c7a Binary files /dev/null and b/example_animation/action/frame0041.png differ diff --git a/example_animation/action/frame0042.png b/example_animation/action/frame0042.png new file mode 100644 index 0000000..e026f78 Binary files /dev/null and b/example_animation/action/frame0042.png differ diff --git a/example_animation/action/frame0043.png b/example_animation/action/frame0043.png new file mode 100644 index 0000000..5472b98 Binary files /dev/null and b/example_animation/action/frame0043.png differ diff --git a/example_animation/action/frame0044.png b/example_animation/action/frame0044.png new file mode 100644 index 0000000..edeebbb Binary files /dev/null and b/example_animation/action/frame0044.png differ diff --git a/example_animation/action/frame0045.png b/example_animation/action/frame0045.png new file mode 100644 index 0000000..555e9c9 Binary files /dev/null and b/example_animation/action/frame0045.png differ diff --git a/example_animation/action/frame0046.png b/example_animation/action/frame0046.png new file mode 100644 index 0000000..2696a19 Binary files /dev/null and b/example_animation/action/frame0046.png differ diff --git a/example_animation/action/frame0047.png b/example_animation/action/frame0047.png new file mode 100644 index 0000000..7ac11b1 Binary files /dev/null and b/example_animation/action/frame0047.png differ diff --git a/example_animation/action/frame0048.png b/example_animation/action/frame0048.png new file mode 100644 index 0000000..6dc4d33 Binary files /dev/null and b/example_animation/action/frame0048.png differ diff --git a/example_animation/action/frame0049.png b/example_animation/action/frame0049.png new file mode 100644 index 0000000..789a6f5 Binary files /dev/null and b/example_animation/action/frame0049.png differ diff --git a/example_animation/action/frame0050.png b/example_animation/action/frame0050.png new file mode 100644 index 0000000..7368dfe Binary files /dev/null and b/example_animation/action/frame0050.png differ diff --git a/example_animation/action/frame0051.png b/example_animation/action/frame0051.png new file mode 100644 index 0000000..4223e51 Binary files /dev/null and b/example_animation/action/frame0051.png differ diff --git a/example_animation/action/frame0052.png b/example_animation/action/frame0052.png new file mode 100644 index 0000000..0ad0e6a Binary files /dev/null and b/example_animation/action/frame0052.png differ diff --git a/example_animation/action/frame0053.png b/example_animation/action/frame0053.png new file mode 100644 index 0000000..a79b571 Binary files /dev/null and b/example_animation/action/frame0053.png differ diff --git a/example_animation/action/frame0054.png b/example_animation/action/frame0054.png new file mode 100644 index 0000000..87510e1 Binary files /dev/null and b/example_animation/action/frame0054.png differ diff --git a/example_animation/action/frame0055.png b/example_animation/action/frame0055.png new file mode 100644 index 0000000..7a81a50 Binary files /dev/null and b/example_animation/action/frame0055.png differ diff --git a/example_animation/action/frame0056.png b/example_animation/action/frame0056.png new file mode 100644 index 0000000..57b8699 Binary files /dev/null and b/example_animation/action/frame0056.png differ diff --git a/example_animation/action/frame0057.png b/example_animation/action/frame0057.png new file mode 100644 index 0000000..c810490 Binary files /dev/null and b/example_animation/action/frame0057.png differ diff --git a/example_animation/action/frame0058.png b/example_animation/action/frame0058.png new file mode 100644 index 0000000..eca2808 Binary files /dev/null and b/example_animation/action/frame0058.png differ diff --git a/example_animation/action/frame0059.png b/example_animation/action/frame0059.png new file mode 100644 index 0000000..38bcae2 Binary files /dev/null and b/example_animation/action/frame0059.png differ diff --git a/example_animation/action/frame0060.png b/example_animation/action/frame0060.png new file mode 100644 index 0000000..5dbeb41 Binary files /dev/null and b/example_animation/action/frame0060.png differ diff --git a/example_animation/action/frame0061.png b/example_animation/action/frame0061.png new file mode 100644 index 0000000..3376de3 Binary files /dev/null and b/example_animation/action/frame0061.png differ diff --git a/example_animation/action/frame0062.png b/example_animation/action/frame0062.png new file mode 100644 index 0000000..4307a0c Binary files /dev/null and b/example_animation/action/frame0062.png differ diff --git a/example_animation/action/frame0063.png b/example_animation/action/frame0063.png new file mode 100644 index 0000000..0c69b49 Binary files /dev/null and b/example_animation/action/frame0063.png differ diff --git a/example_animation/action/frame0064.png b/example_animation/action/frame0064.png new file mode 100644 index 0000000..404f9f0 Binary files /dev/null and b/example_animation/action/frame0064.png differ diff --git a/example_animation/action/frame0065.png b/example_animation/action/frame0065.png new file mode 100644 index 0000000..c9b5bae Binary files /dev/null and b/example_animation/action/frame0065.png differ diff --git a/example_animation/action/frame0066.png b/example_animation/action/frame0066.png new file mode 100644 index 0000000..ca9f466 Binary files /dev/null and b/example_animation/action/frame0066.png differ diff --git a/example_animation/action/frame0067.png b/example_animation/action/frame0067.png new file mode 100644 index 0000000..b4e2ff1 Binary files /dev/null and b/example_animation/action/frame0067.png differ diff --git a/example_animation/action/frame0068.png b/example_animation/action/frame0068.png new file mode 100644 index 0000000..ab48039 Binary files /dev/null and b/example_animation/action/frame0068.png differ diff --git a/example_animation/action/frame0069.png b/example_animation/action/frame0069.png new file mode 100644 index 0000000..1b2eb23 Binary files /dev/null and b/example_animation/action/frame0069.png differ diff --git a/example_animation/action/frame0070.png b/example_animation/action/frame0070.png new file mode 100644 index 0000000..a20fd7f Binary files /dev/null and b/example_animation/action/frame0070.png differ diff --git a/example_animation/action/frame0071.png b/example_animation/action/frame0071.png new file mode 100644 index 0000000..98a818c Binary files /dev/null and b/example_animation/action/frame0071.png differ diff --git a/example_animation/action/frame0072.png b/example_animation/action/frame0072.png new file mode 100644 index 0000000..0c7d478 Binary files /dev/null and b/example_animation/action/frame0072.png differ diff --git a/example_animation/action/frame0073.png b/example_animation/action/frame0073.png new file mode 100644 index 0000000..c708c90 Binary files /dev/null and b/example_animation/action/frame0073.png differ diff --git a/example_animation/action/frame0074.png b/example_animation/action/frame0074.png new file mode 100644 index 0000000..b90e64c Binary files /dev/null and b/example_animation/action/frame0074.png differ diff --git a/example_animation/action/frame0075.png b/example_animation/action/frame0075.png new file mode 100644 index 0000000..aba483e Binary files /dev/null and b/example_animation/action/frame0075.png differ diff --git a/example_animation/action/frame0076.png b/example_animation/action/frame0076.png new file mode 100644 index 0000000..7f1424f Binary files /dev/null and b/example_animation/action/frame0076.png differ diff --git a/example_animation/action/frame0077.png b/example_animation/action/frame0077.png new file mode 100644 index 0000000..eff8292 Binary files /dev/null and b/example_animation/action/frame0077.png differ diff --git a/example_animation/action/frame0078.png b/example_animation/action/frame0078.png new file mode 100644 index 0000000..7e2e208 Binary files /dev/null and b/example_animation/action/frame0078.png differ diff --git a/example_animation/action/frame0079.png b/example_animation/action/frame0079.png new file mode 100644 index 0000000..aebc9d7 Binary files /dev/null and b/example_animation/action/frame0079.png differ diff --git a/example_animation/action/frame0080.png b/example_animation/action/frame0080.png new file mode 100644 index 0000000..d541af7 Binary files /dev/null and b/example_animation/action/frame0080.png differ diff --git a/example_animation/action/frame0081.png b/example_animation/action/frame0081.png new file mode 100644 index 0000000..3a14187 Binary files /dev/null and b/example_animation/action/frame0081.png differ diff --git a/example_animation/action/frame0082.png b/example_animation/action/frame0082.png new file mode 100644 index 0000000..9ced098 Binary files /dev/null and b/example_animation/action/frame0082.png differ diff --git a/example_animation/action/frame0083.png b/example_animation/action/frame0083.png new file mode 100644 index 0000000..770adb8 Binary files /dev/null and b/example_animation/action/frame0083.png differ diff --git a/example_animation/action/frame0084.png b/example_animation/action/frame0084.png new file mode 100644 index 0000000..8f17b9b Binary files /dev/null and b/example_animation/action/frame0084.png differ diff --git a/example_animation/action/frame0085.png b/example_animation/action/frame0085.png new file mode 100644 index 0000000..3e5e835 Binary files /dev/null and b/example_animation/action/frame0085.png differ diff --git a/example_animation/action/frame0086.png b/example_animation/action/frame0086.png new file mode 100644 index 0000000..e00f968 Binary files /dev/null and b/example_animation/action/frame0086.png differ diff --git a/example_animation/action/frame0087.png b/example_animation/action/frame0087.png new file mode 100644 index 0000000..1011a4e Binary files /dev/null and b/example_animation/action/frame0087.png differ diff --git a/example_animation/action/frame0088.png b/example_animation/action/frame0088.png new file mode 100644 index 0000000..ced0e1d Binary files /dev/null and b/example_animation/action/frame0088.png differ diff --git a/example_animation/action/frame0089.png b/example_animation/action/frame0089.png new file mode 100644 index 0000000..b4a527c Binary files /dev/null and b/example_animation/action/frame0089.png differ diff --git a/example_animation/action/frame0090.png b/example_animation/action/frame0090.png new file mode 100644 index 0000000..62ba392 Binary files /dev/null and b/example_animation/action/frame0090.png differ diff --git a/example_animation/action/frame0091.png b/example_animation/action/frame0091.png new file mode 100644 index 0000000..5a0c278 Binary files /dev/null and b/example_animation/action/frame0091.png differ diff --git a/example_animation/action/frame0092.png b/example_animation/action/frame0092.png new file mode 100644 index 0000000..a4d9f61 Binary files /dev/null and b/example_animation/action/frame0092.png differ diff --git a/example_animation/action/frame0093.png b/example_animation/action/frame0093.png new file mode 100644 index 0000000..75afeb1 Binary files /dev/null and b/example_animation/action/frame0093.png differ diff --git a/example_animation/action/frame0094.png b/example_animation/action/frame0094.png new file mode 100644 index 0000000..62b11c8 Binary files /dev/null and b/example_animation/action/frame0094.png differ diff --git a/example_animation/action/frame0095.png b/example_animation/action/frame0095.png new file mode 100644 index 0000000..d768ea0 Binary files /dev/null and b/example_animation/action/frame0095.png differ diff --git a/example_animation/action/frame0096.png b/example_animation/action/frame0096.png new file mode 100644 index 0000000..6348a39 Binary files /dev/null and b/example_animation/action/frame0096.png differ diff --git a/example_animation/action/frame0097.png b/example_animation/action/frame0097.png new file mode 100644 index 0000000..1e5c801 Binary files /dev/null and b/example_animation/action/frame0097.png differ diff --git a/example_animation/action/frame0098.png b/example_animation/action/frame0098.png new file mode 100644 index 0000000..529122a Binary files /dev/null and b/example_animation/action/frame0098.png differ diff --git a/example_animation/action/frame0099.png b/example_animation/action/frame0099.png new file mode 100644 index 0000000..84beb40 Binary files /dev/null and b/example_animation/action/frame0099.png differ diff --git a/example_animation/action/frame0100.png b/example_animation/action/frame0100.png new file mode 100644 index 0000000..8613886 Binary files /dev/null and b/example_animation/action/frame0100.png differ diff --git a/example_animation/action/frame0101.png b/example_animation/action/frame0101.png new file mode 100644 index 0000000..83cf340 Binary files /dev/null and b/example_animation/action/frame0101.png differ diff --git a/example_animation/action/frame0102.png b/example_animation/action/frame0102.png new file mode 100644 index 0000000..553d2e8 Binary files /dev/null and b/example_animation/action/frame0102.png differ diff --git a/example_animation/action/frame0103.png b/example_animation/action/frame0103.png new file mode 100644 index 0000000..37427a2 Binary files /dev/null and b/example_animation/action/frame0103.png differ diff --git a/example_animation/action/frame0104.png b/example_animation/action/frame0104.png new file mode 100644 index 0000000..907bbbe Binary files /dev/null and b/example_animation/action/frame0104.png differ diff --git a/example_animation/action/frame0105.png b/example_animation/action/frame0105.png new file mode 100644 index 0000000..bf55d68 Binary files /dev/null and b/example_animation/action/frame0105.png differ diff --git a/example_animation/action/frame0106.png b/example_animation/action/frame0106.png new file mode 100644 index 0000000..d07c366 Binary files /dev/null and b/example_animation/action/frame0106.png differ diff --git a/example_animation/action/frame0107.png b/example_animation/action/frame0107.png new file mode 100644 index 0000000..85e7ecc Binary files /dev/null and b/example_animation/action/frame0107.png differ diff --git a/example_animation/action/frame0108.png b/example_animation/action/frame0108.png new file mode 100644 index 0000000..60d5ee3 Binary files /dev/null and b/example_animation/action/frame0108.png differ diff --git a/example_animation/action/frame0109.png b/example_animation/action/frame0109.png new file mode 100644 index 0000000..ceb9908 Binary files /dev/null and b/example_animation/action/frame0109.png differ diff --git a/example_animation/action/frame0110.png b/example_animation/action/frame0110.png new file mode 100644 index 0000000..1c62780 Binary files /dev/null and b/example_animation/action/frame0110.png differ diff --git a/example_animation/action/frame0111.png b/example_animation/action/frame0111.png new file mode 100644 index 0000000..b335e6d Binary files /dev/null and b/example_animation/action/frame0111.png differ diff --git a/example_animation/action/frame0112.png b/example_animation/action/frame0112.png new file mode 100644 index 0000000..52fd9a2 Binary files /dev/null and b/example_animation/action/frame0112.png differ diff --git a/example_animation/action/frame0113.png b/example_animation/action/frame0113.png new file mode 100644 index 0000000..31e5e8c Binary files /dev/null and b/example_animation/action/frame0113.png differ diff --git a/example_animation/action/frame0114.png b/example_animation/action/frame0114.png new file mode 100644 index 0000000..280afbe Binary files /dev/null and b/example_animation/action/frame0114.png differ diff --git a/example_animation/action/frame0115.png b/example_animation/action/frame0115.png new file mode 100644 index 0000000..927501c Binary files /dev/null and b/example_animation/action/frame0115.png differ diff --git a/example_animation/action/frame0116.png b/example_animation/action/frame0116.png new file mode 100644 index 0000000..b866e28 Binary files /dev/null and b/example_animation/action/frame0116.png differ diff --git a/example_animation/action/frame0117.png b/example_animation/action/frame0117.png new file mode 100644 index 0000000..f33b19e Binary files /dev/null and b/example_animation/action/frame0117.png differ diff --git a/example_animation/action/frame0118.png b/example_animation/action/frame0118.png new file mode 100644 index 0000000..edf747c Binary files /dev/null and b/example_animation/action/frame0118.png differ diff --git a/example_animation/action/frame0119.png b/example_animation/action/frame0119.png new file mode 100644 index 0000000..755a9bc Binary files /dev/null and b/example_animation/action/frame0119.png differ diff --git a/example_animation/action/frame0120.png b/example_animation/action/frame0120.png new file mode 100644 index 0000000..eb65eec Binary files /dev/null and b/example_animation/action/frame0120.png differ diff --git a/example_animation/action/frame0121.png b/example_animation/action/frame0121.png new file mode 100644 index 0000000..f75ffea Binary files /dev/null and b/example_animation/action/frame0121.png differ diff --git a/example_animation/action/frame0122.png b/example_animation/action/frame0122.png new file mode 100644 index 0000000..bfe09ff Binary files /dev/null and b/example_animation/action/frame0122.png differ diff --git a/example_animation/action/frame0123.png b/example_animation/action/frame0123.png new file mode 100644 index 0000000..13ea674 Binary files /dev/null and b/example_animation/action/frame0123.png differ diff --git a/example_animation/action/frame0124.png b/example_animation/action/frame0124.png new file mode 100644 index 0000000..ebe432f Binary files /dev/null and b/example_animation/action/frame0124.png differ diff --git a/example_animation/action/frame0125.png b/example_animation/action/frame0125.png new file mode 100644 index 0000000..8bac1e3 Binary files /dev/null and b/example_animation/action/frame0125.png differ diff --git a/example_animation/action/frame0126.png b/example_animation/action/frame0126.png new file mode 100644 index 0000000..505156c Binary files /dev/null and b/example_animation/action/frame0126.png differ diff --git a/example_animation/action/frame0127.png b/example_animation/action/frame0127.png new file mode 100644 index 0000000..08fb129 Binary files /dev/null and b/example_animation/action/frame0127.png differ diff --git a/example_animation/action/frame0128.png b/example_animation/action/frame0128.png new file mode 100644 index 0000000..86cc96c Binary files /dev/null and b/example_animation/action/frame0128.png differ diff --git a/example_animation/action/frame0129.png b/example_animation/action/frame0129.png new file mode 100644 index 0000000..55ecb5c Binary files /dev/null and b/example_animation/action/frame0129.png differ diff --git a/example_animation/action/frame0130.png b/example_animation/action/frame0130.png new file mode 100644 index 0000000..f9bd6ef Binary files /dev/null and b/example_animation/action/frame0130.png differ diff --git a/example_animation/action/frame0131.png b/example_animation/action/frame0131.png new file mode 100644 index 0000000..395af46 Binary files /dev/null and b/example_animation/action/frame0131.png differ diff --git a/example_animation/action/frame0132.png b/example_animation/action/frame0132.png new file mode 100644 index 0000000..579b7da Binary files /dev/null and b/example_animation/action/frame0132.png differ diff --git a/example_animation/action/frame0133.png b/example_animation/action/frame0133.png new file mode 100644 index 0000000..ed2eaf6 Binary files /dev/null and b/example_animation/action/frame0133.png differ diff --git a/example_animation/action/frame0134.png b/example_animation/action/frame0134.png new file mode 100644 index 0000000..a589001 Binary files /dev/null and b/example_animation/action/frame0134.png differ diff --git a/example_animation/action/frame0135.png b/example_animation/action/frame0135.png new file mode 100644 index 0000000..0f119a8 Binary files /dev/null and b/example_animation/action/frame0135.png differ diff --git a/example_animation/action/frame0136.png b/example_animation/action/frame0136.png new file mode 100644 index 0000000..ecefb4e Binary files /dev/null and b/example_animation/action/frame0136.png differ diff --git a/example_animation/action/frame0137.png b/example_animation/action/frame0137.png new file mode 100644 index 0000000..26d5883 Binary files /dev/null and b/example_animation/action/frame0137.png differ diff --git a/example_animation/idle/d0000.png b/example_animation/idle/d0000.png new file mode 100644 index 0000000..eea5b8c Binary files /dev/null and b/example_animation/idle/d0000.png differ diff --git a/example_animation/idle/d0001.png b/example_animation/idle/d0001.png new file mode 100644 index 0000000..7478e2a Binary files /dev/null and b/example_animation/idle/d0001.png differ diff --git a/example_animation/idle/d0002.png b/example_animation/idle/d0002.png new file mode 100644 index 0000000..2faffa5 Binary files /dev/null and b/example_animation/idle/d0002.png differ diff --git a/example_animation/idle/d0003.png b/example_animation/idle/d0003.png new file mode 100644 index 0000000..e65f7de Binary files /dev/null and b/example_animation/idle/d0003.png differ diff --git a/example_animation/idle/d0004.png b/example_animation/idle/d0004.png new file mode 100644 index 0000000..8453164 Binary files /dev/null and b/example_animation/idle/d0004.png differ diff --git a/example_animation/idle/d0005.png b/example_animation/idle/d0005.png new file mode 100644 index 0000000..6e1fe5e Binary files /dev/null and b/example_animation/idle/d0005.png differ diff --git a/example_animation/idle/d0006.png b/example_animation/idle/d0006.png new file mode 100644 index 0000000..bfd2fd2 Binary files /dev/null and b/example_animation/idle/d0006.png differ diff --git a/example_animation/idle/d0007.png b/example_animation/idle/d0007.png new file mode 100644 index 0000000..a247d5e Binary files /dev/null and b/example_animation/idle/d0007.png differ diff --git a/example_animation/idle/d0008.png b/example_animation/idle/d0008.png new file mode 100644 index 0000000..bbbb2d5 Binary files /dev/null and b/example_animation/idle/d0008.png differ diff --git a/example_animation/idle/d0009.png b/example_animation/idle/d0009.png new file mode 100644 index 0000000..50d741a Binary files /dev/null and b/example_animation/idle/d0009.png differ diff --git a/example_animation/idle/d0010.png b/example_animation/idle/d0010.png new file mode 100644 index 0000000..33cb6d7 Binary files /dev/null and b/example_animation/idle/d0010.png differ diff --git a/example_animation/idle/d0011.png b/example_animation/idle/d0011.png new file mode 100644 index 0000000..79f2277 Binary files /dev/null and b/example_animation/idle/d0011.png differ diff --git a/example_animation/idle/d0012.png b/example_animation/idle/d0012.png new file mode 100644 index 0000000..b654ca5 Binary files /dev/null and b/example_animation/idle/d0012.png differ diff --git a/example_animation/idle/d0013.png b/example_animation/idle/d0013.png new file mode 100644 index 0000000..bbbb2d5 Binary files /dev/null and b/example_animation/idle/d0013.png differ diff --git a/example_animation/idle/d0014.png b/example_animation/idle/d0014.png new file mode 100644 index 0000000..50d741a Binary files /dev/null and b/example_animation/idle/d0014.png differ diff --git a/example_animation/idle/d0015.png b/example_animation/idle/d0015.png new file mode 100644 index 0000000..a247d5e Binary files /dev/null and b/example_animation/idle/d0015.png differ diff --git a/example_animation/idle/d0016.png b/example_animation/idle/d0016.png new file mode 100644 index 0000000..bfd2fd2 Binary files /dev/null and b/example_animation/idle/d0016.png differ diff --git a/example_animation/idle/d0017.png b/example_animation/idle/d0017.png new file mode 100644 index 0000000..6e1fe5e Binary files /dev/null and b/example_animation/idle/d0017.png differ diff --git a/example_animation/idle/d0018.png b/example_animation/idle/d0018.png new file mode 100644 index 0000000..8453164 Binary files /dev/null and b/example_animation/idle/d0018.png differ diff --git a/example_animation/idle/d0019.png b/example_animation/idle/d0019.png new file mode 100644 index 0000000..e65f7de Binary files /dev/null and b/example_animation/idle/d0019.png differ diff --git a/example_animation/idle/d0020.png b/example_animation/idle/d0020.png new file mode 100644 index 0000000..2faffa5 Binary files /dev/null and b/example_animation/idle/d0020.png differ diff --git a/example_animation/idle/d0021.png b/example_animation/idle/d0021.png new file mode 100644 index 0000000..7478e2a Binary files /dev/null and b/example_animation/idle/d0021.png differ diff --git a/example_animation/idle/d0022.png b/example_animation/idle/d0022.png new file mode 100644 index 0000000..d5f0e25 Binary files /dev/null and b/example_animation/idle/d0022.png differ diff --git a/gse.pde b/gse.pde new file mode 100644 index 0000000..1cc7553 --- /dev/null +++ b/gse.pde @@ -0,0 +1,54 @@ +import java.io.File; +import java.io.FileWriter; +import drop.*; +SDrop drop; + +PImage backgroundImage; +PGraphics renderer; +String saveFilePath; +int activeMarkers; +int clickedMarkerID; +float scaleFactor = 1.0; +float translateX = 0.0; +float translateY = 0.0; +float viewX, viewY, viewportX, viewportW, viewportR, viewportY, viewportH, viewportB; +boolean zoomedState; +boolean draggingAsset; +boolean isImage(String path) { + if (path.endsWith(".png") || path.endsWith(".PNG") || + path.endsWith(".gif") || path.endsWith(".GIF")) { + return true; + } else { + return false; + } +} + +void setup() { + marker = new Marker[200]; + frameRate(24); + size(960, 540); + smooth(); + drop = new SDrop(this); + backgroundImage = loadImage("assets/background.jpg"); + renderer = createGraphics(backgroundImage.width, backgroundImage.height); + saveFilePath = dataPath("save.gse"); + loadSaveFile(); +} + +void draw() { + background(246, 246, 244); + calculateViewport(); + renderer.beginDraw(); + renderer.image(backgroundImage, 0, 0); + renderer.fill(#FF0000); + for (int i = 0; i < activeMarkers; i++) { + marker[i].display(); + } + renderer.endDraw(); + + pushMatrix(); + translate(translateX, translateY); + scale(scaleFactor); + image(renderer, 0, 0, width, height); + popMatrix(); +} \ No newline at end of file