Files
dusk/tools/editortool/map/tile.py
Dominic Masters 2179a27bf5
All checks were successful
Build Dusk / build-linux (push) Successful in 1m3s
Build Dusk / build-psp (push) Successful in 1m10s
Prog
2025-11-19 09:14:32 -06:00

41 lines
1.2 KiB
Python

from OpenGL.GL import *
from editortool.map.mapdefs import TILE_WIDTH, TILE_HEIGHT, TILE_DEPTH, CHUNK_WIDTH, CHUNK_HEIGHT, CHUNK_DEPTH
from enum import Enum
class Tile:
def __init__(self, chunk, x, y, z):
self.shape = TILE_SHAPE_NULL
self.chunk = chunk
self.x = x
self.y = y
self.z = z
self.posX = x * TILE_WIDTH + chunk.x * CHUNK_WIDTH * TILE_WIDTH
self.posY = y * TILE_HEIGHT + chunk.y * CHUNK_HEIGHT * TILE_HEIGHT
self.posZ = z * TILE_DEPTH + chunk.z * CHUNK_DEPTH * TILE_DEPTH
def buffer(self, vertexBuffer):
if self.shape == TILE_SHAPE_NULL:
return
# if self.x != 0 or self.y != 0 or self.z != 0:
# return # Only buffer the tile at (0,0,0)
# Center tile.
x = self.posX - TILE_WIDTH / 2.0
y = self.posY - TILE_HEIGHT / 2.0
z = self.posZ - TILE_DEPTH / 2.0
w = TILE_WIDTH
h = TILE_HEIGHT
d = TILE_DEPTH
# Quad on the XY plane at z
vertexBuffer.vertices.extend([
x, y, z, # bottom left
x + w, y, z, # bottom right
x + w, y + h, z, # top right
x, y, z, # bottom left
x + w, y + h, z, # top right
x, y + h, z # top left
])