From 725c625e6f129e7972177483b59295e9e3d8b0a9 Mon Sep 17 00:00:00 2001 From: slm Date: Thu, 05 Aug 2010 18:21:45 +0000 Subject: Added files which I had previously forgotten to add --- diff --git a/MAFH2/fortuneengine/Scene.py~ b/MAFH2/fortuneengine/Scene.py~ new file mode 100644 index 0000000..21f7460 --- /dev/null +++ b/MAFH2/fortuneengine/Scene.py~ @@ -0,0 +1,193 @@ +import pygame +from pygame.sprite import RenderUpdates + +class Scene(pygame.sprite.RenderUpdates): + + def __init__(self, sprites): + + self._spritelist = [] + self._spritelist.append([sprites, sprites.getXPos(), sprites.getYPos()]) + RenderUpdates.__init__(self, sprites) + + self.xPos = 0 + self.yPos = 0 + self.xSize = 0 + self.ySize = 0 + + self.calcPosition() + self.calcSize() + self.setRelativePositions() + + def calcPosition(self): + + lowestX = 9000 + lowestY = 9000 + + for i in range(len(self._spritelist)): + if self._spritelist[i][0].getXPos() < lowestX: lowestX = self._spritelist[i][0].getXPos() + if self._spritelist[i][0].getYPos() < lowestY: lowestY = self._spritelist[i][0].getYPos() + + self.xPos = lowestX + self.yPos = lowestY + + def calcSize(self): + + highestX = 0 + highestY = 0 + + for i in range(len(self._spritelist)): + if (self._spritelist[i][0].getXPos() + self._spritelist[i][0].getXSize()) > highestX: highestX = self._spritelist[i][0].getXPos() + self._spritelist[i][0].getXSize() + if (self._spritelist[i][0].getYPos() + self._spritelist[i][0].getYSize()) > highestY: highestY = self._spritelist[i][0].getYPos() + self._spritelist[i][0].getYSize() + + self.xSize = highestX - self.xPos + self.ySize = highestY - self.yPos + + def addObject(self, newDrawableObject): + RenderUpdates.add_internal(self, newDrawableObject) + self._spritelist.append([newDrawableObject, newDrawableObject.getXPos(), newDrawableObject.getYPos()]) + + def addObjects(self, newDrawableObjects): + for sprite in newDrawableObjects: + RenderUpdates.add_internal(self, sprite) + self._spritelist.append([sprite, sprite.getXPos(), sprite.getYPos()]) + + def setRelativePositions(self): + + for i in range(len(self._spritelist)): + self._spritelist[i][1] = self._spritelist[i][0].getXPos() - self.xPos + self._spritelist[i][2] = self._spritelist[i][0].getYPos() - self.yPos + + def removeObject(self, sprite): + + for i in self._spritelist: + if i[0] == sprite: + self._spritelist.remove(i) + break + RenderUpdates.remove_internal(self, sprite) + + def getObject(self, index): + + if index < len(self._spritelist): + return self._spritelist[index][0] + + def getListSize(self): + + return len(self._spritelist) + + def getList(self): + + return list(self._spritelist) + + def moveObjects(self): + + for i in range(len(self._spritelist)): + self._spritelist[i][0].move() + + self.calcPosition() + self.calcSize() + self.setRelativePositions() + + def moveScene(self, xNudge = 0, yNudge = 0): + + + for i in range(len(self._spritelist)): + + self._spritelist[i][0].nudge(xNudge, yNudge) + + + self.calcPosition() + + def setPosition(self, newXPos = None, newYPos = None): + + if newXPos != None: self.xPos = newXPos + if newYPos != None: self.yPos = newYPos + + + for i in range(len(self._spritelist)): + + self._spritelist[i][0].setPosition(self.xPos + self._spritelist[i][1], self.yPos + self._spritelist[i][2]) + + + def getXPos(self): + return self.xPos + + def getYPos(self): + return self.yPos + + def getXSize(self): + return self.xSize + + def getYSize(self): + return self.ySize + + def scaleObjects(self, newXSize = None, newYSize = None): + + + for i in range(len(self._spritelist)): + self._spritelist[i][0].scale(newXSize, newYSize) + + + def scaleScene(self, newXSize = None, newYSize = None): + + self.calcPosition() + self.calcSize() + + xScale = 1 + yScale = 1 + + if newXSize != None: xScale = (newXSize * 1.0)/self.xSize + if newYSize != None: yScale = (newYSize * 1.0)/self.ySize + + + for i in range(len(self._spritelist)): + self._spritelist[i][0].scale(xScale * self._spritelist[i][0].getXSize(), yScale * self._spritelist[i][0].getYSize()) + self._spritelist[i][1] = xScale * self._spritelist[i][1] + self._spritelist[i][2] = yScale * self._spritelist[i][2] + + + self.calcPosition() + self.calcSize() + self.setPosition() + + def update(self, t): + + for s in self._spritelist: s[0].update(t); + + def draw(self, surface): + spritedict = self.spritedict + surface_blit = surface.blit + dirty = self.lostsprites + self.lostsprites = [] + dirty_append = dirty.append + for s in self._spritelist: + r = spritedict[s[0]] + newrect = surface_blit(s[0].image, s[0].rect) + if r is 0: + dirty_append(newrect) + else: + if newrect.colliderect(r): + dirty_append(newrect.union(r)) + else: + dirty_append(newrect) + dirty_append(r) + spritedict[s[0]] = newrect + return dirty + + def drawEntireScene(self, surface): + spritedict = self.spritedict + surface_blit = surface.blit + dirty = self.lostsprites + self.lostsprites = [] + dirty_append = dirty.append + for s in self._spritelist: + dirty_append(spritedict[s[0]]) + dirty_append(surface_blit(s[0].image, s[0].rect)) + return dirty + + def nextFrame(self): + + + for i in range(len(self._spritelist)): + + self._spritelist[i][0].nextFrame() + diff --git a/anim/Animation Styles/AnimatedSprite.py b/anim/Animation Styles/AnimatedSprite.py new file mode 100755 index 0000000..6796600 --- /dev/null +++ b/anim/Animation Styles/AnimatedSprite.py @@ -0,0 +1,141 @@ +import pygame + +class Spritesheet: + """ + Class from http://www.scriptedfun.com/transcript-2-using-sprite-sheets-and-drawing-the-background/ + + This class can be used to seporate images from the sprite sheet + """ + def __init__(self, filename): + self.sheet = pygame.image.load(filename)#.convert() + + def imgat(self, rect): + rect = pygame.Rect(rect) + image = pygame.Surface(rect.size)#.convert() + image.blit(self.sheet, (0, 0), rect) + return image + + def imgsat(self, rects): + imgs = [] + for rect in rects: + imgs.append(self.imgat(rect)) + return imgs + + def img_extract( self, cols, rows, width, height ): + rect_list = [] + for y in range(0, rows): + for x in range(0, cols): + rect_list.append( (width*x, height*y, width, height) ) + return self.imgsat( rect_list) + + +class AnimatedSprite(pygame.sprite.Sprite): + """ + http://shinylittlething.com/2009/07/21/pygame-and-animated-sprites/ + """ + + def __init__(self,images,textfileName,fps = 10): + pygame.sprite.Sprite.__init__(self) + self._images = images + + # Track the time we started, and the time between updates. + # Then we can figure out when we have to switch the image. + self._start = pygame.time.get_ticks() + self._delay = 1000 / fps + self._last_update = 0 + self._frame = 0 + self.animations = {} + + if textfileName != '': + f = open(textfileName, 'r') + currentLine = f.readline() + while currentLine != '': + animValues = currentLine.split(",") + #This is a list called animations that at each position contains a list of two values. the first value is the start position + #of the given animation and the second is the end position of the given animation + self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])] + currentLine = f.readline() + + # Call update to set our first image. + #self.update(pygame.time.get_ticks()) + + def addImages(self, images): + + self._images.extend(images) + + def update(self, t): + # This method updates the animation in a situation where there is only one animation contained within the object. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame and continues to check over and over until it is not + while self._frame >= len(self._images): + #since we are past the final frame it is now figuring out how many frames past the final frame we have actually gone + framesPast = self._frame - len(self._images) + #sets the current frame to the frame it should be at + self._frame = framesPast - 1 + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def updateAnimation(self, t, animName): + # This method updates the animation based on the start and end frame of the specific animation you are on. + #This means that if your object contains multiple animations, you can use this method to reference the exact + #animation that you are using. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #Checks to make sure that the current frame is actually set to a position within the animation + if self._frame < self.animations.get(animName)[0] or self._frame > self.animations.get(animName)[1]: + #corrects the position of the current frame + self._frame = self.animations.get(animName)[0] + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame of the current animation and continues to check over and over + #until it is not + while self._frame >= self.animations.get(animName)[1]: + #Determines how many frames past the final frame of the animation it is + framesPast = self._frame - self.animations.get(animName)[1] + #Sets the current frame to the frame it should be at + self._frame = framesPast - 1 + self.animations.get(animName)[0] + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def nextFrame(self): + # This definition is designed to simply move to the next frame. + # All of the other definitions only move to the nex frame if + # enough time has passed based on the framerate. With this + # definition I can go right to the next frame allowing me to + # see how fast a framerate I can get to and not be limited by + # what I define. + + self._frame += 1 + if self._frame >= len(self._images): + framesPast = self._frame - len(self._images) + self._frame = framesPast + self.image = self._images[self._frame] + + def nextAnimFrame(self, animName): + # This definition is designed to simply move to the next frame of the specified animation. + if self._frame < self.animations[animName][0]: + self._frame = self.animations[animName][0] + + self._frame += 1 + if self._frame > self.animations[animName][1]: + framesPast = self._frame - self.animations[animName][1] + self._frame = framesPast - 1 + self.animations[animName][0] + self.image = self._images[self._frame] + diff --git a/anim/Animation Styles/AnimatedSpriteTest.py b/anim/Animation Styles/AnimatedSpriteTest.py new file mode 100755 index 0000000..1f8bbe5 --- /dev/null +++ b/anim/Animation Styles/AnimatedSpriteTest.py @@ -0,0 +1,317 @@ +#! /usr/bin/env python +from AnimatedSprite import Spritesheet +from AnimatedSprite import AnimatedSprite +import pygame +import time +pygame.init() + +make=input("How many images would you like to load? ") +img={} +ft="" #filetype +r=0 #frame refreshes +i=1 #cycles images +SIZE = WIDTH, HEIGHT = 600,400 #screen sizes +t=0 #trial number + +BACKGROUNDR=152 +BACKGROUNDG=0 +BACKGROUNDB=152 + +AnimPerLineArr=[ + [".bmp","AnimationPerLine/bmp16/"], + [".bmp","AnimationPerLine/bmp24/"], + [".gif","AnimationPerLine/gif/"] , + [".gif","AnimationPerLine/gift/"] , + [".png","AnimationPerLine/png/"] , + [".png","AnimationPerLine/pngt/"] ] + +FixedWidthArr=[ + [".bmp","FixedWithSheets/bmp16/"], + [".bmp","FixedWithSheets/bmp24/"], + [".gif","FixedWithSheets/gif/"] , + [".gif","FixedWithSheets/gift/"] , + [".png","FixedWithSheets/png/"] , + [".png","FixedWidthSheets/pngt/"] ] + +OneSheetArr=[ + [".bmp","OneSheetPerAnimation/bmp16/"], + [".bmp","OneSheetPerAnimation/bmp24/"], + [".gif","OneSheetPerAnimation/gif/"] , + [".gif","OneSheetPerAnimation/gift/"] , + [".png","OneSheetPerAnimation/png/"] , + [".png","OneSheetPerAnimation/pngt/"] ] + +IndivFrameArr=[ + [".bmp","IndividualFrames/bmp16/"], + [".bmp","IndividualFrames/bmp24/"], + [".gif","IndividualFrames/gif/"] , + [".gif","IndividualFrames/gift/"] , + [".png","IndividualFrames/png/"] , + [".png","IndividualFrames/pngt/"] ] + +screen = pygame.display.set_mode(SIZE) #Screen Set 600x400 + +screen.fill((BACKGROUNDR, BACKGROUNDG, BACKGROUNDB)) + +"""Reading Individual Frames +""" + +def readIndivFrames(fileType, path): + switch1 = [ + [pygame.image.load("%sa1/1%s"%(path,fileType))], + [pygame.image.load("%sa1/2%s"%(path,fileType))], + [pygame.image.load("%sa1/3%s"%(path,fileType))], + [pygame.image.load("%sa1/4%s"%(path,fileType))], + [pygame.image.load("%sa1/5%s"%(path,fileType))], + [pygame.image.load("%sa1/6%s"%(path,fileType))], + [pygame.image.load("%sa1/7%s"%(path,fileType))], + [pygame.image.load("%sa1/8%s"%(path,fileType))], + [pygame.image.load("%sa1/9%s"%(path,fileType))] + ] + + switch2 = [ + [pygame.image.load("%sa2/1%s"%(path,fileType))], + [pygame.image.load("%sa2/2%s"%(path,fileType))], + [pygame.image.load("%sa2/3%s"%(path,fileType))], + [pygame.image.load("%sa2/4%s"%(path,fileType))], + [pygame.image.load("%sa2/5%s"%(path,fileType))], + [pygame.image.load("%sa2/6%s"%(path,fileType))], + [pygame.image.load("%sa2/7%s"%(path,fileType))], + [pygame.image.load("%sa2/8%s"%(path,fileType))], + [pygame.image.load("%sa2/9%s"%(path,fileType))] + ] + + instances= [] + + cnt = make + + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(switch1,'',10),[(40*cnt),0,2,2]]) + + animatedSprites.append([AnimatedSprite(switch2,'',10),[(40*cnt),40,2,2]]) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + trials = 0 + while trials < 5: + + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextFrame() + instances[groups][1][0].nextFrame() + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > WIDTH - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > HEIGHT - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > WIDTH - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > HEIGHT - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image[0], (instances[groups][0][0].image[0].get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image[0], (instances[groups][1][0].image[0].get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + screen.fill((BACKGROUNDR,BACKGROUNDG,BACKGROUNDB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + +#----------------------------------------------------------------- + +def readPerLine(fileType, path): + + spriteSheet1 = Spritesheet(("%sButtons%s"%(path,fileType))) + + instances= [] + + cnt = make + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,2,40,40),("%stext.txt"%(path)),10),[(40*cnt),0,2,2]]) + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,2,40,40),("%stext.txt"%(path)),10),[(40*cnt),40,2,2]]) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + trials = 0 + while trials < 5: + + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextAnimFrame("anim1") + instances[groups][1][0].nextAnimFrame("anim2") + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > WIDTH - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > HEIGHT - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > WIDTH - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > HEIGHT - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image, (instances[groups][0][0].image.get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image, (instances[groups][1][0].image.get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + screen.fill((BACKGROUNDR,BACKGROUNDG,BACKGROUNDB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + +#----------------------------------------------------------------- +def readIndivSheet(fileType, path): + + spriteSheet1 = Spritesheet(("%s1%s"%(path,fileType))) + spriteSheet2 = Spritesheet(("%s2%s"%(path,fileType))) + + instances= [] + + cnt = make + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,1,40,40),("%stext.txt"%(path)),10),[(40*cnt),0,2,2]]) + animatedSprites[0][0].addImages(spriteSheet2.img_extract(9,1,40,40)) + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,1,40,40),("%stext.txt"%(path)),10),[(40*cnt),40,2,2]]) + animatedSprites[1][0].addImages(spriteSheet2.img_extract(9,1,40,40)) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + trials = 0 + while trials < 5: + + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextAnimFrame("anim1") + instances[groups][1][0].nextAnimFrame("anim2") + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > WIDTH - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > HEIGHT - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > WIDTH - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > HEIGHT - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image, (instances[groups][0][0].image.get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image, (instances[groups][1][0].image.get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + screen.fill((BACKGROUNDR,BACKGROUNDG,BACKGROUNDB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + + +#----------------------------------------------------------------- +iterator = 0 +print "\nTesting One Sheet Per Animation" +print "" +while iterator < len(AnimPerLineArr): + + print "" + print OneSheetArr[iterator][1] + readIndivSheet(OneSheetArr[iterator][0],OneSheetArr[iterator][1]) + iterator += 1 + +iterator = 0 +print "" +print "Testing One Animation Per Line" +print "" +while iterator < len(OneSheetArr): + + print "" + print AnimPerLineArr[iterator][1] + readPerLine(AnimPerLineArr[iterator][0],AnimPerLineArr[iterator][1]) + iterator += 1 + +iterator = 0 +print "" +print "Testing Individual Frames" +print "" +while iterator < len(IndivFrameArr): + + print "" + print IndivFrameArr[iterator][1] + readIndivFrames(IndivFrameArr[iterator][0],IndivFrameArr[iterator][1]) + iterator += 1 diff --git a/anim/Animation Styles/AnimatedSpriteTest.py~ b/anim/Animation Styles/AnimatedSpriteTest.py~ new file mode 100644 index 0000000..1aac3bb --- /dev/null +++ b/anim/Animation Styles/AnimatedSpriteTest.py~ @@ -0,0 +1,289 @@ +from AnimatedSprite import Spritesheet, AnimatedSprite +import sys, pygame, time +pygame.init() + +print "Animated Sprite Test - Authors Dave Silverman and Scott Mengel" + +#-------------------------------------------------------------- +#CONSTANTS AND VARIABLES + +make=input("How many images would you like to load? ") +img={} +ft="" #filetype +r=0 #frame refreshes +i=1 #cycles images +size = width, height = 600,400 #screen sizes +t=0 #trial number + +AnimPerLineArr=[ ["bmp","AnimationPerLine/bmp16/"] , ["bmp","AnimationPerLine/bmp24/"] , ["gif","AnimationPerLine/gif/"] , ["gif","AnimationPerLine/gift/"] , ["png","AnimationPerLine/png/"] , ["png","AnimationPerLine/pngt/"] ] +FixedWidthArr=[ ["bmp","FixedWithSheets/bmp16/"] , ["bmp","FixedWithSheets/bmp24/"] , ["gif","FixedWithSheets/gif/"] , ["gif","FixedWithSheets/gift/"] , ["png","FixedWithSheets/png/"] , ["png","FixedWidthSheets/pngt/"] ] +OneSheetArr=[ ["bmp","OneSheetPerAnimation/bmp16/"] , ["bmp","OneSheetPerAnimation/bmp24/"] , ["gif","OneSheetPerAnimation/gif/"] , ["gif","OneSheetPerAnimation/gift/"] , ["png","OneSheetPerAnimation/png/"] , ["png","OneSheetPerAnimation/pngt/"] ] +IndivFrameArr=[ ["bmp","IndividualFrames/bmp16/"] , ["bmp","IndividualFrames/bmp24/"] , ["gif","IndividualFrames/gif/"] , ["gif","IndividualFrames/gift/"] , ["png","IndividualFrames/png/"] , ["png","IndividualFrames/pngt/"] ] + +screen = pygame.display.set_mode(size) #Screen Set 600x400 +backgroundR = 152 +backgroundG = 0 +backgroundB = 152 +screen.fill((backgroundR, backgroundG, backgroundB)) +#----------------------------------------------------------------- +#Reading Individual Frames + +def readIndivFrames(fileType, path): + switch1 = [ + [pygame.image.load("%sa1/1.%s"%(path,fileType))], + [pygame.image.load("%sa1/2.%s"%(path,fileType))], + [pygame.image.load("%sa1/3.%s"%(path,fileType))], + [pygame.image.load("%sa1/4.%s"%(path,fileType))], + [pygame.image.load("%sa1/5.%s"%(path,fileType))], + [pygame.image.load("%sa1/6.%s"%(path,fileType))], + [pygame.image.load("%sa1/7.%s"%(path,fileType))], + [pygame.image.load("%sa1/8.%s"%(path,fileType))], + [pygame.image.load("%sa1/9.%s"%(path,fileType))] + ] + + switch2 = [ + [pygame.image.load("%sa2/1.%s"%(path,fileType))], + [pygame.image.load("%sa2/2.%s"%(path,fileType))], + [pygame.image.load("%sa2/3.%s"%(path,fileType))], + [pygame.image.load("%sa2/4.%s"%(path,fileType))], + [pygame.image.load("%sa2/5.%s"%(path,fileType))], + [pygame.image.load("%sa2/6.%s"%(path,fileType))], + [pygame.image.load("%sa2/7.%s"%(path,fileType))], + [pygame.image.load("%sa2/8.%s"%(path,fileType))], + [pygame.image.load("%sa2/9.%s"%(path,fileType))] + ] + + instances= [] + + cnt = make + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(switch1,'',10),[(40*cnt),0,2,2]]) + + animatedSprites.append([AnimatedSprite(switch2,'',10),[(40*cnt),40,2,2]]) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + trials = 0 + while trials < 5: + + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextFrame() + instances[groups][1][0].nextFrame() + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > width - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > height - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > width - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > height - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image[0], (instances[groups][0][0].image[0].get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image[0], (instances[groups][1][0].image[0].get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + screen.fill((backgroundR,backgroundG,backgroundB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + +#----------------------------------------------------------------- + +def readPerLine(fileType, path): + + spriteSheet1 = Spritesheet(("%sButtons.%s"%(path,fileType))) + + instances= [] + + cnt = make + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,2,40,40),("%stext.txt"%(path)),10),[(40*cnt),0,2,2]]) + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,2,40,40),("%stext.txt"%(path)),10),[(40*cnt),40,2,2]]) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + trials = 0 + while trials < 5: + + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextAnimFrame("anim1") + instances[groups][1][0].nextAnimFrame("anim2") + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > width - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > height - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > width - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > height - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image, (instances[groups][0][0].image.get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image, (instances[groups][1][0].image.get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + screen.fill((backgroundR,backgroundG,backgroundB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + +#----------------------------------------------------------------- +def readIndivSheet(fileType, path): + + spriteSheet1 = Spritesheet(("%s1.%s"%(path,fileType))) + spriteSheet2 = Spritesheet(("%s2.%s"%(path,fileType))) + + instances= [] + + cnt = make + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,1,40,40),("%stext.txt"%(path)),10),[(40*cnt),0,2,2]]) + animatedSprites[0][0].addImages(spriteSheet2.img_extract(9,1,40,40)) + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,1,40,40),("%stext.txt"%(path)),10),[(40*cnt),40,2,2]]) + animatedSprites[1][0].addImages(spriteSheet2.img_extract(9,1,40,40)) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + trials = 0 + while trials < 5: + + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextAnimFrame("anim1") + instances[groups][1][0].nextAnimFrame("anim2") + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > width - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > height - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > width - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > height - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image, (instances[groups][0][0].image.get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image, (instances[groups][1][0].image.get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + screen.fill((backgroundR,backgroundG,backgroundB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + + +#----------------------------------------------------------------- +iterator = 0 +print"" +print "Testing One Sheet Per Animation" +print "" +while iterator < len(AnimPerLineArr): + + print"" + print OneSheetArr[iterator][1] + readIndivSheet(OneSheetArr[iterator][0],OneSheetArr[iterator][1]) + iterator += 1 + +iterator = 0 +print"" +print "Testing One Animation Per Line" +print "" +while iterator < len(OneSheetArr): + + print "" + print AnimPerLineArr[iterator][1] + readPerLine(AnimPerLineArr[iterator][0],AnimPerLineArr[iterator][1]) + iterator += 1 + +iterator = 0 +print "" +print "Testing Individual Frames" +print "" +while iterator < len(IndivFrameArr): + + print "" + print IndivFrameArr[iterator][1] + readIndivFrames(IndivFrameArr[iterator][0],IndivFrameArr[iterator][1]) + iterator += 1 diff --git a/anim/Animation Styles/AnimationPerLine/bmp16/Buttons.bmp b/anim/Animation Styles/AnimationPerLine/bmp16/Buttons.bmp new file mode 100755 index 0000000..7edcb3c --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/bmp16/Buttons.bmp Binary files differ diff --git a/anim/Animation Styles/AnimationPerLine/bmp16/text.txt b/anim/Animation Styles/AnimationPerLine/bmp16/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/bmp16/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/AnimationPerLine/bmp24/Buttons.bmp b/anim/Animation Styles/AnimationPerLine/bmp24/Buttons.bmp new file mode 100755 index 0000000..a96ed6b --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/bmp24/Buttons.bmp Binary files differ diff --git a/anim/Animation Styles/AnimationPerLine/bmp24/text.txt b/anim/Animation Styles/AnimationPerLine/bmp24/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/bmp24/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/AnimationPerLine/gif/Buttons.gif b/anim/Animation Styles/AnimationPerLine/gif/Buttons.gif new file mode 100755 index 0000000..8725ade --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/gif/Buttons.gif Binary files differ diff --git a/anim/Animation Styles/AnimationPerLine/gif/text.txt b/anim/Animation Styles/AnimationPerLine/gif/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/gif/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/AnimationPerLine/gift/Buttons.gif b/anim/Animation Styles/AnimationPerLine/gift/Buttons.gif new file mode 100755 index 0000000..4be81f6 --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/gift/Buttons.gif Binary files differ diff --git a/anim/Animation Styles/AnimationPerLine/gift/text.txt b/anim/Animation Styles/AnimationPerLine/gift/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/gift/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/AnimationPerLine/png/Buttons.png b/anim/Animation Styles/AnimationPerLine/png/Buttons.png new file mode 100755 index 0000000..83bff0c --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/png/Buttons.png Binary files differ diff --git a/anim/Animation Styles/AnimationPerLine/png/text.txt b/anim/Animation Styles/AnimationPerLine/png/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/png/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/AnimationPerLine/pngt/Buttons.png b/anim/Animation Styles/AnimationPerLine/pngt/Buttons.png new file mode 100755 index 0000000..cb6766f --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/pngt/Buttons.png Binary files differ diff --git a/anim/Animation Styles/AnimationPerLine/pngt/text.txt b/anim/Animation Styles/AnimationPerLine/pngt/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/AnimationPerLine/pngt/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/Buttons.psd b/anim/Animation Styles/Buttons.psd new file mode 100755 index 0000000..a1571e2 --- /dev/null +++ b/anim/Animation Styles/Buttons.psd Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/1.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/1.bmp new file mode 100755 index 0000000..57630e3 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/1.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/2.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/2.bmp new file mode 100755 index 0000000..90af77a --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/2.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/3.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/3.bmp new file mode 100755 index 0000000..1751a4a --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/3.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/4.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/4.bmp new file mode 100755 index 0000000..1f292d1 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/4.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/5.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/5.bmp new file mode 100755 index 0000000..fd8cc0e --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/5.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/6.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/6.bmp new file mode 100755 index 0000000..df3a2eb --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/6.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/7.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/7.bmp new file mode 100755 index 0000000..51b0052 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/7.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/8.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/8.bmp new file mode 100755 index 0000000..9302c64 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/8.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a1/9.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a1/9.bmp new file mode 100755 index 0000000..f5c6191 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a1/9.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/1.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/1.bmp new file mode 100755 index 0000000..4def064 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/1.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/2.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/2.bmp new file mode 100755 index 0000000..3750af4 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/2.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/3.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/3.bmp new file mode 100755 index 0000000..636c6f3 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/3.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/4.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/4.bmp new file mode 100755 index 0000000..646b407 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/4.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/5.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/5.bmp new file mode 100755 index 0000000..11a9bf5 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/5.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/6.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/6.bmp new file mode 100755 index 0000000..ca1ba7b --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/6.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/7.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/7.bmp new file mode 100755 index 0000000..9375c15 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/7.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/8.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/8.bmp new file mode 100755 index 0000000..53b66f9 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/8.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp16/a2/9.bmp b/anim/Animation Styles/IndividualFrames/bmp16/a2/9.bmp new file mode 100755 index 0000000..088558c --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp16/a2/9.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/1.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/1.bmp new file mode 100755 index 0000000..e910cec --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/1.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/2.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/2.bmp new file mode 100755 index 0000000..0545f38 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/2.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/3.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/3.bmp new file mode 100755 index 0000000..a154b29 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/3.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/4.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/4.bmp new file mode 100755 index 0000000..4ab21f9 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/4.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/5.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/5.bmp new file mode 100755 index 0000000..0a55d39 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/5.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/6.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/6.bmp new file mode 100755 index 0000000..ad3f1b1 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/6.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/7.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/7.bmp new file mode 100755 index 0000000..915ab5b --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/7.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/8.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/8.bmp new file mode 100755 index 0000000..b36287d --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/8.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a1/9.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a1/9.bmp new file mode 100755 index 0000000..2cab5a4 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a1/9.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/1.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/1.bmp new file mode 100755 index 0000000..1b41dff --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/1.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/2.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/2.bmp new file mode 100755 index 0000000..71cca69 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/2.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/3.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/3.bmp new file mode 100755 index 0000000..a374206 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/3.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/4.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/4.bmp new file mode 100755 index 0000000..37c4304 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/4.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/5.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/5.bmp new file mode 100755 index 0000000..51f1acb --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/5.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/6.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/6.bmp new file mode 100755 index 0000000..483043c --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/6.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/7.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/7.bmp new file mode 100755 index 0000000..d99e779 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/7.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/8.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/8.bmp new file mode 100755 index 0000000..223b87e --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/8.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/bmp24/a2/9.bmp b/anim/Animation Styles/IndividualFrames/bmp24/a2/9.bmp new file mode 100755 index 0000000..088a0f5 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/bmp24/a2/9.bmp Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/1.gif b/anim/Animation Styles/IndividualFrames/gif/a1/1.gif new file mode 100755 index 0000000..4a89216 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/1.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/2.gif b/anim/Animation Styles/IndividualFrames/gif/a1/2.gif new file mode 100755 index 0000000..b5019d8 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/2.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/3.gif b/anim/Animation Styles/IndividualFrames/gif/a1/3.gif new file mode 100755 index 0000000..a87ddc6 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/3.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/4.gif b/anim/Animation Styles/IndividualFrames/gif/a1/4.gif new file mode 100755 index 0000000..2a398e6 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/4.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/5.gif b/anim/Animation Styles/IndividualFrames/gif/a1/5.gif new file mode 100755 index 0000000..93e5b8d --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/5.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/6.gif b/anim/Animation Styles/IndividualFrames/gif/a1/6.gif new file mode 100755 index 0000000..0e73825 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/6.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/7.gif b/anim/Animation Styles/IndividualFrames/gif/a1/7.gif new file mode 100755 index 0000000..061669a --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/7.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/8.gif b/anim/Animation Styles/IndividualFrames/gif/a1/8.gif new file mode 100755 index 0000000..90dcfda --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/8.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a1/9.gif b/anim/Animation Styles/IndividualFrames/gif/a1/9.gif new file mode 100755 index 0000000..aa194d9 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a1/9.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/1.gif b/anim/Animation Styles/IndividualFrames/gif/a2/1.gif new file mode 100755 index 0000000..09134f4 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/1.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/2.gif b/anim/Animation Styles/IndividualFrames/gif/a2/2.gif new file mode 100755 index 0000000..d9ebbc2 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/2.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/3.gif b/anim/Animation Styles/IndividualFrames/gif/a2/3.gif new file mode 100755 index 0000000..de17bd4 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/3.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/4.gif b/anim/Animation Styles/IndividualFrames/gif/a2/4.gif new file mode 100755 index 0000000..87450de --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/4.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/5.gif b/anim/Animation Styles/IndividualFrames/gif/a2/5.gif new file mode 100755 index 0000000..f95b8d9 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/5.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/6.gif b/anim/Animation Styles/IndividualFrames/gif/a2/6.gif new file mode 100755 index 0000000..3462272 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/6.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/7.gif b/anim/Animation Styles/IndividualFrames/gif/a2/7.gif new file mode 100755 index 0000000..ac5f084 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/7.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/8.gif b/anim/Animation Styles/IndividualFrames/gif/a2/8.gif new file mode 100755 index 0000000..d9d3989 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/8.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gif/a2/9.gif b/anim/Animation Styles/IndividualFrames/gif/a2/9.gif new file mode 100755 index 0000000..bcdd274 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gif/a2/9.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/1.gif b/anim/Animation Styles/IndividualFrames/gift/a1/1.gif new file mode 100755 index 0000000..2aad244 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/1.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/2.gif b/anim/Animation Styles/IndividualFrames/gift/a1/2.gif new file mode 100755 index 0000000..ed22525 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/2.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/3.gif b/anim/Animation Styles/IndividualFrames/gift/a1/3.gif new file mode 100755 index 0000000..246cd12 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/3.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/4.gif b/anim/Animation Styles/IndividualFrames/gift/a1/4.gif new file mode 100755 index 0000000..722f240 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/4.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/5.gif b/anim/Animation Styles/IndividualFrames/gift/a1/5.gif new file mode 100755 index 0000000..6a71348 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/5.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/6.gif b/anim/Animation Styles/IndividualFrames/gift/a1/6.gif new file mode 100755 index 0000000..0dd2145 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/6.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/7.gif b/anim/Animation Styles/IndividualFrames/gift/a1/7.gif new file mode 100755 index 0000000..1e9914b --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/7.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/8.gif b/anim/Animation Styles/IndividualFrames/gift/a1/8.gif new file mode 100755 index 0000000..390124b --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/8.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a1/9.gif b/anim/Animation Styles/IndividualFrames/gift/a1/9.gif new file mode 100755 index 0000000..61c8c3c --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a1/9.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/1.gif b/anim/Animation Styles/IndividualFrames/gift/a2/1.gif new file mode 100755 index 0000000..a79f1e0 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/1.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/2.gif b/anim/Animation Styles/IndividualFrames/gift/a2/2.gif new file mode 100755 index 0000000..b2579e3 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/2.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/3.gif b/anim/Animation Styles/IndividualFrames/gift/a2/3.gif new file mode 100755 index 0000000..42f2c74 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/3.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/4.gif b/anim/Animation Styles/IndividualFrames/gift/a2/4.gif new file mode 100755 index 0000000..61b944a --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/4.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/5.gif b/anim/Animation Styles/IndividualFrames/gift/a2/5.gif new file mode 100755 index 0000000..865f4c7 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/5.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/6.gif b/anim/Animation Styles/IndividualFrames/gift/a2/6.gif new file mode 100755 index 0000000..9fa7cf2 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/6.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/7.gif b/anim/Animation Styles/IndividualFrames/gift/a2/7.gif new file mode 100755 index 0000000..d7627b2 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/7.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/8.gif b/anim/Animation Styles/IndividualFrames/gift/a2/8.gif new file mode 100755 index 0000000..965acc1 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/8.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/gift/a2/9.gif b/anim/Animation Styles/IndividualFrames/gift/a2/9.gif new file mode 100755 index 0000000..0509dad --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/gift/a2/9.gif Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/1.png b/anim/Animation Styles/IndividualFrames/png/a1/1.png new file mode 100755 index 0000000..663ca83 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/1.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/2.png b/anim/Animation Styles/IndividualFrames/png/a1/2.png new file mode 100755 index 0000000..6f44ab5 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/2.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/3.png b/anim/Animation Styles/IndividualFrames/png/a1/3.png new file mode 100755 index 0000000..c49ab7e --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/3.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/4.png b/anim/Animation Styles/IndividualFrames/png/a1/4.png new file mode 100755 index 0000000..63eb7e2 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/4.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/5.png b/anim/Animation Styles/IndividualFrames/png/a1/5.png new file mode 100755 index 0000000..2aaa600 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/5.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/6.png b/anim/Animation Styles/IndividualFrames/png/a1/6.png new file mode 100755 index 0000000..8fa9737 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/6.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/7.png b/anim/Animation Styles/IndividualFrames/png/a1/7.png new file mode 100755 index 0000000..1de0311 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/7.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/8.png b/anim/Animation Styles/IndividualFrames/png/a1/8.png new file mode 100755 index 0000000..7d6332a --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/8.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a1/9.png b/anim/Animation Styles/IndividualFrames/png/a1/9.png new file mode 100755 index 0000000..5a8b0ea --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a1/9.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/1.png b/anim/Animation Styles/IndividualFrames/png/a2/1.png new file mode 100755 index 0000000..98b3d72 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/1.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/2.png b/anim/Animation Styles/IndividualFrames/png/a2/2.png new file mode 100755 index 0000000..6ec3dac --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/2.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/3.png b/anim/Animation Styles/IndividualFrames/png/a2/3.png new file mode 100755 index 0000000..157dfc8 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/3.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/4.png b/anim/Animation Styles/IndividualFrames/png/a2/4.png new file mode 100755 index 0000000..5719ab6 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/4.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/5.png b/anim/Animation Styles/IndividualFrames/png/a2/5.png new file mode 100755 index 0000000..3cfd8a3 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/5.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/6.png b/anim/Animation Styles/IndividualFrames/png/a2/6.png new file mode 100755 index 0000000..750ed8b --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/6.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/7.png b/anim/Animation Styles/IndividualFrames/png/a2/7.png new file mode 100755 index 0000000..ce7756e --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/7.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/8.png b/anim/Animation Styles/IndividualFrames/png/a2/8.png new file mode 100755 index 0000000..e28a906 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/8.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/png/a2/9.png b/anim/Animation Styles/IndividualFrames/png/a2/9.png new file mode 100755 index 0000000..b6b2cd8 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/png/a2/9.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/1.png b/anim/Animation Styles/IndividualFrames/pngt/a1/1.png new file mode 100755 index 0000000..dab1239 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/1.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/2.png b/anim/Animation Styles/IndividualFrames/pngt/a1/2.png new file mode 100755 index 0000000..56312a7 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/2.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/3.png b/anim/Animation Styles/IndividualFrames/pngt/a1/3.png new file mode 100755 index 0000000..4ceb540 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/3.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/4.png b/anim/Animation Styles/IndividualFrames/pngt/a1/4.png new file mode 100755 index 0000000..38d640a --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/4.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/5.png b/anim/Animation Styles/IndividualFrames/pngt/a1/5.png new file mode 100755 index 0000000..dcc14d4 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/5.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/6.png b/anim/Animation Styles/IndividualFrames/pngt/a1/6.png new file mode 100755 index 0000000..cb2f933 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/6.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/7.png b/anim/Animation Styles/IndividualFrames/pngt/a1/7.png new file mode 100755 index 0000000..497ed6f --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/7.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/8.png b/anim/Animation Styles/IndividualFrames/pngt/a1/8.png new file mode 100755 index 0000000..693ac1e --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/8.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a1/9.png b/anim/Animation Styles/IndividualFrames/pngt/a1/9.png new file mode 100755 index 0000000..e83b570 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a1/9.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/1.png b/anim/Animation Styles/IndividualFrames/pngt/a2/1.png new file mode 100755 index 0000000..06f2b7c --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/1.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/2.png b/anim/Animation Styles/IndividualFrames/pngt/a2/2.png new file mode 100755 index 0000000..f20ed10 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/2.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/3.png b/anim/Animation Styles/IndividualFrames/pngt/a2/3.png new file mode 100755 index 0000000..6681f2e --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/3.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/4.png b/anim/Animation Styles/IndividualFrames/pngt/a2/4.png new file mode 100755 index 0000000..ff3f0f1 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/4.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/5.png b/anim/Animation Styles/IndividualFrames/pngt/a2/5.png new file mode 100755 index 0000000..1152066 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/5.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/6.png b/anim/Animation Styles/IndividualFrames/pngt/a2/6.png new file mode 100755 index 0000000..458e680 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/6.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/7.png b/anim/Animation Styles/IndividualFrames/pngt/a2/7.png new file mode 100755 index 0000000..4097b74 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/7.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/8.png b/anim/Animation Styles/IndividualFrames/pngt/a2/8.png new file mode 100755 index 0000000..e6ee9b2 --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/8.png Binary files differ diff --git a/anim/Animation Styles/IndividualFrames/pngt/a2/9.png b/anim/Animation Styles/IndividualFrames/pngt/a2/9.png new file mode 100755 index 0000000..314aabf --- /dev/null +++ b/anim/Animation Styles/IndividualFrames/pngt/a2/9.png Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/bmp16/1.bmp b/anim/Animation Styles/OneSheetPerAnimation/bmp16/1.bmp new file mode 100755 index 0000000..9798a08 --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/bmp16/1.bmp Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/bmp16/2.bmp b/anim/Animation Styles/OneSheetPerAnimation/bmp16/2.bmp new file mode 100755 index 0000000..68ba0ba --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/bmp16/2.bmp Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/bmp16/text.txt b/anim/Animation Styles/OneSheetPerAnimation/bmp16/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/bmp16/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/OneSheetPerAnimation/bmp24/1.bmp b/anim/Animation Styles/OneSheetPerAnimation/bmp24/1.bmp new file mode 100755 index 0000000..7ff69f4 --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/bmp24/1.bmp Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/bmp24/2.bmp b/anim/Animation Styles/OneSheetPerAnimation/bmp24/2.bmp new file mode 100755 index 0000000..a771b04 --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/bmp24/2.bmp Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/bmp24/text.txt b/anim/Animation Styles/OneSheetPerAnimation/bmp24/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/bmp24/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/OneSheetPerAnimation/gif/1.gif b/anim/Animation Styles/OneSheetPerAnimation/gif/1.gif new file mode 100755 index 0000000..223321b --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/gif/1.gif Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/gif/2.gif b/anim/Animation Styles/OneSheetPerAnimation/gif/2.gif new file mode 100755 index 0000000..56c1a0f --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/gif/2.gif Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/gif/text.txt b/anim/Animation Styles/OneSheetPerAnimation/gif/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/gif/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/OneSheetPerAnimation/gift/1.gif b/anim/Animation Styles/OneSheetPerAnimation/gift/1.gif new file mode 100755 index 0000000..895ff39 --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/gift/1.gif Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/gift/2.gif b/anim/Animation Styles/OneSheetPerAnimation/gift/2.gif new file mode 100755 index 0000000..61d6302 --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/gift/2.gif Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/gift/text.txt b/anim/Animation Styles/OneSheetPerAnimation/gift/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/gift/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/OneSheetPerAnimation/png/1.png b/anim/Animation Styles/OneSheetPerAnimation/png/1.png new file mode 100755 index 0000000..99f9800 --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/png/1.png Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/png/2.png b/anim/Animation Styles/OneSheetPerAnimation/png/2.png new file mode 100755 index 0000000..41b01d4 --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/png/2.png Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/png/text.txt b/anim/Animation Styles/OneSheetPerAnimation/png/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/png/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/Animation Styles/OneSheetPerAnimation/pngt/1.png b/anim/Animation Styles/OneSheetPerAnimation/pngt/1.png new file mode 100755 index 0000000..37d045a --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/pngt/1.png Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/pngt/2.png b/anim/Animation Styles/OneSheetPerAnimation/pngt/2.png new file mode 100755 index 0000000..b7a00a1 --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/pngt/2.png Binary files differ diff --git a/anim/Animation Styles/OneSheetPerAnimation/pngt/text.txt b/anim/Animation Styles/OneSheetPerAnimation/pngt/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/anim/Animation Styles/OneSheetPerAnimation/pngt/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/anim/DrawableObjectTests/AnimatedSprite.py b/anim/DrawableObjectTests/AnimatedSprite.py new file mode 100755 index 0000000..4f5c8ba --- /dev/null +++ b/anim/DrawableObjectTests/AnimatedSprite.py @@ -0,0 +1,140 @@ +import pygame + +class Spritesheet: + """ + Class from http://www.scriptedfun.com/transcript-2-using-sprite-sheets-and-drawing-the-background/ + + """ + def __init__(self, filename): + self.sheet = pygame.image.load(filename)#.convert() + + def imgat(self, rect): + rect = pygame.Rect(rect) + image = pygame.Surface(rect.size)#.convert() + image.blit(self.sheet, (0, 0), rect) + return image + + def imgsat(self, rects): + imgs = [] + for rect in rects: + imgs.append(self.imgat(rect)) + return imgs + + def img_extract( self, cols, rows, width, height ): + rect_list = [] + for y in range(0, rows): + for x in range(0, cols): + rect_list.append( (width*x, height*y, width, height) ) + return self.imgsat( rect_list) + + +class AnimatedSprite(pygame.sprite.Sprite): + """ + http://shinylittlething.com/2009/07/21/pygame-and-animated-sprites/ + """ + + def __init__(self,images,textfileName,fps = 10): + pygame.sprite.Sprite.__init__(self) + self._images = images + + # Track the time we started, and the time between updates. + # Then we can figure out when we have to switch the image. + self._start = pygame.time.get_ticks() + self._delay = 1000 / fps + self._last_update = 0 + self._frame = 0 + self.animations = {} + + if textfileName != '': + f = open(textfileName, 'r') + currentLine = f.readline() + while currentLine != '': + animValues = currentLine.split(",") + #This is a list called animations that at each position contains a list of two values. the first value is the start position + #of the given animation and the second is the end position of the given animation + self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])] + currentLine = f.readline() + + # Call update to set our first image. + #self.update(pygame.time.get_ticks()) + + def addImages(self, images): + + self._images.extend(images) + + def update(self, t): + # This method updates the animation in a situation where there is only one animation contained within the object. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame and continues to check over and over until it is not + while self._frame >= len(self._images): + #since we are past the final frame it is now figuring out how many frames past the final frame we have actually gone + framesPast = self._frame - len(self._images) + #sets the current frame to the frame it should be at + self._frame = framesPast - 1 + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def updateAnimation(self, t, animName): + # This method updates the animation based on the start and end frame of the specific animation you are on. + #This means that if your object contains multiple animations, you can use this method to reference the exact + #animation that you are using. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #Checks to make sure that the current frame is actually set to a position within the animation + if self._frame < self.animations.get(animName)[0] or self._frame > self.animations.get(animName)[1]: + #corrects the position of the current frame + self._frame = self.animations.get(animName)[0] + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame of the current animation and continues to check over and over + #until it is not + while self._frame >= self.animations.get(animName)[1]: + #Determines how many frames past the final frame of the animation it is + framesPast = self._frame - self.animations.get(animName)[1] + #Sets the current frame to the frame it should be at + self._frame = framesPast - 1 + self.animations.get(animName)[0] + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def nextFrame(self): + # This definition is designed to simply move to the next frame. + # All of the other definitions only move to the nex frame if + # enough time has passed based on the framerate. With this + # definition I can go right to the next frame allowing me to + # see how fast a framerate I can get to and not be limited by + # what I define. + + self._frame += 1 + if self._frame >= len(self._images): + framesPast = self._frame - len(self._images) + self._frame = framesPast + self.image = self._images[self._frame] + + def nextAnimFrame(self, animName): + # This definition is designed to simply move to the next frame of the specified animation. + if self._frame < self.animations[animName][0]: + self._frame = self.animations[animName][0] + + self._frame += 1 + if self._frame > self.animations[animName][1]: + framesPast = self._frame - self.animations[animName][1] + self._frame = framesPast - 1 + self.animations[animName][0] + self.image = self._images[self._frame] + diff --git a/anim/DrawableObjectTests/Buttons.psd b/anim/DrawableObjectTests/Buttons.psd new file mode 100755 index 0000000..a1571e2 --- /dev/null +++ b/anim/DrawableObjectTests/Buttons.psd Binary files differ diff --git a/anim/DrawableObjectTests/DrawableObject.py b/anim/DrawableObjectTests/DrawableObject.py new file mode 100755 index 0000000..07a5613 --- /dev/null +++ b/anim/DrawableObjectTests/DrawableObject.py @@ -0,0 +1,156 @@ +import pygame + +class DrawableObject(pygame.sprite.Sprite): + + def __init__(self,images,textfileName,fps = 10, x = 0, y = 0, xVelocity = 0, yVelocity = 0): + pygame.sprite.Sprite.__init__(self) + cnt = 0 + + #self._originals = images + #self._images = images + self._images = [] + self._origImages = [] + while cnt < len(images): + self._images.append(images[cnt][0].convert()) + self._origImages.append(images[cnt][0].convert()) + cnt += 1 + self._start = pygame.time.get_ticks() + self.image = self._images[0] + self._delay = 1000 / fps + self._last_update = 0 + self._frame = 0 + self.animations = {} + self._current_anim = "" + self.xPos = x + self.yPos = y + self.xSpeed = xVelocity + self.ySpeed = yVelocity + self.myAngle = 0 + self.xSize = 40 + self.ySize = 40 + + if textfileName != '': + + f = open(textfileName, 'r') + currentLine = f.readline() + while currentLine != '': + + animValues = currentLine.split(",") + self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])] + currentLine = f.readline() + + + def addImages(self, images): + + self._images.extend(images) + #self._originals.extend(images) + + def goToAnim(self, animName): + + cnt = 0 + while cnt < len(animations): + + if animations[cnt] == animName: + self._current_anim = animName + self._frame = self.animations[animName][0] + self.image = self._images[self._frame] + cnt = len(animations) + cnt += 1 + + def move(self): + + self.xPos += self.xSpeed + self.yPos += self.ySpeed + + self.image[0].get_rect().move(self.xPos,self.yPos) + + def nudge(self, xNudge = 0, yNudge = 0): + + self.xPos += xNudge + self.yPos += yNudge + + self.image[0].get_rect().move(self.xPos,self.yPos) + + def scale(self, newXSize = None, newYSize = None): + + if newXSize != None: self.xSize = newXSize + if newYSize != None: self.ySize = newYSize + + cnt = 0 + while cnt < len(self._images): + + self._origImages[cnt] = pygame.transform.scale(self._origImages[cnt], (self.xSize, self.ySize)) + self._images[cnt] = self._origImages[cnt] + cnt += 1 + + def getXSize(self): + + return self.xSize + + def getYSize(self): + + return self.ySize + + def rotate(self,angle): + + cnt = 0 + + self.myAngle += angle + while cnt < len(self._images): + + self._images[cnt] = pygame.transform.rotate(self._origImages[cnt], self.myAngle) + cnt += 1 + + def getRotation(self): + + return self.myAngle + + def setPosition(self, x = None, y = None): + + if x != None and x >= 0: self.xPos = x + if y != None and y >= 0: self.yPos = y + + def getXPos(self): + + return self.xPos + + def getYPos(self): + + return self.yPos + + def setSpeed(self, xVelocity = None, yVelocity = None): + + if xVelocity != None: self.xSpeed = xVelocity + if yVelocity != None: self.ySpeed = yVelocity + + def getXSpeed(self): + + return self.xSpeed + + def getYSpeed(self): + + return self.ySpeed + + def calcColorKey(self): + + myColorKey = images[0][0].get_at((0,0)) + setColorKey(myColorKey) + + def setColorKey(self, aColor): + + cnt = 0 + while cnt < len(self._images): + self._images[cnt][0].set_colorkey(aColor) + cnt += 1 + + def update(self, t): + pass + + def updateCurrnetAnimation(self, t): + pass + + def nextFrame(self): + pass + + def nextCurrentAnimFrame(self): + pass diff --git a/anim/DrawableObjectTests/DrawableObjectMoveScaleTest.py b/anim/DrawableObjectTests/DrawableObjectMoveScaleTest.py new file mode 100755 index 0000000..c1bff71 --- /dev/null +++ b/anim/DrawableObjectTests/DrawableObjectMoveScaleTest.py @@ -0,0 +1,102 @@ +#! /usr/bin/env python +from Spritesheet import Spritesheet +from DynamicDrawableObject import DynamicDrawableObject +from Scene import Scene +import pygame +import time +pygame.init() + +img={} +ft="" #filetype +r=0 #frame refreshes +i=1 #cycles images +SIZE = WIDTH, HEIGHT = 600,400 #screen sizes +t=0 #trial number + +BACKGROUNDR=152 +BACKGROUNDG=0 +BACKGROUNDB=152 + +screen = pygame.display.set_mode(SIZE) #Screen Set 600x400 + +screen.fill((BACKGROUNDR, BACKGROUNDG, BACKGROUNDB)) + +def blitAndFlip(): + screen.fill((BACKGROUNDR, BACKGROUNDG, BACKGROUNDB)) + cnt = 0 + while cnt < myScene.getListSize(): + + screen.blit(myScene.getObject(cnt).image, [myScene.getObject(cnt).getXPos(),myScene.getObject(cnt).getYPos()]) + cnt += 1 + + + pygame.display.flip() + +switch1 = [ + [pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp"))] +] + +switch3 = [ + [pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp"))] +] + +switch2 = [ + [pygame.image.load("%sa2/1%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/2%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/3%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/4%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/5%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/6%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/7%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/8%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/9%s"%("IndividualFrames/bmp16/",".bmp"))] +] + +dynamicObj = DynamicDrawableObject(switch1,'',1,39,3, 2, 2) +secondDynamicObj = DynamicDrawableObject(switch1,'',1,39,100, 3, 3) +staticObj = DynamicDrawableObject(switch2,'',1,40,43, 4, 4) + +initialList = [dynamicObj, secondDynamicObj] +secondaryList = [staticObj] + +myScene = Scene(initialList) +myScene.addObjects(secondaryList) + +myScene.nextFrame() +blitAndFlip() +time.sleep(2) +myScene.getObject(1).scale(100, 100) +myScene.getObject(1).nextFrame() +myScene.getObject(0).nextFrame() +myScene.getObject(2).nextFrame() +blitAndFlip() +time.sleep(2) +myScene.getObject(1).rotate(45) +myScene.getObject(1).nextFrame() +myScene.getObject(0).nextFrame() +myScene.getObject(2).nextFrame() +blitAndFlip() +time.sleep(2) +myScene.getObject(1).rotate(-45) +myScene.getObject(1).nextFrame() +myScene.getObject(0).nextFrame() +myScene.getObject(2).nextFrame() +blitAndFlip() +time.sleep(2) + diff --git a/anim/DrawableObjectTests/DynamicDrawableObject.py b/anim/DrawableObjectTests/DynamicDrawableObject.py new file mode 100755 index 0000000..3b3722d --- /dev/null +++ b/anim/DrawableObjectTests/DynamicDrawableObject.py @@ -0,0 +1,89 @@ +import pygame +from DrawableObject import DrawableObject + +class DynamicDrawableObject(DrawableObject, pygame.sprite.Sprite): + + def __init__(self,images,textfileName,fps = 10, x = 0, y = 0, xVelocity = 0, yVelocity = 0): + + DrawableObject.__init__(self, images, textfileName, fps, x, y, xVelocity, yVelocity) + + def addImages(self, images): + + self._images.extend(images) + + def update(self, t): + + timePassed = t + self._last_update + if timePassed > self._delay: + + self._frame += timePassed/self._delay + while self._frame >= len(self._images): + + framesPast = self._frame - len(self._images) + self._frame = framesPast - 1 + + self.image = self._images[self._frame] + self._last_update = timePassed%self._delay + self._last_update = timePassed + + def updateCurrentAnimation(self, t): + + cnt = 0 + while cnt < len(animations): + + if animations[cnt] == self._current_anim: + + timePassed = t + self._last_update + if timePassed > self._delay: + + if self._frame < self.animations.get(self._current_anim)[0] or self._frame > self.animations.get(self._current_anim)[1]: #checking if I am in the animation and putting me there if I am not + + self._frame = self.animations.get(self._current_anim)[0] + + self._frame += timePassed/self._delay + while self._frame >= self.animations.get(self._current_anim)[1]: + + framesPast = self._frame - self.animations.get(self._current_anim)[1] + self._frame = framesPast - 1 + self.animations.get(self._current_anim)[0] + + self.image = self._images[self._frame] + self._last_update = timePassed%self._delay + self._last_update = timePassed + + cnt = len(animations) + + cnt += 1 + + def nextFrame(self): + + self._frame += 1 + if self._frame >= len(self._images): + + framesPast = self._frame - len(self._images) + self._frame = framesPast + + self.image = self._images[self._frame] + + def nextCurrentAnimFrame(self): + + cnt = 0 + while cnt < len(animations): + + if animations[cnt] == self._current_anim: + + if self._frame < self.animations[self._current_anim][0] or self._frame > self.animations[self._current_anim][1]: + + self._frame = self.animations[self._current_anim][0] + else: + self._frame += 1 + + if self._frame > self.animations[self._current_anim][1]: + + framesPast = self._frame - self.animations[self._current_anim][1] + self._frame = framesPast - 1 + self.animations[self._current_anim][0] + + self.image = self._images[self._frame] + + cnt = len(anmiations) + + cnt += 1 diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/1.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/1.bmp new file mode 100755 index 0000000..57630e3 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/1.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/2.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/2.bmp new file mode 100755 index 0000000..90af77a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/2.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/3.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/3.bmp new file mode 100755 index 0000000..1751a4a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/3.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/4.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/4.bmp new file mode 100755 index 0000000..1f292d1 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/4.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/5.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/5.bmp new file mode 100755 index 0000000..fd8cc0e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/5.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/6.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/6.bmp new file mode 100755 index 0000000..df3a2eb --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/6.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/7.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/7.bmp new file mode 100755 index 0000000..51b0052 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/7.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/8.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/8.bmp new file mode 100755 index 0000000..9302c64 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/8.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/9.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/9.bmp new file mode 100755 index 0000000..f5c6191 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/9.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/1.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/1.bmp new file mode 100755 index 0000000..4def064 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/1.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/2.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/2.bmp new file mode 100755 index 0000000..3750af4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/2.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/3.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/3.bmp new file mode 100755 index 0000000..636c6f3 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/3.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/4.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/4.bmp new file mode 100755 index 0000000..646b407 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/4.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/5.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/5.bmp new file mode 100755 index 0000000..11a9bf5 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/5.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/6.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/6.bmp new file mode 100755 index 0000000..ca1ba7b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/6.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/7.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/7.bmp new file mode 100755 index 0000000..9375c15 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/7.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/8.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/8.bmp new file mode 100755 index 0000000..53b66f9 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/8.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/9.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/9.bmp new file mode 100755 index 0000000..088558c --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/9.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/1.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/1.bmp new file mode 100755 index 0000000..e910cec --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/1.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/2.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/2.bmp new file mode 100755 index 0000000..0545f38 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/2.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/3.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/3.bmp new file mode 100755 index 0000000..a154b29 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/3.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/4.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/4.bmp new file mode 100755 index 0000000..4ab21f9 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/4.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/5.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/5.bmp new file mode 100755 index 0000000..0a55d39 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/5.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/6.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/6.bmp new file mode 100755 index 0000000..ad3f1b1 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/6.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/7.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/7.bmp new file mode 100755 index 0000000..915ab5b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/7.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/8.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/8.bmp new file mode 100755 index 0000000..b36287d --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/8.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/9.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/9.bmp new file mode 100755 index 0000000..2cab5a4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/9.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/1.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/1.bmp new file mode 100755 index 0000000..1b41dff --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/1.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/2.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/2.bmp new file mode 100755 index 0000000..71cca69 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/2.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/3.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/3.bmp new file mode 100755 index 0000000..a374206 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/3.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/4.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/4.bmp new file mode 100755 index 0000000..37c4304 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/4.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/5.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/5.bmp new file mode 100755 index 0000000..51f1acb --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/5.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/6.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/6.bmp new file mode 100755 index 0000000..483043c --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/6.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/7.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/7.bmp new file mode 100755 index 0000000..d99e779 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/7.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/8.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/8.bmp new file mode 100755 index 0000000..223b87e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/8.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/9.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/9.bmp new file mode 100755 index 0000000..088a0f5 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/9.bmp Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/1.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/1.gif new file mode 100755 index 0000000..4a89216 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/1.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/2.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/2.gif new file mode 100755 index 0000000..b5019d8 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/2.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/3.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/3.gif new file mode 100755 index 0000000..a87ddc6 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/3.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/4.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/4.gif new file mode 100755 index 0000000..2a398e6 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/4.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/5.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/5.gif new file mode 100755 index 0000000..93e5b8d --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/5.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/6.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/6.gif new file mode 100755 index 0000000..0e73825 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/6.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/7.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/7.gif new file mode 100755 index 0000000..061669a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/7.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/8.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/8.gif new file mode 100755 index 0000000..90dcfda --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/8.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/9.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/9.gif new file mode 100755 index 0000000..aa194d9 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/9.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/1.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/1.gif new file mode 100755 index 0000000..09134f4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/1.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/2.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/2.gif new file mode 100755 index 0000000..d9ebbc2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/2.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/3.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/3.gif new file mode 100755 index 0000000..de17bd4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/3.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/4.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/4.gif new file mode 100755 index 0000000..87450de --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/4.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/5.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/5.gif new file mode 100755 index 0000000..f95b8d9 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/5.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/6.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/6.gif new file mode 100755 index 0000000..3462272 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/6.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/7.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/7.gif new file mode 100755 index 0000000..ac5f084 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/7.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/8.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/8.gif new file mode 100755 index 0000000..d9d3989 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/8.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/9.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/9.gif new file mode 100755 index 0000000..bcdd274 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/9.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/1.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/1.gif new file mode 100755 index 0000000..2aad244 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/1.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/2.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/2.gif new file mode 100755 index 0000000..ed22525 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/2.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/3.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/3.gif new file mode 100755 index 0000000..246cd12 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/3.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/4.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/4.gif new file mode 100755 index 0000000..722f240 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/4.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/5.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/5.gif new file mode 100755 index 0000000..6a71348 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/5.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/6.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/6.gif new file mode 100755 index 0000000..0dd2145 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/6.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/7.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/7.gif new file mode 100755 index 0000000..1e9914b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/7.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/8.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/8.gif new file mode 100755 index 0000000..390124b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/8.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/9.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/9.gif new file mode 100755 index 0000000..61c8c3c --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/9.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/1.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/1.gif new file mode 100755 index 0000000..a79f1e0 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/1.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/2.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/2.gif new file mode 100755 index 0000000..b2579e3 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/2.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/3.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/3.gif new file mode 100755 index 0000000..42f2c74 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/3.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/4.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/4.gif new file mode 100755 index 0000000..61b944a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/4.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/5.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/5.gif new file mode 100755 index 0000000..865f4c7 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/5.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/6.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/6.gif new file mode 100755 index 0000000..9fa7cf2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/6.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/7.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/7.gif new file mode 100755 index 0000000..d7627b2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/7.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/8.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/8.gif new file mode 100755 index 0000000..965acc1 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/8.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/9.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/9.gif new file mode 100755 index 0000000..0509dad --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/9.gif Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/1.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/1.png new file mode 100755 index 0000000..663ca83 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/1.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/2.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/2.png new file mode 100755 index 0000000..6f44ab5 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/2.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/3.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/3.png new file mode 100755 index 0000000..c49ab7e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/3.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/4.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/4.png new file mode 100755 index 0000000..63eb7e2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/4.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/5.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/5.png new file mode 100755 index 0000000..2aaa600 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/5.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/6.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/6.png new file mode 100755 index 0000000..8fa9737 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/6.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/7.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/7.png new file mode 100755 index 0000000..1de0311 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/7.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/8.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/8.png new file mode 100755 index 0000000..7d6332a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/8.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/9.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/9.png new file mode 100755 index 0000000..5a8b0ea --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/9.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/1.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/1.png new file mode 100755 index 0000000..98b3d72 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/1.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/2.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/2.png new file mode 100755 index 0000000..6ec3dac --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/2.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/3.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/3.png new file mode 100755 index 0000000..157dfc8 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/3.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/4.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/4.png new file mode 100755 index 0000000..5719ab6 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/4.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/5.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/5.png new file mode 100755 index 0000000..3cfd8a3 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/5.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/6.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/6.png new file mode 100755 index 0000000..750ed8b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/6.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/7.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/7.png new file mode 100755 index 0000000..ce7756e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/7.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/8.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/8.png new file mode 100755 index 0000000..e28a906 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/8.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/9.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/9.png new file mode 100755 index 0000000..b6b2cd8 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/9.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/1.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/1.png new file mode 100755 index 0000000..dab1239 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/1.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/2.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/2.png new file mode 100755 index 0000000..56312a7 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/2.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/3.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/3.png new file mode 100755 index 0000000..4ceb540 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/3.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/4.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/4.png new file mode 100755 index 0000000..38d640a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/4.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/5.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/5.png new file mode 100755 index 0000000..dcc14d4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/5.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/6.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/6.png new file mode 100755 index 0000000..cb2f933 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/6.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/7.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/7.png new file mode 100755 index 0000000..497ed6f --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/7.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/8.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/8.png new file mode 100755 index 0000000..693ac1e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/8.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/9.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/9.png new file mode 100755 index 0000000..e83b570 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/9.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/1.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/1.png new file mode 100755 index 0000000..06f2b7c --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/1.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/2.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/2.png new file mode 100755 index 0000000..f20ed10 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/2.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/3.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/3.png new file mode 100755 index 0000000..6681f2e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/3.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/4.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/4.png new file mode 100755 index 0000000..ff3f0f1 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/4.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/5.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/5.png new file mode 100755 index 0000000..1152066 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/5.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/6.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/6.png new file mode 100755 index 0000000..458e680 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/6.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/7.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/7.png new file mode 100755 index 0000000..4097b74 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/7.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/8.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/8.png new file mode 100755 index 0000000..e6ee9b2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/8.png Binary files differ diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/9.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/9.png new file mode 100755 index 0000000..314aabf --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/9.png Binary files differ diff --git a/anim/DrawableObjectTests/Room.gif b/anim/DrawableObjectTests/Room.gif new file mode 100644 index 0000000..798ebf1 --- /dev/null +++ b/anim/DrawableObjectTests/Room.gif Binary files differ diff --git a/anim/DrawableObjectTests/Scene.py b/anim/DrawableObjectTests/Scene.py new file mode 100644 index 0000000..959fd87 --- /dev/null +++ b/anim/DrawableObjectTests/Scene.py @@ -0,0 +1,165 @@ +import pygame + +class Scene: + + def __init__(self, drawableObjects): + + self._my_Objects = [] + + cnt = 0 + while cnt < len(drawableObjects): + self._my_Objects.append([drawableObjects[cnt],drawableObjects[cnt].getXPos(),drawableObjects[cnt].getYPos()]) + cnt += 1 + + self.xPos = 0 + self.yPos = 0 + self.xSize = 0 + self.ySize = 0 + + self.calcPosition() + self.calcSize() + self.setRelativePositions() + + def calcPosition(self): + + lowestX = 9000 + lowestY = 9000 + + cnt = 0 + while cnt < len(self._my_Objects): + if self._my_Objects[cnt][0].getXPos() < lowestX: lowestX = self._my_Objects[cnt][0].getXPos() + if self._my_Objects[cnt][0].getYPos() < lowestY: lowestY = self._my_Objects[cnt][0].getYPos() + cnt += 1 + + self.xPos = lowestX + self.yPos = lowestY + + def calcSize(self): + + highestX = 0 + highestY = 0 + + cnt = 0 + while cnt < len(self._my_Objects): + if self._my_Objects[cnt][0].getXPos() + self._my_Objects[cnt][0].getXSize() > highestX: highestX = self._my_Objects[cnt][0].getXPos() + self._my_Objects[cnt][0].getXSize() + if self._my_Objects[cnt][0].getYPos() + self._my_Objects[cnt][0].getYSize() > highestY: highestY = self._my_Objects[cnt][0].getYPos() + self._my_Objects[cnt][0].getYSize() + cnt += 1 + + self.xSize = highestX - self.xPos + self.ySize = highestY - self.yPos + + def addObjects(self, newDrawableObjects): + + cnt = 0 + while cnt < len(newDrawableObjects): + self._my_Objects.append([newDrawableObjects[cnt],newDrawableObjects[cnt].getXPos(),newDrawableObjects[cnt].getYPos()]) + cnt += 1 + + self.calcPosition() + self.calcSize() + self.setRelativePositions() + + def setRelativePositions(self): + + cnt = 0 + while cnt < len(self._my_Objects): + self._my_Objects[cnt][1] = self._my_Objects[cnt][1] - self.xPos + self._my_Objects[cnt][2] = self._my_Objects[cnt][2] - self.yPos + cnt += 1 + + def removeObject(self, index): + + if index < len(self._my_Objects): del self._my_Objects[index] + + def getObject(self, index): + + if index < len(self._my_Objects): + return self._my_Objects[index][0] + + def getListSize(self): + return len(self._my_Objects) + + def moveObjects(self): + + cnt = 0 + while cnt < len(self._my_Objects): + + self._my_Objects[cnt][0].move() + cnt += 1 + + self.calcPosition() + self.calcSize() + self.setRelativePositions() + + def moveScene(self, xNudge = 0, yNudge = 0): + + cnt = 0 + while cnt < len(self._my_Objects): + + self._my_Objects[cnt][0].nudge(xNudge, yNudge) + cnt += 1 + + self.calcPosition() + + def setPosition(self, newXPos = None, newYPos = None): + + if newXPos != None: self.xPos = newXPos + if newYPos != None: self.yPos = newYPos + + cnt = 0 + while cnt < len(self._my_Objects): + + self._my_Objects[cnt][0].setPosition(self.xPos + self._my_Objects[cnt][1], self.yPos + self._my_Objects[cnt][2]) + cnt += 1 + + def getXPos(self): + return self.xPos + + def getYPos(self): + return self.yPos + + def getXSize(self): + return self.xSize + + def getYSize(self): + return self.ySize + + def scaleObjects(self, newXSize = None, newYSize = None): + + cnt = 0 + while cnt < len(self._my_Objects): + self._my_Objects[cnt][0].scale(newXSize, newYSize) + cnt += 1 + + def scaleScene(self, newXSize = None, newYSize = None): + + xScale = 1 + yScale = 1 + + if newXSize != None: xScale = (newXSize * 1.0)/self.xSize + if newYSize != None: yScale = (newYSize * 1.0)/self.ySize + + cnt = 0 + while cnt < len(self._my_Objects): + self._my_Objects[cnt][0].scale(xScale * self._my_Objects[cnt][0].getXSize(), yScale * self._my_Objects[cnt][0].getYSize()) + self._my_Objects[cnt][1] = xScale * self._my_Objects[cnt][1] + self._my_Objects[cnt][2] = yScale * self._my_Objects[cnt][2] + cnt += 1 + + self.setPosition() + + def updateAnimations(self, t): + + cnt = 0 + while cnt < len(self._my_Objects): + + self._my_Objects[cnt][0].updateCurrentAnimation(t) + cnt += 1 + + def nextFrame(self): + + cnt = 0 + while cnt < len(self._my_Objects): + + self._my_Objects[cnt][0].nextFrame() + cnt += 1 diff --git a/anim/DrawableObjectTests/Spritesheet.py b/anim/DrawableObjectTests/Spritesheet.py new file mode 100755 index 0000000..ddb18a8 --- /dev/null +++ b/anim/DrawableObjectTests/Spritesheet.py @@ -0,0 +1,31 @@ +import pygame + +class Spritesheet: + """ + Class from http://www.scriptedfun.com/transcript-2-using-sprite-sheets-and-drawing-the-background/ + + This class can be used to seporate images from the sprite sheet + """ + def __init__(self, filename): + self.sheet = pygame.image.load(filename).convert() + + def imgat(self, rect, myColorKey = None): + rect = pygame.Rect(rect) + image = pygame.Surface(rect.size).convert() + if myColorKey == None: myColorKey = image.get_at((0,0)) + image.set_colorkey(myColorKey) + image.blit(self.sheet, (0, 0), rect) + return image + + def imgsat(self, rects, myColorKey = None): + imgs = [] + for rect in rects: + imgs.append(self.imgat(rect, myColorKey)) + return imgs + + def img_extract( self, cols, rows, width, height, myColorKey = None): + rect_list = [] + for y in range(0, rows): + for x in range(0, cols): + rect_list.append( (width*x, height*y, width, height,) ) + return self.imgsat( rect_list, myColorKey) \ No newline at end of file diff --git a/anim/DrawableObjectTests/StaticDrawableObject.py b/anim/DrawableObjectTests/StaticDrawableObject.py new file mode 100755 index 0000000..6486eb2 --- /dev/null +++ b/anim/DrawableObjectTests/StaticDrawableObject.py @@ -0,0 +1,32 @@ +import pygame +from DrawableObject import DrawableObject + +class StaticDrawableObject(pygame.sprite.Sprite): + + def __init __(self,images,textfileName,fps = 10): + pygame.sprite.Sprite.__init__(self) + self._images = images + + self._start = pygame.time.get_ticks() + self._delay = 1000 / fps + self._last_update = 0 + self._frame = 0 + self.animations = {} + + if textfileName != '': + + f = open(textfileName, 'r') + currentLine = f.readline() + while currentLine != '': + + animValues = currentLine.split(",") + self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])] + currentLine = f.readline() + + + def addImages(self, images): + + self._images.extend(images) + + + diff --git a/anim/DrawableObjectTests/TestObject b/anim/DrawableObjectTests/TestObject new file mode 100644 index 0000000..3dbdc60 --- /dev/null +++ b/anim/DrawableObjectTests/TestObject @@ -0,0 +1,16 @@ +import pygame +from DrawableObject import DrawableObject + +class TestObject: + + def __init__(self, drawableObject): + + self.myDrawableObject = drawableObject + + def changeSize(self, x, y): + + self.myDrawableObject.scale(x,y) + + def getDrawable(self): + + return self.myDrawableObject \ No newline at end of file diff --git a/anim/DrawableObjectTests/TestObject.py b/anim/DrawableObjectTests/TestObject.py new file mode 100644 index 0000000..3dbdc60 --- /dev/null +++ b/anim/DrawableObjectTests/TestObject.py @@ -0,0 +1,16 @@ +import pygame +from DrawableObject import DrawableObject + +class TestObject: + + def __init__(self, drawableObject): + + self.myDrawableObject = drawableObject + + def changeSize(self, x, y): + + self.myDrawableObject.scale(x,y) + + def getDrawable(self): + + return self.myDrawableObject \ No newline at end of file diff --git a/anim/DrawableObjectTests/TestObject.txt b/anim/DrawableObjectTests/TestObject.txt new file mode 100644 index 0000000..3dbdc60 --- /dev/null +++ b/anim/DrawableObjectTests/TestObject.txt @@ -0,0 +1,16 @@ +import pygame +from DrawableObject import DrawableObject + +class TestObject: + + def __init__(self, drawableObject): + + self.myDrawableObject = drawableObject + + def changeSize(self, x, y): + + self.myDrawableObject.scale(x,y) + + def getDrawable(self): + + return self.myDrawableObject \ No newline at end of file diff --git a/anim/DrawableObjectTests/boxes.py b/anim/DrawableObjectTests/boxes.py new file mode 100644 index 0000000..5b444b6 --- /dev/null +++ b/anim/DrawableObjectTests/boxes.py @@ -0,0 +1,32 @@ +import pygame + +class UpDownBox(pygame.sprite.Sprite): + def __init__(self, imagesList, initial_position): + pygame.sprite.Sprite.__init__(self) + self.images = imagesList + self.listLen = len(imagesList) + self.listPos = 0 + self.image = imagesList[self.listPos] + self.rect = self.image.get_rect() + self.rect.topleft = initial_position + self.going_down = True # Start going downwards + self.next_update_time = 0 # update() hasn't been called yet. + + def update(self, current_time, bottom): + # Update every 10 milliseconds = 1/100th of a second. + if self.next_update_time < current_time: + + # If we're at the top or bottom of the screen, switch directions. + if self.rect.bottom == bottom - 1: self.going_down = False + elif self.rect.top == 0: self.going_down = True + + # Move our position up or down by one pixel + if self.going_down: self.rect.top += 1 + else: self.rect.top -= 1 + + if self.listPos < self.listLen - 1: + self.listPos += 1 + else: + self.listPos = 0 + self.image = self.images[self.listPos] + self.next_update_time = current_time diff --git a/anim/DrawableObjectTests/goblin.png b/anim/DrawableObjectTests/goblin.png new file mode 100644 index 0000000..6bdca0f --- /dev/null +++ b/anim/DrawableObjectTests/goblin.png Binary files differ diff --git a/anim/DrawableObjectTests/renderupdates.py b/anim/DrawableObjectTests/renderupdates.py new file mode 100644 index 0000000..30ffe5b --- /dev/null +++ b/anim/DrawableObjectTests/renderupdates.py @@ -0,0 +1,71 @@ +import pygame +from pygame.locals import * +from boxes import UpDownBox +from time import time + +pygame.init() +boxes = pygame.sprite.RenderUpdates() +boxesTwo = pygame.sprite.RenderUpdates() +boxesThree = pygame.sprite.RenderUpdates() + +switch1 = [ + pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp")) +] + +switch2 = [ + pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp")) +] + +switch3 = [ + pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp")), + pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp")) +] + +boxes.add(UpDownBox(switch1, (0, 0))) +boxes.add(UpDownBox(switch1, (100, 100))) +boxes.add(UpDownBox(switch1, (200, 200))) + + +screen = pygame.display.set_mode([1200, 900]) +boxesTwo.add(UpDownBox([pygame.image.load("goblin.png")], (0,300))) +background = pygame.image.load("Room.gif") +#background.fill(pygame.image.load("Room.gif")) +screen.blit(background, [0, 0]) +pygame.display.flip() +boxesTwo.update(pygame.time.get_ticks(), 700) +rectlist = boxesTwo.draw(screen) +pygame.display.update(rectlist) +start = time() +for i in range(2000): + boxes.update(pygame.time.get_ticks(), 700) + boxesTwo.update(pygame.time.get_ticks(), 700) + rectlist = boxesTwo.draw(screen) + rectlist.extend(boxes.draw(screen)) + pygame.display.update(rectlist) + boxesTwo.clear(screen, background) + boxes.clear(screen, background) + +print 2000/(time() - start) diff --git a/devtools/CompleteTestKit/.to-do/AnimatedSprite.py b/devtools/CompleteTestKit/.to-do/AnimatedSprite.py new file mode 100755 index 0000000..03fcfcd --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/AnimatedSprite.py @@ -0,0 +1,148 @@ +import pygame + +class Spritesheet: + """ + Class from http://www.scriptedfun.com/transcript-2-using-sprite-sheets-and-drawing-the-background/ + + This class can be used to seporate images from the sprite sheet + """ + def __init__(self, filename): + self.sheet = pygame.image.load(filename)#.convert() + + def imgat(self, rect): + rect = pygame.Rect(rect) + image = pygame.Surface(rect.size)#.convert() + image.blit(self.sheet, (0, 0), rect) + return image + + def imgsat(self, rects): + imgs = [] + for rect in rects: + imgs.append(self.imgat(rect)) + return imgs + + def img_extract( self, cols, rows, width, height ): + rect_list = [] + for y in range(0, rows): + for x in range(0, cols): + rect_list.append( (width*x, height*y, width, height) ) + return self.imgsat( rect_list) + + +class AnimatedSprite(pygame.sprite.Sprite): + """ + http://shinylittlething.com/2009/07/21/pygame-and-animated-sprites/ + """ + + def __init__(self,images,textfileName,fps = 10): + pygame.sprite.Sprite.__init__(self) + self._images = images + + # Track the time we started, and the time between updates. + # Then we can figure out when we have to switch the image. + self._start = pygame.time.get_ticks() + self._delay = 1000 / fps + self._last_update = 0 + self._frame = 0 + self.animations = {} + + if textfileName != '': + f = open(textfileName, 'r') + currentLine = f.readline() + while currentLine != '': + animValues = currentLine.split(",") + #This is a list called animations that at each position contains a list of two values. the first value is the start position + #of the given animation and the second is the end position of the given animation + self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])] + currentLine = f.readline() + + # Call update to set our first image. + #self.update(pygame.time.get_ticks()) + + def addImages(self, images): + + self._images.extend(images) + + def update(self, t): + # This method updates the animation in a situation where there is only one animation contained within the object. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame and continues to check over and over until it is not + while self._frame >= len(self._images): + #since we are past the final frame it is now figuring out how many frames past the final frame we have actually gone + framesPast = self._frame - len(self._images) + #sets the current frame to the frame it should be at + self._frame = framesPast - 1 + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def updateAnimation(self, t, animName): + # This method updates the animation based on the start and end frame of the specific animation you are on. + #This means that if your object contains multiple animations, you can use this method to reference the exact + #animation that you are using. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + + #Checks to make sure that the current frame is actually set to a position within the animation + if self._frame < self.animations.get(animName)[0] or self._frame > self.animations.get(animName)[1]: + #corrects the position of the current frame + self._frame = self.animations.get(animName)[0] + + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + + #checks if the current frame is past the final frame of the current animation and continues to check over and over + #until it is not + while self._frame >= self.animations.get(animName)[1]: + #Determines how many frames past the final frame of the animation it is + framesPast = self._frame - self.animations.get(animName)[1] + + #Sets the current frame to the frame it should be at + self._frame = framesPast - 1 + self.animations.get(animName)[0] + + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def nextFrame(self): + # This definition is designed to simply move to the next frame. + # All of the other definitions only move to the nex frame if + # enough time has passed based on the framerate. With this + # definition I can go right to the next frame allowing me to + # see how fast a framerate I can get to and not be limited by + # what I define. + + self._frame += 1 + if self._frame >= len(self._images): + framesPast = self._frame - len(self._images) + self._frame = framesPast + self.image = self._images[self._frame] + + def nextAnimFrame(self, animName): + # This definition is designed to simply move to the next frame of the specified animation. + if self._frame < self.animations[animName][0]: + self._frame = self.animations[animName][0] + + self._frame += 1 + if self._frame > self.animations[animName][1]: + framesPast = self._frame - self.animations[animName][1] + self._frame = framesPast - 1 + self.animations[animName][0] + self.image = self._images[self._frame] diff --git a/devtools/CompleteTestKit/.to-do/AnimatedSpriteTest.py b/devtools/CompleteTestKit/.to-do/AnimatedSpriteTest.py new file mode 100755 index 0000000..1be0d6a --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/AnimatedSpriteTest.py @@ -0,0 +1,309 @@ +#! /usr/bin/env python + +from AnimatedSprite import Spritesheet +from AnimatedSprite import AnimatedSprite +import pygame +import time + +pygame.init() +make=input("How many images would you like to load? ") +img={} +ft="" #filetype +r=0 #frame refreshes +i=1 #cycles images +SIZE = WIDTH, HEIGHT = 600,400 #screen sizes +t=0 #trial number + +BACKGROUNDR=152 +BACKGROUNDG=0 +BACKGROUNDB=152 + +AnimPerLineArr=[ + [".bmp","art/BMP16/multiAnimSheet/"] , + [".bmp","art/BMP24/multiAnimSheet/"] , + [".gif", "art/GIF/multiAnimSheet/" ] , + [".gif", "art/GIFT/multiAnimSheet/"] , + [".png", "art/PNGI/multiAnimSheet/"] , + [".png", "art/PNGT/multiAnimSheet/"] ] + +OneSheetArr=[ + [".bmp","art/BMP16/singleAnimSheet/"] , + [".bmp","art/BMP24/singleAnimSheet/"] , + [".gif", "art/GIF/singleAnimSheet/" ] , + [".gif", "art/GIFT/singleAnimSheet/"] , + [".png", "art/PNGI/singleAnimSheet/"] , + [".png", "art/PNGT/singleAnimSheet/"] ] + +IndivFrameArr=[ + [".bmp","art/BMP16/"] , + [".bmp","art/BMP24/"] , + [".gif", "art/GIF/" ] , + [".gif", "art/GIFT/"] , + [".png", "art/PNGI/"] , + [".png", "art/PNGT/"] ] + +screen = pygame.display.set_mode(SIZE) #Screen Set 600x400 + +screen.fill((BACKGROUNDR, BACKGROUNDG, BACKGROUNDB)) + +"""Reading Individual Frames +""" + +def readIndivFrames(fileType, path): + switch1 = [ + [pygame.image.load("%sa1/1%s"%(path,fileType))], + [pygame.image.load("%sa1/2%s"%(path,fileType))], + [pygame.image.load("%sa1/3%s"%(path,fileType))], + [pygame.image.load("%sa1/4%s"%(path,fileType))], + [pygame.image.load("%sa1/5%s"%(path,fileType))], + [pygame.image.load("%sa1/6%s"%(path,fileType))], + [pygame.image.load("%sa1/7%s"%(path,fileType))], + [pygame.image.load("%sa1/8%s"%(path,fileType))], + [pygame.image.load("%sa1/9%s"%(path,fileType))] + ] + + switch2 = [ + [pygame.image.load("%sa2/1%s"%(path,fileType))], + [pygame.image.load("%sa2/2%s"%(path,fileType))], + [pygame.image.load("%sa2/3%s"%(path,fileType))], + [pygame.image.load("%sa2/4%s"%(path,fileType))], + [pygame.image.load("%sa2/5%s"%(path,fileType))], + [pygame.image.load("%sa2/6%s"%(path,fileType))], + [pygame.image.load("%sa2/7%s"%(path,fileType))], + [pygame.image.load("%sa2/8%s"%(path,fileType))], + [pygame.image.load("%sa2/9%s"%(path,fileType))] + ] + + instances= [] + + cnt = make + + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(switch1,'',10),[(40*cnt),0,2,2]]) + + animatedSprites.append([AnimatedSprite(switch2,'',10),[(40*cnt),40,2,2]]) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + trials = 0 + while trials < 5: + + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextFrame() + instances[groups][1][0].nextFrame() + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > WIDTH - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > HEIGHT - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > WIDTH - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > HEIGHT - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image[0], (instances[groups][0][0].image[0].get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image[0], (instances[groups][1][0].image[0].get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + screen.fill((BACKGROUNDR,BACKGROUNDG,BACKGROUNDB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + +#----------------------------------------------------------------- + +def readPerLine(fileType, path): + + spriteSheet1 = Spritesheet(("%sButtons.%s"%(path,fileType))) + + instances= [] + + cnt = make + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,2,40,40),("%stext.txt"%(path)),10),[(40*cnt),0,2,2]]) + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,2,40,40),("%stext.txt"%(path)),10),[(40*cnt),40,2,2]]) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + trials = 0 + while trials < 5: + + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextAnimFrame("anim1") + instances[groups][1][0].nextAnimFrame("anim2") + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > WIDTH - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > HEIGHT - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > WIDTH - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > HEIGHT - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image, (instances[groups][0][0].image.get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image, (instances[groups][1][0].image.get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + screen.fill((BACKGROUNDR,BACKGROUNDG,BACKGROUNDB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + +#----------------------------------------------------------------- +def readIndivSheet(fileType, path): + + spriteSheet1 = Spritesheet(("%s1%s"%(path,fileType))) + spriteSheet2 = Spritesheet(("%s2%s"%(path,fileType))) + + instances= [] + + cnt = make + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,1,40,40),("%stext.txt"%(path)),10),[(40*cnt),0,2,2]]) + animatedSprites[0][0].addImages(spriteSheet2.img_extract(9,1,40,40)) + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,1,40,40),("%stext.txt"%(path)),10),[(40*cnt),40,2,2]]) + animatedSprites[1][0].addImages(spriteSheet2.img_extract(9,1,40,40)) + + instances.append(animatedSprites) + + cnt = cnt - 1 + trials = 0 + + while trials < 5: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + changes = 0 + start = time.time() + while changes < 500: + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextAnimFrame("anim1") + instances[groups][1][0].nextAnimFrame("anim2") + + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > WIDTH - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > HEIGHT - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > WIDTH - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > HEIGHT - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + screen.blit(instances[groups][0][0].image, (instances[groups][0][0].image.get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image, (instances[groups][1][0].image.get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + groups = groups - 1 + pygame.display.flip() + + screen.fill((BACKGROUNDR,BACKGROUNDG,BACKGROUNDB)) + changes = changes + 1 + trials = trials + 1 + print(trials) + print(1/((time.time() -start)/500)) + + +#----------------------------------------------------------------- +iterator = 0 +print "\nTesting One Sheet Per Animation" +print "" +while iterator < len(AnimPerLineArr): + + print "" + print OneSheetArr[iterator][1] + readIndivSheet(OneSheetArr[iterator][0],OneSheetArr[iterator][1]) + iterator += 1 + +iterator = 0 +print "" +print "Testing One Animation Per Line" +print "" +while iterator < len(OneSheetArr): + + print "" + print AnimPerLineArr[iterator][1] + readPerLine(AnimPerLineArr[iterator][0],AnimPerLineArr[iterator][1]) + iterator += 1 + +iterator = 0 +print "" +print "Testing Individual Frames" +print "" +while iterator < len(IndivFrameArr): + + print "" + print IndivFrameArr[iterator][1] + readIndivFrames(IndivFrameArr[iterator][0],IndivFrameArr[iterator][1]) + iterator += 1 diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimTestMod.py b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimTestMod.py new file mode 100755 index 0000000..2626357 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimTestMod.py @@ -0,0 +1,361 @@ +from AnimatedSprite import Spritesheet, AnimatedSprite +import sys, pygame, time +pygame.init() + +print "Full Test - Authors Dave Silverman and Scott Mengel" +print "Set size to 600 x 400 px" +print "Running..." + +#-------------------------------------------------------------- +#CONSTANTS AND VARIABLES + +make=input("How many instances of each animation would you like to load? ") +img={} +ft="" #filetype +r=0 #frame refreshes +i=1 #cycles images +size = width, height = 600,400 #screen sizes +t=0 #trial number + +#These are arrays of file types and paths to the corresponding folders so that later I can just iterate through this array and grab +#the path my images are in and the file type of the images in that folder. We have one array for each type of sprite sheet that we are testing. +AnimPerLineArr=[ ["bmp","AnimationPerLine/bmp16/"] , ["bmp","AnimationPerLine/bmp24/"] , ["gif","AnimationPerLine/gif/"] , ["gif","AnimationPerLine/gift/"] , ["png","AnimationPerLine/png/"] , ["png","AnimationPerLine/pngt/"] ] +OneSheetArr=[ ["bmp","OneSheetPerAnimation/bmp16/"] , ["bmp","OneSheetPerAnimation/bmp24/"] , ["gif","OneSheetPerAnimation/gif/"] , ["gif","OneSheetPerAnimation/gift/"] , ["png","OneSheetPerAnimation/png/"] , ["png","OneSheetPerAnimation/pngt/"] ] +IndivFrameArr=[ ["bmp","IndividualFrames/bmp16/"] , ["bmp","IndividualFrames/bmp24/"] , ["gif","IndividualFrames/gif/"] , ["gif","IndividualFrames/gift/"] , ["png","IndividualFrames/png/"] , ["png","IndividualFrames/pngt/"] ] + +screen = pygame.display.set_mode(size) #Screen Set 600x400 +backgroundR = 152 +backgroundG = 0 +backgroundB = 152 +screen.fill((backgroundR, backgroundG, backgroundB))#setting the background color to purple. +#----------------------------------------------------------------- +#Reading Individual Frames + +def readIndivFrames(fileType, path): +# This definition is used to read in the images that each only have one frame of animation on them and to display their animations + + #This list holds the frames for the first animation + images1 = [ + [pygame.image.load("%sa1/1.%s"%(path,fileType))], + [pygame.image.load("%sa1/2.%s"%(path,fileType))], + [pygame.image.load("%sa1/3.%s"%(path,fileType))], + [pygame.image.load("%sa1/4.%s"%(path,fileType))], + [pygame.image.load("%sa1/5.%s"%(path,fileType))], + [pygame.image.load("%sa1/6.%s"%(path,fileType))], + [pygame.image.load("%sa1/7.%s"%(path,fileType))], + [pygame.image.load("%sa1/8.%s"%(path,fileType))], + [pygame.image.load("%sa1/9.%s"%(path,fileType))] + ] + + #This list holds the frames for the second animation. + images2 = [ + [pygame.image.load("%sa2/1.%s"%(path,fileType))], + [pygame.image.load("%sa2/2.%s"%(path,fileType))], + [pygame.image.load("%sa2/3.%s"%(path,fileType))], + [pygame.image.load("%sa2/4.%s"%(path,fileType))], + [pygame.image.load("%sa2/5.%s"%(path,fileType))], + [pygame.image.load("%sa2/6.%s"%(path,fileType))], + [pygame.image.load("%sa2/7.%s"%(path,fileType))], + [pygame.image.load("%sa2/8.%s"%(path,fileType))], + [pygame.image.load("%sa2/9.%s"%(path,fileType))] + ] + + #instances is an array of all the instances of each of the two animations. + instances = [] + + #cnt represents how many times both animations need to be made + cnt = make + while cnt > 0: + #animatedSprites is a list that hads two valuse in it. One for the first animation and one for the second animation. + animatedSprites = [] + #Each position in animatedSprites contains a list that has an actual animatedSprite object, and a list that contains all of that animatedSprite + #object's position and speed values + animatedSprites.append([AnimatedSprite(images1,'',10),[(40*cnt),0,2,2]]) + + animatedSprites.append([AnimatedSprite(images2,'',10),[(40*cnt),40,2,2]]) + + #Adds the animatedSprites list to the instances list. + instances.append(animatedSprites) + + #Increments the cnt object + cnt = cnt - 1 + + #trials represents the number of trials that is perfor,ed for each test. + trials = 0 + while trials < 5: + + #This loop is used to go through to the deepest level of this list and modify the positions of each set of animations so that they + #are not all directly on top of each other. + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + #changes is a variable that is used to track how many frames have rendered. + changes = 0 + #start represents the time the test starts + start = time.time() + #This is the loop that goes through until 500 frames have passed + while changes < 500: + #This loop goes through the first level of the instances list so that every group of animations is updated + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextFrame() + instances[groups][1][0].nextFrame() + + #These two ifs are used to check if the first animation is off screen and adjust its velocity if it is so that it will come back + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > width - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > height - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + #These two ifs are used to check if the second animation is off screen and adjust its velocity if it is so that it will come back + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > width - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > height - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + #These two statements update the position of the first animation based on its velocity + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + #These two statements update the position of the second animation based on its velocity + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + #blits the new position of both animations + screen.blit(instances[groups][0][0].image[0], (instances[groups][0][0].image[0].get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image[0], (instances[groups][1][0].image[0].get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + #iterates group object to next one to update + groups = groups - 1 + #flips the display so that the new frames show up + pygame.display.flip() + #fills the screen with the background coor + screen.fill((backgroundR,backgroundG,backgroundB)) + #iterates the changes object + changes = changes + 1 + #iterates the trials object + trials = trials + 1 + #prints what trial we are on and the frame rate. + print(trials) + print(1/((time.time() -start)/500)) + +#----------------------------------------------------------------- + +def readPerLine(fileType, path): + + spriteSheet1 = Spritesheet(("%sButtons.%s"%(path,fileType))) + + instances= [] + + cnt = make + while cnt > 0: + animatedSprites = [] + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,2,40,40),("%stext.txt"%(path)),10),[(40*cnt),0,2,2]]) + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,2,40,40),("%stext.txt"%(path)),10),[(40*cnt),40,2,2]]) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + #trials represents the number of trials that is perfor,ed for each test. + trials = 0 + while trials < 5: + + #This loop is used to go through to the deepest level of this list and modify the positions of each set of animations so that they + #are not all directly on top of each other. + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + #changes is a variable that is used to track how many frames have rendered. + changes = 0 + #start represents the time the test starts + start = time.time() + #This is the loop that goes through until 500 frames have passed + while changes < 500: + #This loop goes through the first level of the instances list so that every group of animations is updated + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextFrame() + instances[groups][1][0].nextFrame() + + #These two ifs are used to check if the first animation is off screen and adjust its velocity if it is so that it will come back + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > width - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > height - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + #These two ifs are used to check if the second animation is off screen and adjust its velocity if it is so that it will come back + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > width - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > height - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + #These two statements update the position of the first animation based on its velocity + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + #These two statements update the position of the second animation based on its velocity + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + #blits the new position of both animations + screen.blit(instances[groups][0][0].image, (instances[groups][0][0].image.get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image, (instances[groups][1][0].image.get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + #iterates group object to next one to update + groups = groups - 1 + #flips the display so that the new frames show up + pygame.display.flip() + #fills the screen with the background coor + screen.fill((backgroundR,backgroundG,backgroundB)) + #iterates the changes object + changes = changes + 1 + #iterates the trials object + trials = trials + 1 + #prints what trial we are on and the frame rate. + print(trials) + print(1/((time.time() -start)/500)) + +#----------------------------------------------------------------- +def readIndivSheet(fileType, path): + + #creates instances of the spritesheet object witht he given sprite sheet images + spriteSheet1 = Spritesheet(("%s1.%s"%(path,fileType))) + spriteSheet2 = Spritesheet(("%s2.%s"%(path,fileType))) + + instances= [] + + #Increments the cnt object + cnt = make + while cnt > 0: + #animatedSprites is a list that hads two valuse in it. One for the first animation and one for the second animation. + animatedSprites = [] + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,1,40,40),("%stext.txt"%(path)),10),[(40*cnt),0,2,2]]) + animatedSprites[0][0].addImages(spriteSheet2.img_extract(9,1,40,40)) + + animatedSprites.append([AnimatedSprite(spriteSheet1.img_extract(9,1,40,40),("%stext.txt"%(path)),10),[(40*cnt),40,2,2]]) + animatedSprites[1][0].addImages(spriteSheet2.img_extract(9,1,40,40)) + + instances.append(animatedSprites) + + cnt = cnt - 1 + + #trials represents the number of trials that is perfor,ed for each test. + trials = 0 + while trials < 5: + + #This loop is used to go through to the deepest level of this list and modify the positions of each set of animations so that they + #are not all directly on top of each other. + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][1][0] = 40 * groups + instances[groups][0][1][1] = 0 + instances[groups][1][1][0] = 40 * groups + instances[groups][1][1][1] = 40 + groups = groups - 1 + + #changes is a variable that is used to track how many frames have rendered. + changes = 0 + #start represents the time the test starts + start = time.time() + #This is the loop that goes through until 500 frames have passed + while changes < 500: + #This loop goes through the first level of the instances list so that every group of animations is updated + groups = len(instances) - 1 + while groups >= 0: + instances[groups][0][0].nextFrame() + instances[groups][1][0].nextFrame() + + #These two ifs are used to check if the first animation is off screen and adjust its velocity if it is so that it will come back + if instances[groups][0][1][0] < 0 or instances[groups][0][1][0] > width - 40: + instances[groups][0][1][2] = instances[groups][0][1][2] * -1 + + if instances[groups][0][1][1] < 0 or instances[groups][0][1][1] > height - 40: + instances[groups][0][1][3] = instances[groups][0][1][3] * -1 + + #These two ifs are used to check if the second animation is off screen and adjust its velocity if it is so that it will come back + if instances[groups][1][1][0] < 0 or instances[groups][1][1][0] > width - 40: + instances[groups][1][1][2] = instances[groups][1][1][2] * -1 + + if instances[groups][1][1][1] < 0 or instances[groups][1][1][1] > height - 40: + instances[groups][1][1][3] = instances[groups][1][1][3] * -1 + + + #These two statements update the position of the first animation based on its velocity + instances[groups][0][1][0] += instances[groups][0][1][2] + instances[groups][0][1][1] += instances[groups][0][1][3] + + #These two statements update the position of the second animation based on its velocity + instances[groups][1][1][0] += instances[groups][1][1][2] + instances[groups][1][1][1] += instances[groups][1][1][3] + + #blits the new position of both animations + screen.blit(instances[groups][0][0].image, (instances[groups][0][0].image.get_rect().move(instances[groups][0][1][0], instances[groups][0][1][1]))) + screen.blit(instances[groups][1][0].image, (instances[groups][1][0].image.get_rect().move(instances[groups][1][1][0], instances[groups][1][1][1]))) + + #iterates group object to next one to update + groups = groups - 1 + #flips the display so that the new frames show up + pygame.display.flip() + #fills the screen with the background coor + screen.fill((backgroundR,backgroundG,backgroundB)) + #iterates the changes object + changes = changes + 1 + #iterates the trials object + trials = trials + 1 + #prints what trial we are on and the frame rate. + print(trials) + print(1/((time.time() -start)/500)) + + +#----------------------------------------------------------------- +iterator = 0 +print"" +print "Testing One Sheet Per Animation" +print "" +while iterator < len(AnimPerLineArr): + + print"" + print OneSheetArr[iterator][1] + readIndivSheet(OneSheetArr[iterator][0],OneSheetArr[iterator][1]) + iterator += 1 + +iterator = 0 +print"" +print "Testing One Animation Per Line" +print "" +while iterator < len(OneSheetArr): + + print "" + print AnimPerLineArr[iterator][1] + readPerLine(AnimPerLineArr[iterator][0],AnimPerLineArr[iterator][1]) + iterator += 1 + +iterator = 0 +print "" +print "Testing Individual Frames" +print "" +while iterator < len(IndivFrameArr): + + print "" + print IndivFrameArr[iterator][1] + readIndivFrames(IndivFrameArr[iterator][0],IndivFrameArr[iterator][1]) + iterator += 1 diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimatedSprite.py b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimatedSprite.py new file mode 100755 index 0000000..e4a3e3b --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimatedSprite.py @@ -0,0 +1,169 @@ +import pygame + +class Spritesheet: + """ + Class from http://www.scriptedfun.com/transcript-2-using-sprite-sheets-and-drawing-the-background/ + + This class is used to seperate sprite sheets into the individual frames contained on them and put them into an array of images. + """ + + def __init__(self, filename): + #This is the constructor. You pass in a file that contains your frames and it sets it to the sheet property. + + self.sheet = pygame.image.load(filename)#.convert() + + def imgat(self, rect): + #This definition is called by imgsat and takes an individual frame and creates a seperate image out of it + + rect = pygame.Rect(rect) + image = pygame.Surface(rect.size)#.convert() + image.blit(self.sheet, (0, 0), rect) + return image + + def imgsat(self, rects): + #This definition is called by img_extract. It takes the array of frames and passes them into imgat so they can be turned into usable images. + #It then takes the returned images and adds them to the final array of frames. + + imgs = [] + for rect in rects: + imgs.append(self.imgat(rect)) + return imgs + + def img_extract( self, cols, rows, width, height ): + #This definition begins the chain rection of calling all of the other definitions by sending the list of rectangles that are the images + #into imgsat. + + rect_list = [] + for y in range(0, rows): + for x in range(0, cols): + rect_list.append( (width*x, height*y, width, height) ) + return self.imgsat( rect_list) + + +class AnimatedSprite(pygame.sprite.Sprite): + """ + http://shinylittlething.com/2009/07/21/pygame-and-animated-sprites/ + + This class is meant to hold the array of images/frames for animation so they can be used to animate. + """ + + def __init__(self,images,textfileName,fps = 10): + #This is the consrtuctor for the class. It takes in the array of imnages/frames, a text file that explains what frames belong + #to each animation, and a frame rateat which the animations should run. + + pygame.sprite.Sprite.__init__(self) + self._images = images + + # Track the time we started, and the time between updates. + # Then we can figure out when we have to switch the image. + self._start = pygame.time.get_ticks() + self._delay = 1000 / fps + self._last_update = 0 + self._frame = 0 + self.animations = {} + + #This tests to see if the text file is being used. In a situation where something only has one animation you have + #no need for the text file and can pass in an empty string to signify this. + if textfileName != '': + f = open(textfileName, 'r') + currentLine = f.readline() + #This while loop goes through and as long as you have not reached an empty line it continues to read the formatted lines + while currentLine != '': + #The lines of text are formatted to contain the name, start frame, and end frame, of each animation + animValues = currentLine.split(",") + #animations is a dictionary that uses the name of each animation as the reference and then has a two item list at each + #position containing the start and end frame of the corresponding animation + self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])] + currentLine = f.readline()#Moving on to the next line. + + def addImages(self, images): + #This definition simply allows you to add more images to your array of images. + + self._images.extend(images) + + def update(self, t): + # This method updates the animation in a situation where there is only one animation contained within the object. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame and continues to check over and over until it is not + while self._frame >= len(self._images): + #since we are past the final frame it is now figuring out how many frames past the final frame we have actually gone + framesPast = self._frame - len(self._images) + #sets the current frame to the frame it should be at + self._frame = framesPast - 1 + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def updateAnimation(self, t, animName): + # This method updates the animation based on the start and end frame of the specific animation you are on. + #This means that if your object contains multiple animations, you can use this method to reference the exact + #animation that you are using. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #Checks to make sure that the current frame is actually set to a position within the animation + if self._frame < self.animations.get(animName)[0] or self._frame > self.animations.get(animName)[1]: + #corrects the position of the current frame + self._frame = self.animations.get(animName)[0] + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame of the current animation and continues to check over and over + #until it is not + while self._frame >= self.animations.get(animName)[1]: + #Determines how many frames past the final frame of the animation it is + framesPast = self._frame - self.animations.get(animName)[1] + #Sets the current frame to the frame it should be at + self._frame = framesPast - 1 + self.animations.get(animName)[0] + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def nextFrame(self): + # This definition is designed to simply move to the next frame. + # All of the other definitions only move to the next frame if + # enough time has passed based on the framerate. With this + # definition I can go right to the next frame allowing me to + # see how fast a framerate I can get to and not be limited by + # what I define. + + #Iterates to the next frame in the animation + self._frame += 1 + #Checks to make sure it has not gone past the final frame of the animation + if self._frame >= len(self._images): + #Since it has gone pastr the final frame it figures out how far past it has gone and corrects it. + framesPast = self._frame - len(self._images) + self._frame = framesPast + #Finally sets the image to the current frame + self.image = self._images[self._frame] + + def nextAnimFrame(self, animName): + # This definition is designed to simply move to the next frame of the specified animation. + + #Checks to make sure that it is actually in the range of the animation's frames + if self._frame < self.animations[animName][0] or self.frame > self.animations[animName][1]: + self._frame = self.animations[animName][0] + + #Iterates to the next frame in the animation + self._frame += 1 + #Checks to make sure it has not gone past the final frame of the animation + if self._frame > self.animations[animName][1]: + #Since it has gone pastr the final frame it figures out how far past it has gone and corrects it. + framesPast = self._frame - self.animations[animName][1] + self._frame = framesPast - 1 + self.animations[animName][0] + #Finally sets the image to the current frame + self.image = self._images[self._frame] + diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp16/Buttons.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp16/Buttons.bmp new file mode 100755 index 0000000..7edcb3c --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp16/Buttons.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp16/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp16/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp16/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp24/Buttons.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp24/Buttons.bmp new file mode 100755 index 0000000..a96ed6b --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp24/Buttons.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp24/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp24/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/bmp24/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gif/Buttons.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gif/Buttons.gif new file mode 100755 index 0000000..8725ade --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gif/Buttons.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gif/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gif/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gif/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gift/Buttons.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gift/Buttons.gif new file mode 100755 index 0000000..4be81f6 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gift/Buttons.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gift/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gift/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/gift/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/png/Buttons.png b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/png/Buttons.png new file mode 100755 index 0000000..83bff0c --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/png/Buttons.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/png/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/png/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/png/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/pngt/Buttons.png b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/pngt/Buttons.png new file mode 100755 index 0000000..cb6766f --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/pngt/Buttons.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/pngt/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/pngt/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/AnimationPerLine/pngt/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/Buttons.psd b/devtools/CompleteTestKit/.to-do/Animation Styles/Buttons.psd new file mode 100755 index 0000000..a1571e2 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/Buttons.psd Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/1.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/1.bmp new file mode 100755 index 0000000..57630e3 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/1.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/2.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/2.bmp new file mode 100755 index 0000000..90af77a --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/2.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/3.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/3.bmp new file mode 100755 index 0000000..1751a4a --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/3.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/4.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/4.bmp new file mode 100755 index 0000000..1f292d1 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/4.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/5.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/5.bmp new file mode 100755 index 0000000..fd8cc0e --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/5.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/6.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/6.bmp new file mode 100755 index 0000000..df3a2eb --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/6.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/7.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/7.bmp new file mode 100755 index 0000000..51b0052 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/7.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/8.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/8.bmp new file mode 100755 index 0000000..9302c64 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/8.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/9.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/9.bmp new file mode 100755 index 0000000..f5c6191 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a1/9.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/1.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/1.bmp new file mode 100755 index 0000000..4def064 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/1.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/2.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/2.bmp new file mode 100755 index 0000000..3750af4 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/2.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/3.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/3.bmp new file mode 100755 index 0000000..636c6f3 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/3.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/4.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/4.bmp new file mode 100755 index 0000000..646b407 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/4.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/5.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/5.bmp new file mode 100755 index 0000000..11a9bf5 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/5.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/6.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/6.bmp new file mode 100755 index 0000000..ca1ba7b --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/6.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/7.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/7.bmp new file mode 100755 index 0000000..9375c15 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/7.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/8.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/8.bmp new file mode 100755 index 0000000..53b66f9 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/8.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/9.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/9.bmp new file mode 100755 index 0000000..088558c --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp16/a2/9.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/1.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/1.bmp new file mode 100755 index 0000000..e910cec --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/1.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/2.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/2.bmp new file mode 100755 index 0000000..0545f38 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/2.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/3.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/3.bmp new file mode 100755 index 0000000..a154b29 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/3.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/4.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/4.bmp new file mode 100755 index 0000000..4ab21f9 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/4.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/5.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/5.bmp new file mode 100755 index 0000000..0a55d39 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/5.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/6.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/6.bmp new file mode 100755 index 0000000..ad3f1b1 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/6.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/7.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/7.bmp new file mode 100755 index 0000000..915ab5b --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/7.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/8.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/8.bmp new file mode 100755 index 0000000..b36287d --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/8.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/9.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/9.bmp new file mode 100755 index 0000000..2cab5a4 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a1/9.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/1.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/1.bmp new file mode 100755 index 0000000..1b41dff --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/1.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/2.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/2.bmp new file mode 100755 index 0000000..71cca69 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/2.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/3.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/3.bmp new file mode 100755 index 0000000..a374206 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/3.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/4.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/4.bmp new file mode 100755 index 0000000..37c4304 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/4.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/5.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/5.bmp new file mode 100755 index 0000000..51f1acb --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/5.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/6.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/6.bmp new file mode 100755 index 0000000..483043c --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/6.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/7.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/7.bmp new file mode 100755 index 0000000..d99e779 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/7.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/8.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/8.bmp new file mode 100755 index 0000000..223b87e --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/8.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/9.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/9.bmp new file mode 100755 index 0000000..088a0f5 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/bmp24/a2/9.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/1.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/1.gif new file mode 100755 index 0000000..4a89216 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/1.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/2.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/2.gif new file mode 100755 index 0000000..b5019d8 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/2.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/3.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/3.gif new file mode 100755 index 0000000..a87ddc6 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/3.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/4.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/4.gif new file mode 100755 index 0000000..2a398e6 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/4.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/5.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/5.gif new file mode 100755 index 0000000..93e5b8d --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/5.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/6.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/6.gif new file mode 100755 index 0000000..0e73825 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/6.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/7.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/7.gif new file mode 100755 index 0000000..061669a --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/7.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/8.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/8.gif new file mode 100755 index 0000000..90dcfda --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/8.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/9.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/9.gif new file mode 100755 index 0000000..aa194d9 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a1/9.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/1.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/1.gif new file mode 100755 index 0000000..09134f4 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/1.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/2.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/2.gif new file mode 100755 index 0000000..d9ebbc2 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/2.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/3.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/3.gif new file mode 100755 index 0000000..de17bd4 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/3.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/4.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/4.gif new file mode 100755 index 0000000..87450de --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/4.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/5.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/5.gif new file mode 100755 index 0000000..f95b8d9 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/5.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/6.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/6.gif new file mode 100755 index 0000000..3462272 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/6.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/7.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/7.gif new file mode 100755 index 0000000..ac5f084 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/7.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/8.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/8.gif new file mode 100755 index 0000000..d9d3989 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/8.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/9.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/9.gif new file mode 100755 index 0000000..bcdd274 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gif/a2/9.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/1.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/1.gif new file mode 100755 index 0000000..2aad244 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/1.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/2.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/2.gif new file mode 100755 index 0000000..ed22525 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/2.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/3.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/3.gif new file mode 100755 index 0000000..246cd12 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/3.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/4.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/4.gif new file mode 100755 index 0000000..722f240 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/4.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/5.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/5.gif new file mode 100755 index 0000000..6a71348 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/5.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/6.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/6.gif new file mode 100755 index 0000000..0dd2145 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/6.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/7.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/7.gif new file mode 100755 index 0000000..1e9914b --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/7.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/8.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/8.gif new file mode 100755 index 0000000..390124b --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/8.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/9.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/9.gif new file mode 100755 index 0000000..61c8c3c --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a1/9.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/1.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/1.gif new file mode 100755 index 0000000..a79f1e0 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/1.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/2.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/2.gif new file mode 100755 index 0000000..b2579e3 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/2.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/3.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/3.gif new file mode 100755 index 0000000..42f2c74 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/3.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/4.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/4.gif new file mode 100755 index 0000000..61b944a --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/4.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/5.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/5.gif new file mode 100755 index 0000000..865f4c7 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/5.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/6.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/6.gif new file mode 100755 index 0000000..9fa7cf2 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/6.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/7.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/7.gif new file mode 100755 index 0000000..d7627b2 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/7.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/8.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/8.gif new file mode 100755 index 0000000..965acc1 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/8.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/9.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/9.gif new file mode 100755 index 0000000..0509dad --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/gift/a2/9.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/1.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/1.png new file mode 100755 index 0000000..663ca83 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/1.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/2.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/2.png new file mode 100755 index 0000000..6f44ab5 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/2.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/3.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/3.png new file mode 100755 index 0000000..c49ab7e --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/3.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/4.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/4.png new file mode 100755 index 0000000..63eb7e2 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/4.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/5.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/5.png new file mode 100755 index 0000000..2aaa600 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/5.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/6.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/6.png new file mode 100755 index 0000000..8fa9737 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/6.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/7.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/7.png new file mode 100755 index 0000000..1de0311 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/7.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/8.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/8.png new file mode 100755 index 0000000..7d6332a --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/8.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/9.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/9.png new file mode 100755 index 0000000..5a8b0ea --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a1/9.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/1.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/1.png new file mode 100755 index 0000000..98b3d72 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/1.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/2.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/2.png new file mode 100755 index 0000000..6ec3dac --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/2.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/3.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/3.png new file mode 100755 index 0000000..157dfc8 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/3.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/4.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/4.png new file mode 100755 index 0000000..5719ab6 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/4.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/5.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/5.png new file mode 100755 index 0000000..3cfd8a3 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/5.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/6.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/6.png new file mode 100755 index 0000000..750ed8b --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/6.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/7.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/7.png new file mode 100755 index 0000000..ce7756e --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/7.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/8.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/8.png new file mode 100755 index 0000000..e28a906 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/8.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/9.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/9.png new file mode 100755 index 0000000..b6b2cd8 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/png/a2/9.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/1.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/1.png new file mode 100755 index 0000000..dab1239 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/1.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/2.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/2.png new file mode 100755 index 0000000..56312a7 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/2.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/3.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/3.png new file mode 100755 index 0000000..4ceb540 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/3.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/4.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/4.png new file mode 100755 index 0000000..38d640a --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/4.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/5.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/5.png new file mode 100755 index 0000000..dcc14d4 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/5.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/6.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/6.png new file mode 100755 index 0000000..cb2f933 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/6.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/7.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/7.png new file mode 100755 index 0000000..497ed6f --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/7.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/8.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/8.png new file mode 100755 index 0000000..693ac1e --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/8.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/9.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/9.png new file mode 100755 index 0000000..e83b570 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a1/9.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/1.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/1.png new file mode 100755 index 0000000..06f2b7c --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/1.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/2.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/2.png new file mode 100755 index 0000000..f20ed10 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/2.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/3.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/3.png new file mode 100755 index 0000000..6681f2e --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/3.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/4.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/4.png new file mode 100755 index 0000000..ff3f0f1 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/4.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/5.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/5.png new file mode 100755 index 0000000..1152066 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/5.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/6.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/6.png new file mode 100755 index 0000000..458e680 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/6.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/7.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/7.png new file mode 100755 index 0000000..4097b74 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/7.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/8.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/8.png new file mode 100755 index 0000000..e6ee9b2 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/8.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/9.png b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/9.png new file mode 100755 index 0000000..314aabf --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/IndividualFrames/pngt/a2/9.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/1.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/1.bmp new file mode 100755 index 0000000..9798a08 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/1.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/2.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/2.bmp new file mode 100755 index 0000000..68ba0ba --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/2.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp16/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/1.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/1.bmp new file mode 100755 index 0000000..7ff69f4 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/1.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/2.bmp b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/2.bmp new file mode 100755 index 0000000..a771b04 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/2.bmp Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/bmp24/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/1.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/1.gif new file mode 100755 index 0000000..223321b --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/1.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/2.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/2.gif new file mode 100755 index 0000000..56c1a0f --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/2.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gif/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/1.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/1.gif new file mode 100755 index 0000000..895ff39 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/1.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/2.gif b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/2.gif new file mode 100755 index 0000000..61d6302 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/2.gif Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/gift/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/1.png b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/1.png new file mode 100755 index 0000000..99f9800 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/1.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/2.png b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/2.png new file mode 100755 index 0000000..41b01d4 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/2.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/png/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/1.png b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/1.png new file mode 100755 index 0000000..37d045a --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/1.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/2.png b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/2.png new file mode 100755 index 0000000..b7a00a1 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/2.png Binary files differ diff --git a/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/text.txt b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/text.txt new file mode 100755 index 0000000..dc66dbe --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Animation Styles/OneSheetPerAnimation/pngt/text.txt @@ -0,0 +1,2 @@ +anim1,0,8 +anim2,9,17 \ No newline at end of file diff --git a/devtools/CompleteTestKit/.to-do/Scene.py b/devtools/CompleteTestKit/.to-do/Scene.py new file mode 100644 index 0000000..6101696 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/Scene.py @@ -0,0 +1,6 @@ +#! /usr/bin/env python + +class Scene(pygame.sprite.Sprite): + def __init__(self): + + diff --git a/devtools/CompleteTestKit/.to-do/dirtyTest.py b/devtools/CompleteTestKit/.to-do/dirtyTest.py new file mode 100755 index 0000000..94c24a7 --- /dev/null +++ b/devtools/CompleteTestKit/.to-do/dirtyTest.py @@ -0,0 +1,122 @@ +#! /usr/bin/env python +import pygame +from pygame.locals import * +from boxes import BouncingBox +from time import time +pygame.init() + +FRAME=3000 +screenWidth = 600 +screenHeight = 400 +numImages = 5 +maxTrial = 1 # multiple trials, but hard coded in this test +dirtyList=[] +""" +try: + f=preferences[0][9] +except: + f=preferences[0][9]=open('./logs/Test Results - %s.csv' + %str(datetime.now()),'a') +f.write("\n\nSpeed Test - "+str(datetime.now())) +f.write(",Width (pixels)"+','+"Height (pixels)"+','+ + "Trial Runs"+','+"Image Objects Drawn") +f.write("\n,"+str(screenWidth)+','+str(screenHeight)+','+ + str(maxTrial)+','+str(numImages)) +f.write("\nFile Type"+','+"Time taken to load images to memory"+ + ','+"Trials (frames per second)") +""" +print "width,height", +print screenWidth, +print ",", +print screenHeight + +screen = pygame.display.set_mode( [int(screenWidth), + int(screenHeight)] ) #Screen Set 600x400 +pygame.display.set_caption("Sprite Speed Test Window") +GREEN = 0, 192, 0 # green +background = pygame.Surface( (screenWidth,screenHeight) ) +background.fill(GREEN) +screen.blit(background,[0,0]) +pygame.display.flip() +start = time() +frameList = [ + pygame.image.load("./art/BMP24/1.bmp").convert(), + pygame.image.load("./art/BMP24/2.bmp").convert(), + pygame.image.load("./art/BMP24/3.bmp").convert(), + pygame.image.load("./art/BMP24/4.bmp").convert(), + pygame.image.load("./art/BMP24/5.bmp").convert(), + pygame.image.load("./art/BMP24/6.bmp").convert(), + pygame.image.load("./art/BMP24/7.bmp").convert(), + pygame.image.load("./art/BMP24/8.bmp").convert(), + pygame.image.load("./art/BMP24/9.bmp").convert(), +] + +#make our groups +group1=pygame.sprite.RenderUpdates( BouncingBox(frameList,(0,0)) ) +group2=pygame.sprite.RenderUpdates(BouncingBox(frameList,(40,40)) ) +group3=pygame.sprite.RenderUpdates(BouncingBox(frameList,(80,80)) ) +group4=pygame.sprite.RenderUpdates(BouncingBox(frameList,(120,120)) ) +group5=pygame.sprite.RenderUpdates(BouncingBox(frameList,(160,160)) ) + +print (time()-start) , +print " -- Time to load" + +groups=[group1,group2,group3,group4,group5] + +"""while 1: + try:ft=ftArr[t] + except: + print "\nTest Complete\n" + break + f.seek(0,2) + f.write(str('\n'+ft[1]+' Speed Test')) + f.seek(0,2) + start=time.time() + + f.write(',') + f.write(str(time.time()-start)) +""" +print time()-start + +for aTrial in range(maxTrial): + for frame in range(FRAME): + dirtyList=[] + for image in range(numImages): + #move / collision detection + groups[image].update( screenWidth,screenHeight ) + + #individually blit each image group - add to list for update + dirtyList.extend(groups[image].draw(screen)) + + #draw the images flip/update + pygame.display.update(dirtyList) + for image in range(numImages): + groups[image].clear(screen, background) + + + print 1/((time()-start)/FRAME) +"""f.seek(0,2) + f.write(','+str(1/((time.time()-start)/r))) + + +screen = pygame.display.set_mode([1200, 900]) +boxesTwo.add(UpDownBox([pygame.image.load("goblin.png")], (0,300))) +background = pygame.image.load("Room.gif") +#background.fill(pygame.image.load("Room.gif")) +screen.blit(background, [0, 0]) +pygame.display.flip() + +boxesTwo.update(pygame.time.get_ticks(), 700) +rectlist = boxesTwo.draw(screen) +pygame.display.update(rectlist) +start = time() +for i in range(2000): + boxes.update(pygame.time.get_ticks(), 700) + boxesTwo.update(pygame.time.get_ticks(), 700) + rectlist = boxesTwo.draw(screen) + rectlist.extend(boxes.draw(screen)) + pygame.display.update(rectlist) + boxesTwo.clear(screen, background) + boxes.clear(screen, background) + +print 2000/(time() - start) """ diff --git a/devtools/CompleteTestKit/DrawableObjectTest.py b/devtools/CompleteTestKit/DrawableObjectTest.py new file mode 100644 index 0000000..3b85423 --- /dev/null +++ b/devtools/CompleteTestKit/DrawableObjectTest.py @@ -0,0 +1,66 @@ +#2345678911234567892123456789312345678941234567895123456789612345678971234567898 +#! /usr/bin/env python +import pygame +from pygame.locals import * +import time +from Scene import Scene +from DrawableObject import DrawableObject +from DynamicDrawableObject import DynamicDrawableObject + +pygame.init() + +screenWidth = 600 # screen width +screenHeight= 400 # screen height + +maxFrame = 10000 # Number of frame refreshes per trial run +maxImage = 5 # " Animated images to create +maxScene = 1 # " Scenes to load simultaneously +maxTrial = 5 # " Trials to loop through + +# 'Constants' that would otherwise be passed in declared ^^ +# Begin creating test variables + +screen = pygame.display.set_mode( (screenWidth,screenHeight) ) +background = pygame.image.load("./art/GIF/Room.gif").convert() +clock=pygame.time.Clock() + +#2345678911234567892123456789312345678941234567895123456789612345678971234567898 +surfaceList = [ + pygame.image.load("./art/GIF/1.gif").convert(), + pygame.image.load("./art/GIF/2.gif").convert(), + pygame.image.load("./art/GIF/3.gif").convert(), + pygame.image.load("./art/GIF/4.gif").convert(), + pygame.image.load("./art/GIF/5.gif").convert(), + pygame.image.load("./art/GIF/6.gif").convert(), + pygame.image.load("./art/GIF/7.gif").convert(), + pygame.image.load("./art/GIF/8.gif").convert(), + pygame.image.load("./art/GIF/9.gif").convert()] + +#2345678911234567892123456789312345678941234567895123456789612345678971234567898 +# Make the screen and the background image +pygame.display.set_caption("Sprite Speed Test Window") +screen.blit( background,(0,0) ) +pygame.display.flip() + +# Make the DDO's to use in the screen +aDDO = DynamicDrawableObject( surfaceList,'', 1, 0, 0,2,2 ) +bDDO = DynamicDrawableObject( surfaceList,'', 8, 40, 40,2,2 ) +cDDO = DynamicDrawableObject( surfaceList,'',12, 80, 80,2,2 ) +dDDO = DynamicDrawableObject( surfaceList,'',24,120,120,2,2 ) +eDDO = DynamicDrawableObject( surfaceList,'',72,160,160,2,2 ) + +myScene = Scene(aDDO) # creating my scenes +myScene.addObjects( [ bDDO , cDDO , dDDO , eDDO ] ) + +for trial in range(maxTrial): + clock.tick() + for frame in range(maxFrame): + dirtyList = [] + + myscene.moveObjects() + myScene.update( clock.get_time() ) + pygame.display.update( myScene.draw(screen) ) + + clock.tick() + +#2345678911234567892123456789312345678941234567895123456789612345678971234567898 diff --git a/devtools/CompleteTestKit/animObj/DrawableFontObject.py b/devtools/CompleteTestKit/animObj/DrawableFontObject.py new file mode 100644 index 0000000..92f641f --- /dev/null +++ b/devtools/CompleteTestKit/animObj/DrawableFontObject.py @@ -0,0 +1,19 @@ +import pygame +from DrawableObject import DrawableObject + +class DrawableFontObject(DrawableObject, pygame.sprite.Sprite): + + def __init__(self,text,font, x = 0, y = 0): + + self.font = font + self.textImage = font.render(text, 1, (255,255,255)) + self.text = text + DrawableObject.__init__(self, [self.textImage], '') + + def changeText(self, newText, color=(0,0,0)): + self.text = newText + self._images[0] = self.font.render(str(newText), True, color) + self.image = self._images[0] + + def getText(self): + return str(self.text) diff --git a/devtools/CompleteTestKit/animObj/DrawableObject.py b/devtools/CompleteTestKit/animObj/DrawableObject.py new file mode 100644 index 0000000..96bb8ef --- /dev/null +++ b/devtools/CompleteTestKit/animObj/DrawableObject.py @@ -0,0 +1,157 @@ +import pygame + +class DrawableObject(pygame.sprite.Sprite): + + def __init__(self, images, textfileName, transparent = False, x = 0, y = 0): + pygame.sprite.Sprite.__init__(self) + + self._images = [] + self._origImages = [] + for i in range(len(images)): + self._images.append(images[i].convert_alpha()) + self._origImages.append(images[i].convert_alpha()) + + blank = pygame.Surface((0,0)) + + if(transparent): + for i in range(len(images)): + self._images[i] = blank + + self._start = pygame.time.get_ticks() + self.image = self._images[0] + self._last_update = 0 + self._frame = 0 + self.animations = {} + self._current_anim = "" + self.rect = self.image.get_rect() + self.xPos = x + self.yPos = y + self.myAngle = 0 + self.xSize = self.image.get_width() + self.ySize = self.image.get_height() + self.rect.topleft = (x,y) + + if textfileName != '': + + f = open(textfileName, 'r') + currentLine = f.readline() + while currentLine != '': + + animValues = currentLine.split(",") + self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])] + currentLine = f.readline() + + else: + + self.animations["anim1"] = [0, len(self._images)] + self.goToAnim("anim1") + + self.makeTransparent(transparent) + + def repopulateImages(self, newImages): + + self._images = [] + self._origImages = [] + for i in range(len(newImages)): + self._images.append(newImages[i].convert_alpha()) + self._origImages.append(newImages[i].convert_alpha()) + + self.image = self._images[0] + self._frame = 0 + self.xSize = self.image.get_width() + self.ySize = self.image.get_height() + + def addImages(self, images): + self._images.extend(images) + self._origImages.extend(images) + + def goToAnim(self, animName): + if self.animations.get(animName, 0) != 0: + self._current_anim = animName + self._frame = self.animations[animName][0] + self.image = self._images[self._frame] + + def goToFrame(self, frame): + + if frame <= len(self._images): + self._frame = frame + self.image = self._images[self._frame] + + def nudge(self, x, y): + self.xPos += x + self.yPos += y + self.rect.right += x + self.rect.top += y + + def scale(self, x=None, y=None): + if type(x).__name__=='int': self.xSize = x + if type(y).__name__=='int': self.ySize = y + + for i in range(len(self._images)): + self._origImages[i] = pygame.transform.scale(self._origImages[i], (self.xSize, self.ySize)) + self._images[i] = self._origImages[i] + + def fill(self, color): + for i in range(len(self._images)): + #print "filling with ", color + self._origImages[i].fill(color) + self._images[i].fill(color) + + def getXSize(self): + return self.xSize + + def getYSize(self): + return self.ySize + + def rotate(self,angle): + self.myAngle += angle + for i in range(len(self._images)): + self._images[i] = pygame.transform.rotate(self._origImages[i], self.myAngle) + + def getRotation(self): + return self.myAngle + + def setPosition(self, x = None, y = None): + if type(x).__name__=='int': self.xPos = x + if type(y).__name__=='int': self.yPos = y + self.rect.topleft = (self.xPos, self.yPos) + + def getXPos(self): + return self.xPos + + def getYPos(self): + return self.yPos + + def calcColorKey(self, x=0, y=0): + myColorKey = images[0].get_at((x,y)) + setColorKey(myColorKey) + + def makeTransparent(self, bool = True): + if bool == True: + surf = pygame.Surface((0,0)) + for i in range(len(self._images)): + self._images[i] = surf + else: + for i in range(len(self._images)): + self._images[i] = self._origImages[i] + self.image = self._images[self._frame] + + def setColorKey(self, aColor): + for i in range(len(self._images)): + self._images[i].set_colorkey(aColor) + + def update(self, t=None): + timePassed = t + self._last_update + + if (timePassed) > 200: + + self.image = self._images[self._frame] + self._last_update = timePassed%1000 + else: + self._last_update = timePassed + + def nextFrame(self): + pass + + def nextCurrentAnimFrame(self): + pass diff --git a/devtools/CompleteTestKit/animObj/DynamicDrawableObject.py b/devtools/CompleteTestKit/animObj/DynamicDrawableObject.py new file mode 100644 index 0000000..7dcb831d --- /dev/null +++ b/devtools/CompleteTestKit/animObj/DynamicDrawableObject.py @@ -0,0 +1,74 @@ +import pygame +from DrawableObject import DrawableObject + +class DynamicDrawableObject(DrawableObject, pygame.sprite.Sprite): + + def __init__(self,images,textfileName,fps = 10, x = 0, y = 0, xVelocity = 0, yVelocity = 0): + + self._delay = 1000/fps + DrawableObject.__init__(self, images, textfileName, x, y) + + def addImages(self, images): + + self._images.extend(images) + + def setSpeed(self, xVelocity = None, yVelocity = None): + + if xVelocity != None: self.xSpeed = xVelocity + if yVelocity != None: self.ySpeed = yVelocity + + def getXSpeed(self): + + return self.xSpeed + + def getYSpeed(self): + + return self.ySpeed + + def move(self): + self.xPos += self.xSpeed + self.yPos += self.ySpeed + self.rect.right += self.xSpeed + self.rect.top += self.ySpeed + + def update(self, t): + + timePassed = t + self._last_update + + if (timePassed) > self._delay: + if self._frame < self.animations.get(self._current_anim)[0] or self._frame > self.animations.get(self._current_anim)[1]: + self._frame = self.animations.get(self._current_anim)[0] - 1 + + self._frame += timePassed/self._delay + + if self._frame >= self.animations.get(self._current_anim)[1]: + self._frame = self._frame%(self.animations.get(self._current_anim)[1]) + + self.image = self._images[self._frame] + self._last_update = timePassed%self._delay + else: + self._last_update = timePassed + + def nextFrame(self): + self._frame += 1 + if self._frame >= len(self._images): + framesPast = self._frame - len(self._images) + self._frame = framesPast + + self.image = self._images[self._frame] + + def nextCurrentAnimFrame(self): + + for cnt in range(len(animations)): + + if animations[cnt] == self._current_anim: + if self._frame < self.animations[self._current_anim][0] or self._frame > self.animations[self._current_anim][1]: + self._frame = self.animations[self._current_anim][0] + + else: self._frame += 1 + + if self._frame > self.animations[self._current_anim][1]: + framesPast = self._frame - self.animations[self._current_anim][1] + self._frame = framesPast - 1 + self.animations[self._current_anim][0] + + self.image = self._images[self._frame] diff --git a/devtools/CompleteTestKit/animObj/Scene.py b/devtools/CompleteTestKit/animObj/Scene.py new file mode 100644 index 0000000..d2e50a9 --- /dev/null +++ b/devtools/CompleteTestKit/animObj/Scene.py @@ -0,0 +1,186 @@ +import pygame +from pygame.sprite import RenderUpdates + +class Scene(pygame.sprite.RenderUpdates): + + def __init__(self, sprites): + + self._spritelist = [[sprites, sprites.getXPos(), sprites.getYPos()]] + #self._spritelist.append([sprites, sprites.getXPos(), sprites.getYPos()]) + RenderUpdates.__init__(self, sprites) + + self.xPos = 0 + self.yPos = 0 + self.xSize = 0 + self.ySize = 0 + + self.calcPosition() + self.calcSize() + self.setRelativePositions() + + def calcPosition(self): + + lowestX = 9000 + lowestY = 9000 + + for i in range(len(self._spritelist)): + if self._spritelist[i][0].getXPos() < lowestX: lowestX = self._spritelist[i][0].getXPos() + if self._spritelist[i][0].getYPos() < lowestY: lowestY = self._spritelist[i][0].getYPos() + + self.xPos = lowestX + self.yPos = lowestY + + def calcSize(self): + + highestX = 0 + highestY = 0 + + for i in range(len(self._spritelist)): + if (self._spritelist[i][0].getXPos() + self._spritelist[i][0].getXSize()) > highestX: highestX = self._spritelist[i][0].getXPos() + self._spritelist[i][0].getXSize() + if (self._spritelist[i][0].getYPos() + self._spritelist[i][0].getYSize()) > highestY: highestY = self._spritelist[i][0].getYPos() + self._spritelist[i][0].getYSize() + + self.xSize = highestX - self.xPos + self.ySize = highestY - self.yPos + + def addObject(self, newDrawableObject): + RenderUpdates.add_internal(self, newDrawableObject) + self._spritelist.insert(len(self._spritelist) - 1, [newDrawableObject, newDrawableObject.getXPos(), newDrawableObject.getYPos()]) + + def addObjects(self, newDrawableObjects): + for sprite in newDrawableObjects: + RenderUpdates.add_internal(self, sprite) + self._spritelist.insert(len(self._spritelist) - 1, [sprite, sprite.getXPos(), sprite.getYPos()]) + + def setRelativePositions(self): + + for i in range(len(self._spritelist)): + self._spritelist[i][1] = self._spritelist[i][0].getXPos() - self.xPos + self._spritelist[i][2] = self._spritelist[i][0].getYPos() - self.yPos + + def removeObject(self, sprite): + + for i in self._spritelist: + if i[0] == sprite: + self._spritelist.remove(i) + break + RenderUpdates.remove_internal(self, sprite) + + def getObject(self, index): + + if index < len(self._spritelist): + return self._spritelist[index][0] + + def getListSize(self): + + return len(self._spritelist) + + def getList(self): + + return list(self._spritelist) + + def moveObjects(self): + + for i in range(len(self._spritelist)): + self._spritelist[i][0].move() + + self.calcPosition() + self.calcSize() + self.setRelativePositions() + + def moveScene(self, xNudge = 0, yNudge = 0): + + + for i in range(len(self._spritelist)): + + self._spritelist[i][0].nudge(xNudge, yNudge) + + + self.calcPosition() + + def setPosition(self, newXPos = None, newYPos = None): + + if newXPos != None: self.xPos = newXPos + if newYPos != None: self.yPos = newYPos + + for i in range(len(self._spritelist)): + + self._spritelist[i][0].setPosition(self.xPos + self._spritelist[i][1], self.yPos + self._spritelist[i][2]) + + def getXPos(self): + return self.xPos + + def getYPos(self): + return self.yPos + + def getXSize(self): + return self.xSize + + def getYSize(self): + return self.ySize + + def scaleObjects(self, newXSize = None, newYSize = None): + + + for i in range(len(self._spritelist)): + self._spritelist[i][0].scale(newXSize, newYSize) + + def scaleScene(self, newXSize = None, newYSize = None): + + self.calcPosition() + self.calcSize() + + xScale = 1 + yScale = 1 + + if newXSize != None: xScale = (newXSize * 1.0)/self.xSize + if newYSize != None: yScale = (newYSize * 1.0)/self.ySize + + for i in range(len(self._spritelist)): + self._spritelist[i][0].scale(xScale * self._spritelist[iaw][0].getXSize(), yScale * self._spritelist[i][0].getYSize()) + self._spritelist[i][1] = xScale * self._spritelist[i][1] + self._spritelist[i][2] = yScale * self._spritelist[i][2] + + self.calcPosition() + self.calcSize() + self.setPosition() + + def update(self, t): + + for s in self._spritelist: s[0].update(t); + + def draw(self, surface): + spritedict = self.spritedict + surface_blit = surface.blit + dirty = self.lostsprites + self.lostsprites = [] + dirty_append = dirty.append + for s in self._spritelist: + r = spritedict[s[0]] + newrect = surface_blit(s[0].image, s[0].rect) + if r is 0: + dirty_append(newrect) + else: + if newrect.colliderect(r): + dirty_append(newrect.union(r)) + else: + dirty_append(newrect) + dirty_append(r) + spritedict[s[0]] = newrect + return dirty + + def drawEntireScene(self, surface): + spritedict = self.spritedict + surface_blit = surface.blit + dirty = self.lostsprites + self.lostsprites = [] + dirty_append = dirty.append + for s in self._spritelist: + dirty_append(spritedict[s[0]]) + dirty_append(surface_blit(s[0].image, s[0].rect)) + return dirty + + def nextFrame(self): + + for i in range(len(self._spritelist)): + + self._spritelist[i][0].nextFrame() diff --git a/devtools/CompleteTestKit/animObj/__init__.py b/devtools/CompleteTestKit/animObj/__init__.py new file mode 100644 index 0000000..00a713b --- /dev/null +++ b/devtools/CompleteTestKit/animObj/__init__.py @@ -0,0 +1,16 @@ +# FortuneEngine is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# FortuneEngine is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with the FortuneEngine. If not, see . +# +# Engine Author: Justin Lewis +# +# Test Author: Scott JT Mengel diff --git a/devtools/CompleteTestKit/art/GIF/Room.gif b/devtools/CompleteTestKit/art/GIF/Room.gif new file mode 100644 index 0000000..798ebf1 --- /dev/null +++ b/devtools/CompleteTestKit/art/GIF/Room.gif Binary files differ diff --git a/devtools/CompleteTestKit/logs/Test Results - 2010-08-04 11:25:18.522454.csv b/devtools/CompleteTestKit/logs/Test Results - 2010-08-04 11:25:18.522454.csv new file mode 100644 index 0000000..b801465 --- /dev/null +++ b/devtools/CompleteTestKit/logs/Test Results - 2010-08-04 11:25:18.522454.csv @@ -0,0 +1,11 @@ +Speed Test - 2010-08-04 11:25:18.597314,Width (pixels),Height (pixels),Trial Runs,Image Objects Drawn +,600,400,5,5 +File Type,Time taken to load images to memory (seconds),Trial 1 (frames per second),Trial 2 (frames per second),Trial 3 (frames per second),Trial 4 (frames per second),Trial 5 (frames per second) +./art/BMP16/ Speed Test,0.000819206237793,525.594364794,516.793715928,496.984774694,586.237964054,528.422243528 +./art/BMP24/ Speed Test,0.00243401527405,515.792510508,534.0084218,954.347975468,1013.78737919,448.510953182 +./art/BMP32/ Speed Test,0.00272297859192,936.763028192,1021.21012176,1287.42485194,601.72453171,975.76037025 +./art/GIF/ Speed Test,0.00124001502991,743.861635448,577.345153598,893.578165379,841.398120171,1316.63498266 +./art/GIFT/ Speed Test,0.00151014328003,709.602215071,654.188185413,871.210591691,1376.8455911,630.567845776 +./art/JPG1/ Speed Test,0.0426681041718,517.664738503,514.796819734,538.680464655,535.498801279,544.754282193 +./art/JPG2/ Speed Test,0.0432670116425,504.074487051,557.794877755,490.880398181,553.90487842,685.650989381 +./art/JPG3/ Speed Test,0.00783705711365,387.460492333,497.238829238 \ No newline at end of file diff --git a/devtools/CompleteTestKit/logs/Test Results - 2010-08-04 11:25:58.338450.csv b/devtools/CompleteTestKit/logs/Test Results - 2010-08-04 11:25:58.338450.csv new file mode 100644 index 0000000..69126dd --- /dev/null +++ b/devtools/CompleteTestKit/logs/Test Results - 2010-08-04 11:25:58.338450.csv @@ -0,0 +1,28 @@ +Speed Test - 2010-08-04 11:25:58.338949,Width (pixels),Height (pixels),Trial Runs,Image Objects Drawn +,600,400,1,1 +File Type,Time taken to load images to memory (seconds),Trial 1 (frames per second) +./art/BMP16/ Speed Test,0.000369071960449,1259.21496009 +./art/BMP24/ Speed Test,0.000561952590942,1179.40039963 +./art/BMP32/ Speed Test,0.000652074813843,898.70368069 +./art/GIF/ Speed Test,0.000795125961304,1123.17383671 +./art/GIFT/ Speed Test,0.00184679031372,908.555748007 +./art/JPG1/ Speed Test,0.00170016288757,572.034582535 +./art/JPG2/ Speed Test,0.00154709815979,656.792011833 +./art/JPG3/ Speed Test,0.00372791290283,619.124573479 +./art/JPG4/ Speed Test,0.0396318435669,843.848959972 +./art/PNGI/ Speed Test,0.00243997573853,1096.77773635 +./art/PNGT/ Speed Test,0.00467014312744,799.515064639 + +Using .convert() +File Type,Time taken to load images to memory (seconds),Trial 1 (frames per second) +./art/BMP16/ Speed convert() Test,0.000694990158081,1113.0157143 +./art/BMP24/ Speed convert() Test,0.00110793113708,639.263543739 +./art/BMP32/ Speed convert() Test,0.00073504447937,825.826613395 +./art/GIF/ Speed convert() Test,0.000856161117554,902.965188199 +./art/GIFT/ Speed convert() Test,0.000815868377686,1086.76322975 +./art/JPG1/ Speed convert() Test,0.00338506698608,1070.47306171 +./art/JPG2/ Speed convert() Test,0.00183987617493,871.391228797 +./art/JPG3/ Speed convert() Test,0.00433397293091,600.348216806 +./art/JPG4/ Speed convert() Test,0.00243592262268,950.111653813 +./art/PNGI/ Speed convert() Test,0.00196480751038,770.145634009 +./art/PNGT/ Speed convert() Test,0.00233697891235,719.110986753 \ No newline at end of file diff --git a/devtools/CompleteTestKit/logs/Test Results - 2010-08-05 13:06:40.515476.csv b/devtools/CompleteTestKit/logs/Test Results - 2010-08-05 13:06:40.515476.csv new file mode 100644 index 0000000..faf33e5 --- /dev/null +++ b/devtools/CompleteTestKit/logs/Test Results - 2010-08-05 13:06:40.515476.csv @@ -0,0 +1,4 @@ +Speed Test - 2010-08-05 13:06:40.515955,Width (pixels),Height (pixels),Trial Runs,Image Objects Drawn +,1200,700,5,5 +File Type,Time taken to load images to memory (seconds),Trial 1 (frames per second),Trial 2 (frames per second),Trial 3 (frames per second),Trial 4 (frames per second),Trial 5 (frames per second) +./art/BMP16/ Speed Test,0.000890970230103 \ No newline at end of file diff --git a/devtools/CompleteTestKit/logs/Test Results - 2010-08-05 13:09:49.989341.csv b/devtools/CompleteTestKit/logs/Test Results - 2010-08-05 13:09:49.989341.csv new file mode 100644 index 0000000..21acbdc --- /dev/null +++ b/devtools/CompleteTestKit/logs/Test Results - 2010-08-05 13:09:49.989341.csv @@ -0,0 +1,6 @@ +Speed Test - 2010-08-05 13:09:49.989796,Width (pixels),Height (pixels),Trial Runs,Image Objects Drawn +,1200,700,5,5 +File Type,Time taken to load images to memory (seconds),Trial 1 (frames per second),Trial 2 (frames per second),Trial 3 (frames per second),Trial 4 (frames per second),Trial 5 (frames per second) +./art/BMP16/ Speed Test,0.000768899917603,44.0083168641,42.3103949267,44.1073942464,43.9749214752,43.94628481 +./art/BMP24/ Speed Test,0.00132417678833,44.2620538185,44.2331046006,44.6153115629,44.2639026493,44.1436522724 +./art/BMP32/ Speed Test,0.00127100944519,40.9949337688,43.5377828352,43.9068723386 \ No newline at end of file -- cgit v0.9.1