diff --git a/ajax/libs/jquery-gamequery/0.7.0/jquery.gamequery.min.js b/ajax/libs/jquery-gamequery/0.7.0/jquery.gamequery.min.js new file mode 100644 index 000000000..0abf001ac --- /dev/null +++ b/ajax/libs/jquery-gamequery/0.7.0/jquery.gamequery.min.js @@ -0,0 +1 @@ +(function(a){var b="gQ_",c=0,d=1,e=2,f=function(b,c){switch(b.geometry){case a.gameQuery.GEOMETRY_RECTANGLE:var d=c*Math.PI*2/360,e=Math.abs(Math.cos(d)*b.width/2*b.factor)+Math.abs(Math.sin(d)*b.height/2*b.factor),f=Math.abs(Math.cos(d)*b.height/2*b.factor)+Math.abs(Math.sin(d)*b.width/2*b.factor);return{x:e,y:f}}},g=function(b,c,d,e){if(b.geometry==a.gameQuery.GEOMETRY_RECTANGLE&&d.geometry==a.gameQuery.GEOMETRY_RECTANGLE){var g=e.x+d.boundingCircle.x-b.boundingCircle.x-c.x,h=e.y+d.boundingCircle.y-b.boundingCircle.y-c.y,i=Math.atan(h/g),j=Math.abs(Math.cos(i-b.angle*Math.PI*2/360)/Math.cos(i)*g),k=Math.abs(Math.sin(i-b.angle*Math.PI*2/360)/Math.sin(i)*h),l=f(d,d.angle-b.angle);if(j>=b.width/2*b.factor+l.x||k>=b.height/2*b.factor+l.y)return!1;var j=Math.abs(Math.cos(i-d.angle*Math.PI*2/360)/Math.cos(i)*-g),k=Math.abs(Math.sin(i-d.angle*Math.PI*2/360)/Math.sin(i)*-h),l=f(b,b.angle-d.angle);return j>=d.width/2*d.factor+l.x||k>=d.height/2*d.factor+l.y?!1:!0}return!1},h=function(b){var c={x:0,y:0},d=b[0];while(d!==a.gameQuery.playground[0]&&d.gameQuery!==void 0)c.x+=d.gameQuery.posx,c.y+=d.gameQuery.posy,d=d.parentNode;return c},i=function(b,c){c===void 0&&(c=h(b));var d=b[0].gameQuery;return{firstRow:Math.max(Math.min(Math.floor(-c.y/d.height),d.sizey),0),lastRow:Math.max(Math.min(Math.ceil((a.gameQuery.playground[0].height-c.y)/d.height),d.sizey),0),firstColumn:Math.max(Math.min(Math.floor(-c.x/d.width),d.sizex),0),lastColumn:Math.max(Math.min(Math.ceil((a.gameQuery.playground[0].width-c.x)/d.width),d.sizex),0)}},j=function(a,b){var c=a[0].gameQuery;return{firstRow:Math.max(Math.min(b.firstRow-c.buffer,c.sizey),0),lastRow:Math.max(Math.min(b.lastRow+c.buffer,c.sizey),0),firstColumn:Math.max(Math.min(b.firstColumn-c.buffer,c.sizex),0),lastColumn:Math.max(Math.min(b.lastColumn+c.buffer,c.sizex),0)}},k=function(b,c,d){var g,e=b[0].gameQuery,f=b.attr("id");g=e.func?e.tiles(c,d)-1:e.tiles[c][d]-1;var h;if(h=e.multi?e.animations:e.animations[g],g>=0){b.addSprite(a.gameQuery.tileIdPrefix+f+"_"+c+"_"+d,{width:e.width,height:e.height,posx:d*e.width,posy:c*e.height,animation:h});var i=b.find("#"+a.gameQuery.tileIdPrefix+f+"_"+c+"_"+d);e.multi?i.setAnimation(g):i[0].gameQuery.animationNumber=g,i.removeClass(a.gameQuery.spriteCssClass),i.addClass(a.gameQuery.tileCssClass),i.addClass(a.gameQuery.tileTypePrefix+g)}};a.extend({gameQuery:{Animation:function(b,c){var d={imageURL:"",numberOfFrame:1,delta:0,rate:30,type:0,distance:0,offsetx:0,offsety:0};return b=a.extend(d,b),this.imageURL=b.imageURL,this.numberOfFrame=b.numberOfFrame,this.delta=b.delta,this.rate=b.rate,this.type=b.type,this.distance=b.distance,this.offsetx=b.offsetx,this.offsety=b.offsety,a.gameQuery.resourceManager.addAnimation(this,c),!0},ANIMATION_VERTICAL:1,ANIMATION_HORIZONTAL:2,ANIMATION_ONCE:4,ANIMATION_CALLBACK:8,ANIMATION_MULTI:16,ANIMATION_PINGPONG:32,GEOMETRY_RECTANGLE:1,GEOMETRY_DISC:2,refreshRate:30,resourceManager:{animations:[],sounds:[],callbacks:[],loadedAnimationsPointer:0,loadedSoundsPointer:0,preload:function(){for(var b=this.animations.length-1;b>=this.loadedAnimationsPointer;b--)this.animations[b].domO=new Image,this.animations[b].domO.src=this.animations[b].imageURL;for(var b=this.sounds.length-1;b>=this.loadedSoundsPointer;b--)this.sounds[b].load();a.gameQuery.resourceManager.waitForResources()},waitForResources:function(){for(var b=0,e=this.loadedAnimationsPointer;this.animations.length>e;e++)this.animations[e].domO.complete&&b++;for(var f=0,e=this.loadedSoundsPointer;this.sounds.length>e;e++){var g=this.sounds[e].ready();g&&f++}if(a.gameQuery.resourceManager.loadCallback){var h=(b+f)/(this.animations.length+this.sounds.length-this.loadedAnimationsPointer-this.loadedSoundsPointer)*100;a.gameQuery.resourceManager.loadCallback(h)}this.animations.length+this.sounds.length-this.loadedAnimationsPointer-this.loadedSoundsPointer>b+f?imgWait=setTimeout(function(){a.gameQuery.resourceManager.waitForResources()},100):(this.loadedAnimationsPointer=this.animations.length,this.loadedSoundsPointer=this.sounds.length,a.gameQuery.scenegraph.children().each(function(){a(this).children().each(arguments.callee),this.gameQuery&&this.gameQuery.animation&&(a(this).css("background-image","url("+this.gameQuery.animation.imageURL+")"),this.gameQuery.animation.type&a.gameQuery.ANIMATION_VERTICAL?a(this).css("background-repeat","repeat-x"):this.gameQuery.animation.type&a.gameQuery.ANIMATION_HORIZONTAL?a(this).css("background-repeat","repeat-y"):a(this).css("background-repeat","no-repeat"))}),a.gameQuery.state===c&&setInterval(function(){a.gameQuery.resourceManager.refresh()},a.gameQuery.refreshRate),a.gameQuery.state=d,a.gameQuery.startCallback&&a.gameQuery.startCallback(),a.gameQuery.scenegraph.css("visibility","visible"))},refreshSprite:function(){if(this.gameQuery!=void 0){var b=this.gameQuery;b.animation&&(b.idleCounter==b.animation.rate-1&&b.playing&&(b.animation.type&a.gameQuery.ANIMATION_ONCE?b.animation.numberOfFrame-1>b.currentFrame?b.currentFrame+=b.frameIncrement:b.currentFrame==b.animation.numberOfFrame-1&&b.animation.type&a.gameQuery.ANIMATION_CALLBACK&&a.isFunction(b.callback)&&b.callback(this):(b.animation.type&a.gameQuery.ANIMATION_PINGPONG&&(b.currentFrame==b.animation.numberOfFrame-1&&b.frameIncrement==1?b.frameIncrement=-1:b.currentFrame==0&&b.frameIncrement==-1&&(b.frameIncrement=1)),b.currentFrame=(b.currentFrame+b.frameIncrement)%b.animation.numberOfFrame,b.currentFrame==0&&b.animation.type&a.gameQuery.ANIMATION_CALLBACK&&a.isFunction(b.callback)&&b.callback(this)),b.animation.type&a.gameQuery.ANIMATION_VERTICAL&&b.animation.numberOfFrame>1?b.multi?a(this).css("background-position",""+(-b.animation.offsetx-b.multi)+"px "+(-b.animation.offsety-b.animation.delta*b.currentFrame)+"px"):a(this).css("background-position",""+-b.animation.offsetx+"px "+(-b.animation.offsety-b.animation.delta*b.currentFrame)+"px"):b.animation.type&a.gameQuery.ANIMATION_HORIZONTAL&&b.animation.numberOfFrame>1&&(b.multi?a(this).css("background-position",""+(-b.animation.offsetx-b.animation.delta*b.currentFrame)+"px "+(-b.animation.offsety-b.multi)+"px"):a(this).css("background-position",""+(-b.animation.offsetx-b.animation.delta*b.currentFrame)+"px "+-b.animation.offsety+"px"))),b.idleCounter=(b.idleCounter+1)%b.animation.rate)}return!0},refreshTilemap:function(){if(this.gameQuery!=void 0){var b=this.gameQuery;if(a.isArray(b.frameTracker))for(var c=0;b.frameTracker.length>c;c++)b.idleCounter[c]==b.animations[c].rate-1&&(b.animations[c].type&a.gameQuery.ANIMATION_ONCE?b.animations[c].numberOfFrame-1>b.frameTracker[c]&&(b.frameTracker[c]+=b.frameIncrement[c]):(b.animations[c].type&a.gameQuery.ANIMATION_PINGPONG&&(b.frameTracker[c]==b.animations[c].numberOfFrame-1&&b.frameIncrement[c]==1?b.frameIncrement[c]=-1:b.frameTracker[c]==0&&b.frameIncrement[c]==-1&&(b.frameIncrement[c]=1)),b.frameTracker[c]=(b.frameTracker[c]+b.frameIncrement[c])%b.animations[c].numberOfFrame)),b.idleCounter[c]=(b.idleCounter[c]+1)%b.animations[c].rate;else b.idleCounter==b.animations.rate-1&&(b.animations.type&a.gameQuery.ANIMATION_ONCE?b.animations.numberOfFrame-1>b.frameTracker&&(b.frameTracker+=b.frameIncrement):(b.animations.type&a.gameQuery.ANIMATION_PINGPONG&&(b.frameTracker==b.animations.numberOfFrame-1&&b.frameIncrement==1?b.frameIncrement=-1:b.frameTracker==0&&b.frameIncrement==-1&&(b.frameIncrement=1)),b.frameTracker=(b.frameTracker+b.frameIncrement)%b.animations.numberOfFrame)),b.idleCounter=(b.idleCounter+1)%b.animations.rate;a(this).find("."+a.gameQuery.tileCssClass).each(function(){if(a.isArray(b.frameTracker)){var c=this.gameQuery.animationNumber;b.animations[c].type&a.gameQuery.ANIMATION_VERTICAL&&b.animations[c].numberOfFrame>1?a(this).css("background-position",""+-b.animations[c].offsetx+"px "+(-b.animations[c].offsety-b.animations[c].delta*b.frameTracker[c])+"px"):b.animations[c].type&a.gameQuery.ANIMATION_HORIZONTAL&&b.animations[c].numberOfFrame>1&&a(this).css("background-position",""+(-b.animations[c].offsetx-b.animations[c].delta*b.frameTracker[c])+"px "+-b.animations[c].offsety+"px")}else b.animations.type&a.gameQuery.ANIMATION_VERTICAL&&b.animations.numberOfFrame>1?a(this).css("background-position",""+(-b.animations.offsetx-this.gameQuery.multi)+"px "+(-b.animations.offsety-b.animations.delta*b.frameTracker)+"px"):b.animations.type&a.gameQuery.ANIMATION_HORIZONTAL&&b.animations.numberOfFrame>1&&a(this).css("background-position",""+(-b.animations.offsetx-b.animations.delta*b.frameTracker)+"px "+(-b.animations.offsety-this.gameQuery.multi)+"px")})}return!0},refresh:function(){if(a.gameQuery.state===d){a.gameQuery.playground.find("."+a.gameQuery.spriteCssClass).each(this.refreshSprite),a.gameQuery.playground.find("."+a.gameQuery.tilemapCssClass).each(this.refreshTilemap);for(var b=Array(),c=this.callbacks.length-1;c>=0;c--){if(this.callbacks[c].idleCounter==this.callbacks[c].rate-1){var e=this.callbacks[c].fn();typeof e=="boolean"?e&&b.push(c):typeof e=="number"&&(this.callbacks[c].rate=Math.round(e/a.gameQuery.refreshRate),this.callbacks[c].idleCounter=0)}this.callbacks[c].idleCounter=(this.callbacks[c].idleCounter+1)%this.callbacks[c].rate}for(var c=b.length-1;c>=0;c--)this.callbacks.splice(b[c],1)}},addAnimation:function(b,f){if(0>a.inArray(b,this.animations))switch(b.rate=Math.round(b.rate/a.gameQuery.refreshRate),b.rate==0&&(b.rate=1),this.animations.push(b),a.gameQuery.state){case c:case e:break;case d:this.animations[this.loadedAnimationsPointer].domO=new Image,this.animations[this.loadedAnimationsPointer].domO.src=b.imageURL,f!==void 0&&(this.animations[this.loadedAnimationsPointer].domO.onload=f),this.loadedAnimationsPointer++}},addSound:function(b){if(0>a.inArray(b,this.sounds))switch(this.sounds.push(b),a.gameQuery.state){case c:case e:break;case d:b.load(),this.loadedSoundsPointer++}},registerCallback:function(b,c){c=Math.round(c/a.gameQuery.refreshRate),c==0&&(c=1),this.callbacks.push({fn:b,rate:c,idleCounter:0})},clear:function(a){this.animations=[],this.loadedAnimationsPointer=0,this.sounds=[],this.loadedSoundsPointer=0,a&&(this.callbacks=[])}},update:function(b,c){if(a.isPlainObject(b))var d=b;else if(b.length>0)var d=b[0].gameQuery;else var d=b.gameQuery;if(d)if(d.tileSet===!0){var e=i(b),f=d.buffered;for(property in c)switch(property){case"x":if(e.lastColumn>f.lastColumn){for(var g=b[0].parentNode,h=b.detach(),l=j(b,e),m=d.buffered.firstRow;d.buffered.lastRow>m;m++){for(var n=d.buffered.firstColumn;Math.min(l.firstColumn,d.buffered.lastColumn)>n;n++)h.find("#"+a.gameQuery.tileIdPrefix+b.attr("id")+"_"+m+"_"+n).remove();for(var n=Math.max(d.buffered.lastColumn,l.firstColumn);l.lastColumn>n;n++)k(h,m,n)}d.buffered.firstColumn=l.firstColumn,d.buffered.lastColumn=l.lastColumn,h.appendTo(g)}if(f.firstColumn>e.firstColumn){for(var g=b[0].parentNode,h=b.detach(),l=j(b,e),m=d.buffered.firstRow;d.buffered.lastRow>m;m++){for(var n=Math.max(l.lastColumn,d.buffered.firstColumn);d.buffered.lastColumn>n;n++)h.find("#"+a.gameQuery.tileIdPrefix+b.attr("id")+"_"+m+"_"+n).remove();for(var n=l.firstColumn;Math.min(d.buffered.firstColumn,l.lastColumn)>n;n++)k(h,m,n)}d.buffered.firstColumn=l.firstColumn,d.buffered.lastColumn=l.lastColumn,h.appendTo(g)}break;case"y":if(e.lastRow>f.lastRow){for(var g=b[0].parentNode,h=b.detach(),l=j(b,e),n=d.buffered.firstColumn;d.buffered.lastColumn>n;n++){for(var m=d.buffered.firstRow;Math.min(l.firstRow,d.buffered.lastRow)>m;m++)h.find("#"+a.gameQuery.tileIdPrefix+b.attr("id")+"_"+m+"_"+n).remove();for(var m=Math.max(d.buffered.lastRow,l.firstRow);l.lastRow>m;m++)k(h,m,n)}d.buffered.firstRow=l.firstRow,d.buffered.lastRow=l.lastRow,h.appendTo(g)}if(f.firstRow>e.firstRow){for(var g=b[0].parentNode,h=b.detach(),l=j(b,e),n=d.buffered.firstColumn;d.buffered.lastColumn>n;n++){for(var m=Math.max(l.lastRow,d.buffered.firstRow);d.buffered.lastRow>m;m++)h.find("#"+a.gameQuery.tileIdPrefix+b.attr("id")+"_"+m+"_"+n).remove();for(var m=l.firstRow;Math.min(d.buffered.firstRow,l.lastRow)>m;m++)k(h,m,n)}d.buffered.firstRow=l.firstRow,d.buffered.lastRow=l.lastRow,h.appendTo(g)}break;case"angle":break;case"factor":}}else{var o=a.gameQuery.playground&&!a.gameQuery.playground.disableCollision;for(property in c)switch(property){case"x":o&&(d.boundingCircle.x=d.posx+d.width/2);break;case"y":o&&(d.boundingCircle.y=d.posy+d.height/2);break;case"w":case"h":d.boundingCircle.originalRadius=Math.sqrt(Math.pow(d.width,2)+Math.pow(d.height,2))/2,d.boundingCircle.radius=d.factor*d.boundingCircle.originalRadius;break;case"angle":d.angle=parseFloat(c.angle);break;case"factor":d.factor=parseFloat(c.factor),o&&(d.boundingCircle.radius=d.factor*d.boundingCircle.originalRadius)}}},state:c,spriteCssClass:b+"sprite",groupCssClass:b+"group",tilemapCssClass:b+"tilemap",tileCssClass:b+"tile",tileTypePrefix:b+"tileType_",tileIdPrefix:b+"tile_"},muteSound:function(b){for(var c=a.gameQuery.resourceManager.sounds.length-1;c>=0;c--)a.gameQuery.resourceManager.sounds[c].muted(b)},playground:function(){return a.gameQuery.playground},loadCallback:function(b){a.gameQuery.resourceManager.loadCallback=b}});var l=a("
"),m=a("
"),n=a("
");a.fn.extend({playground:function(c){if(this.length==1){if(this[0]==document)throw"Old playground usage, use $.playground() to retreive the playground and $('mydiv').playground(options) to set the div!";c=a.extend({height:320,width:480,refreshRate:30,position:"absolute",keyTracker:!1,mouseTracker:!1,disableCollision:!1},c),a.gameQuery.playground=this,a.gameQuery.refreshRate=c.refreshRate,a.gameQuery.playground[0].height=c.height,a.gameQuery.playground[0].width=c.width,a.gameQuery.playground.css({position:c.position,display:"block",overflow:"hidden",height:c.height+"px",width:c.width+"px"}).append("