221 * @param p1 unused |
221 * @param p1 unused |
222 * @param p2 unused |
222 * @param p2 unused |
223 */ |
223 */ |
224 CommandCost CmdChangeCompanyName(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
224 CommandCost CmdChangeCompanyName(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
225 { |
225 { |
226 StringID str; |
|
227 Player *p; |
226 Player *p; |
228 |
227 |
229 if (StrEmpty(_cmd_text)) return CMD_ERROR; |
228 if (StrEmpty(_cmd_text)) return CMD_ERROR; |
230 |
229 |
231 if (!IsUniqueCompanyName(_cmd_text)) return_cmd_error(STR_NAME_MUST_BE_UNIQUE); |
230 if (!IsUniqueCompanyName(_cmd_text)) return_cmd_error(STR_NAME_MUST_BE_UNIQUE); |
232 |
231 |
233 str = AllocateName(_cmd_text, 4); |
|
234 if (str == 0) return CMD_ERROR; |
|
235 |
|
236 if (flags & DC_EXEC) { |
232 if (flags & DC_EXEC) { |
237 p = GetPlayer(_current_player); |
233 p = GetPlayer(_current_player); |
238 DeleteName(p->name_1); |
234 free(p->name); |
239 p->name_1 = str; |
235 p->name = strdup(_cmd_text); |
240 MarkWholeScreenDirty(); |
236 MarkWholeScreenDirty(); |
241 } else { |
|
242 DeleteName(str); |
|
243 } |
237 } |
244 |
238 |
245 return CommandCost(); |
239 return CommandCost(); |
246 } |
240 } |
247 |
241 |
266 * @param p1 unused |
260 * @param p1 unused |
267 * @param p2 unused |
261 * @param p2 unused |
268 */ |
262 */ |
269 CommandCost CmdChangePresidentName(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
263 CommandCost CmdChangePresidentName(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) |
270 { |
264 { |
271 StringID str; |
|
272 Player *p; |
265 Player *p; |
273 |
266 |
274 if (StrEmpty(_cmd_text)) return CMD_ERROR; |
267 if (StrEmpty(_cmd_text)) return CMD_ERROR; |
275 |
268 |
276 if (!IsUniquePresidentName(_cmd_text)) return_cmd_error(STR_NAME_MUST_BE_UNIQUE); |
269 if (!IsUniquePresidentName(_cmd_text)) return_cmd_error(STR_NAME_MUST_BE_UNIQUE); |
277 |
270 |
278 str = AllocateName(_cmd_text, 4); |
|
279 if (str == 0) return CMD_ERROR; |
|
280 |
|
281 if (flags & DC_EXEC) { |
271 if (flags & DC_EXEC) { |
282 p = GetPlayer(_current_player); |
272 p = GetPlayer(_current_player); |
283 DeleteName(p->president_name_1); |
273 free(p->president_name); |
284 p->president_name_1 = str; |
274 p->president_name = strdup(_cmd_text); |
285 |
275 |
286 if (p->name_1 == STR_SV_UNNAMED) { |
276 if (p->name_1 == STR_SV_UNNAMED) { |
287 char buf[80]; |
277 char buf[80]; |
288 |
278 |
289 snprintf(buf, lengthof(buf), "%s Transport", _cmd_text); |
279 snprintf(buf, lengthof(buf), "%s Transport", _cmd_text); |
290 _cmd_text = buf; |
280 _cmd_text = buf; |
291 DoCommand(0, 0, 0, DC_EXEC, CMD_CHANGE_COMPANY_NAME); |
281 DoCommand(0, 0, 0, DC_EXEC, CMD_CHANGE_COMPANY_NAME); |
292 } |
282 } |
293 MarkWholeScreenDirty(); |
283 MarkWholeScreenDirty(); |
294 } else { |
|
295 DeleteName(str); |
|
296 } |
284 } |
297 |
285 |
298 return CommandCost(); |
286 return CommandCost(); |
299 } |
287 } |
300 |
288 |