Add: [Script] ScriptCargo::GetName, to get the human readable name of a cargo (#8544)

Of course this translates into AICargo.GetName() for AIs and
GSCargo.GetName() for GameScripts.
This commit is contained in:
Patric Stout
2021-01-09 15:15:14 +01:00
committed by GitHub
parent 3dbdb1c7e3
commit 218f40eea2
6 changed files with 38 additions and 1 deletions

View File

@@ -18,6 +18,7 @@
* This version is not yet released. The following changes are not set in stone yet.
*
* API additions:
* \li AICargo::GetName
* \li AIPriorityQueue
*
* \b 1.10.0

View File

@@ -18,6 +18,7 @@
* This version is not yet released. The following changes are not set in stone yet.
*
* API additions:
* \li GSCargo::GetName
* \li GSEventStoryPageButtonClick
* \li GSEventStoryPageTileSelect
* \li GSEventStoryPageVehicleSelect

View File

@@ -11,7 +11,9 @@
#include "script_cargo.hpp"
#include "../../economy_func.h"
#include "../../core/bitmath_func.hpp"
#include "../../strings_func.h"
#include "../../settings_type.h"
#include "table/strings.h"
#include "../../safeguards.h"
@@ -25,6 +27,14 @@
return (towneffect_type >= (TownEffect)TE_BEGIN && towneffect_type < (TownEffect)TE_END);
}
/* static */ char *ScriptCargo::GetName(CargoID cargo_type)
{
if (!IsValidCargo(cargo_type)) return nullptr;
::SetDParam(0, 1 << cargo_type);
return GetString(STR_JUST_CARGO_LIST);
}
/* static */ char *ScriptCargo::GetCargoLabel(CargoID cargo_type)
{
if (!IsValidCargo(cargo_type)) return nullptr;

View File

@@ -84,6 +84,14 @@ public:
*/
static bool IsValidTownEffect(TownEffect towneffect_type);
/**
* Get the name of the cargo type.
* @param cargo_type The cargo type to get the name of.
* @pre IsValidCargo(cargo_type).
* @return The name of the cargo type.
*/
static char *GetName(CargoID cargo_type);
/**
* Gets the string representation of the cargo label.
* @param cargo_type The cargo to get the string representation of.