(svn r4496) - NewGRF: switch custom engine names from storing a char* to using the new StringID based text system. Vehicle name
authorpeter1138
Fri, 21 Apr 2006 07:06:31 +0000
changeset 3604 1e7d9f584f93
parent 3603 245bd93ea8e5
child 3605 2caa3194832f
(svn r4496) - NewGRF: switch custom engine names from storing a char* to using the new StringID based text system. Vehicle name
translations now work.
newgrf.c
newgrf_engine.c
newgrf_engine.h
--- a/newgrf.c	Fri Apr 21 07:03:37 2006 +0000
+++ b/newgrf.c	Fri Apr 21 07:06:31 2006 +0000
@@ -1762,8 +1762,7 @@
 				case GSF_ROAD:
 				case GSF_SHIP:
 				case GSF_AIRCRAFT:
-						SetCustomEngineName(id, name);
-						/*SetCustomEngineName(id, AddGRFString(_cur_grffile->grfid, id, lang, name));*/
+					SetCustomEngineName(id, AddGRFString(_cur_grffile->grfid, id, lang, name));
 					break;
 
 #if 0
--- a/newgrf_engine.c	Fri Apr 21 07:03:37 2006 +0000
+++ b/newgrf_engine.c	Fri Apr 21 07:06:31 2006 +0000
@@ -607,28 +607,24 @@
 	DoTriggerVehicle(veh, trigger, 0, true);
 }
 
-static char *_engine_custom_names[TOTAL_NUM_ENGINES];
+StringID _engine_custom_names[TOTAL_NUM_ENGINES];
 
-void SetCustomEngineName(EngineID engine, const char *name)
+void SetCustomEngineName(EngineID engine, StringID name)
 {
-	_engine_custom_names[engine] = strdup(name);
+	_engine_custom_names[engine] = name;
 }
 
 void UnloadCustomEngineNames(void)
 {
-	char **i;
-	for (i = _engine_custom_names; i != endof(_engine_custom_names); i++) {
-		free(*i);
-		*i = NULL;
+	EngineID i;
+	for (i = 0; i < TOTAL_NUM_ENGINES; i++) {
+		_engine_custom_names[i] = 0;
 	}
 }
 
 StringID GetCustomEngineName(EngineID engine)
 {
-	if (!_engine_custom_names[engine])
-		return _engine_name_strings[engine];
-	ttd_strlcpy(_userstring, _engine_custom_names[engine], lengthof(_userstring));
-	return STR_SPEC_USERSTRING;
+	return _engine_custom_names[engine] == 0 ? _engine_name_strings[engine] : _engine_custom_names[engine];
 }
 
 // Functions for changing the order of vehicle purchase lists
--- a/newgrf_engine.h	Fri Apr 21 07:03:37 2006 +0000
+++ b/newgrf_engine.h	Fri Apr 21 07:06:31 2006 +0000
@@ -34,7 +34,7 @@
 } VehicleTrigger;
 void TriggerVehicle(Vehicle *veh, VehicleTrigger trigger);
 
-void SetCustomEngineName(EngineID engine, const char *name);
+void SetCustomEngineName(EngineID engine, StringID name);
 StringID GetCustomEngineName(EngineID engine);
 
 void UnloadWagonOverrides(void);