summaryrefslogtreecommitdiff
path: root/rbutil
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2007-05-16 19:12:22 +0000
committerDominik Wenger <domonoky@googlemail.com>2007-05-16 19:12:22 +0000
commit4544c437948e2f4256b6572385ad7043386b9e1b (patch)
tree1537c767468b963da031931fadf7860368c0f6c0 /rbutil
parent8c2bcf1bff051a4c7ccd418aadfd2eca19f5ac66 (diff)
downloadrockbox-4544c437948e2f4256b6572385ad7043386b9e1b.tar.gz
rockbox-4544c437948e2f4256b6572385ad7043386b9e1b.zip
rbutil can now install the Freedoom wads. Thanks to M.Arnold for the pic on the doom install button
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13397 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil')
-rw-r--r--rbutil/Makefile10
-rw-r--r--rbutil/credits.h2
-rw-r--r--rbutil/doom_3d.xpm1374
-rw-r--r--rbutil/install_dialogs.cpp5
-rw-r--r--rbutil/rbutil-rc.rc8
-rw-r--r--rbutil/rbutil.h2
-rw-r--r--rbutil/rbutil.ini1
-rw-r--r--rbutil/rbutilApp.cpp3
-rw-r--r--rbutil/rbutilCtrls.cpp7
-rw-r--r--rbutil/rbutilFrm.cpp86
-rw-r--r--rbutil/rbutilFrm.h19
11 files changed, 1489 insertions, 28 deletions
diff --git a/rbutil/Makefile b/rbutil/Makefile
index 208a149e83..ce7cdf20f8 100644
--- a/rbutil/Makefile
+++ b/rbutil/Makefile
@@ -9,7 +9,7 @@
9 9
10# Unix-style Makefile for rbutil 10# Unix-style Makefile for rbutil
11 11
12CXX=$(shell $(PREFIX)wx-config --cxx) 12CXX=$(shell $(PREFIX)wx-config --version=2.8 --cxx)
13INC = 13INC =
14CFLAGS = -Wall -Wundef -DRBUTIL 14CFLAGS = -Wall -Wundef -DRBUTIL
15OBJS=rbutil.o rbutilApp.o rbutilFrm.o rbutilCtrls.o install_dialogs.o bootloaders.o installlog.o ipodpatcher/ipodpatcher.o ipodpatcher/ipodio-posix.o sansapatcher/sansapatcher.o sansapatcher/sansaio-posix.o irivertools.o md5sum.o 15OBJS=rbutil.o rbutilApp.o rbutilFrm.o rbutilCtrls.o install_dialogs.o bootloaders.o installlog.o ipodpatcher/ipodpatcher.o ipodpatcher/ipodio-posix.o sansapatcher/sansapatcher.o sansapatcher/sansaio-posix.o irivertools.o md5sum.o
@@ -32,16 +32,16 @@ endif
32all: rbutil$(EXT) 32all: rbutil$(EXT)
33 33
34.cpp.o : 34.cpp.o :
35 $(CXX) $(CFLAGS) $(INC) -c `$(PREFIX)wx-config --cxxflags` -o $@ $< 35 $(CXX) $(CFLAGS) $(INC) -c `$(PREFIX)wx-config --version=2.8 --cxxflags` -o $@ $<
36 36
37.c.o : 37.c.o :
38 $(CC) $(CFLAGS) $(INC) -c `$(PREFIX)wx-config --cxxflags` -o $@ $< 38 $(CC) $(CFLAGS) $(INC) -c `$(PREFIX)wx-config --version=2.8 --cxxflags` -o $@ $<
39 39
40rbutil-rc.o: rbutil-rc.rc 40rbutil-rc.o: rbutil-rc.rc
41 $(WINDRES) `$(PREFIX)wx-config --cxxflags` -O coff -F pe-i386 -o $@ $< 41 $(WINDRES) `$(PREFIX)wx-config --version=2.8 --cxxflags` -O coff -F pe-i386 -o $@ $<
42 42
43rbutil$(EXT): $(OBJS) 43rbutil$(EXT): $(OBJS)
44 $(CXX) -o $@ $(OBJS) `$(PREFIX)wx-config --libs` 44 $(CXX) -o $@ $(OBJS) `$(PREFIX)wx-config --version=2.8 --libs`
45 45
46.PHONY: clean 46.PHONY: clean
47clean: 47clean:
diff --git a/rbutil/credits.h b/rbutil/credits.h
index b3ac0b9f0f..5a948f7cf6 100644
--- a/rbutil/credits.h
+++ b/rbutil/credits.h
@@ -22,7 +22,7 @@
22#define CREDITS_H_INCLUDED 22#define CREDITS_H_INCLUDED
23 23
24#define RBUTIL_FULLNAME "The Rockbox Utility" 24#define RBUTIL_FULLNAME "The Rockbox Utility"
25#define RBUTIL_VERSION "Version 0.3.2.2" 25#define RBUTIL_VERSION "Version 0.3.2.3"
26 26
27static const wxString rbutil_developers[] = { 27static const wxString rbutil_developers[] = {
28 wxT("Christi Alice Scarborough"), 28 wxT("Christi Alice Scarborough"),
diff --git a/rbutil/doom_3d.xpm b/rbutil/doom_3d.xpm
new file mode 100644
index 0000000000..cbd0f2c003
--- /dev/null
+++ b/rbutil/doom_3d.xpm
@@ -0,0 +1,1374 @@
1/* XPM */
2static char * doom_3d_xpm[] = {
3"56 46 1325 2",
4" c Gray100",
5". c #bebabe",
6"X c #bec3be",
7"o c #000011",
8"O c #aeaaae",
9"+ c #9e9a9e",
10"@ c #b8b7c6",
11"# c #5f5a67",
12"$ c #2b4550",
13"% c #304755",
14"& c #2f4653",
15"* c #2f4554",
16"= c #2d4553",
17"- c #38465b",
18"; c #807b9e",
19": c #b8b9c1",
20"> c #c2bec6",
21", c #9693a0",
22"< c #304555",
23"1 c #314757",
24"2 c #314857",
25"3 c #324856",
26"4 c #324755",
27"5 c #334857",
28"6 c #304855",
29"7 c #3c485e",
30"8 c #8c8f96",
31"9 c #9492a2",
32"0 c #3d4a5f",
33"q c #2e4750",
34"w c #2f4752",
35"e c #2f4750",
36"r c #2f474f",
37"t c #304652",
38"y c #2f4650",
39"u c #304751",
40"i c #8f9297",
41"p c #aaa8b1",
42"a c #687396",
43"s c #8a6784",
44"d c #38444f",
45"f c #2c434d",
46"g c #2e444e",
47"h c #293f4b",
48"j c #938b94",
49"k c #b2b0b3",
50"l c #aea4a6",
51"z c #534a5a",
52"x c #2d454d",
53"c c #33464e",
54"v c #2f444d",
55"b c #4f4b53",
56"n c #b4a5b3",
57"m c #c5bab3",
58"M c #9b4c4f",
59"N c #0b1b2e",
60"B c #161f30",
61"V c #141e31",
62"C c #141e2e",
63"Z c #16212e",
64"A c #131f2f",
65"S c #151f30",
66"D c #131e2f",
67"F c #2c324b",
68"G c #ab7379",
69"H c #c7b8b6",
70"J c #a69197",
71"K c #403d4d",
72"L c #132335",
73"P c #162438",
74"I c #172539",
75"U c #182537",
76"Y c #1a2636",
77"T c #192539",
78"R c #1a273a",
79"E c #162437",
80"W c #393142",
81"Q c #b47d75",
82"! c #b37670",
83"~ c #453a4c",
84"^ c #152332",
85"/ c #1a2633",
86"( c #192534",
87") c #182330",
88"_ c #18252d",
89"` c #192531",
90"' c #192532",
91"] c #182530",
92"[ c #27313a",
93"{ c #94616c",
94"} c #5e3f48",
95"| c #b94f48",
96" . c #2b262f",
97".. c #152531",
98"X. c #152431",
99"o. c #4f3a48",
100"O. c #8c9b98",
101"+. c #767576",
102"@. c #2d2939",
103"#. c #1b2838",
104"$. c #1d2838",
105"%. c #132637",
106"&. c #6d3f43",
107"*. c #ca918d",
108"=. c #c8b3b3",
109"-. c #a95453",
110";. c #142838",
111":. c #1e2c3a",
112">. c #18283b",
113",. c #162838",
114"<. c #182937",
115"1. c #152838",
116"2. c #1d2b3a",
117"3. c #1d2c3b",
118"4. c #282d37",
119"5. c #cc553f",
120"6. c #834b46",
121"7. c #aa5d44",
122"8. c #38323a",
123"9. c #1b2d3d",
124"0. c #1d2d3d",
125"q. c #192b3d",
126"w. c #182c3c",
127"e. c #1a2c3b",
128"r. c #1a2c3d",
129"t. c #202e3d",
130"y. c #1e2d3d",
131"u. c #44333c",
132"i. c #ac523f",
133"p. c #b94e40",
134"a. c #4f3339",
135"s. c #1e2e3c",
136"d. c #222e3b",
137"f. c #1c2d3b",
138"g. c #192d37",
139"h. c #192f38",
140"j. c #1e2c39",
141"k. c #1e2d38",
142"l. c #292d37",
143"z. c #9f3b38",
144"x. c #6b392d",
145"c. c #c15339",
146"v. c #382e37",
147"b. c #1d2e37",
148"n. c #202d38",
149"m. c #1f303a",
150"M. c #332e3b",
151"N. c #6b6065",
152"B. c #655659",
153"V. c #2c2f3b",
154"C. c #23303d",
155"Z. c #243240",
156"A. c #1a303d",
157"S. c #774648",
158"D. c #d79f9a",
159"F. c #ab5554",
160"G. c #1a2c3a",
161"H. c #20303c",
162"J. c #32363d",
163"K. c #533d3b",
164"L. c #563f3c",
165"P. c #49393b",
166"I. c #272f3a",
167"U. c #1f2f3b",
168"Y. c #2f333b",
169"T. c #d55a3c",
170"R. c #803c3a",
171"E. c #b25d3d",
172"W. c #403a3e",
173"Q. c #1e303c",
174"!. c #453a3d",
175"~. c #594142",
176"^. c #5b4042",
177"/. c #4a3b3f",
178"(. c #26303f",
179"). c #222f3d",
180"_. c #4b393d",
181"`. c #af583d",
182"'. c #bf543d",
183"]. c #583a3c",
184"[. c #20313c",
185"{. c #24313c",
186"}. c #3f363a",
187"|. c #5d3336",
188" X c #5d3137",
189".X c #4c3336",
190"XX c #243237",
191"oX c #203137",
192"OX c #2d3037",
193"+X c #aa4137",
194"@X c #6e3d2d",
195"#X c #c55635",
196"$X c #3c3238",
197"%X c #1e3138",
198"&X c #223039",
199"*X c #20323a",
200"=X c #2d313c",
201"-X c #894341",
202";X c #7c4b41",
203":X c #2c353f",
204">X c #26353f",
205",X c #263741",
206"<X c #1d333f",
207"1X c #784947",
208"2X c #cc958e",
209"3X c #baa5a6",
210"4X c #ac5855",
211"5X c #1e2f3a",
212"6X c #23313f",
213"7X c #82503e",
214"8X c #a15232",
215"9X c #7f4530",
216"0X c #a34f38",
217"qX c #433a3b",
218"wX c #1f313d",
219"eX c #32373c",
220"rX c #d55e40",
221"tX c #874340",
222"yX c #b66340",
223"uX c #423e40",
224"iX c #22323f",
225"pX c #2b333d",
226"aX c #ad573d",
227"sX c #8d4931",
228"dX c #9d4a38",
229"fX c #c9603e",
230"gX c #2c3441",
231"hX c #25323f",
232"jX c #4e3e40",
233"kX c #b35e40",
234"lX c #c45b40",
235"zX c #5e413e",
236"xX c #26343e",
237"cX c #25333c",
238"vX c #a14d3c",
239"bX c #b73f32",
240"nX c #8e322f",
241"mX c #a24534",
242"MX c #343936",
243"NX c #223235",
244"BX c #2c3236",
245"VX c #ac4435",
246"CX c #77402f",
247"ZX c #ca5a34",
248"AX c #3f3336",
249"SX c #203437",
250"DX c #233338",
251"FX c #23363a",
252"GX c #28333b",
253"HX c #c4423f",
254"JX c #9d4a40",
255"KX c #243741",
256"LX c #283741",
257"PX c #283941",
258"IX c #203740",
259"UX c #784a44",
260"YX c #d79f93",
261"TX c #b15a53",
262"RX c #20303a",
263"EX c #26333f",
264"WX c #92543d",
265"QX c #6b4128",
266"!X c #232822",
267"~X c #884930",
268"^X c #4b3d3b",
269"/X c #23313b",
270"(X c #32393c",
271")X c #d5613c",
272"_X c #89433b",
273"`X c #b86740",
274"'X c #443d3d",
275"]X c #26323d",
276"[X c #35353f",
277"{X c #af523b",
278"}X c #30301e",
279"|X c #4c3225",
280" o c #cd623b",
281".o c #2f3540",
282"Xo c #28323f",
283"oo c #4e3f40",
284"Oo c #b86241",
285"+o c #c96041",
286"@o c #5f423d",
287"#o c #28333f",
288"$o c #26333d",
289"%o c #ad5a3c",
290"&o c #76472e",
291"*o c #1f2e28",
292"=o c #8d4a33",
293"-o c #3a3a36",
294";o c #243133",
295":o c #2e3235",
296">o c #ad4635",
297",o c #7c412b",
298"<o c #ce5e33",
299"1o c #423536",
300"2o c #223536",
301"3o c #243538",
302"4o c #253738",
303"5o c #28383b",
304"6o c #9d4341",
305"7o c #784540",
306"8o c #1e3841",
307"9o c #283a41",
308"0o c #293c43",
309"qo c #223942",
310"wo c #7c4d43",
311"eo c #cc9587",
312"ro c #baa5a5",
313"to c #b75e54",
314"yo c #27363b",
315"uo c #2b3940",
316"io c #93563f",
317"po c #77422b",
318"ao c #282e25",
319"so c #874b32",
320"do c #4c3f3b",
321"fo c #28333c",
322"go c #353b3c",
323"ho c #d7633d",
324"jo c #9c483a",
325"ko c #c06a40",
326"lo c #49413d",
327"zo c #28363f",
328"xo c #37383f",
329"co c #b7553c",
330"vo c #463322",
331"bo c #483627",
332"no c #cb653c",
333"mo c #333740",
334"Mo c #283540",
335"No c #524341",
336"Bo c #bc6841",
337"Vo c #cc6441",
338"Co c #624540",
339"Zo c #2d3841",
340"Ao c #2c3641",
341"So c #ad633f",
342"Do c #754c30",
343"Fo c #312e28",
344"Go c #a74f32",
345"Ho c #424136",
346"Jo c #2d3738",
347"Ko c #353535",
348"Lo c #ad4b35",
349"Po c #89442c",
350"Io c #da6333",
351"Uo c #483736",
352"Yo c #283736",
353"To c #283a37",
354"Ro c #293a38",
355"Eo c #2e3f3c",
356"Wo c #4d4341",
357"Qo c #44433f",
358"!o c #2b3f41",
359"~o c #2e4042",
360"^o c #2f4042",
361"/o c #263c43",
362"(o c #805244",
363")o c #d7a191",
364"_o c #c7b3b3",
365"`o c #ba6355",
366"'o c #30413d",
367"]o c #354341",
368"[o c #945a41",
369"{o c #81412c",
370"}o c #372e25",
371"|o c #8d4d31",
372" O c #55443c",
373".O c #313d3c",
374"XO c #43443b",
375"oO c #dc683f",
376"OO c #af553c",
377"+O c #cf7440",
378"@O c #4f453f",
379"#O c #2f393d",
380"$O c #393d3d",
381"%O c #bb563a",
382"&O c #6b3923",
383"*O c #623928",
384"=O c #cd683d",
385"-O c #373a40",
386";O c #2c3740",
387":O c #544642",
388">O c #c26d41",
389",O c #cf6942",
390"<O c #634841",
391"1O c #323b42",
392"2O c #b16b3f",
393"3O c #7a4f2f",
394"4O c #56302b",
395"5O c #ba5931",
396"6O c #4a4433",
397"7O c #353b38",
398"8O c #383836",
399"9O c #b05033",
400"0O c #9f482d",
401"qO c #e36833",
402"wO c #4f3a35",
403"eO c #2c3936",
404"rO c #493d37",
405"tO c #393d37",
406"yO c #32423c",
407"uO c #354442",
408"iO c #374540",
409"pO c #354241",
410"aO c #364243",
411"sO c #374343",
412"dO c #2d4043",
413"fO c #855845",
414"gO c #cc9b88",
415"hO c #baa7a5",
416"jO c #bd6c56",
417"kO c #36473d",
418"lO c #3b4943",
419"zO c #9b5f42",
420"xO c #9f462c",
421"cO c #503225",
422"vO c #955132",
423"bO c #5a473c",
424"nO c #42463d",
425"mO c #564a3c",
426"MO c #e26e40",
427"NO c #b25f3d",
428"BO c #cf7842",
429"VO c #534840",
430"CO c #384040",
431"ZO c #414541",
432"AO c #c25b3c",
433"SO c #7d3d23",
434"DO c #753e29",
435"FO c #d27040",
436"GO c #3d4441",
437"HO c #374140",
438"JO c #5f4e43",
439"KO c #d27742",
440"LO c #d56e43",
441"PO c #695044",
442"IO c #394443",
443"UO c #3a4342",
444"YO c #b87441",
445"TO c #87522e",
446"RO c #713329",
447"EO c #c06133",
448"WO c #4f4736",
449"QO c #3a3d36",
450"!O c #3b3b32",
451"~O c #b75231",
452"^O c #b64b2d",
453"/O c #e76934",
454"(O c #523931",
455")O c #2c3836",
456"_O c #804439",
457"`O c #614538",
458"'O c #30423c",
459"]O c #3b4640",
460"[O c #3c4842",
461"{O c #394843",
462"}O c #3a4842",
463"|O c #3a4843",
464" + c #314545",
465".+ c #875d45",
466"X+ c #cc9d87",
467"o+ c #c7b6b3",
468"O+ c #c07256",
469"++ c #3b4a43",
470"@+ c #414e49",
471"#+ c #9f6545",
472"$+ c #c5542d",
473"%+ c #743926",
474"&+ c #a25431",
475"*+ c #5d4d40",
476"=+ c #424133",
477"-+ c #5b412d",
478";+ c #e47b3c",
479":+ c #bd6532",
480">+ c #d47d42",
481",+ c #50442d",
482"<+ c #3d433c",
483"1+ c #454747",
484"2+ c #c6673c",
485"3+ c #953f22",
486"4+ c #7e452a",
487"5+ c #d27d43",
488"6+ c #4a5047",
489"7+ c #455046",
490"8+ c #6a5947",
491"9+ c #e17d44",
492"0+ c #de7544",
493"q+ c #735a47",
494"w+ c #425047",
495"e+ c #464e44",
496"r+ c #bc7a43",
497"t+ c #94542f",
498"y+ c #923628",
499"u+ c #d66c31",
500"i+ c #50543d",
501"p+ c #3d3f36",
502"a+ c #3a3328",
503"s+ c #c1552c",
504"d+ c #b8492a",
505"f+ c #ea6f2f",
506"g+ c #583828",
507"h+ c #29362d",
508"j+ c #9b4d37",
509"k+ c #8a543a",
510"l+ c #2f423d",
511"z+ c #3c4742",
512"x+ c #3e4942",
513"c+ c #3d4b45",
514"v+ c #3c4b44",
515"b+ c #3f4b43",
516"n+ c #344845",
517"m+ c #896147",
518"M+ c #cc9e88",
519"N+ c #baa9a5",
520"B+ c #c27657",
521"V+ c #3d5043",
522"C+ c #43544a",
523"Z+ c #a26e49",
524"A+ c #de612d",
525"S+ c #8a3d26",
526"D+ c #a85a30",
527"F+ c #5b503b",
528"G+ c #533f29",
529"H+ c #74442b",
530"J+ c #ea903a",
531"K+ c #e87030",
532"L+ c #e18942",
533"P+ c #5e442b",
534"I+ c #443924",
535"U+ c #414032",
536"Y+ c #c97739",
537"T+ c #a24024",
538"R+ c #984828",
539"E+ c #d78f47",
540"W+ c #50594b",
541"Q+ c #475348",
542"!+ c #6e634a",
543"~+ c #ed8948",
544"^+ c #e88b47",
545"/+ c #74674a",
546"(+ c #4f584a",
547")+ c #525a47",
548"_+ c #bd8445",
549"`+ c #a7582e",
550"'+ c #c64f28",
551"]+ c #e1852e",
552"[+ c #4f452c",
553"{+ c #483127",
554"}+ c #683328",
555"|+ c #cd5e29",
556" @ c #c65328",
557".@ c #ec7c2d",
558"X@ c #623a28",
559"o@ c #313228",
560"O@ c #a85a2d",
561"+@ c #ad6b39",
562"@@ c #38443d",
563"#@ c #434843",
564"$@ c #424a42",
565"%@ c #434d44",
566"&@ c #434d43",
567"*@ c #444e44",
568"=@ c #3c5046",
569"-@ c #8d6747",
570";@ c #cc9f88",
571":@ c #c7c0b3",
572">@ c #c37d56",
573",@ c #44574d",
574"<@ c #485b58",
575"1@ c #a67756",
576"2@ c #e8762f",
577"3@ c #a95927",
578"4@ c #b36932",
579"5@ c #824d2d",
580"6@ c #773d28",
581"7@ c #87492d",
582"8@ c #eda83e",
583"9@ c #eb7832",
584"0@ c #eb9c44",
585"q@ c #7c482e",
586"w@ c #643827",
587"e@ c #59402b",
588"r@ c #d28937",
589"t@ c #c25525",
590"y@ c #a55729",
591"u@ c #d7a749",
592"i@ c #55594c",
593"p@ c #495653",
594"a@ c #746d50",
595"s@ c #eb9d48",
596"d@ c #e89f47",
597"f@ c #78724e",
598"g@ c #565a4b",
599"h@ c #58614a",
600"j@ c #c09448",
601"k@ c #b9642e",
602"l@ c #cc6228",
603"z@ c #e3952d",
604"x@ c #654129",
605"c@ c #623229",
606"v@ c #733729",
607"b@ c #d0722c",
608"n@ c #e2652c",
609"m@ c #f68d2f",
610"M@ c #893d29",
611"N@ c #60322a",
612"B@ c #b36a2f",
613"V@ c #d48337",
614"C@ c #4d453a",
615"Z@ c #464e42",
616"A@ c #464d42",
617"S@ c #485346",
618"D@ c #465044",
619"F@ c #475245",
620"G@ c #445649",
621"H@ c #916c48",
622"J@ c #cca288",
623"K@ c #baada5",
624"L@ c #c38255",
625"P@ c #485d56",
626"I@ c #4c5b5f",
627"U@ c #a87d5a",
628"Y@ c #f79533",
629"T@ c #c37126",
630"R@ c #bd7431",
631"E@ c #97522f",
632"W@ c #7f3d2b",
633"Q@ c #8a4b2e",
634"!@ c #edb141",
635"~@ c #ec7f35",
636"^@ c #f2a947",
637"/@ c #904b2d",
638"(@ c #813928",
639")@ c #7c402c",
640"_@ c #dc9736",
641"`@ c #d86a25",
642"'@ c #b3622b",
643"]@ c #d9b24a",
644"[@ c #555f4e",
645"{@ c #4c5854",
646"}@ c #737350",
647"|@ c #edb049",
648" # c #eab047",
649".# c #7a764d",
650"X# c #575e4b",
651"o# c #566150",
652"O# c #c09f48",
653"+# c #d0812f",
654"@# c #dd7328",
655"## c #e49e2e",
656"$# c #7c432d",
657"%# c #84352b",
658"&# c #8e3d2b",
659"*# c #dd8d2d",
660"=# c #d9782b",
661"-# c #f6a82f",
662";# c #9b452d",
663":# c #7b312c",
664"># c #b7782f",
665",# c #ffa931",
666"<# c #7a4b2e",
667"1# c #474731",
668"2# c #474e3d",
669"3# c #4e5746",
670"4# c #6d5544",
671"5# c #605546",
672"6# c #455748",
673"7# c #97744a",
674"8# c #cca888",
675"9# c #bab0a5",
676"0# c #c58a54",
677"q# c #485b56",
678"w# c #4f5e5f",
679"e# c #ac8956",
680"r# c #ffa537",
681"t# c #d67727",
682"y# c #d57e31",
683"u# c #98552f",
684"i# c #7f3b2c",
685"p# c #934d2e",
686"a# c #f4cd43",
687"s# c #f6b14b",
688"d# c #a95a2f",
689"f# c #a14d29",
690"g# c #82482d",
691"h# c #daa138",
692"j# c #d46e28",
693"k# c #ca692e",
694"l# c #e0b94a",
695"z# c #53614d",
696"x# c #4c5a4b",
697"c# c #737a4c",
698"v# c #f3c349",
699"b# c #edc148",
700"n# c #7d7e4a",
701"m# c #575f4b",
702"M# c #545d48",
703"N# c #bfa247",
704"B# c #d39136",
705"V# c #e08228",
706"C# c #f0aa2e",
707"Z# c #a5532d",
708"A# c #9b432d",
709"S# c #a54d2c",
710"D# c #e9a42d",
711"F# c #ec902c",
712"G# c #f4b92f",
713"H# c #9d4d2c",
714"J# c #8a332d",
715"K# c #d2842e",
716"L# c #ffbc30",
717"P# c #a95a2c",
718"I# c #72442c",
719"U# c #5d4a2d",
720"Y# c #606348",
721"T# c #b88146",
722"R# c #766347",
723"E# c #49574a",
724"W# c #9c7b4b",
725"Q# c #ccac89",
726"!# c #bab2a5",
727"~# c #c99458",
728"^# c #53594f",
729"/# c #595946",
730"(# c #b68949",
731")# c #ffaa38",
732"_# c #d97b28",
733"`# c #cf8631",
734"'# c #9c5930",
735"]# c #813d2b",
736"[# c #a15530",
737"{# c #fadf47",
738"}# c #feb139",
739"|# c #ffc750",
740" $ c #c97b35",
741".$ c #b5682d",
742"X$ c #ab622e",
743"o$ c #e9ae37",
744"O$ c #ec9c2c",
745"+$ c #df8d31",
746"@$ c #e0b749",
747"#$ c #534c3f",
748"$$ c #4e5b45",
749"%$ c #76804e",
750"&$ c #f1c94c",
751"*$ c #ecc348",
752"=$ c #84874e",
753"-$ c #565b49",
754";$ c #55433a",
755":$ c #c2a347",
756">$ c #eda238",
757",$ c #ed8d2b",
758"<$ c #ffb72e",
759"1$ c #cc6e2e",
760"2$ c #b15b2e",
761"3$ c #b1602f",
762"4$ c #e1ab2e",
763"5$ c #ea922d",
764"6$ c #fdc72f",
765"7$ c #d4742e",
766"8$ c #b7522d",
767"9$ c #d4882f",
768"0$ c #f3bd31",
769"q$ c #c6722d",
770"w$ c #94442d",
771"e$ c #84472d",
772"r$ c #7f5235",
773"t$ c #ecaf44",
774"y$ c #7f6e49",
775"u$ c #565a4d",
776"i$ c #a2854e",
777"p$ c #ccb689",
778"a$ c #bab6a5",
779"s$ c #cfa358",
780"d$ c #594932",
781"f$ c #6d4928",
782"g$ c #c48f47",
783"h$ c #ffab37",
784"j$ c #b96c2e",
785"k$ c #c3943e",
786"l$ c #a7642f",
787"z$ c #a95f2c",
788"x$ c #d07d31",
789"c$ c #ffe748",
790"v$ c #fdb13b",
791"b$ c #ffd752",
792"n$ c #df8d39",
793"m$ c #cf762f",
794"M$ c #cc732f",
795"N$ c #f5bd42",
796"B$ c #d7993b",
797"V$ c #c27b30",
798"C$ c #e3b850",
799"Z$ c #714437",
800"A$ c #5b4535",
801"S$ c #757544",
802"D$ c #f0cb50",
803"F$ c #ecc448",
804"G$ c #877d4c",
805"H$ c #62453c",
806"J$ c #733830",
807"K$ c #cba246",
808"L$ c #d48f38",
809"P$ c #c4712f",
810"I$ c #fabf34",
811"U$ c #d97e31",
812"Y$ c #d98130",
813"T$ c #cb7a30",
814"R$ c #eab32f",
815"E$ c #eb982f",
816"W$ c #ffd732",
817"Q$ c #ffa32e",
818"!$ c #d36c30",
819"~$ c #d78f32",
820"^$ c #dca933",
821"/$ c #e2942e",
822"($ c #a94b2f",
823")$ c #c66e2e",
824"_$ c #f6ce40",
825"`$ c #8d7850",
826"'$ c #6c6d62",
827"]$ c #a68954",
828"[$ c #ccb88a",
829"{$ c #bab7a6",
830"}$ c #dcad4c",
831"|$ c #894627",
832" % c #8d4c2c",
833".% c #c99049",
834"X% c #f9b846",
835"o% c #d7aa4b",
836"O% c #d49a47",
837"+% c #bf6e2f",
838"@% c #bb6d2e",
839"#% c #f69b30",
840"$% c #ffec48",
841"%% c #fdae3a",
842"&% c #ffd754",
843"*% c #ffa139",
844"=% c #fc9431",
845"-% c #fd9931",
846";% c #ffbc46",
847":% c #eac65f",
848">% c #a77c46",
849",% c #e8b654",
850"<% c #ac5d36",
851"1% c #894b33",
852"2% c #a1733b",
853"3% c #eac952",
854"4% c #e7c44a",
855"5% c #c1823b",
856"6% c #ba6335",
857"7% c #bd6736",
858"8% c #ecb242",
859"9% c #a87e38",
860"0% c #c49b3b",
861"q% c #fbbb3b",
862"w% c #f39835",
863"e% c #f29935",
864"r% c #f49933",
865"t% c #ffc231",
866"y% c #ed9e30",
867"u% c #ffd933",
868"i% c #fea72e",
869"p% c #eb802f",
870"a% c #f9af35",
871"s% c #c38e32",
872"d% c #edb12e",
873"f% c #d66e30",
874"g% c #c55d2e",
875"h% c #e8a22e",
876"j% c #f7cd3b",
877"k% c #9c652d",
878"l% c #624d3b",
879"z% c #a58a4c",
880"x% c #ccbf8a",
881"c% c #bab7a7",
882"v% c #e4bc4f",
883"b% c #a34d28",
884"n% c #9d522f",
885"m% c #c9994c",
886"M% c #fdca56",
887"N% c #e2943d",
888"B% c #d37d32",
889"V% c #e08932",
890"C% c #f2982e",
891"Z% c #ffa732",
892"A% c #ffef48",
893"S% c #fcb33e",
894"D% c #ffdf54",
895"F% c #ffb03c",
896"G% c #ffa435",
897"H% c #ffab36",
898"J% c #ffa739",
899"K% c #fbaa40",
900"L% c #fbe063",
901"P% c #ffdd62",
902"I% c #e28839",
903"U% c #d67c37",
904"Y% c #eb973e",
905"T% c #f0cf54",
906"R% c #ebca49",
907"E% c #faa640",
908"W% c #e4883b",
909"Q% c #dc873a",
910"!% c #ffcf42",
911"~% c #fce33c",
912"^% c #ffba3b",
913"/% c #ffaa3a",
914"(% c #ffb03b",
915")% c #ffa938",
916"_% c #fea537",
917"`% c #ffc733",
918"'% c #eca333",
919"]% c #ffd736",
920"[% c #ffb130",
921"{% c #fc9732",
922"}% c #ffbf36",
923"|% c #c67f34",
924" & c #f0b52f",
925".& c #ef9430",
926"X& c #d76b2e",
927"o& c #dfab2e",
928"O& c #e7b53b",
929"+& c #b8752f",
930"@& c #8d4d29",
931"#& c #af8738",
932"$& c #c2b881",
933"%& c #e9c750",
934"&& c #ac582d",
935"*& c #b36832",
936"=& c #cc813b",
937"-& c #e18937",
938";& c #d87c31",
939":& c #e08235",
940">& c #e98f32",
941",& c #ffa230",
942"<& c #ffed46",
943"1& c #ffb13c",
944"2& c #ffea57",
945"3& c #ffbf3c",
946"4& c #ffa937",
947"5& c #ffaf38",
948"6& c #ffb13b",
949"7& c #ffa939",
950"8& c #ffb93d",
951"9& c #ffc249",
952"0& c #f6a338",
953"q& c #ffa43a",
954"w& c #ffd458",
955"e& c #f3c954",
956"r& c #efcc4d",
957"t& c #fec742",
958"y& c #ef943a",
959"u& c #f4a339",
960"i& c #ffbf41",
961"p& c #ffc33c",
962"a& c #ffb63c",
963"s& c #ffba3d",
964"d& c #ffba3a",
965"f& c #f9a538",
966"g& c #ffc33a",
967"h& c #ffdd3a",
968"j& c #cb7636",
969"k& c #ffd436",
970"l& c #ffb231",
971"z& c #ff9b32",
972"x& c #ffc135",
973"c& c #cb7d35",
974"v& c #f39a32",
975"b& c #f7a833",
976"n& c #f5992d",
977"m& c #e2a82d",
978"M& c #e3b03b",
979"N& c #b97a2f",
980"B& c #9c4f29",
981"V& c #cb9037",
982"C& c #ccc88b",
983"Z& c #fad550",
984"A& c #d47a30",
985"S& c #d78733",
986"D& c #ea9338",
987"F& c #ef9a35",
988"G& c #e79233",
989"H& c #faab33",
990"J& c #ffab30",
991"K& c #ffae33",
992"L& c #fff360",
993"P& c #ef8e44",
994"I& c #f5c45e",
995"U& c #ffe35a",
996"Y& c #ffb93c",
997"T& c #ffba3f",
998"R& c #ffc63d",
999"E& c #ffc03d",
1000"W& c #ffb63b",
1001"Q& c #fff15d",
1002"!& c #ffef68",
1003"~& c #e67a3d",
1004"^& c #f1904a",
1005"/& c #fff24e",
1006"(& c #ffd942",
1007")& c #ffb23a",
1008"_& c #ffaf43",
1009"`& c #ffc33d",
1010"'& c #ffbc3f",
1011"]& c #ffbd3f",
1012"[& c #ffbd3c",
1013"{& c #ffcd3d",
1014"}& c #ffea42",
1015"|& c #c5893c",
1016" * c #ab5a36",
1017".* c #ffe638",
1018"X* c #ffbf30",
1019"o* c #fc9932",
1020"O* c #ffc037",
1021"+* c #d48136",
1022"@* c #ec7b2f",
1023"#* c #ffca35",
1024"$* c #ffbd2e",
1025"%* c #dd912e",
1026"&* c #f2b63c",
1027"** c #b65429",
1028"=* c #d29738",
1029"-* c #c2bf81",
1030";* c #bab6a7",
1031":* c #feda54",
1032">* c #ec8932",
1033",* c #f99939",
1034"<* c #ffb23b",
1035"1* c #ffba37",
1036"2* c #ffb237",
1037"3* c #ffb937",
1038"4* c #ffb731",
1039"5* c #ffb637",
1040"6* c #ffe66e",
1041"7* c #fff281",
1042"8* c #fa9944",
1043"9* c #d3673b",
1044"0* c #efbc64",
1045"q* c #ffea5a",
1046"w* c #ffbd40",
1047"e* c #ffb63e",
1048"r* c #ffb841",
1049"t* c #ffc743",
1050"y* c #fff35a",
1051"u* c #ffe452",
1052"i* c #ffb039",
1053"p* c #cf6937",
1054"a* c #dd7137",
1055"s* c #fffe47",
1056"d* c #ffe940",
1057"f* c #ffba42",
1058"g* c #ffca3f",
1059"h* c #ffc240",
1060"j* c #ffbd41",
1061"k* c #ffdf43",
1062"l* c #ffdd45",
1063"z* c #eda262",
1064"x* c #ad5f55",
1065"c* c #dd7233",
1066"v* c #fbb038",
1067"b* c #ffdf3b",
1068"n* c #ffc938",
1069"m* c #ffd937",
1070"M* c #cd8437",
1071"N* c #c05d2e",
1072"B* c #ffd638",
1073"V* c #ffc62d",
1074"C* c #e07f2e",
1075"Z* c #ffc13b",
1076"A* c #e48530",
1077"S* c #bc562a",
1078"D* c #d39938",
1079"F* c #ccca8b",
1080"G* c #ffdd56",
1081"H* c #ffa638",
1082"J* c #ffad39",
1083"K* c #ffbd3a",
1084"L* c #ffc338",
1085"P* c #ffbd37",
1086"I* c #ffc435",
1087"U* c #ffc93c",
1088"Y* c #fff971",
1089"T* c #ffe86b",
1090"R* c #ffb03d",
1091"E* c #f58931",
1092"W* c #f26831",
1093"Q* c #c99080",
1094"!* c #f6c670",
1095"~* c #ffec58",
1096"^* c #ffc246",
1097"/* c #ffaf3c",
1098"(* c #ffc643",
1099")* c #fff656",
1100"_* c #ffcf44",
1101"`* c #fda135",
1102"'* c #f78935",
1103"]* c #dc8a65",
1104"[* c #ca876d",
1105"{* c #ff893b",
1106"}* c #ff9b38",
1107"|* c #ffd740",
1108" = c #fffd46",
1109".= c #ffd943",
1110"X= c #ffc943",
1111"o= c #fff945",
1112"O= c #ffcb41",
1113"+= c #d09f80",
1114"@= c #ab969b",
1115"#= c #b3a6a7",
1116"$= c #cb7054",
1117"%= c #f38535",
1118"&= c #ffab31",
1119"*= c #ffe144",
1120"== c #ffff48",
1121"-= c #c28235",
1122";= c #b0552d",
1123":= c #ffda3c",
1124">= c #edc32d",
1125",= c #de6e2c",
1126"<= c #ffc93a",
1127"1= c #e78d31",
1128"2= c #b25729",
1129"3= c #d69837",
1130"4= c #c2c081",
1131"5= c #ffdc59",
1132"6= c #ffac3a",
1133"7= c #ffbc3a",
1134"8= c #ffbf3b",
1135"9= c #ffc439",
1136"0= c #ffdc50",
1137"q= c #ffff7b",
1138"w= c #ffd959",
1139"e= c #ff9f32",
1140"r= c #d7722b",
1141"t= c #ea6d3a",
1142"y= c #c19180",
1143"u= c #afa9ad",
1144"i= c #cfb58e",
1145"p= c #ffe165",
1146"a= c #ffe156",
1147"s= c #fff75e",
1148"d= c #ffca45",
1149"f= c #ff9733",
1150"g= c #e7793e",
1151"h= c #d78a6f",
1152"j= c #d69086",
1153"k= c #c8623a",
1154"l= c #f08530",
1155"z= c #fab841",
1156"x= c #fff256",
1157"c= c #ffe04f",
1158"v= c #ffb546",
1159"b= c #cf8a7e",
1160"n= c #aea9ae",
1161"m= c #b99a95",
1162"M= c #e57636",
1163"N= c #f9902d",
1164"B= c #f5b047",
1165"V= c #c77d38",
1166"C= c #c3572c",
1167"Z= c #ffd336",
1168"A= c #ddb72e",
1169"S= c #e4682d",
1170"D= c #ffce3a",
1171"F= c #ffb332",
1172"G= c #dd732c",
1173"H= c #dc9b39",
1174"J= c #ccca8c",
1175"K= c #ffe95a",
1176"L= c #ffbc3c",
1177"P= c #ffc038",
1178"I= c #ffdc62",
1179"U= c #fff77a",
1180"Y= c #f7c14a",
1181"T= c #ffaa30",
1182"R= c #e87d2d",
1183"E= c #ea7247",
1184"W= c #ce9c8d",
1185"Q= c #c7a781",
1186"!= c #ffd257",
1187"~= c #ffba3c",
1188"^= c #ffa532",
1189"/= c #ea763e",
1190"(= c #b19798",
1191")= c #a28d8b",
1192"_= c #c76743",
1193"`= c #d66925",
1194"'= c #f59531",
1195"]= c #ffa161",
1196"[= c #c98f88",
1197"{= c #a98c83",
1198"}= c #c87047",
1199"|= c #b7816b",
1200" - c #a7684f",
1201".- c #b95929",
1202"X- c #db9a40",
1203"o- c #cb9049",
1204"O- c #d5712d",
1205"+- c #ffce39",
1206"@- c #ffb830",
1207"#- c #ea7d2c",
1208"$- c #e69d3b",
1209"%- c #c2bf82",
1210"&- c #aca899",
1211"*- c #fff15b",
1212"=- c #ffc23d",
1213"-- c #ffbc3b",
1214";- c #ffc43e",
1215":- c #ffed64",
1216">- c #fffe7e",
1217",- c #ffb844",
1218"<- c #ff892e",
1219"1- c #ff8530",
1220"2- c #d37759",
1221"3- c #b9a09f",
1222"4- c #d3a280",
1223"5- c #ea7f3a",
1224"6- c #d46739",
1225"7- c #ba9d9b",
1226"8- c #a19291",
1227"9- c #b26b52",
1228"0- c #aa624b",
1229"q- c #bf9ea1",
1230"w- c #b2a3a3",
1231"e- c #9c7061",
1232"r- c #c4612a",
1233"t- c #af9e9b",
1234"y- c #c08169",
1235"u- c #c96e2b",
1236"i- c #ffcd3b",
1237"p- c #ffb330",
1238"a- c #ff8e2d",
1239"s- c #f6a33a",
1240"d- c #fff65b",
1241"f- c #ffd53a",
1242"g- c #ffd946",
1243"h- c #fff96e",
1244"j- c #ffe268",
1245"k- c #ffa43b",
1246"l- c #ff952c",
1247"z- c #de6930",
1248"x- c #af6855",
1249"c- c #afaaad",
1250"v- c #a0979a",
1251"b- c #ada5a9",
1252"n- c #9e999d",
1253"m- c #aca8ad",
1254"M- c #b99e93",
1255"N- c #a89691",
1256"B- c #a36c5a",
1257"V- c #ac5a2c",
1258"C- c #ffd93b",
1259"Z- c #ffea30",
1260"A- c #ffc53c",
1261"S- c #aca999",
1262"D- c #ffed59",
1263"F- c #ffd44f",
1264"G- c #fffb7a",
1265"H- c #ffd35d",
1266"J- c #ffb338",
1267"K- c #fd8f30",
1268"L- c #e66c37",
1269"P- c #bf7b69",
1270"I- c #aeaaaf",
1271"U- c #a06d60",
1272"Y- c #c3672e",
1273"T- c #fff146",
1274"R- c #ffef36",
1275"E- c #ffae2f",
1276"W- c #ffff78",
1277"Q- c #ffff87",
1278"!- c #ffa333",
1279"~- c #ff8b32",
1280"^- c #ee7c39",
1281"/- c #b79187",
1282"(- c #b2adaf",
1283")- c #b36f5b",
1284"_- c #ec7a2c",
1285"`- c #ffbb44",
1286"'- c #ffe259",
1287"]- c #ffcc3a",
1288"[- c #ffd53c",
1289"{- c #aca99f",
1290"}- c #fff580",
1291"|- c #ffb02f",
1292" ; c #f68930",
1293".; c #be573f",
1294"X; c #a19091",
1295"o; c #d4a590",
1296"O; c #e57241",
1297"+; c #f56e2c",
1298"@; c #ffa540",
1299"#; c #fff25e",
1300"$; c #fff452",
1301"%; c #c2bc80",
1302"&; c #baa99d",
1303"*; c #f59230",
1304"=; c #ff8428",
1305"-; c #f4772e",
1306";; c #d47855",
1307":; c #a29091",
1308">; c #aea8ab",
1309",; c #d2754c",
1310"<; c #f76d2c",
1311"1; c #fffb62",
1312"2; c #c2c08a",
1313"3; c #a29998",
1314"4; c #d18153",
1315"5; c #f76422",
1316"6; c #b37e70",
1317"7; c #aa9b9a",
1318"8; c #9e9599",
1319"9; c #d3795d",
1320"0; c #ef782d",
1321"q; c #f69a32",
1322"w; c #c2a37c",
1323"e; c #a0989c",
1324"r; c #b79f9b",
1325"t; c #b3a9ab",
1326"y; c #d9846f",
1327"u; c #c47258",
1328"i; c #a39898",
1329" . ",
1330" . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X o ",
1331" X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . o ",
1332" X . . X . . . X . . . X . . . X . . . X . . . X . . . X . . . X . . . X . . . X . . . X . . . X . . . X . . o ",
1333" O . X . O X . . + X . . O X . . + X . . O X . . + X . . O X . . + X . . O X . . + X . . O X . . + X . . O X o ",
1334" . X . . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . X . o ",
1335" O . + X O . O X O . O X + . O X O . O X + . O X O . O X + . O X O . O X + . O X O . O X + . O X O . O X O . o ",
1336" X @ # $ % % & & * = - ; : O > , < 1 2 3 4 5 6 7 8 . X 9 0 q w e r t y u i p a s d f g h j k l z x c v b n O o ",
1337" O m M N B V C Z A S D F G H J K L P I U Y T R E W Q ! ~ ^ / ( ) _ ` ' ] [ { } | .../ X.o.O.+.@.#.$.%.&.*.X o ",
1338" X =.-.;.:.>.,.<.1.2.3.4.5.6.7.8.9.0.q.w.e.r.t.y.u.i.p.a.s.d.f.g.h.g.j.k.l.z.x.c.v.b.n.m.M.N.B.V.C.Z.A.S.D.. o ",
1339" O =.F.G.H.J.K.L.P.I.U.Y.T.R.E.W.Q.H.!.~.^./.(.)._.`.'.].[.{.}.|. X.XXXoXOX+X@X#X$X%X&X*X=X-X;X:X>X,X<X1X2XX o ",
1340" X 3X4X5X6X7X8X9X0XqXwXeXrXtXyXuXiXpXaXsXdXfXgXhXjXkXlXzXxXcXvXbXnXmXMXNXBXVXCXZXAXSXDXFXGXHXJXKXLXPXIXUXYXO o ",
1341" O =.TXRXEXWXQX!X~X^X/X(X)X_X`X'X]X[X{X}X|X o.oXoooOo+o@o#o$o%o&o*o=o-o;o:o>o,o<o1o2o3o4o5o6o7o8o9o0oqowoeoX o ",
1342" X rotoyouoiopoaosodofogohojokolozoxocovobonomoMoNoBoVoCoZoAoSoDoFoGoHoJoKoLoPoIoUoYoToRoEoWoQo!o~o^o/o(o)oO o ",
1343" O _o`o'o]o[o{o}o|o O.OXOoOOO+O@O#O$O%O&O*O=O-O;O:O>O,O<O1O1O2O3O4O5O6O7O8O9O0OqOwOeOrOtOyOuOiOpOaOsOdOfOgOX o ",
1344" O hOjOkOlOzOxOcOvObOnOmOMONOBOVOCOZOAOSODOFOGOHOJOKOLOPOIOUOYOTOROEOWOQO!O~O^O/O(O)O_O`O'O]O[O{O}O|O +.+X+O o ",
1345" O o+O+++@+#+$+%+&+*+=+-+;+:+>+,+<+1+2+3+4+5+6+7+8+9+0+q+w+e+r+t+y+u+i+p+a+s+d+f+g+h+j+k+l+z+x+c+v+b+n+m+M+. o ",
1346" O N+B+V+C+Z+A+S+D+F+G+H+J+K+L+P+I+U+Y+T+R+E+W+Q+!+~+^+/+(+)+_+`+'+]+[+{+}+|+ @.@X@o@O@+@@@#@$@%@&@*@=@-@;@O o ",
1347" O :@>@,@<@1@2@3@4@5@6@7@8@9@0@q@w@e@r@t@y@u@i@p@a@s@d@f@g@h@j@k@l@z@x@c@v@b@n@m@M@N@B@V@C@Z@A@S@D@F@G@H@J@X o ",
1348" O K@L@P@I@U@Y@T@R@E@W@Q@!@~@^@/@(@)@_@`@'@]@[@{@}@|@ #.#X#o#O#+#@###$#%#&#*#=#-#;#:#>#,#<#1#2#3#4#5#6#7#8#O o ",
1349" O 9#0#q#w#e#r#t#y#u#i#p#a#r#s#d#f#g#h#j#k#l#z#x#c#v#b#n#m#M#N#B#V#C#Z#A#S#D#F#G#H#J#K#L#P#I#U#Y#T#R#E#W#Q#O o ",
1350" O !#~#^#/#(#)#_#`#'#]#[#{#}#|# $.$X$o$O$+$@$#$$$%$&$*$=$-$;$:$>$,$<$1$2$3$4$5$6$7$8$9$0$q$w$e$r$t$y$u$i$p$O o ",
1351" O a$s$d$f$g$h$j$k$l$z$x$c$v$b$n$m$M$N$B$V$C$Z$A$S$D$F$G$H$J$K$L$P$I$U$Y$T$R$E$W$Q$!$~$^$/$($($)$_$`$'$]$[$O o ",
1352" O {$}$|$ %.%X%o%O%+%@%#%$%%%&%*%=%-%;%:%>%,%<%1%2%3%4%5%6%7%8%9%0%q%w%e%r%t%y%u%i%p%a%s%d%f%g%h%j%k%l%z%x%O o ",
1353" + c%v%b%n%m%M%N%B%V%C%Z%A%S%D%F%G%H%J%K%L%P%I%U%Y%T%R%E%W%Q%!%~%^%/%(%)%_%`%'%]%[%{%}%|% &.&X&o&O&+&@&#&$&O o ",
1354" O {$%&&&*&=&-&;&:&>&,&Z%<&1&2&3&4&5&6&7&8&9&0&q&w&e&r&t&y&u&i&p&a&s&d&f&g&h&j&k&l&z&x&c&v&b&n&m&M&N&B&V&C&O o ",
1355" O {$Z&A&S&D&F&G&G%H&J&K&L&P&I&U&^%Y&T&T&R&E&W&Q&!&~&^&/&(&)&_&`&'&]&[&{&}&|& *.*X*o*O*+*@*#*$*%*&*x$**=*-*O o ",
1356" O ;*:*>*,*<*1*2*3*4*5*6*7*8*9*0*q*w*e*r*W&t*y*u*i*p*a*a&s*d*f*g*h*j*k*l*z*x*c*v*b*n*m*M*N*B*V*C*Z*A*S*D*F*O o ",
1357" + {$G*H*J*K*L*P*I*U*Y*T*R*E*W*Q*!*~*^*/*(*)*_*`*'*]*[*{*}*|* =.=X=o=O=+=@=#=$=%=&=*===-=;=:=>=,=<=1=2=3=4=O o ",
1358" O ;*5=6=7=8=9=}%0=q=w=e=r=t=y=O u=i=p=a=s=d=f=g=h=O O j=k=l=z=x=c=v=b=O O O n=m=M=N=B=V=C=Z=A=S=D=F=G=H=J=O o ",
1359" + ;*K=W&L=p&P=I=U=Y=T=R=E=W=+ O + O Q=!=~=^=/=(=+ O + O )=_=`='=]=[=+ O + O + O {=}=|= -.-X-o-O-+-@-#-$-%-O o ",
1360" O &-*-=---;-:->-,-<-1-2-3-+ O O O + O 4-5-6-7-O O + O O O 8-9-0-q-+ O O O O O + O w-O e-r-t-y-u-i-p-a-s-F*+ o ",
1361" + ;*d-f-g-h-j-k-l-z-x-c-+ O + O + O + O v-b-+ O + O + O + O n-m-+ O + O + O + O + O + M-N-O B-V-C-Z-J&A--*O o ",
1362" O S-D-F-G-H-J-K-L-P-I-+ O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + U-Y-T-R-E-U*F*+ o ",
1363" + a$W-Q-b$!-~-^-/-(-+ O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O )-_-`-'-]-[--*O o ",
1364" + {-}-`-|- ;.;X;+ + O + + + O + + + O + + + O + + + O + + + O + + + O + O + + + O + + + O + o;O;+;@;#;$;%;+ o ",
1365" + &;*;=;-;;;:;O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + >;,;<;h$1;2;O o ",
1366" + 3;4;5;6;7;+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8;9;0;q;w;+ o ",
1367" + O e;r;+ O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + O + t;y;u;i;O o ",
1368" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + o ",
1369" + + + O + + + O + + + O + + + O + + + O + + + O + + + O + + + O + + + O + + + O + + + O + + + O + + + O + + o ",
1370" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + o ",
1371" + O + + + + + + + O + + + + + + + O + + + + + + + O + + + + + + + O + + + + + + + O + + + + + + + O + + + + o ",
1372" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + o ",
1373" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + o ",
1374"X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o "};
diff --git a/rbutil/install_dialogs.cpp b/rbutil/install_dialogs.cpp
index 6f62cac083..80ce618989 100644
--- a/rbutil/install_dialogs.cpp
+++ b/rbutil/install_dialogs.cpp
@@ -106,7 +106,8 @@ bool bootloaderInstallDlg::TransferDataFromWindow()
106 return false; 106 return false;
107 } 107 }
108 } 108 }
109 109
110 return true;
110 111
111} 112}
112 113
@@ -652,7 +653,7 @@ bool rockboxInstallDlg::TransferDataToWindow()
652 wxRadioBox* BuildRadioBox = (wxRadioBox*) FindWindow(ID_BUILD_BOX); 653 wxRadioBox* BuildRadioBox = (wxRadioBox*) FindWindow(ID_BUILD_BOX);
653 654
654 int index =gv->plat_id.Index(gv->curplat); 655 int index =gv->plat_id.Index(gv->curplat);
655 656
656 wxCommandEvent updateradiobox(wxEVT_COMMAND_RADIOBOX_SELECTED, 657 wxCommandEvent updateradiobox(wxEVT_COMMAND_RADIOBOX_SELECTED,
657 ID_BUILD_BOX); 658 ID_BUILD_BOX);
658 659
diff --git a/rbutil/rbutil-rc.rc b/rbutil/rbutil-rc.rc
index 2dfe024f7f..59ec6d27e4 100644
--- a/rbutil/rbutil-rc.rc
+++ b/rbutil/rbutil-rc.rc
@@ -1,8 +1,8 @@
1#define RBUTIL 1 1#define RBUTIL 1
2#include <wx/msw/wx.rc> 2#include <wx/msw/wx.rc>
3RBUTIL VERSIONINFO 3RBUTIL VERSIONINFO
4FILEVERSION 0,3,2,2 4FILEVERSION 0,3,2,3
5PRODUCTVERSION 0,3,2,2 5PRODUCTVERSION 0,3,2,3
6FILEOS 0x00000004 6FILEOS 0x00000004
7FILETYPE 0x00000001 7FILETYPE 0x00000001
8BEGIN 8BEGIN
@@ -10,8 +10,8 @@ BEGIN
10 BEGIN 10 BEGIN
11 BLOCK "FFFF0000" 11 BLOCK "FFFF0000"
12 BEGIN 12 BEGIN
13 VALUE "FileVersion", "0.3.2.2\0" 13 VALUE "FileVersion", "0.3.2.3\0"
14 VALUE "ProductVersion", "0.3.2.2\0" 14 VALUE "ProductVersion", "0.3.2.3\0"
15 VALUE "CompanyName", "Rockbox Team\0" 15 VALUE "CompanyName", "Rockbox Team\0"
16 VALUE "FileDescription", "Rockbox Utility\0" 16 VALUE "FileDescription", "Rockbox Utility\0"
17 VALUE "InternalName", "rbutil\0" 17 VALUE "InternalName", "rbutil\0"
diff --git a/rbutil/rbutil.h b/rbutil/rbutil.h
index bae62afd2d..f8a88d4e8d 100644
--- a/rbutil/rbutil.h
+++ b/rbutil/rbutil.h
@@ -107,8 +107,10 @@ public:
107 wxString bootloader_url; 107 wxString bootloader_url;
108 wxString themes_url; 108 wxString themes_url;
109 wxString manual_url; 109 wxString manual_url;
110 wxString doom_url;
110 wxString proxy_url; 111 wxString proxy_url;
111 112
113
112 // User configuration data. 114 // User configuration data.
113 wxString curplat; 115 wxString curplat;
114 // unsigned int curplatnum; 116 // unsigned int curplatnum;
diff --git a/rbutil/rbutil.ini b/rbutil/rbutil.ini
index 26988c3c6f..a4976ce51b 100644
--- a/rbutil/rbutil.ini
+++ b/rbutil/rbutil.ini
@@ -9,6 +9,7 @@ prog_name=rockbox
9bootloader_url=http://download.rockbox.org/bootloader 9bootloader_url=http://download.rockbox.org/bootloader
10themes_url=http://www.rockbox-themes.org/ 10themes_url=http://www.rockbox-themes.org/
11manual_url=http://download.rockbox.org/manual/rockbox- 11manual_url=http://download.rockbox.org/manual/rockbox-
12doom_url=http://download.rockbox.org/useful/rockdoom.zip
12 13
13[platforms] 14[platforms]
14platform1=player 15platform1=player
diff --git a/rbutil/rbutilApp.cpp b/rbutil/rbutilApp.cpp
index 8ecd4a0914..8233554e23 100644
--- a/rbutil/rbutilApp.cpp
+++ b/rbutil/rbutilApp.cpp
@@ -215,6 +215,9 @@ bool rbutilFrmApp::ReadGlobalConfig(rbutilFrm* myFrame)
215 gv->GlobalConfig->Read(wxT("manual_url"), &tmpstr); 215 gv->GlobalConfig->Read(wxT("manual_url"), &tmpstr);
216 gv->manual_url = tmpstr; 216 gv->manual_url = tmpstr;
217 217
218 gv->GlobalConfig->Read(wxT("doom_url"), &tmpstr);
219 gv->doom_url = tmpstr;
220
218#ifdef __WXMSW__ 221#ifdef __WXMSW__
219 gv->curdestdir = wxT("D:\\"); 222 gv->curdestdir = wxT("D:\\");
220#else 223#else
diff --git a/rbutil/rbutilCtrls.cpp b/rbutil/rbutilCtrls.cpp
index 6556466d68..43b1ad0c37 100644
--- a/rbutil/rbutilCtrls.cpp
+++ b/rbutil/rbutilCtrls.cpp
@@ -402,11 +402,12 @@ void DeviceSelectorCtrl::setDefault()
402void DeviceSelectorCtrl::OnComboBox(wxCommandEvent& event) 402void DeviceSelectorCtrl::OnComboBox(wxCommandEvent& event)
403{ 403{
404 int index = gv->plat_name.Index(m_deviceCbx->GetValue()); 404 int index = gv->plat_name.Index(m_deviceCbx->GetValue());
405
405 if(index == -1) 406 if(index == -1)
406 { 407 {
407 m_currentDevice = wxT(""); 408 m_currentDevice = wxT("");
408 return; 409 return;
409 } 410 }
410 411
411 gv->curplat = gv->plat_id[index]; 412 gv->curplat = gv->plat_id[index];
412} 413}
diff --git a/rbutil/rbutilFrm.cpp b/rbutil/rbutilFrm.cpp
index 913e22df14..4e5d0c834c 100644
--- a/rbutil/rbutilFrm.cpp
+++ b/rbutil/rbutilFrm.cpp
@@ -29,6 +29,7 @@
29#include "rblogo.xpm" 29#include "rblogo.xpm"
30#include "untools2_3d.xpm" 30#include "untools2_3d.xpm"
31#include "themes_3d.xpm" 31#include "themes_3d.xpm"
32#include "doom_3d.xpm"
32 33
33#include "bootloaders.h" 34#include "bootloaders.h"
34#include "install_dialogs.h" 35#include "install_dialogs.h"
@@ -45,12 +46,15 @@ BEGIN_EVENT_TABLE(rbutilFrm,wxFrame)
45 EVT_BUTTON (ID_THEMES_BTN, rbutilFrm::OnThemesBtn) 46 EVT_BUTTON (ID_THEMES_BTN, rbutilFrm::OnThemesBtn)
46 EVT_BUTTON (ID_BOOTLOADER_BTN, rbutilFrm::OnBootloaderBtn) 47 EVT_BUTTON (ID_BOOTLOADER_BTN, rbutilFrm::OnBootloaderBtn)
47 EVT_BUTTON (ID_BOOTLOADERREMOVE_BTN, rbutilFrm::OnBootloaderRemoveBtn) 48 EVT_BUTTON (ID_BOOTLOADERREMOVE_BTN, rbutilFrm::OnBootloaderRemoveBtn)
49 EVT_BUTTON (ID_DOOM_BTN, rbutilFrm::OnDoomBtn)
50
48 51
49 EVT_CLOSE(rbutilFrm::rbutilFrmClose) 52 EVT_CLOSE(rbutilFrm::rbutilFrmClose)
50 EVT_MENU(ID_FILE_EXIT, rbutilFrm::OnFileExit) 53 EVT_MENU(ID_FILE_EXIT, rbutilFrm::OnFileExit)
51 EVT_MENU(ID_FILE_ABOUT, rbutilFrm::OnFileAbout) 54 EVT_MENU(ID_FILE_ABOUT, rbutilFrm::OnFileAbout)
52 EVT_MENU(ID_FILE_WIPECACHE, rbutilFrm::OnFileWipeCache) 55 EVT_MENU(ID_FILE_WIPECACHE, rbutilFrm::OnFileWipeCache)
53 EVT_MENU(ID_PORTABLE_INSTALL, rbutilFrm::OnPortableInstall) 56 EVT_MENU(ID_PORTABLE_INSTALL, rbutilFrm::OnPortableInstall)
57
54 EVT_MENU(ID_FILE_PROXY, rbutilFrm::OnFileProxy) 58 EVT_MENU(ID_FILE_PROXY, rbutilFrm::OnFileProxy)
55 59
56 EVT_UPDATE_UI (ID_MANUAL, rbutilFrm::OnManualUpdate) 60 EVT_UPDATE_UI (ID_MANUAL, rbutilFrm::OnManualUpdate)
@@ -99,7 +103,7 @@ void rbutilFrm::CreateGUIControls(void)
99 wxPanel* uninstallpage = new wxPanel(tabwindow,wxID_ANY); 103 wxPanel* uninstallpage = new wxPanel(tabwindow,wxID_ANY);
100 wxPanel* manualpage = new wxPanel(tabwindow,wxID_ANY); 104 wxPanel* manualpage = new wxPanel(tabwindow,wxID_ANY);
101 tabwindow->AddPage(installpage,wxT("Installation"),true); 105 tabwindow->AddPage(installpage,wxT("Installation"),true);
102 tabwindow->AddPage(themepage,wxT("Themes")); 106 tabwindow->AddPage(themepage,wxT("Extras"));
103 tabwindow->AddPage(uninstallpage,wxT("Uninstallation")); 107 tabwindow->AddPage(uninstallpage,wxT("Uninstallation"));
104 tabwindow->AddPage(manualpage,wxT("Manual")); 108 tabwindow->AddPage(manualpage,wxT("Manual"));
105 109
@@ -153,7 +157,7 @@ void rbutilFrm::CreateGUIControls(void)
153 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5); 157 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5);
154 158
155 /*********************+ 159 /*********************+
156 Theme Page 160 Extras Page
157 ***********************/ 161 ***********************/
158 162
159 wxBoxSizer* WxBoxSizer3 = new wxBoxSizer(wxVERTICAL); 163 wxBoxSizer* WxBoxSizer3 = new wxBoxSizer(wxVERTICAL);
@@ -200,6 +204,20 @@ void rbutilFrm::CreateGUIControls(void)
200 WxFlexGridSizer2->Add(WxStaticText6, 0, 204 WxFlexGridSizer2->Add(WxStaticText6, 0,
201 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5); 205 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5);
202 206
207
208 wxBitmap DoomInstallButton (doom_3d_xpm);
209 WxBitmapButton6 = new wxBitmapButton(themepage, ID_DOOM_BTN,
210 DoomInstallButton, wxPoint(0,0), wxSize(64,54),
211 wxRAISED_BORDER | wxBU_AUTODRAW);
212 WxBitmapButton6->SetToolTip(wxT("Download freedoom wad files."));
213 WxFlexGridSizer2->Add(WxBitmapButton6, 0,
214 wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL | wxALL,5);
215
216 wxStaticText* WxStaticText7 = new wxStaticText(themepage, wxID_ANY,
217 wxT("Install the freedoom wad files.\n\n"));
218 WxFlexGridSizer2->Add(WxStaticText7, 0,
219 wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5);
220
203 /*********************+ 221 /*********************+
204 Uninstall Page 222 Uninstall Page
205 ***********************/ 223 ***********************/
@@ -302,13 +320,15 @@ void rbutilFrm::CreateGUIControls(void)
302 wxLogVerbose(wxT("=== end rbutilFrm::CreateGUIControls")); 320 wxLogVerbose(wxT("=== end rbutilFrm::CreateGUIControls"));
303} 321}
304 322
305
306void rbutilFrm::OnManualUpdate(wxUpdateUIEvent& event) 323void rbutilFrm::OnManualUpdate(wxUpdateUIEvent& event)
307{ 324{
308 wxString tmp = gv->curplat; 325 wxString tmp = gv->curplat;
309 326
310 if(tmp == wxT("h120")) tmp = wxT("h100"); //h120 has the h100 manual 327 if(tmp == wxT("h120")) tmp = wxT("h100"); //h120 has the h100 manual
311 328 if(tmp == wxT("fmrecorder8mb")) tmp = wxT("fmrecorder");
329 if(tmp == wxT("ipodmini1g")) tmp = wxT("ipodmini2g");
330 if(tmp == wxT("recorder8mb")) tmp = wxT("recorderg");
331
312 if( tmp == curManualDevice) 332 if( tmp == curManualDevice)
313 return; 333 return;
314 334
@@ -813,6 +833,64 @@ void rbutilFrm::OnFontBtn(wxCommandEvent& event)
813 wxLogVerbose(wxT("=== end rbutilFrm::OnFontBtn")); 833 wxLogVerbose(wxT("=== end rbutilFrm::OnFontBtn"));
814} 834}
815 835
836void rbutilFrm::OnDoomBtn(wxCommandEvent& event)
837{
838 wxString src, dest, buf;
839 wxLogVerbose(wxT("=== begin rbutilFrm::OnDoomBtn(event)"));
840
841 // font install dialog, reused
842 fontInstallDlg dialog(NULL, wxID_ANY,
843 wxT("Freedoom wad file Installation"));
844 if (dialog.ShowModal() != wxID_OK)
845 return;
846
847 // really install ?
848 wxMessageDialog msg(this,wxT("Do you really want to install the Freedoom wads ?"),wxT("Freedoom installation"),wxOK|wxCANCEL);
849 if(msg.ShowModal() != wxID_OK )
850 return;
851
852 buf.Printf(wxT("%s" PATH_SEP ".rockbox"), gv->curdestdir.c_str()) ;
853 if (! wxDirExists(buf) )
854 {
855 buf.Printf(wxT("Rockbox is not yet installed on %s - install "
856 "Rockbox first."), buf.c_str() );
857 WARN_DIALOG(buf, wxT("Can't install freedoom wads") );
858 return;
859 }
860
861 src = gv->doom_url;
862
863 dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP
864 "rockdoom.zip"), gv->stdpaths->GetUserDataDir().c_str());
865
866 if ( ! wxFileExists(dest) )
867 {
868 if ( DownloadURL(src, dest) )
869 {
870 wxRemoveFile(dest);
871 buf.Printf(wxT("Unable to download %s"), src.c_str() );
872 ERR_DIALOG(buf, wxT("Freedoom Install"));
873 return;
874 }
875 }
876
877 if ( !UnzipFile(dest, gv->curdestdir, true) )
878 {
879 wxMessageDialog* msg = new wxMessageDialog(this, wxT("The Freedoom wads have been installed on your device.")
880 ,wxT("Installation"), wxOK |wxICON_INFORMATION);
881 msg->ShowModal();
882 delete msg;
883 } else
884 {
885 wxRemoveFile(dest);
886 buf.Printf(wxT("Unable to unzip %s"), dest.c_str() );
887 ERR_DIALOG(buf, wxT("Freedoom Install"));
888 }
889
890
891 wxLogVerbose(wxT("=== end rbutilFrm::OnDoomBtn"));
892}
893
816 894
817void rbutilFrm::OnThemesBtn(wxCommandEvent& event) 895void rbutilFrm::OnThemesBtn(wxCommandEvent& event)
818{ 896{
diff --git a/rbutil/rbutilFrm.h b/rbutil/rbutilFrm.h
index 2f31df8867..4d5d4017a1 100644
--- a/rbutil/rbutilFrm.h
+++ b/rbutil/rbutilFrm.h
@@ -91,15 +91,16 @@ public:
91 ID_WXSTATICTEXT2 = 1029, 91 ID_WXSTATICTEXT2 = 1029,
92 ID_INSTALL_BTN = 1028, 92 ID_INSTALL_BTN = 1028,
93 ID_WXSTATICBITMAP1 = 1053, 93 ID_WXSTATICBITMAP1 = 1053,
94 ID_FONT_BTN = 1128, 94 ID_FONT_BTN = 1128,
95 ID_THEMES_BTN = 1139, 95 ID_THEMES_BTN = 1139,
96 ID_BOOTLOADER_BTN = 1129, 96 ID_DOOM_BTN = 1140,
97 ID_BOOTLOADER_BTN = 1129,
97 ID_WXPANEL1 = 1064, 98 ID_WXPANEL1 = 1064,
98 99
99 ID_MANUAL = 1065, 100 ID_MANUAL = 1065,
100 ID_FILE_PROXY = 1066, 101 ID_FILE_PROXY = 1066,
101 102
102 ID_DUMMY_VALUE_ 103 ID_DUMMY_VALUE_
103 }; //End of Enum 104 }; //End of Enum
104public: 105public:
105 void rbutilFrmClose(wxCloseEvent& event); 106 void rbutilFrmClose(wxCloseEvent& event);
@@ -115,9 +116,9 @@ public:
115 void OnBootloaderBtn(wxCommandEvent& event); 116 void OnBootloaderBtn(wxCommandEvent& event);
116 void OnPortableInstall(wxCommandEvent& event); 117 void OnPortableInstall(wxCommandEvent& event);
117 void OnBootloaderRemoveBtn(wxCommandEvent& event); 118 void OnBootloaderRemoveBtn(wxCommandEvent& event);
118 119 void OnManualUpdate(wxUpdateUIEvent& event);
119 void OnManualUpdate(wxUpdateUIEvent& event); 120 void OnFileProxy(wxCommandEvent& event);
120 void OnFileProxy(wxCommandEvent& event); 121 void OnDoomBtn(wxCommandEvent& event);
121 122
122}; 123};
123 124