roc/roc/roc_main.py
cecilkorik 873cda7357 Extensive modifications to get shooter-game running
- 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
2017-09-18 01:57:17 -04:00

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