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()