roc/refuge.py
2017-05-08 13:10:48 -07:00

97 lines
1.8 KiB
Python
Executable file

#!/usr/local/bin/python2.4
import pygame
from pygame.locals import *
import os
import sys
import math
import random
import inputs
import gamedata
import gametimer
import video
import glwrapper
import init_universe
import universe
import time
import components
try:
from PIL import PngImagePlugin
except:
import PngImagePlugin
from .gameobj import *
from player import *
from particles import *
from ai import *
pygame.init()
gamedata.load_gamedata()
size = width, height = (1600,1200)
size = width, height = (1024,768)
video.set_res(size)
video.init()
video.enable_vsync()
gametimer.start_loop()
init_universe.init()
view = None
skipping = False
while True:
events = pygame.event.get()
#if skipping:
# print "SKIPPING! Forced? %s" % (video.get_forced_redraw(),)
gametimer.next_frame(skipping)
"""
if guiscreen != None or guidlg != None:
video.force_redraw() # irrelevant right now, but when we exit the gui, we'll need a full redraw!
for ev in events:
if ev.type == QUIT:
inputs.add_command('exit')
break
if 'exit' in inputs.commands:
break
if guiscreen:
guiscreen.distribute_events(*events)
continue
"""
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()
elif ev.type in (MOUSEBUTTONDOWN, MOUSEBUTTONUP):
pass
if 'exit' in inputs.commands:
break
#map.handle_keys(keys)
#units.mgr.update()
#view.update()
#if video.get_forced_redraw():
# video.get_scr().fill((0,0,0))
#skipping = video.skipping_next_frame()
if not skipping:
universe.next_frame()
video.predraw()
universe.render()
if not skipping:
video.next_frame()
inputs.next_frame()
else:
video.reset_skipping()