169 static void BuildRoadClick_Landscaping(Window *w) |
169 static void BuildRoadClick_Landscaping(Window *w) |
170 { |
170 { |
171 ShowTerraformToolbar(); |
171 ShowTerraformToolbar(); |
172 } |
172 } |
173 |
173 |
174 static OnButtonClick * const _build_road_button_proc[] = { |
174 static OnButtonClick* const _build_road_button_proc[] = { |
175 BuildRoadClick_NE, |
175 BuildRoadClick_NE, |
176 BuildRoadClick_NW, |
176 BuildRoadClick_NW, |
177 BuildRoadClick_Demolish, |
177 BuildRoadClick_Demolish, |
178 BuildRoadClick_Depot, |
178 BuildRoadClick_Depot, |
179 BuildRoadClick_BusStation, |
179 BuildRoadClick_BusStation, |
182 BuildRoadClick_Tunnel, |
182 BuildRoadClick_Tunnel, |
183 BuildRoadClick_Remove, |
183 BuildRoadClick_Remove, |
184 BuildRoadClick_Landscaping, |
184 BuildRoadClick_Landscaping, |
185 }; |
185 }; |
186 |
186 |
187 static void BuildRoadToolbWndProc(Window *w, WindowEvent *e) { |
187 static void BuildRoadToolbWndProc(Window* w, WindowEvent* e) |
188 switch(e->event) { |
188 { |
|
189 switch (e->event) { |
189 case WE_PAINT: |
190 case WE_PAINT: |
190 w->disabled_state &= ~(1 << 11); |
191 w->disabled_state &= ~(1 << 11); |
191 if (!(w->click_state & ((1<<3)|(1<<4)))) { |
192 if (!(w->click_state & ((1<<3)|(1<<4)))) { |
192 w->disabled_state |= (1 << 11); |
193 w->disabled_state |= (1 << 11); |
193 w->click_state &= ~(1<<11); |
194 w->click_state &= ~(1<<11); |
194 } |
195 } |
195 DrawWindowWidgets(w); |
196 DrawWindowWidgets(w); |
196 break; |
197 break; |
197 |
198 |
198 case WE_CLICK: { |
199 case WE_CLICK: { |
199 if (e->click.widget >= 3) |
200 if (e->click.widget >= 3) _build_road_button_proc[e->click.widget - 3](w); |
200 _build_road_button_proc[e->click.widget - 3](w); |
|
201 } break; |
201 } break; |
202 |
202 |
203 case WE_KEYPRESS: |
203 case WE_KEYPRESS: |
204 switch (e->keypress.keycode) { |
204 switch (e->keypress.keycode) { |
205 case '1': BuildRoadClick_NE(w); break; |
205 case '1': BuildRoadClick_NE(w); break; |
226 case WE_ABORT_PLACE_OBJ: |
226 case WE_ABORT_PLACE_OBJ: |
227 UnclickWindowButtons(w); |
227 UnclickWindowButtons(w); |
228 SetWindowDirty(w); |
228 SetWindowDirty(w); |
229 |
229 |
230 w = FindWindowById(WC_BUS_STATION, 0); |
230 w = FindWindowById(WC_BUS_STATION, 0); |
231 if (w != NULL) WP(w,def_d).close=true; |
231 if (w != NULL) WP(w,def_d).close = true; |
232 w = FindWindowById(WC_TRUCK_STATION, 0); |
232 w = FindWindowById(WC_TRUCK_STATION, 0); |
233 if (w != NULL) WP(w,def_d).close=true; |
233 if (w != NULL) WP(w,def_d).close = true; |
234 w = FindWindowById(WC_BUILD_DEPOT, 0); |
234 w = FindWindowById(WC_BUILD_DEPOT, 0); |
235 if (w != NULL) WP(w,def_d).close=true; |
235 if (w != NULL) WP(w,def_d).close = true; |
236 break; |
236 break; |
237 |
237 |
238 case WE_PLACE_DRAG: { |
238 case WE_PLACE_DRAG: { |
239 int sel_method; |
239 int sel_method; |
240 if (e->place.userdata == 1) { |
240 if (e->place.userdata == 1) { |
349 void ShowBuildRoadScenToolbar(void) |
349 void ShowBuildRoadScenToolbar(void) |
350 { |
350 { |
351 AllocateWindowDescFront(&_build_road_scen_desc, 0); |
351 AllocateWindowDescFront(&_build_road_scen_desc, 0); |
352 } |
352 } |
353 |
353 |
354 static void BuildRoadDepotWndProc(Window *w, WindowEvent *e) { |
354 static void BuildRoadDepotWndProc(Window* w, WindowEvent* e) |
355 switch(e->event) { |
355 { |
|
356 switch (e->event) { |
356 case WE_PAINT: |
357 case WE_PAINT: |
357 w->click_state = (1<<3) << _road_depot_orientation; |
358 w->click_state = (1<<3) << _road_depot_orientation; |
358 DrawWindowWidgets(w); |
359 DrawWindowWidgets(w); |
359 |
360 |
360 DrawRoadDepotSprite(70, 17, 0); |
361 DrawRoadDepotSprite(70, 17, 0); |
361 DrawRoadDepotSprite(70, 69, 1); |
362 DrawRoadDepotSprite(70, 69, 1); |
362 DrawRoadDepotSprite(2, 69, 2); |
363 DrawRoadDepotSprite( 2, 69, 2); |
363 DrawRoadDepotSprite(2, 17, 3); |
364 DrawRoadDepotSprite( 2, 17, 3); |
364 break; |
365 break; |
365 |
366 |
366 case WE_CLICK: { |
367 case WE_CLICK: { |
367 switch (e->click.widget) { |
368 switch (e->click.widget) { |
368 case 3: case 4: case 5: case 6: |
369 case 3: case 4: case 5: case 6: |