Prog
This commit is contained in:
@@ -3,16 +3,29 @@
|
|||||||
# This software is released under the MIT License.
|
# This software is released under the MIT License.
|
||||||
# https://opensource.org/licenses/MIT
|
# https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
|
ENTITY_DIR_SOUTH = 0
|
||||||
|
ENTITY_DIR_WEST = 1
|
||||||
|
ENTITY_DIR_NORTH = 2
|
||||||
|
ENTITY_DIR_EAST = 3
|
||||||
|
|
||||||
CHUNK_WIDTH = 16
|
CHUNK_WIDTH = 16
|
||||||
CHUNK_HEIGHT = 16
|
CHUNK_HEIGHT = 16
|
||||||
CHUNK_DEPTH = 4
|
CHUNK_DEPTH = 4
|
||||||
# CHUNK_VERTEX_COUNT_MAX = QUAD_VERTEXES * CHUNK_WIDTH * CHUNK_HEIGHT * 4
|
# CHUNK_VERTEX_COUNT_MAX = QUAD_VERTEXES * CHUNK_WIDTH * CHUNK_HEIGHT * 4
|
||||||
CHUNK_VERTEX_COUNT_MAX=6144
|
CHUNK_VERTEX_COUNT_MAX=6144
|
||||||
|
CHUNK_MESH_COUNT_MAX = 14
|
||||||
|
|
||||||
TILE_WIDTH = 16.0
|
TILE_WIDTH = 16.0
|
||||||
TILE_HEIGHT = 16.0
|
TILE_HEIGHT = 16.0
|
||||||
TILE_DEPTH = 16.0
|
TILE_DEPTH = 16.0
|
||||||
|
|
||||||
|
TILE_SHAPE_NULL = 0
|
||||||
|
TILE_SHAPE_FLOOR = 1
|
||||||
|
TILE_SHAPE_RAMP_SOUTH = 2
|
||||||
|
TILE_SHAPE_RAMP_EAST = 3
|
||||||
|
TILE_SHAPE_RAMP_NORTH = 4
|
||||||
|
TILE_SHAPE_RAMP_WEST = 5
|
||||||
|
|
||||||
RPG_CAMERA_FOV = 70
|
RPG_CAMERA_FOV = 70
|
||||||
RPG_CAMERA_PIXELS_PER_UNIT = 1.0
|
RPG_CAMERA_PIXELS_PER_UNIT = 1.0
|
||||||
RPG_CAMERA_Z_OFFSET = 24.0
|
RPG_CAMERA_Z_OFFSET = 24.0
|
||||||
|
|||||||
@@ -9,11 +9,6 @@
|
|||||||
#include "rpg/world/worldpos.h"
|
#include "rpg/world/worldpos.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ENTITY_DIR_SOUTH = 0,
|
|
||||||
ENTITY_DIR_EAST = 1,
|
|
||||||
ENTITY_DIR_WEST = 2,
|
|
||||||
ENTITY_DIR_NORTH = 3,
|
|
||||||
|
|
||||||
ENTITY_DIR_UP = ENTITY_DIR_NORTH,
|
ENTITY_DIR_UP = ENTITY_DIR_NORTH,
|
||||||
ENTITY_DIR_DOWN = ENTITY_DIR_SOUTH,
|
ENTITY_DIR_DOWN = ENTITY_DIR_SOUTH,
|
||||||
ENTITY_DIR_LEFT = ENTITY_DIR_WEST,
|
ENTITY_DIR_LEFT = ENTITY_DIR_WEST,
|
||||||
|
|||||||
@@ -10,11 +10,6 @@
|
|||||||
#include "worldpos.h"
|
#include "worldpos.h"
|
||||||
#include "display/mesh/quad.h"
|
#include "display/mesh/quad.h"
|
||||||
|
|
||||||
#define CHUNK_VERTEX_COUNT_MAX ( \
|
|
||||||
QUAD_VERTEX_COUNT * CHUNK_WIDTH * CHUNK_HEIGHT * 4 \
|
|
||||||
)
|
|
||||||
#define CHUNK_MESH_COUNT_MAX 14
|
|
||||||
|
|
||||||
typedef struct chunk_s {
|
typedef struct chunk_s {
|
||||||
chunkpos_t position;
|
chunkpos_t position;
|
||||||
tile_t tiles[CHUNK_TILE_COUNT];
|
tile_t tiles[CHUNK_TILE_COUNT];
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
from OpenGL.GL import *
|
from OpenGL.GL import *
|
||||||
from editortool.map.mapdefs import TILE_WIDTH, TILE_HEIGHT, TILE_DEPTH, CHUNK_WIDTH, CHUNK_HEIGHT, CHUNK_DEPTH
|
from editortool.map.mapdefs import TILE_WIDTH, TILE_HEIGHT, TILE_DEPTH, CHUNK_WIDTH, CHUNK_HEIGHT, CHUNK_DEPTH
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
class Tile:
|
class Tile:
|
||||||
def __init__(self, chunk, x, y, z, tileIndex):
|
def __init__(self, chunk, x, y, z):
|
||||||
self.tileId = 0
|
self.shape = TILE_SHAPE_NULL
|
||||||
|
|
||||||
self.chunk = chunk
|
self.chunk = chunk
|
||||||
self.x = x
|
self.x = x
|
||||||
self.y = y
|
self.y = y
|
||||||
@@ -14,7 +16,7 @@ class Tile:
|
|||||||
self.posZ = z * TILE_DEPTH + chunk.z * CHUNK_DEPTH * TILE_DEPTH
|
self.posZ = z * TILE_DEPTH + chunk.z * CHUNK_DEPTH * TILE_DEPTH
|
||||||
|
|
||||||
def buffer(self, vertexBuffer):
|
def buffer(self, vertexBuffer):
|
||||||
if self.z != 0:
|
if self.shape == TILE_SHAPE_NULL:
|
||||||
return
|
return
|
||||||
# if self.x != 0 or self.y != 0 or self.z != 0:
|
# if self.x != 0 or self.y != 0 or self.z != 0:
|
||||||
# return # Only buffer the tile at (0,0,0)
|
# return # Only buffer the tile at (0,0,0)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from editortool.map.mapinfopanel import MapInfoPanel
|
|||||||
from editortool.map.menubar import MapMenubar
|
from editortool.map.menubar import MapMenubar
|
||||||
from editortool.map.statusbar import StatusBar
|
from editortool.map.statusbar import StatusBar
|
||||||
from editortool.map.map import Map
|
from editortool.map.map import Map
|
||||||
from editortool.map.mapdefs import TILE_WIDTH, TILE_HEIGHT, TILE_DEPTH
|
from editortool.map.mapdefs import CHUNK_WIDTH, CHUNK_HEIGHT, CHUNK_DEPTH
|
||||||
from editortool.map.selectbox import SelectBox
|
from editortool.map.selectbox import SelectBox
|
||||||
from editortool.map.camera import Camera
|
from editortool.map.camera import Camera
|
||||||
from editortool.map.grid import Grid
|
from editortool.map.grid import Grid
|
||||||
@@ -101,9 +101,9 @@ class MapWindow(QMainWindow):
|
|||||||
amtZ = -1
|
amtZ = -1
|
||||||
|
|
||||||
if event.modifiers() & Qt.ShiftModifier:
|
if event.modifiers() & Qt.ShiftModifier:
|
||||||
amtX *= int(TILE_WIDTH)
|
amtX *= CHUNK_WIDTH
|
||||||
amtY *= int(TILE_HEIGHT)
|
amtY *= CHUNK_HEIGHT
|
||||||
amtZ *= int(TILE_DEPTH)
|
amtZ *= CHUNK_DEPTH
|
||||||
|
|
||||||
if amtX != 0 or amtY != 0 or amtZ != 0:
|
if amtX != 0 or amtY != 0 or amtZ != 0:
|
||||||
self.map.moveRelative(amtX, amtY, amtZ)
|
self.map.moveRelative(amtX, amtY, amtZ)
|
||||||
|
|||||||
Reference in New Issue
Block a user