equal
deleted
inserted
replaced
178 |
178 |
179 do { |
179 do { |
180 i = (Random()&7) - 1; |
180 i = (Random()&7) - 1; |
181 } while (i < 0 || i == 1 || i*6==old); |
181 } while (i < 0 || i == 1 || i*6==old); |
182 |
182 |
183 _m[tile].m5 = (_m[tile].m5 & ~0x3F) | i; |
183 SB(_m[tile].m5, 0, 6, i); |
184 } |
184 } |
185 |
185 |
186 a = _m[tile].owner&0x7F; |
186 a = _m[tile].owner&0x7F; |
187 b = (_m[tile].m5&0x3F) * 6; |
187 b = (_m[tile].m5&0x3F) * 6; |
188 a += (a < b) ? 1 : -1; |
188 a += (a < b) ? 1 : -1; |
253 return pop; |
253 return pop; |
254 } |
254 } |
255 |
255 |
256 static void MakeSingleHouseBigger(TileIndex tile) |
256 static void MakeSingleHouseBigger(TileIndex tile) |
257 { |
257 { |
258 byte b; |
|
259 |
|
260 assert(IsTileType(tile, MP_HOUSE)); |
258 assert(IsTileType(tile, MP_HOUSE)); |
261 |
259 |
262 b = _m[tile].m5; |
260 if (_m[tile].m5 & 0x80) return; |
263 if (b & 0x80) |
261 |
264 return; |
262 AB(_m[tile].m5, 0, 3, 1); |
265 |
263 if (GB(_m[tile].m5, 0, 3) != 0) return; |
266 _m[tile].m5 = (b & 0xC0) | ((b+1)&7); |
|
267 |
|
268 if ((_m[tile].m5&7) != 0) |
|
269 return; |
|
270 |
264 |
271 _m[tile].m3 = _m[tile].m3 + 0x40; |
265 _m[tile].m3 = _m[tile].m3 + 0x40; |
272 |
266 |
273 if ( (_m[tile].m3 & 0xC0) == 0xC0) { |
267 if ( (_m[tile].m3 & 0xC0) == 0xC0) { |
274 ChangePopulation(GetTown(_m[tile].m2), _housetype_population[_m[tile].m4]); |
268 ChangePopulation(GetTown(_m[tile].m2), _housetype_population[_m[tile].m4]); |