Fixed some stuff, procrastinating the real problem
All checks were successful
Build Dusk / build-linux (push) Successful in 47s
Build Dusk / build-psp (push) Successful in 1m6s

This commit is contained in:
2025-11-16 16:18:01 -06:00
parent 9a59c22288
commit c874e6c197
14 changed files with 161 additions and 154 deletions

View File

@@ -2,14 +2,14 @@ import math
import time
from OpenGL.GL import *
from OpenGL.GLU import *
from dusk.defs import defs
from editortool.map.map import map
from editortool.map.mapdefs import TILE_WIDTH, TILE_HEIGHT, TILE_DEPTH, RPG_CAMERA_PIXELS_PER_UNIT, RPG_CAMERA_Z_OFFSET, RPG_CAMERA_FOV
class Camera:
def __init__(self):
self.pixelsPerUnit = float(defs.get('RPG_CAMERA_PIXELS_PER_UNIT'))
self.yOffset = float(defs.get('RPG_CAMERA_Z_OFFSET'))
self.fov = float(defs.get('RPG_CAMERA_FOV'))
def __init__(self, parent):
self.parent = parent
self.pixelsPerUnit = RPG_CAMERA_PIXELS_PER_UNIT
self.yOffset = RPG_CAMERA_Z_OFFSET
self.fov = RPG_CAMERA_FOV
self.scale = 8.0
self.lastTime = time.time()
self.lookAtTarget = [0.0, 0.0, 0.0]
@@ -25,13 +25,12 @@ class Camera:
(self.pixelsPerUnit * self.scale) * math.tan(math.radians(self.fov / 2.0))
)
lookAt = [
map.position[0] * float(defs.get('TILE_WIDTH')),
map.position[1] * float(defs.get('TILE_HEIGHT')),
map.position[2] * float(defs.get('TILE_DEPTH')),
self.parent.parent.map.position[0] * TILE_WIDTH,
self.parent.parent.map.position[1] * TILE_HEIGHT,
self.parent.parent.map.position[2] * TILE_DEPTH,
]
aspectRatio = vw / vh
# Ease the lookAt target
for i in range(3):
self.lookAtTarget[i] += (lookAt[i] - self.lookAtTarget[i]) * ease
@@ -39,13 +38,14 @@ class Camera:
# Camera position is now based on the eased lookAtTarget
cameraPosition = (
self.lookAtTarget[0],
self.lookAtTarget[1] - self.yOffset,
self.lookAtTarget[1] + self.yOffset,
self.lookAtTarget[2] + z
)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(self.fov, aspectRatio, 0.1, 1000.0)
glScalef(1.0, -1.0, 1.0) # Flip the projection matrix upside down
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
gluLookAt(