| 45 |
|
{ 1920, 1440, 0, 0 }, |
| 46 |
|
}; |
| 47 |
|
|
| 48 |
< |
const short daodan_resdepths[] = { 16, 32 }; |
| 48 |
> |
short daodan_resdepths[] = { 16, 32 }; |
| 49 |
|
|
| 50 |
|
DEVMODE orig_devmode, cur_devmode, new_devmode; |
| 51 |
|
|
| 85 |
|
|
| 86 |
|
int i, j; |
| 87 |
|
|
| 88 |
+ |
if (!M3gResolutionSwitch) |
| 89 |
+ |
daodan_resdepths[0] = orig_devmode.dmBitsPerPel; |
| 90 |
+ |
|
| 91 |
|
for (i = 0; i < builtin_depths; i ++) |
| 92 |
|
{ |
| 93 |
|
bool scrInsert = false; |
| 101 |
|
|
| 102 |
|
for (j = 0; j < builtin_modes; j ++) |
| 103 |
|
if (!(daodan_reslist[j].Width == 640 && daodan_reslist[j].Height == 480) && !(daodan_reslist[j].Width == screen_x && daodan_reslist[j].Height == screen_y) && |
| 104 |
< |
((daodan_reslist[j].Width < screen_x && daodan_reslist[j].Height < screen_y) || daodan_testmode(daodan_reslist[j]))) |
| 104 |
> |
((daodan_reslist[j].Width < screen_x && daodan_reslist[j].Height < screen_y) || (M3gResolutionSwitch && daodan_testmode(daodan_reslist[j])))) |
| 105 |
|
{ |
| 106 |
|
if (!scrInsert && (daodan_reslist[j].Width > screen_x || (daodan_reslist[j].Width == screen_x && daodan_reslist[j].Height > screen_y))) |
| 107 |
|
{ |
| 132 |
|
if (++vmodes == max_modes - builtin_modes + i) |
| 133 |
|
goto modesfull; |
| 134 |
|
} |
| 135 |
+ |
|
| 136 |
+ |
if (!M3gResolutionSwitch) |
| 137 |
+ |
goto modesfull; |
| 138 |
|
} |
| 139 |
|
|
| 140 |
|
modesfull: |