/[enigma]/enigma/src/main.cc
ViewVC logotype

Diff of /enigma/src/main.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by dheck, Fri Jan 24 20:04:38 2003 UTC revision 1.3 by dheck, Sun Feb 2 18:22:28 2003 UTC
# Line 80  static void usage() Line 80  static void usage()
80             "    --window       Run in a window; do not enter fullscreen mode\n"             "    --window       Run in a window; do not enter fullscreen mode\n"
81             "    --help -h      Show this help\n"             "    --help -h      Show this help\n"
82             "    --version      Print the executable's version number\n"             "    --version      Print the executable's version number\n"
83             "    --8bpp         Use 256 color mode\n"  //           "    --8bpp         Use 256 color mode\n"
84             "    --nograb       Do not use exclusive mouse/keyboard access\n"             "    --nograb       Do not use exclusive mouse/keyboard access\n"
85               "    --soundset -s [enigma|oxyd|oxyd1|peroxyd|oxydmagnum|oxydextra]\n"
86               "                   Choose your preferred soundset; default is 'oxyd'\n"
87             "\n");             "\n");
88  }  }
89    
# Line 93  namespace Line 95  namespace
95              OPT_NOSOUND, OPT_NOMUSIC, OPT_VERSION, OPT_HELP,              OPT_NOSOUND, OPT_NOMUSIC, OPT_VERSION, OPT_HELP,
96              OPT_WINDOW, OPT_WIZARD, OPT_NOGRAB, OPT_LOG,              OPT_WINDOW, OPT_WIZARD, OPT_NOGRAB, OPT_LOG,
97              OPT_8BPP, OPT_GAME,              OPT_8BPP, OPT_GAME,
98              OPT_PEROXYD, OPT_OXYD1, OPT_EXTRA, OPT_MAGNUM              OPT_SOUNDSET,
99    //            OPT_PEROXYD, OPT_OXYD1, OPT_EXTRA, OPT_MAGNUM
100          };          };
101    
102          AP() : ArgParser (app.args.begin(), app.args.end())          AP() : ArgParser (app.args.begin(), app.args.end())
# Line 112  namespace Line 115  namespace
115              def (OPT_LOG,       'l', "log");              def (OPT_LOG,       'l', "log");
116              def (OPT_8BPP,      '8', "8bpp");              def (OPT_8BPP,      '8', "8bpp");
117              def (OPT_GAME,      'g', "game", true);              def (OPT_GAME,      'g', "game", true);
118              def (OPT_PEROXYD,   0,   "peroxyd");  //             def (OPT_PEROXYD,   0,   "peroxyd");
119              def (OPT_OXYD1,     0,   "oxyd1");  //             def (OPT_OXYD1,     0,   "oxyd1");
120              def (OPT_EXTRA, 0,   "oxydextra");  //             def (OPT_EXTRA, 0,   "oxydextra");
121              def (OPT_MAGNUM,0,   "oxydmagnum");  //             def (OPT_MAGNUM,0,   "oxydmagnum");
122                def (OPT_SOUNDSET,  's', "soundset", true);
123          }          }
124                                                                    
125          // ArgParser interface.          // ArgParser interface.
# Line 136  namespace Line 140  namespace
140              case OPT_8BPP:    options::BitsPerPixel = 8; break;              case OPT_8BPP:    options::BitsPerPixel = 8; break;
141              case OPT_GAME:    gamename = param; break;              case OPT_GAME:    gamename = param; break;
142              case OPT_LOG:     do_log = true; break;              case OPT_LOG:     do_log = true; break;
143              case OPT_PEROXYD: gametype = GAMET_PEROXYD; break;  //             case OPT_PEROXYD: gametype = GAMET_PEROXYD; break;
144              case OPT_OXYD1:   gametype = GAMET_OXYD1; break;  //             case OPT_OXYD1:   gametype = GAMET_OXYD1; break;
145              case OPT_EXTRA:   gametype = GAMET_OXYDEXTRA; break;  //             case OPT_EXTRA:   gametype = GAMET_OXYDEXTRA; break;
146              case OPT_MAGNUM:  gametype = GAMET_OXYDMAGNUM; break;  //             case OPT_MAGNUM:  gametype = GAMET_OXYDMAGNUM; break;
147                case OPT_SOUNDSET: soundset = param; break;
148              }              }
149          }          }
150    
# Line 149  namespace Line 154  namespace
154          // Variables.          // Variables.
155          bool nosound, nomusic, show_help, show_version, do_log;          bool nosound, nomusic, show_help, show_version, do_log;
156          string gamename;          string gamename;
157            string soundset;
158          GameType gametype;          GameType gametype;
159      };      };
160  }  }
161    
162    static void
163    init_soundset (const string &soundset)
164    {
165        if (soundset == "oxyd" || soundset == "") {
166            for (int i=OxydVersion_First; i<=OxydVersion_Last; ++i) {
167                OxydVersion ver = OxydVersion(i);
168                if (oxyd::FoundOxyd (ver)) {
169                    oxyd::OpenDatFile (ver);
170                    oxyd::UseOxydSounds (true);
171                    break;
172                }
173            }
174        }
175        else if (soundset == "oxyd1") {
176            oxyd::OpenDatFile (OxydVersion_Oxyd1);
177            oxyd::UseOxydSounds (true);
178        }
179        else if (soundset == "peroxyd") {
180            oxyd::OpenDatFile (OxydVersion_PerOxyd);
181            oxyd::UseOxydSounds (true);
182        }
183        else if (soundset == "oxydextra") {
184            oxyd::OpenDatFile (OxydVersion_OxydExtra);
185            oxyd::UseOxydSounds (true);
186        }
187        else if (soundset == "oxydmagnum") {
188            oxyd::OpenDatFile (OxydVersion_OxydMagnum);
189            oxyd::UseOxydSounds (true);
190        }
191    }
192    
193  static void  static void
194  init()  init()
195  {  {
# Line 204  init() Line 241  init()
241          sound::DisableMusic();          sound::DisableMusic();
242    
243      oxyd::Init();      oxyd::Init();
244      if (ap.gametype == GAMET_PEROXYD) {      init_soundset(ap.soundset);
245          oxyd::OpenDatFile (OxydVersion_PerOxyd);  
     } else if (ap.gametype == GAMET_OXYD1) {  
         oxyd::OpenDatFile (OxydVersion_Oxyd1);  
     } else if (ap.gametype == GAMET_OXYDMAGNUM) {  
         oxyd::OpenDatFile (OxydVersion_OxydMagnum);  
     } else if (ap.gametype == GAMET_OXYDEXTRA) {  
         oxyd::OpenDatFile (OxydVersion_OxydExtra);  
     }  
246      video::Init();      video::Init();
247      video::SetPalette("enigma.pal");      video::SetPalette("enigma.pal");
248      display::Init();      display::Init();

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26