dock_gui.c
changeset 2549 f1d3b383d557
parent 2548 97ada3bd2702
child 2619 c2f488e400b1
equal deleted inserted replaced
2548:97ada3bd2702 2549:f1d3b383d557
   122 
   122 
   123 	case WE_CLICK:
   123 	case WE_CLICK:
   124 		if (e->click.widget - 3 >= 0 && e->click.widget != 5) _build_docks_button_proc[e->click.widget - 3](w);
   124 		if (e->click.widget - 3 >= 0 && e->click.widget != 5) _build_docks_button_proc[e->click.widget - 3](w);
   125 		break;
   125 		break;
   126 
   126 
   127 	case WE_KEYPRESS: {
   127 	case WE_KEYPRESS:
   128 		switch(e->keypress.keycode) {
   128 		switch (e->keypress.keycode) {
   129 			case '1': BuildDocksClick_Canal(w); break;
   129 			case '1': BuildDocksClick_Canal(w); break;
   130 			case '2': BuildDocksClick_Lock(w); break;
   130 			case '2': BuildDocksClick_Lock(w); break;
   131 			case '3': BuildDocksClick_Demolish(w); break;
   131 			case '3': BuildDocksClick_Demolish(w); break;
   132 			case '4': BuildDocksClick_Depot(w); break;
   132 			case '4': BuildDocksClick_Depot(w); break;
   133 			case '5': BuildDocksClick_Dock(w); break;
   133 			case '5': BuildDocksClick_Dock(w); break;
   134 			case '6': BuildDocksClick_Buoy(w); break;
   134 			case '6': BuildDocksClick_Buoy(w); break;
   135 			case 'l': BuildDocksClick_Landscaping(w); break;
   135 			case 'l': BuildDocksClick_Landscaping(w); break;
   136 			default:
   136 			default:  return;
   137 				return;
   137 		}
   138 		}
   138 		break;
   139 	} break;
       
   140 
   139 
   141 	case WE_PLACE_OBJ:
   140 	case WE_PLACE_OBJ:
   142 		_place_proc(e->place.tile);
   141 		_place_proc(e->place.tile);
   143 		break;
   142 		break;
   144 
   143 
   149 
   148 
   150 	case WE_PLACE_MOUSEUP:
   149 	case WE_PLACE_MOUSEUP:
   151 		if (e->click.pt.x != -1) {
   150 		if (e->click.pt.x != -1) {
   152 			if ((e->place.userdata & 0xF) == VPM_X_AND_Y) { // dragged actions
   151 			if ((e->place.userdata & 0xF) == VPM_X_AND_Y) { // dragged actions
   153 				GUIPlaceProcDragXY(e);
   152 				GUIPlaceProcDragXY(e);
   154 			} else if(e->place.userdata == VPM_X_OR_Y)
   153 			} else if (e->place.userdata == VPM_X_OR_Y) {
   155 				DoCommandP(e->place.tile, e->place.starttile, 0, CcBuildCanal, CMD_BUILD_CANAL | CMD_AUTO | CMD_MSG(STR_CANT_BUILD_CANALS));
   154 				DoCommandP(e->place.tile, e->place.starttile, 0, CcBuildCanal, CMD_BUILD_CANAL | CMD_AUTO | CMD_MSG(STR_CANT_BUILD_CANALS));
       
   155 			}
   156 		}
   156 		}
   157 		break;
   157 		break;
   158 
   158 
   159 	case WE_ABORT_PLACE_OBJ:
   159 	case WE_ABORT_PLACE_OBJ:
   160 		UnclickWindowButtons(w);
   160 		UnclickWindowButtons(w);
   161 		SetWindowDirty(w);
   161 		SetWindowDirty(w);
   162 
   162 
   163 		w = FindWindowById(WC_BUILD_STATION, 0);
   163 		w = FindWindowById(WC_BUILD_STATION, 0);
   164 		if (w != NULL) WP(w,def_d).close=true;
   164 		if (w != NULL) WP(w,def_d).close = true;
   165 
   165 
   166 		w = FindWindowById(WC_BUILD_DEPOT, 0);
   166 		w = FindWindowById(WC_BUILD_DEPOT, 0);
   167 		if (w != NULL) WP(w,def_d).close=true;
   167 		if (w != NULL) WP(w,def_d).close = true;
   168 		break;
   168 		break;
   169 
   169 
   170 	case WE_PLACE_PRESIZE: {
   170 	case WE_PLACE_PRESIZE: {
   171 		TileIndex tile_from;
   171 		TileIndex tile_from;
   172 		TileIndex tile_to;
   172 		TileIndex tile_to;
   296 	}
   296 	}
   297 }
   297 }
   298 
   298 
   299 static void BuildDocksDepotWndProc(Window *w, WindowEvent *e)
   299 static void BuildDocksDepotWndProc(Window *w, WindowEvent *e)
   300 {
   300 {
   301 	switch(e->event) {
   301 	switch (e->event) {
   302 	case WE_PAINT:
   302 	case WE_PAINT:
   303 		w->click_state = (1<<3) << _ship_depot_direction;
   303 		w->click_state = (1<<3) << _ship_depot_direction;
   304 		DrawWindowWidgets(w);
   304 		DrawWindowWidgets(w);
   305 
   305 
   306 		DrawShipDepotSprite(67, 35, 0);
   306 		DrawShipDepotSprite(67, 35, 0);
   308 		DrawShipDepotSprite(135, 35, 2);
   308 		DrawShipDepotSprite(135, 35, 2);
   309 		DrawShipDepotSprite(167, 51, 3);
   309 		DrawShipDepotSprite(167, 51, 3);
   310 		return;
   310 		return;
   311 
   311 
   312 	case WE_CLICK: {
   312 	case WE_CLICK: {
   313 		switch(e->click.widget) {
   313 		switch (e->click.widget) {
   314 		case 3:
   314 		case 3:
   315 		case 4:
   315 		case 4:
   316 			_ship_depot_direction = e->click.widget - 3;
   316 			_ship_depot_direction = e->click.widget - 3;
   317 			SndPlayFx(SND_15_BEEP);
   317 			SndPlayFx(SND_15_BEEP);
   318 			UpdateDocksDirection();
   318 			UpdateDocksDirection();