Files
@ 342f7d1c7561
Branch filter:
Location: light9/light8/sub_analyzer.py
342f7d1c7561
3.7 KiB
text/x-python
The FlyingFader will accept keyboard values and fade to them over 1.5
The FlyingFader will accept keyboard values and fade to them over 1.5
seconds. Combinations of control and alt change that speed. RMB
also creates a fade and LMB will cancel them. Colors are pretty
and informative. Fades can be created manually with the newfade()
function.
The FlyingFader will accept keyboard values and fade to them over 1.5
seconds. Combinations of control and alt change that speed. RMB
also creates a fade and LMB will cancel them. Colors are pretty
and informative. Fades can be created manually with the newfade()
function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | #!/usr/bin/python
from Subs import *
from Patch import *
from types import TupleType
from Config import patch, subs
import re
import Patch
Patch.reload_data(0)
subusage = {}
# colors = 'ROGBVndcihs'
colors = 'ndcihs'
color_chart = {
'1-01' : 'ROYd', # broadway (morning - afternoon)
'1-02' : 'i', # int. mission
'1-03' : 'R', # phone booth
'1-04' : 'RBVh', # hotbox
'1-05' : 'RBd', # off broadway
'1-06' : 'ROYd', # ext. mission
'1-07' : 'ROYn', # gambler intro, off broadway
'1-08' : 'ROBIVc', # havana, clubs
'1-09' : 'ROYBIVc', # havana, outside, night
'1-10' : 'BVn', # ext. mission, night (4am)
'2-01' : 'RBIVh', # hotbox
'2-02' : 'RBn', # more can i wish you
'2-03' : 'GBs', # sewer (crap game)
'2-04' : 'Bn', # sue me
'2-05' : 'i', # int. mission
'2-06' : '', # marry
'2-07' : 'd', # broadway finale
}
scene_names = {
'1-01' : 'broadway (morning to afternoon)',
'1-02' : 'int. mission',
'1-03' : 'phone booth',
'1-04' : 'hotbox',
'1-05' : 'guys and dolls (off broadway)',
'1-06' : 'ext. mission, lunch time',
'1-07' : 'gambler intro, off broadway',
'1-08' : 'havana, clubs',
'1-09' : 'havana, outside, night',
'1-10' : 'ext. mission, night (4am)',
'2-01' : 'hotbox',
'2-02' : 'more can i wish you',
'2-03' : 'sewer (crap game)',
'2-04' : 'sue me',
'2-05' : 'rock the boat (int. mission)',
'2-06' : 'marry (trav)',
'2-07' : 'finale (broadway)',
}
sub_to_scene = {}
# blacklist is a list of *prefixes* to light names that won't be shown
blacklist = 'god upfill red blue cyc oran sidefill'.split()
blacklist.extend(['side l','side r'])
for subname, levdict in subs.items():
if type(subname) == TupleType:
subname = subname[0]
oldname = subname
subname = re.sub(r'\*(\d-\d+)-.*', r'\1', subname)
if oldname == subname: continue
sub_to_scene[oldname] = subname
subname = oldname # restore 'em. restore 'em good.
if not levdict:
print "Warning: %s is useless (empty sub)." % subname
else:
for ch, lev in levdict.items():
if lev:
ch = resolve_name(ch)
subusage.setdefault(ch, [])
subusage[ch].append((lev, subname))
def twist(l):
return [(b,a) for a,b in l]
def format_usage(ch, usage):
if max([ch.startswith(pre) for pre in blacklist]):
return
usage=twist(usage)
usage.sort()
# usage.reverse()
usage=twist(usage)
print "======= %s ======= (%d uses)" % (ch, len(usage))
if 1:
use_str = ''
for lev, sub in usage:
if lev>30:
if sub_to_scene[sub] in color_chart:
subcolors = color_chart[sub_to_scene[sub]]
col_str = ''
for c in colors:
if c in subcolors: col_str += c
else: col_str += ' '
print col_str,
else:
print ' ' * len(colors),
scenename = scene_names.get(sub_to_scene[sub], '')
levbar="*"*(lev//5)
print ' %3d %-20s\t%-30s %s' % (lev, levbar,sub, scenename)
else:
use_str = '\n '.join(["%d\t%s" % (lev, sub) for lev, sub in usage])
print ' ' + use_str
subitems = subusage.items()
subitems.sort()
for ch, usage in subitems:
if 0:
usedict = {}
for lev, subname in usage: # remove duplicates
usedict[subname] = max(lev, usedict.get(subname, 0))
newusage = [(lev, sub) for sub, lev in usedict.items()]
format_usage(ch, newusage)
else:
format_usage(ch, usage)
|