Skip to content

Commit 5361167

Browse files
committed
Improved rocket support
1 parent 0f575b9 commit 5361167

File tree

5 files changed

+33
-12
lines changed

5 files changed

+33
-12
lines changed

demosys/conf/default_settings.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"""
44

55
# What attributes should be used when generating a settings file
6-
__ORDER__ = ('DEBUG', 'SCREENSHOT_PATH', 'OPENGL', 'WINDOW', 'MUSIC', 'TIMER', 'EFFECTS', 'EFFECT_MANAGER',
7-
'SHADER_DIRS', 'SHADER_FINDERS', 'TEXTURE_DIRS', 'TEXTURE_FINDERS')
6+
__ORDER__ = ('DEBUG', 'SCREENSHOT_PATH', 'OPENGL', 'WINDOW', 'MUSIC', 'TIMER', 'ROCKET_MODE', 'EFFECTS',
7+
'EFFECT_MANAGER', 'SHADER_DIRS', 'SHADER_FINDERS', 'TEXTURE_DIRS', 'TEXTURE_FINDERS')
88

99
DEBUG = False
1010

@@ -34,6 +34,12 @@
3434

3535
TIMER = 'demosys.timers.Timer'
3636

37+
ROCKET = {
38+
'mode': 'editor',
39+
'project_file': None,
40+
'files': None,
41+
}
42+
3743
# Empty effects tuple
3844
EFFECTS = ()
3945

demosys/timers/rocket.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,27 @@
1-
from rocket.controller import TimeController
2-
from rocket.rocket import Rocket
1+
from rocket.controllers import TimeController
2+
from rocket import Rocket
33
from demosys.resources import tracks
44

55

66
class RocketTimer:
77
"""Basic rocket timer"""
8-
def __init__(self):
8+
def __init__(self, config):
9+
if config is None:
10+
config = {}
11+
12+
self.mode = config.get('mode') or 'editor'
13+
self.files = config.get('files') or './tracks'
14+
self.project = config.get('project') or 'project.xml'
15+
916
self.controller = TimeController(24)
10-
self.rocket = Rocket(self.controller, track_path="./data")
11-
self.rocket.start()
17+
if self.mode == 'editor':
18+
self.rocket = Rocket.from_socket(self.controller, track_path=self.files)
19+
elif self.mode == 'project':
20+
self.rocket = Rocket.from_project_file(self.controller, self.project)
21+
elif self.mode == 'files':
22+
self.rocket = Rocket.from_files(self.controller, self.files)
23+
else:
24+
raise ValueError("Unknown rocket mode: '{}'".format(self.mode))
1225

1326
# Register tracks in the editor
1427
# Ninja in pre-created track objects
@@ -19,8 +32,10 @@ def __init__(self):
1932
for track in tracks.tacks:
2033
self.rocket.track(track.name)
2134

35+
self.rocket.update()
36+
2237
def start(self):
23-
pass
38+
self.rocket.start()
2439

2540
def get_time(self):
2641
self.rocket.update()

demosys/view/controller.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def run(manager=None):
5757
# Initialize timer
5858
global TIMER
5959
timer_cls = module_loading.import_string(settings.TIMER)
60-
TIMER = timer_cls()
60+
TIMER = timer_cls(getattr(settings, 'ROCKET'))
6161
TIMER.start()
6262

6363
frames, ft = 0, 0

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ PyOpenGL==3.1.0
22
glfw==1.4.0
33
pyrr==0.8.2
44
Pillow==4.0.0
5-
pyrocket==0.1.3
5+
pyrocket==0.2.3
66

77
# Optional
88
pygame==1.9.3

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setup(
44
name="demosys-py",
5-
version="0.3.0",
5+
version="0.3.2",
66
description="Modern OpenGL 4.1+ Prototype Framework inspired by Django",
77
long_description=open('README.rst').read(),
88
url="https://github.com/Contraz/demosys-py",
@@ -29,7 +29,7 @@
2929
'glfw==1.4.0',
3030
'pyrr==0.8.2',
3131
'Pillow==4.0.0',
32-
'pyrocket==0.1.3',
32+
'pyrocket==0.2.3',
3333
'pygame==1.9.3',
3434
],
3535
entry_points={'console_scripts': [

0 commit comments

Comments
 (0)