General modernizations and porting to Python3
Included some missing files
|
@ -1,3 +1,8 @@
|
||||||
syntax: glob
|
syntax: glob
|
||||||
*.pyc
|
*.pyc
|
||||||
settings.cfg
|
settings.cfg
|
||||||
|
lib
|
||||||
|
bin
|
||||||
|
include
|
||||||
|
pip-selfcheck.json
|
||||||
|
__pycache__
|
||||||
|
|
16
__init__.py
|
@ -1,4 +1,4 @@
|
||||||
import roc
|
from roc_core import *
|
||||||
import universe
|
import universe
|
||||||
import pipeline
|
import pipeline
|
||||||
import inputs
|
import inputs
|
||||||
|
@ -10,3 +10,17 @@ import files
|
||||||
import gametimer
|
import gametimer
|
||||||
import shader
|
import shader
|
||||||
import video
|
import video
|
||||||
|
|
||||||
|
#from .universe import *
|
||||||
|
#from .pipeline import *
|
||||||
|
#from .inputs import *
|
||||||
|
#from .physics import *
|
||||||
|
#from .models import *
|
||||||
|
#from .gamedata import *
|
||||||
|
#from .enums import *
|
||||||
|
#from .files import *
|
||||||
|
#from .gametimer import *
|
||||||
|
#from .shader import *
|
||||||
|
#from .video import *
|
||||||
|
#
|
||||||
|
|
||||||
|
|
2
asset.py
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
from gameobj import gameobj
|
from .gameobj import gameobj
|
||||||
|
|
||||||
class asset_manager(object):
|
class asset_manager(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from gameobj import game_object
|
from .gameobj import game_object
|
||||||
import math
|
import math
|
||||||
from quat import *
|
from quat import *
|
||||||
from py3dutil import vect
|
from py3dutil import vect
|
||||||
|
|
|
@ -24,7 +24,7 @@ class configmanager(object):
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
fd = open(self.filepath, 'w')
|
fd = open(self.filepath, 'w')
|
||||||
for k, v in self.data.items():
|
for k, v in list(self.data.items()):
|
||||||
fd.write("%s = %s\n" % (k, v))
|
fd.write("%s = %s\n" % (k, v))
|
||||||
fd.close()
|
fd.close()
|
||||||
|
|
||||||
|
|
BIN
data/font/coure10.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
102
data/font/coure10.tfd
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
fontheader
|
||||||
|
32,128
|
||||||
|
9,14
|
||||||
|
13,8
|
||||||
|
128,128
|
||||||
|
charsizes
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
||||||
|
8,13
|
BIN
data/font/micross20.png
Normal file
After Width: | Height: | Size: 14 KiB |
102
data/font/micross20.tfd
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
fontheader
|
||||||
|
32,128
|
||||||
|
21,25
|
||||||
|
11,9
|
||||||
|
256,256
|
||||||
|
charsizes
|
||||||
|
5,24
|
||||||
|
6,24
|
||||||
|
7,24
|
||||||
|
13,24
|
||||||
|
11,24
|
||||||
|
17,24
|
||||||
|
13,24
|
||||||
|
4,24
|
||||||
|
7,24
|
||||||
|
7,24
|
||||||
|
8,24
|
||||||
|
11,24
|
||||||
|
6,24
|
||||||
|
7,24
|
||||||
|
6,24
|
||||||
|
6,24
|
||||||
|
11,24
|
||||||
|
12,24
|
||||||
|
12,24
|
||||||
|
11,24
|
||||||
|
12,24
|
||||||
|
11,24
|
||||||
|
11,24
|
||||||
|
11,24
|
||||||
|
11,24
|
||||||
|
11,24
|
||||||
|
6,24
|
||||||
|
6,24
|
||||||
|
12,24
|
||||||
|
11,24
|
||||||
|
12,24
|
||||||
|
12,24
|
||||||
|
20,24
|
||||||
|
15,24
|
||||||
|
14,24
|
||||||
|
14,24
|
||||||
|
15,24
|
||||||
|
14,24
|
||||||
|
12,24
|
||||||
|
15,24
|
||||||
|
15,24
|
||||||
|
6,24
|
||||||
|
10,24
|
||||||
|
14,24
|
||||||
|
12,24
|
||||||
|
17,24
|
||||||
|
15,24
|
||||||
|
16,24
|
||||||
|
14,24
|
||||||
|
16,24
|
||||||
|
14,24
|
||||||
|
13,24
|
||||||
|
13,24
|
||||||
|
15,24
|
||||||
|
14,24
|
||||||
|
19,24
|
||||||
|
14,24
|
||||||
|
14,24
|
||||||
|
13,24
|
||||||
|
6,24
|
||||||
|
6,24
|
||||||
|
6,24
|
||||||
|
9,24
|
||||||
|
11,24
|
||||||
|
7,24
|
||||||
|
11,24
|
||||||
|
11,24
|
||||||
|
10,24
|
||||||
|
11,24
|
||||||
|
11,24
|
||||||
|
7,24
|
||||||
|
11,24
|
||||||
|
11,24
|
||||||
|
4,24
|
||||||
|
5,24
|
||||||
|
10,24
|
||||||
|
4,24
|
||||||
|
16,24
|
||||||
|
11,24
|
||||||
|
12,24
|
||||||
|
11,24
|
||||||
|
11,24
|
||||||
|
7,24
|
||||||
|
11,24
|
||||||
|
7,24
|
||||||
|
11,24
|
||||||
|
10,24
|
||||||
|
15,24
|
||||||
|
10,24
|
||||||
|
10,24
|
||||||
|
11,24
|
||||||
|
7,24
|
||||||
|
6,24
|
||||||
|
8,24
|
||||||
|
12,24
|
||||||
|
6,24
|
BIN
data/font/micross42.png
Normal file
After Width: | Height: | Size: 34 KiB |
102
data/font/micross42.tfd
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
fontheader
|
||||||
|
32,128
|
||||||
|
43,49
|
||||||
|
11,10
|
||||||
|
512,512
|
||||||
|
charsizes
|
||||||
|
11,48
|
||||||
|
12,48
|
||||||
|
15,48
|
||||||
|
25,48
|
||||||
|
23,48
|
||||||
|
38,48
|
||||||
|
28,48
|
||||||
|
8,48
|
||||||
|
15,48
|
||||||
|
15,48
|
||||||
|
16,48
|
||||||
|
24,48
|
||||||
|
12,48
|
||||||
|
13,48
|
||||||
|
12,48
|
||||||
|
12,48
|
||||||
|
24,48
|
||||||
|
24,48
|
||||||
|
23,48
|
||||||
|
24,48
|
||||||
|
24,48
|
||||||
|
24,48
|
||||||
|
24,48
|
||||||
|
23,48
|
||||||
|
24,48
|
||||||
|
24,48
|
||||||
|
12,48
|
||||||
|
12,48
|
||||||
|
24,48
|
||||||
|
24,48
|
||||||
|
24,48
|
||||||
|
24,48
|
||||||
|
42,48
|
||||||
|
30,48
|
||||||
|
27,48
|
||||||
|
30,48
|
||||||
|
30,48
|
||||||
|
28,48
|
||||||
|
26,48
|
||||||
|
33,48
|
||||||
|
30,48
|
||||||
|
12,48
|
||||||
|
21,48
|
||||||
|
28,48
|
||||||
|
23,48
|
||||||
|
34,48
|
||||||
|
30,48
|
||||||
|
33,48
|
||||||
|
28,48
|
||||||
|
33,48
|
||||||
|
30,48
|
||||||
|
28,48
|
||||||
|
26,48
|
||||||
|
30,48
|
||||||
|
28,48
|
||||||
|
40,48
|
||||||
|
28,48
|
||||||
|
28,48
|
||||||
|
26,48
|
||||||
|
12,48
|
||||||
|
12,48
|
||||||
|
12,48
|
||||||
|
20,48
|
||||||
|
24,48
|
||||||
|
14,48
|
||||||
|
24,48
|
||||||
|
23,48
|
||||||
|
21,48
|
||||||
|
23,48
|
||||||
|
23,48
|
||||||
|
13,48
|
||||||
|
23,48
|
||||||
|
24,48
|
||||||
|
10,48
|
||||||
|
12,48
|
||||||
|
22,48
|
||||||
|
10,48
|
||||||
|
36,48
|
||||||
|
24,48
|
||||||
|
22,48
|
||||||
|
23,48
|
||||||
|
23,48
|
||||||
|
15,48
|
||||||
|
21,48
|
||||||
|
12,48
|
||||||
|
24,48
|
||||||
|
21,48
|
||||||
|
31,48
|
||||||
|
21,48
|
||||||
|
21,48
|
||||||
|
21,48
|
||||||
|
14,48
|
||||||
|
11,48
|
||||||
|
13,48
|
||||||
|
25,48
|
||||||
|
12,48
|
BIN
data/font/monopro6.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
102
data/font/monopro6.tfd
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
fontheader
|
||||||
|
32,128
|
||||||
|
7,11
|
||||||
|
13,8
|
||||||
|
128,128
|
||||||
|
charsizes
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
BIN
data/font/proggysquaresz12.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
102
data/font/proggysquaresz12.tfd
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
fontheader
|
||||||
|
32,128
|
||||||
|
8,12
|
||||||
|
12,8
|
||||||
|
128,128
|
||||||
|
charsizes
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
||||||
|
7,11
|
BIN
data/font/proggytinysz12.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
102
data/font/proggytinysz12.tfd
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
fontheader
|
||||||
|
32,128
|
||||||
|
7,11
|
||||||
|
13,8
|
||||||
|
128,128
|
||||||
|
charsizes
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
||||||
|
6,10
|
BIN
data/font/vgafix12.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
102
data/font/vgafix12.tfd
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
fontheader
|
||||||
|
32,128
|
||||||
|
9,16
|
||||||
|
14,8
|
||||||
|
128,128
|
||||||
|
charsizes
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
||||||
|
8,15
|
BIN
data/tex/black.png
Executable file → Normal file
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 281 B |
BIN
data/tex/dralthi.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
data/tex/nm_flat.png
Executable file → Normal file
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 298 B |
BIN
data/tex/plasma1.png
Executable file → Normal file
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 9.7 KiB |
BIN
data/tex/plasma2.png
Executable file → Normal file
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 17 KiB |
BIN
data/tex/star_sprite_main.png
Normal file
After Width: | Height: | Size: 283 B |
BIN
data/tex/test1.png
Executable file → Normal file
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 17 KiB |
BIN
data/tex/white.png
Executable file → Normal file
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 283 B |
BIN
data/tex/whitelight_static.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
4
fonts.py
|
@ -114,7 +114,7 @@ class TexFont(object):
|
||||||
symbol for unknown characters (either totally blank or a box.)
|
symbol for unknown characters (either totally blank or a box.)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if isinstance(char, basestring):
|
if isinstance(char, str):
|
||||||
char = ord(char)
|
char = ord(char)
|
||||||
|
|
||||||
if char >= self.start and char < self.end:
|
if char >= self.start and char < self.end:
|
||||||
|
@ -180,7 +180,7 @@ class TexFont(object):
|
||||||
monospace = True
|
monospace = True
|
||||||
monoheight = True
|
monoheight = True
|
||||||
|
|
||||||
for i in xrange(0, (self.end - self.start)):
|
for i in range(0, (self.end - self.start)):
|
||||||
x, y = nextline(dd)
|
x, y = nextline(dd)
|
||||||
if x != self.charwidth:
|
if x != self.charwidth:
|
||||||
monospace = False
|
monospace = False
|
||||||
|
|
24
gamedata.py
|
@ -32,13 +32,13 @@ class GameDataNode(object):
|
||||||
return self.dict[name]._value
|
return self.dict[name]._value
|
||||||
def __getattr__(self, name):
|
def __getattr__(self, name):
|
||||||
if name == 'dict':
|
if name == 'dict':
|
||||||
raise AttributeError, name
|
raise AttributeError(name)
|
||||||
try:
|
try:
|
||||||
return self.dict[name]
|
return self.dict[name]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
if name == '_value':
|
if name == '_value':
|
||||||
return None
|
return None
|
||||||
raise AttributeError, name
|
raise AttributeError(name)
|
||||||
def __setattr__(self, name, val):
|
def __setattr__(self, name, val):
|
||||||
if name == 'dict':
|
if name == 'dict':
|
||||||
return object.__setattr__(self, name, val)
|
return object.__setattr__(self, name, val)
|
||||||
|
@ -47,7 +47,7 @@ class GameDataNode(object):
|
||||||
except KeyError:
|
except KeyError:
|
||||||
object.__setattr__(self, name, val)
|
object.__setattr__(self, name, val)
|
||||||
def add_multi(self, key, value):
|
def add_multi(self, key, value):
|
||||||
if not self.dict.has_key(key):
|
if key not in self.dict:
|
||||||
self.dict[key] = []
|
self.dict[key] = []
|
||||||
self.dict[key].append(value)
|
self.dict[key].append(value)
|
||||||
def add_single(self, key, value):
|
def add_single(self, key, value):
|
||||||
|
@ -55,7 +55,7 @@ class GameDataNode(object):
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return """<GameDataNode "%s">""" % (self.dict['_name'],)
|
return """<GameDataNode "%s">""" % (self.dict['_name'],)
|
||||||
def has_key(self, key):
|
def has_key(self, key):
|
||||||
return self.dict.has_key(key)
|
return key in self.dict
|
||||||
|
|
||||||
class XMLGameDataReader(object):
|
class XMLGameDataReader(object):
|
||||||
def __init__(self, bin, xml):
|
def __init__(self, bin, xml):
|
||||||
|
@ -81,7 +81,7 @@ class XMLGameDataReader(object):
|
||||||
# csvarrays are always ints...
|
# csvarrays are always ints...
|
||||||
return [int(x.strip()) for x in value.split(',')]
|
return [int(x.strip()) for x in value.split(',')]
|
||||||
else:
|
else:
|
||||||
raise TypeError, type
|
raise TypeError(type)
|
||||||
|
|
||||||
def create_datatag_def(self, tag):
|
def create_datatag_def(self, tag):
|
||||||
d = GameDataTagDef()
|
d = GameDataTagDef()
|
||||||
|
@ -114,7 +114,7 @@ class XMLGameDataReader(object):
|
||||||
elif (node.missing or value == None) and df.opt:
|
elif (node.missing or value == None) and df.opt:
|
||||||
value = df.default
|
value = df.default
|
||||||
elif (node.missing or value == None) and not allow_missing:
|
elif (node.missing or value == None) and not allow_missing:
|
||||||
raise ValueError, "Missing value for mandatory tag %s" % (bin.get('name'),)
|
raise ValueError("Missing value for mandatory tag %s" % (bin.get('name'),))
|
||||||
elif (node.missing or value == None):
|
elif (node.missing or value == None):
|
||||||
value = None
|
value = None
|
||||||
else:
|
else:
|
||||||
|
@ -128,7 +128,7 @@ class XMLGameDataReader(object):
|
||||||
if value == None and df.opt:
|
if value == None and df.opt:
|
||||||
value = df.default
|
value = df.default
|
||||||
elif not value and not allow_missing:
|
elif not value and not allow_missing:
|
||||||
raise ValueError, "Missing value for mandatory tag %s" % (bin.get('name'),)
|
raise ValueError("Missing value for mandatory tag %s" % (bin.get('name'),))
|
||||||
elif not value:
|
elif not value:
|
||||||
value = None
|
value = None
|
||||||
else:
|
else:
|
||||||
|
@ -163,9 +163,9 @@ class XMLGameDataReader(object):
|
||||||
xmltagdict = {}
|
xmltagdict = {}
|
||||||
|
|
||||||
if not isinstance(xml, MissingNode):
|
if not isinstance(xml, MissingNode):
|
||||||
for k, v in xml.items():
|
for k, v in list(xml.items()):
|
||||||
if not k in attrdict:
|
if not k in attrdict:
|
||||||
raise ValueError, "Key %s not a valid attribute: %s" % (k, attrdict.keys())
|
raise ValueError("Key %s not a valid attribute: %s" % (k, list(attrdict.keys())))
|
||||||
continue
|
continue
|
||||||
binchild = attrdict[k]
|
binchild = attrdict[k]
|
||||||
xmlchild = xml
|
xmlchild = xml
|
||||||
|
@ -191,7 +191,7 @@ class XMLGameDataReader(object):
|
||||||
|
|
||||||
|
|
||||||
missing = MissingNode()
|
missing = MissingNode()
|
||||||
for k in tagdict.keys():
|
for k in list(tagdict.keys()):
|
||||||
if not k in xmltagdict:
|
if not k in xmltagdict:
|
||||||
# Missing datatag
|
# Missing datatag
|
||||||
subnode = self.construct_recurse(tagdict[k], missing, isinstance(xml, MissingNode))
|
subnode = self.construct_recurse(tagdict[k], missing, isinstance(xml, MissingNode))
|
||||||
|
@ -200,7 +200,7 @@ class XMLGameDataReader(object):
|
||||||
else:
|
else:
|
||||||
node.add_single(k, [])
|
node.add_single(k, [])
|
||||||
|
|
||||||
for k in attrdict.keys():
|
for k in list(attrdict.keys()):
|
||||||
if not k in xmlattrdict:
|
if not k in xmlattrdict:
|
||||||
# Missing attribute
|
# Missing attribute
|
||||||
subnode = self.construct_node(attrdict[k], missing, isinstance(xml, MissingNode))
|
subnode = self.construct_node(attrdict[k], missing, isinstance(xml, MissingNode))
|
||||||
|
@ -221,7 +221,7 @@ class XMLGameDataReader(object):
|
||||||
|
|
||||||
def __getattr__(self, name):
|
def __getattr__(self, name):
|
||||||
if name == 'tree':
|
if name == 'tree':
|
||||||
raise AttributeError, name
|
raise AttributeError(name)
|
||||||
return self._tree.__getattr__(name)
|
return self._tree.__getattr__(name)
|
||||||
def __getitem__(self, name):
|
def __getitem__(self, name):
|
||||||
return self._tree.__getitem__(name)
|
return self._tree.__getitem__(name)
|
||||||
|
|
|
@ -65,7 +65,7 @@ def num_frames(delay, offset=0):
|
||||||
return int((g_timer - offset) / delay) - int((g_timer - g_elapsed - offset) / delay)
|
return int((g_timer - offset) / delay) - int((g_timer - g_elapsed - offset) / delay)
|
||||||
|
|
||||||
def loop_frames(delay, offset=0):
|
def loop_frames(delay, offset=0):
|
||||||
return xrange(num_frames(delay, offset))
|
return range(num_frames(delay, offset))
|
||||||
|
|
||||||
def get_timer():
|
def get_timer():
|
||||||
return g_timer
|
return g_timer
|
||||||
|
@ -81,7 +81,7 @@ def average(d):
|
||||||
# pass
|
# pass
|
||||||
|
|
||||||
v2 = float(d[0])
|
v2 = float(d[0])
|
||||||
for i in xrange(1, len(d)):
|
for i in range(1, len(d)):
|
||||||
v1 = float(d[i])
|
v1 = float(d[i])
|
||||||
v2 = (smooth * v2) + ((1.0 - smooth) * v1)
|
v2 = (smooth * v2) + ((1.0 - smooth) * v1)
|
||||||
|
|
||||||
|
|
|
@ -221,6 +221,6 @@ def main():
|
||||||
glutMainLoop()
|
glutMainLoop()
|
||||||
|
|
||||||
# Print message to console, and kick off the main to get it rolling.
|
# Print message to console, and kick off the main to get it rolling.
|
||||||
print "Hit ESC key to quit."
|
print("Hit ESC key to quit.")
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ class Model_Manager(object):
|
||||||
self.textypes[enums.tt.specular] = TextureType(GL_TEXTURE2, GL_TEXTURE_2D)
|
self.textypes[enums.tt.specular] = TextureType(GL_TEXTURE2, GL_TEXTURE_2D)
|
||||||
self.textypes[enums.tt.normal] = TextureType(GL_TEXTURE3, GL_TEXTURE_2D)
|
self.textypes[enums.tt.normal] = TextureType(GL_TEXTURE3, GL_TEXTURE_2D)
|
||||||
|
|
||||||
for tt in self.textypes.values():
|
for tt in list(self.textypes.values()):
|
||||||
tt.initialize()
|
tt.initialize()
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ class Model_Manager(object):
|
||||||
fontname = os.path.splitext(os.path.split(fontfile)[1])[0]
|
fontname = os.path.splitext(os.path.split(fontfile)[1])[0]
|
||||||
fontobj = fonts.TexFont.new(fontdir, fontname)
|
fontobj = fonts.TexFont.new(fontdir, fontname)
|
||||||
self.fontlib[fontname] = fontobj
|
self.fontlib[fontname] = fontobj
|
||||||
print "Loaded font %s" % (fontname,)
|
print("Loaded font %s" % (fontname,))
|
||||||
|
|
||||||
def get_font(self, name):
|
def get_font(self, name):
|
||||||
return self.fontlib[name]
|
return self.fontlib[name]
|
||||||
|
@ -214,7 +214,7 @@ class TextureFile(object):
|
||||||
self.filename = filename
|
self.filename = filename
|
||||||
img = files.mgr.png(filename)
|
img = files.mgr.png(filename)
|
||||||
texid = glGenTextures(1)
|
texid = glGenTextures(1)
|
||||||
print "Generated texture id %s from %s" % (texid, self.filename)
|
print("Generated texture id %s from %s" % (texid, self.filename))
|
||||||
|
|
||||||
self.id = texid
|
self.id = texid
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ class physics_manager(object):
|
||||||
if not other.massless:
|
if not other.massless:
|
||||||
moved2 = obj.collide(other)
|
moved2 = obj.collide(other)
|
||||||
|
|
||||||
print "Collision!"
|
print("Collision!")
|
||||||
assert False
|
assert False
|
||||||
return moved1 or moved2
|
return moved1 or moved2
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ class physics_manager(object):
|
||||||
positions_adjusted = False
|
positions_adjusted = False
|
||||||
iter += 1
|
iter += 1
|
||||||
pairmap = {}
|
pairmap = {}
|
||||||
for key, cell in self.cells.items():
|
for key, cell in list(self.cells.items()):
|
||||||
for obj in cell:
|
for obj in cell:
|
||||||
self._postcollide_single(obj, key, pairmap)
|
self._postcollide_single(obj, key, pairmap)
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ if sys.platform == 'win32':
|
||||||
from platform_win32 import *
|
from platform_win32 import *
|
||||||
elif sys.platform == 'darwin':
|
elif sys.platform == 'darwin':
|
||||||
from platform_darwin import *
|
from platform_darwin import *
|
||||||
elif sys.platform == 'posix':
|
elif sys.platform in ('posix', 'linux'):
|
||||||
from platform_posix import *
|
from platform_posix import *
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError("Not ported to this platform")
|
raise NotImplementedError("Not ported to this platform")
|
|
@ -7,7 +7,7 @@ def enable_vsync():
|
||||||
v = ctypes.c_int(1)
|
v = ctypes.c_int(1)
|
||||||
ogl.CGLSetParameter(ogl.CGLGetCurrentContext(), ctypes.c_int(222), ctypes.pointer(v))
|
ogl.CGLSetParameter(ogl.CGLGetCurrentContext(), ctypes.c_int(222), ctypes.pointer(v))
|
||||||
except:
|
except:
|
||||||
print "Unable to set vsync mode, using driver defaults"
|
print("Unable to set vsync mode, using driver defaults")
|
||||||
|
|
||||||
def get_window_handle():
|
def get_window_handle():
|
||||||
return None
|
return None
|
||||||
|
|
|
@ -19,7 +19,7 @@ try:
|
||||||
from PIL import PngImagePlugin
|
from PIL import PngImagePlugin
|
||||||
except:
|
except:
|
||||||
import PngImagePlugin
|
import PngImagePlugin
|
||||||
from gameobj import *
|
from .gameobj import *
|
||||||
from player import *
|
from player import *
|
||||||
from particles import *
|
from particles import *
|
||||||
from ai import *
|
from ai import *
|
||||||
|
|
31
roc_test.py
|
@ -1,12 +1,16 @@
|
||||||
|
#import roc
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
sys.path.append(os.path.abspath('..'))
|
||||||
import roc
|
import roc
|
||||||
import pygame
|
import pygame
|
||||||
from OpenGL.GL import *
|
from OpenGL.GL import *
|
||||||
from py3dutil import vect, quat
|
from py3dutil import vect, quat
|
||||||
import models
|
from roc import models
|
||||||
import fonts
|
from roc import fonts
|
||||||
import gametimer
|
from roc import gametimer
|
||||||
from platform import *
|
from roc.platform import *
|
||||||
import pipeline
|
from roc import pipeline
|
||||||
import time
|
import time
|
||||||
import collections
|
import collections
|
||||||
import random
|
import random
|
||||||
|
@ -24,8 +28,8 @@ class partycle(object):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def random(cls):
|
def random(cls):
|
||||||
x, y = [((random.random() * 2.0) - 1.0) * 10.0 for _ in xrange(2)]
|
x, y = [((random.random() * 2.0) - 1.0) * 10.0 for _ in range(2)]
|
||||||
xd, yd = [((random.random() * 2.0) - 1.0) * 4.0 for _ in xrange(2)]
|
xd, yd = [((random.random() * 2.0) - 1.0) * 4.0 for _ in range(2)]
|
||||||
hue = random.random()
|
hue = random.random()
|
||||||
m1 = 1.0
|
m1 = 1.0
|
||||||
h1 = hue * 6.0
|
h1 = hue * 6.0
|
||||||
|
@ -56,7 +60,7 @@ class partycle(object):
|
||||||
self.yd *= 0.985
|
self.yd *= 0.985
|
||||||
self.rot += self.rotd
|
self.rot += self.rotd
|
||||||
|
|
||||||
class test_universe(roc.base_universe):
|
class test_universe(roc.universe.base_universe):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.font = models.mgr.fontlib["micross20"]
|
self.font = models.mgr.fontlib["micross20"]
|
||||||
self.text1 = models.TextModel("micross20", "#$% 0123 ,,,, Hello world!\xa8\xa8\xa8F", (1.0, 1.0, 0.5, 1.0))
|
self.text1 = models.TextModel("micross20", "#$% 0123 ,,,, Hello world!\xa8\xa8\xa8F", (1.0, 1.0, 0.5, 1.0))
|
||||||
|
@ -112,7 +116,7 @@ class test_universe(roc.base_universe):
|
||||||
self.text1.render()
|
self.text1.render()
|
||||||
glPopMatrix()
|
glPopMatrix()
|
||||||
|
|
||||||
for x in xrange(gametimer.num_frames(10)):
|
for x in range(gametimer.num_frames(10)):
|
||||||
self.move = self.move + self.moveinc
|
self.move = self.move + self.moveinc
|
||||||
if self.move > 300.0:
|
if self.move > 300.0:
|
||||||
self.moveinc = -1.0
|
self.moveinc = -1.0
|
||||||
|
@ -139,7 +143,7 @@ class test_universe(roc.base_universe):
|
||||||
for x in xrange(gametimer.num_frames(1000)):
|
for x in xrange(gametimer.num_frames(1000)):
|
||||||
self.string = self.string + str(len(self.string) % 10)
|
self.string = self.string + str(len(self.string) % 10)
|
||||||
"""
|
"""
|
||||||
for x in xrange(gametimer.num_frames(100)):
|
for x in range(gametimer.num_frames(100)):
|
||||||
self.string = str(round(gametimer.get_fps(), 1))
|
self.string = str(round(gametimer.get_fps(), 1))
|
||||||
#print len(gametimer.g_framelist)
|
#print len(gametimer.g_framelist)
|
||||||
|
|
||||||
|
@ -148,20 +152,21 @@ class test_universe(roc.base_universe):
|
||||||
glPopMatrix()
|
glPopMatrix()
|
||||||
|
|
||||||
# texture test
|
# texture test
|
||||||
mdl2 = models.mgr.create("m_dralthi")
|
mdl2 = models.mgr.create("m_particle")
|
||||||
mdl2.layers[0].color = None
|
mdl2.layers[0].color = None
|
||||||
#print mdl2.layers[0].mesh
|
#print mdl2.layers[0].mesh
|
||||||
for party in self.particles:
|
for party in self.particles:
|
||||||
glPushMatrix()
|
glPushMatrix()
|
||||||
glTranslate(600.0 + party.x, 350.0 + party.y, 6.0)
|
glTranslate(600.0 + party.x, 350.0 + party.y, 6.0)
|
||||||
glRotate(party.rot, 0.0, 0.0, 1.0)
|
glRotate(party.rot, 0.0, 0.0, 1.0)
|
||||||
#glColor4f(*party.color)
|
glColor4f(*party.color)
|
||||||
mdl2.render()
|
mdl2.render()
|
||||||
glPopMatrix()
|
glPopMatrix()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
roc.video.width = 1024
|
||||||
|
roc.video.height = 768
|
||||||
roc.init2d()
|
roc.init2d()
|
||||||
roc.set_universe(test_universe())
|
roc.set_universe(test_universe())
|
||||||
roc.main()
|
roc.main()
|
||||||
|
|
23
shader.py
|
@ -122,17 +122,17 @@ class shader_manager(object):
|
||||||
try:
|
try:
|
||||||
shaderinit()
|
shaderinit()
|
||||||
except:
|
except:
|
||||||
print "Shader type %s failed to initialize" % (shadername,)
|
print("Shader type %s failed to initialize" % (shadername,))
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
self.select("ffp")
|
self.select("ffp")
|
||||||
except:
|
except:
|
||||||
print "Shader type %s failed to access the fixed function pipeline" % (shadername,)
|
print("Shader type %s failed to access the fixed function pipeline" % (shadername,))
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
self.select("standard")
|
self.select("standard")
|
||||||
except:
|
except:
|
||||||
print "Shader type %s failed to load the \"standard\" vertex and fragment shaders" % (shadername,)
|
print("Shader type %s failed to load the \"standard\" vertex and fragment shaders" % (shadername,))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
workable_shaders.append(shadername)
|
workable_shaders.append(shadername)
|
||||||
|
@ -143,7 +143,7 @@ class shader_manager(object):
|
||||||
shadertypes = self.detect()
|
shadertypes = self.detect()
|
||||||
|
|
||||||
if not shadertypes:
|
if not shadertypes:
|
||||||
raise ValueError, "No working shaders detected"
|
raise ValueError("No working shaders detected")
|
||||||
|
|
||||||
self.init_shadertype(shadertypes[0])
|
self.init_shadertype(shadertypes[0])
|
||||||
|
|
||||||
|
@ -171,28 +171,28 @@ class shader_manager(object):
|
||||||
except GLError:
|
except GLError:
|
||||||
p = self.shaderlib[shader]
|
p = self.shaderlib[shader]
|
||||||
v, f = self.shaderprograms[shader]
|
v, f = self.shaderprograms[shader]
|
||||||
print "Shader failed to execute: %s" % (shader,)
|
print("Shader failed to execute: %s" % (shader,))
|
||||||
print "Vertex shader log:"
|
print("Vertex shader log:")
|
||||||
lenarr = GLintArray.zeros(1)
|
lenarr = GLintArray.zeros(1)
|
||||||
glGetShaderiv(v, GL_INFO_LOG_LENGTH, lenarr)
|
glGetShaderiv(v, GL_INFO_LOG_LENGTH, lenarr)
|
||||||
infoarr = GLcharArray.zeros(lenarr[0])
|
infoarr = GLcharArray.zeros(lenarr[0])
|
||||||
outsize = GLsizeiArray.zeros(1)
|
outsize = GLsizeiArray.zeros(1)
|
||||||
glGetShaderInfoLog(v, lenarr[0], outsize, infoarr)
|
glGetShaderInfoLog(v, lenarr[0], outsize, infoarr)
|
||||||
print ''.join([chr(x) for x in infoarr[:outsize[0]]])
|
print(''.join([chr(x) for x in infoarr[:outsize[0]]]))
|
||||||
print "Fragment shader log:"
|
print("Fragment shader log:")
|
||||||
lenarr = GLintArray.zeros(1)
|
lenarr = GLintArray.zeros(1)
|
||||||
glGetShaderiv(f, GL_INFO_LOG_LENGTH, lenarr)
|
glGetShaderiv(f, GL_INFO_LOG_LENGTH, lenarr)
|
||||||
infoarr = GLcharArray.zeros(lenarr[0])
|
infoarr = GLcharArray.zeros(lenarr[0])
|
||||||
outsize = GLsizeiArray.zeros(1)
|
outsize = GLsizeiArray.zeros(1)
|
||||||
glGetShaderInfoLog(f, lenarr[0], outsize, infoarr)
|
glGetShaderInfoLog(f, lenarr[0], outsize, infoarr)
|
||||||
print ''.join([chr(x) for x in infoarr[:outsize[0]]])
|
print(''.join([chr(x) for x in infoarr[:outsize[0]]]))
|
||||||
print "Program info log:"
|
print("Program info log:")
|
||||||
lenarr = GLintArray.zeros(1)
|
lenarr = GLintArray.zeros(1)
|
||||||
glGetProgramiv(p, GL_INFO_LOG_LENGTH, lenarr)
|
glGetProgramiv(p, GL_INFO_LOG_LENGTH, lenarr)
|
||||||
infoarr = GLcharArray.zeros(lenarr[0])
|
infoarr = GLcharArray.zeros(lenarr[0])
|
||||||
outsize = GLsizeiArray.zeros(1)
|
outsize = GLsizeiArray.zeros(1)
|
||||||
glGetProgramInfoLog(p, lenarr[0], outsize, infoarr)
|
glGetProgramInfoLog(p, lenarr[0], outsize, infoarr)
|
||||||
print ''.join([chr(x) for x in infoarr[:outsize[0]]])
|
print(''.join([chr(x) for x in infoarr[:outsize[0]]]))
|
||||||
glDeleteShader(v)
|
glDeleteShader(v)
|
||||||
glDeleteShader(f)
|
glDeleteShader(f)
|
||||||
glDeleteProgram(p)
|
glDeleteProgram(p)
|
||||||
|
@ -215,5 +215,6 @@ class shader_manager(object):
|
||||||
def init():
|
def init():
|
||||||
global mgr
|
global mgr
|
||||||
mgr = shader_manager()
|
mgr = shader_manager()
|
||||||
|
print("initiated shader mgr: %s" % (mgr,))
|
||||||
|
|
||||||
mgr = None
|
mgr = None
|
||||||
|
|
|
@ -20,9 +20,9 @@ else:
|
||||||
ffile = fmod.match_font(fontname)
|
ffile = fmod.match_font(fontname)
|
||||||
|
|
||||||
if not ffile:
|
if not ffile:
|
||||||
print "Unable to find font... here is a list of fonts:\n"
|
print("Unable to find font... here is a list of fonts:\n")
|
||||||
for x in sorted(fmod.get_fonts()):
|
for x in sorted(fmod.get_fonts()):
|
||||||
print x
|
print(x)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
fontsize = int(fontsize)
|
fontsize = int(fontsize)
|
||||||
|
@ -36,7 +36,7 @@ images = []
|
||||||
imsizes = []
|
imsizes = []
|
||||||
maxwidth = 0
|
maxwidth = 0
|
||||||
maxheight = 0
|
maxheight = 0
|
||||||
for char in xrange(start, end):
|
for char in range(start, end):
|
||||||
letter = chr(char)
|
letter = chr(char)
|
||||||
sz = f.size(letter)
|
sz = f.size(letter)
|
||||||
maxwidth = max(maxwidth, sz[0])
|
maxwidth = max(maxwidth, sz[0])
|
||||||
|
@ -45,30 +45,30 @@ for char in xrange(start, end):
|
||||||
images.append(im)
|
images.append(im)
|
||||||
imsizes.append(sz)
|
imsizes.append(sz)
|
||||||
|
|
||||||
print len(images)
|
print(len(images))
|
||||||
maxwidth += 1
|
maxwidth += 1
|
||||||
maxheight += 1
|
maxheight += 1
|
||||||
|
|
||||||
ratio = float(maxwidth) / float(maxheight)
|
ratio = float(maxwidth) / float(maxheight)
|
||||||
print "Ratio %s" % (ratio,)
|
print("Ratio %s" % (ratio,))
|
||||||
reqwidth = maxwidth * len(images)
|
reqwidth = maxwidth * len(images)
|
||||||
|
|
||||||
ratioheight = int(math.ceil(math.sqrt(len(images) * ratio)))
|
ratioheight = int(math.ceil(math.sqrt(len(images) * ratio)))
|
||||||
ratiowidth = int(math.ceil(len(images) / math.sqrt(len(images) * ratio)))
|
ratiowidth = int(math.ceil(len(images) / math.sqrt(len(images) * ratio)))
|
||||||
|
|
||||||
print [ratioheight, ratiowidth]
|
print([ratioheight, ratiowidth])
|
||||||
|
|
||||||
reqwidth = maxwidth * ratiowidth
|
reqwidth = maxwidth * ratiowidth
|
||||||
reqheight = maxheight * ratioheight
|
reqheight = maxheight * ratioheight
|
||||||
|
|
||||||
print [reqheight, reqwidth]
|
print([reqheight, reqwidth])
|
||||||
|
|
||||||
texsize = 16
|
texsize = 16
|
||||||
|
|
||||||
while texsize < reqheight or texsize < reqwidth:
|
while texsize < reqheight or texsize < reqwidth:
|
||||||
texsize *= 2
|
texsize *= 2
|
||||||
|
|
||||||
print texsize
|
print(texsize)
|
||||||
|
|
||||||
tex = pygame.Surface((texsize, texsize), pygame.SRCALPHA, 32)
|
tex = pygame.Surface((texsize, texsize), pygame.SRCALPHA, 32)
|
||||||
tex.fill((0, 0, 0, 0))
|
tex.fill((0, 0, 0, 0))
|
||||||
|
|
3
video.py
|
@ -18,7 +18,8 @@ def enable_vsync():
|
||||||
|
|
||||||
def skipping_next_frame():
|
def skipping_next_frame():
|
||||||
return False
|
return False
|
||||||
def set_res((width_in, height_in)):
|
def set_res(xxx_todo_changeme):
|
||||||
|
(width_in, height_in) = xxx_todo_changeme
|
||||||
global height, width, hwnd
|
global height, width, hwnd
|
||||||
|
|
||||||
load_window_pos()
|
load_window_pos()
|
||||||
|
|