165 |
165 |
166 DEF_COMMAND(CmdCloneVehicle); |
166 DEF_COMMAND(CmdCloneVehicle); |
167 DEF_COMMAND(CmdMassStartStopVehicle); |
167 DEF_COMMAND(CmdMassStartStopVehicle); |
168 DEF_COMMAND(CmdDepotSellAllVehicles); |
168 DEF_COMMAND(CmdDepotSellAllVehicles); |
169 DEF_COMMAND(CmdDepotMassAutoReplace); |
169 DEF_COMMAND(CmdDepotMassAutoReplace); |
|
170 |
|
171 DEF_COMMAND(CmdCreateGroup); |
|
172 DEF_COMMAND(CmdRenameGroup); |
|
173 DEF_COMMAND(CmdDeleteGroup); |
|
174 DEF_COMMAND(CmdAddVehicleGroup); |
|
175 DEF_COMMAND(CmdAddSharedVehicleGroup); |
|
176 DEF_COMMAND(CmdRemoveAllVehiclesGroup); |
|
177 DEF_COMMAND(CmdSetGroupReplaceProtection); |
170 |
178 |
171 /* The master command table */ |
179 /* The master command table */ |
172 static const Command _command_proc_table[] = { |
180 static const Command _command_proc_table[] = { |
173 {CmdBuildRailroadTrack, 0}, /* 0 */ |
181 {CmdBuildRailroadTrack, 0}, /* 0 */ |
174 {CmdRemoveRailroadTrack, 0}, /* 1 */ |
182 {CmdRemoveRailroadTrack, 0}, /* 1 */ |
311 {CmdSetAutoReplace, 0}, /* 115 */ |
319 {CmdSetAutoReplace, 0}, /* 115 */ |
312 {CmdCloneVehicle, 0}, /* 116 */ |
320 {CmdCloneVehicle, 0}, /* 116 */ |
313 {CmdMassStartStopVehicle, 0}, /* 117 */ |
321 {CmdMassStartStopVehicle, 0}, /* 117 */ |
314 {CmdDepotSellAllVehicles, 0}, /* 118 */ |
322 {CmdDepotSellAllVehicles, 0}, /* 118 */ |
315 {CmdDepotMassAutoReplace, 0}, /* 119 */ |
323 {CmdDepotMassAutoReplace, 0}, /* 119 */ |
|
324 {CmdCreateGroup, 0}, /* 120 */ |
|
325 {CmdDeleteGroup, 0}, /* 121 */ |
|
326 {CmdRenameGroup, 0}, /* 122 */ |
|
327 {CmdAddVehicleGroup, 0}, /* 123 */ |
|
328 {CmdAddSharedVehicleGroup, 0}, /* 124 */ |
|
329 {CmdRemoveAllVehiclesGroup, 0}, /* 125 */ |
|
330 {CmdSetGroupReplaceProtection, 0}, /* 126 */ |
316 }; |
331 }; |
317 |
332 |
318 /* This function range-checks a cmd, and checks if the cmd is not NULL */ |
333 /* This function range-checks a cmd, and checks if the cmd is not NULL */ |
319 bool IsValidCommand(uint cmd) |
334 bool IsValidCommand(uint cmd) |
320 { |
335 { |
415 |
430 |
416 int x = TileX(tile) * TILE_SIZE; |
431 int x = TileX(tile) * TILE_SIZE; |
417 int y = TileY(tile) * TILE_SIZE; |
432 int y = TileY(tile) * TILE_SIZE; |
418 |
433 |
419 /* Do not even think about executing out-of-bounds tile-commands */ |
434 /* Do not even think about executing out-of-bounds tile-commands */ |
420 if (tile >= MapSize()) { |
435 if (tile >= MapSize() || IsTileType(tile, MP_VOID)) { |
421 _cmd_text = NULL; |
436 _cmd_text = NULL; |
422 return false; |
437 return false; |
423 } |
438 } |
424 |
439 |
425 assert(_docommand_recursive == 0); |
440 assert(_docommand_recursive == 0); |