src/rail_gui.cpp
changeset 5986 1b9ab9629d36
parent 5982 54218ea5af1e
child 6111 32f6149dc192
equal deleted inserted replaced
5985:e7a55ca9e43d 5986:1b9ab9629d36
   180 	if (trackstat != 0) {
   180 	if (trackstat != 0) {
   181 		for (; !(trackstat & 1); trackstat >>= 1) i++;
   181 		for (; !(trackstat & 1); trackstat >>= 1) i++;
   182 	}
   182 	}
   183 
   183 
   184 	if (!_remove_button_clicked) {
   184 	if (!_remove_button_clicked) {
   185 		uint32 p1 = 0;
   185 		uint32 p1 = GB(i, 0, 3);
   186 		SB(p1, 0, 1, _ctrl_pressed);
   186 		SB(p1, 3, 1, _ctrl_pressed);
   187 		SB(p1, 1, 1, _ctrl_pressed ^ (_cur_year < _patches.semaphore_build_before));
   187 		SB(p1, 4, 1, _cur_year < _patches.semaphore_build_before);
   188 		SB(p1, 2, 3, i);
       
   189 
   188 
   190 		DoCommandP(tile, p1, 0, CcPlaySound1E,
   189 		DoCommandP(tile, p1, 0, CcPlaySound1E,
   191 			CMD_BUILD_SIGNALS | CMD_AUTO | CMD_MSG(STR_1010_CAN_T_BUILD_SIGNALS_HERE));
   190 			CMD_BUILD_SIGNALS | CMD_AUTO | CMD_MSG(STR_1010_CAN_T_BUILD_SIGNALS_HERE));
   192 	} else {
   191 	} else {
   193 		DoCommandP(tile, i, 0, CcPlaySound1E,
   192 		DoCommandP(tile, i, 0, CcPlaySound1E,
   363 }
   362 }
   364 
   363 
   365 static void HandleAutoSignalPlacement(void)
   364 static void HandleAutoSignalPlacement(void)
   366 {
   365 {
   367 	TileHighlightData *thd = &_thd;
   366 	TileHighlightData *thd = &_thd;
   368 	byte trackstat = thd->drawstyle & 0xF; // 0..5
   367 	uint32 p2 = GB(thd->drawstyle, 0, 3); // 0..5
   369 
   368 
   370 	if (thd->drawstyle == HT_RECT) { // one tile case
   369 	if (thd->drawstyle == HT_RECT) { // one tile case
   371 		GenericPlaceSignals(TileVirtXY(thd->selend.x, thd->selend.y));
   370 		GenericPlaceSignals(TileVirtXY(thd->selend.x, thd->selend.y));
   372 		return;
   371 		return;
   373 	}
   372 	}
   374 
   373 
   375 	int p2 = 0;
   374 	SB(p2,  3, 1, _ctrl_pressed);
   376 	SB(p2,  0, 1, _ctrl_pressed);
   375 	SB(p2,  4, 1, _cur_year < _patches.semaphore_build_before);
   377 	SB(p2,  1, 1, _ctrl_pressed ^ (_cur_year < _patches.semaphore_build_before));
       
   378 	SB(p2,  2, 3, trackstat);
       
   379 	SB(p2, 24, 8, _patches.drag_signals_density);
   376 	SB(p2, 24, 8, _patches.drag_signals_density);
   380 
   377 
   381 	/* _patches.drag_signals_density is given as a parameter such that each user
   378 	/* _patches.drag_signals_density is given as a parameter such that each user
   382 	 * in a network game can specify his/her own signal density */
   379 	 * in a network game can specify his/her own signal density */
   383 	DoCommandP(
   380 	DoCommandP(