int startwin_run(void) { MSG msg; if (!startupdlg) return 1; done = -1; ScanGroups(); SetPage(TAB_CONFIG); EnableConfig(1); settings.fullscreen = ScreenMode; settings.xdim = ScreenWidth; settings.ydim = ScreenHeight; settings.bpp = ScreenBPP; settings.samplerate = MixRate; settings.bitspersample = NumBits; settings.channels = NumChannels; settings.forcesetup = ForceSetup; settings.usemouse = UseMouse; settings.usejoy = UseJoystick; strncpy(settings.selectedgrp, grpfile, BMAX_PATH); PopulateForm(-1); while (done < 0) { switch (GetMessage(&msg, NULL, 0,0)) { case 0: done = 1; break; case -1: return -1; default: if (IsWindow(startupdlg) && IsDialogMessage(startupdlg, &msg)) break; TranslateMessage(&msg); DispatchMessage(&msg); break; } } SetPage(TAB_MESSAGES); EnableConfig(0); if (done) { ScreenMode = settings.fullscreen; ScreenWidth = settings.xdim; ScreenHeight = settings.ydim; ScreenBPP = settings.bpp; MixRate = settings.samplerate; NumBits = settings.bitspersample; NumChannels = settings.channels; ForceSetup = settings.forcesetup; UseMouse = settings.usemouse; UseJoystick = settings.usejoy; grpfile = settings.selectedgrp; } FreeGroups(); return done; }
int32_t startwin_run(void) { MSG msg; if (!startupdlg) return 1; done = -1; SetPage(TAB_CONFIG); EnableConfig(1); settings.fullscreen = fullscreen; settings.xdim2d = xdim2d; settings.ydim2d = ydim2d; settings.xdim3d = xdimgame; settings.ydim3d = ydimgame; settings.bpp3d = bppgame; settings.forcesetup = forcesetup; PopulateForm(); while (done < 0) { switch (GetMessage(&msg, NULL, 0,0)) { case 0: done = 1; break; case -1: return -1; default: if (IsWindow(startupdlg) && IsDialogMessage(startupdlg, &msg)) break; TranslateMessage(&msg); DispatchMessage(&msg); break; } } SetPage(TAB_MESSAGES); EnableConfig(0); if (done) { fullscreen = settings.fullscreen; xdim2d = settings.xdim2d; ydim2d = settings.ydim2d; xdimgame = settings.xdim3d; ydimgame = settings.ydim3d; bppgame = settings.bpp3d; forcesetup = settings.forcesetup; } return done; }
int32_t startwin_open(void) { INITCOMMONCONTROLSEX icc; if (startupdlg) return 1; icc.dwSize = sizeof(icc); icc.dwICC = ICC_TAB_CLASSES; InitCommonControlsEx(&icc); startupdlg = CreateDialog((HINSTANCE)win_gethinstance(), MAKEINTRESOURCE(WIN_STARTWIN), NULL, startup_dlgproc); if (startupdlg) { SetPage(TAB_MESSAGES); EnableConfig(0); return 0; } return -1; }
int startwin_open(void) { INITCOMMONCONTROLSEX icc; if (startupdlg) return 1; icc.dwSize = sizeof(icc); icc.dwICC = ICC_TAB_CLASSES; InitCommonControlsEx(&icc); startupdlg = CreateDialog((HINSTANCE)win_gethinstance(), MAKEINTRESOURCE(WIN_STARTWIN), NULL, startup_dlgproc); if (startupdlg) { { static int soundQualityFrequencies[] = { 44100, 22050, 11025 }; static int soundQualitySampleSizes[] = { 16, 8 }; static int soundQualityChannels[] = { 2, 1 }; unsigned int f, b, c, i; i = sizeof(soundQualityFrequencies) * sizeof(soundQualitySampleSizes) * sizeof(soundQualityChannels) / sizeof(int) + 2; // one for the terminator, one for a custom setting soundQualities = (struct soundQuality_t *) malloc(i * sizeof(struct soundQuality_t)); i = 0; for (c = 0; c < sizeof(soundQualityChannels) / sizeof(int); c++) { for (b = 0; b < sizeof(soundQualitySampleSizes) / sizeof(int); b++) { for (f = 0; f < sizeof(soundQualityFrequencies) / sizeof(int); f++) { soundQualities[i].frequency = soundQualityFrequencies[f]; soundQualities[i].samplesize = soundQualitySampleSizes[b]; soundQualities[i].channels = soundQualityChannels[c]; i++; } } } soundQualities[i].frequency = -1; } SetPage(TAB_MESSAGES); EnableConfig(0); return 0; } return -1; }
int32_t startwin_run(void) { MSG msg; if (!startupdlg) return 1; done = -1; #ifdef JFAUD EnumAudioDevs(&wavedevs, NULL, NULL); #endif SetPage(TAB_CONFIG); EnableConfig(1); settings.flags = 0; if (ud.config.ScreenMode) settings.flags |= 1; #ifdef POLYMER if (glrendmode == REND_POLYMER) settings.flags |= 2; #endif if (ud.config.NoAutoLoad) settings.flags |= 4; settings.xdim = ud.config.ScreenWidth; settings.ydim = ud.config.ScreenHeight; settings.bpp = ud.config.ScreenBPP; settings.forcesetup = ud.config.ForceSetup; settings.usemouse = ud.config.UseMouse; settings.usejoy = ud.config.UseJoystick; settings.game = g_gameType; // settings.crcval = 0; Bstrncpyz(settings.selectedgrp, G_GrpFile(), BMAX_PATH); settings.gamedir = g_modDir; PopulateForm(-1); while (done < 0) { switch (GetMessage(&msg, NULL, 0,0)) { case 0: done = 1; break; case -1: return -1; default: if (IsWindow(startupdlg) && IsDialogMessage(startupdlg, &msg)) break; TranslateMessage(&msg); DispatchMessage(&msg); break; } } SetPage(TAB_MESSAGES); EnableConfig(0); if (done) { ud.config.ScreenMode = (settings.flags&1); #ifdef POLYMER if (settings.flags & 2) glrendmode = REND_POLYMER; else glrendmode = REND_POLYMOST; #endif if (settings.flags & 4) ud.config.NoAutoLoad = 1; else ud.config.NoAutoLoad = 0; ud.config.ScreenWidth = settings.xdim; ud.config.ScreenHeight = settings.ydim; ud.config.ScreenBPP = settings.bpp; ud.config.ForceSetup = settings.forcesetup; ud.config.UseMouse = settings.usemouse; ud.config.UseJoystick = settings.usejoy; clearGrpNamePtr(); g_grpNamePtr = dup_filename(settings.selectedgrp); g_gameType = settings.game; if (g_noSetup == 0 && settings.gamedir != NULL) Bstrcpy(g_modDir,settings.gamedir); else Bsprintf(g_modDir,"/"); { struct grpfile *grp; for (grp = listgrps; grp; grp=grp->next) if (settings.crcval == grp->crcval) break; if (grp) { g_gameNamePtr = grp->name; g_dependencyCRC = grp->dependency; if (grp->scriptname && g_scriptNamePtr == NULL) g_scriptNamePtr = dup_filename(grp->scriptname); if (grp->defname && g_defNamePtr == NULL) g_defNamePtr = dup_filename(grp->defname); } } } if (wavedevs) { struct audioenumdev *d, *e; Bfree(wavedevs->drvs); for (e=wavedevs->devs; e; e=d) { d = e->next; if (e->devs) Bfree(e->devs); Bfree(e); } Bfree(wavedevs); } return done; }