equal
deleted
inserted
replaced
74 if (x - y >= 0) |
74 if (x - y >= 0) |
75 z = (x - y) >> 1; |
75 z = (x - y) >> 1; |
76 break; |
76 break; |
77 |
77 |
78 case SLOPE_S: |
78 case SLOPE_S: |
79 y^=0xF; |
79 y ^= 0xF; |
80 if ( (x - y) >= 0) |
80 if ( (x - y) >= 0) |
81 z = (x - y) >> 1; |
81 z = (x - y) >> 1; |
82 break; |
82 break; |
83 |
83 |
84 case SLOPE_SW: |
84 case SLOPE_SW: |
85 z = (x>>1) + 1; |
85 z = (x >> 1) + 1; |
86 break; |
86 break; |
87 |
87 |
88 case SLOPE_E: |
88 case SLOPE_E: |
89 if (y - x >= 0) |
89 if (y - x >= 0) |
90 z = (y - x) >> 1; |
90 z = (y - x) >> 1; |
95 case SLOPE_ELEVATED: |
95 case SLOPE_ELEVATED: |
96 z = 4; |
96 z = 4; |
97 break; |
97 break; |
98 |
98 |
99 case SLOPE_SE: |
99 case SLOPE_SE: |
100 z = (y>>1) + 1; |
100 z = (y >> 1) + 1; |
101 break; |
101 break; |
102 |
102 |
103 case SLOPE_WSE: |
103 case SLOPE_WSE: |
104 z = 8; |
104 z = 8; |
105 y^=0xF; |
105 y ^= 0xF; |
106 if (x - y < 0) |
106 if (x - y < 0) |
107 z += (x - y) >> 1; |
107 z += (x - y) >> 1; |
108 break; |
108 break; |
109 |
109 |
110 case SLOPE_N: |
110 case SLOPE_N: |
112 if (y - x >= 0) |
112 if (y - x >= 0) |
113 z = (y - x) >> 1; |
113 z = (y - x) >> 1; |
114 break; |
114 break; |
115 |
115 |
116 case SLOPE_NW: |
116 case SLOPE_NW: |
117 z = (y^0xF)>>1; |
117 z = (y ^ 0xF) >> 1; |
118 break; |
118 break; |
119 |
119 |
120 case SLOPE_NWS: |
120 case SLOPE_NWS: |
121 z = 8; |
121 z = 8; |
122 if (x - y < 0) |
122 if (x - y < 0) |
123 z += (x - y) >> 1; |
123 z += (x - y) >> 1; |
124 break; |
124 break; |
125 |
125 |
126 case SLOPE_NE: |
126 case SLOPE_NE: |
127 z = (x^0xF)>>1; |
127 z = (x ^ 0xF) >> 1; |
128 break; |
128 break; |
129 |
129 |
130 case SLOPE_ENW: |
130 case SLOPE_ENW: |
131 z = 8; |
131 z = 8; |
132 y ^= 0xF; |
132 y ^= 0xF; |
139 if (y - x < 0) |
139 if (y - x < 0) |
140 z += (y - x) >> 1; |
140 z += (y - x) >> 1; |
141 break; |
141 break; |
142 |
142 |
143 case SLOPE_STEEP_S: |
143 case SLOPE_STEEP_S: |
144 z = 1 + ((x+y)>>1); |
144 z = 1 + ((x + y) >> 1); |
145 break; |
145 break; |
146 |
146 |
147 case SLOPE_STEEP_W: |
147 case SLOPE_STEEP_W: |
148 z = 1 + ((x+(y^0xF))>>1); |
148 z = 1 + ((x + (y ^ 0xF)) >> 1); |
149 break; |
149 break; |
150 |
150 |
151 case SLOPE_STEEP_N: |
151 case SLOPE_STEEP_N: |
152 z = 1 + (((x^0xF)+(y^0xF))>>1); |
152 z = 1 + (((x ^ 0xF) + (y ^ 0xF)) >> 1); |
153 break; |
153 break; |
154 |
154 |
155 case SLOPE_STEEP_E: |
155 case SLOPE_STEEP_E: |
156 z = 1 + (((x^0xF)+(y^0xF))>>1); |
156 z = 1 + (((x ^ 0xF) + (y ^ 0xF)) >> 1); |
157 break; |
157 break; |
158 |
158 |
159 default: break; |
159 default: break; |
160 } |
160 } |
161 |
161 |
383 int32 CmdClearArea(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
383 int32 CmdClearArea(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
384 { |
384 { |
385 int32 cost, ret, money; |
385 int32 cost, ret, money; |
386 int ex; |
386 int ex; |
387 int ey; |
387 int ey; |
388 int sx,sy; |
388 int sx, sy; |
389 int x,y; |
389 int x, y; |
390 bool success = false; |
390 bool success = false; |
391 |
391 |
392 if (p1 >= MapSize()) return CMD_ERROR; |
392 if (p1 >= MapSize()) return CMD_ERROR; |
393 |
393 |
394 SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION); |
394 SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION); |
433 } |
433 } |
434 |
434 |
435 |
435 |
436 #define TILELOOP_BITS 4 |
436 #define TILELOOP_BITS 4 |
437 #define TILELOOP_SIZE (1 << TILELOOP_BITS) |
437 #define TILELOOP_SIZE (1 << TILELOOP_BITS) |
438 #define TILELOOP_ASSERTMASK ((TILELOOP_SIZE-1) + ((TILELOOP_SIZE-1) << MapLogX())) |
438 #define TILELOOP_ASSERTMASK ((TILELOOP_SIZE - 1) + ((TILELOOP_SIZE - 1) << MapLogX())) |
439 #define TILELOOP_CHKMASK (((1 << (MapLogX() - TILELOOP_BITS))-1) << TILELOOP_BITS) |
439 #define TILELOOP_CHKMASK (((1 << (MapLogX() - TILELOOP_BITS))-1) << TILELOOP_BITS) |
440 |
440 |
441 void RunTileLoop() |
441 void RunTileLoop() |
442 { |
442 { |
443 TileIndex tile; |
443 TileIndex tile; |