src/misc_cmd.cpp
changeset 8258 9fa31acb07bc
parent 8254 1496654ca5e7
child 8264 b1e85998c7d3
equal deleted inserted replaced
8257:3151fdbc73f9 8258:9fa31acb07bc
   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