(svn r2400) - Fix: [newgrf] Load power for dual-headed engines correctly
This commit is contained in:
		
							
								
								
									
										11
									
								
								newgrf.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								newgrf.c
									
									
									
									
									
								
							@@ -225,6 +225,9 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
 | 
				
			|||||||
			FOR_EACH_OBJECT {
 | 
								FOR_EACH_OBJECT {
 | 
				
			||||||
				uint16 power = grf_load_word(&buf);
 | 
									uint16 power = grf_load_word(&buf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (rvi[i].flags & RVI_MULTIHEAD)
 | 
				
			||||||
 | 
										power /= 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				rvi[i].power = power;
 | 
									rvi[i].power = power;
 | 
				
			||||||
				dewagonize(power, engine + i);
 | 
									dewagonize(power, engine + i);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -269,9 +272,13 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
 | 
				
			|||||||
				uint8 dual = grf_load_byte(&buf);
 | 
									uint8 dual = grf_load_byte(&buf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if (dual != 0) {
 | 
									if (dual != 0) {
 | 
				
			||||||
					rvi[i].flags |= 1;
 | 
										if (!(rvi[i].flags & RVI_MULTIHEAD)) // adjust power if needed
 | 
				
			||||||
 | 
											rvi[i].power /= 2;
 | 
				
			||||||
 | 
										rvi[i].flags |= RVI_MULTIHEAD;
 | 
				
			||||||
				} else {
 | 
									} else {
 | 
				
			||||||
					rvi[i].flags &= ~1;
 | 
										if (rvi[i].flags & RVI_MULTIHEAD) // adjust power if needed
 | 
				
			||||||
 | 
											rvi[i].power *= 2;
 | 
				
			||||||
 | 
										rvi[i].flags &= ~RVI_MULTIHEAD;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}	break;
 | 
							}	break;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user