Changeset - r18778:4848b0595531
src/ai/ai_instance.cpp
Show inline comments
 
@@ -69,6 +69,7 @@
 
#include "../script/api/ai/ai_subsidy.hpp.sq"
 
#include "../script/api/ai/ai_subsidylist.hpp.sq"
 
#include "../script/api/ai/ai_testmode.hpp.sq"
 
#include "../script/api/ai/ai_text.hpp.sq"
 
#include "../script/api/ai/ai_tile.hpp.sq"
 
#include "../script/api/ai/ai_tilelist.hpp.sq"
 
#include "../script/api/ai/ai_town.hpp.sq"
 
@@ -171,6 +172,7 @@ void AIInstance::RegisterAPI()
 
	SQAISubsidy_Register(this->engine);
 
	SQAISubsidyList_Register(this->engine);
 
	SQAITestMode_Register(this->engine);
 
	SQAIText_Register(this->engine);
 
	SQAITile_Register(this->engine);
 
	SQAITileList_Register(this->engine);
 
	SQAITileList_IndustryAccepting_Register(this->engine);
src/command.cpp
Show inline comments
 
@@ -207,7 +207,7 @@ static const Command _command_proc_table
 
	DEF_CMD(CmdRemoveFromRailStation,                          0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_FROM_RAIL_STATION
 
	DEF_CMD(CmdConvertRail,                                    0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_CONVERT_RAILD
 
	DEF_CMD(CmdBuildRailWaypoint,                              0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_RAIL_WAYPOINT
 
	DEF_CMD(CmdRenameWaypoint,                                 0, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_WAYPOINT
 
	DEF_CMD(CmdRenameWaypoint,                      CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_WAYPOINT
 
	DEF_CMD(CmdRemoveFromRailWaypoint,                         0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_FROM_RAIL_WAYPOINT
 

	
 
	DEF_CMD(CmdBuildRoadStop,            CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_ROAD_STOP
 
@@ -249,17 +249,17 @@ static const Command _command_proc_table
 

	
 
	DEF_CMD(CmdWantEnginePreview,                              0, CMDT_VEHICLE_MANAGEMENT    ), // CMD_WANT_ENGINE_PREVIEW
 

	
 
	DEF_CMD(CmdRenameVehicle,                                  0, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_VEHICLE
 
	DEF_CMD(CmdRenameEngine,                                   0, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_ENGINE
 
	DEF_CMD(CmdRenameVehicle,                       CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_VEHICLE
 
	DEF_CMD(CmdRenameEngine,                        CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_ENGINE
 

	
 
	DEF_CMD(CmdRenameCompany,                                  0, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_COMPANY
 
	DEF_CMD(CmdRenamePresident,                                0, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_PRESIDENT
 
	DEF_CMD(CmdRenameCompany,                       CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_COMPANY
 
	DEF_CMD(CmdRenamePresident,                     CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_PRESIDENT
 

	
 
	DEF_CMD(CmdRenameStation,                                  0, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_STATION
 
	DEF_CMD(CmdRenameDepot,                                    0, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_DEPOT
 
	DEF_CMD(CmdRenameStation,                       CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_STATION
 
	DEF_CMD(CmdRenameDepot,                         CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_DEPOT
 

	
 
	DEF_CMD(CmdPlaceSign,                              CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_PLACE_SIGN
 
	DEF_CMD(CmdRenameSign,                             CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_SIGN
 
	DEF_CMD(CmdPlaceSign,               CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_PLACE_SIGN
 
	DEF_CMD(CmdRenameSign,              CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_SIGN
 

	
 
	DEF_CMD(CmdTurnRoadVeh,                                    0, CMDT_VEHICLE_MANAGEMENT    ), // CMD_TURN_ROADVEH
 

	
 
@@ -270,11 +270,11 @@ static const Command _command_proc_table
 
	DEF_CMD(CmdBuyCompany,                                     0, CMDT_MONEY_MANAGEMENT      ), // CMD_BUY_COMANY
 

	
 
	DEF_CMD(CmdFoundTown,                            CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_FOUND_TOWN; founding random town can fail only in exec run
 
	DEF_CMD(CmdRenameTown,                            CMD_SERVER, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_TOWN
 
	DEF_CMD(CmdRenameTown,             CMD_STR_CTRL | CMD_SERVER, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_TOWN
 
	DEF_CMD(CmdDoTownAction,                                   0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_DO_TOWN_ACTION
 
	DEF_CMD(CmdTownCargoGoal,                          CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_TOWN_CARGO_GOAL
 
	DEF_CMD(CmdTownGrowthRate,                         CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_TOWN_GROWTH_RATE
 
	DEF_CMD(CmdTownSetText,                            CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_TOWN_SET_TEXT
 
	DEF_CMD(CmdTownSetText,             CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_TOWN_SET_TEXT
 
	DEF_CMD(CmdExpandTown,                             CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_EXPAND_TOWN
 
	DEF_CMD(CmdDeleteTown,                           CMD_OFFLINE, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_DELETE_TOWN
 

	
 
@@ -287,8 +287,8 @@ static const Command _command_proc_table
 
	DEF_CMD(CmdBuildCanal,                              CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_CANAL
 
	DEF_CMD(CmdCreateSubsidy,                          CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_CREATE_SUBSIDY
 
	DEF_CMD(CmdCompanyCtrl,        CMD_SPECTATOR | CMD_CLIENT_ID, CMDT_SERVER_SETTING        ), // CMD_COMPANY_CTRL
 
	DEF_CMD(CmdCustomNewsItem,                         CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_CUSTOM_NEWS_ITEM
 
	DEF_CMD(CmdCreateGoal,                             CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_CREATE_GOAL
 
	DEF_CMD(CmdCustomNewsItem,          CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_CUSTOM_NEWS_ITEM
 
	DEF_CMD(CmdCreateGoal,              CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_CREATE_GOAL
 
	DEF_CMD(CmdRemoveGoal,                             CMD_DEITY, CMDT_OTHER_MANAGEMENT      ), // CMD_REMOVE_GOAL
 

	
 
	DEF_CMD(CmdLevelLand, CMD_ALL_TILES | CMD_NO_TEST | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_LEVEL_LAND; test run might clear tiles multiple times, in execution that only happens once
 
@@ -310,7 +310,7 @@ static const Command _command_proc_table
 
	DEF_CMD(CmdDepotMassAutoReplace,                           0, CMDT_VEHICLE_CONSTRUCTION  ), // CMD_DEPOT_MASS_AUTOREPLACE
 
	DEF_CMD(CmdCreateGroup,                                    0, CMDT_ROUTE_MANAGEMENT      ), // CMD_CREATE_GROUP
 
	DEF_CMD(CmdDeleteGroup,                                    0, CMDT_ROUTE_MANAGEMENT      ), // CMD_DELETE_GROUP
 
	DEF_CMD(CmdRenameGroup,                                    0, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_GROUP
 
	DEF_CMD(CmdRenameGroup,                         CMD_STR_CTRL, CMDT_OTHER_MANAGEMENT      ), // CMD_RENAME_GROUP
 
	DEF_CMD(CmdAddVehicleGroup,                                0, CMDT_ROUTE_MANAGEMENT      ), // CMD_ADD_VEHICLE_GROUP
 
	DEF_CMD(CmdAddSharedVehicleGroup,                          0, CMDT_ROUTE_MANAGEMENT      ), // CMD_ADD_SHARE_VEHICLE_GROUP
 
	DEF_CMD(CmdRemoveAllVehiclesGroup,                         0, CMDT_ROUTE_MANAGEMENT      ), // CMD_REMOVE_ALL_VEHICLES_GROUP
src/saveload/company_sl.cpp
Show inline comments
 
@@ -235,11 +235,11 @@ void AfterLoadCompanyStats()
 
static const SaveLoad _company_desc[] = {
 
	    SLE_VAR(CompanyProperties, name_2,          SLE_UINT32),
 
	    SLE_VAR(CompanyProperties, name_1,          SLE_STRINGID),
 
	SLE_CONDSTR(CompanyProperties, name,            SLE_STR, 0,                       84, SL_MAX_VERSION),
 
	SLE_CONDSTR(CompanyProperties, name,            SLE_STR | SLF_ALLOW_CONTROL, 0, 84, SL_MAX_VERSION),
 

	
 
	    SLE_VAR(CompanyProperties, president_name_1, SLE_UINT16),
 
	    SLE_VAR(CompanyProperties, president_name_2, SLE_UINT32),
 
	SLE_CONDSTR(CompanyProperties, president_name,  SLE_STR, 0,                       84, SL_MAX_VERSION),
 
	SLE_CONDSTR(CompanyProperties, president_name,  SLE_STR | SLF_ALLOW_CONTROL, 0, 84, SL_MAX_VERSION),
 

	
 
	    SLE_VAR(CompanyProperties, face,            SLE_UINT32),
 

	
src/saveload/goal_sl.cpp
Show inline comments
 
@@ -18,7 +18,7 @@ static const SaveLoad _goals_desc[] = {
 
	    SLE_VAR(Goal, company, SLE_UINT16),
 
	    SLE_VAR(Goal, type,    SLE_UINT16),
 
	    SLE_VAR(Goal, dst,     SLE_UINT32),
 
	    SLE_STR(Goal, text,    SLE_STR, 0),
 
	    SLE_STR(Goal, text,    SLE_STR | SLF_ALLOW_CONTROL, 0),
 
	    SLE_END()
 
};
 

	
src/saveload/group_sl.cpp
Show inline comments
 
@@ -16,7 +16,7 @@
 

	
 
static const SaveLoad _group_desc[] = {
 
  SLE_CONDVAR(Group, name,           SLE_NAME,    0, 83),
 
  SLE_CONDSTR(Group, name,           SLE_STR, 0, 84, SL_MAX_VERSION),
 
  SLE_CONDSTR(Group, name,           SLE_STR | SLF_ALLOW_CONTROL, 0, 84, SL_MAX_VERSION),
 
  SLE_CONDNULL(2,                                 0, 163), // num_vehicle
 
  SLE_VAR(Group, owner,              SLE_UINT8),
 
  SLE_VAR(Group, vehicle_type,       SLE_UINT8),
src/saveload/signs_sl.cpp
Show inline comments
 
@@ -17,7 +17,7 @@
 
/** Description of a sign within the savegame. */
 
static const SaveLoad _sign_desc[] = {
 
	SLE_CONDVAR(Sign, name,  SLE_NAME,                   0, 83),
 
	SLE_CONDSTR(Sign, name,  SLE_STR, 0,                84, SL_MAX_VERSION),
 
	SLE_CONDSTR(Sign, name,  SLE_STR | SLF_ALLOW_CONTROL, 0, 84, SL_MAX_VERSION),
 
	SLE_CONDVAR(Sign, x,     SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
 
	SLE_CONDVAR(Sign, y,     SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
 
	SLE_CONDVAR(Sign, x,     SLE_INT32,                  5, SL_MAX_VERSION),
src/saveload/station_sl.cpp
Show inline comments
 
@@ -182,7 +182,7 @@ static const SaveLoad _old_station_desc[
 
	SLE_CONDNULL(1, 0, 3),  ///< alpha_order
 

	
 
	    SLE_VAR(Station, string_id,                  SLE_STRINGID),
 
	SLE_CONDSTR(Station, name,                       SLE_STR, 0,                 84, SL_MAX_VERSION),
 
	SLE_CONDSTR(Station, name,                       SLE_STR | SLF_ALLOW_CONTROL, 0, 84, SL_MAX_VERSION),
 
	SLE_CONDVAR(Station, indtype,                    SLE_UINT8,                 103, SL_MAX_VERSION),
 
	SLE_CONDVAR(Station, had_vehicle_of_type,        SLE_FILE_U16 | SLE_VAR_U8,   0, 121),
 
	SLE_CONDVAR(Station, had_vehicle_of_type,        SLE_UINT8,                 122, SL_MAX_VERSION),
 
@@ -331,7 +331,7 @@ static const SaveLoad _base_station_desc
 
	      SLE_VAR(BaseStation, xy,                     SLE_UINT32),
 
	      SLE_REF(BaseStation, town,                   REF_TOWN),
 
	      SLE_VAR(BaseStation, string_id,              SLE_STRINGID),
 
	      SLE_STR(BaseStation, name,                   SLE_STR, 0),
 
	      SLE_STR(BaseStation, name,                   SLE_STR | SLF_ALLOW_CONTROL, 0),
 
	      SLE_VAR(BaseStation, delete_ctr,             SLE_UINT8),
 
	      SLE_VAR(BaseStation, owner,                  SLE_UINT8),
 
	      SLE_VAR(BaseStation, facilities,             SLE_UINT8),
src/saveload/town_sl.cpp
Show inline comments
 
@@ -114,7 +114,7 @@ static const SaveLoad _town_desc[] = {
 
	SLE_CONDVAR(Town, townnamegrfid,         SLE_UINT32, 66, SL_MAX_VERSION),
 
	    SLE_VAR(Town, townnametype,          SLE_UINT16),
 
	    SLE_VAR(Town, townnameparts,         SLE_UINT32),
 
	SLE_CONDSTR(Town, name,                  SLE_STR, 0, 84, SL_MAX_VERSION),
 
	SLE_CONDSTR(Town, name,                  SLE_STR | SLF_ALLOW_CONTROL, 0, 84, SL_MAX_VERSION),
 

	
 
	    SLE_VAR(Town, flags,                 SLE_UINT8),
 
	SLE_CONDVAR(Town, statues,               SLE_FILE_U8  | SLE_VAR_U16, 0, 103),
 
@@ -157,7 +157,7 @@ static const SaveLoad _town_desc[] = {
 

	
 
	SLE_CONDARR(Town, goal, SLE_UINT32, NUM_TE, 165, SL_MAX_VERSION),
 

	
 
	SLE_CONDSTR(Town, text,                  SLE_STR, 0, 168, SL_MAX_VERSION),
 
	SLE_CONDSTR(Town, text,                  SLE_STR | SLF_ALLOW_CONTROL, 0, 168, SL_MAX_VERSION),
 

	
 
	SLE_CONDVAR(Town, time_until_rebuild,    SLE_FILE_U8 | SLE_VAR_U16,  0, 53),
 
	SLE_CONDVAR(Town, grow_counter,          SLE_FILE_U8 | SLE_VAR_U16,  0, 53),
src/saveload/vehicle_sl.cpp
Show inline comments
 
@@ -554,7 +554,7 @@ const SaveLoad *GetVehicleDescription(Ve
 

	
 
		     SLE_REF(Vehicle, next,                  REF_VEHICLE_OLD),
 
		 SLE_CONDVAR(Vehicle, name,                  SLE_NAME,                     0,  83),
 
		 SLE_CONDSTR(Vehicle, name,                  SLE_STR, 0,                  84, SL_MAX_VERSION),
 
		 SLE_CONDSTR(Vehicle, name,                  SLE_STR | SLF_ALLOW_CONTROL, 0, 84, SL_MAX_VERSION),
 
		 SLE_CONDVAR(Vehicle, unitnumber,            SLE_FILE_U8  | SLE_VAR_U16,   0,   7),
 
		 SLE_CONDVAR(Vehicle, unitnumber,            SLE_UINT16,                   8, SL_MAX_VERSION),
 
		     SLE_VAR(Vehicle, owner,                 SLE_UINT8),
src/script/api/ai/ai_text.hpp.sq
Show inline comments
 
new file 100644
 
/* $Id$ */
 

	
 
/*
 
 * This file is part of OpenTTD.
 
 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
 
 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
 
 */
 

	
 
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
 

	
 
#include "../script_text.hpp"
 
#include "../template/template_text.hpp.sq"
 

	
 

	
 
template <> const char *GetClassName<ScriptText, ST_AI>() { return "AIText"; }
 

	
 
void SQAIText_Register(Squirrel *engine)
 
{
 
	DefSQClass<ScriptText, ST_AI> SQAIText("AIText");
 
	SQAIText.PreRegister(engine);
 
	SQAIText.AddConstructor<void (ScriptText::*)(StringID string), 2>(engine, "xi");
 

	
 
	SQAIText.DefSQConst(engine, ScriptText::SCRIPT_TEXT_MAX_PARAMETERS, "SCRIPT_TEXT_MAX_PARAMETERS");
 

	
 
	SQAIText.DefSQAdvancedMethod(engine, &ScriptText::_set, "_set");
 
	SQAIText.DefSQAdvancedMethod(engine, &ScriptText::SetParam, "SetParam");
 
	SQAIText.DefSQAdvancedMethod(engine, &ScriptText::AddParam, "AddParam");
 

	
 
	SQAIText.PostRegister(engine);
 
}
src/script/api/game/game_company.hpp.sq
Show inline comments
 
@@ -32,7 +32,9 @@ void SQGSCompany_Register(Squirrel *engi
 
	SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_INVALID,   "GENDER_INVALID");
 

	
 
	SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::ResolveCompanyID,              "ResolveCompanyID",              2, ".i");
 
	SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetName,                       "SetName",                       2, "..");
 
	SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetName,                       "GetName",                       2, ".i");
 
	SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetPresidentName,              "SetPresidentName",              2, "..");
 
	SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetPresidentName,              "GetPresidentName",              2, ".i");
 
	SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetPresidentGender,            "GetPresidentGender",            2, ".i");
 
	SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetLoanAmount,                 "SetLoanAmount",                 2, ".i");
src/script/api/script_basestation.cpp
Show inline comments
 
@@ -34,14 +34,18 @@
 
	return name;
 
}
 

	
 
/* static */ bool ScriptBaseStation::SetName(StationID station_id, const char *name)
 
/* static */ bool ScriptBaseStation::SetName(StationID station_id, Text *name)
 
{
 
	CCountedPtr<Text> counter(name);
 

	
 
	EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY);
 
	EnforcePrecondition(false, IsValidBaseStation(station_id));
 
	EnforcePrecondition(false, !::StrEmpty(name));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(name) < MAX_LENGTH_STATION_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 
	EnforcePrecondition(false, name != NULL);
 
	const char *text = name->GetEncodedText();
 
	EnforcePrecondition(false, !::StrEmpty(text));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_STATION_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 

	
 
	return ScriptObject::DoCommand(0, station_id, 0, ::Station::IsValidID(station_id) ? CMD_RENAME_STATION : CMD_RENAME_WAYPOINT, name);
 
	return ScriptObject::DoCommand(0, station_id, 0, ::Station::IsValidID(station_id) ? CMD_RENAME_STATION : CMD_RENAME_WAYPOINT, text);
 
}
 

	
 
/* static */ TileIndex ScriptBaseStation::GetLocation(StationID station_id)
src/script/api/script_basestation.hpp
Show inline comments
 
@@ -13,6 +13,7 @@
 
#define SCRIPT_BASESTATION_HPP
 

	
 
#include "script_error.hpp"
 
#include "script_text.hpp"
 

	
 
/**
 
 * Base class for stations and waypoints.
 
@@ -49,15 +50,14 @@ public:
 
	/**
 
	 * Set the name this basestation.
 
	 * @param station_id The basestation to set the name of.
 
	 * @param name The new name of the station.
 
	 * @param name The new name of the station (can be either a raw string, or a ScriptText object).
 
	 * @pre IsValidBaseStation(station_id).
 
	 * @pre 'name' must have at least one character.
 
	 * @pre 'name' must have at most 30 characters.
 
	 * @pre name != NULL && len(name) != 0.
 
	 * @game @pre Valid ScriptCompanyMode active in scope.
 
	 * @exception ScriptError::ERR_NAME_IS_NOT_UNIQUE
 
	 * @return True if the name was changed.
 
	 */
 
	static bool SetName(StationID station_id, const char *name);
 
	static bool SetName(StationID station_id, Text *name);
 

	
 
	/**
 
	 * Get the current location of a basestation.
src/script/api/script_company.cpp
Show inline comments
 
@@ -39,12 +39,16 @@
 
	return ResolveCompanyID(company) == ResolveCompanyID(COMPANY_SELF);
 
}
 

	
 
/* static */ bool ScriptCompany::SetName(const char *name)
 
/* static */ bool ScriptCompany::SetName(Text *name)
 
{
 
	EnforcePrecondition(false, !::StrEmpty(name));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(name) < MAX_LENGTH_COMPANY_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 
	CCountedPtr<Text> counter(name);
 

	
 
	return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_COMPANY, name);
 
	EnforcePrecondition(false, name != NULL);
 
	const char *text = name->GetEncodedText();
 
	EnforcePrecondition(false, !::StrEmpty(text));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_COMPANY_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 

	
 
	return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_COMPANY, text);
 
}
 

	
 
/* static */ char *ScriptCompany::GetName(ScriptCompany::CompanyID company)
 
@@ -60,11 +64,15 @@
 
	return company_name;
 
}
 

	
 
/* static */ bool ScriptCompany::SetPresidentName(const char *name)
 
/* static */ bool ScriptCompany::SetPresidentName(Text *name)
 
{
 
	EnforcePrecondition(false, !::StrEmpty(name));
 
	CCountedPtr<Text> counter(name);
 

	
 
	return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_PRESIDENT, name);
 
	EnforcePrecondition(false, name != NULL);
 
	const char *text = name->GetEncodedText();
 
	EnforcePrecondition(false, !::StrEmpty(text));
 

	
 
	return ScriptObject::DoCommand(0, 0, 0, CMD_RENAME_PRESIDENT, text);
 
}
 

	
 
/* static */ char *ScriptCompany::GetPresidentName(ScriptCompany::CompanyID company)
src/script/api/script_company.hpp
Show inline comments
 
@@ -13,6 +13,7 @@
 
#define SCRIPT_COMPANY_HPP
 

	
 
#include "script_object.hpp"
 
#include "script_text.hpp"
 

	
 
/**
 
 * Class that handles all company related functions.
 
@@ -64,14 +65,12 @@ public:
 

	
 
	/**
 
	 * Set the name of your company.
 
	 * @param name The new name of the company.
 
	 * @pre 'name' must have at least one character.
 
	 * @pre 'name' must have at most 30 characters.
 
	 * @param name The new name of the company (can be either a raw string, or a ScriptText object).
 
	 * @pre name != NULL && len(name) != 0.
 
	 * @exception ScriptError::ERR_NAME_IS_NOT_UNIQUE
 
	 * @return True if the name was changed.
 
	 * @api -game
 
	 */
 
	static bool SetName(const char *name);
 
	static bool SetName(Text *name);
 

	
 
	/**
 
	 * Get the name of the given company.
 
@@ -83,13 +82,12 @@ public:
 

	
 
	/**
 
	 * Set the name of your president.
 
	 * @param name The new name of the president.
 
	 * @pre 'name' must have at least one character.
 
	 * @param name The new name of the president (can be either a raw string, or a ScriptText object).
 
	 * @pre name != NULL && len(name) != 0.
 
	 * @exception ScriptError::ERR_NAME_IS_NOT_UNIQUE
 
	 * @return True if the name was changed.
 
	 * @api -game
 
	 */
 
	static bool SetPresidentName(const char *name);
 
	static bool SetPresidentName(Text *name);
 

	
 
	/**
 
	 * Get the name of the president of the given company.
src/script/api/script_goal.cpp
Show inline comments
 
@@ -28,16 +28,19 @@
 
	return ::Goal::IsValidID(goal_id);
 
}
 

	
 
/* static */ ScriptGoal::GoalID ScriptGoal::New(ScriptCompany::CompanyID company, const char *goal, GoalType type, uint32 destination)
 
/* static */ ScriptGoal::GoalID ScriptGoal::New(ScriptCompany::CompanyID company, Text *goal, GoalType type, uint32 destination)
 
{
 
	EnforcePrecondition(GOAL_INVALID, !StrEmpty(goal));
 
	CCountedPtr<Text> counter(goal);
 

	
 
	EnforcePrecondition(GOAL_INVALID, goal != NULL);
 
	EnforcePrecondition(GOAL_INVALID, !StrEmpty(goal->GetEncodedText()));
 
	EnforcePrecondition(GOAL_INVALID, company == ScriptCompany::COMPANY_INVALID || ScriptCompany::ResolveCompanyID(company) != ScriptCompany::COMPANY_INVALID);
 
	EnforcePrecondition(GOAL_INVALID, (type == GT_NONE && destination == 0) || (type == GT_TILE && ScriptMap::IsValidTile(destination)) || (type == GT_INDUSTRY && ScriptIndustry::IsValidIndustry(destination)) || (type == GT_TOWN && ScriptTown::IsValidTown(destination)) || (type == GT_COMPANY && ScriptCompany::ResolveCompanyID((ScriptCompany::CompanyID)destination) != ScriptCompany::COMPANY_INVALID));
 

	
 
	uint8 c = company;
 
	if (company == ScriptCompany::COMPANY_INVALID) c = INVALID_COMPANY;
 

	
 
	if (!ScriptObject::DoCommand(0, type | (c << 8), destination, CMD_CREATE_GOAL, goal, &ScriptInstance::DoCommandReturnGoalID)) return GOAL_INVALID;
 
	if (!ScriptObject::DoCommand(0, type | (c << 8), destination, CMD_CREATE_GOAL, goal->GetEncodedText(), &ScriptInstance::DoCommandReturnGoalID)) return GOAL_INVALID;
 

	
 
	/* In case of test-mode, we return GoalID 0 */
 
	return (ScriptGoal::GoalID)0;
src/script/api/script_goal.hpp
Show inline comments
 
@@ -52,14 +52,14 @@ public:
 
	/**
 
	 * Create a new goal.
 
	 * @param company The company to create the goal for, or ScriptCompany::COMPANY_INVALID for all.
 
	 * @param goal The goal to add to the GUI.
 
	 * @param goal The goal to add to the GUI (can be either a raw string, or a ScriptText object).
 
	 * @param type The type of the goal.
 
	 * @param destination The destination of the #type type.
 
	 * @return The new GoalID, or GOAL_INVALID if it failed.
 
	 * @pre goal != NULL.
 
	 * @pre goal != NULL && len(goal) != 0.
 
	 * @pre company == COMPANY_INVALID || ResolveCompanyID(company) != COMPANY_INVALID.
 
	 */
 
	static GoalID New(ScriptCompany::CompanyID company, const char *goal, GoalType type, uint32 destination);
 
	static GoalID New(ScriptCompany::CompanyID company, Text *goal, GoalType type, uint32 destination);
 

	
 
	/**
 
	 * Remove a goal from the list.
src/script/api/script_group.cpp
Show inline comments
 
@@ -49,13 +49,17 @@
 
	return (ScriptVehicle::VehicleType)((::VehicleType)::Group::Get(group_id)->vehicle_type);
 
}
 

	
 
/* static */ bool ScriptGroup::SetName(GroupID group_id, const char *name)
 
/* static */ bool ScriptGroup::SetName(GroupID group_id, Text *name)
 
{
 
	CCountedPtr<Text> counter(name);
 

	
 
	EnforcePrecondition(false, IsValidGroup(group_id));
 
	EnforcePrecondition(false, !::StrEmpty(name));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(name) < MAX_LENGTH_GROUP_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 
	EnforcePrecondition(false, name != NULL);
 
	const char *text = name->GetEncodedText();
 
	EnforcePrecondition(false, !::StrEmpty(text));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_GROUP_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 

	
 
	return ScriptObject::DoCommand(0, group_id, 0, CMD_RENAME_GROUP, name);
 
	return ScriptObject::DoCommand(0, group_id, 0, CMD_RENAME_GROUP, text);
 
}
 

	
 
/* static */ char *ScriptGroup::GetName(GroupID group_id)
src/script/api/script_group.hpp
Show inline comments
 
@@ -68,14 +68,13 @@ public:
 
	/**
 
	 * Set the name of a group.
 
	 * @param group_id The group to set the name for.
 
	 * @param name The name for the group.
 
	 * @param name The name for the group (can be either a raw string, or a ScriptText object).
 
	 * @pre IsValidGroup(group_id).
 
	 * @pre 'name' must have at least one character.
 
	 * @pre 'name' must have at most 30 characters.
 
	 * @pre name != NULL && len(name) != 0
 
	 * @exception ScriptError::ERR_NAME_IS_NOT_UNIQUE
 
	 * @return True if and only if the name was changed.
 
	 */
 
	static bool SetName(GroupID group_id, const char *name);
 
	static bool SetName(GroupID group_id, Text *name);
 

	
 
	/**
 
	 * Get the name of a group.
src/script/api/script_news.cpp
Show inline comments
 
@@ -18,14 +18,17 @@
 
#include "../../string_func.h"
 
#include "table/strings.h"
 

	
 
/* static */ bool ScriptNews::Create(NewsType type, const char *text, ScriptCompany::CompanyID company)
 
/* static */ bool ScriptNews::Create(NewsType type, Text *text, ScriptCompany::CompanyID company)
 
{
 
	EnforcePrecondition(false, !StrEmpty(text));
 
	CCountedPtr<Text> counter(text);
 

	
 
	EnforcePrecondition(false, text != NULL);
 
	EnforcePrecondition(false, !StrEmpty(text->GetEncodedText()));
 
	EnforcePrecondition(false, type >= NT_ARRIVAL_COMPANY && type <= NT_GENERAL);
 
	EnforcePrecondition(false, company == ScriptCompany::COMPANY_INVALID || ScriptCompany::ResolveCompanyID(company) != ScriptCompany::COMPANY_INVALID);
 

	
 
	uint8 c = company;
 
	if (company == ScriptCompany::COMPANY_INVALID) c = INVALID_COMPANY;
 

	
 
	return ScriptObject::DoCommand(0, type | (NR_NONE << 8) | (c << 16), 0, CMD_CUSTOM_NEWS_ITEM, text);
 
	return ScriptObject::DoCommand(0, type | (NR_NONE << 8) | (c << 16), 0, CMD_CUSTOM_NEWS_ITEM, text->GetEncodedText());
 
}
src/script/api/script_news.hpp
Show inline comments
 
@@ -13,6 +13,7 @@
 
#define SCRIPT_NEWS_HPP
 

	
 
#include "script_company.hpp"
 
#include "script_text.hpp"
 
#include "../../news_type.h"
 

	
 
/**
 
@@ -49,13 +50,13 @@ public:
 
	/**
 
	 * Create a news messages for a company.
 
	 * @param type The type of the news.
 
	 * @param text The text message to show.
 
	 * @param text The text message to show (can be either a raw string, or a ScriptText object).
 
	 * @param company The company, or COMPANY_INVALID for all companies.
 
	 * @return True if the action succeeded.
 
	 * @pre text != NULL.
 
	 * @pre company == COMPANY_INVALID || ResolveCompanyID(company) != COMPANY_INVALID.
 
	 */
 
	static bool Create(NewsType type, const char *text, ScriptCompany::CompanyID company);
 
	static bool Create(NewsType type, Text *text, ScriptCompany::CompanyID company);
 
};
 

	
 
#endif /* SCRIPT_NEWS_HPP */
src/script/api/script_sign.cpp
Show inline comments
 
@@ -33,13 +33,17 @@
 
	return static_cast<ScriptCompany::CompanyID>((int)::Sign::Get(sign_id)->owner);
 
}
 

	
 
/* static */ bool ScriptSign::SetName(SignID sign_id, const char *name)
 
/* static */ bool ScriptSign::SetName(SignID sign_id, Text *name)
 
{
 
	CCountedPtr<Text> counter(name);
 

	
 
	EnforcePrecondition(false, IsValidSign(sign_id));
 
	EnforcePrecondition(false, !::StrEmpty(name));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(name) < MAX_LENGTH_SIGN_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 
	EnforcePrecondition(false, name != NULL);
 
	const char *text = name->GetEncodedText();
 
	EnforcePrecondition(false, !::StrEmpty(text));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_SIGN_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 

	
 
	return ScriptObject::DoCommand(0, sign_id, 0, CMD_RENAME_SIGN, name);
 
	return ScriptObject::DoCommand(0, sign_id, 0, CMD_RENAME_SIGN, text);
 
}
 

	
 
/* static */ char *ScriptSign::GetName(SignID sign_id)
 
@@ -69,9 +73,13 @@
 
	return ScriptObject::DoCommand(0, sign_id, 0, CMD_RENAME_SIGN, "");
 
}
 

	
 
/* static */ SignID ScriptSign::BuildSign(TileIndex location, const char *text)
 
/* static */ SignID ScriptSign::BuildSign(TileIndex location, Text *name)
 
{
 
	CCountedPtr<Text> counter(name);
 

	
 
	EnforcePrecondition(INVALID_SIGN, ::IsValidTile(location));
 
	EnforcePrecondition(INVALID_SIGN, name != NULL);
 
	const char *text = name->GetEncodedText();
 
	EnforcePrecondition(INVALID_SIGN, !::StrEmpty(text));
 
	EnforcePreconditionCustomError(INVALID_SIGN, ::Utf8StringLength(text) < MAX_LENGTH_SIGN_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 

	
src/script/api/script_sign.hpp
Show inline comments
 
@@ -43,14 +43,13 @@ public:
 
	/**
 
	 * Set the name of a sign.
 
	 * @param sign_id The sign to set the name for.
 
	 * @param name The name for the sign.
 
	 * @param name The name for the sign (can be either a raw string, or a ScriptText object).
 
	 * @pre IsValidSign(sign_id).
 
	 * @pre 'name' must have at least one character.
 
	 * @pre 'name' must have at most 30 characters.
 
	 * @pre name != NULL && len(name) != 0.
 
	 * @exception ScriptError::ERR_NAME_IS_NOT_UNIQUE
 
	 * @return True if and only if the name was changed.
 
	 */
 
	static bool SetName(SignID sign_id, const char *name);
 
	static bool SetName(SignID sign_id, Text *name);
 

	
 
	/**
 
	 * Get the name of the sign.
 
@@ -80,16 +79,15 @@ public:
 
	/**
 
	 * Builds a sign on the map.
 
	 * @param location The place to build the sign.
 
	 * @param text The text to place on the sign.
 
	 * @param name The text to place on the sign (can be either a raw string, or a ScriptText object).
 
	 * @pre ScriptMap::IsValidTile(location).
 
	 * @pre 'text' must have at least one character.
 
	 * @pre 'text' must have at most 30 characters.
 
	 * @pre name != NULL && len(name) != 0.
 
	 * @exception ScriptSign::ERR_SIGN_TOO_MANY_SIGNS
 
	 * @return The SignID of the build sign (use IsValidSign() to check for validity).
 
	 *   In test-mode it returns 0 if successful, or any other value to indicate
 
	 *   failure.
 
	 */
 
	static SignID BuildSign(TileIndex location, const char *text);
 
	static SignID BuildSign(TileIndex location, Text *name);
 

	
 
	/**
 
	 * Removes a sign from the map.
src/script/api/script_text.hpp
Show inline comments
 
@@ -62,7 +62,7 @@ private:
 
 * local text = ScriptText(ScriptText.STR_NEWS); text.AddParam(1);
 
 * This will set the {COMPANY} to the name of Company 1.
 
 *
 
 * @api game
 
 * @api ai game
 
 */
 
class ScriptText : public Text , public ZeroedMemoryAllocator {
 
public:
src/script/api/script_town.cpp
Show inline comments
 
@@ -43,10 +43,14 @@
 
	return town_name;
 
}
 

	
 
/* static */ bool ScriptTown::SetText(TownID town_id, const char *text)
 
/* static */ bool ScriptTown::SetText(TownID town_id, Text *text)
 
{
 
	CCountedPtr<Text> counter(text);
 

	
 
	EnforcePrecondition(false, text != NULL);
 
	EnforcePrecondition(false, IsValidTown(town_id));
 
	return ScriptObject::DoCommand(::Town::Get(town_id)->xy, town_id, 0, CMD_TOWN_SET_TEXT, text);
 

	
 
	return ScriptObject::DoCommand(::Town::Get(town_id)->xy, town_id, 0, CMD_TOWN_SET_TEXT, text->GetEncodedText());
 
}
 

	
 
/* static */ int32 ScriptTown::GetPopulation(TownID town_id)
src/script/api/script_town.hpp
Show inline comments
 
@@ -14,6 +14,7 @@
 

	
 
#include "script_cargo.hpp"
 
#include "script_company.hpp"
 
#include "script_text.hpp"
 
#include "../../town_type.h"
 

	
 
/**
 
@@ -129,12 +130,12 @@ public:
 
	/**
 
	 * Set the custom text of a town, shown in the GUI.
 
	 * @param town_id The town to set the custom text of.
 
	 * @param text The text to set it to.
 
	 * @param text The text to set it to (can be either a raw string, or a ScriptText object).
 
	 * @pre IsValidTown(town_id).
 
	 * @return True if the action succeeded.
 
	 * @api -ai
 
	 */
 
	static bool SetText(TownID town_id, const char *text);
 
	static bool SetText(TownID town_id, Text *text);
 

	
 
	/**
 
	 * Gets the number of inhabitants in the town.
src/script/api/script_vehicle.cpp
Show inline comments
 
@@ -212,14 +212,18 @@
 
	}
 
}
 

	
 
/* static */ bool ScriptVehicle::SetName(VehicleID vehicle_id, const char *name)
 
/* static */ bool ScriptVehicle::SetName(VehicleID vehicle_id, Text *name)
 
{
 
	CCountedPtr<Text> counter(name);
 

	
 
	EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY);
 
	EnforcePrecondition(false, IsValidVehicle(vehicle_id));
 
	EnforcePrecondition(false, !::StrEmpty(name));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(name) < MAX_LENGTH_VEHICLE_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 
	EnforcePrecondition(false, name != NULL);
 
	const char *text = name->GetEncodedText();
 
	EnforcePrecondition(false, !::StrEmpty(text));
 
	EnforcePreconditionCustomError(false, ::Utf8StringLength(text) < MAX_LENGTH_VEHICLE_NAME_CHARS, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG);
 

	
 
	return ScriptObject::DoCommand(0, vehicle_id, 0, CMD_RENAME_VEHICLE, name);
 
	return ScriptObject::DoCommand(0, vehicle_id, 0, CMD_RENAME_VEHICLE, text);
 
}
 

	
 
/* static */ TileIndex ScriptVehicle::GetLocation(VehicleID vehicle_id)
src/script/api/script_vehicle.hpp
Show inline comments
 
@@ -113,15 +113,14 @@ public:
 
	/**
 
	 * Set the name of a vehicle.
 
	 * @param vehicle_id The vehicle to set the name for.
 
	 * @param name The name for the vehicle.
 
	 * @param name The name for the vehicle (can be either a raw string, or a ScriptText object).
 
	 * @pre IsValidVehicle(vehicle_id).
 
	 * @pre 'name' must have at least one character.
 
	 * @pre 'name' must have at most 30 characters.
 
	 * @pre name != NULL && len(name) != 0.
 
	 * @game @pre Valid ScriptCompanyMode active in scope.
 
	 * @exception ScriptError::ERR_NAME_IS_NOT_UNIQUE
 
	 * @return True if and only if the name was changed.
 
	 */
 
	static bool SetName(VehicleID vehicle_id, const char *name);
 
	static bool SetName(VehicleID vehicle_id, Text *name);
 

	
 
	/**
 
	 * Get the name of a vehicle.
src/strings.cpp
Show inline comments
 
@@ -1205,7 +1205,9 @@ static char *FormatString(char *buff, co
 
				if (c == NULL) break;
 

	
 
				if (c->name != NULL) {
 
					buff = strecpy(buff, c->name, last);
 
					int64 args_array[] = {(uint64)(size_t)c->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					int64 args_array[] = {c->name_2};
 
					StringParameters tmp_params(args_array);
 
@@ -1237,7 +1239,9 @@ static char *FormatString(char *buff, co
 

	
 
				const Depot *d = Depot::Get(args->GetInt32());
 
				if (d->name != NULL) {
 
					buff = strecpy(buff, d->name, last);
 
					int64 args_array[] = {(uint64)(size_t)d->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					int64 args_array[] = {d->town->index, d->town_cn + 1};
 
					StringParameters tmp_params(args_array);
 
@@ -1251,7 +1255,9 @@ static char *FormatString(char *buff, co
 
				if (e == NULL) break;
 

	
 
				if (e->name != NULL && e->IsEnabled()) {
 
					buff = strecpy(buff, e->name, last);
 
					int64 args_array[] = {(uint64)(size_t)e->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					StringParameters tmp_params(NULL, 0, NULL);
 
					buff = GetStringWithArgs(buff, e->info.string_id, &tmp_params, last);
 
@@ -1264,7 +1270,9 @@ static char *FormatString(char *buff, co
 
				if (g == NULL) break;
 

	
 
				if (g->name != NULL) {
 
					buff = strecpy(buff, g->name, last);
 
					int64 args_array[] = {(uint64)(size_t)g->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					int64 args_array[] = {g->index};
 
					StringParameters tmp_params(args_array);
 
@@ -1292,7 +1300,9 @@ static char *FormatString(char *buff, co
 
				if (c == NULL) break;
 

	
 
				if (c->president_name != NULL) {
 
					buff = strecpy(buff, c->president_name, last);
 
					int64 args_array[] = {(uint64)(size_t)c->president_name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					int64 args_array[] = {c->president_name_2};
 
					StringParameters tmp_params(args_array);
 
@@ -1315,7 +1325,9 @@ static char *FormatString(char *buff, co
 
				}
 

	
 
				if (st->name != NULL) {
 
					buff = strecpy(buff, st->name, last);
 
					int64 args_array[] = {(uint64)(size_t)st->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					StringID str = st->string_id;
 
					if (st->indtype != IT_INVALID) {
 
@@ -1342,7 +1354,9 @@ static char *FormatString(char *buff, co
 
				if (t == NULL) break;
 

	
 
				if (t->name != NULL) {
 
					buff = strecpy(buff, t->name, last);
 
					int64 args_array[] = {(uint64)(size_t)t->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					buff = GetTownName(buff, t, last);
 
				}
 
@@ -1354,7 +1368,9 @@ static char *FormatString(char *buff, co
 
				if (wp == NULL) break;
 

	
 
				if (wp->name != NULL) {
 
					buff = strecpy(buff, wp->name, last);
 
					int64 args_array[] = {(uint64)(size_t)wp->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					int64 args_array[] = {wp->town->index, wp->town_cn + 1};
 
					StringParameters tmp_params(args_array);
 
@@ -1370,7 +1386,9 @@ static char *FormatString(char *buff, co
 
				if (v == NULL) break;
 

	
 
				if (v->name != NULL) {
 
					buff = strecpy(buff, v->name, last);
 
					int64 args_array[] = {(uint64)(size_t)v->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					int64 args_array[] = {v->unitnumber};
 
					StringParameters tmp_params(args_array);
 
@@ -1394,7 +1412,9 @@ static char *FormatString(char *buff, co
 
				if (si == NULL) break;
 

	
 
				if (si->name != NULL) {
 
					buff = strecpy(buff, si->name, last);
 
					int64 args_array[] = {(uint64)(size_t)si->name};
 
					StringParameters tmp_params(args_array);
 
					buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
 
				} else {
 
					StringParameters tmp_params(NULL, 0, NULL);
 
					buff = GetStringWithArgs(buff, STR_DEFAULT_SIGN_NAME, &tmp_params, last);
src/town_gui.cpp
Show inline comments
 
@@ -405,7 +405,8 @@ public:
 
		}
 

	
 
		if (this->town->text != NULL) {
 
			DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_LEFT, y += FONT_HEIGHT_NORMAL, UINT16_MAX, this->town->text, TC_BLACK);
 
			SetDParamStr(0, this->town->text);
 
			DrawStringMultiLine(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_LEFT, y += FONT_HEIGHT_NORMAL, UINT16_MAX, STR_JUST_RAW_STRING, TC_BLACK);
 
		}
 
	}
 

	
0 comments (0 inline, 0 general)