37 { WWT_PANEL_2, 12, 170, 245, 69, 122, 0x1316, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE}, |
37 { WWT_PANEL_2, 12, 170, 245, 69, 122, 0x1316, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE}, |
38 { WWT_PANEL_2, 12, 250, 325, 69, 122, 0x1318, STR_0311_SELECT_TOYLAND_LANDSCAPE}, |
38 { WWT_PANEL_2, 12, 250, 325, 69, 122, 0x1318, STR_0311_SELECT_TOYLAND_LANDSCAPE}, |
39 { WIDGETS_END}, |
39 { WIDGETS_END}, |
40 }; |
40 }; |
41 |
41 |
|
42 extern void HandleOnEditText(WindowEvent *e); |
|
43 extern void HandleOnEditTextCancel(); |
|
44 |
42 static void SelectGameWndProc(Window *w, WindowEvent *e) { |
45 static void SelectGameWndProc(Window *w, WindowEvent *e) { |
43 switch(e->event) { |
46 switch(e->event) { |
44 case WE_PAINT: |
47 case WE_PAINT: |
45 w->click_state = (w->click_state & ~(0xC0) & ~(0xF << 12)) | (1 << (_new_opt.landscape+12)) | (!_networking?(1<<6):(1<<7)); |
48 w->click_state = (w->click_state & ~(0xC0) & ~(0xF << 12)) | (1 << (_new_opt.landscape+12)) | (1<<6); |
46 w->disabled_state = _networking ? 0x30 : 0; |
|
47 SetDParam(0, STR_6801_EASY + _new_opt.diff_level); |
49 SetDParam(0, STR_6801_EASY + _new_opt.diff_level); |
48 DrawWindowWidgets(w); |
50 DrawWindowWidgets(w); |
49 break; |
51 break; |
50 |
52 |
51 case WE_CLICK: |
53 case WE_CLICK: |
52 switch(e->click.widget) { |
54 switch(e->click.widget) { |
53 case 2: DoCommandP(0, 0, 0, NULL, CMD_START_NEW_GAME); break; |
55 case 2: DoCommandP(0, 0, 0, NULL, CMD_START_NEW_GAME); break; |
54 case 3: ShowSaveLoadDialog(SLD_LOAD_GAME); break; |
56 case 3: ShowSaveLoadDialog(SLD_LOAD_GAME); break; |
55 case 4: ShowPatchesSelection(); break; |
57 case 4: ShowPatchesSelection(); break; |
56 case 5: DoCommandP(0, InteractiveRandom(), 0, NULL, CMD_CREATE_SCENARIO); break; |
58 case 5: DoCommandP(0, InteractiveRandom(), 0, NULL, CMD_CREATE_SCENARIO); break; |
57 case 6: |
|
58 if (_networking) |
|
59 DoCommandP(0, 0, 0, NULL, CMD_SET_SINGLE_PLAYER); |
|
60 break; |
|
61 case 7: |
59 case 7: |
|
60 #ifdef ENABLE_NETWORK |
62 if (!_network_available) { |
61 if (!_network_available) { |
63 ShowErrorMessage(-1,STR_NETWORK_ERR_NOTAVAILABLE, 0, 0); |
62 ShowErrorMessage(-1,STR_NETWORK_ERR_NOTAVAILABLE, 0, 0); |
64 } else { |
63 } else { |
65 ShowNetworkGameWindow(); |
64 ShowNetworkGameWindow(); |
66 ShowErrorMessage(-1, TEMP_STRING_NO_NETWORK, 0, 0); |
|
67 } |
65 } |
|
66 #else |
|
67 ShowErrorMessage(-1,STR_NETWORK_ERR_NOTAVAILABLE, 0, 0); |
|
68 #endif /* ENABLE_NETWORK */ |
68 break; |
69 break; |
69 case 8: ShowGameOptions(); break; |
70 case 8: ShowGameOptions(); break; |
70 case 9: ShowGameDifficulty(); break; |
71 case 9: ShowGameDifficulty(); break; |
71 case 10:ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break; |
72 case 10:ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break; |
72 case 11:AskExitGame(); break; |
73 case 11:AskExitGame(); break; |