commit:70517cc59a422708f2af2638e794af27a7d99c2a
author:chip
committer:chip
date:Thu Nov 15 04:49:45 2007 +0000
parents:2d85a13513cb220cf721f990f8eced25e9703df3
Fixed sprite vertex arrays and sprite gravity
diff --git a/Sprite.py b/Sprite.py
line changes: +6/-4
index ea44ced..ec14112
--- a/Sprite.py
+++ b/Sprite.py
@@ -10,6 +10,8 @@ import TexMan
 LEFT = 0
 CENTER = 1
 RIGHT = 2
+TOP = 2
+BOTTOM = 0
 
 class Sprite:
 	frames = None
@@ -50,9 +52,9 @@ class Sprite:
 			if self.gravity[i] == LEFT:
 				c[i] = 0
 			elif self.gravity[i] == CENTER:
-				c[i] = -self.size[0]/2
+				c[i] = -self.size[i]/2
 			elif self.gravity[i] == RIGHT:
-				c[i] = -self.size[0]
+				c[i] = -self.size[i]
 			else:
 				print "Invalid gravity:",x
 				c[i] = 0
@@ -70,8 +72,8 @@ class Sprite:
 			glEnable(GL_TEXTURE_2D)
 			glBindTexture(GL_TEXTURE_2D, self.frames[i])
 			glColor4fv(self.color)
-			glVertexPointerf(vertexarray)
-			glTexCoordPointerf(texcoordarray)
+			glVertexPointer(3, GL_FLOAT, 0, vertexarray)
+			glTexCoordPointer(2, GL_FLOAT, 0, texcoordarray)
 			glDrawArrays(GL_QUADS, 0, 4)
 			glEndList()
 

diff --git a/config.py b/config.py
line changes: +1/-1
index 46372ba..e0516b6
--- a/config.py
+++ b/config.py
@@ -1,5 +1,5 @@
 # If your card has trouble with non-square textures (my TNT seems to), set this
 # to true to make all textures square
-square_textures = False
+square_textures = True
 #scalefactor = 2
 #fullscreen = True

diff --git a/scrolltest.py b/scrolltest.py
line changes: +10/-0
index e0c867d..f9e050a
--- a/scrolltest.py
+++ b/scrolltest.py
@@ -17,6 +17,12 @@ ground = Collage('data/example1')
 ground.position = [0,0]
 stars = Collage('data/stars')
 stars.position = [0,0]
+candelabra = Sprite(['Sprites/candelabra_short/cand_s_1.png','Sprites/candelabra_short/cand_s_2.png','Sprites/candelabra_short/cand_s_3.png','Sprites/candelabra_short/cand_s_4.png'],False)
+candelabra.position = [64, 50]
+candelabra.gravity = (CENTER, BOTTOM)
+candelabra.framerate = 10.0
+candelabra.anim_start()
+candelabra.gen_displaylist()
 
 def update():
 	ground.position[0] -= 5
@@ -25,6 +31,9 @@ def update():
 	stars.position[0] -= 1
 	if stars.position[0] < 0:
 		stars.position[0] += 640
+	candelabra.position[0] -= 5
+	if candelabra.position[0] < 0:
+		candelabra.position[0] += 640
 
 def draw():
 	stars.draw()
@@ -35,6 +44,7 @@ def draw():
 	ground.position[0] -= 640
 	ground.draw()
 	ground.position[0] += 640
+	candelabra.draw()
 
 n = 0
 def fpsthing():