48 lines
767 B
Python
Executable file
48 lines
767 B
Python
Executable file
import pygame
|
|
from pygame.locals import *
|
|
import gamedata
|
|
import gametimer
|
|
import video
|
|
import shader
|
|
import inputs
|
|
import models
|
|
import config
|
|
from OpenGL.GL import *
|
|
|
|
|
|
def set_engine(new_engine):
|
|
global g_engine
|
|
g_engine = new_engine
|
|
|
|
g_engine = None
|
|
|
|
|
|
def mainloop():
|
|
global g_engine
|
|
|
|
while True:
|
|
events = pygame.event.get()
|
|
pygame.event.pump()
|
|
for ev in events:
|
|
if ev.type == QUIT:
|
|
inputs.add_command('exit')
|
|
break
|
|
elif ev.type == KEYUP:
|
|
inputs.keyup(ev.key)
|
|
elif ev.type == KEYDOWN:
|
|
inputs.keydown(ev.key)
|
|
#elif ev.type == VIDEOEXPOSE:
|
|
# video.force_redraw()
|
|
|
|
|
|
if 'exit' in inputs.commands:
|
|
break
|
|
|
|
video.predraw()
|
|
|
|
g_engine.frame(events)
|
|
|
|
video.next_frame()
|
|
|
|
video.save_window_pos()
|
|
config.mgr.save()
|