Browse Source

fixing orientations, textures

pixelbath 3 years ago
parent
commit
62fd21ab2b
1 changed files with 11 additions and 6 deletions
  1. 11 6
      main.py

+ 11 - 6
main.py

@@ -23,6 +23,7 @@ class LevelModel:
         X, Y, Z = x+1, y+1, z+1
 
         tex_coords = ('t2f', (0, 0, 1, 0, 1, 1, 0, 1))
+        white = [255]*4
 
         self.batch.add(4, GL_QUADS, self.wall_textures[wall_tex],   ('v3f', (X, y, z,  x, y, z,  x, Y, z,  X, Y, z)), tex_coords) # back
         self.batch.add(4, GL_QUADS, self.wall_textures[wall_tex],   ('v3f', (x, y, Z,  X, y, Z,  X, Y, Z,  x, Y, Z)), tex_coords) # front
@@ -30,15 +31,12 @@ class LevelModel:
         self.batch.add(4, GL_QUADS, self.wall_textures[wall_tex],   ('v3f', (x, y, z,  x, y, Z,  x, Y, Z,  x, Y, z)), tex_coords)  # left
         self.batch.add(4, GL_QUADS, self.wall_textures[wall_tex],   ('v3f', (X, y, Z,  X, y, z,  X, Y, z,  X, Y, Z)), tex_coords)  # right
 
-        self.batch.add(4, GL_QUADS, self.bottom, ('v3f', (x, y, z,  X, y, z,  X, y, Z,  x, y, Z)), tex_coords)  # bottom
-        self.batch.add(4, GL_QUADS, self.top,    ('v3f', (x, Y, Z,  X, Y, Z,  X, Y, z,  x, Y, z)), tex_coords)  # top
+        self.batch.add(4, GL_QUADS, None, ('v3f', (x, y, z,  X, y, z,  X, y, Z,  x, y, Z)), ('c4b', white * 4))  # bottom
+        self.batch.add(4, GL_QUADS, None, ('v3f', (x, Y, Z,  X, Y, Z,  X, Y, z,  x, Y, z)), ('c4b', white * 4))  # top
 
     def __init__(self, basepath):
         self.base_path = basepath
 
-        self.top = self.get_tex(os.path.join(self.base_path, 'wall_texture0.png'))
-        self.bottom = self.get_tex(os.path.join(self.base_path, 'wall_texture0.png'))
-
         self.batch = pyglet.graphics.Batch()
 
         # build list of wall textures
@@ -55,6 +53,8 @@ class LevelModel:
 
         self.map = AnarchMap(file)
 
+        # TODO: set background image (background[0|1|2].png) from "background" + map.backgroundTex + ".png"
+
         for x in range(64):
             for y in range(64):
                 item = self.map.levelMap[x][y]
@@ -62,7 +62,10 @@ class LevelModel:
                     continue
                 else:
                     tile_index = self.map.defineName(item[0])
-                    self.add_block(x, y, -1, 0)
+                    floor_tex = self.map.floorDict[item[0]][0]
+                    floor_ht = self.map.floorDict[item[0]][1]
+                    # print("tile: %s, %s, %s" % (tile_index, item[0], floor_ht))
+                    self.add_block(0-x, floor_ht / 32, 0-y, floor_tex)
 
     def draw(self):
         self.batch.draw()
@@ -170,6 +173,8 @@ class Window(pyglet.window.Window):
         self.model.draw()
         glPopMatrix()
 
+
+
 if __name__ == '__main__':
     window = Window(width=400, height=300, caption='AnarchMap', resizable=True)
     glClearColor(0.5,0.7,1,1)