(svn r6788) - Codechange: Add and use a function to test if a string ID is a custom name.

This commit is contained in:
peter1138 2006-10-16 10:26:22 +00:00
parent d5baf25923
commit afb45b6f29
4 changed files with 9 additions and 3 deletions

View File

@ -138,6 +138,7 @@ void PlaceTreesRandomly(void);
void InitializeLandscapeVariables(bool only_constants);
/* misc.c */
bool IsCustomName(StringID id);
void DeleteName(StringID id);
char *GetName(int id, char *buff);

7
misc.c
View File

@ -150,9 +150,14 @@ void InitializeGame(int mode, uint size_x, uint size_y)
ResetObjectToPlace();
}
bool IsCustomName(StringID id)
{
return GB(id, 11, 5) == 15;
}
void DeleteName(StringID id)
{
if ((id & 0xF800) == 0x7800) {
if (IsCustomName(id)) {
memset(_name_array[id & 0x1FF], 0, sizeof(_name_array[id & 0x1FF]));
}
}

View File

@ -823,7 +823,7 @@ void BackupVehicleOrders(const Vehicle *v, BackuppedOrders *bak)
bak->service_interval = v->service_interval;
/* Safe custom string, if any */
if ((v->string_id & 0xF800) != 0x7800) {
if (!IsCustomName(v->string_id)) {
bak->name[0] = '\0';
} else {
GetName(v->string_id & 0x7FF, bak->name);

View File

@ -2073,7 +2073,7 @@ static int32 ReplaceVehicle(Vehicle **w, byte flags, int32 total_cost)
MoveVehicleCargo(new_v->type == VEH_Train ? GetFirstVehicleInChain(new_v) : new_v, old_v);
// Get the name of the old vehicle if it has a custom name.
if ((old_v->string_id & 0xF800) != 0x7800) {
if (!IsCustomName(old_v->string_id)) {
vehicle_name[0] = '\0';
} else {
GetName(old_v->string_id & 0x7FF, vehicle_name);