Changeset - r16452:b5802941976b
[Not reviewed]
master
0 3 0
rubidium - 14 years ago 2010-11-13 19:15:26
rubidium@openttd.org
(svn r21178) -Codechange: pass the language_id to TranslateTTDPatchCodes as well
3 files changed with 15 insertions and 8 deletions:
0 comments (0 inline, 0 general)
src/newgrf.cpp
Show inline comments
 
@@ -5373,7 +5373,7 @@ static void GRFLoadError(ByteReader *buf
 
		if (buf->HasData()) {
 
			const char *message = buf->ReadString();
 

	
 
			error->custom_message = TranslateTTDPatchCodes(_cur_grffile->grfid, message);
 
			error->custom_message = TranslateTTDPatchCodes(_cur_grffile->grfid, lang, message);
 
		} else {
 
			grfmsg(7, "GRFLoadError: No custom message supplied.");
 
			error->custom_message = strdup("");
 
@@ -5385,7 +5385,7 @@ static void GRFLoadError(ByteReader *buf
 
	if (buf->HasData()) {
 
		const char *data = buf->ReadString();
 

	
 
		error->data = TranslateTTDPatchCodes(_cur_grffile->grfid, data);
 
		error->data = TranslateTTDPatchCodes(_cur_grffile->grfid, lang, data);
 
	} else {
 
		grfmsg(7, "GRFLoadError: No message data supplied.");
 
		error->data = strdup("");
 
@@ -5926,7 +5926,7 @@ static void FeatureTownName(ByteReader *
 

	
 
			const char *name = buf->ReadString();
 

	
 
			char *lang_name = TranslateTTDPatchCodes(grfid, name);
 
			char *lang_name = TranslateTTDPatchCodes(grfid, lang, name);
 
			grfmsg(6, "FeatureTownName: lang 0x%X -> '%s'", lang, lang_name);
 
			free(lang_name);
 

	
 
@@ -5972,7 +5972,7 @@ static void FeatureTownName(ByteReader *
 
				townname->partlist[id][i].parts[j].data.id = ref_id;
 
			} else {
 
				const char *text = buf->ReadString();
 
				townname->partlist[id][i].parts[j].data.text = TranslateTTDPatchCodes(grfid, text);
 
				townname->partlist[id][i].parts[j].data.text = TranslateTTDPatchCodes(grfid, 0, text);
 
				grfmsg(6, "FeatureTownName: part %d, text %d, '%s' (with probability %d)", i, j, townname->partlist[id][i].parts[j].data.text, prob);
 
			}
 
			townname->partlist[id][i].parts[j].prob = prob;
src/newgrf_text.cpp
Show inline comments
 
@@ -196,7 +196,14 @@ static GRFTextEntry _grf_text[(1 << TABS
 
static byte _currentLangID = GRFLX_ENGLISH;  ///< by default, english is used.
 

	
 

	
 
char *TranslateTTDPatchCodes(uint32 grfid, const char *str)
 
/**
 
 * Translate TTDPatch string codes into something OpenTTD can handle (better).
 
 * @param grfid       The (NewGRF) ID associated with this string
 
 * @param language_id The (NewGRF) language ID associated with this string.
 
 * @param str         The string to translate.
 
 * @return The translated string.
 
 */
 
char *TranslateTTDPatchCodes(uint32 grfid, uint8 language_id, const char *str)
 
{
 
	char *tmp = MallocT<char>(strlen(str) * 10 + 1); // Allocate space to allow for expansion
 
	char *d = tmp;
 
@@ -380,7 +387,7 @@ void AddGRFTextToList(GRFText **list, GR
 
 */
 
void AddGRFTextToList(struct GRFText **list, byte langid, uint32 grfid, const char *text_to_add)
 
{
 
	char *translatedtext = TranslateTTDPatchCodes(grfid, text_to_add);
 
	char *translatedtext = TranslateTTDPatchCodes(grfid, langid, text_to_add);
 
	GRFText *newtext = GRFText::New(langid, translatedtext);
 
	free(translatedtext);
 

	
 
@@ -449,7 +456,7 @@ StringID AddGRFString(uint32 grfid, uint
 
	/* Too many strings allocated, return empty */
 
	if (id == lengthof(_grf_text)) return STR_EMPTY;
 

	
 
	translatedtext = TranslateTTDPatchCodes(grfid, text_to_add);
 
	translatedtext = TranslateTTDPatchCodes(grfid, langid_to_add, text_to_add);
 

	
 
	GRFText *newtext = GRFText::New(langid_to_add, translatedtext);
 

	
src/newgrf_text.h
Show inline comments
 
@@ -20,7 +20,7 @@ const char *GetGRFStringFromGRFText(cons
 
const char *GetGRFStringPtr(uint16 stringid);
 
void CleanUpStrings();
 
void SetCurrentGrfLangID(byte language_id);
 
char *TranslateTTDPatchCodes(uint32 grfid, const char *str);
 
char *TranslateTTDPatchCodes(uint32 grfid, uint8 language_id, const char *str);
 
struct GRFText *DuplicateGRFText(struct GRFText *orig);
 
void AddGRFTextToList(struct GRFText **list, struct GRFText *text_to_add);
 
void AddGRFTextToList(struct GRFText **list, byte langid, uint32 grfid, const char *text_to_add);
0 comments (0 inline, 0 general)