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: |