|
20 | 20 | #include "utils.h" |
21 | 21 | #include "launcher.h" |
22 | 22 | #include "status.h" |
| 23 | +#include "keyboard_bind.h" |
23 | 24 |
|
24 | 25 | std::wstring g_dk2Dir; |
25 | 26 | std::wstring g_curExeDir; |
@@ -187,33 +188,41 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) |
187 | 188 | { |
188 | 189 | DWORD isFullscreen = 0; |
189 | 190 | if(persistence_getDword(L"fullscreen", isFullscreen)) { |
190 | | - FullscreenBtn.setCheck((int) isFullscreen); |
| 191 | + FullscreenChk.setCheck((int) isFullscreen); |
191 | 192 | } else { |
192 | | - FullscreenBtn.setCheck(BST_INDETERMINATE); |
| 193 | + FullscreenChk.setCheck(BST_INDETERMINATE); |
193 | 194 | } |
194 | 195 | } |
195 | 196 | { |
196 | 197 | DWORD check = 0; |
197 | 198 | if(persistence_getDword(L"dpi_aware", check)) { |
198 | | - DPIBtn.setCheck((int) check); |
| 199 | + DPIChk.setCheck((int) check); |
199 | 200 | } else { |
200 | | - DPIBtn.setCheck(BST_UNCHECKED); |
| 201 | + DPIChk.setCheck(BST_UNCHECKED); |
201 | 202 | } |
202 | 203 | } |
203 | 204 | { |
204 | 205 | DWORD check = 0; |
205 | 206 | if(persistence_getDword(L"unlimited_zoom", check)) { |
206 | | - UnlimitedZoomBtn.setCheck((int) check); |
| 207 | + UnlimitedZoomChk.setCheck((int) check); |
207 | 208 | } else { |
208 | | - UnlimitedZoomBtn.setCheck(BST_UNCHECKED); |
| 209 | + UnlimitedZoomChk.setCheck(BST_UNCHECKED); |
| 210 | + } |
| 211 | + } |
| 212 | + { |
| 213 | + DWORD check = 0; |
| 214 | + if(persistence_getDword(L"wheel2zoom", check)) { |
| 215 | + Wheel2ZoomChk.setCheck((int) check); |
| 216 | + } else { |
| 217 | + Wheel2ZoomChk.setCheck(BST_UNCHECKED); |
209 | 218 | } |
210 | 219 | } |
211 | 220 | { |
212 | 221 | DWORD check = 0; |
213 | 222 | if(persistence_getDword(L"redirect_textures", check)) { |
214 | | - ResRedirectBtn.setCheck((int) check); |
| 223 | + ResRedirectChk.setCheck((int) check); |
215 | 224 | } else { |
216 | | - ResRedirectBtn.setCheck(BST_UNCHECKED); |
| 225 | + ResRedirectChk.setCheck(BST_UNCHECKED); |
217 | 226 | } |
218 | 227 | } |
219 | 228 | std::wstring menu_resolution; |
@@ -280,19 +289,23 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) |
280 | 289 | wss << L'\"' << g_curExeDir << L"/bootstrap_patcher.exe" << L'\"'; |
281 | 290 | wss << " -32BITEVERYTHING"; |
282 | 291 | int check; |
283 | | - check = DPIBtn.getCheck(); |
| 292 | + check = DPIChk.getCheck(); |
284 | 293 | if(check == BST_CHECKED) { |
285 | 294 | wss << " -ember:dpi_aware"; |
286 | 295 | } |
287 | | - check = UnlimitedZoomBtn.getCheck(); |
| 296 | + check = UnlimitedZoomChk.getCheck(); |
288 | 297 | if(check == BST_CHECKED) { |
289 | 298 | wss << " -ember:unlimited_zoom"; |
290 | 299 | } |
291 | | - check = ResRedirectBtn.getCheck(); |
| 300 | + check = Wheel2ZoomChk.getCheck(); |
| 301 | + if(check == BST_CHECKED) { |
| 302 | + wss << " -ember:wheel2zoom"; |
| 303 | + } |
| 304 | + check = ResRedirectChk.getCheck(); |
292 | 305 | if(check == BST_CHECKED) { |
293 | 306 | wss << " -ember:redirect_textures"; |
294 | 307 | } |
295 | | - check = FullscreenBtn.getCheck(); |
| 308 | + check = FullscreenChk.getCheck(); |
296 | 309 | if(check != BST_INDETERMINATE) { |
297 | 310 | wss << " -ember:fullscreen="; |
298 | 311 | wss << (check == BST_CHECKED ? "true" : "false"); |
@@ -330,11 +343,11 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) |
330 | 343 | std::wstringstream wss; |
331 | 344 | wss << L'\"' << g_curExeDir << L"/bootstrap_patcher.exe" << L'\"'; |
332 | 345 | wss << " -32BITEVERYTHING"; |
333 | | - int check = DPIBtn.getCheck(); |
| 346 | + int check = DPIChk.getCheck(); |
334 | 347 | if(check == BST_CHECKED) { |
335 | 348 | wss << " -ember:dpi_aware"; |
336 | 349 | } |
337 | | - check = FullscreenBtn.getCheck(); |
| 350 | + check = FullscreenChk.getCheck(); |
338 | 351 | if(check != BST_INDETERMINATE) { |
339 | 352 | wss << " -ember:fullscreen="; |
340 | 353 | wss << (check == BST_CHECKED ? "true" : "false"); |
@@ -375,6 +388,10 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) |
375 | 388 | std::wstring path = ss.str(); |
376 | 389 | std::filesystem::create_directories(path); |
377 | 390 | ShellExecuteW(NULL, L"open", path.c_str(), NULL, NULL, SW_SHOWNORMAL); |
| 391 | + } else if (hm == BindWasdBtn.id) { |
| 392 | + bindWasd(); |
| 393 | + updateStatus(); |
| 394 | + |
378 | 395 | // } else if (hm == GameModesCombo.id) { |
379 | 396 | // if(HIWORD(wParam) == CBN_SELCHANGE) { |
380 | 397 | // auto &mode = screenModeList[GameModesCombo.getCurSel()]; |
@@ -402,10 +419,11 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) |
402 | 419 | return (INT_PTR)(HBRUSH)BGColorBrush; |
403 | 420 | } |
404 | 421 | case WM_DESTROY: |
405 | | - persistence_setDword(L"fullscreen", (DWORD) FullscreenBtn.getCheck()); |
406 | | - persistence_setDword(L"dpi_aware", (DWORD) DPIBtn.getCheck()); |
407 | | - persistence_setDword(L"unlimited_zoom", (DWORD) UnlimitedZoomBtn.getCheck()); |
408 | | - persistence_setDword(L"redirect_textures", (DWORD) ResRedirectBtn.getCheck()); |
| 422 | + persistence_setDword(L"fullscreen", (DWORD) FullscreenChk.getCheck()); |
| 423 | + persistence_setDword(L"dpi_aware", (DWORD) DPIChk.getCheck()); |
| 424 | + persistence_setDword(L"unlimited_zoom", (DWORD) UnlimitedZoomChk.getCheck()); |
| 425 | + persistence_setDword(L"wheel2zoom", (DWORD) Wheel2ZoomChk.getCheck()); |
| 426 | + persistence_setDword(L"redirect_textures", (DWORD) ResRedirectChk.getCheck()); |
409 | 427 | { |
410 | 428 | auto &mode = g_screenModeList[MenuModesCombo.getCurSel()]; |
411 | 429 | std::wstringstream ss; |
@@ -508,3 +526,7 @@ int WINAPI WinMain( |
508 | 526 |
|
509 | 527 | return (int)msg.wParam; |
510 | 528 | } |
| 529 | + |
| 530 | +int main() { |
| 531 | + return WinMain(GetModuleHandleA(NULL), NULL, NULL, SW_NORMAL); |
| 532 | +} |
0 commit comments