- fixed a number of issues with the "anims" module that was still depending on pygame and old timer mechanics. - fixed case sensitivity issue in "files" module - fixed some of the sprite functions (add_sprite_layer in particular) in "models" - added some new gametimer and engine getter/setters to "roc_main" - significant improvements to "gamedata" backported from shooter, greatly improves error messages
59 lines
965 B
Python
Executable file
59 lines
965 B
Python
Executable file
import pygame
|
|
from pygame.locals import *
|
|
from . import gamedata
|
|
from . import gametimer
|
|
from . import video
|
|
from . import shader
|
|
from . import inputs
|
|
from . import models
|
|
from . import config
|
|
from OpenGL.GL import *
|
|
|
|
|
|
def set_engine(new_engine):
|
|
global g_engine
|
|
g_engine = new_engine
|
|
|
|
def set_timer(new_timer):
|
|
global g_timer
|
|
g_timer = new_timer
|
|
|
|
def get_engine():
|
|
return g_engine
|
|
|
|
def get_timer():
|
|
return g_timer
|
|
|
|
g_engine = None
|
|
g_timer = 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()
|