1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 from distutils.core import setup
25 import sys, SceneFactory, Version, glob, os
26
27 try:
28 import py2exe
29 except ImportError:
30 pass
31
32 options = {
33 "py2exe": {
34 "dist_dir": "../dist",
35 "includes": SceneFactory.scenes,
36 "excludes": [
37 "glew.gl.apple",
38 "glew.gl.ati",
39 "glew.gl.atix",
40 "glew.gl.hp",
41 "glew.gl.ibm",
42 "glew.gl.ingr",
43 "glew.gl.intel",
44 "glew.gl.ktx",
45 "glew.gl.mesa",
46 "glew.gl.oml",
47 "glew.gl.pgi",
48 "glew.gl.rend",
49 "glew.gl.s3",
50 "glew.gl.sgi",
51 "glew.gl.sgis",
52 "glew.gl.sgix",
53 "glew.gl.sun",
54 "glew.gl.sunx",
55 "glew.gl.threedfx",
56 "glew.gl.win",
57 "ode",
58 "_ssl",
59 "bz2",
60 "email",
61 "calendar",
62 "bisect",
63 "difflib",
64 "doctest",
65 "ftplib",
66 "getpass",
67 "gopherlib",
68 "heapq",
69 "macpath",
70 "macurl2path",
71 "GimpGradientFile",
72 "GimpPaletteFile",
73 "PaletteFile",
74 "macosx",
75 "matplotlib"
76 ],
77 "optimize": 2,
78 }
79 }
80
81 dataFiles = [
82 "default.ttf",
83 "title.ttf",
84 "international.ttf",
85 "keyboard.svg",
86 "cassette.svg",
87 "editor.svg",
88 "key.dae",
89 "note.dae",
90 "cassette.dae",
91 "label.dae",
92 "library.dae",
93 "library_label.dae",
94 "crunch1.ogg",
95 "crunch2.ogg",
96 "crunch3.ogg",
97 "out.ogg",
98 "start.ogg",
99 "in.ogg",
100 "star1.svg",
101 "star2.svg",
102 "glow.svg",
103 "ball1.svg",
104 "ball2.svg",
105 "left.svg",
106 "right.svg",
107 "fiba1.ogg",
108 "fiba2.ogg",
109 "fiba3.ogg",
110 "fiba4.ogg",
111 "fiba5.ogg",
112 "fiba6.ogg",
113 "neck.svg",
114 "pose.svg",
115 "logo.svg",
116 "menu.ogg",
117 "2x.svg",
118 "3x.svg",
119 "4x.svg",
120 "perfect1.ogg",
121 "perfect2.ogg",
122 "perfect3.ogg",
123 "myhero.ogg",
124 "jurgen1.ogg",
125 "jurgen2.ogg",
126 "jurgen3.ogg",
127 "jurgen4.ogg",
128 "jurgen5.ogg",
129 "icon.png",
130 "ghmidimap.txt",
131 "stage_background.svg",
132 "stage_audience1.svg",
133 "stage_audience2.svg",
134 "stage_drums.svg",
135 "stage_bassdrum.svg",
136 "stage_light.svg",
137 "stage_lights1.svg",
138 "stage_lights2.svg",
139 "stage_speakers.svg",
140 "stage_speaker_cones.svg",
141 "stage.ini",
142 "loading.svg",
143 ]
144
145 chillyModFiles = [
146 "mods/Chilly/theme.ini",
147 "mods/Chilly/flame1.svg",
148 "mods/Chilly/flame2.svg",
149 "mods/Chilly/logo.svg",
150 "mods/Chilly/neck.svg"
151 ]
152
153 lightModFiles = [
154 "mods/LightGraphics/stage.ini",
155 "mods/LightGraphics/2x.png",
156 "mods/LightGraphics/3x.png",
157 "mods/LightGraphics/4x.png",
158 "mods/LightGraphics/ball1.png",
159 "mods/LightGraphics/ball2.png",
160 "mods/LightGraphics/cassette.png",
161 "mods/LightGraphics/editor.png",
162 "mods/LightGraphics/flame1.png",
163 "mods/LightGraphics/flame2.png",
164 "mods/LightGraphics/glow.png",
165 "mods/LightGraphics/keyboard.png",
166 "mods/LightGraphics/left.png",
167 "mods/LightGraphics/light.png",
168 "mods/LightGraphics/loading.png",
169 "mods/LightGraphics/logo.png",
170 "mods/LightGraphics/neck.png",
171 "mods/LightGraphics/pose.png",
172 "mods/LightGraphics/right.png",
173 "mods/LightGraphics/star1.png",
174 "mods/LightGraphics/star2.png",
175 "mods/LightGraphics/star.png",
176 "mods/LightGraphics/2x.svg",
177 "mods/LightGraphics/3x.svg",
178 "mods/LightGraphics/4x.svg",
179 "mods/LightGraphics/ball1.svg",
180 "mods/LightGraphics/ball2.svg",
181 "mods/LightGraphics/cassette.svg",
182 "mods/LightGraphics/editor.svg",
183 "mods/LightGraphics/flame1.svg",
184 "mods/LightGraphics/flame2.svg",
185 "mods/LightGraphics/glow.svg",
186 "mods/LightGraphics/keyboard.svg",
187 "mods/LightGraphics/left.svg",
188 "mods/LightGraphics/light.svg",
189 "mods/LightGraphics/loading.svg",
190 "mods/LightGraphics/logo.svg",
191 "mods/LightGraphics/neck.svg",
192 "mods/LightGraphics/pose.svg",
193 "mods/LightGraphics/right.svg",
194 "mods/LightGraphics/star1.svg",
195 "mods/LightGraphics/star2.svg",
196 "mods/LightGraphics/star.svg"
197 ]
198
199 dataFiles = ["../data/" + f for f in dataFiles]
200 chillyModFiles = ["../data/" + f for f in chillyModFiles]
201 lightModFiles = ["../data/" + f for f in lightModFiles]
202
204 return ["../data/songs/%s/%s" % (song, f) for f in ["guitar.ogg", "notes.mid", "song.ini", "song.ogg"] + extra]
205
206 dataFiles = [
207 (".", ["../readme.txt", "../copying.txt"]),
208 ("data", dataFiles),
209 ("data/songs/defy", songFiles("defy", ["label.png"])),
210 ("data/songs/bangbang", songFiles("bangbang", ["label.png"])),
211 ("data/songs/twibmpg", songFiles("twibmpg", ["label.png"])),
212 ("data/songs/tutorial", songFiles("tutorial", ["esc.svg", "keyboard.svg", "script.txt", "pose.svg"])),
213 ("data/mods/Chilly", chillyModFiles),
214 ("data/mods/LightGraphics", lightModFiles),
215 ("data/translations", glob.glob("../data/translations/*.mo")),
216 ]
217
218 if os.name == "nt":
219 setup(version = Version.version(),
220 description = "Rockin' it Oldskool!",
221 name = "Frets on Fire",
222 url = "http://www.unrealvoodoo.org",
223 windows = [
224 {
225 "script": "FretsOnFire.py",
226 "icon_resources": [(1, "../data/icon.ico")]
227 }
228 ],
229 zipfile = "data/library.zip",
230 data_files = dataFiles,
231 options = options)
232 else:
233 setup(version = Version.version(),
234 description = "Rockin' it Oldskool!",
235 name = "Frets on Fire",
236 url = "http://www.unrealvoodoo.org",
237 data_files = dataFiles,
238 options = options)
239