config file global variable rape

git-svn-id: https://svn.eduke32.com/eduke32@561 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2007-08-26 10:35:52 +00:00
parent 599dda879f
commit ad5c98d66f
18 changed files with 1519 additions and 1119 deletions

View file

@ -1,192 +1,417 @@
#include "sdlayer.h" #include "sdlayer.h"
static unsigned int sdlappicon_pixels[] = { static unsigned int sdlappicon_pixels[] = {
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffff2e6, 0xffffd2a3, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffb66e, 0xfffeaf5c, 0xfffeaf5c, 0xffffb15f, 0xfffeaf5c, 0xffffaa5a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01ff0101, 0x28ff8b19,
0xffffab5b, 0xfffdb879, 0xffffd2a3, 0xfffff1e4, 0xfffcfffe, 0xfffcfffe, 0x5fff8b19, 0x92ff8b19, 0xb8ff8b19, 0xd1ff8b19, 0xe3ff8b19, 0xedff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xedff8b19, 0xe3ff8b19, 0xd1ff8b19, 0xb8ff8b19, 0x92ff8b19, 0x5fff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x28ff8b19, 0x01ff0101, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffe8cc, 0xffffb66e, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffab5b, 0xfffdce9f, 0xfffde5c9, 0xfffff1e4, 0xfffefbf6, 0xfffff7ee, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffff2e6, 0xffffddb8, 0xfffecfa1, 0xffffc78c, 0xffffb66e, 0xffffa546, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffeb36b, 0xffffe8cc, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x1eff8b19, 0x73ff8b19, 0xc4ff8b19, 0xf5ff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffefbf6, 0xffffbb7b, 0xffff9e3f, 0xfffeb166, 0xffffc185, 0xfffed1a6, 0xffffe1c3, 0xffffe2c5,
0xfffda241, 0xffffd7ad, 0xfffff7ee, 0xfffffcfe, 0xfffffcfe, 0xfffffcfe, 0xffffe0c1, 0xffffd5ab, 0xffffc287, 0xfffeb268, 0xffffa54d, 0xffff9731,
0xfffcfffe, 0xfffffcfe, 0xfffcfffe, 0xfffcf4eb, 0xffffe7d3, 0xfffcdebe, 0xf5ff8b19, 0xc4ff8b19, 0x73ff8b19, 0x1eff8b19, 0x00000000, 0x00000000,
0xfffbd1b0, 0xffffd8ae, 0xfffcc69b, 0xffffa546, 0xffffbb7b, 0xfffefbf6, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffe8cc, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffff9e3e, 0xfffdb879, 0xffffe1c9, 0xffffecdd, 0xfffffdf7, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffff7ee, 0xffffe2c2, 0xffffd2a3, 0xfffec58a, 0xffffc07e, 0xffffc78c, 0x26ff911b, 0x92ff8b19, 0xecff8b19, 0xffffa145, 0xfffecc9c, 0xffffefe1,
0xffffd8ae, 0xffffe7d3, 0xffffe9cd, 0xffffeed6, 0xffffeed6, 0xfffff2e6, 0xfffffbf7, 0xfffffefd, 0xfffffefd, 0xfffffcf9, 0xfffff7ef, 0xfffff1e3,
0xfffdce9f, 0xffff9e3e, 0xffffe8cc, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffeddd, 0xffffe8d1, 0xfffedfc0, 0xfffedcba, 0xfffedcba, 0xffffd6ad,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffecea0, 0xfffeb874, 0xffff9935, 0xecff8b19, 0x92ff8b19, 0x26ff911b,
0xffffe7d3, 0xffff9835, 0xffffbd73, 0xffffcc98, 0xfffddab5, 0xfffff8f7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffce4c8, 0xffffc07e, 0xffffa556, 0xffff9835, 0xfffe9631, 0xffff8b1d, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffff8500, 0xffff8400, 0xffff8500, 0xffff912b, 0xffffb66e, 0xffffe1c1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffff7ee, 0xfffff7ee, 0xfffcfffe, 0xffffe0c8, 0xffff9d3c, 0xffffe8cc, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0cff8315, 0x7cff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xecff8b19, 0xffffa751, 0xfffeddbc, 0xfffff5eb, 0xfffffaf5, 0xfffffaf5,
0xfffcfffe, 0xfffeeada, 0xffff912b, 0xfffdb879, 0xffffbb7b, 0xfffddfbf, 0xfffffcf9, 0xfffff9f3, 0xfffffaf5, 0xfffffaf5, 0xfffff5eb, 0xffffefe1,
0xffffe7d3, 0xfffeaf5c, 0xffff8500, 0xffff870e, 0xfffe9631, 0xffff9d3c, 0xfffeecda, 0xffffe6cd, 0xfffeddbc, 0xffffdab5, 0xffffd7af, 0xfffed2a8,
0xffff9835, 0xffff9835, 0xffff912b, 0xffff870e, 0xffff8400, 0xffff8400, 0xfffed1a6, 0xfffed4aa, 0xffffdab5, 0xfffecfa2, 0xffffa44b, 0xecff8b19,
0xffff7f00, 0xffff870e, 0xffffb66e, 0xfffff7ee, 0xfffcfffe, 0xfffffdf7, 0x7cff8b19, 0x0cff8315, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffdebd3, 0xffff9835, 0xfffce8d8, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffefbf6, 0xffff9d3c, 0xfffdb26a, 0xffffbb7b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffdd5ab, 0xffffe0c8, 0xffff9d3c, 0xffff912b, 0xffff8400, 0xffff8b1d, 0x00000000, 0x00000000, 0x00000000, 0x34ff8b19, 0xc5ff8b19, 0xffff9935,
0xffff9b21, 0xffff9e3e, 0xffff9e3e, 0xffff9b21, 0xffff8b1d, 0xffff8800, 0xfffecd9e, 0xfffee5cc, 0xffffebd7, 0xffffefe1, 0xfffff5eb, 0xfffff8f1,
0xffff8500, 0xffff8400, 0xffff870e, 0xfffe8125, 0xffff8400, 0xfffea857, 0xfffffbf7, 0xfffffcf9, 0xfffffcf9, 0xfffffdfb, 0xfffffcf9, 0xfffffcf9,
0xfffff1e4, 0xfffffbfd, 0xfffdeee2, 0xffffd2a3, 0xffff9d3c, 0xfffffdf7, 0xfffffbf7, 0xfffff7ef, 0xfffff1e3, 0xffffead5, 0xfffeddbc, 0xfffed0a4,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffbb7b, 0xffffb66e, 0xfffed0a4, 0xfffed2a8, 0xffffdab5, 0xffffe2c5, 0xfffee5cc, 0xffffd7af,
0xfffeca96, 0xffffddb8, 0xffffdabe, 0xfffb870b, 0xffeb8500, 0xfffb870b, 0xffff9c3b, 0xc5ff8b19, 0x34ff8b19, 0x00000000, 0x00000000, 0x00000000,
0xffffaa5a, 0xffffaa5a, 0xffff912b, 0xffff9835, 0xffff9d3c, 0xffff9835, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffff912b, 0xffff870e, 0xffff7d1a, 0xffff8400, 0xffff9835, 0xfffeaf5c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffff912b, 0xffff8a19, 0xffff9406, 0xffffe2c2, 0xfffff1e4, 0xfffce4c8, 0x00000000, 0x00000000, 0x5aff8b19, 0xeeff8b19, 0xffffa44b, 0xfffed0a4,
0xffffc07e, 0xffffbb7b, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffe9cd, 0xffffd9b3, 0xfffedebe, 0xfffee5cc, 0xfffeecda, 0xfffff5eb, 0xfffffbf7,
0xffff9d3c, 0xffffd8ae, 0xfffdd5ab, 0xfffeeada, 0xffeb8500, 0xffeb8500, 0xfffffefd, 0xffffeddd, 0xffffd5ab, 0xffffc389, 0xfffeb670, 0xfffeab5a,
0xffeb7f00, 0xfffdb26a, 0xfffdfaf5, 0xfffee4d0, 0xfff28500, 0xffde7110, 0xffffa853, 0xfffead5e, 0xfffeb874, 0xfffecc9c, 0xffffebd7, 0xfffffaf5,
0xffce6715, 0xffb25903, 0xffb35a07, 0xffc66000, 0xffd86b00, 0xfff17c13, 0xffffebd7, 0xfffeddbc, 0xfffedfc0, 0xffffe2c5, 0xfffee4ca, 0xffffead5,
0xffffcb97, 0xfffffdf7, 0xffffc07e, 0xffff8a19, 0xffff7f00, 0xffff9b21, 0xfffff1e3, 0xfffeb46c, 0xeeff8b19, 0x5aff8b19, 0x00000000, 0x00000000,
0xfffeeeea, 0xffffddb8, 0xfffdd5ab, 0xffff9d3c, 0xfffeeada, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xffffb66e, 0xfffdc995, 0xfffce4c8, 0xfffff2e6, 0xffffab5b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffc8e23, 0xfffb870b, 0xfff9af67, 0xfffff2e6, 0xffffc594, 0xfffcc69b, 0x00000000, 0x71ff8b19, 0xfcff8b19, 0xfffead5e, 0xffffc995, 0xffffcb99,
0xffe9994f, 0xff8f5800, 0xff994e00, 0xff974a16, 0xff9d4c00, 0xff994e00, 0xfffed1a6, 0xffffdbb7, 0xffffebd7, 0xfffff9f3, 0xffffead5, 0xffffc68f,
0xff8c4800, 0xffcb6a1c, 0xfffbd1b0, 0xfffff7ee, 0xfffcfffe, 0xffffbb7b, 0xffffa751, 0xffff9c3b, 0xffff9c3b, 0xffff9c3b, 0xffff9935, 0xffff962f,
0xffff7f00, 0xffff8800, 0xffffab5b, 0xffffe7d3, 0xfffdcda7, 0xffffbd73, 0xffff9227, 0xffff8d1d, 0xffff8813, 0xffff8711, 0xffff850d, 0xffff9125,
0xffffb15f, 0xfffcfffe, 0xfffff2e6, 0xfffea343, 0xfffee4d0, 0xfffff2e6, 0xfffeba78, 0xffffe7cf, 0xfffff7ef, 0xfffeecda, 0xffffe7cf, 0xffffeddb,
0xffffe1c1, 0xffff7f00, 0xffff8a19, 0xfffda241, 0xfffff2e6, 0xffffc280, 0xfffff4e9, 0xfffff6ed, 0xffffca97, 0xfcff8b19, 0x71ff8b19, 0x00000000,
0xffff9835, 0xffffe0c8, 0xfffce8d8, 0xffb66a12, 0xff944f00, 0xffa24f07, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffa24f07, 0xff9d4c00, 0xff975e05, 0xffe8b993, 0xffffe7d3, 0xffffaa5a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffe7d3, 0xfffffdf7, 0xffff9e3e, 0xffff8f00, 0xfffe8300, 0xffffd8ae, 0x71ff8b19, 0xffff8813, 0xfffead5e, 0xffffc389, 0xffffc389, 0xffffc791,
0xffffdabe, 0xffffcc98, 0xffff9d3c, 0xfffcf4eb, 0xffffd2a3, 0xffffbb7b, 0xfffed2a8, 0xffffeddb, 0xfffee9d4, 0xfffeae60, 0xffff942b, 0xffff9731,
0xffffe8cc, 0xfffff2e6, 0xfffdb879, 0xffff7f00, 0xffff8800, 0xfffcdcc5, 0xffff9b39, 0xffff9c3b, 0xffff9c3b, 0xffff9c3b, 0xffff9b39, 0xffff962f,
0xfffdeee2, 0xffffa556, 0xffffdabe, 0xfffcfffe, 0xfffffcfe, 0xffebb180, 0xffff9329, 0xffff8c1b, 0xffff8813, 0xffff8711, 0xffff8309, 0xffff8207,
0xff9b5c03, 0xff924d00, 0xff944f00, 0xff8e4f00, 0xffcc7311, 0xfffffcfe, 0xffff840b, 0xffff8a17, 0xfffead5e, 0xffffead5, 0xfffff7ef, 0xfffff2e5,
0xfffffcfe, 0xfffee2b9, 0xffffaa5a, 0xffffebdb, 0xffffd8ae, 0xfffe8300, 0xfffff5eb, 0xfffff4e9, 0xfffff6ed, 0xffffd7af, 0xffff8e1f, 0x71ff8b19,
0xffff9406, 0xffffb15f, 0xffffe8cc, 0xffffd2a3, 0xffffb66e, 0xffffd2a3, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffb66e, 0xffffc594, 0xfffee4d0, 0xffffe8cc, 0xffff9835, 0xfffe8300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x5aff8b19,
0xffffab5b, 0xfffffef9, 0xfffecfa1, 0xffffbd73, 0xfffffcfe, 0xfffcfffe, 0xfcff8b19, 0xfffeab5a, 0xfffebd7e, 0xfffebc7c, 0xffffc083, 0xffffd7af,
0xfffcfffe, 0xfffcf9f4, 0xffd06b00, 0xffb26000, 0xffbf6000, 0xffae6f17, 0xfffffdfb, 0xfffeba78, 0xffff860f, 0xffff8c1b, 0xffff9125, 0xffff962f,
0xfffcbe7c, 0xfffcfffe, 0xfffffcfe, 0xfffffef9, 0xffffb66e, 0xffffc07e, 0xffff9a37, 0xffff9c3b, 0xffff9c3b, 0xffff9c3b, 0xffff9b39, 0xffff9731,
0xfffff2e6, 0xffff9d3c, 0xfffc8e23, 0xffff8b1d, 0xffffe7d3, 0xffffd8ae, 0xffff9329, 0xffff8c1b, 0xffff8813, 0xffff860f, 0xffff8309, 0xffff8207,
0xffffc07e, 0xffffb66e, 0xffffaa5a, 0xffffd2a3, 0xfffdebd3, 0xfffbd1b0, 0xffff860f, 0xffff8b19, 0xffff8d1d, 0xffff9023, 0xffffc58d, 0xfffffefd,
0xffff8400, 0xffff7f00, 0xfffdc995, 0xfffff7ee, 0xfffdac66, 0xfffdf0dc, 0xfffff7ef, 0xfffff4e9, 0xfffff1e3, 0xffffefe1, 0xfffed0a4, 0xfcff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffffcfe, 0xfffffcfe, 0xfffdf0dc, 0xfffff1e4, 0x5aff8b19, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffffdf7, 0xfffce4c8, 0xfffcfffe, 0xfffffcfe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x31ff8c1b, 0xedff8b19,
0xfffdf0dc, 0xffffa556, 0xfffeeada, 0xffffc78c, 0xffff8a19, 0xfffe8125, 0xffffa751, 0xfffebe80, 0xfffeb874, 0xfffeba78, 0xffffdbb7, 0xfffff5eb,
0xffffd2a3, 0xfffce4c8, 0xfffdcda7, 0xfffdac66, 0xffffaa5a, 0xffffd8ae, 0xffff9e3f, 0xffff7f01, 0xffff8309, 0xffff8813, 0xffff8f21, 0xffff942b,
0xffffefd7, 0xffffc78c, 0xffff7f00, 0xffff8800, 0xffffddb8, 0xffffe2c2, 0xffff9833, 0xffff9b39, 0xffff9c3b, 0xffff9c3b, 0xffff9b39, 0xffff9731,
0xffff9e3e, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffff9227, 0xffff8c1b, 0xffff8813, 0xffff850d, 0xffff8207, 0xffff8309,
0xfffcfffe, 0xfffeeeea, 0xfff1e7ca, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffff8915, 0xffff8d1d, 0xffff8e1f, 0xffff942b, 0xffff9731, 0xfffeb46c,
0xfffcfffe, 0xfffcfffe, 0xfffffdf7, 0xffff9e3e, 0xffffddb8, 0xffffd8ae, 0xfffff8f1, 0xfffff7ef, 0xffffeddb, 0xffffe7cf, 0xfffee5cc, 0xffffbf81,
0xffff8400, 0xffff8400, 0xffffc594, 0xffffe9cd, 0xffffd7ad, 0xffffaa5a, 0xedff8b19, 0x31ff8c1b, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffdae5b, 0xffffe7d3, 0xfffff7ee, 0xffffc280, 0xffff7f00, 0xffff8e00, 0x00000000, 0x00000000, 0x00000000, 0x0bff8f17, 0xc8ff8b19, 0xffff9d3d,
0xfffdeee2, 0xffffe9cd, 0xfffeca96, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffc68f, 0xffffc083, 0xfffebd7e, 0xffffdbb7, 0xfffeecda, 0xffff8915,
0xfffcfffe, 0xfffcfffe, 0xfff6dec2, 0xffad6806, 0xff926700, 0xffe98300, 0xfff07700, 0xfff87b00, 0xffff7f01, 0xffff840b, 0xffff8c1b, 0xffff9227,
0xfffffbfd, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffc594, 0xffff9731, 0xffff9b39, 0xffff9c3b, 0xffff9c3b, 0xffff9b39, 0xffff9731,
0xfffee4d0, 0xffffeed6, 0xffff8e00, 0xffff8500, 0xffffbd73, 0xffffecdd, 0xffff9227, 0xffff8c1b, 0xffff8711, 0xffff850d, 0xffff8207, 0xffff850d,
0xffffddb8, 0xffffab5b, 0xffffab5b, 0xffffecdd, 0xfffdf9fb, 0xffffc07e, 0xffff8b19, 0xffff8d1d, 0xffff9125, 0xffff9731, 0xffff9833, 0xffff9833,
0xffff8400, 0xffff9406, 0xffffc594, 0xfffdce9f, 0xffe7ba8b, 0xffdfb78e, 0xffffa54d, 0xffffefe1, 0xfffff2e5, 0xffffe0c1, 0xfffeddbc, 0xffffe1c3,
0xffdfb283, 0xffddb081, 0xffefbb8f, 0xfffcfffe, 0xffe0b88f, 0xff8c6000, 0xffffa955, 0xc8ff8b19, 0x0bff8f17, 0x00000000, 0x00000000, 0x00000000,
0xff8d4d17, 0xffb86700, 0xfffdfaf5, 0xffffebdb, 0xffe4b787, 0xffddb081, 0x00000000, 0x00000000, 0x00000000, 0x7cff8b19, 0xffff9023, 0xffffcb99,
0xffe2bb91, 0xffe6b98a, 0xfffeca96, 0xffffbb7b, 0xffff8500, 0xfffe8125, 0xffffc995, 0xffffc48b, 0xffffdab5, 0xfffff1e3, 0xffff8309, 0xffec7500,
0xffffc280, 0xffffecdd, 0xfffedbb6, 0xffffaa5a, 0xffffb15f, 0xffffecdd, 0xffee7600, 0xfff27800, 0xfffa7c00, 0xffff942b, 0xffffd7af, 0xffff9731,
0xfffffdf7, 0xfffdcda7, 0xffff8b1d, 0xffff8e00, 0xffff8800, 0xffff8500, 0xffff952d, 0xffff9935, 0xffff9c3b, 0xffff9c3b, 0xffff9c3b, 0xffff9731,
0xffc0670d, 0xff8a5203, 0xff935500, 0xff845200, 0xffb26d16, 0xfffeeeea, 0xffff9227, 0xffff8a17, 0xffff8711, 0xffff840b, 0xffff8309, 0xffff8813,
0xfffdf9fb, 0xffc27611, 0xffa0671c, 0xffeeaf76, 0xfffcfffe, 0xffe9994f, 0xffff8d1d, 0xfffeba78, 0xffffa64f, 0xffff9833, 0xffff9833, 0xffff962f,
0xff926700, 0xff905104, 0xff8a5203, 0xffb26000, 0xffff8400, 0xffff7f00, 0xffff942b, 0xffff9b39, 0xfffff3e7, 0xffffead5, 0xffffdbb7, 0xffffdbb7,
0xfffe8125, 0xffff7f00, 0xffffc594, 0xffffeed6, 0xffffd7ad, 0xfffdae5b, 0xffffd7af, 0xffff9227, 0x7cff8b19, 0x00000000, 0x00000000, 0x00000000,
0xfffdac66, 0xffffe1c9, 0xfffffef9, 0xffffddb8, 0xffff912b, 0xffff912b, 0x00000000, 0x00000000, 0x22ff8a17, 0xeeff8b19, 0xffffc083, 0xfffed2a8,
0xffff9406, 0xffff8a19, 0xffde7110, 0xff974a16, 0xffa24f07, 0xff9d4c00, 0xfffecc9c, 0xfffed1a6, 0xfffffcf9, 0xffff942b, 0xffec7500, 0xffea7400,
0xff9a5b00, 0xffe1a369, 0xfffcfffe, 0xfffdfaf5, 0xfffcf4eb, 0xfffcfffe, 0xffea7400, 0xffee7600, 0xffff9f41, 0xfffff9f3, 0xffffead5, 0xfffecfa2,
0xfffeeada, 0xffb66a12, 0xff965106, 0xffa24f07, 0xff974a16, 0xffd86b00, 0xffff9227, 0xffff8d1d, 0xffff7f01, 0xffe06f00, 0xffc66200, 0xffb45900,
0xffff7f00, 0xffff8800, 0xffff8400, 0xffff8500, 0xffffd2a3, 0xfffeeada, 0xffb45900, 0xffc05f00, 0xffd06700, 0xffe27000, 0xfffc7d00, 0xffff8a17,
0xfffdcda7, 0xffffaa5a, 0xffffb66e, 0xfffedbb6, 0xfffdfaf5, 0xfffeefe3, 0xffff9d3d, 0xfffffdfb, 0xfffffaf5, 0xfffeb56e, 0xffff9731, 0xffff942b,
0xffff9d3c, 0xffff8a19, 0xffff8d23, 0xffff870e, 0xfffa8000, 0xffb25903, 0xffff8f21, 0xffff8b19, 0xffffa145, 0xfffffcf9, 0xfffedebe, 0xffffd5ab,
0xff964b00, 0xff9d4c00, 0xff9d4c00, 0xffad6806, 0xfffbd1b0, 0xfffcfffe, 0xfffed0a4, 0xffffc287, 0xeeff8b19, 0x22ff8a17, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xffdc831c, 0xff8c5914, 0xffa24f07, 0xff994e00, 0x00000000, 0x00000000, 0x92ff8b19, 0xffff9c3b, 0xfffedcba, 0xffffd5ab,
0xffa24f07, 0xfff77b10, 0xffff7d1a, 0xffff8500, 0xffff7f00, 0xffff9406, 0xfffed2a8, 0xffffebd7, 0xfffeb670, 0xfffa7c00, 0xfff47900, 0xfff07700,
0xfffeeada, 0xffffe2c2, 0xffffc78c, 0xfffdb879, 0xffffd2a3, 0xffffc280, 0xffea7400, 0xfffeaa58, 0xfffffdfb, 0xffffd5ab, 0xffffcb99, 0xfffffcf9,
0xfffdf0dc, 0xfffff7ee, 0xffffb66e, 0xffff7f00, 0xffff870e, 0xfffe8125, 0xffff860f, 0xffae5600, 0xffaa5400, 0xffa65200, 0xffa25000, 0xffa04f00,
0xffff7d00, 0xffd46800, 0xff9d4c00, 0xff9d4c00, 0xff935500, 0xffcf7c24, 0xffa04f00, 0xffa25000, 0xffa65200, 0xffaa5400, 0xffae5600, 0xffe47100,
0xfffdf9fb, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfff0cbaf, 0xff9f5a00, 0xffffd6ad, 0xfffff8f1, 0xfffff8f1, 0xfffffefd, 0xfffebd7e, 0xffff8f21,
0xff994e00, 0xff9d4c00, 0xffd56900, 0xffff7d1a, 0xfffe8125, 0xfffe8125, 0xffff8c1b, 0xffff8a17, 0xffff8711, 0xfffeba78, 0xfffeecda, 0xfffecd9e,
0xfffe8125, 0xffffb15f, 0xffffecdd, 0xfffddfbf, 0xffffbd73, 0xffffd2a3, 0xfffecc9c, 0xfffecea0, 0xffff9b39, 0x92ff8b19, 0x00000000, 0x00000000,
0xfffff2e6, 0xffffa556, 0xfffde5c9, 0xffffecdd, 0xffffddb8, 0xffff7f00, 0x00000000, 0x1eff8b19, 0xedff8b19, 0xfffecc9c, 0xffffe0c1, 0xffffdab5,
0xfffe8125, 0xffff7f00, 0xffff7f00, 0xffff7a00, 0xffd06b00, 0xff8e4f00, 0xfffee5cc, 0xffffe8d1, 0xffff8309, 0xffff8003, 0xffff7f01, 0xfff67a00,
0xffaf5e00, 0xfffdf9fb, 0xfffffef9, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffff9f41, 0xfffffdfb, 0xffffc893, 0xfffebe80, 0xfffeb36a, 0xffffc68f,
0xfffffef9, 0xffe6a261, 0xff975e05, 0xffbf6000, 0xffff7f00, 0xffff7f00, 0xfffecc9c, 0xffa25000, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffff7f00, 0xffff8400, 0xffff8400, 0xffffddb8, 0xfffce4c8, 0xfffdd5ab, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa25000, 0xffe87300,
0xffff9d3c, 0xfffcf4eb, 0xfffffcfe, 0xfffdac66, 0xffffc280, 0xffffddb8, 0xffffeddb, 0xffffd6ad, 0xfffff3e7, 0xffffefe1, 0xfffffefd, 0xfffead5e,
0xffffecdd, 0xffffab5b, 0xfffb8d1f, 0xffff7f00, 0xfff77b10, 0xffff7f00, 0xffff8a17, 0xffff8711, 0xffff8309, 0xffff8207, 0xffffe7cf, 0xfffedcba,
0xffff7f00, 0xffcc7311, 0xffe6a261, 0xfffff2e6, 0xfffcfffe, 0xfffcfffe, 0xffffc893, 0xffffc995, 0xffffc083, 0xedff8b19, 0x1eff8b19, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xffffeed6, 0xffffe2c2, 0xffdc831c, 0xffff8400, 0x00000000, 0x71ff8b19, 0xffff9833, 0xffffe6cd, 0xffffe2c5, 0xfffedfc0,
0xffff7a00, 0xffff7f00, 0xffff7f00, 0xffff8f00, 0xffffa546, 0xfffeeada, 0xfffff6ed, 0xffffa853, 0xffff860f, 0xffff840b, 0xffff8207, 0xffff942b,
0xffffd2a3, 0xfffdc489, 0xffffb15f, 0xfffcfffe, 0xfffcfffe, 0xffffeed6, 0xfffff7ef, 0xfffed2a8, 0xfffeba78, 0xffffa955, 0xffffa853, 0xfffeddbc,
0xffff9835, 0xfffdcda7, 0xfffdd5ab, 0xfffdebd3, 0xffff9406, 0xfffb870b, 0xffffffff, 0xffff8207, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffff7f00, 0xffff7f00, 0xffff7f00, 0xffffa556, 0xffffecdd, 0xfffeaf5c, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xfffecd9e,
0xffffaa5a, 0xfffeb36b, 0xfffeb36b, 0xffffb15f, 0xffffa041, 0xffffdabe, 0xffffead5, 0xffffa853, 0xffffc995, 0xffffe2c5, 0xffffe7cf, 0xfffff8f1,
0xffffe1c9, 0xffff8400, 0xffff7f00, 0xffff7f00, 0xffff8a19, 0xffff9406, 0xffff9833, 0xffff8207, 0xffff8003, 0xffff7f01, 0xffffa145, 0xfffff1e3,
0xffffebdb, 0xffffcc98, 0xfffdcda7, 0xffff9d3c, 0xffffebdb, 0xfffcfffe, 0xffffc995, 0xffffca97, 0xfffecea0, 0xffff952d, 0x71ff8b19, 0x00000000,
0xfffffcfe, 0xfffcfffe, 0xffffbd73, 0xffffb15f, 0xfffbd1b0, 0xffffe1c9, 0x03ff5b01, 0xc5ff8b19, 0xfffebb7a, 0xffffe2c5, 0xfffedebe, 0xffffe6cd,
0xffffe2c2, 0xffff8c00, 0xfffb870b, 0xffff7f00, 0xfffa8000, 0xffffc594, 0xffffe8d1, 0xffff8b19, 0xffff8a17, 0xffff8915, 0xffff8711, 0xffffdbb7,
0xfffffcfe, 0xfffcf4eb, 0xfffcead2, 0xffffe8cc, 0xfffee4d0, 0xffffe7d3, 0xfffee4ca, 0xffffc893, 0xfffeb166, 0xffffa853, 0xfffee5cc, 0xffffffff,
0xfffdfaf5, 0xfffffcfe, 0xfffedbb6, 0xffff8a19, 0xffff8400, 0xffff8c00, 0xffffffff, 0xffffe6cd, 0xffa85300, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffff8a19, 0xffffe2c2, 0xfffee4d0, 0xffffcc98, 0xffffb66e, 0xffffbd73, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xfffa7c00, 0xffffffff,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffdf9fb, 0xffff9d3c, 0xffffffff, 0xfffee5cc, 0xffffa853, 0xffffc58d, 0xffffdab5, 0xffffe7cf,
0xffffbd73, 0xfffdce9f, 0xffffe2c2, 0xfff9dfcc, 0xffff9d3c, 0xffff8c00, 0xffffdbb7, 0xffff8003, 0xffff7f01, 0xfffc7d00, 0xfffc7d00, 0xfffee5cc,
0xfffe8125, 0xffff8e00, 0xffffaa5a, 0xffffc78c, 0xffffd8ae, 0xffffe7d3, 0xffffd6ad, 0xffffcb99, 0xfffecd9e, 0xfffeb268, 0xc5ff8b19, 0x03ff5b01,
0xfffeeada, 0xffffddb8, 0xffffc78c, 0xffffa546, 0xffff8400, 0xffff8400, 0x27ff8c1b, 0xf6ff8b19, 0xffffd6ad, 0xfffedcba, 0xfffeddbc, 0xfffff2e5,
0xffff8a19, 0xffffa12b, 0xfffde5c9, 0xffffe1c9, 0xffffcc98, 0xffffc280, 0xfffeb976, 0xffff8c1b, 0xffff8c1b, 0xffff8c1b, 0xffffa751, 0xfffff6ed,
0xffff9e3e, 0xfffffcfe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffffef9, 0xffffd8b1, 0xffffc893, 0xffff9a37, 0xfffeddbc, 0xffffffff, 0xffffffff,
0xfffcfffe, 0xfffeeada, 0xffff9406, 0xffffc594, 0xffffd2a3, 0xffffe8cc, 0xffffffff, 0xffffffff, 0xffffa145, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xfffeeada, 0xffffb15f, 0xfffe8125, 0xffff7f00, 0xffff8400, 0xffff7d1a, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xfffedcba, 0xffffffff,
0xffff8a19, 0xffff9406, 0xffff912b, 0xffff8a19, 0xffff7f00, 0xffff8800, 0xffffffff, 0xffffffff, 0xfffeddbc, 0xffff9a37, 0xffffc791, 0xfffecc9c,
0xffff8400, 0xffff7f00, 0xfffdac66, 0xffffecdd, 0xfffdebd3, 0xffffd2a3, 0xfffff2e5, 0xffff9e3f, 0xffff7f01, 0xffff7f01, 0xffff8003, 0xfffeb268,
0xfffdcda7, 0xffff9835, 0xffffe9cd, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffead5, 0xffffca97, 0xffffca97, 0xffffc893, 0xf6ff8b19, 0x27ff8c1b,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffffef9, 0xffffe7d3, 0xffff9b21, 0x5fff8b19, 0xffff9833, 0xfffedcba, 0xffffdbb7, 0xffffdbb7, 0xfffffefd,
0xffffc280, 0xfffddab5, 0xfffddfbf, 0xfffff2e6, 0xffffe2c2, 0xffffb66e, 0xffff9125, 0xffff8a17, 0xffff8a17, 0xffff8c1b, 0xffffe1c3, 0xffffead5,
0xffff9835, 0xffff8a19, 0xffff8500, 0xffff7f00, 0xffff8400, 0xffff8400, 0xfffedebe, 0xfffeb36a, 0xffffc58d, 0xffffffff, 0xffffffff, 0xffffffff,
0xffff870e, 0xffff9835, 0xffffb76f, 0xffffddb8, 0xffffecdd, 0xffffdabe, 0xffffffff, 0xffffffff, 0xfffff7ef, 0xffc66200, 0xffa04f00, 0xffa04f00,
0xffffdabe, 0xffffc594, 0xffff9b21, 0xfffdebd3, 0xfffcfffe, 0xfffcfffe, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffff8915, 0xffffffff, 0xffffffff,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffc58d, 0xfffeaa58, 0xffffca97,
0xfffffcfe, 0xfffee4d0, 0xffff9e3e, 0xffffbb7b, 0xffffe2c2, 0xffffe2c2, 0xfffeddbc, 0xfffedebe, 0xffff7f01, 0xffff7f01, 0xffff7f01, 0xffff8711,
0xfffff3e7, 0xfffff3e7, 0xffffebdb, 0xffffd8ae, 0xfffecfa1, 0xffffc280, 0xfffffdfb, 0xfffecd9e, 0xfffecd9e, 0xfffed1a6, 0xffff962f, 0x5fff8b19,
0xffffc78c, 0xffffd2a3, 0xffffd8ae, 0xfffdebd3, 0xfffdf0dc, 0xfffdebd3, 0x92ff8b19, 0xffffa44b, 0xfffedcba, 0xffffd9b3, 0xffffe1c3, 0xfffee4ca,
0xffffddb8, 0xffffddb8, 0xffffc280, 0xffffa041, 0xffffe7d3, 0xfffffef9, 0xffff8813, 0xffff8813, 0xffff8813, 0xffff9731, 0xfffffefd, 0xfffedfc0,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffed1a6, 0xffff9f41, 0xfffef0e0, 0xffffffff, 0xffffffff, 0xffffffff,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffffdf7, 0xffffbd73, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffc083, 0xffda6c00, 0xfffeaa58,
0xffff9e3e, 0xffffcc98, 0xffffe2c2, 0xffffe9cd, 0xffffe8cc, 0xfffff1e4, 0xfffeb874, 0xffff9329, 0xffbc5d00, 0xffffe6cd, 0xffffffff, 0xffffffff,
0xfffff2e6, 0xfffdf9fb, 0xfffffdf7, 0xfffff2e6, 0xffffecdd, 0xfffee4d0, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffef0e0, 0xffff9f41, 0xffffc185,
0xffffe7d3, 0xffffdabe, 0xfffeca96, 0xffff9e3e, 0xffffbb7b, 0xfffffcfe, 0xffffcb99, 0xfffffdfb, 0xffff8d1d, 0xffff7f01, 0xffff8003, 0xffff8105,
0xfffffef9, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffe3c7, 0xffffdbb7, 0xfffed0a4, 0xffffd6ad, 0xffffa247, 0x92ff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xbaff8b19, 0xfffeb36a, 0xffffdbb7, 0xffffd8b1, 0xffffead5, 0xffffc995,
0xfffffcfe, 0xfffcfffe, 0xffffe7d3, 0xffffb361, 0xffffa546, 0xffffc07e, 0xffff8813, 0xffff8813, 0xffff8813, 0xfffeb46c, 0xfffff1e3, 0xffffdbb7,
0xffffcc98, 0xffffd8ae, 0xffffe2c2, 0xffffecdd, 0xfffdeee2, 0xffffe8cc, 0xfffeb874, 0xfffebd7e, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffd8ae, 0xffffc78c, 0xffffc07e, 0xffffa546, 0xffffb66e, 0xffffe1c9, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xfffffef9, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffebd7e, 0xfffeaf62,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffffef9, 0xfffcfffe, 0xfffecd9e, 0xffffeddb, 0xfffeb166, 0xffff8207, 0xffff8207, 0xffff8309,
0xfffff2e6, 0xfffdcda7, 0xffffb66e, 0xffffab5b, 0xffffaa5a, 0xffffaa5a, 0xffffc893, 0xffffe6cd, 0xfffed1a6, 0xfffed4aa, 0xfffeb56e, 0xbaff8b19,
0xffffab5b, 0xffffaa5a, 0xffffaa5a, 0xffffbb7b, 0xffffd2a3, 0xfffff2e6, 0xd1ff8b19, 0xffffc287, 0xfffeddbc, 0xffffdab5, 0xfffff1e3, 0xfffeb772,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffff8813, 0xffff8711, 0xffff8711, 0xfffecc9c, 0xfffee9d4, 0xffffd8b1,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe,}; 0xffffa54d, 0xffffd8b1, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffd8b1, 0xffffa349,
0xfffed0a4, 0xfffee5cc, 0xffffca97, 0xffff8309, 0xffff8309, 0xffff8309,
0xfffeb56e, 0xffffeddd, 0xfffed4aa, 0xffffd6ad, 0xffffc48b, 0xd1ff8b19,
0xe3ff8b19, 0xfffed1a6, 0xfffeddbc, 0xffffdbb7, 0xfffff5eb, 0xfffeab5a,
0xffff8915, 0xffff8813, 0xffff8813, 0xfffedebe, 0xfffee4ca, 0xffffd9b3,
0xffff9833, 0xfffeecda, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffd8b1, 0xffde6e00,
0xffa04f00, 0xffff8003, 0xffffead5, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffeecda, 0xffff9731,
0xfffed4aa, 0xfffedfc0, 0xffffe0c1, 0xffff850d, 0xffff850d, 0xffff850d,
0xffffa955, 0xfffff3e7, 0xffffd6ad, 0xffffd7af, 0xffffca97, 0xe3ff8b19,
0xedff8b19, 0xffffdbb7, 0xffffe3c7, 0xffffe0c1, 0xfffff8f1, 0xffffa751,
0xffff8c1b, 0xffff8c1b, 0xffff8c1b, 0xffffe7cf, 0xffffe6cd, 0xfffee5cc,
0xffffa54d, 0xfffffbf7, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xfffffdfb, 0xffc66200, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffff7f01, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffffbf7, 0xffffa44b,
0xfffedfc0, 0xfffedfc0, 0xffffe6cd, 0xffff860f, 0xffff860f, 0xffff860f,
0xffffa247, 0xfffff6ed, 0xffffd7af, 0xffffd8b1, 0xfffed2a8, 0xedff8b19,
0xedff8b19, 0xfffeddbc, 0xffffe6cd, 0xfffee5cc, 0xfffff9f3, 0xffffa955,
0xffff8f21, 0xffff8f21, 0xffff8f21, 0xffffd7af, 0xfffee9d4, 0xfffee9d4,
0xfffedebe, 0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedcba,
0xfffedcba, 0xfffff1e3, 0xffffffff, 0xfffee4ca, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffb05700, 0xffffffff, 0xffffffff, 0xffffead5,
0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedebe,
0xffffe7cf, 0xffffe7cf, 0xfffed2a8, 0xffff850d, 0xffff850d, 0xffff850d,
0xffffa145, 0xfffff5eb, 0xffffd6ad, 0xffffd7af, 0xfffed2a8, 0xedff8b19,
0xe3ff8b19, 0xfffeddbc, 0xffffead5, 0xffffe8d1, 0xfffff8f1, 0xfffeb166,
0xffff9125, 0xffff9227, 0xffff9227, 0xffff9227, 0xffff9227, 0xffff9227,
0xffc46100, 0xffa25000, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffffa853, 0xffffffff, 0xfffff9f3, 0xffb85b00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffea7400, 0xffffffff, 0xffffffff, 0xffff8915,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa25000, 0xffbe5e00,
0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d,
0xffffa955, 0xfffff3e7, 0xffffd6ad, 0xffffd6ad, 0xfffecea0, 0xe3ff8b19,
0xd1ff8b19, 0xfffed1a6, 0xffffeddb, 0xffffebd7, 0xfffff7ef, 0xfffebd7e,
0xffff9227, 0xffff942b, 0xffff942b, 0xffff942b, 0xffff942b, 0xffff9329,
0xffda6c00, 0xffa65200, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffff8d1d, 0xffffffff, 0xffffffff, 0xffffcb99, 0xffb85b00,
0xffa04f00, 0xffd26800, 0xffffe2c5, 0xffffffff, 0xffffffff, 0xffd26800,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa65200, 0xffd06700,
0xffff860f, 0xffff860f, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d,
0xfffeb56e, 0xfffeeee0, 0xffffd6ad, 0xffffd8b1, 0xffffc48b, 0xd1ff8b19,
0xbaff8b19, 0xffffc083, 0xfffeeee0, 0xffffeddb, 0xfffff4e9, 0xfffecea0,
0xffff9329, 0xffff942b, 0xffff9329, 0xffff9329, 0xffff9125, 0xffff9125,
0xfff07700, 0xffaa5400, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffac5500, 0xffffe6cd, 0xffffffff, 0xffffffff, 0xffffffff,
0xfffff3e7, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffecd9e, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffaa5400, 0xffe67200,
0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff860f,
0xffffc893, 0xfffee9d4, 0xffffd7af, 0xffffd9b3, 0xfffeb772, 0xbaff8b19,
0x92ff8b19, 0xfffead5e, 0xfffeeee0, 0xffffeddb, 0xffffefe1, 0xffffe6cd,
0xffff9227, 0xffff9125, 0xffff9125, 0xffff8f21, 0xffff8e1f, 0xffff8d1d,
0xffff8309, 0xffae5600, 0xffa25000, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffd66a00, 0xfffee4ca, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xfffecfa2, 0xffbc5d00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa25000, 0xffae5600, 0xfffa7c00,
0xffff840b, 0xffff840b, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d,
0xffffe3c7, 0xffffe0c1, 0xffffd8b1, 0xffffdab5, 0xffffa54d, 0x92ff8b19,
0x5fff8b19, 0xffff9b39, 0xffffeddd, 0xffffebd7, 0xfffee9d4, 0xfffffefd,
0xffff9833, 0xffff8f21, 0xffff8d1d, 0xffff8c1b, 0xffff8c1b, 0xffff8915,
0xffff860f, 0xffdc6d00, 0xffa85300, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xfffeb670, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffff9329, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa85300, 0xffda6c00, 0xffff8105,
0xffff8207, 0xffff8309, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff8e1f,
0xfffffefd, 0xffffd7af, 0xffffd7af, 0xffffdab5, 0xffff9731, 0x5fff8b19,
0x27ff8c1b, 0xf6ff8b19, 0xffffe1c3, 0xffffe6cd, 0xfffee4ca, 0xfffff4e9,
0xfffeb976, 0xffff8c1b, 0xffff8a17, 0xffff8915, 0xffff860f, 0xffff8207,
0xffff8003, 0xfff67a00, 0xffae5600, 0xffa45100, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffea7400, 0xfffffdfb, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xfffff3e7, 0xffb85b00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa45100, 0xffae5600, 0xfff27800, 0xffff7f01,
0xffff8003, 0xffff8105, 0xffff8207, 0xffff8309, 0xffff8309, 0xfffeb36a,
0xfffeeee0, 0xffffd5ab, 0xffffd6ad, 0xfffed4aa, 0xf6ff8b19, 0x27ff8c1b,
0x03ff5b01, 0xc5ff8b19, 0xffffbf81, 0xfffee5cc, 0xffffe2c5, 0xffffe7cf,
0xffffe6cd, 0xffff8813, 0xffff850d, 0xffff8309, 0xffff8105, 0xffff7f01,
0xffff7f01, 0xffff8003, 0xffea7400, 0xffac5500, 0xffa45100, 0xffa04f00,
0xffa04f00, 0xffa45100, 0xfffedebe, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffc083, 0xffa04f00,
0xffa04f00, 0xffa45100, 0xffac5500, 0xffe87300, 0xfffa7c00, 0xfffa7c00,
0xfffc7d00, 0xffff7f01, 0xffff8003, 0xffff8207, 0xffff8309, 0xfffee5cc,
0xfffedcba, 0xfffed2a8, 0xffffd6ad, 0xfffeb874, 0xc5ff8b19, 0x03ff5b01,
0x00000000, 0x71ff8b19, 0xffff9731, 0xfffee4ca, 0xfffeddbc, 0xffffd9b3,
0xfffff4e9, 0xffffa44b, 0xffff8105, 0xffff7f01, 0xffff7f01, 0xffff7f01,
0xffff7f01, 0xffff7f01, 0xffff7f01, 0xffe27000, 0xffac5500, 0xffa45100,
0xffa04f00, 0xffffa145, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffa7c00,
0xffa45100, 0xffac5500, 0xffe47100, 0xffff7f01, 0xffff7f01, 0xfffc7d00,
0xfffc7d00, 0xfffa7c00, 0xffff7f01, 0xffff7f01, 0xffffa145, 0xfffff3e7,
0xfffed0a4, 0xfffed2a8, 0xffffd7af, 0xffff962f, 0x71ff8b19, 0x00000000,
0x00000000, 0x1eff8b19, 0xedff8b19, 0xffffc791, 0xffffd9b3, 0xfffed4aa,
0xfffedebe, 0xffffe7cf, 0xffff8003, 0xffff7f01, 0xffff7f01, 0xffff7f01,
0xffff7f01, 0xffff7f01, 0xfffc7d00, 0xffff7f01, 0xffec7500, 0xffae5600,
0xffd86b00, 0xfffff7ef, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffff4e9, 0xffffe7cf,
0xffb65a00, 0xffee7600, 0xffff8003, 0xffff7f01, 0xffff8003, 0xffff7f01,
0xfffc7d00, 0xfffa7c00, 0xfffa7c00, 0xffff7f01, 0xffffe7cf, 0xfffeddbc,
0xfffecc9c, 0xfffed1a6, 0xffffc68f, 0xedff8b19, 0x1eff8b19, 0x00000000,
0x00000000, 0x00000000, 0x92ff8b19, 0xffff9731, 0xfffed4aa, 0xfffecc9c,
0xffffcb99, 0xffffead5, 0xfffeb772, 0xffff7f01, 0xffff7f01, 0xffff7f01,
0xfffc7d00, 0xfffc7d00, 0xffff7f01, 0xffff8207, 0xffff8309, 0xffff8003,
0xffffd7af, 0xffffca97, 0xfffebd7e, 0xffffd8b1, 0xfffeecda, 0xfffffaf5,
0xfffffaf5, 0xfffeecda, 0xffffd8b1, 0xfffebd7e, 0xffff9f41, 0xfffeddbc,
0xffffc287, 0xffff850d, 0xffff8309, 0xffff8003, 0xffff7f01, 0xffff7f01,
0xffff7f01, 0xffff7f01, 0xfffc7d00, 0xfffeb56e, 0xffffe8d1, 0xffffc791,
0xffffca97, 0xfffed0a4, 0xffff9e3f, 0x92ff8b19, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x22ff8a17, 0xeeff8b19, 0xfffeba78, 0xfffecc9c,
0xffffcb99, 0xffffd5ab, 0xfffffcf9, 0xffff9731, 0xffff7f01, 0xfffc7d00,
0xfffc7d00, 0xffff7f01, 0xffff8105, 0xffff8309, 0xffff850d, 0xfffeb166,
0xfffff4e9, 0xfffed1a6, 0xfffeba78, 0xffffa751, 0xffff9935, 0xffff8f21,
0xffff8f21, 0xffff9935, 0xffffa64f, 0xfffeb874, 0xfffecd9e, 0xffffdab5,
0xfffffcf9, 0xffff9935, 0xffff850d, 0xffff8207, 0xffff7f01, 0xffff7f01,
0xffff7f01, 0xffff7f01, 0xffff9731, 0xfffffcf9, 0xfffecfa2, 0xffffc68f,
0xffffc995, 0xffffbf81, 0xeeff8b19, 0x22ff8a17, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x7cff8b19, 0xffff8d1d, 0xfffecc9c,
0xfffecd9e, 0xfffecc9c, 0xffffe0c1, 0xfffff1e3, 0xffff8c1b, 0xfffc7d00,
0xffff7f01, 0xffff8003, 0xffff8207, 0xffff840b, 0xffff8e1f, 0xfffff5eb,
0xffffead5, 0xffffe0c1, 0xfffeddbc, 0xfffeddbc, 0xffffe1c3, 0xfffee5cc,
0xffffe6cd, 0xffffe1c3, 0xfffedcba, 0xffffdbb7, 0xffffdbb7, 0xffffe6cd,
0xfffff4e9, 0xffffc58d, 0xffff850d, 0xffff8309, 0xffff8105, 0xffff7f01,
0xffff7f01, 0xffff8c1b, 0xfffff2e5, 0xffffe0c1, 0xffffc893, 0xffffc893,
0xffffca97, 0xffff942b, 0x7cff8b19, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x0bff8f17, 0xc8ff8b19, 0xffff9c3b,
0xfffecfa2, 0xffffca97, 0xffffc995, 0xffffe3c7, 0xffffeddb, 0xffff9023,
0xffff8003, 0xffff8105, 0xffff8309, 0xffff850d, 0xffff8813, 0xffffa955,
0xffffe0c1, 0xfffffdfb, 0xfffff3e7, 0xffffebd7, 0xffffeddb, 0xffffebd7,
0xfffeecda, 0xffffeddb, 0xffffebd7, 0xfffff2e5, 0xfffffcf9, 0xfffedfc0,
0xffffa54d, 0xffff8309, 0xffff840b, 0xffff850d, 0xffff840b, 0xffff8105,
0xffff9023, 0xffffeddb, 0xfffee5cc, 0xffffcb99, 0xffffca97, 0xffffcb99,
0xffffa64f, 0xc8ff8b19, 0x0bff8f17, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x31ff8c1b, 0xedff8b19,
0xfffeac5c, 0xffffcb99, 0xffffc995, 0xffffc893, 0xffffe2c5, 0xfffff6ed,
0xffffa145, 0xffff8207, 0xffff850d, 0xffff8711, 0xffff8a17, 0xffff8c1b,
0xffff8c1b, 0xffff9227, 0xfffeb268, 0xfffed0a4, 0xffffd6ad, 0xfffee9d4,
0xfffee9d4, 0xffffd6ad, 0xfffed0a4, 0xfffeb268, 0xffff9023, 0xffff8813,
0xffff8711, 0xffff850d, 0xffff840b, 0xffff850d, 0xffff850d, 0xffffa145,
0xfffff6ed, 0xffffe2c5, 0xffffcb99, 0xffffcb99, 0xfffecd9e, 0xfffeb772,
0xedff8b19, 0x31ff8c1b, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x5aff8b19,
0xfcff8b19, 0xfffeb772, 0xfffecc9c, 0xffffca97, 0xfffecc9c, 0xffffe0c1,
0xfffffefd, 0xfffebd7e, 0xffff860f, 0xffff8813, 0xffff8a17, 0xffff8b19,
0xffff8b19, 0xffff8a17, 0xffff8915, 0xffff8b19, 0xffff8d1d, 0xffff8f21,
0xffff9023, 0xffff8d1d, 0xffff8a17, 0xffff8813, 0xffff8813, 0xffff8813,
0xffff8813, 0xffff860f, 0xffff840b, 0xffff840b, 0xfffebd7e, 0xfffffefd,
0xffffe1c3, 0xfffecd9e, 0xffffcb99, 0xfffecd9e, 0xffffc083, 0xfcff8b19,
0x5aff8b19, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x71ff8b19, 0xffff8a17, 0xfffeb976, 0xfffecea0, 0xfffecfa2, 0xfffed0a4,
0xffffd9b3, 0xfffeeee0, 0xfffee9d4, 0xffffa64f, 0xffff8c1b, 0xffff8c1b,
0xffff8a17, 0xffff8a17, 0xffff8915, 0xffff8c1b, 0xffff8d1d, 0xffff8f21,
0xffff8f21, 0xffff8e1f, 0xffff8b19, 0xffff8813, 0xffff8813, 0xffff8813,
0xffff8813, 0xffff860f, 0xffffa247, 0xffffe8d1, 0xffffeddd, 0xffffdab5,
0xfffed2a8, 0xfffed4aa, 0xfffecfa2, 0xffffc185, 0xffff8f21, 0x71ff8b19,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x71ff8b19, 0xfcff8b19, 0xfffeb46c, 0xfffed0a4, 0xffffd5ab,
0xffffd5ab, 0xffffd8b1, 0xffffe7cf, 0xfffff7ef, 0xffffe6cd, 0xffffbf81,
0xffff9833, 0xffff8915, 0xffff8a17, 0xffff8c1b, 0xffff8e1f, 0xffff9023,
0xffff8f21, 0xffff8e1f, 0xffff8c1b, 0xffff8a17, 0xffff8813, 0xffff962f,
0xfffebd7e, 0xffffe6cd, 0xfffff5eb, 0xffffe3c7, 0xfffed4aa, 0xffffd6ad,
0xffffd6ad, 0xffffd5ab, 0xfffebb7a, 0xfcff8b19, 0x71ff8b19, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x5aff8b19, 0xeeff8b19, 0xffffa54d, 0xffffd7af,
0xffffdbb7, 0xffffdbb7, 0xfffeddbc, 0xfffedfc0, 0xffffe7cf, 0xfffff1e3,
0xfffffbf7, 0xffffead5, 0xfffed0a4, 0xfffebe80, 0xfffeba78, 0xffffa955,
0xffffa955, 0xfffebb7a, 0xfffebe80, 0xfffecfa2, 0xffffead5, 0xfffffbf7,
0xfffeeee0, 0xffffe3c7, 0xffffd7af, 0xffffd5ab, 0xfffed4aa, 0xffffd9b3,
0xffffd8b1, 0xfffeaa58, 0xeeff8b19, 0x5aff8b19, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x34ff8b19, 0xc5ff8b19, 0xffff952d,
0xffffc995, 0xfffedfc0, 0xffffe1c3, 0xffffe1c3, 0xfffedfc0, 0xfffedebe,
0xffffdbb7, 0xffffe2c5, 0xffffebd7, 0xfffff2e5, 0xfffff3e7, 0xfffff9f3,
0xfffff9f3, 0xfffff4e9, 0xfffff2e5, 0xffffebd7, 0xffffe2c5, 0xfffedcba,
0xfffedcba, 0xffffdab5, 0xffffdbb7, 0xffffd9b3, 0xffffd7af, 0xffffc995,
0xffff9833, 0xc5ff8b19, 0x34ff8b19, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0cff8315, 0x7cff8b19,
0xecff8b19, 0xffff9f41, 0xfffecfa2, 0xfffee4ca, 0xffffe1c3, 0xfffedebe,
0xfffedcba, 0xfffedcba, 0xfffedebe, 0xffffe1c3, 0xffffe2c5, 0xffffe6cd,
0xffffe7cf, 0xfffee5cc, 0xffffe1c3, 0xfffeddbc, 0xfffedcba, 0xffffdbb7,
0xffffdbb7, 0xfffedebe, 0xfffedcba, 0xfffecfa2, 0xffffa349, 0xecff8b19,
0x7cff8b19, 0x0cff8315, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x26ff911b, 0x92ff8b19, 0xecff8b19, 0xffff952d, 0xfffebb7a, 0xffffd8b1,
0xffffe1c3, 0xffffe2c5, 0xffffe1c3, 0xffffe3c7, 0xfffee4ca, 0xffffe8d1,
0xfffee9d4, 0xffffe7cf, 0xfffee4ca, 0xffffe1c3, 0xffffe0c1, 0xfffeddbc,
0xffffd7af, 0xfffebe80, 0xffff9a37, 0xecff8b19, 0x92ff8b19, 0x26ff911b,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x1eff8b19, 0x73ff8b19, 0xc4ff8b19, 0xf5ff8b19,
0xffff962f, 0xffffa54d, 0xfffeb772, 0xffffc893, 0xffffd7af, 0xfffedcba,
0xfffedcba, 0xffffd8b1, 0xffffc995, 0xfffeb976, 0xffffa853, 0xffff9731,
0xf5ff8b19, 0xc4ff8b19, 0x73ff8b19, 0x1eff8b19, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01ff0101, 0x28ff8b19,
0x5fff8b19, 0x92ff8b19, 0xb8ff8b19, 0xd1ff8b19, 0xe3ff8b19, 0xedff8b19,
0xedff8b19, 0xe3ff8b19, 0xd1ff8b19, 0xb8ff8b19, 0x92ff8b19, 0x5fff8b19,
0x28ff8b19, 0x01ff0101, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
};
static unsigned char sdlappicon_mask[] = { static unsigned char sdlappicon_mask[] = {
0, 0, 255, 255, 0, 0, 0, 192, 255, 255, 3, 0, 0, 240,
255, 255, 15, 0, 0, 252, 255, 255, 63, 0, 0, 254, 255, 255,
127, 0, 0, 255, 255, 255, 255, 0, 128, 255, 255, 255, 255, 1,
192, 255, 255, 255, 255, 3, 224, 255, 255, 255, 255, 7, 240, 255,
255, 255, 255, 15, 248, 255, 255, 255, 255, 31, 248, 255, 255, 255,
255, 31, 252, 255, 255, 255, 255, 63, 252, 255, 255, 255, 255, 63,
254, 255, 255, 255, 255, 127, 254, 255, 255, 255, 255, 127, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 254, 255, 255, 255, 255, 127, 252, 255, 255, 255, 255, 63,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 63, 248, 255, 255, 255, 255, 31, 248, 255,
255, 255,}; 255, 255, 255, 31, 240, 255, 255, 255, 255, 15, 224, 255, 255, 255,
255, 7, 192, 255, 255, 255, 255, 3, 128, 255, 255, 255, 255, 1,
0, 255, 255, 255, 255, 0, 0, 254, 255, 255, 127, 0, 0, 252,
255, 255, 63, 0, 0, 240, 255, 255, 15, 0, 0, 192, 255, 255,
3, 0, 0, 0, 255, 255, 0, 0,};
struct sdlappicon sdlappicon = { struct sdlappicon sdlappicon = {
32,32, // width,height 48,48, // width,height
sdlappicon_pixels, sdlappicon_pixels,
sdlappicon_mask sdlappicon_mask
}; };

View file

@ -1,192 +1,417 @@
#include "sdlayer.h" #include "sdlayer.h"
static unsigned int sdlappicon_pixels[] = { static unsigned int sdlappicon_pixels[] = {
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffff2e6, 0xffffd2a3, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffb66e, 0xfffeaf5c, 0xfffeaf5c, 0xffffb15f, 0xfffeaf5c, 0xffffaa5a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01ff0101, 0x28ff8b19,
0xffffab5b, 0xfffdb879, 0xffffd2a3, 0xfffff1e4, 0xfffcfffe, 0xfffcfffe, 0x5fff8b19, 0x92ff8b19, 0xb8ff8b19, 0xd1ff8b19, 0xe3ff8b19, 0xedff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xedff8b19, 0xe3ff8b19, 0xd1ff8b19, 0xb8ff8b19, 0x92ff8b19, 0x5fff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x28ff8b19, 0x01ff0101, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffe8cc, 0xffffb66e, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffab5b, 0xfffdce9f, 0xfffde5c9, 0xfffff1e4, 0xfffefbf6, 0xfffff7ee, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffff2e6, 0xffffddb8, 0xfffecfa1, 0xffffc78c, 0xffffb66e, 0xffffa546, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffeb36b, 0xffffe8cc, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x1eff8b19, 0x73ff8b19, 0xc4ff8b19, 0xf5ff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffefbf6, 0xffffbb7b, 0xffff9e3f, 0xfffeb166, 0xffffc185, 0xfffed1a6, 0xffffe1c3, 0xffffe2c5,
0xfffda241, 0xffffd7ad, 0xfffff7ee, 0xfffffcfe, 0xfffffcfe, 0xfffffcfe, 0xffffe0c1, 0xffffd5ab, 0xffffc287, 0xfffeb268, 0xffffa54d, 0xffff9731,
0xfffcfffe, 0xfffffcfe, 0xfffcfffe, 0xfffcf4eb, 0xffffe7d3, 0xfffcdebe, 0xf5ff8b19, 0xc4ff8b19, 0x73ff8b19, 0x1eff8b19, 0x00000000, 0x00000000,
0xfffbd1b0, 0xffffd8ae, 0xfffcc69b, 0xffffa546, 0xffffbb7b, 0xfffefbf6, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffe8cc, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffff9e3e, 0xfffdb879, 0xffffe1c9, 0xffffecdd, 0xfffffdf7, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffff7ee, 0xffffe2c2, 0xffffd2a3, 0xfffec58a, 0xffffc07e, 0xffffc78c, 0x26ff911b, 0x92ff8b19, 0xecff8b19, 0xffffa145, 0xfffecc9c, 0xffffefe1,
0xffffd8ae, 0xffffe7d3, 0xffffe9cd, 0xffffeed6, 0xffffeed6, 0xfffff2e6, 0xfffffbf7, 0xfffffefd, 0xfffffefd, 0xfffffcf9, 0xfffff7ef, 0xfffff1e3,
0xfffdce9f, 0xffff9e3e, 0xffffe8cc, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffeddd, 0xffffe8d1, 0xfffedfc0, 0xfffedcba, 0xfffedcba, 0xffffd6ad,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffecea0, 0xfffeb874, 0xffff9935, 0xecff8b19, 0x92ff8b19, 0x26ff911b,
0xffffe7d3, 0xffff9835, 0xffffbd73, 0xffffcc98, 0xfffddab5, 0xfffff8f7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffce4c8, 0xffffc07e, 0xffffa556, 0xffff9835, 0xfffe9631, 0xffff8b1d, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffff8500, 0xffff8400, 0xffff8500, 0xffff912b, 0xffffb66e, 0xffffe1c1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffff7ee, 0xfffff7ee, 0xfffcfffe, 0xffffe0c8, 0xffff9d3c, 0xffffe8cc, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0cff8315, 0x7cff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xecff8b19, 0xffffa751, 0xfffeddbc, 0xfffff5eb, 0xfffffaf5, 0xfffffaf5,
0xfffcfffe, 0xfffeeada, 0xffff912b, 0xfffdb879, 0xffffbb7b, 0xfffddfbf, 0xfffffcf9, 0xfffff9f3, 0xfffffaf5, 0xfffffaf5, 0xfffff5eb, 0xffffefe1,
0xffffe7d3, 0xfffeaf5c, 0xffff8500, 0xffff870e, 0xfffe9631, 0xffff9d3c, 0xfffeecda, 0xffffe6cd, 0xfffeddbc, 0xffffdab5, 0xffffd7af, 0xfffed2a8,
0xffff9835, 0xffff9835, 0xffff912b, 0xffff870e, 0xffff8400, 0xffff8400, 0xfffed1a6, 0xfffed4aa, 0xffffdab5, 0xfffecfa2, 0xffffa44b, 0xecff8b19,
0xffff7f00, 0xffff870e, 0xffffb66e, 0xfffff7ee, 0xfffcfffe, 0xfffffdf7, 0x7cff8b19, 0x0cff8315, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffdebd3, 0xffff9835, 0xfffce8d8, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xfffefbf6, 0xffff9d3c, 0xfffdb26a, 0xffffbb7b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffdd5ab, 0xffffe0c8, 0xffff9d3c, 0xffff912b, 0xffff8400, 0xffff8b1d, 0x00000000, 0x00000000, 0x00000000, 0x34ff8b19, 0xc5ff8b19, 0xffff9935,
0xffff9b21, 0xffff9e3e, 0xffff9e3e, 0xffff9b21, 0xffff8b1d, 0xffff8800, 0xfffecd9e, 0xfffee5cc, 0xffffebd7, 0xffffefe1, 0xfffff5eb, 0xfffff8f1,
0xffff8500, 0xffff8400, 0xffff870e, 0xfffe8125, 0xffff8400, 0xfffea857, 0xfffffbf7, 0xfffffcf9, 0xfffffcf9, 0xfffffdfb, 0xfffffcf9, 0xfffffcf9,
0xfffff1e4, 0xfffffbfd, 0xfffdeee2, 0xffffd2a3, 0xffff9d3c, 0xfffffdf7, 0xfffffbf7, 0xfffff7ef, 0xfffff1e3, 0xffffead5, 0xfffeddbc, 0xfffed0a4,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffbb7b, 0xffffb66e, 0xfffed0a4, 0xfffed2a8, 0xffffdab5, 0xffffe2c5, 0xfffee5cc, 0xffffd7af,
0xfffeca96, 0xffffddb8, 0xffffdabe, 0xfffb870b, 0xffeb8500, 0xfffb870b, 0xffff9c3b, 0xc5ff8b19, 0x34ff8b19, 0x00000000, 0x00000000, 0x00000000,
0xffffaa5a, 0xffffaa5a, 0xffff912b, 0xffff9835, 0xffff9d3c, 0xffff9835, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffff912b, 0xffff870e, 0xffff7d1a, 0xffff8400, 0xffff9835, 0xfffeaf5c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffff912b, 0xffff8a19, 0xffff9406, 0xffffe2c2, 0xfffff1e4, 0xfffce4c8, 0x00000000, 0x00000000, 0x5aff8b19, 0xeeff8b19, 0xffffa44b, 0xfffed0a4,
0xffffc07e, 0xffffbb7b, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffe9cd, 0xffffd9b3, 0xfffedebe, 0xfffee5cc, 0xfffeecda, 0xfffff5eb, 0xfffffbf7,
0xffff9d3c, 0xffffd8ae, 0xfffdd5ab, 0xfffeeada, 0xffeb8500, 0xffeb8500, 0xfffffefd, 0xffffeddd, 0xffffd5ab, 0xffffc389, 0xfffeb670, 0xfffeab5a,
0xffeb7f00, 0xfffdb26a, 0xfffdfaf5, 0xfffee4d0, 0xfff28500, 0xffde7110, 0xffffa853, 0xfffead5e, 0xfffeb874, 0xfffecc9c, 0xffffebd7, 0xfffffaf5,
0xffce6715, 0xffb25903, 0xffb35a07, 0xffc66000, 0xffd86b00, 0xfff17c13, 0xffffebd7, 0xfffeddbc, 0xfffedfc0, 0xffffe2c5, 0xfffee4ca, 0xffffead5,
0xffffcb97, 0xfffffdf7, 0xffffc07e, 0xffff8a19, 0xffff7f00, 0xffff9b21, 0xfffff1e3, 0xfffeb46c, 0xeeff8b19, 0x5aff8b19, 0x00000000, 0x00000000,
0xfffeeeea, 0xffffddb8, 0xfffdd5ab, 0xffff9d3c, 0xfffeeada, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffcfffe, 0xffffb66e, 0xfffdc995, 0xfffce4c8, 0xfffff2e6, 0xffffab5b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffc8e23, 0xfffb870b, 0xfff9af67, 0xfffff2e6, 0xffffc594, 0xfffcc69b, 0x00000000, 0x71ff8b19, 0xfcff8b19, 0xfffead5e, 0xffffc995, 0xffffcb99,
0xffe9994f, 0xff8f5800, 0xff994e00, 0xff974a16, 0xff9d4c00, 0xff994e00, 0xfffed1a6, 0xffffdbb7, 0xffffebd7, 0xfffff9f3, 0xffffead5, 0xffffc68f,
0xff8c4800, 0xffcb6a1c, 0xfffbd1b0, 0xfffff7ee, 0xfffcfffe, 0xffffbb7b, 0xffffa751, 0xffff9c3b, 0xffff9c3b, 0xffff9c3b, 0xffff9935, 0xffff962f,
0xffff7f00, 0xffff8800, 0xffffab5b, 0xffffe7d3, 0xfffdcda7, 0xffffbd73, 0xffff9227, 0xffff8d1d, 0xffff8813, 0xffff8711, 0xffff850d, 0xffff9125,
0xffffb15f, 0xfffcfffe, 0xfffff2e6, 0xfffea343, 0xfffee4d0, 0xfffff2e6, 0xfffeba78, 0xffffe7cf, 0xfffff7ef, 0xfffeecda, 0xffffe7cf, 0xffffeddb,
0xffffe1c1, 0xffff7f00, 0xffff8a19, 0xfffda241, 0xfffff2e6, 0xffffc280, 0xfffff4e9, 0xfffff6ed, 0xffffca97, 0xfcff8b19, 0x71ff8b19, 0x00000000,
0xffff9835, 0xffffe0c8, 0xfffce8d8, 0xffb66a12, 0xff944f00, 0xffa24f07, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffa24f07, 0xff9d4c00, 0xff975e05, 0xffe8b993, 0xffffe7d3, 0xffffaa5a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffe7d3, 0xfffffdf7, 0xffff9e3e, 0xffff8f00, 0xfffe8300, 0xffffd8ae, 0x71ff8b19, 0xffff8813, 0xfffead5e, 0xffffc389, 0xffffc389, 0xffffc791,
0xffffdabe, 0xffffcc98, 0xffff9d3c, 0xfffcf4eb, 0xffffd2a3, 0xffffbb7b, 0xfffed2a8, 0xffffeddb, 0xfffee9d4, 0xfffeae60, 0xffff942b, 0xffff9731,
0xffffe8cc, 0xfffff2e6, 0xfffdb879, 0xffff7f00, 0xffff8800, 0xfffcdcc5, 0xffff9b39, 0xffff9c3b, 0xffff9c3b, 0xffff9c3b, 0xffff9b39, 0xffff962f,
0xfffdeee2, 0xffffa556, 0xffffdabe, 0xfffcfffe, 0xfffffcfe, 0xffebb180, 0xffff9329, 0xffff8c1b, 0xffff8813, 0xffff8711, 0xffff8309, 0xffff8207,
0xff9b5c03, 0xff924d00, 0xff944f00, 0xff8e4f00, 0xffcc7311, 0xfffffcfe, 0xffff840b, 0xffff8a17, 0xfffead5e, 0xffffead5, 0xfffff7ef, 0xfffff2e5,
0xfffffcfe, 0xfffee2b9, 0xffffaa5a, 0xffffebdb, 0xffffd8ae, 0xfffe8300, 0xfffff5eb, 0xfffff4e9, 0xfffff6ed, 0xffffd7af, 0xffff8e1f, 0x71ff8b19,
0xffff9406, 0xffffb15f, 0xffffe8cc, 0xffffd2a3, 0xffffb66e, 0xffffd2a3, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffb66e, 0xffffc594, 0xfffee4d0, 0xffffe8cc, 0xffff9835, 0xfffe8300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x5aff8b19,
0xffffab5b, 0xfffffef9, 0xfffecfa1, 0xffffbd73, 0xfffffcfe, 0xfffcfffe, 0xfcff8b19, 0xfffeab5a, 0xfffebd7e, 0xfffebc7c, 0xffffc083, 0xffffd7af,
0xfffcfffe, 0xfffcf9f4, 0xffd06b00, 0xffb26000, 0xffbf6000, 0xffae6f17, 0xfffffdfb, 0xfffeba78, 0xffff860f, 0xffff8c1b, 0xffff9125, 0xffff962f,
0xfffcbe7c, 0xfffcfffe, 0xfffffcfe, 0xfffffef9, 0xffffb66e, 0xffffc07e, 0xffff9a37, 0xffff9c3b, 0xffff9c3b, 0xffff9c3b, 0xffff9b39, 0xffff9731,
0xfffff2e6, 0xffff9d3c, 0xfffc8e23, 0xffff8b1d, 0xffffe7d3, 0xffffd8ae, 0xffff9329, 0xffff8c1b, 0xffff8813, 0xffff860f, 0xffff8309, 0xffff8207,
0xffffc07e, 0xffffb66e, 0xffffaa5a, 0xffffd2a3, 0xfffdebd3, 0xfffbd1b0, 0xffff860f, 0xffff8b19, 0xffff8d1d, 0xffff9023, 0xffffc58d, 0xfffffefd,
0xffff8400, 0xffff7f00, 0xfffdc995, 0xfffff7ee, 0xfffdac66, 0xfffdf0dc, 0xfffff7ef, 0xfffff4e9, 0xfffff1e3, 0xffffefe1, 0xfffed0a4, 0xfcff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffffcfe, 0xfffffcfe, 0xfffdf0dc, 0xfffff1e4, 0x5aff8b19, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffffdf7, 0xfffce4c8, 0xfffcfffe, 0xfffffcfe, 0xfffcfffe, 0xfffcfffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x31ff8c1b, 0xedff8b19,
0xfffdf0dc, 0xffffa556, 0xfffeeada, 0xffffc78c, 0xffff8a19, 0xfffe8125, 0xffffa751, 0xfffebe80, 0xfffeb874, 0xfffeba78, 0xffffdbb7, 0xfffff5eb,
0xffffd2a3, 0xfffce4c8, 0xfffdcda7, 0xfffdac66, 0xffffaa5a, 0xffffd8ae, 0xffff9e3f, 0xffff7f01, 0xffff8309, 0xffff8813, 0xffff8f21, 0xffff942b,
0xffffefd7, 0xffffc78c, 0xffff7f00, 0xffff8800, 0xffffddb8, 0xffffe2c2, 0xffff9833, 0xffff9b39, 0xffff9c3b, 0xffff9c3b, 0xffff9b39, 0xffff9731,
0xffff9e3e, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffff9227, 0xffff8c1b, 0xffff8813, 0xffff850d, 0xffff8207, 0xffff8309,
0xfffcfffe, 0xfffeeeea, 0xfff1e7ca, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffff8915, 0xffff8d1d, 0xffff8e1f, 0xffff942b, 0xffff9731, 0xfffeb46c,
0xfffcfffe, 0xfffcfffe, 0xfffffdf7, 0xffff9e3e, 0xffffddb8, 0xffffd8ae, 0xfffff8f1, 0xfffff7ef, 0xffffeddb, 0xffffe7cf, 0xfffee5cc, 0xffffbf81,
0xffff8400, 0xffff8400, 0xffffc594, 0xffffe9cd, 0xffffd7ad, 0xffffaa5a, 0xedff8b19, 0x31ff8c1b, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xfffdae5b, 0xffffe7d3, 0xfffff7ee, 0xffffc280, 0xffff7f00, 0xffff8e00, 0x00000000, 0x00000000, 0x00000000, 0x0bff8f17, 0xc8ff8b19, 0xffff9d3d,
0xfffdeee2, 0xffffe9cd, 0xfffeca96, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffc68f, 0xffffc083, 0xfffebd7e, 0xffffdbb7, 0xfffeecda, 0xffff8915,
0xfffcfffe, 0xfffcfffe, 0xfff6dec2, 0xffad6806, 0xff926700, 0xffe98300, 0xfff07700, 0xfff87b00, 0xffff7f01, 0xffff840b, 0xffff8c1b, 0xffff9227,
0xfffffbfd, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffc594, 0xffff9731, 0xffff9b39, 0xffff9c3b, 0xffff9c3b, 0xffff9b39, 0xffff9731,
0xfffee4d0, 0xffffeed6, 0xffff8e00, 0xffff8500, 0xffffbd73, 0xffffecdd, 0xffff9227, 0xffff8c1b, 0xffff8711, 0xffff850d, 0xffff8207, 0xffff850d,
0xffffddb8, 0xffffab5b, 0xffffab5b, 0xffffecdd, 0xfffdf9fb, 0xffffc07e, 0xffff8b19, 0xffff8d1d, 0xffff9125, 0xffff9731, 0xffff9833, 0xffff9833,
0xffff8400, 0xffff9406, 0xffffc594, 0xfffdce9f, 0xffe7ba8b, 0xffdfb78e, 0xffffa54d, 0xffffefe1, 0xfffff2e5, 0xffffe0c1, 0xfffeddbc, 0xffffe1c3,
0xffdfb283, 0xffddb081, 0xffefbb8f, 0xfffcfffe, 0xffe0b88f, 0xff8c6000, 0xffffa955, 0xc8ff8b19, 0x0bff8f17, 0x00000000, 0x00000000, 0x00000000,
0xff8d4d17, 0xffb86700, 0xfffdfaf5, 0xffffebdb, 0xffe4b787, 0xffddb081, 0x00000000, 0x00000000, 0x00000000, 0x7cff8b19, 0xffff9023, 0xffffcb99,
0xffe2bb91, 0xffe6b98a, 0xfffeca96, 0xffffbb7b, 0xffff8500, 0xfffe8125, 0xffffc995, 0xffffc48b, 0xffffdab5, 0xfffff1e3, 0xffff8309, 0xffec7500,
0xffffc280, 0xffffecdd, 0xfffedbb6, 0xffffaa5a, 0xffffb15f, 0xffffecdd, 0xffee7600, 0xfff27800, 0xfffa7c00, 0xffff942b, 0xffffd7af, 0xffff9731,
0xfffffdf7, 0xfffdcda7, 0xffff8b1d, 0xffff8e00, 0xffff8800, 0xffff8500, 0xffff952d, 0xffff9935, 0xffff9c3b, 0xffff9c3b, 0xffff9c3b, 0xffff9731,
0xffc0670d, 0xff8a5203, 0xff935500, 0xff845200, 0xffb26d16, 0xfffeeeea, 0xffff9227, 0xffff8a17, 0xffff8711, 0xffff840b, 0xffff8309, 0xffff8813,
0xfffdf9fb, 0xffc27611, 0xffa0671c, 0xffeeaf76, 0xfffcfffe, 0xffe9994f, 0xffff8d1d, 0xfffeba78, 0xffffa64f, 0xffff9833, 0xffff9833, 0xffff962f,
0xff926700, 0xff905104, 0xff8a5203, 0xffb26000, 0xffff8400, 0xffff7f00, 0xffff942b, 0xffff9b39, 0xfffff3e7, 0xffffead5, 0xffffdbb7, 0xffffdbb7,
0xfffe8125, 0xffff7f00, 0xffffc594, 0xffffeed6, 0xffffd7ad, 0xfffdae5b, 0xffffd7af, 0xffff9227, 0x7cff8b19, 0x00000000, 0x00000000, 0x00000000,
0xfffdac66, 0xffffe1c9, 0xfffffef9, 0xffffddb8, 0xffff912b, 0xffff912b, 0x00000000, 0x00000000, 0x22ff8a17, 0xeeff8b19, 0xffffc083, 0xfffed2a8,
0xffff9406, 0xffff8a19, 0xffde7110, 0xff974a16, 0xffa24f07, 0xff9d4c00, 0xfffecc9c, 0xfffed1a6, 0xfffffcf9, 0xffff942b, 0xffec7500, 0xffea7400,
0xff9a5b00, 0xffe1a369, 0xfffcfffe, 0xfffdfaf5, 0xfffcf4eb, 0xfffcfffe, 0xffea7400, 0xffee7600, 0xffff9f41, 0xfffff9f3, 0xffffead5, 0xfffecfa2,
0xfffeeada, 0xffb66a12, 0xff965106, 0xffa24f07, 0xff974a16, 0xffd86b00, 0xffff9227, 0xffff8d1d, 0xffff7f01, 0xffe06f00, 0xffc66200, 0xffb45900,
0xffff7f00, 0xffff8800, 0xffff8400, 0xffff8500, 0xffffd2a3, 0xfffeeada, 0xffb45900, 0xffc05f00, 0xffd06700, 0xffe27000, 0xfffc7d00, 0xffff8a17,
0xfffdcda7, 0xffffaa5a, 0xffffb66e, 0xfffedbb6, 0xfffdfaf5, 0xfffeefe3, 0xffff9d3d, 0xfffffdfb, 0xfffffaf5, 0xfffeb56e, 0xffff9731, 0xffff942b,
0xffff9d3c, 0xffff8a19, 0xffff8d23, 0xffff870e, 0xfffa8000, 0xffb25903, 0xffff8f21, 0xffff8b19, 0xffffa145, 0xfffffcf9, 0xfffedebe, 0xffffd5ab,
0xff964b00, 0xff9d4c00, 0xff9d4c00, 0xffad6806, 0xfffbd1b0, 0xfffcfffe, 0xfffed0a4, 0xffffc287, 0xeeff8b19, 0x22ff8a17, 0x00000000, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xffdc831c, 0xff8c5914, 0xffa24f07, 0xff994e00, 0x00000000, 0x00000000, 0x92ff8b19, 0xffff9c3b, 0xfffedcba, 0xffffd5ab,
0xffa24f07, 0xfff77b10, 0xffff7d1a, 0xffff8500, 0xffff7f00, 0xffff9406, 0xfffed2a8, 0xffffebd7, 0xfffeb670, 0xfffa7c00, 0xfff47900, 0xfff07700,
0xfffeeada, 0xffffe2c2, 0xffffc78c, 0xfffdb879, 0xffffd2a3, 0xffffc280, 0xffea7400, 0xfffeaa58, 0xfffffdfb, 0xffffd5ab, 0xffffcb99, 0xfffffcf9,
0xfffdf0dc, 0xfffff7ee, 0xffffb66e, 0xffff7f00, 0xffff870e, 0xfffe8125, 0xffff860f, 0xffae5600, 0xffaa5400, 0xffa65200, 0xffa25000, 0xffa04f00,
0xffff7d00, 0xffd46800, 0xff9d4c00, 0xff9d4c00, 0xff935500, 0xffcf7c24, 0xffa04f00, 0xffa25000, 0xffa65200, 0xffaa5400, 0xffae5600, 0xffe47100,
0xfffdf9fb, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfff0cbaf, 0xff9f5a00, 0xffffd6ad, 0xfffff8f1, 0xfffff8f1, 0xfffffefd, 0xfffebd7e, 0xffff8f21,
0xff994e00, 0xff9d4c00, 0xffd56900, 0xffff7d1a, 0xfffe8125, 0xfffe8125, 0xffff8c1b, 0xffff8a17, 0xffff8711, 0xfffeba78, 0xfffeecda, 0xfffecd9e,
0xfffe8125, 0xffffb15f, 0xffffecdd, 0xfffddfbf, 0xffffbd73, 0xffffd2a3, 0xfffecc9c, 0xfffecea0, 0xffff9b39, 0x92ff8b19, 0x00000000, 0x00000000,
0xfffff2e6, 0xffffa556, 0xfffde5c9, 0xffffecdd, 0xffffddb8, 0xffff7f00, 0x00000000, 0x1eff8b19, 0xedff8b19, 0xfffecc9c, 0xffffe0c1, 0xffffdab5,
0xfffe8125, 0xffff7f00, 0xffff7f00, 0xffff7a00, 0xffd06b00, 0xff8e4f00, 0xfffee5cc, 0xffffe8d1, 0xffff8309, 0xffff8003, 0xffff7f01, 0xfff67a00,
0xffaf5e00, 0xfffdf9fb, 0xfffffef9, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffff9f41, 0xfffffdfb, 0xffffc893, 0xfffebe80, 0xfffeb36a, 0xffffc68f,
0xfffffef9, 0xffe6a261, 0xff975e05, 0xffbf6000, 0xffff7f00, 0xffff7f00, 0xfffecc9c, 0xffa25000, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffff7f00, 0xffff8400, 0xffff8400, 0xffffddb8, 0xfffce4c8, 0xfffdd5ab, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa25000, 0xffe87300,
0xffff9d3c, 0xfffcf4eb, 0xfffffcfe, 0xfffdac66, 0xffffc280, 0xffffddb8, 0xffffeddb, 0xffffd6ad, 0xfffff3e7, 0xffffefe1, 0xfffffefd, 0xfffead5e,
0xffffecdd, 0xffffab5b, 0xfffb8d1f, 0xffff7f00, 0xfff77b10, 0xffff7f00, 0xffff8a17, 0xffff8711, 0xffff8309, 0xffff8207, 0xffffe7cf, 0xfffedcba,
0xffff7f00, 0xffcc7311, 0xffe6a261, 0xfffff2e6, 0xfffcfffe, 0xfffcfffe, 0xffffc893, 0xffffc995, 0xffffc083, 0xedff8b19, 0x1eff8b19, 0x00000000,
0xfffcfffe, 0xfffcfffe, 0xffffeed6, 0xffffe2c2, 0xffdc831c, 0xffff8400, 0x00000000, 0x71ff8b19, 0xffff9833, 0xffffe6cd, 0xffffe2c5, 0xfffedfc0,
0xffff7a00, 0xffff7f00, 0xffff7f00, 0xffff8f00, 0xffffa546, 0xfffeeada, 0xfffff6ed, 0xffffa853, 0xffff860f, 0xffff840b, 0xffff8207, 0xffff942b,
0xffffd2a3, 0xfffdc489, 0xffffb15f, 0xfffcfffe, 0xfffcfffe, 0xffffeed6, 0xfffff7ef, 0xfffed2a8, 0xfffeba78, 0xffffa955, 0xffffa853, 0xfffeddbc,
0xffff9835, 0xfffdcda7, 0xfffdd5ab, 0xfffdebd3, 0xffff9406, 0xfffb870b, 0xffffffff, 0xffff8207, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffff7f00, 0xffff7f00, 0xffff7f00, 0xffffa556, 0xffffecdd, 0xfffeaf5c, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xfffecd9e,
0xffffaa5a, 0xfffeb36b, 0xfffeb36b, 0xffffb15f, 0xffffa041, 0xffffdabe, 0xffffead5, 0xffffa853, 0xffffc995, 0xffffe2c5, 0xffffe7cf, 0xfffff8f1,
0xffffe1c9, 0xffff8400, 0xffff7f00, 0xffff7f00, 0xffff8a19, 0xffff9406, 0xffff9833, 0xffff8207, 0xffff8003, 0xffff7f01, 0xffffa145, 0xfffff1e3,
0xffffebdb, 0xffffcc98, 0xfffdcda7, 0xffff9d3c, 0xffffebdb, 0xfffcfffe, 0xffffc995, 0xffffca97, 0xfffecea0, 0xffff952d, 0x71ff8b19, 0x00000000,
0xfffffcfe, 0xfffcfffe, 0xffffbd73, 0xffffb15f, 0xfffbd1b0, 0xffffe1c9, 0x03ff5b01, 0xc5ff8b19, 0xfffebb7a, 0xffffe2c5, 0xfffedebe, 0xffffe6cd,
0xffffe2c2, 0xffff8c00, 0xfffb870b, 0xffff7f00, 0xfffa8000, 0xffffc594, 0xffffe8d1, 0xffff8b19, 0xffff8a17, 0xffff8915, 0xffff8711, 0xffffdbb7,
0xfffffcfe, 0xfffcf4eb, 0xfffcead2, 0xffffe8cc, 0xfffee4d0, 0xffffe7d3, 0xfffee4ca, 0xffffc893, 0xfffeb166, 0xffffa853, 0xfffee5cc, 0xffffffff,
0xfffdfaf5, 0xfffffcfe, 0xfffedbb6, 0xffff8a19, 0xffff8400, 0xffff8c00, 0xffffffff, 0xffffe6cd, 0xffa85300, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffff8a19, 0xffffe2c2, 0xfffee4d0, 0xffffcc98, 0xffffb66e, 0xffffbd73, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xfffa7c00, 0xffffffff,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffdf9fb, 0xffff9d3c, 0xffffffff, 0xfffee5cc, 0xffffa853, 0xffffc58d, 0xffffdab5, 0xffffe7cf,
0xffffbd73, 0xfffdce9f, 0xffffe2c2, 0xfff9dfcc, 0xffff9d3c, 0xffff8c00, 0xffffdbb7, 0xffff8003, 0xffff7f01, 0xfffc7d00, 0xfffc7d00, 0xfffee5cc,
0xfffe8125, 0xffff8e00, 0xffffaa5a, 0xffffc78c, 0xffffd8ae, 0xffffe7d3, 0xffffd6ad, 0xffffcb99, 0xfffecd9e, 0xfffeb268, 0xc5ff8b19, 0x03ff5b01,
0xfffeeada, 0xffffddb8, 0xffffc78c, 0xffffa546, 0xffff8400, 0xffff8400, 0x27ff8c1b, 0xf6ff8b19, 0xffffd6ad, 0xfffedcba, 0xfffeddbc, 0xfffff2e5,
0xffff8a19, 0xffffa12b, 0xfffde5c9, 0xffffe1c9, 0xffffcc98, 0xffffc280, 0xfffeb976, 0xffff8c1b, 0xffff8c1b, 0xffff8c1b, 0xffffa751, 0xfffff6ed,
0xffff9e3e, 0xfffffcfe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffffef9, 0xffffd8b1, 0xffffc893, 0xffff9a37, 0xfffeddbc, 0xffffffff, 0xffffffff,
0xfffcfffe, 0xfffeeada, 0xffff9406, 0xffffc594, 0xffffd2a3, 0xffffe8cc, 0xffffffff, 0xffffffff, 0xffffa145, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xfffeeada, 0xffffb15f, 0xfffe8125, 0xffff7f00, 0xffff8400, 0xffff7d1a, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xfffedcba, 0xffffffff,
0xffff8a19, 0xffff9406, 0xffff912b, 0xffff8a19, 0xffff7f00, 0xffff8800, 0xffffffff, 0xffffffff, 0xfffeddbc, 0xffff9a37, 0xffffc791, 0xfffecc9c,
0xffff8400, 0xffff7f00, 0xfffdac66, 0xffffecdd, 0xfffdebd3, 0xffffd2a3, 0xfffff2e5, 0xffff9e3f, 0xffff7f01, 0xffff7f01, 0xffff8003, 0xfffeb268,
0xfffdcda7, 0xffff9835, 0xffffe9cd, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffead5, 0xffffca97, 0xffffca97, 0xffffc893, 0xf6ff8b19, 0x27ff8c1b,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffffef9, 0xffffe7d3, 0xffff9b21, 0x5fff8b19, 0xffff9833, 0xfffedcba, 0xffffdbb7, 0xffffdbb7, 0xfffffefd,
0xffffc280, 0xfffddab5, 0xfffddfbf, 0xfffff2e6, 0xffffe2c2, 0xffffb66e, 0xffff9125, 0xffff8a17, 0xffff8a17, 0xffff8c1b, 0xffffe1c3, 0xffffead5,
0xffff9835, 0xffff8a19, 0xffff8500, 0xffff7f00, 0xffff8400, 0xffff8400, 0xfffedebe, 0xfffeb36a, 0xffffc58d, 0xffffffff, 0xffffffff, 0xffffffff,
0xffff870e, 0xffff9835, 0xffffb76f, 0xffffddb8, 0xffffecdd, 0xffffdabe, 0xffffffff, 0xffffffff, 0xfffff7ef, 0xffc66200, 0xffa04f00, 0xffa04f00,
0xffffdabe, 0xffffc594, 0xffff9b21, 0xfffdebd3, 0xfffcfffe, 0xfffcfffe, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffff8915, 0xffffffff, 0xffffffff,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffc58d, 0xfffeaa58, 0xffffca97,
0xfffffcfe, 0xfffee4d0, 0xffff9e3e, 0xffffbb7b, 0xffffe2c2, 0xffffe2c2, 0xfffeddbc, 0xfffedebe, 0xffff7f01, 0xffff7f01, 0xffff7f01, 0xffff8711,
0xfffff3e7, 0xfffff3e7, 0xffffebdb, 0xffffd8ae, 0xfffecfa1, 0xffffc280, 0xfffffdfb, 0xfffecd9e, 0xfffecd9e, 0xfffed1a6, 0xffff962f, 0x5fff8b19,
0xffffc78c, 0xffffd2a3, 0xffffd8ae, 0xfffdebd3, 0xfffdf0dc, 0xfffdebd3, 0x92ff8b19, 0xffffa44b, 0xfffedcba, 0xffffd9b3, 0xffffe1c3, 0xfffee4ca,
0xffffddb8, 0xffffddb8, 0xffffc280, 0xffffa041, 0xffffe7d3, 0xfffffef9, 0xffff8813, 0xffff8813, 0xffff8813, 0xffff9731, 0xfffffefd, 0xfffedfc0,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffed1a6, 0xffff9f41, 0xfffef0e0, 0xffffffff, 0xffffffff, 0xffffffff,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffffdf7, 0xffffbd73, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffc083, 0xffda6c00, 0xfffeaa58,
0xffff9e3e, 0xffffcc98, 0xffffe2c2, 0xffffe9cd, 0xffffe8cc, 0xfffff1e4, 0xfffeb874, 0xffff9329, 0xffbc5d00, 0xffffe6cd, 0xffffffff, 0xffffffff,
0xfffff2e6, 0xfffdf9fb, 0xfffffdf7, 0xfffff2e6, 0xffffecdd, 0xfffee4d0, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffef0e0, 0xffff9f41, 0xffffc185,
0xffffe7d3, 0xffffdabe, 0xfffeca96, 0xffff9e3e, 0xffffbb7b, 0xfffffcfe, 0xffffcb99, 0xfffffdfb, 0xffff8d1d, 0xffff7f01, 0xffff8003, 0xffff8105,
0xfffffef9, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffe3c7, 0xffffdbb7, 0xfffed0a4, 0xffffd6ad, 0xffffa247, 0x92ff8b19,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xbaff8b19, 0xfffeb36a, 0xffffdbb7, 0xffffd8b1, 0xffffead5, 0xffffc995,
0xfffffcfe, 0xfffcfffe, 0xffffe7d3, 0xffffb361, 0xffffa546, 0xffffc07e, 0xffff8813, 0xffff8813, 0xffff8813, 0xfffeb46c, 0xfffff1e3, 0xffffdbb7,
0xffffcc98, 0xffffd8ae, 0xffffe2c2, 0xffffecdd, 0xfffdeee2, 0xffffe8cc, 0xfffeb874, 0xfffebd7e, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffd8ae, 0xffffc78c, 0xffffc07e, 0xffffa546, 0xffffb66e, 0xffffe1c9, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xfffffef9, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffebd7e, 0xfffeaf62,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffffef9, 0xfffcfffe, 0xfffecd9e, 0xffffeddb, 0xfffeb166, 0xffff8207, 0xffff8207, 0xffff8309,
0xfffff2e6, 0xfffdcda7, 0xffffb66e, 0xffffab5b, 0xffffaa5a, 0xffffaa5a, 0xffffc893, 0xffffe6cd, 0xfffed1a6, 0xfffed4aa, 0xfffeb56e, 0xbaff8b19,
0xffffab5b, 0xffffaa5a, 0xffffaa5a, 0xffffbb7b, 0xffffd2a3, 0xfffff2e6, 0xd1ff8b19, 0xffffc287, 0xfffeddbc, 0xffffdab5, 0xfffff1e3, 0xfffeb772,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xffff8813, 0xffff8711, 0xffff8711, 0xfffecc9c, 0xfffee9d4, 0xffffd8b1,
0xfffcfffe, 0xfffcfffe, 0xfffcfffe, 0xfffcfffe,}; 0xffffa54d, 0xffffd8b1, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffd8b1, 0xffffa349,
0xfffed0a4, 0xfffee5cc, 0xffffca97, 0xffff8309, 0xffff8309, 0xffff8309,
0xfffeb56e, 0xffffeddd, 0xfffed4aa, 0xffffd6ad, 0xffffc48b, 0xd1ff8b19,
0xe3ff8b19, 0xfffed1a6, 0xfffeddbc, 0xffffdbb7, 0xfffff5eb, 0xfffeab5a,
0xffff8915, 0xffff8813, 0xffff8813, 0xfffedebe, 0xfffee4ca, 0xffffd9b3,
0xffff9833, 0xfffeecda, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffd8b1, 0xffde6e00,
0xffa04f00, 0xffff8003, 0xffffead5, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffeecda, 0xffff9731,
0xfffed4aa, 0xfffedfc0, 0xffffe0c1, 0xffff850d, 0xffff850d, 0xffff850d,
0xffffa955, 0xfffff3e7, 0xffffd6ad, 0xffffd7af, 0xffffca97, 0xe3ff8b19,
0xedff8b19, 0xffffdbb7, 0xffffe3c7, 0xffffe0c1, 0xfffff8f1, 0xffffa751,
0xffff8c1b, 0xffff8c1b, 0xffff8c1b, 0xffffe7cf, 0xffffe6cd, 0xfffee5cc,
0xffffa54d, 0xfffffbf7, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xfffffdfb, 0xffc66200, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffff7f01, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffffbf7, 0xffffa44b,
0xfffedfc0, 0xfffedfc0, 0xffffe6cd, 0xffff860f, 0xffff860f, 0xffff860f,
0xffffa247, 0xfffff6ed, 0xffffd7af, 0xffffd8b1, 0xfffed2a8, 0xedff8b19,
0xedff8b19, 0xfffeddbc, 0xffffe6cd, 0xfffee5cc, 0xfffff9f3, 0xffffa955,
0xffff8f21, 0xffff8f21, 0xffff8f21, 0xffffd7af, 0xfffee9d4, 0xfffee9d4,
0xfffedebe, 0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedcba,
0xfffedcba, 0xfffff1e3, 0xffffffff, 0xfffee4ca, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffb05700, 0xffffffff, 0xffffffff, 0xffffead5,
0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedcba, 0xfffedebe,
0xffffe7cf, 0xffffe7cf, 0xfffed2a8, 0xffff850d, 0xffff850d, 0xffff850d,
0xffffa145, 0xfffff5eb, 0xffffd6ad, 0xffffd7af, 0xfffed2a8, 0xedff8b19,
0xe3ff8b19, 0xfffeddbc, 0xffffead5, 0xffffe8d1, 0xfffff8f1, 0xfffeb166,
0xffff9125, 0xffff9227, 0xffff9227, 0xffff9227, 0xffff9227, 0xffff9227,
0xffc46100, 0xffa25000, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffffa853, 0xffffffff, 0xfffff9f3, 0xffb85b00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffea7400, 0xffffffff, 0xffffffff, 0xffff8915,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa25000, 0xffbe5e00,
0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d,
0xffffa955, 0xfffff3e7, 0xffffd6ad, 0xffffd6ad, 0xfffecea0, 0xe3ff8b19,
0xd1ff8b19, 0xfffed1a6, 0xffffeddb, 0xffffebd7, 0xfffff7ef, 0xfffebd7e,
0xffff9227, 0xffff942b, 0xffff942b, 0xffff942b, 0xffff942b, 0xffff9329,
0xffda6c00, 0xffa65200, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffff8d1d, 0xffffffff, 0xffffffff, 0xffffcb99, 0xffb85b00,
0xffa04f00, 0xffd26800, 0xffffe2c5, 0xffffffff, 0xffffffff, 0xffd26800,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa65200, 0xffd06700,
0xffff860f, 0xffff860f, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d,
0xfffeb56e, 0xfffeeee0, 0xffffd6ad, 0xffffd8b1, 0xffffc48b, 0xd1ff8b19,
0xbaff8b19, 0xffffc083, 0xfffeeee0, 0xffffeddb, 0xfffff4e9, 0xfffecea0,
0xffff9329, 0xffff942b, 0xffff9329, 0xffff9329, 0xffff9125, 0xffff9125,
0xfff07700, 0xffaa5400, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffac5500, 0xffffe6cd, 0xffffffff, 0xffffffff, 0xffffffff,
0xfffff3e7, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffecd9e, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffaa5400, 0xffe67200,
0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff860f,
0xffffc893, 0xfffee9d4, 0xffffd7af, 0xffffd9b3, 0xfffeb772, 0xbaff8b19,
0x92ff8b19, 0xfffead5e, 0xfffeeee0, 0xffffeddb, 0xffffefe1, 0xffffe6cd,
0xffff9227, 0xffff9125, 0xffff9125, 0xffff8f21, 0xffff8e1f, 0xffff8d1d,
0xffff8309, 0xffae5600, 0xffa25000, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffd66a00, 0xfffee4ca, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xfffecfa2, 0xffbc5d00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa25000, 0xffae5600, 0xfffa7c00,
0xffff840b, 0xffff840b, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff850d,
0xffffe3c7, 0xffffe0c1, 0xffffd8b1, 0xffffdab5, 0xffffa54d, 0x92ff8b19,
0x5fff8b19, 0xffff9b39, 0xffffeddd, 0xffffebd7, 0xfffee9d4, 0xfffffefd,
0xffff9833, 0xffff8f21, 0xffff8d1d, 0xffff8c1b, 0xffff8c1b, 0xffff8915,
0xffff860f, 0xffdc6d00, 0xffa85300, 0xffa04f00, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xfffeb670, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffff9329, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa04f00, 0xffa85300, 0xffda6c00, 0xffff8105,
0xffff8207, 0xffff8309, 0xffff850d, 0xffff850d, 0xffff850d, 0xffff8e1f,
0xfffffefd, 0xffffd7af, 0xffffd7af, 0xffffdab5, 0xffff9731, 0x5fff8b19,
0x27ff8c1b, 0xf6ff8b19, 0xffffe1c3, 0xffffe6cd, 0xfffee4ca, 0xfffff4e9,
0xfffeb976, 0xffff8c1b, 0xffff8a17, 0xffff8915, 0xffff860f, 0xffff8207,
0xffff8003, 0xfff67a00, 0xffae5600, 0xffa45100, 0xffa04f00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffea7400, 0xfffffdfb, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xfffff3e7, 0xffb85b00, 0xffa04f00,
0xffa04f00, 0xffa04f00, 0xffa45100, 0xffae5600, 0xfff27800, 0xffff7f01,
0xffff8003, 0xffff8105, 0xffff8207, 0xffff8309, 0xffff8309, 0xfffeb36a,
0xfffeeee0, 0xffffd5ab, 0xffffd6ad, 0xfffed4aa, 0xf6ff8b19, 0x27ff8c1b,
0x03ff5b01, 0xc5ff8b19, 0xffffbf81, 0xfffee5cc, 0xffffe2c5, 0xffffe7cf,
0xffffe6cd, 0xffff8813, 0xffff850d, 0xffff8309, 0xffff8105, 0xffff7f01,
0xffff7f01, 0xffff8003, 0xffea7400, 0xffac5500, 0xffa45100, 0xffa04f00,
0xffa04f00, 0xffa45100, 0xfffedebe, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffc083, 0xffa04f00,
0xffa04f00, 0xffa45100, 0xffac5500, 0xffe87300, 0xfffa7c00, 0xfffa7c00,
0xfffc7d00, 0xffff7f01, 0xffff8003, 0xffff8207, 0xffff8309, 0xfffee5cc,
0xfffedcba, 0xfffed2a8, 0xffffd6ad, 0xfffeb874, 0xc5ff8b19, 0x03ff5b01,
0x00000000, 0x71ff8b19, 0xffff9731, 0xfffee4ca, 0xfffeddbc, 0xffffd9b3,
0xfffff4e9, 0xffffa44b, 0xffff8105, 0xffff7f01, 0xffff7f01, 0xffff7f01,
0xffff7f01, 0xffff7f01, 0xffff7f01, 0xffe27000, 0xffac5500, 0xffa45100,
0xffa04f00, 0xffffa145, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffa7c00,
0xffa45100, 0xffac5500, 0xffe47100, 0xffff7f01, 0xffff7f01, 0xfffc7d00,
0xfffc7d00, 0xfffa7c00, 0xffff7f01, 0xffff7f01, 0xffffa145, 0xfffff3e7,
0xfffed0a4, 0xfffed2a8, 0xffffd7af, 0xffff962f, 0x71ff8b19, 0x00000000,
0x00000000, 0x1eff8b19, 0xedff8b19, 0xffffc791, 0xffffd9b3, 0xfffed4aa,
0xfffedebe, 0xffffe7cf, 0xffff8003, 0xffff7f01, 0xffff7f01, 0xffff7f01,
0xffff7f01, 0xffff7f01, 0xfffc7d00, 0xffff7f01, 0xffec7500, 0xffae5600,
0xffd86b00, 0xfffff7ef, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffff4e9, 0xffffe7cf,
0xffb65a00, 0xffee7600, 0xffff8003, 0xffff7f01, 0xffff8003, 0xffff7f01,
0xfffc7d00, 0xfffa7c00, 0xfffa7c00, 0xffff7f01, 0xffffe7cf, 0xfffeddbc,
0xfffecc9c, 0xfffed1a6, 0xffffc68f, 0xedff8b19, 0x1eff8b19, 0x00000000,
0x00000000, 0x00000000, 0x92ff8b19, 0xffff9731, 0xfffed4aa, 0xfffecc9c,
0xffffcb99, 0xffffead5, 0xfffeb772, 0xffff7f01, 0xffff7f01, 0xffff7f01,
0xfffc7d00, 0xfffc7d00, 0xffff7f01, 0xffff8207, 0xffff8309, 0xffff8003,
0xffffd7af, 0xffffca97, 0xfffebd7e, 0xffffd8b1, 0xfffeecda, 0xfffffaf5,
0xfffffaf5, 0xfffeecda, 0xffffd8b1, 0xfffebd7e, 0xffff9f41, 0xfffeddbc,
0xffffc287, 0xffff850d, 0xffff8309, 0xffff8003, 0xffff7f01, 0xffff7f01,
0xffff7f01, 0xffff7f01, 0xfffc7d00, 0xfffeb56e, 0xffffe8d1, 0xffffc791,
0xffffca97, 0xfffed0a4, 0xffff9e3f, 0x92ff8b19, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x22ff8a17, 0xeeff8b19, 0xfffeba78, 0xfffecc9c,
0xffffcb99, 0xffffd5ab, 0xfffffcf9, 0xffff9731, 0xffff7f01, 0xfffc7d00,
0xfffc7d00, 0xffff7f01, 0xffff8105, 0xffff8309, 0xffff850d, 0xfffeb166,
0xfffff4e9, 0xfffed1a6, 0xfffeba78, 0xffffa751, 0xffff9935, 0xffff8f21,
0xffff8f21, 0xffff9935, 0xffffa64f, 0xfffeb874, 0xfffecd9e, 0xffffdab5,
0xfffffcf9, 0xffff9935, 0xffff850d, 0xffff8207, 0xffff7f01, 0xffff7f01,
0xffff7f01, 0xffff7f01, 0xffff9731, 0xfffffcf9, 0xfffecfa2, 0xffffc68f,
0xffffc995, 0xffffbf81, 0xeeff8b19, 0x22ff8a17, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x7cff8b19, 0xffff8d1d, 0xfffecc9c,
0xfffecd9e, 0xfffecc9c, 0xffffe0c1, 0xfffff1e3, 0xffff8c1b, 0xfffc7d00,
0xffff7f01, 0xffff8003, 0xffff8207, 0xffff840b, 0xffff8e1f, 0xfffff5eb,
0xffffead5, 0xffffe0c1, 0xfffeddbc, 0xfffeddbc, 0xffffe1c3, 0xfffee5cc,
0xffffe6cd, 0xffffe1c3, 0xfffedcba, 0xffffdbb7, 0xffffdbb7, 0xffffe6cd,
0xfffff4e9, 0xffffc58d, 0xffff850d, 0xffff8309, 0xffff8105, 0xffff7f01,
0xffff7f01, 0xffff8c1b, 0xfffff2e5, 0xffffe0c1, 0xffffc893, 0xffffc893,
0xffffca97, 0xffff942b, 0x7cff8b19, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x0bff8f17, 0xc8ff8b19, 0xffff9c3b,
0xfffecfa2, 0xffffca97, 0xffffc995, 0xffffe3c7, 0xffffeddb, 0xffff9023,
0xffff8003, 0xffff8105, 0xffff8309, 0xffff850d, 0xffff8813, 0xffffa955,
0xffffe0c1, 0xfffffdfb, 0xfffff3e7, 0xffffebd7, 0xffffeddb, 0xffffebd7,
0xfffeecda, 0xffffeddb, 0xffffebd7, 0xfffff2e5, 0xfffffcf9, 0xfffedfc0,
0xffffa54d, 0xffff8309, 0xffff840b, 0xffff850d, 0xffff840b, 0xffff8105,
0xffff9023, 0xffffeddb, 0xfffee5cc, 0xffffcb99, 0xffffca97, 0xffffcb99,
0xffffa64f, 0xc8ff8b19, 0x0bff8f17, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x31ff8c1b, 0xedff8b19,
0xfffeac5c, 0xffffcb99, 0xffffc995, 0xffffc893, 0xffffe2c5, 0xfffff6ed,
0xffffa145, 0xffff8207, 0xffff850d, 0xffff8711, 0xffff8a17, 0xffff8c1b,
0xffff8c1b, 0xffff9227, 0xfffeb268, 0xfffed0a4, 0xffffd6ad, 0xfffee9d4,
0xfffee9d4, 0xffffd6ad, 0xfffed0a4, 0xfffeb268, 0xffff9023, 0xffff8813,
0xffff8711, 0xffff850d, 0xffff840b, 0xffff850d, 0xffff850d, 0xffffa145,
0xfffff6ed, 0xffffe2c5, 0xffffcb99, 0xffffcb99, 0xfffecd9e, 0xfffeb772,
0xedff8b19, 0x31ff8c1b, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x5aff8b19,
0xfcff8b19, 0xfffeb772, 0xfffecc9c, 0xffffca97, 0xfffecc9c, 0xffffe0c1,
0xfffffefd, 0xfffebd7e, 0xffff860f, 0xffff8813, 0xffff8a17, 0xffff8b19,
0xffff8b19, 0xffff8a17, 0xffff8915, 0xffff8b19, 0xffff8d1d, 0xffff8f21,
0xffff9023, 0xffff8d1d, 0xffff8a17, 0xffff8813, 0xffff8813, 0xffff8813,
0xffff8813, 0xffff860f, 0xffff840b, 0xffff840b, 0xfffebd7e, 0xfffffefd,
0xffffe1c3, 0xfffecd9e, 0xffffcb99, 0xfffecd9e, 0xffffc083, 0xfcff8b19,
0x5aff8b19, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x71ff8b19, 0xffff8a17, 0xfffeb976, 0xfffecea0, 0xfffecfa2, 0xfffed0a4,
0xffffd9b3, 0xfffeeee0, 0xfffee9d4, 0xffffa64f, 0xffff8c1b, 0xffff8c1b,
0xffff8a17, 0xffff8a17, 0xffff8915, 0xffff8c1b, 0xffff8d1d, 0xffff8f21,
0xffff8f21, 0xffff8e1f, 0xffff8b19, 0xffff8813, 0xffff8813, 0xffff8813,
0xffff8813, 0xffff860f, 0xffffa247, 0xffffe8d1, 0xffffeddd, 0xffffdab5,
0xfffed2a8, 0xfffed4aa, 0xfffecfa2, 0xffffc185, 0xffff8f21, 0x71ff8b19,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x71ff8b19, 0xfcff8b19, 0xfffeb46c, 0xfffed0a4, 0xffffd5ab,
0xffffd5ab, 0xffffd8b1, 0xffffe7cf, 0xfffff7ef, 0xffffe6cd, 0xffffbf81,
0xffff9833, 0xffff8915, 0xffff8a17, 0xffff8c1b, 0xffff8e1f, 0xffff9023,
0xffff8f21, 0xffff8e1f, 0xffff8c1b, 0xffff8a17, 0xffff8813, 0xffff962f,
0xfffebd7e, 0xffffe6cd, 0xfffff5eb, 0xffffe3c7, 0xfffed4aa, 0xffffd6ad,
0xffffd6ad, 0xffffd5ab, 0xfffebb7a, 0xfcff8b19, 0x71ff8b19, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x5aff8b19, 0xeeff8b19, 0xffffa54d, 0xffffd7af,
0xffffdbb7, 0xffffdbb7, 0xfffeddbc, 0xfffedfc0, 0xffffe7cf, 0xfffff1e3,
0xfffffbf7, 0xffffead5, 0xfffed0a4, 0xfffebe80, 0xfffeba78, 0xffffa955,
0xffffa955, 0xfffebb7a, 0xfffebe80, 0xfffecfa2, 0xffffead5, 0xfffffbf7,
0xfffeeee0, 0xffffe3c7, 0xffffd7af, 0xffffd5ab, 0xfffed4aa, 0xffffd9b3,
0xffffd8b1, 0xfffeaa58, 0xeeff8b19, 0x5aff8b19, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x34ff8b19, 0xc5ff8b19, 0xffff952d,
0xffffc995, 0xfffedfc0, 0xffffe1c3, 0xffffe1c3, 0xfffedfc0, 0xfffedebe,
0xffffdbb7, 0xffffe2c5, 0xffffebd7, 0xfffff2e5, 0xfffff3e7, 0xfffff9f3,
0xfffff9f3, 0xfffff4e9, 0xfffff2e5, 0xffffebd7, 0xffffe2c5, 0xfffedcba,
0xfffedcba, 0xffffdab5, 0xffffdbb7, 0xffffd9b3, 0xffffd7af, 0xffffc995,
0xffff9833, 0xc5ff8b19, 0x34ff8b19, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0cff8315, 0x7cff8b19,
0xecff8b19, 0xffff9f41, 0xfffecfa2, 0xfffee4ca, 0xffffe1c3, 0xfffedebe,
0xfffedcba, 0xfffedcba, 0xfffedebe, 0xffffe1c3, 0xffffe2c5, 0xffffe6cd,
0xffffe7cf, 0xfffee5cc, 0xffffe1c3, 0xfffeddbc, 0xfffedcba, 0xffffdbb7,
0xffffdbb7, 0xfffedebe, 0xfffedcba, 0xfffecfa2, 0xffffa349, 0xecff8b19,
0x7cff8b19, 0x0cff8315, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x26ff911b, 0x92ff8b19, 0xecff8b19, 0xffff952d, 0xfffebb7a, 0xffffd8b1,
0xffffe1c3, 0xffffe2c5, 0xffffe1c3, 0xffffe3c7, 0xfffee4ca, 0xffffe8d1,
0xfffee9d4, 0xffffe7cf, 0xfffee4ca, 0xffffe1c3, 0xffffe0c1, 0xfffeddbc,
0xffffd7af, 0xfffebe80, 0xffff9a37, 0xecff8b19, 0x92ff8b19, 0x26ff911b,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x1eff8b19, 0x73ff8b19, 0xc4ff8b19, 0xf5ff8b19,
0xffff962f, 0xffffa54d, 0xfffeb772, 0xffffc893, 0xffffd7af, 0xfffedcba,
0xfffedcba, 0xffffd8b1, 0xffffc995, 0xfffeb976, 0xffffa853, 0xffff9731,
0xf5ff8b19, 0xc4ff8b19, 0x73ff8b19, 0x1eff8b19, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01ff0101, 0x28ff8b19,
0x5fff8b19, 0x92ff8b19, 0xb8ff8b19, 0xd1ff8b19, 0xe3ff8b19, 0xedff8b19,
0xedff8b19, 0xe3ff8b19, 0xd1ff8b19, 0xb8ff8b19, 0x92ff8b19, 0x5fff8b19,
0x28ff8b19, 0x01ff0101, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
};
static unsigned char sdlappicon_mask[] = { static unsigned char sdlappicon_mask[] = {
0, 0, 255, 255, 0, 0, 0, 192, 255, 255, 3, 0, 0, 240,
255, 255, 15, 0, 0, 252, 255, 255, 63, 0, 0, 254, 255, 255,
127, 0, 0, 255, 255, 255, 255, 0, 128, 255, 255, 255, 255, 1,
192, 255, 255, 255, 255, 3, 224, 255, 255, 255, 255, 7, 240, 255,
255, 255, 255, 15, 248, 255, 255, 255, 255, 31, 248, 255, 255, 255,
255, 31, 252, 255, 255, 255, 255, 63, 252, 255, 255, 255, 255, 63,
254, 255, 255, 255, 255, 127, 254, 255, 255, 255, 255, 127, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 254, 255, 255, 255, 255, 127, 252, 255, 255, 255, 255, 63,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 255, 255, 63, 248, 255, 255, 255, 255, 31, 248, 255,
255, 255,}; 255, 255, 255, 31, 240, 255, 255, 255, 255, 15, 224, 255, 255, 255,
255, 7, 192, 255, 255, 255, 255, 3, 128, 255, 255, 255, 255, 1,
0, 255, 255, 255, 255, 0, 0, 254, 255, 255, 127, 0, 0, 252,
255, 255, 63, 0, 0, 240, 255, 255, 15, 0, 0, 192, 255, 255,
3, 0, 0, 0, 255, 255, 0, 0,};
struct sdlappicon sdlappicon = { struct sdlappicon sdlappicon = {
32,32, // width,height 48,48, // width,height
sdlappicon_pixels, sdlappicon_pixels,
sdlappicon_mask sdlappicon_mask
}; };

View file

@ -1181,9 +1181,9 @@ static void movefx(void)
ht = s->hitag; ht = s->hitag;
if (T2 != SoundToggle) if (T2 != config.SoundToggle)
{ {
T2 = SoundToggle; T2 = config.SoundToggle;
T1 = 0; T1 = 0;
} }
@ -1202,14 +1202,14 @@ static void movefx(void)
T1 = 0; T1 = 0;
} }
} }
else if (s->lotag < 999 && (unsigned)sector[s->sectnum].lotag < 9 && AmbienceToggle && sector[SECT].floorz != sector[SECT].ceilingz) else if (s->lotag < 999 && (unsigned)sector[s->sectnum].lotag < 9 && config.AmbienceToggle && sector[SECT].floorz != sector[SECT].ceilingz)
{ {
if ((soundm[s->lotag]&2)) if ((soundm[s->lotag]&2))
{ {
x = dist(&sprite[ps[screenpeek].i],s); x = dist(&sprite[ps[screenpeek].i],s);
if (x < ht && T1 == 0 && FX_VoiceAvailable(soundpr[s->lotag]-1)) if (x < ht && T1 == 0 && FX_VoiceAvailable(soundpr[s->lotag]-1))
{ {
if (numenvsnds == NumVoices) if (numenvsnds == config.NumVoices)
{ {
j = headspritestat[11]; j = headspritestat[11];
while (j >= 0) while (j >= 0)

File diff suppressed because it is too large Load diff

View file

@ -27,45 +27,69 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define SETUPNAMEPARM "SETUPFILE" #define SETUPNAMEPARM "SETUPFILE"
extern int32 FXDevice; typedef struct {
extern int32 MusicDevice; //
extern int32 FXVolume; // Sound variables
extern int32 MusicVolume; //
//extern fx_blaster_config BlasterConfig; int32 FXDevice;
extern int32 NumVoices; int32 MusicDevice;
extern int32 NumChannels; int32 FXVolume;
extern int32 NumBits; int32 MusicVolume;
extern int32 MixRate; int32 SoundToggle;
//extern int32 MidiPort; int32 MusicToggle;
extern int32 ReverseStereo; int32 VoiceToggle;
int32 AmbienceToggle;
extern int32 UseJoystick, UseMouse; int32 NumVoices;
extern int32 RunMode; int32 NumChannels;
extern int32 AutoAim; int32 NumBits;
extern int32 MouseFilter, MouseBias; int32 MixRate;
extern int32 SmoothInput;
extern int32 ShowOpponentWeapons;
extern int32 ScreenMode;
extern int32 ScreenWidth;
extern int32 ScreenHeight;
extern int32 ScreenBPP;
extern int32 ForceSetup;
extern byte KeyboardKeys[NUMGAMEFUNCTIONS][2]; int32 ReverseStereo;
extern int32 MouseFunctions[MAXMOUSEBUTTONS][2];
extern int32 MouseDigitalFunctions[MAXMOUSEAXES][2];
extern int32 MouseAnalogueAxes[MAXMOUSEAXES];
extern int32 MouseAnalogueScale[MAXMOUSEAXES];
extern int32 JoystickFunctions[MAXJOYBUTTONS][2];
extern int32 JoystickDigitalFunctions[MAXJOYAXES][2];
extern int32 JoystickAnalogueAxes[MAXJOYAXES];
extern int32 JoystickAnalogueScale[MAXJOYAXES];
extern int32 JoystickAnalogueDead[MAXJOYAXES];
extern int32 JoystickAnalogueSaturate[MAXJOYAXES];
#ifdef _WIN32 int32 UseJoystick;
extern int32 checkforupdates, lastupdatecheck; int32 UseMouse;
#endif int32 RunMode;
int32 AutoAim;
int32 ShowOpponentWeapons;
int32 MouseFilter,MouseBias;
int32 SmoothInput;
// JBF 20031211: Store the input settings because
// (currently) jmact can't regurgitate them
byte KeyboardKeys[NUMGAMEFUNCTIONS][2];
int32 MouseFunctions[MAXMOUSEBUTTONS][2];
int32 MouseDigitalFunctions[MAXMOUSEAXES][2];
int32 MouseAnalogueAxes[MAXMOUSEAXES];
int32 MouseAnalogueScale[MAXMOUSEAXES];
int32 JoystickFunctions[MAXJOYBUTTONS][2];
int32 JoystickDigitalFunctions[MAXJOYAXES][2];
int32 JoystickAnalogueAxes[MAXJOYAXES];
int32 JoystickAnalogueScale[MAXJOYAXES];
int32 JoystickAnalogueDead[MAXJOYAXES];
int32 JoystickAnalogueSaturate[MAXJOYAXES];
//
// Screen variables
//
int32 ScreenMode;
int32 ScreenWidth;
int32 ScreenHeight;
int32 ScreenBPP;
int32 ForceSetup;
int32 scripthandle;
int32 setupread;
int32 CheckForUpdates;
int32 LastUpdateCheck;
int32 useprecache;
} config_t;
extern config_t config;
int32 CONFIG_ReadSetup( void ); int32 CONFIG_ReadSetup( void );
void CONFIG_GetSetupFilename( void ); void CONFIG_GetSetupFilename( void );

View file

@ -48,17 +48,17 @@ extern "C" {
#include "function.h" #include "function.h"
extern int conversion, shareware, gametype; extern int g_ScriptVersion, g_Shareware, g_GameType;
#define GAMEDUKE 0 #define GAMEDUKE 0
#define GAMENAM 1 #define GAMENAM 1
#define GAMEWW2 3 #define GAMEWW2 3
#define VOLUMEALL (shareware==0) #define VOLUMEALL (g_Shareware==0)
#define PLUTOPAK (conversion==14) #define PLUTOPAK (g_ScriptVersion==14)
#define VOLUMEONE (shareware==1) #define VOLUMEONE (g_Shareware==1)
#define NAM (gametype&1) #define NAM (g_GameType&1)
#define WW2GI (gametype&2) #define WW2GI (g_GameType&2)
#define MAXSLEEPDIST 16384 #define MAXSLEEPDIST 16384
#define SLEEPTIME 24*64 #define SLEEPTIME 24*64
@ -464,7 +464,6 @@ extern char scantoascwithshift[128];
//extern fx_device device; //extern fx_device device;
extern SAMPLE Sound[ NUM_SOUNDS ]; extern SAMPLE Sound[ NUM_SOUNDS ];
extern int32 VoiceToggle,AmbienceToggle;
extern SOUNDOWNER SoundOwner[NUM_SOUNDS][4]; extern SOUNDOWNER SoundOwner[NUM_SOUNDS][4];
extern char playerreadyflag[MAXPLAYERS],playerquitflag[MAXPLAYERS]; extern char playerreadyflag[MAXPLAYERS],playerquitflag[MAXPLAYERS];
@ -578,7 +577,6 @@ enum gametypeflags {
extern char *level_file_names[MAXVOLUMES*MAXLEVELS]; extern char *level_file_names[MAXVOLUMES*MAXLEVELS];
extern char num_volumes; extern char num_volumes;
extern int32 SoundToggle,MusicToggle;
extern int lastsavedpos; extern int lastsavedpos;
extern int restorepalette; extern int restorepalette;
extern int packetrate; extern int packetrate;
@ -647,8 +645,6 @@ extern long myaimmode, myaimstat, omyaimstat;
#define TILE_ANIM (MAXTILES-4) #define TILE_ANIM (MAXTILES-4)
#define TILE_VIEWSCR (MAXTILES-5) #define TILE_VIEWSCR (MAXTILES-5)
extern int useprecache;
enum events { enum events {
EVENT_INIT, EVENT_INIT,
EVENT_ENTERLEVEL, EVENT_ENTERLEVEL,

View file

@ -65,14 +65,15 @@ long cameradist = 0, cameraclock = 0;
static int playerswhenstarted; static int playerswhenstarted;
static int qe,cp,usecwd = 0; static int qe,cp,usecwd = 0;
static int32 CommandSetup = 0; static int32 g_CommandSetup = 0;
static int32 NoSetup = 0; static int32 g_NoSetup = 0;
static int32 NoAutoLoad = 0; static int32 g_NoAutoLoad = 0;
static int32 CommandSoundToggleOff = 0; static int32 g_NoSound = 0;
static int32 CommandMusicToggleOff = 0; static int32 g_NoMusic = 0;
static char *CommandMap = NULL; static char *CommandMap = NULL;
static char *CommandName = NULL,*netcfg = NULL; static char *CommandName = NULL;
static int keepaddr = 0; static char *CommandNet = NULL;
static int g_KeepAddr = 0;
int32 CommandWeaponChoice = 0; int32 CommandWeaponChoice = 0;
static struct strllist static struct strllist
{ {
@ -103,7 +104,8 @@ extern int32 numlumps;
static FILE *frecfilep = (FILE *)NULL; static FILE *frecfilep = (FILE *)NULL;
int restorepalette,screencapt; int restorepalette,screencapt;
static int nomorelogohack, nologo = 0; static int g_NoLogoAnim = 0;
static int g_NoLogo = 0;
static int sendmessagecommand = -1; static int sendmessagecommand = -1;
char defaultduke3dgrp[BMAX_PATH] = "duke3d.grp"; char defaultduke3dgrp[BMAX_PATH] = "duke3d.grp";
@ -114,8 +116,8 @@ static char *duke3ddef = "duke3d.def";
extern long lastvisinc; extern long lastvisinc;
int shareware = 0; int g_Shareware = 0;
int gametype = 0; int g_GameType = 0;
#define MAXUSERQUOTES 4 #define MAXUSERQUOTES 4
static long quotebot, quotebotgoal; static long quotebot, quotebotgoal;
@ -264,7 +266,7 @@ void setgamepalette(struct player_struct *player, char *pal, int set)
player->palette = pal; player->palette = pal;
} }
#define TEXTWRAPLEN (scale(35,ScreenWidth,320)) #define TEXTWRAPLEN (scale(35,config.ScreenWidth,320))
const char *stripcolorcodes(const char *t) const char *stripcolorcodes(const char *t)
{ {
@ -361,7 +363,7 @@ int gametext_(int small, int starttile, int x,int y,const char *t,int s,int p,in
if (ac < starttile || ac > (starttile + 93)) if (ac < starttile || ac > (starttile + 93))
break; break;
rotatesprite(x<<16,(y<<16)+(small?ScreenHeight<<15:0),65536,0,ac,s,p,small?(8|16):(2|orientation),x1,y1,x2,y2); rotatesprite(x<<16,(y<<16)+(small?config.ScreenHeight<<15:0),65536,0,ac,s,p,small?(8|16):(2|orientation),x1,y1,x2,y2);
if ((*t >= '0' && *t <= '9')) if ((*t >= '0' && *t <= '9'))
x += 8; x += 8;
else x += tilesizx[ac];//(tilesizx[ac]>>small); else x += tilesizx[ac];//(tilesizx[ac]>>small);
@ -492,13 +494,13 @@ void getpackets(void)
if (ALT_IS_PRESSED && KB_KeyPressed(sc_Enter)) if (ALT_IS_PRESSED && KB_KeyPressed(sc_Enter))
{ {
if (setgamemode(!ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP)) if (setgamemode(!config.ScreenMode,config.ScreenWidth,config.ScreenHeight,config.ScreenBPP))
{ {
OSD_Printf("Failed setting fullscreen video mode.\n"); OSD_Printf("Failed setting fullscreen video mode.\n");
if (setgamemode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP)) if (setgamemode(config.ScreenMode, config.ScreenWidth, config.ScreenHeight, config.ScreenBPP))
gameexit("Failed to recover from failure to set fullscreen video mode.\n"); gameexit("Failed to recover from failure to set fullscreen video mode.\n");
} }
else ScreenMode = !ScreenMode; else config.ScreenMode = !config.ScreenMode;
KB_ClearKeyDown(sc_Enter); KB_ClearKeyDown(sc_Enter);
restorepalette = 1; restorepalette = 1;
vscrn(); vscrn();
@ -823,7 +825,7 @@ void getpackets(void)
if (numlumps == 0) break; if (numlumps == 0) break;
if (SoundToggle == 0 || ud.lockout == 1 || FXDevice < 0) if (config.SoundToggle == 0 || ud.lockout == 1 || config.FXDevice < 0)
break; break;
rtsptr = (char *)RTS_GetSound(packbuf[1]-1); rtsptr = (char *)RTS_GetSound(packbuf[1]-1);
if (*rtsptr == 'C') if (*rtsptr == 'C')
@ -2578,7 +2580,7 @@ void gameexit(const char *t)
if (playerswhenstarted > 1 && ps[myconnectindex].gm&MODE_GAME && GTFLAGS(GAMETYPE_FLAG_SCORESHEET) && *t == ' ') if (playerswhenstarted > 1 && ps[myconnectindex].gm&MODE_GAME && GTFLAGS(GAMETYPE_FLAG_SCORESHEET) && *t == ' ')
{ {
dobonus(1); dobonus(1);
setgamemode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP); setgamemode(config.ScreenMode,config.ScreenWidth,config.ScreenHeight,config.ScreenBPP);
} }
if (*t != 0 && *(t+1) != 'V' && *(t+1) != 'Y') if (*t != 0 && *(t+1) != 'V' && *(t+1) != 'Y')
@ -2678,7 +2680,7 @@ static int strget_(int small,int x,int y,char *t,int dalen,int c)
y += 8; y += 8;
} }
rotatesprite((x+(small?4:8))<<16,((y+(small?0:4))<<16)+(small?ScreenHeight<<15:0),32768,0,SPINNINGNUKEICON+((totalclock>>3)%7),c,0,small?(8|16):2+8,0,0,xdim-1,ydim-1); rotatesprite((x+(small?4:8))<<16,((y+(small?0:4))<<16)+(small?config.ScreenHeight<<15:0),32768,0,SPINNINGNUKEICON+((totalclock>>3)%7),c,0,small?(8|16):2+8,0,0,xdim-1,ydim-1);
return (0); return (0);
} }
@ -7757,7 +7759,7 @@ static void nonsharedkeys(void)
{ {
CONTROL_ClearButton(gamefunc_Show_Opponents_Weapon); CONTROL_ClearButton(gamefunc_Show_Opponents_Weapon);
ud.showweapons = 1-ud.showweapons; ud.showweapons = 1-ud.showweapons;
ShowOpponentWeapons = ud.showweapons; config.ShowOpponentWeapons = ud.showweapons;
FTA(82-ud.showweapons,&ps[screenpeek]); FTA(82-ud.showweapons,&ps[screenpeek]);
} }
@ -7882,7 +7884,7 @@ static void nonsharedkeys(void)
} }
if (ud.lockout == 0) if (ud.lockout == 0)
if (SoundToggle && ALT_IS_PRESSED && (RTS_NumSounds() > 0) && rtsplaying == 0 && VoiceToggle) if (config.SoundToggle && ALT_IS_PRESSED && (RTS_NumSounds() > 0) && rtsplaying == 0 && config.VoiceToggle)
{ {
rtsptr = (char *)RTS_GetSound(i-1); rtsptr = (char *)RTS_GetSound(i-1);
if (*rtsptr == 'C') if (*rtsptr == 'C')
@ -8005,7 +8007,7 @@ FAKE_F3:
} }
} }
if (KB_KeyPressed(sc_F4) && FXDevice >= 0) if (KB_KeyPressed(sc_F4) && config.FXDevice >= 0)
{ {
KB_ClearKeyDown(sc_F4); KB_ClearKeyDown(sc_F4);
FX_StopAllSounds(); FX_StopAllSounds();
@ -8066,7 +8068,7 @@ FAKE_F3:
FTA(109+ps[myconnectindex].over_shoulder_on,&ps[myconnectindex]); FTA(109+ps[myconnectindex].over_shoulder_on,&ps[myconnectindex]);
} }
if (KB_KeyPressed(sc_F5) && MusicDevice >= 0) if (KB_KeyPressed(sc_F5) && config.MusicDevice >= 0)
{ {
KB_ClearKeyDown(sc_F5); KB_ClearKeyDown(sc_F5);
if (music_fn[0][(unsigned char)music_select] != NULL) if (music_fn[0][(unsigned char)music_select] != NULL)
@ -8163,7 +8165,7 @@ FAKE_F3:
{ {
CONTROL_ClearButton(gamefunc_AutoRun); CONTROL_ClearButton(gamefunc_AutoRun);
ud.auto_run = 1-ud.auto_run; ud.auto_run = 1-ud.auto_run;
RunMode = ud.auto_run; config.RunMode = ud.auto_run;
FTA(85+ud.auto_run,&ps[myconnectindex]); FTA(85+ud.auto_run,&ps[myconnectindex]);
} }
@ -8343,7 +8345,7 @@ static void setup_rancid_net(const char *fn)
return; return;
} }
if (keepaddr == 0) if (g_KeepAddr == 0)
{ {
for (i=0;i<rancid_players;i++) for (i=0;i<rancid_players;i++)
{ {
@ -8501,7 +8503,7 @@ static int parsegroupfiles(scriptfile *script)
else else
{ {
initprintf("Using group file '%s'.\n",fn); initprintf("Using group file '%s'.\n",fn);
if (!NoAutoLoad) if (!g_NoAutoLoad)
autoloadgrps(fn); autoloadgrps(fn);
} }
@ -8681,7 +8683,7 @@ static void checkcommandline(int argc,const char **argv)
{ {
strcpy(defaultduke3dgrp, "nam.grp"); strcpy(defaultduke3dgrp, "nam.grp");
strcpy(defaultconfilename, "nam.con"); strcpy(defaultconfilename, "nam.con");
gametype = 1; g_GameType = GAMENAM;
i++; i++;
continue; continue;
} }
@ -8689,33 +8691,33 @@ static void checkcommandline(int argc,const char **argv)
{ {
strcpy(defaultduke3dgrp, "ww2gi.grp"); strcpy(defaultduke3dgrp, "ww2gi.grp");
strcpy(defaultconfilename, "ww2gi.con"); strcpy(defaultconfilename, "ww2gi.con");
gametype = 3; g_GameType = GAMEWW2;
i++; i++;
continue; continue;
} }
if (!Bstrcasecmp(c+1,"setup")) if (!Bstrcasecmp(c+1,"setup"))
{ {
CommandSetup = TRUE; g_CommandSetup = TRUE;
i++; i++;
continue; continue;
} }
if (!Bstrcasecmp(c+1,"nosetup")) if (!Bstrcasecmp(c+1,"nosetup"))
{ {
NoSetup = 1; g_NoSetup = 1;
CommandSetup = 0; g_CommandSetup = 0;
i++; i++;
continue; continue;
} }
if (!Bstrcasecmp(c+1,"noautoload")) if (!Bstrcasecmp(c+1,"noautoload"))
{ {
initprintf("Autoload disabled\n"); initprintf("Autoload disabled\n");
NoAutoLoad = 1; g_NoAutoLoad = 1;
i++; i++;
continue; continue;
} }
if (!Bstrcasecmp(c+1,"keepaddr")) if (!Bstrcasecmp(c+1,"keepaddr"))
{ {
keepaddr = 1; g_KeepAddr = 1;
i++; i++;
continue; continue;
} }
@ -8729,9 +8731,9 @@ static void checkcommandline(int argc,const char **argv)
{ {
if (argc > i+1) if (argc > i+1)
{ {
NoSetup = TRUE; g_NoSetup = TRUE;
networkmode = 1; networkmode = 1;
netcfg = (char *)argv[i+1]; CommandNet = (char *)argv[i+1];
i++; i++;
} }
i++; i++;
@ -8739,7 +8741,7 @@ static void checkcommandline(int argc,const char **argv)
} }
if (!Bstrcasecmp(c+1,"net")) if (!Bstrcasecmp(c+1,"net"))
{ {
NoSetup = TRUE; g_NoSetup = TRUE;
firstnet = i; firstnet = i;
netparamcount = argc - i - 1; netparamcount = argc - i - 1;
netparam = (char **)calloc(netparamcount, sizeof(char**)); netparam = (char **)calloc(netparamcount, sizeof(char**));
@ -8774,7 +8776,7 @@ static void checkcommandline(int argc,const char **argv)
} }
if (!Bstrcasecmp(c+1,"nologo")) if (!Bstrcasecmp(c+1,"nologo"))
{ {
nologo = 1; g_NoLogo = 1;
i++; i++;
continue; continue;
} }
@ -8918,12 +8920,12 @@ static void checkcommandline(int argc,const char **argv)
c++; c++;
if (*c == 's' || *c == 'S') if (*c == 's' || *c == 'S')
{ {
CommandSoundToggleOff = 2; g_NoSound = 2;
initprintf("Sound off.\n"); initprintf("Sound off.\n");
} }
else if (*c == 'm' || *c == 'M') else if (*c == 'm' || *c == 'M')
{ {
CommandMusicToggleOff = 1; g_NoMusic = 1;
initprintf("Music off.\n"); initprintf("Music off.\n");
} }
else if (*c == 'd' || *c == 'D') else if (*c == 'd' || *c == 'D')
@ -9085,12 +9087,12 @@ static void Logo(void)
MUSIC_StopSong(); MUSIC_StopSong();
FX_StopAllSounds(); // JBF 20031228 FX_StopAllSounds(); // JBF 20031228
clearsoundlocks(); // JBF 20031228 clearsoundlocks(); // JBF 20031228
if (ud.multimode < 2 && (logoflags & LOGO_FLAG_ENABLED) && !nologo) if (ud.multimode < 2 && (logoflags & LOGO_FLAG_ENABLED) && !g_NoLogo)
{ {
if (VOLUMEALL && (logoflags & LOGO_FLAG_PLAYANIM)) if (VOLUMEALL && (logoflags & LOGO_FLAG_PLAYANIM))
{ {
if (!KB_KeyWaiting() && nomorelogohack == 0) if (!KB_KeyWaiting() && g_NoLogoAnim == 0)
{ {
getpackets(); getpackets();
playanm("logo.anm",5); playanm("logo.anm",5);
@ -9465,8 +9467,8 @@ static void Startup(long argc, const char **argv)
if (ud.multimode > 1) sanitizegametype(); if (ud.multimode > 1) sanitizegametype();
if (CommandSoundToggleOff) SoundToggle = 0; if (g_NoSound) config.SoundToggle = 0;
if (CommandMusicToggleOff) MusicToggle = 0; if (g_NoMusic) config.MusicToggle = 0;
if (CommandName) if (CommandName)
{ {
@ -9534,12 +9536,12 @@ static void Startup(long argc, const char **argv)
CONFIG_SetupMouse(); CONFIG_SetupMouse();
CONFIG_SetupJoystick(); CONFIG_SetupJoystick();
CONTROL_JoystickEnabled = (UseJoystick && CONTROL_JoyPresent); CONTROL_JoystickEnabled = (config.UseJoystick && CONTROL_JoyPresent);
CONTROL_MouseEnabled = (UseMouse && CONTROL_MousePresent); CONTROL_MouseEnabled = (config.UseMouse && CONTROL_MousePresent);
// JBF 20040215: evil and nasty place to do this, but joysticks are evil and nasty too // JBF 20040215: evil and nasty place to do this, but joysticks are evil and nasty too
for (i=0;i<joynumaxes;i++) for (i=0;i<joynumaxes;i++)
setjoydeadzone(i,JoystickAnalogueDead[i],JoystickAnalogueSaturate[i]); setjoydeadzone(i,config.JoystickAnalogueDead[i],config.JoystickAnalogueSaturate[i]);
inittimer(TICRATE); inittimer(TICRATE);
@ -9558,15 +9560,15 @@ static void Startup(long argc, const char **argv)
for (i=0;i<MAXPLAYERS;i++) for (i=0;i<MAXPLAYERS;i++)
playerreadyflag[i] = 0; playerreadyflag[i] = 0;
if (netcfg) if (CommandNet)
{ {
setup_rancid_net(netcfg); setup_rancid_net(CommandNet);
if (Bstrlen(rancid_ip_strings[MAXPLAYERS-1])) if (Bstrlen(rancid_ip_strings[MAXPLAYERS-1]))
{ {
initprintf("rmnet: Using %s as sort IP\n",rancid_ip_strings[MAXPLAYERS-1]); initprintf("rmnet: Using %s as sort IP\n",rancid_ip_strings[MAXPLAYERS-1]);
initprintf("rmnet: %d players\n",rancid_players); initprintf("rmnet: %d players\n",rancid_players);
} }
netcfg = 0; CommandNet = NULL;
} }
//initmultiplayers(netparamcount,netparam, 0,0,0); //initmultiplayers(netparamcount,netparam, 0,0,0);
@ -9639,7 +9641,7 @@ static void sendplayerupdate(void)
buf[l++] = 0; buf[l++] = 0;
buf[l++] = ps[myconnectindex].aim_mode = ud.mouseaiming; buf[l++] = ps[myconnectindex].aim_mode = ud.mouseaiming;
buf[l++] = ps[myconnectindex].auto_aim = AutoAim; buf[l++] = ps[myconnectindex].auto_aim = config.AutoAim;
buf[l++] = ps[myconnectindex].weaponswitch = ud.weaponswitch; buf[l++] = ps[myconnectindex].weaponswitch = ud.weaponswitch;
buf[l++] = ps[myconnectindex].palookup = ud.pcolor[myconnectindex] = ud.color; buf[l++] = ps[myconnectindex].palookup = ud.pcolor[myconnectindex] = ud.color;
@ -9741,7 +9743,7 @@ void updateplayer(void)
int j; int j;
ps[myconnectindex].aim_mode = ud.mouseaiming; ps[myconnectindex].aim_mode = ud.mouseaiming;
ps[myconnectindex].auto_aim = AutoAim; ps[myconnectindex].auto_aim = config.AutoAim;
ps[myconnectindex].weaponswitch = ud.weaponswitch; ps[myconnectindex].weaponswitch = ud.weaponswitch;
ps[myconnectindex].palookup = ud.pcolor[myconnectindex] = ud.color; ps[myconnectindex].palookup = ud.pcolor[myconnectindex] = ud.color;
j = ps[myconnectindex].team; j = ps[myconnectindex].team;
@ -9912,7 +9914,7 @@ void app_main(int argc,const char **argv)
#endif #endif
#ifdef _WIN32 #ifdef _WIN32
checkforupdates = -1; config.CheckForUpdates = -1;
#endif #endif
i = CONFIG_ReadSetup(); i = CONFIG_ReadSetup();
@ -9926,28 +9928,28 @@ void app_main(int argc,const char **argv)
"on your hard disk to store textures in your video card's native format, enabling them to load dramatically " "on your hard disk to store textures in your video card's native format, enabling them to load dramatically "
"faster after the first time they are loaded.\n\n" "faster after the first time they are loaded.\n\n"
"You will generally want to say 'yes' here, especially if using the HRP."); "You will generally want to say 'yes' here, especially if using the HRP.");
if (i) useprecache = glusetexcompr = glusetexcache = glusetexcachecompression = 1; if (i) config.useprecache = glusetexcompr = glusetexcache = glusetexcachecompression = 1;
else glusetexcache = glusetexcachecompression = 0; else glusetexcache = glusetexcachecompression = 0;
} }
#endif #endif
#ifdef _WIN32 #ifdef _WIN32
if (checkforupdates == -1) if (config.CheckForUpdates == -1)
{ {
i=wm_ynbox("Automatic Release Notification", i=wm_ynbox("Automatic Release Notification",
"Would you like EDuke32 to automatically check for new releases " "Would you like EDuke32 to automatically check for new releases "
"at startup?"); "at startup?");
checkforupdates = 0; config.CheckForUpdates = 0;
if (i) checkforupdates = 1; if (i) config.CheckForUpdates = 1;
} }
if (checkforupdates == 1) if (config.CheckForUpdates == 1)
{ {
if (time(NULL) - lastupdatecheck > UPDATEINTERVAL) if (time(NULL) - config.LastUpdateCheck > UPDATEINTERVAL)
{ {
if (getversionfromwebsite(tempbuf)) if (getversionfromwebsite(tempbuf))
{ {
lastupdatecheck = time(NULL); config.LastUpdateCheck = time(NULL);
if (atol(tempbuf) > BUILDDATE) if (atol(tempbuf) > BUILDDATE)
{ {
@ -10003,19 +10005,19 @@ void app_main(int argc,const char **argv)
if (!first) first = fg; if (!first) first = fg;
if (!Bstrcasecmp(fg->name, defaultduke3dgrp)) if (!Bstrcasecmp(fg->name, defaultduke3dgrp))
{ {
gametype = grpfiles[i].game; g_GameType = grpfiles[i].game;
break; break;
} }
} }
if (!fg && first) if (!fg && first)
{ {
Bstrcpy(defaultduke3dgrp, first->name); Bstrcpy(defaultduke3dgrp, first->name);
gametype = first->game; g_GameType = first->game;
} }
} }
#if (defined RENDERTYPEWIN || (defined RENDERTYPESDL && !defined __APPLE__ && defined HAVE_GTK2)) #if (defined RENDERTYPEWIN || (defined RENDERTYPESDL && !defined __APPLE__ && defined HAVE_GTK2))
if (i < 0 || (!NoSetup && ForceSetup) || CommandSetup) if (i < 0 || (!g_NoSetup && config.ForceSetup) || g_CommandSetup)
{ {
if (quitevent || !startwin_run()) if (quitevent || !startwin_run())
{ {
@ -10053,7 +10055,7 @@ void app_main(int argc,const char **argv)
else else
initprintf("Using group file '%s' as main group file.\n", duke3dgrp); initprintf("Using group file '%s' as main group file.\n", duke3dgrp);
if (!NoAutoLoad) if (!g_NoAutoLoad)
{ {
getfilenames("autoload","*.grp"); getfilenames("autoload","*.grp");
while (findfiles) { Bsprintf(tempbuf,"autoload/%s",findfiles->name); initprintf("Using group file '%s'.\n",tempbuf); initgroupfile(tempbuf); findfiles = findfiles->next; } while (findfiles) { Bsprintf(tempbuf,"autoload/%s",findfiles->name); initprintf("Using group file '%s'.\n",tempbuf); initgroupfile(tempbuf); findfiles = findfiles->next; }
@ -10081,7 +10083,7 @@ void app_main(int argc,const char **argv)
{ {
groupfile = j; groupfile = j;
initprintf("Using group file '%s'.\n",CommandGrps->str); initprintf("Using group file '%s'.\n",CommandGrps->str);
if (!NoAutoLoad) if (!g_NoAutoLoad)
autoloadgrps(CommandGrps->str); autoloadgrps(CommandGrps->str);
} }
@ -10095,7 +10097,7 @@ void app_main(int argc,const char **argv)
i = kopen4load("DUKESW.BIN",1); // JBF 20030810 i = kopen4load("DUKESW.BIN",1); // JBF 20030810
if (i!=-1) if (i!=-1)
{ {
shareware = 1; g_Shareware = 1;
kclose(i); kclose(i);
} }
@ -10195,7 +10197,7 @@ void app_main(int argc,const char **argv)
OSD_SetVersionString(HEAD2,0,2); OSD_SetVersionString(HEAD2,0,2);
registerosdcommands(); registerosdcommands();
if (setgamemode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP) < 0) if (setgamemode(config.ScreenMode,config.ScreenWidth,config.ScreenHeight,config.ScreenBPP) < 0)
{ {
int i = 0; int i = 0;
int xres[] = {800,640,320}; int xres[] = {800,640,320};
@ -10203,7 +10205,7 @@ void app_main(int argc,const char **argv)
int bpp[] = {32,16,8}; int bpp[] = {32,16,8};
initprintf("Failure setting video mode %dx%dx%d %s! Attempting safer mode...\n", initprintf("Failure setting video mode %dx%dx%d %s! Attempting safer mode...\n",
ScreenWidth,ScreenHeight,ScreenBPP,ScreenMode?"fullscreen":"windowed"); config.ScreenWidth,config.ScreenHeight,config.ScreenBPP,config.ScreenMode?"fullscreen":"windowed");
#if defined(POLYMOST) && defined(USE_OPENGL) #if defined(POLYMOST) && defined(USE_OPENGL)
while (setgamemode(0,xres[i],yres[i],bpp[i]) < 0) while (setgamemode(0,xres[i],yres[i],bpp[i]) < 0)
@ -10218,9 +10220,9 @@ void app_main(int argc,const char **argv)
i++; i++;
} }
#endif #endif
ScreenWidth = xres[i]; config.ScreenWidth = xres[i];
ScreenHeight = yres[i]; config.ScreenHeight = yres[i];
ScreenBPP = bpp[i]; config.ScreenBPP = bpp[i];
} }
initprintf("Checking music inits...\n"); initprintf("Checking music inits...\n");
@ -10299,14 +10301,14 @@ MAIN_LOOP_RESTART:
{ {
FX_StopAllSounds(); FX_StopAllSounds();
clearsoundlocks(); clearsoundlocks();
nomorelogohack = 1; g_NoLogoAnim = 1;
goto MAIN_LOOP_RESTART; goto MAIN_LOOP_RESTART;
} }
ud.auto_run = RunMode; ud.auto_run = config.RunMode;
ud.showweapons = ShowOpponentWeapons; ud.showweapons = config.ShowOpponentWeapons;
ps[myconnectindex].aim_mode = ud.mouseaiming; ps[myconnectindex].aim_mode = ud.mouseaiming;
ps[myconnectindex].auto_aim = AutoAim; ps[myconnectindex].auto_aim = config.AutoAim;
ps[myconnectindex].weaponswitch = ud.weaponswitch; ps[myconnectindex].weaponswitch = ud.weaponswitch;
ud.pteam[myconnectindex] = ud.team; ud.pteam[myconnectindex] = ud.team;
@ -11928,7 +11930,7 @@ FRAGBONUS:
if (playerswhenstarted > 1 && (gametype_flags[ud.coop]&GAMETYPE_FLAG_SCORESHEET)) if (playerswhenstarted > 1 && (gametype_flags[ud.coop]&GAMETYPE_FLAG_SCORESHEET))
{ {
if (!(MusicToggle == 0 || MusicDevice < 0)) if (!(config.MusicToggle == 0 || config.MusicDevice < 0))
sound(BONUSMUSIC); sound(BONUSMUSIC);
rotatesprite(0,0,65536L,0,MENUSCREEN,16,0,2+8+16+64,0,0,xdim-1,ydim-1); rotatesprite(0,0,65536L,0,MENUSCREEN,16,0,2+8+16+64,0,0,xdim-1,ydim-1);
@ -12033,7 +12035,7 @@ FRAGBONUS:
gametext(160,192,"PRESS ANY KEY TO CONTINUE",16,2+8+16); gametext(160,192,"PRESS ANY KEY TO CONTINUE",16,2+8+16);
if (!(MusicToggle == 0 || MusicDevice < 0)) if (!(config.MusicToggle == 0 || config.MusicDevice < 0))
sound(BONUSMUSIC); sound(BONUSMUSIC);
nextpage(); nextpage();

View file

@ -27,7 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "osd.h" #include "osd.h"
int conversion = 13; int g_ScriptVersion = 13;
char compilefile[BMAX_PATH] = "(none)"; // file we're currently compiling char compilefile[BMAX_PATH] = "(none)"; // file we're currently compiling
static char parsing_item_name[MAXVARLABEL] = "(none)", previous_item_name[MAXVARLABEL] = "NULL"; static char parsing_item_name[MAXVARLABEL] = "(none)", previous_item_name[MAXVARLABEL] = "NULL";
@ -4371,7 +4371,7 @@ repeatcase:
} }
else else
{ {
conversion = 14; g_ScriptVersion = 14;
initprintf("Duke Nukem 3D v1.4+ style CON files detected.\n"); initprintf("Duke Nukem 3D v1.4+ style CON files detected.\n");
} }
@ -4419,7 +4419,7 @@ repeatcase:
respawnactortime = params[j++]; respawnactortime = params[j++];
respawnitemtime = params[j++]; respawnitemtime = params[j++];
dukefriction = params[j++]; dukefriction = params[j++];
if (conversion == 14) gc = params[j++]; if (g_ScriptVersion == 14) gc = params[j++];
rpgblastradius = params[j++]; rpgblastradius = params[j++];
pipebombblastradius = params[j++]; pipebombblastradius = params[j++];
shrinkerblastradius = params[j++]; shrinkerblastradius = params[j++];
@ -4436,11 +4436,11 @@ repeatcase:
max_ammo_amount[DEVISTATOR_WEAPON] = params[j++]; max_ammo_amount[DEVISTATOR_WEAPON] = params[j++];
max_ammo_amount[TRIPBOMB_WEAPON] = params[j++]; max_ammo_amount[TRIPBOMB_WEAPON] = params[j++];
max_ammo_amount[FREEZE_WEAPON] = params[j++]; max_ammo_amount[FREEZE_WEAPON] = params[j++];
if (conversion == 14) max_ammo_amount[GROW_WEAPON] = params[j++]; if (g_ScriptVersion == 14) max_ammo_amount[GROW_WEAPON] = params[j++];
camerashitable = params[j++]; camerashitable = params[j++];
numfreezebounces = params[j++]; numfreezebounces = params[j++];
freezerhurtowner = params[j++]; freezerhurtowner = params[j++];
if (conversion == 14) if (g_ScriptVersion == 14)
{ {
spriteqamount = params[j++]; spriteqamount = params[j++];
if (spriteqamount > 1024) spriteqamount = 1024; if (spriteqamount > 1024) spriteqamount = 1024;

View file

@ -35,8 +35,6 @@ static long g_x,*g_t;
static spritetype *g_sp; static spritetype *g_sp;
static int killit_flag; static int killit_flag;
extern int32 scripthandle;
static void DoUserDef(int iSet, int lLabelID, int lVar2) static void DoUserDef(int iSet, int lLabelID, int lVar2)
{ {
long lValue; long lValue;
@ -4679,15 +4677,15 @@ static int parse(void)
{ {
int32 i=0; int32 i=0;
insptr++; insptr++;
if (scripthandle < 0) break; if (config.scripthandle < 0) break;
switch (tw) switch (tw)
{ {
case CON_SAVEGAMEVAR: case CON_SAVEGAMEVAR:
i=GetGameVarID(*insptr, g_i, g_p); i=GetGameVarID(*insptr, g_i, g_p);
SCRIPT_PutNumber(scripthandle, "Gamevars",aGameVars[*insptr++].szLabel,i,false,false); SCRIPT_PutNumber(config.scripthandle, "Gamevars",aGameVars[*insptr++].szLabel,i,false,false);
break; break;
case CON_READGAMEVAR: case CON_READGAMEVAR:
SCRIPT_GetNumber(scripthandle, "Gamevars",aGameVars[*insptr].szLabel,&i); SCRIPT_GetNumber(config.scripthandle, "Gamevars",aGameVars[*insptr].szLabel,&i);
SetGameVarID(*insptr++, i, g_i, g_p); SetGameVarID(*insptr++, i, g_i, g_p);
break; break;
} }

View file

@ -829,11 +829,11 @@ void menus(void)
break; break;
case 3: case 3:
i = AutoAim; i = config.AutoAim;
if (x == io) if (x == io)
AutoAim = (AutoAim == 2) ? 0 : AutoAim+1; config.AutoAim = (config.AutoAim == 2) ? 0 : config.AutoAim+1;
modval(0,2,(int *)&AutoAim,1,probey==3); modval(0,2,(int *)&config.AutoAim,1,probey==3);
if (AutoAim != i) if (config.AutoAim != i)
updateplayer(); updateplayer();
break; break;
@ -957,7 +957,7 @@ void menus(void)
case 3: case 3:
{ {
char *s[] = { "Off", "All weapons", "Hitscan only" }; char *s[] = { "Off", "All weapons", "Hitscan only" };
gametext(d-50,yy,s[AutoAim],MENUHIGHLIGHT(io),2+8+16); gametext(d-50,yy,s[config.AutoAim],MENUHIGHLIGHT(io),2+8+16);
} }
break; break;
@ -1844,7 +1844,7 @@ void menus(void)
menutext(160,24,0,0,"ABOUT EDUKE32"); menutext(160,24,0,0,"ABOUT EDUKE32");
cheat_for_port_credits: cheat_for_port_credits:
if (conversion == 13) l = (-2); if (g_ScriptVersion == 13) l = (-2);
gametext(160,38-l,"GAME PROGRAMMING",0,2+8+16); gametext(160,38-l,"GAME PROGRAMMING",0,2+8+16);
p = "Richard \"TerminX\" Gobeille"; p = "Richard \"TerminX\" Gobeille";
minitext(161-(Bstrlen(p)<<1), 39+10-l, p, 4, 10+16+128); minitext(161-(Bstrlen(p)<<1), 39+10-l, p, 4, 10+16+128);
@ -2499,9 +2499,9 @@ cheat_for_port_credits:
break; break;
case 3: case 3:
enabled = usehightile; enabled = usehightile;
if (enabled && x==io) useprecache = !useprecache; if (enabled && x==io) config.useprecache = !config.useprecache;
if (enabled) modval(0,1,(int *)&useprecache,1,probey==io); if (enabled) modval(0,1,(int *)&config.useprecache,1,probey==io);
gametextpal(d,yy, useprecache && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0); gametextpal(d,yy, config.useprecache && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0);
break; break;
case 4: case 4:
enabled = usehightile; enabled = usehightile;
@ -2510,13 +2510,13 @@ cheat_for_port_credits:
gametextpal(d,yy, glusetexcompr && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0); gametextpal(d,yy, glusetexcompr && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0);
break; break;
case 5: case 5:
enabled = (glusetexcompr && usehightile && useprecache); enabled = (glusetexcompr && usehightile && config.useprecache);
if (enabled && x==io) glusetexcache = !glusetexcache; if (enabled && x==io) glusetexcache = !glusetexcache;
if (enabled) modval(0,1,(int *)&glusetexcache,1,probey==io); if (enabled) modval(0,1,(int *)&glusetexcache,1,probey==io);
gametextpal(d,yy, glusetexcache && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0); gametextpal(d,yy, glusetexcache && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0);
break; break;
case 6: case 6:
enabled = (glusetexcompr && usehightile && useprecache && glusetexcache); enabled = (glusetexcompr && usehightile && config.useprecache && glusetexcache);
if (enabled && x==io) glusetexcachecompression = !glusetexcachecompression; if (enabled && x==io) glusetexcachecompression = !glusetexcachecompression;
if (enabled) modval(0,1,(int *)&glusetexcachecompression,1,probey==io); if (enabled) modval(0,1,(int *)&glusetexcachecompression,1,probey==io);
gametextpal(d,yy, glusetexcachecompression && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0); gametextpal(d,yy, glusetexcachecompression && enabled ? "On" : "Off", enabled?MENUHIGHLIGHT(io):DISABLEDMENUSHADE, 0);
@ -2679,8 +2679,8 @@ cheat_for_port_credits:
case 7: case 7:
if (x==io) ud.showweapons = 1-ud.showweapons; if (x==io) ud.showweapons = 1-ud.showweapons;
modval(0,1,(int *)&ud.showweapons,1,probey==io); modval(0,1,(int *)&ud.showweapons,1,probey==io);
ShowOpponentWeapons = ud.showweapons; config.ShowOpponentWeapons = ud.showweapons;
gametextpal(d,yy, ShowOpponentWeapons ? "On" : "Off", MENUHIGHLIGHT(io), 0); gametextpal(d,yy, config.ShowOpponentWeapons ? "On" : "Off", MENUHIGHLIGHT(io), 0);
break; break;
case 8: case 8:
if (x==io) ud.democams = 1-ud.democams; if (x==io) ud.democams = 1-ud.democams;
@ -2834,18 +2834,18 @@ cheat_for_port_credits:
gametextpal(d,yy, ud.idplayers ? "On" : "Off", MENUHIGHLIGHT(io), 0); gametextpal(d,yy, ud.idplayers ? "On" : "Off", MENUHIGHLIGHT(io), 0);
break; break;
case 7: case 7:
if (x==io) ForceSetup = 1-ForceSetup; if (x==io) config.ForceSetup = 1-config.ForceSetup;
modval(0,1,(int *)&ForceSetup,1,probey==io); modval(0,1,(int *)&config.ForceSetup,1,probey==io);
gametextpal(d,yy, ForceSetup ? "On" : "Off", MENUHIGHLIGHT(io), 0); gametextpal(d,yy, config.ForceSetup ? "On" : "Off", MENUHIGHLIGHT(io), 0);
break; break;
#ifdef _WIN32 #ifdef _WIN32
case 8: case 8:
i = checkforupdates; i = config.CheckForUpdates;
if (x==io) checkforupdates = 1-checkforupdates; if (x==io) config.CheckForUpdates = 1-config.CheckForUpdates;
modval(0,1,(int *)&checkforupdates,1,probey==io); modval(0,1,(int *)&config.CheckForUpdates,1,probey==io);
if (checkforupdates != i) if (config.CheckForUpdates != i)
lastupdatecheck = 0; config.LastUpdateCheck = 0;
gametextpal(d,yy, checkforupdates ? "On" : "Off", MENUHIGHLIGHT(io), 0); gametextpal(d,yy, config.CheckForUpdates ? "On" : "Off", MENUHIGHLIGHT(io), 0);
break; break;
case 9: case 9:
#else #else
@ -3170,10 +3170,10 @@ cheat_for_port_credits:
curvidset = newvidset; curvidset = newvidset;
changesmade = 0; changesmade = 0;
ScreenMode = fullscreen; config.ScreenMode = fullscreen;
ScreenWidth = xdim; config.ScreenWidth = xdim;
ScreenHeight = ydim; config.ScreenHeight = ydim;
ScreenBPP = bpp; config.ScreenBPP = bpp;
} }
break; break;
@ -3339,8 +3339,8 @@ cheat_for_port_credits:
} }
else if (KB_KeyPressed(sc_Delete)) else if (KB_KeyPressed(sc_Delete))
{ {
KeyboardKeys[probey][currentlist] = 0; config.KeyboardKeys[probey][currentlist] = 0;
CONTROL_MapKey(probey, KeyboardKeys[probey][0], KeyboardKeys[probey][1]); CONTROL_MapKey(probey, config.KeyboardKeys[probey][0], config.KeyboardKeys[probey][1]);
sound(KICK_HIT); sound(KICK_HIT);
KB_ClearKeyDown(sc_Delete); KB_ClearKeyDown(sc_Delete);
} }
@ -3354,14 +3354,14 @@ cheat_for_port_credits:
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitextshade(70,34+l*8,tempbuf,(m+l == probey)?0:16,1,10+16); minitextshade(70,34+l*8,tempbuf,(m+l == probey)?0:16,1,10+16);
//strcpy(tempbuf, KB_ScanCodeToString(KeyboardKeys[m+l][0])); //strcpy(tempbuf, KB_ScanCodeToString(config.KeyboardKeys[m+l][0]));
strcpy(tempbuf, (char *)getkeyname(KeyboardKeys[m+l][0])); strcpy(tempbuf, (char *)getkeyname(config.KeyboardKeys[m+l][0]));
if (!tempbuf[0]) strcpy(tempbuf, " -"); if (!tempbuf[0]) strcpy(tempbuf, " -");
minitextshade(70+100,34+l*8,tempbuf, minitextshade(70+100,34+l*8,tempbuf,
(m+l == probey && !currentlist?0:16),2,10+16); (m+l == probey && !currentlist?0:16),2,10+16);
//strcpy(tempbuf, KB_ScanCodeToString(KeyboardKeys[m+l][1])); //strcpy(tempbuf, KB_ScanCodeToString(config.KeyboardKeys[m+l][1]));
strcpy(tempbuf, (char *)getkeyname(KeyboardKeys[m+l][1])); strcpy(tempbuf, (char *)getkeyname(config.KeyboardKeys[m+l][1]));
if (!tempbuf[0]) strcpy(tempbuf, " -"); if (!tempbuf[0]) strcpy(tempbuf, " -");
minitextshade(70+120+34,34+l*8,tempbuf, minitextshade(70+120+34,34+l*8,tempbuf,
(m+l == probey && currentlist?0:16),2,10+16); (m+l == probey && currentlist?0:16),2,10+16);
@ -3397,11 +3397,11 @@ cheat_for_port_credits:
{ {
sound(PISTOL_BODYHIT); sound(PISTOL_BODYHIT);
KeyboardKeys[function][whichkey] = KB_GetLastScanCode(); config.KeyboardKeys[function][whichkey] = KB_GetLastScanCode();
if (function == gamefunc_Show_Console) if (function == gamefunc_Show_Console)
OSD_CaptureKey(KB_GetLastScanCode()); OSD_CaptureKey(KB_GetLastScanCode());
else else
CONTROL_MapKey(function, KeyboardKeys[function][0], KeyboardKeys[function][1]); CONTROL_MapKey(function, config.KeyboardKeys[function][0], config.KeyboardKeys[function][1]);
} }
cmenu(204); cmenu(204);
@ -3459,9 +3459,9 @@ cheat_for_port_credits:
function = 0; function = 0;
whichkey = x; whichkey = x;
if (x < (MAXMOUSEBUTTONS-2)*2) if (x < (MAXMOUSEBUTTONS-2)*2)
probey = MouseFunctions[x>>1][x&1]; probey = config.MouseFunctions[x>>1][x&1];
else else
probey = MouseFunctions[x-4][0]; probey = config.MouseFunctions[x-4][0];
if (probey < 0) probey = NUMGAMEFUNCTIONS-1; if (probey < 0) probey = NUMGAMEFUNCTIONS-1;
break; break;
} }
@ -3474,16 +3474,16 @@ cheat_for_port_credits:
if (l&1) if (l&1)
{ {
Bstrcpy(tempbuf, "Double "); Bstrcpy(tempbuf, "Double ");
m = MouseFunctions[l>>1][1]; m = config.MouseFunctions[l>>1][1];
} }
else else
m = MouseFunctions[l>>1][0]; m = config.MouseFunctions[l>>1][0];
Bstrcat(tempbuf, mousebuttonnames[l>>1]); Bstrcat(tempbuf, mousebuttonnames[l>>1]);
} }
else else
{ {
Bstrcpy(tempbuf, mousebuttonnames[l-(MAXMOUSEBUTTONS-2)]); Bstrcpy(tempbuf, mousebuttonnames[l-(MAXMOUSEBUTTONS-2)]);
m = MouseFunctions[l-(MAXMOUSEBUTTONS-2)][0]; m = config.MouseFunctions[l-(MAXMOUSEBUTTONS-2)][0];
} }
minitextshade(c+20,36+l*8,tempbuf,(l==probey)?0:16,1,10+16); minitextshade(c+20,36+l*8,tempbuf,(l==probey)?0:16,1,10+16);
@ -3574,12 +3574,12 @@ cheat_for_port_credits:
{ {
if (whichkey < (MAXMOUSEBUTTONS-2)*2) if (whichkey < (MAXMOUSEBUTTONS-2)*2)
{ {
MouseFunctions[whichkey>>1][whichkey&1] = x; config.MouseFunctions[whichkey>>1][whichkey&1] = x;
CONTROL_MapButton(x, whichkey>>1, whichkey&1, controldevice_mouse); CONTROL_MapButton(x, whichkey>>1, whichkey&1, controldevice_mouse);
} }
else else
{ {
MouseFunctions[whichkey-(MAXMOUSEBUTTONS-2)][0] = x; config.MouseFunctions[whichkey-(MAXMOUSEBUTTONS-2)][0] = x;
CONTROL_MapButton(x, whichkey-(MAXMOUSEBUTTONS-2), 0, controldevice_mouse); CONTROL_MapButton(x, whichkey-(MAXMOUSEBUTTONS-2), 0, controldevice_mouse);
} }
cmenu(205); cmenu(205);
@ -3587,7 +3587,7 @@ cheat_for_port_credits:
} }
else if (function == 1) else if (function == 1)
{ {
MouseDigitalFunctions[whichkey>>1][whichkey&1] = x; config.MouseDigitalFunctions[whichkey>>1][whichkey&1] = x;
CONTROL_MapDigitalAxis(whichkey>>1, x, whichkey&1, controldevice_mouse); CONTROL_MapDigitalAxis(whichkey>>1, x, whichkey&1, controldevice_mouse);
cmenu(212); cmenu(212);
probey = 3+(whichkey^2); probey = 3+(whichkey^2);
@ -3596,12 +3596,12 @@ cheat_for_port_credits:
{ {
if (whichkey < 2*joynumbuttons) if (whichkey < 2*joynumbuttons)
{ {
JoystickFunctions[whichkey>>1][whichkey&1] = x; config.JoystickFunctions[whichkey>>1][whichkey&1] = x;
CONTROL_MapButton(x, whichkey>>1, whichkey&1, controldevice_joystick); CONTROL_MapButton(x, whichkey>>1, whichkey&1, controldevice_joystick);
} }
else else
{ {
JoystickFunctions[joynumbuttons + (whichkey-2*joynumbuttons)][0] = x; config.JoystickFunctions[joynumbuttons + (whichkey-2*joynumbuttons)][0] = x;
CONTROL_MapButton(x, joynumbuttons + (whichkey-2*joynumbuttons), 0, controldevice_joystick); CONTROL_MapButton(x, joynumbuttons + (whichkey-2*joynumbuttons), 0, controldevice_joystick);
} }
cmenu(207); cmenu(207);
@ -3609,7 +3609,7 @@ cheat_for_port_credits:
} }
else if (function == 3) else if (function == 3)
{ {
JoystickDigitalFunctions[whichkey>>1][whichkey&1] = x; config.JoystickDigitalFunctions[whichkey>>1][whichkey&1] = x;
CONTROL_MapDigitalAxis(whichkey>>1, x, whichkey&1, controldevice_joystick); CONTROL_MapDigitalAxis(whichkey>>1, x, whichkey&1, controldevice_joystick);
cmenu((whichkey>>2)+208); cmenu((whichkey>>2)+208);
probey = 1+((whichkey>>1)&1)*4+(whichkey&1); probey = 1+((whichkey>>1)&1)*4+(whichkey&1);
@ -3739,7 +3739,7 @@ cheat_for_port_credits:
function = 1; function = 1;
whichkey = (x-3)^2; // flip the actual axis number whichkey = (x-3)^2; // flip the actual axis number
cmenu(211); cmenu(211);
probey = MouseDigitalFunctions[whichkey>>1][whichkey&1]; probey = config.MouseDigitalFunctions[whichkey>>1][whichkey&1];
if (probey < 0) probey = NUMGAMEFUNCTIONS-1; if (probey < 0) probey = NUMGAMEFUNCTIONS-1;
break; break;
} }
@ -3755,79 +3755,79 @@ cheat_for_port_credits:
} }
menutext(c,46,MENUHIGHLIGHT(0),0,"X-AXIS SCALE"); menutext(c,46,MENUHIGHLIGHT(0),0,"X-AXIS SCALE");
l = (MouseAnalogueScale[0]+262144) >> 13; l = (config.MouseAnalogueScale[0]+262144) >> 13;
bar(c+160+40,46,(short *)&l,1,x==0,MENUHIGHLIGHT(0),0); bar(c+160+40,46,(short *)&l,1,x==0,MENUHIGHLIGHT(0),0);
l = (l<<13)-262144; l = (l<<13)-262144;
if (l != MouseAnalogueScale[0]) if (l != config.MouseAnalogueScale[0])
{ {
CONTROL_SetAnalogAxisScale(0, l, controldevice_mouse); CONTROL_SetAnalogAxisScale(0, l, controldevice_mouse);
MouseAnalogueScale[0] = l; config.MouseAnalogueScale[0] = l;
} }
Bsprintf(tempbuf,"%s%.2f",l>=0?" ":"",(float)l/65536.0); Bsprintf(tempbuf,"%s%.2f",l>=0?" ":"",(float)l/65536.0);
gametext(c+160-16,46-8,tempbuf,MENUHIGHLIGHT(0),2+8+16); gametext(c+160-16,46-8,tempbuf,MENUHIGHLIGHT(0),2+8+16);
menutext(c,46+16,MENUHIGHLIGHT(1),0,"Y-AXIS SCALE"); menutext(c,46+16,MENUHIGHLIGHT(1),0,"Y-AXIS SCALE");
l = (MouseAnalogueScale[1]+262144) >> 13; l = (config.MouseAnalogueScale[1]+262144) >> 13;
bar(c+160+40,46+16,(short *)&l,1,x==1,MENUHIGHLIGHT(1),0); bar(c+160+40,46+16,(short *)&l,1,x==1,MENUHIGHLIGHT(1),0);
l = (l<<13)-262144; l = (l<<13)-262144;
if (l != MouseAnalogueScale[1]) if (l != config.MouseAnalogueScale[1])
{ {
CONTROL_SetAnalogAxisScale(1, l, controldevice_mouse); CONTROL_SetAnalogAxisScale(1, l, controldevice_mouse);
MouseAnalogueScale[1] = l; config.MouseAnalogueScale[1] = l;
} }
Bsprintf(tempbuf,"%s%.2f",l>=0?" ":"",(float)l/65536.0); Bsprintf(tempbuf,"%s%.2f",l>=0?" ":"",(float)l/65536.0);
gametext(c+160-16,46+16-8,tempbuf,MENUHIGHLIGHT(1),2+8+16); gametext(c+160-16,46+16-8,tempbuf,MENUHIGHLIGHT(1),2+8+16);
menutext(c,46+16+16,MENUHIGHLIGHT(2),0,"DEAD ZONE"); menutext(c,46+16+16,MENUHIGHLIGHT(2),0,"DEAD ZONE");
l = MouseFilter>>1; l = config.MouseFilter>>1;
bar(c+160+40,46+16+16,(short *)&l,2,x==2,MENUHIGHLIGHT(2),0); bar(c+160+40,46+16+16,(short *)&l,2,x==2,MENUHIGHLIGHT(2),0);
MouseFilter = l<<1; config.MouseFilter = l<<1;
menutext(c,46+16+16+16+8,/*(MENUHIGHLIGHT(3))+(MENUHIGHLIGHT(4))+(MENUHIGHLIGHT(5))+(MENUHIGHLIGHT(6))-24*/0,0,"DIGITAL AXES ACTIONS"); menutext(c,46+16+16+16+8,/*(MENUHIGHLIGHT(3))+(MENUHIGHLIGHT(4))+(MENUHIGHLIGHT(5))+(MENUHIGHLIGHT(6))-24*/0,0,"DIGITAL AXES ACTIONS");
if (MouseFilter == 0) if (config.MouseFilter == 0)
Bsprintf(tempbuf," OFF"); Bsprintf(tempbuf," OFF");
else if (MouseFilter < 48) else if (config.MouseFilter < 48)
Bsprintf(tempbuf," LOW"); Bsprintf(tempbuf," LOW");
else if (MouseFilter < 96) else if (config.MouseFilter < 96)
Bsprintf(tempbuf," MED"); Bsprintf(tempbuf," MED");
else if (MouseFilter < 128) else if (config.MouseFilter < 128)
Bsprintf(tempbuf,"HIGH"); Bsprintf(tempbuf,"HIGH");
gametext(c+160-16,46+16+16-8,tempbuf,MENUHIGHLIGHT(2),2+8+16); gametext(c+160-16,46+16+16-8,tempbuf,MENUHIGHLIGHT(2),2+8+16);
gametextpal(c+10,90+16,"UP:",MENUHIGHLIGHT(3),10); gametextpal(c+10,90+16,"UP:",MENUHIGHLIGHT(3),10);
if (MouseDigitalFunctions[1][0] < 0) if (config.MouseDigitalFunctions[1][0] < 0)
strcpy(tempbuf, " -NONE-"); strcpy(tempbuf, " -NONE-");
else else
strcpy(tempbuf, CONFIG_FunctionNumToName(MouseDigitalFunctions[1][0])); strcpy(tempbuf, CONFIG_FunctionNumToName(config.MouseDigitalFunctions[1][0]));
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitextshade(c+10+60,91+16,tempbuf,MENUHIGHLIGHT(3),0,10+16); minitextshade(c+10+60,91+16,tempbuf,MENUHIGHLIGHT(3),0,10+16);
gametextpal(c+10,90+16+10,"DOWN:",MENUHIGHLIGHT(4),10); gametextpal(c+10,90+16+10,"DOWN:",MENUHIGHLIGHT(4),10);
if (MouseDigitalFunctions[1][1] < 0) if (config.MouseDigitalFunctions[1][1] < 0)
strcpy(tempbuf, " -NONE-"); strcpy(tempbuf, " -NONE-");
else else
strcpy(tempbuf, CONFIG_FunctionNumToName(MouseDigitalFunctions[1][1])); strcpy(tempbuf, CONFIG_FunctionNumToName(config.MouseDigitalFunctions[1][1]));
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitextshade(c+10+60,91+16+10,tempbuf,MENUHIGHLIGHT(4),0,10+16); minitextshade(c+10+60,91+16+10,tempbuf,MENUHIGHLIGHT(4),0,10+16);
gametextpal(c+10,90+16+10+10,"LEFT:",MENUHIGHLIGHT(5),10); gametextpal(c+10,90+16+10+10,"LEFT:",MENUHIGHLIGHT(5),10);
if (MouseDigitalFunctions[0][0] < 0) if (config.MouseDigitalFunctions[0][0] < 0)
strcpy(tempbuf, " -NONE-"); strcpy(tempbuf, " -NONE-");
else else
strcpy(tempbuf, CONFIG_FunctionNumToName(MouseDigitalFunctions[0][0])); strcpy(tempbuf, CONFIG_FunctionNumToName(config.MouseDigitalFunctions[0][0]));
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitextshade(c+10+60,91+16+10+10,tempbuf,MENUHIGHLIGHT(5),0,10+16); minitextshade(c+10+60,91+16+10+10,tempbuf,MENUHIGHLIGHT(5),0,10+16);
gametextpal(c+10,90+16+10+10+10,"RIGHT:",MENUHIGHLIGHT(6),10); gametextpal(c+10,90+16+10+10+10,"RIGHT:",MENUHIGHLIGHT(6),10);
if (MouseDigitalFunctions[0][1] < 0) if (config.MouseDigitalFunctions[0][1] < 0)
strcpy(tempbuf, " -NONE-"); strcpy(tempbuf, " -NONE-");
else else
strcpy(tempbuf, CONFIG_FunctionNumToName(MouseDigitalFunctions[0][1])); strcpy(tempbuf, CONFIG_FunctionNumToName(config.MouseDigitalFunctions[0][1]));
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitextshade(c+10+60,91+16+10+10+10,tempbuf,MENUHIGHLIGHT(6),0,10+16); minitextshade(c+10+60,91+16+10+10+10,tempbuf,MENUHIGHLIGHT(6),0,10+16);
@ -3882,11 +3882,11 @@ cheat_for_port_credits:
cmenu(211); cmenu(211);
if (x < 2*joynumbuttons) if (x < 2*joynumbuttons)
{ {
probey = JoystickFunctions[x>>1][x&1]; probey = config.JoystickFunctions[x>>1][x&1];
} }
else else
{ {
probey = JoystickFunctions[joynumbuttons + (x-2*joynumbuttons)][0]; probey = config.JoystickFunctions[joynumbuttons + (x-2*joynumbuttons)][0];
} }
if (probey < 0) probey = NUMGAMEFUNCTIONS-1; if (probey < 0) probey = NUMGAMEFUNCTIONS-1;
break; break;
@ -3906,7 +3906,7 @@ cheat_for_port_credits:
if (m+l < 2*joynumbuttons) if (m+l < 2*joynumbuttons)
{ {
sprintf(tempbuf, "%s%s", ((l+m)&1)?"Double ":"", getjoyname(1,(l+m)>>1)); sprintf(tempbuf, "%s%s", ((l+m)&1)?"Double ":"", getjoyname(1,(l+m)>>1));
x = JoystickFunctions[(l+m)>>1][(l+m)&1]; x = config.JoystickFunctions[(l+m)>>1][(l+m)&1];
} }
else else
{ {
@ -3914,7 +3914,7 @@ cheat_for_port_credits:
{ "Up", "Right", "Down", "Left" { "Up", "Right", "Down", "Left"
}; };
sprintf(tempbuf, "Hat %s", directions[(l+m)-2*joynumbuttons]); sprintf(tempbuf, "Hat %s", directions[(l+m)-2*joynumbuttons]);
x = JoystickFunctions[joynumbuttons + ((l+m)-2*joynumbuttons)][0]; x = config.JoystickFunctions[joynumbuttons + ((l+m)-2*joynumbuttons)][0];
} }
minitextshade(80-4,33+l*8,tempbuf,(m+l == probey)?0:16,1,10+16); minitextshade(80-4,33+l*8,tempbuf,(m+l == probey)?0:16,1,10+16);
@ -4003,19 +4003,19 @@ cheat_for_port_credits:
function = 3; function = 3;
whichkey = ((thispage*2+(x==5||x==6)) << 1) + (x==2||x==6); whichkey = ((thispage*2+(x==5||x==6)) << 1) + (x==2||x==6);
cmenu(211); cmenu(211);
probey = JoystickDigitalFunctions[whichkey>>1][whichkey&1]; probey = config.JoystickDigitalFunctions[whichkey>>1][whichkey&1];
if (probey < 0) probey = NUMGAMEFUNCTIONS-1; if (probey < 0) probey = NUMGAMEFUNCTIONS-1;
break; break;
case 3: // analogues case 3: // analogues
case 7: case 7:
l = JoystickAnalogueAxes[thispage*2+(x==7)]; l = config.JoystickAnalogueAxes[thispage*2+(x==7)];
if (l == analog_turning) l = analog_strafing; if (l == analog_turning) l = analog_strafing;
else if (l == analog_strafing) l = analog_lookingupanddown; else if (l == analog_strafing) l = analog_lookingupanddown;
else if (l == analog_lookingupanddown) l = analog_moving; else if (l == analog_lookingupanddown) l = analog_moving;
else if (l == analog_moving) l = -1; else if (l == analog_moving) l = -1;
else l = analog_turning; else l = analog_turning;
JoystickAnalogueAxes[thispage*2+(x==7)] = l; config.JoystickAnalogueAxes[thispage*2+(x==7)] = l;
CONTROL_MapAnalogAxis(thispage*2+(x==7),l,controldevice_joystick); CONTROL_MapAnalogAxis(thispage*2+(x==7),l,controldevice_joystick);
{ {
extern int32 mouseyaxismode; // player.c extern int32 mouseyaxismode; // player.c
@ -4034,38 +4034,38 @@ cheat_for_port_credits:
menutext(42,32+64,0,0,tempbuf); menutext(42,32+64,0,0,tempbuf);
} }
gametext(76,38,"SCALE",0,2+8+16); gametext(76,38,"SCALE",0,2+8+16);
l = (JoystickAnalogueScale[thispage*2]+262144) >> 13; l = (config.JoystickAnalogueScale[thispage*2]+262144) >> 13;
bar(140+56,38+8,(short *)&l,1,x==0,0,0); bar(140+56,38+8,(short *)&l,1,x==0,0,0);
l = (l<<13)-262144; l = (l<<13)-262144;
if (l != JoystickAnalogueScale[thispage*2]) if (l != config.JoystickAnalogueScale[thispage*2])
{ {
CONTROL_SetAnalogAxisScale(thispage*2, l, controldevice_joystick); CONTROL_SetAnalogAxisScale(thispage*2, l, controldevice_joystick);
JoystickAnalogueScale[thispage*2] = l; config.JoystickAnalogueScale[thispage*2] = l;
} }
Bsprintf(tempbuf,"%s%.2f",l>=0?" ":"",(float)l/65536.0); Bsprintf(tempbuf,"%s%.2f",l>=0?" ":"",(float)l/65536.0);
gametext(140,38,tempbuf,0,2+8+16); gametext(140,38,tempbuf,0,2+8+16);
gametext(76,38+15,"DIGITAL",0,2+8+16); gametext(76,38+15,"DIGITAL",0,2+8+16);
if (JoystickDigitalFunctions[thispage*2][0] < 0) if (config.JoystickDigitalFunctions[thispage*2][0] < 0)
strcpy(tempbuf, " -NONE-"); strcpy(tempbuf, " -NONE-");
else else
strcpy(tempbuf, CONFIG_FunctionNumToName(JoystickDigitalFunctions[thispage*2][0])); strcpy(tempbuf, CONFIG_FunctionNumToName(config.JoystickDigitalFunctions[thispage*2][0]));
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitext(140+12,38+15,tempbuf,0,10+16); minitext(140+12,38+15,tempbuf,0,10+16);
if (JoystickDigitalFunctions[thispage*2][1] < 0) if (config.JoystickDigitalFunctions[thispage*2][1] < 0)
strcpy(tempbuf, " -NONE-"); strcpy(tempbuf, " -NONE-");
else else
strcpy(tempbuf, CONFIG_FunctionNumToName(JoystickDigitalFunctions[thispage*2][1])); strcpy(tempbuf, CONFIG_FunctionNumToName(config.JoystickDigitalFunctions[thispage*2][1]));
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitext(140+12+72,38+15,tempbuf,0,10+16); minitext(140+12+72,38+15,tempbuf,0,10+16);
gametext(76,38+15+15,"ANALOG",0,2+8+16); gametext(76,38+15+15,"ANALOG",0,2+8+16);
if (CONFIG_AnalogNumToName(JoystickAnalogueAxes[thispage*2])) if (CONFIG_AnalogNumToName(config.JoystickAnalogueAxes[thispage*2]))
{ {
p = CONFIG_AnalogNumToName(JoystickAnalogueAxes[thispage*2]); p = CONFIG_AnalogNumToName(config.JoystickAnalogueAxes[thispage*2]);
if (p) if (p)
{ {
gametext(140+12,38+15+15, strchr(p,'_')+1, 0, 2+8+16); gametext(140+12,38+15+15, strchr(p,'_')+1, 0, 2+8+16);
@ -4075,38 +4075,38 @@ cheat_for_port_credits:
if (twothispage) if (twothispage)
{ {
gametext(76,38+64,"SCALE",0,2+8+16); gametext(76,38+64,"SCALE",0,2+8+16);
l = (JoystickAnalogueScale[thispage*2+1]+262144) >> 13; l = (config.JoystickAnalogueScale[thispage*2+1]+262144) >> 13;
bar(140+56,38+8+64,(short *)&l,1,x==4,0,0); bar(140+56,38+8+64,(short *)&l,1,x==4,0,0);
l = (l<<13)-262144; l = (l<<13)-262144;
if (l != JoystickAnalogueScale[thispage*2+1]) if (l != config.JoystickAnalogueScale[thispage*2+1])
{ {
CONTROL_SetAnalogAxisScale(thispage*2+1, l, controldevice_joystick); CONTROL_SetAnalogAxisScale(thispage*2+1, l, controldevice_joystick);
JoystickAnalogueScale[thispage*2+1] = l; config.JoystickAnalogueScale[thispage*2+1] = l;
} }
Bsprintf(tempbuf,"%s%.2f",l>=0?" ":"",(float)l/65536.0); Bsprintf(tempbuf,"%s%.2f",l>=0?" ":"",(float)l/65536.0);
gametext(140,38+64,tempbuf,0,2+8+16); gametext(140,38+64,tempbuf,0,2+8+16);
gametext(76,38+64+15,"DIGITAL",0,2+8+16); gametext(76,38+64+15,"DIGITAL",0,2+8+16);
if (JoystickDigitalFunctions[thispage*2+1][0] < 0) if (config.JoystickDigitalFunctions[thispage*2+1][0] < 0)
strcpy(tempbuf, " -NONE-"); strcpy(tempbuf, " -NONE-");
else else
strcpy(tempbuf, CONFIG_FunctionNumToName(JoystickDigitalFunctions[thispage*2+1][0])); strcpy(tempbuf, CONFIG_FunctionNumToName(config.JoystickDigitalFunctions[thispage*2+1][0]));
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitext(140+12,38+15+64,tempbuf,0,10+16); minitext(140+12,38+15+64,tempbuf,0,10+16);
if (JoystickDigitalFunctions[thispage*2+1][1] < 0) if (config.JoystickDigitalFunctions[thispage*2+1][1] < 0)
strcpy(tempbuf, " -NONE-"); strcpy(tempbuf, " -NONE-");
else else
strcpy(tempbuf, CONFIG_FunctionNumToName(JoystickDigitalFunctions[thispage*2+1][1])); strcpy(tempbuf, CONFIG_FunctionNumToName(config.JoystickDigitalFunctions[thispage*2+1][1]));
for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' '; for (i=0;tempbuf[i];i++) if (tempbuf[i]=='_') tempbuf[i] = ' ';
minitext(140+12+72,38+15+64,tempbuf,0,10+16); minitext(140+12+72,38+15+64,tempbuf,0,10+16);
gametext(76,38+64+15+15,"ANALOG",0,2+8+16); gametext(76,38+64+15+15,"ANALOG",0,2+8+16);
if (CONFIG_AnalogNumToName(JoystickAnalogueAxes[thispage*2+1])) if (CONFIG_AnalogNumToName(config.JoystickAnalogueAxes[thispage*2+1]))
{ {
p = CONFIG_AnalogNumToName(JoystickAnalogueAxes[thispage*2+1]); p = CONFIG_AnalogNumToName(config.JoystickAnalogueAxes[thispage*2+1]);
if (p) if (p)
{ {
gametext(140+12,38+64+15+15, strchr(p,'_')+1, 0, 2+8+16); gametext(140+12,38+64+15+15, strchr(p,'_')+1, 0, 2+8+16);
@ -4161,8 +4161,8 @@ cheat_for_port_credits:
gametext(128,48+30*(m-first)-8,"DEAD",0,2+8+16); gametext(128,48+30*(m-first)-8,"DEAD",0,2+8+16);
gametext(128,48+30*(m-first)-8+15,"SATU",0,2+8+16); gametext(128,48+30*(m-first)-8+15,"SATU",0,2+8+16);
dx = odx = min(64,64l*JoystickAnalogueDead[m]/10000l); dx = odx = min(64,64l*config.JoystickAnalogueDead[m]/10000l);
dy = ody = min(64,64l*JoystickAnalogueSaturate[m]/10000l); dy = ody = min(64,64l*config.JoystickAnalogueSaturate[m]/10000l);
bar(217,48+30*(m-first),(short *)&dx,4,x==((m-first)*2),0,0); bar(217,48+30*(m-first),(short *)&dx,4,x==((m-first)*2),0,0);
bar(217,48+30*(m-first)+15,(short *)&dy,4,x==((m-first)*2+1),0,0); bar(217,48+30*(m-first)+15,(short *)&dy,4,x==((m-first)*2+1),0,0);
@ -4172,10 +4172,10 @@ cheat_for_port_credits:
Bsprintf(tempbuf,"%3d%%",100*dy/64); Bsprintf(tempbuf,"%3d%%",100*dy/64);
gametext(217-49,48+30*(m-first)-8+15,tempbuf,0,2+8+16); gametext(217-49,48+30*(m-first)-8+15,tempbuf,0,2+8+16);
if (dx != odx) JoystickAnalogueDead[m] = 10000l*dx/64l; if (dx != odx) config.JoystickAnalogueDead[m] = 10000l*dx/64l;
if (dy != ody) JoystickAnalogueSaturate[m] = 10000l*dy/64l; if (dy != ody) config.JoystickAnalogueSaturate[m] = 10000l*dy/64l;
if (dx != odx || dy != ody) if (dx != odx || dy != ody)
setjoydeadzone(m,JoystickAnalogueDead[m],JoystickAnalogueSaturate[m]); setjoydeadzone(m,config.JoystickAnalogueDead[m],config.JoystickAnalogueSaturate[m]);
} }
//gametext(160,158,"DEAD = DEAD ZONE, SAT. = SATURATION",0,2+8+16); //gametext(160,158,"DEAD = DEAD ZONE, SAT. = SATURATION",0,2+8+16);
if (joynumaxes>4) if (joynumaxes>4)
@ -4212,10 +4212,10 @@ cheat_for_port_credits:
probey = 1; probey = 1;
break; break;
case 0: case 0:
if (FXDevice >= 0) if (config.FXDevice >= 0)
{ {
SoundToggle = 1-SoundToggle; config.SoundToggle = 1-config.SoundToggle;
if (SoundToggle == 0) if (config.SoundToggle == 0)
{ {
FX_StopAllSounds(); FX_StopAllSounds();
clearsoundlocks(); clearsoundlocks();
@ -4224,10 +4224,10 @@ cheat_for_port_credits:
} }
break; break;
case 1: case 1:
if (MusicDevice >= 0 && (numplayers < 2 || MusicToggle)) if (config.MusicDevice >= 0 && (numplayers < 2 || config.MusicToggle))
{ {
MusicToggle = 1-MusicToggle; config.MusicToggle = 1-config.MusicToggle;
if (MusicToggle == 0) MUSIC_Pause(); if (config.MusicToggle == 0) MUSIC_Pause();
else else
{ {
if (ud.recstat != 2 && ps[myconnectindex].gm&MODE_GAME) if (ud.recstat != 2 && ps[myconnectindex].gm&MODE_GAME)
@ -4244,21 +4244,21 @@ cheat_for_port_credits:
break; break;
case 4: case 4:
if (SoundToggle && (FXDevice >= 0)) if (config.SoundToggle && (config.FXDevice >= 0))
{ {
VoiceToggle = (VoiceToggle == 2) ? 0 : VoiceToggle+1; config.VoiceToggle = (config.VoiceToggle == 2) ? 0 : config.VoiceToggle+1;
} }
onbar = 0; onbar = 0;
break; break;
case 5: case 5:
if (SoundToggle && (FXDevice >= 0)) AmbienceToggle = 1-AmbienceToggle; if (config.SoundToggle && (config.FXDevice >= 0)) config.AmbienceToggle = 1-config.AmbienceToggle;
onbar = 0; onbar = 0;
break; break;
case 6: case 6:
if (SoundToggle && (FXDevice >= 0)) if (config.SoundToggle && (config.FXDevice >= 0))
{ {
ReverseStereo = 1-ReverseStereo; config.ReverseStereo = 1-config.ReverseStereo;
FX_SetReverseStereo(ReverseStereo); FX_SetReverseStereo(config.ReverseStereo);
} }
onbar = 0; onbar = 0;
break; break;
@ -4267,48 +4267,48 @@ cheat_for_port_credits:
break; break;
} }
menutext(c+151+40,50,MENUHIGHLIGHT(0),(FXDevice<0),SoundToggle && FXDevice >= 0?"ON":"OFF"); menutext(c+151+40,50,MENUHIGHLIGHT(0),(config.FXDevice<0),config.SoundToggle && config.FXDevice >= 0?"ON":"OFF");
menutext(c+151+40,50+16,MENUHIGHLIGHT(1),(MusicDevice<0||(numplayers > 1 && !MusicToggle)),(MusicToggle && (MusicDevice >= 0))?"ON":"OFF"); menutext(c+151+40,50+16,MENUHIGHLIGHT(1),(config.MusicDevice<0||(numplayers > 1 && !config.MusicToggle)),(config.MusicToggle && (config.MusicDevice >= 0))?"ON":"OFF");
menutext(c,50,MENUHIGHLIGHT(0),(FXDevice<0),"SOUND"); menutext(c,50,MENUHIGHLIGHT(0),(config.FXDevice<0),"SOUND");
menutext(c,50+16+16,MENUHIGHLIGHT(2),(FXDevice<0)||SoundToggle==0,"SOUND VOLUME"); menutext(c,50+16+16,MENUHIGHLIGHT(2),(config.FXDevice<0)||config.SoundToggle==0,"SOUND VOLUME");
{ {
l = FXVolume; l = config.FXVolume;
FXVolume >>= 2; config.FXVolume >>= 2;
bar(c+167+40,50+16+16,(short *)&FXVolume,4,(FXDevice>=0)&&x==2,MENUHIGHLIGHT(2),SoundToggle==0||(FXDevice<0)); bar(c+167+40,50+16+16,(short *)&config.FXVolume,4,(config.FXDevice>=0)&&x==2,MENUHIGHLIGHT(2),config.SoundToggle==0||(config.FXDevice<0));
if (l != FXVolume) if (l != config.FXVolume)
FXVolume <<= 2; config.FXVolume <<= 2;
if (l != FXVolume) if (l != config.FXVolume)
FX_SetVolume((short) FXVolume); FX_SetVolume((short) config.FXVolume);
} }
menutext(c,50+16,MENUHIGHLIGHT(1),(MusicDevice<0||(numplayers > 1 && !MusicToggle)),"MUSIC"); menutext(c,50+16,MENUHIGHLIGHT(1),(config.MusicDevice<0||(numplayers > 1 && !config.MusicToggle)),"MUSIC");
menutext(c,50+16+16+16,MENUHIGHLIGHT(3),(MusicDevice<0)||MusicToggle==0,"MUSIC VOLUME"); menutext(c,50+16+16+16,MENUHIGHLIGHT(3),(config.MusicDevice<0)||config.MusicToggle==0,"MUSIC VOLUME");
{ {
l = MusicVolume; l = config.MusicVolume;
MusicVolume >>= 2; config.MusicVolume >>= 2;
bar(c+167+40,50+16+16+16, bar(c+167+40,50+16+16+16,
(short *)&MusicVolume,4, (short *)&config.MusicVolume,4,
(MusicDevice>=0) && x==3,MENUHIGHLIGHT(3), (config.MusicDevice>=0) && x==3,MENUHIGHLIGHT(3),
MusicToggle==0||(MusicDevice<0)); config.MusicToggle==0||(config.MusicDevice<0));
MusicVolume <<= 2; config.MusicVolume <<= 2;
if (l != MusicVolume) if (l != config.MusicVolume)
MUSIC_SetVolume((short) MusicVolume); MUSIC_SetVolume((short) config.MusicVolume);
} }
menutext(c,50+16+16+16+16,MENUHIGHLIGHT(4),(FXDevice<0)||SoundToggle==0,"DUKE TALK"); menutext(c,50+16+16+16+16,MENUHIGHLIGHT(4),(config.FXDevice<0)||config.SoundToggle==0,"DUKE TALK");
menutext(c,50+16+16+16+16+16,MENUHIGHLIGHT(5),(FXDevice<0)||SoundToggle==0,"AMBIENCE"); menutext(c,50+16+16+16+16+16,MENUHIGHLIGHT(5),(config.FXDevice<0)||config.SoundToggle==0,"AMBIENCE");
menutext(c,50+16+16+16+16+16+16,MENUHIGHLIGHT(6),(FXDevice<0)||SoundToggle==0,"FLIP STEREO"); menutext(c,50+16+16+16+16+16+16,MENUHIGHLIGHT(6),(config.FXDevice<0)||config.SoundToggle==0,"FLIP STEREO");
{ {
char *s[] = { "OFF", "LOCAL", "ALL" }; char *s[] = { "OFF", "LOCAL", "ALL" };
menutext(c+151+40,50+16+16+16+16,MENUHIGHLIGHT(4),(FXDevice<0)||SoundToggle==0,s[VoiceToggle]); menutext(c+151+40,50+16+16+16+16,MENUHIGHLIGHT(4),(config.FXDevice<0)||config.SoundToggle==0,s[config.VoiceToggle]);
} }
menutext(c+151+40,50+16+16+16+16+16,MENUHIGHLIGHT(5),(FXDevice<0)||SoundToggle==0,AmbienceToggle?"ON":"OFF"); menutext(c+151+40,50+16+16+16+16+16,MENUHIGHLIGHT(5),(config.FXDevice<0)||config.SoundToggle==0,config.AmbienceToggle?"ON":"OFF");
menutext(c+151+40,50+16+16+16+16+16+16,MENUHIGHLIGHT(6),(FXDevice<0)||SoundToggle==0,ReverseStereo?"ON":"OFF"); menutext(c+151+40,50+16+16+16+16+16+16,MENUHIGHLIGHT(6),(config.FXDevice<0)||config.SoundToggle==0,config.ReverseStereo?"ON":"OFF");
break; break;

View file

@ -359,7 +359,7 @@ static int osdcmd_restartsound(const osdfuncparm_t *parm)
FX_StopAllSounds(); FX_StopAllSounds();
clearsoundlocks(); clearsoundlocks();
if (MusicToggle == 1) if (config.MusicToggle == 1)
{ {
if (ud.recstat != 2 && ps[myconnectindex].gm&MODE_GAME) if (ud.recstat != 2 && ps[myconnectindex].gm&MODE_GAME)
{ {
@ -375,9 +375,9 @@ static int osdcmd_restartsound(const osdfuncparm_t *parm)
static int osdcmd_restartvid(const osdfuncparm_t *parm) static int osdcmd_restartvid(const osdfuncparm_t *parm)
{ {
resetvideomode(); resetvideomode();
if (setgamemode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP)) if (setgamemode(config.ScreenMode,config.ScreenWidth,config.ScreenHeight,config.ScreenBPP))
gameexit("restartvid: Reset failed...\n"); gameexit("restartvid: Reset failed...\n");
onvideomodechange(ScreenBPP>8); onvideomodechange(config.ScreenBPP>8);
vscrn(); vscrn();
return OSDCMD_OK; return OSDCMD_OK;
@ -385,8 +385,8 @@ static int osdcmd_restartvid(const osdfuncparm_t *parm)
static int osdcmd_vidmode(const osdfuncparm_t *parm) static int osdcmd_vidmode(const osdfuncparm_t *parm)
{ {
int newbpp = ScreenBPP, newwidth = ScreenWidth, int newbpp = config.ScreenBPP, newwidth = config.ScreenWidth,
newheight = ScreenHeight, newfs = ScreenMode; newheight = config.ScreenHeight, newfs = config.ScreenMode;
if (parm->numparms < 1 || parm->numparms > 4) return OSDCMD_SHOWHELP; if (parm->numparms < 1 || parm->numparms > 4) return OSDCMD_SHOWHELP;
switch (parm->numparms) switch (parm->numparms)
@ -411,14 +411,14 @@ static int osdcmd_vidmode(const osdfuncparm_t *parm)
if (setgamemode(newfs,newwidth,newheight,newbpp)) if (setgamemode(newfs,newwidth,newheight,newbpp))
{ {
initprintf("vidmode: Mode change failed!\n"); initprintf("vidmode: Mode change failed!\n");
if (setgamemode(ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP)) if (setgamemode(config.ScreenMode, config.ScreenWidth, config.ScreenHeight, config.ScreenBPP))
gameexit("vidmode: Reset failed!\n"); gameexit("vidmode: Reset failed!\n");
} }
ScreenBPP = newbpp; config.ScreenBPP = newbpp;
ScreenWidth = newwidth; config.ScreenWidth = newwidth;
ScreenHeight = newheight; config.ScreenHeight = newheight;
ScreenMode = newfs; config.ScreenMode = newfs;
onvideomodechange(ScreenBPP>8); onvideomodechange(config.ScreenBPP>8);
vscrn(); vscrn();
return OSDCMD_OK; return OSDCMD_OK;
} }
@ -622,7 +622,7 @@ cvar[] =
{ {
{ "crosshair", "crosshair: enable/disable crosshair", (void*)&ud.crosshair, CVAR_INT, 0, 0, 3 }, { "crosshair", "crosshair: enable/disable crosshair", (void*)&ud.crosshair, CVAR_INT, 0, 0, 3 },
{ "cl_autoaim", "cl_autoaim: enable/disable weapon autoaim", (void*)&AutoAim, CVAR_INT|256, 0, 0, 2 }, { "cl_autoaim", "cl_autoaim: enable/disable weapon autoaim", (void*)&config.AutoAim, CVAR_INT|256, 0, 0, 2 },
{ "cl_automsg", "cl_automsg: enable/disable automatically sending messages to all players", (void*)&ud.automsg, CVAR_BOOL, 0, 0, 1 }, { "cl_automsg", "cl_automsg: enable/disable automatically sending messages to all players", (void*)&ud.automsg, CVAR_BOOL, 0, 0, 1 },
{ "cl_autovote", "cl_autovote: enable/disable automatic voting", (void*)&ud.autovote, CVAR_INT|256, 0, 0, 2 }, { "cl_autovote", "cl_autovote: enable/disable automatic voting", (void*)&ud.autovote, CVAR_INT|256, 0, 0, 2 },
@ -635,12 +635,12 @@ cvar[] =
{ "cl_messagetime", "cl_messagetime: length of time to display multiplayer chat messages\n", (void*)&ud.msgdisptime, CVAR_INT, 0, 0, 3600 }, { "cl_messagetime", "cl_messagetime: length of time to display multiplayer chat messages\n", (void*)&ud.msgdisptime, CVAR_INT, 0, 0, 3600 },
{ "cl_mousebias", "cl_mousebias: emulates the original mouse code's weighting of input towards whichever axis is moving the most at any given time\n", (void*)&MouseBias, CVAR_INT, 0, 0, 32 }, { "cl_mousebias", "cl_mousebias: emulates the original mouse code's weighting of input towards whichever axis is moving the most at any given time\n", (void*)&config.MouseBias, CVAR_INT, 0, 0, 32 },
{ "cl_mousefilter", "cl_mousefilter: amount of mouse movement to filter out\n", (void*)&MouseFilter, CVAR_INT, 0, 0, 512 }, { "cl_mousefilter", "cl_mousefilter: amount of mouse movement to filter out\n", (void*)&config.MouseFilter, CVAR_INT, 0, 0, 512 },
{ "cl_showcoords", "cl_showcoords: show your position in the game world", (void*)&ud.coords, CVAR_BOOL, 0, 0, 1 }, { "cl_showcoords", "cl_showcoords: show your position in the game world", (void*)&ud.coords, CVAR_BOOL, 0, 0, 1 },
{ "cl_showfps", "cl_showfps: show the frame rate counter", (void*)&ud.tickrate, CVAR_BOOL, 0, 0, 1 }, { "cl_showfps", "cl_showfps: show the frame rate counter", (void*)&ud.tickrate, CVAR_BOOL, 0, 0, 1 },
{ "cl_smoothinput", "cl_smoothinput: enable/disable input smoothing\n", (void*)&SmoothInput, CVAR_BOOL, 0, 0, 1 }, { "cl_smoothinput", "cl_smoothinput: enable/disable input smoothing\n", (void*)&config.SmoothInput, CVAR_BOOL, 0, 0, 1 },
{ "cl_viewbob", "cl_viewbob: enable/disable player head bobbing\n", (void*)&ud.viewbob, CVAR_BOOL, 0, 0, 1 }, { "cl_viewbob", "cl_viewbob: enable/disable player head bobbing\n", (void*)&ud.viewbob, CVAR_BOOL, 0, 0, 1 },
@ -657,17 +657,17 @@ cvar[] =
{ "pr_verbosity", "pr_verbosity: verbosity level of the polymer renderer", (void*)&pr_verbosity, CVAR_INT, 0, 0, 3 }, { "pr_verbosity", "pr_verbosity: verbosity level of the polymer renderer", (void*)&pr_verbosity, CVAR_INT, 0, 0, 3 },
{ "pr_wireframe", "pr_wireframe: toggles wireframe mode", (void*)&pr_wireframe, CVAR_INT, 0, 0, 1 }, { "pr_wireframe", "pr_wireframe: toggles wireframe mode", (void*)&pr_wireframe, CVAR_INT, 0, 0, 1 },
#endif #endif
{ "r_precache", "r_precache: enable/disable the pre-level caching routine", (void*)&useprecache, CVAR_BOOL, 0, 0, 1 }, { "r_precache", "r_precache: enable/disable the pre-level caching routine", (void*)&config.useprecache, CVAR_BOOL, 0, 0, 1 },
{ "snd_ambience", "snd_ambience: enables/disables ambient sounds", (void*)&AmbienceToggle, CVAR_BOOL, 0, 0, 1 }, { "snd_ambience", "snd_ambience: enables/disables ambient sounds", (void*)&config.AmbienceToggle, CVAR_BOOL, 0, 0, 1 },
{ "snd_duketalk", "snd_duketalk: enables/disables Duke's speech", (void*)&VoiceToggle, CVAR_INT, 0, 0, 2 }, { "snd_duketalk", "snd_duketalk: enables/disables Duke's speech", (void*)&config.VoiceToggle, CVAR_INT, 0, 0, 2 },
{ "snd_fxvolume", "snd_fxvolume: volume of sound effects", (void*)&FXVolume, CVAR_INT, 0, 0, 255 }, { "snd_fxvolume", "snd_fxvolume: volume of sound effects", (void*)&config.FXVolume, CVAR_INT, 0, 0, 255 },
{ "snd_mixrate", "snd_mixrate: sound mixing rate", (void*)&MixRate, CVAR_INT, 0, 0, 48000 }, { "snd_mixrate", "snd_mixrate: sound mixing rate", (void*)&config.MixRate, CVAR_INT, 0, 0, 48000 },
{ "snd_musvolume", "snd_musvolume: volume of midi music", (void*)&MusicVolume, CVAR_INT, 0, 0, 255 }, { "snd_musvolume", "snd_musvolume: volume of midi music", (void*)&config.MusicVolume, CVAR_INT, 0, 0, 255 },
{ "snd_numbits", "snd_numbits: sound bits", (void*)&NumBits, CVAR_INT, 0, 8, 16 }, { "snd_numbits", "snd_numbits: sound bits", (void*)&config.NumBits, CVAR_INT, 0, 8, 16 },
{ "snd_numchannels", "snd_numchannels: the number of sound channels", (void*)&NumChannels, CVAR_INT, 0, 0, 2 }, { "snd_numchannels", "snd_numchannels: the number of sound channels", (void*)&config.NumChannels, CVAR_INT, 0, 0, 2 },
{ "snd_numvoices", "snd_numvoices: the number of concurrent sounds", (void*)&NumVoices, CVAR_INT, 0, 0, 32 }, { "snd_numvoices", "snd_numvoices: the number of concurrent sounds", (void*)&config.NumVoices, CVAR_INT, 0, 0, 32 },
{ "snd_reversestereo", "snd_reversestereo: reverses the stereo channels", (void*)&ReverseStereo, CVAR_BOOL, 0, 0, 16 }, { "snd_reversestereo", "snd_reversestereo: reverses the stereo channels", (void*)&config.ReverseStereo, CVAR_BOOL, 0, 0, 16 },
}; };
static int osdcmd_cvar_set(const osdfuncparm_t *parm) static int osdcmd_cvar_set(const osdfuncparm_t *parm)
@ -856,12 +856,12 @@ static int osdcmd_usemousejoy(const osdfuncparm_t *parm)
{ {
if (showval) if (showval)
{ {
OSD_Printf("usemouse is %d\n", UseMouse); OSD_Printf("usemouse is %d\n", config.UseMouse);
} }
else else
{ {
UseMouse = (atoi(parm->parms[0]) != 0); config.UseMouse = (atoi(parm->parms[0]) != 0);
CONTROL_MouseEnabled = (UseMouse && CONTROL_MousePresent); CONTROL_MouseEnabled = (config.UseMouse && CONTROL_MousePresent);
} }
return OSDCMD_OK; return OSDCMD_OK;
} }
@ -869,12 +869,12 @@ static int osdcmd_usemousejoy(const osdfuncparm_t *parm)
{ {
if (showval) if (showval)
{ {
OSD_Printf("usejoystick is %d\n", UseJoystick); OSD_Printf("usejoystick is %d\n", config.UseJoystick);
} }
else else
{ {
UseJoystick = (atoi(parm->parms[0]) != 0); config.UseJoystick = (atoi(parm->parms[0]) != 0);
CONTROL_JoystickEnabled = (UseJoystick && CONTROL_JoyPresent); CONTROL_JoystickEnabled = (config.UseJoystick && CONTROL_JoyPresent);
} }
return OSDCMD_OK; return OSDCMD_OK;
} }

View file

@ -2749,7 +2749,7 @@ void getinput(int snum)
{ {
int32 i; int32 i;
if (myaimmode) i = analog_lookingupanddown; if (myaimmode) i = analog_lookingupanddown;
else i = MouseAnalogueAxes[1]; else i = config.MouseAnalogueAxes[1];
if (i != mouseyaxismode) if (i != mouseyaxismode)
{ {
@ -2760,39 +2760,39 @@ void getinput(int snum)
CONTROL_GetInput(&info); CONTROL_GetInput(&info);
if (MouseFilter) if (config.MouseFilter)
{ {
if (info.dpitch > 0) if (info.dpitch > 0)
{ {
if (info.dpitch > MouseFilter) if (info.dpitch > config.MouseFilter)
info.dpitch -= MouseFilter; info.dpitch -= config.MouseFilter;
else info.dpitch = 0; else info.dpitch = 0;
} }
else if (info.dpitch < 0) else if (info.dpitch < 0)
{ {
if (info.dpitch < -MouseFilter) if (info.dpitch < -config.MouseFilter)
info.dpitch += MouseFilter; info.dpitch += config.MouseFilter;
else info.dpitch = 0; else info.dpitch = 0;
} }
if (info.dyaw > 0) if (info.dyaw > 0)
{ {
if (info.dyaw > MouseFilter) if (info.dyaw > config.MouseFilter)
info.dyaw -= MouseFilter; info.dyaw -= config.MouseFilter;
else info.dyaw = 0; else info.dyaw = 0;
} }
else if (info.dyaw < 0) else if (info.dyaw < 0)
{ {
if (info.dyaw < -MouseFilter) if (info.dyaw < -config.MouseFilter)
info.dyaw += MouseFilter; info.dyaw += config.MouseFilter;
else info.dyaw = 0; else info.dyaw = 0;
} }
} }
if (MouseBias) if (config.MouseBias)
{ {
if (klabs(info.dyaw) > klabs(info.dpitch)) if (klabs(info.dyaw) > klabs(info.dpitch))
info.dpitch /= MouseBias; info.dpitch /= config.MouseBias;
else info.dyaw /= MouseBias; else info.dyaw /= config.MouseBias;
} }
tics = totalclock-lastcontroltime; tics = totalclock-lastcontroltime;
@ -2883,7 +2883,7 @@ void getinput(int snum)
svel = vel = angvel = horiz = 0; svel = vel = angvel = horiz = 0;
if (SmoothInput) if (config.SmoothInput)
{ {
if (BUTTON(gamefunc_Strafe)) if (BUTTON(gamefunc_Strafe))
{ {
@ -3597,7 +3597,7 @@ void processinput(int snum)
Bstrcpy(name2,&ud.user_name[p->frag_ps][0]); Bstrcpy(name2,&ud.user_name[p->frag_ps][0]);
Bsprintf(tempbuf,fta_quotes[PPDEATHSTRINGS+i+(mulscale(krand(), 3, 16)*10)],name1,name2); Bsprintf(tempbuf,fta_quotes[PPDEATHSTRINGS+i+(mulscale(krand(), 3, 16)*10)],name1,name2);
if (ScreenWidth >= 800) if (config.ScreenWidth >= 800)
adduserquote(tempbuf); adduserquote(tempbuf);
else OSD_Printf("%s\n",stripcolorcodes(tempbuf)); else OSD_Printf("%s\n",stripcolorcodes(tempbuf));
} }
@ -3618,7 +3618,7 @@ void processinput(int snum)
if (ud.deathmsgs) if (ud.deathmsgs)
{ {
if (ScreenWidth >= 800) if (config.ScreenWidth >= 800)
adduserquote(tempbuf); adduserquote(tempbuf);
else OSD_Printf("%s\n",stripcolorcodes(tempbuf)); else OSD_Printf("%s\n",stripcolorcodes(tempbuf));
} }

View file

@ -34,7 +34,6 @@ extern char pow2char[];
extern int everyothertime; extern int everyothertime;
static int which_palookup = 9; static int which_palookup = 9;
int useprecache = 1;
char numl; char numl;
short spritecache[MAXTILES][3]; short spritecache[MAXTILES][3];
@ -276,8 +275,8 @@ static int getsound(unsigned int num)
short fp; short fp;
long l; long l;
if (num >= NUM_SOUNDS || SoundToggle == 0) return 0; if (num >= NUM_SOUNDS || config.SoundToggle == 0) return 0;
if (FXDevice < 0) return 0; if (config.FXDevice < 0) return 0;
if (!sounds[num][0]) return 0; if (!sounds[num][0]) return 0;
fp = kopen4load(sounds[num],loadfromgrouponly); fp = kopen4load(sounds[num],loadfromgrouponly);
@ -302,7 +301,7 @@ static void precachenecessarysounds(void)
{ {
int i, j; int i, j;
if (FXDevice < 0) return; if (config.FXDevice < 0) return;
j = 0; j = 0;
for (i=0;i<NUM_SOUNDS;i++) for (i=0;i<NUM_SOUNDS;i++)
@ -452,7 +451,7 @@ void cacheit(void)
loadtile((short)i); loadtile((short)i);
#if defined(POLYMOST) && defined(USE_OPENGL) #if defined(POLYMOST) && defined(USE_OPENGL)
if (useprecache) if (config.useprecache)
{ {
if (precachehightile[0][i>>3] & pow2char[i&7]) if (precachehightile[0][i>>3] & pow2char[i&7])
for (k=0; k<MAXPALOOKUPS && !KB_KeyPressed(sc_Space); k++) for (k=0; k<MAXPALOOKUPS && !KB_KeyPressed(sc_Space); k++)
@ -1162,7 +1161,7 @@ void newgame(int vn,int ln,int sk)
handleevents(); handleevents();
getpackets(); getpackets();
if (globalskillsound >= 0 && FXDevice >= 0 && SoundToggle) if (globalskillsound >= 0 && config.FXDevice >= 0 && config.SoundToggle)
{ {
while (issoundplaying(-1,globalskillsound)) while (issoundplaying(-1,globalskillsound))
{ {

View file

@ -2590,7 +2590,7 @@ void sharedkeys(int snum)
} }
else else
{ {
if (MusicToggle) MUSIC_Continue(); if (config.MusicToggle) MUSIC_Continue();
pub = NUMPAGES; pub = NUMPAGES;
pus = NUMPAGES; pus = NUMPAGES;
} }

View file

@ -49,13 +49,13 @@ void SoundStartup(void)
int32 status; int32 status;
// if they chose None lets return // if they chose None lets return
if (FXDevice < 0) return; if (config.FXDevice < 0) return;
status = FX_Init(FXDevice, NumVoices, NumChannels, NumBits, MixRate); status = FX_Init(config.FXDevice, config.NumVoices, config.NumChannels, config.NumBits, config.MixRate);
if (status == FX_Ok) if (status == FX_Ok)
{ {
FX_SetVolume(FXVolume); FX_SetVolume(config.FXVolume);
if (ReverseStereo == 1) if (config.ReverseStereo == 1)
{ {
FX_SetReverseStereo(!FX_GetReverseStereo()); FX_SetReverseStereo(!FX_GetReverseStereo());
} }
@ -82,7 +82,7 @@ void SoundShutdown(void)
int32 status; int32 status;
// if they chose None lets return // if they chose None lets return
if (FXDevice < 0) if (config.FXDevice < 0)
return; return;
status = FX_Shutdown(); status = FX_Shutdown();
@ -106,14 +106,14 @@ void MusicStartup(void)
int32 status; int32 status;
// if they chose None lets return // if they chose None lets return
if (MusicDevice < 0) if (config.MusicDevice < 0)
return; return;
status = MUSIC_Init(MusicDevice, 0); status = MUSIC_Init(config.MusicDevice, 0);
if (status == MUSIC_Ok) if (status == MUSIC_Ok)
{ {
MUSIC_SetVolume(MusicVolume); MUSIC_SetVolume(config.MusicVolume);
} }
else else
{ {
@ -144,7 +144,7 @@ void MusicShutdown(void)
int32 status; int32 status;
// if they chose None lets return // if they chose None lets return
if (MusicDevice < 0) if (config.MusicDevice < 0)
return; return;
status = MUSIC_Shutdown(); status = MUSIC_Shutdown();
@ -195,8 +195,8 @@ void playmusic(const char *fn)
if (fn == NULL) return; if (fn == NULL) return;
if (MusicToggle == 0) return; if (config.MusicToggle == 0) return;
if (MusicDevice < 0) return; if (config.MusicDevice < 0) return;
fp = kopen4load((char *)fn,0); fp = kopen4load((char *)fn,0);
@ -217,8 +217,8 @@ void playmusic(const char *fn)
if (fn == NULL) return; if (fn == NULL) return;
if (MusicToggle == 0) return; if (config.MusicToggle == 0) return;
if (MusicDevice < 0) return; if (config.MusicDevice < 0) return;
// FIXME: I need this to get the music volume initialized (not sure why) -- Jim Bentler // FIXME: I need this to get the music volume initialized (not sure why) -- Jim Bentler
MUSIC_SetVolume(MusicVolume); MUSIC_SetVolume(MusicVolume);
@ -230,8 +230,8 @@ int loadsound(unsigned int num)
{ {
long fp, l; long fp, l;
if (num >= NUM_SOUNDS || SoundToggle == 0) return 0; if (num >= NUM_SOUNDS || config.SoundToggle == 0) return 0;
if (FXDevice < 0) return 0; if (config.FXDevice < 0) return 0;
fp = kopen4load(sounds[num],loadfromgrouponly); fp = kopen4load(sounds[num],loadfromgrouponly);
if (fp == -1) if (fp == -1)
@ -262,9 +262,9 @@ int xyzsound(int num,int i,long x,long y,long z)
// if(num != 358) return 0; // if(num != 358) return 0;
if (num >= NUM_SOUNDS || if (num >= NUM_SOUNDS ||
FXDevice < 0 || config.FXDevice < 0 ||
((soundm[num]&8) && ud.lockout) || ((soundm[num]&8) && ud.lockout) ||
SoundToggle == 0 || config.SoundToggle == 0 ||
Sound[num].num > 3 || Sound[num].num > 3 ||
FX_VoiceAvailable(soundpr[num]) == 0 || FX_VoiceAvailable(soundpr[num]) == 0 ||
(ps[myconnectindex].timebeforeexit > 0 && ps[myconnectindex].timebeforeexit <= 26*3) || (ps[myconnectindex].timebeforeexit > 0 && ps[myconnectindex].timebeforeexit <= 26*3) ||
@ -278,9 +278,9 @@ int xyzsound(int num,int i,long x,long y,long z)
if (soundm[num]&4) if (soundm[num]&4)
{ {
if (VoiceToggle==0) if (config.VoiceToggle==0)
return -1; return -1;
else if (ud.multimode > 1 && PN == APLAYER && sprite[i].yvel != screenpeek && VoiceToggle!=2) else if (ud.multimode > 1 && PN == APLAYER && sprite[i].yvel != screenpeek && config.VoiceToggle!=2)
return -1; return -1;
for (j=0;j<NUM_SOUNDS;j++) for (j=0;j<NUM_SOUNDS;j++)
for (k=0;k<Sound[j].num;k++) for (k=0;k<Sound[j].num;k++)
@ -409,9 +409,9 @@ void sound(int num)
int voice; int voice;
long start; long start;
if (FXDevice < 0) return; if (config.FXDevice < 0) return;
if (SoundToggle==0) return; if (config.SoundToggle==0) return;
if (VoiceToggle==0 && (soundm[num]&4)) return; if (config.VoiceToggle==0 && (soundm[num]&4)) return;
if ((soundm[num]&8) && ud.lockout) return; if ((soundm[num]&8) && ud.lockout) return;
if (FX_VoiceAvailable(soundpr[num]) == 0) return; if (FX_VoiceAvailable(soundpr[num]) == 0) return;
if (num > NUM_SOUNDS-1 || !sounds[num]) if (num > NUM_SOUNDS-1 || !sounds[num])

View file

@ -31,18 +31,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifndef _sounds_public_ #ifndef _sounds_public_
#define _sounds_public_ #define _sounds_public_
extern int32 FXDevice;
extern int32 MusicDevice;
extern int32 FXVolume;
extern int32 MusicVolume;
//extern fx_blaster_config BlasterConfig;
extern int32 NumVoices;
extern int32 NumChannels;
extern int32 NumBits;
extern int32 MixRate;
//extern int32 MidiPort;
extern int32 ReverseStereo;
void SoundStartup( void ); void SoundStartup( void );
void SoundShutdown( void ); void SoundShutdown( void );
void MusicStartup( void ); void MusicStartup( void );

View file

@ -748,7 +748,7 @@ int startwin_run(void)
settings.xdim3d = ScreenWidth; settings.xdim3d = ScreenWidth;
settings.ydim3d = ScreenHeight; settings.ydim3d = ScreenHeight;
settings.bpp3d = ScreenBPP; settings.bpp3d = ScreenBPP;
settings.forcesetup = ForceSetup; settings.forcesetup = g_ForceSetup;
settings.usemouse = UseMouse; settings.usemouse = UseMouse;
settings.usejoy = UseJoystick; settings.usejoy = UseJoystick;
settings.game = gametype; settings.game = gametype;
@ -764,7 +764,7 @@ int startwin_run(void)
ScreenWidth = settings.xdim3d; ScreenWidth = settings.xdim3d;
ScreenHeight = settings.ydim3d; ScreenHeight = settings.ydim3d;
ScreenBPP = settings.bpp3d; ScreenBPP = settings.bpp3d;
ForceSetup = settings.forcesetup; g_ForceSetup = settings.forcesetup;
UseMouse = settings.usemouse; UseMouse = settings.usemouse;
UseJoystick = settings.usejoy; UseJoystick = settings.usejoy;
duke3dgrp = settings.selectedgrp; duke3dgrp = settings.selectedgrp;

View file

@ -575,14 +575,14 @@ int startwin_run(void)
SetPage(TAB_CONFIG); SetPage(TAB_CONFIG);
EnableConfig(1); EnableConfig(1);
settings.fullscreen = ScreenMode; settings.fullscreen = config.ScreenMode;
settings.xdim = ScreenWidth; settings.xdim = config.ScreenWidth;
settings.ydim = ScreenHeight; settings.ydim = config.ScreenHeight;
settings.bpp = ScreenBPP; settings.bpp = config.ScreenBPP;
settings.forcesetup = ForceSetup; settings.forcesetup = config.ForceSetup;
settings.usemouse = UseMouse; settings.usemouse = config.UseMouse;
settings.usejoy = UseJoystick; settings.usejoy = config.UseJoystick;
settings.game = gametype; settings.game = g_GameType;
strncpy(settings.selectedgrp, duke3dgrp, BMAX_PATH); strncpy(settings.selectedgrp, duke3dgrp, BMAX_PATH);
PopulateForm(-1); PopulateForm(-1);
@ -607,15 +607,15 @@ int startwin_run(void)
EnableConfig(0); EnableConfig(0);
if (done) if (done)
{ {
ScreenMode = settings.fullscreen; config.ScreenMode = settings.fullscreen;
ScreenWidth = settings.xdim; config.ScreenWidth = settings.xdim;
ScreenHeight = settings.ydim; config.ScreenHeight = settings.ydim;
ScreenBPP = settings.bpp; config.ScreenBPP = settings.bpp;
ForceSetup = settings.forcesetup; config.ForceSetup = settings.forcesetup;
UseMouse = settings.usemouse; config.UseMouse = settings.usemouse;
UseJoystick = settings.usejoy; config.UseJoystick = settings.usejoy;
duke3dgrp = settings.selectedgrp; duke3dgrp = settings.selectedgrp;
gametype = settings.game; g_GameType = settings.game;
} }
if (wavedevs) if (wavedevs)