Author: mordante
Date: Sat Apr 21 14:33:08 2007
New Revision: 16953
URL: http://svn.gna.org/viewcvs/wesnoth?rev=16953&view=rev
Log:
Added the translation table for 1.3.1 to 1.3.2 format
Changed the internal constants for the terrains to the 1.3.2 format
Both changes are protected by and ifdef and are disabled but this
allows mog to use the changes. The ifdefs need to be removed before
tagging 1.3.2
Modified:
trunk/src/terrain_translation.cpp
Modified: trunk/src/terrain_translation.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/terrain_translation.cpp?rev=16953&r1=16952&r2=16953&view=diff
==============================================================================
--- trunk/src/terrain_translation.cpp (original)
+++ trunk/src/terrain_translation.cpp Sat Apr 21 14:33:08 2007
@@ -151,6 +151,44 @@
/***************************************************************************************/
+//short transition code to add code support for the 1.3.2 and 1.3.1 format
+//the ifdef should be removed before tagging 1.3.2
+
+//define NEW_FORMAT
+#ifdef NEW_FORMAT
+// Hack to allow an automatic translation from 1.3.1 letters to 1.3.2 letter
+// this support will be removed in 1.3.4
+#define TERRAIN_TRANSLATION_COMPATIBLE_2
+#ifdef TERRAIN_TRANSLATION_COMPATIBLE_2
+static std::map<t_letter, t_letter> lookup_table_131;
+#endif
+
+
+const t_letter VOID_TERRAIN = string_to_number_("_s");
+const t_letter FOGGED = string_to_number_("_f");
+
+const t_letter HUMAN_CASTLE = string_to_number_("Ch");
+const t_letter HUMAN_KEEP = string_to_number_("Kh");
+const t_letter SHALLOW_WATER = string_to_number_("Ww");
+const t_letter DEEP_WATER = string_to_number_("Wo");
+const t_letter GRASS_LAND = string_to_number_("Gg");
+const t_letter FOREST = string_to_number_("Gg^Ff");
+const t_letter MOUNTAIN = string_to_number_("Mm");
+const t_letter HILL = string_to_number_("Hh");
+
+const t_letter CAVE_WALL = string_to_number_("Xu");
+const t_letter CAVE = string_to_number_("Uu");
+const t_letter UNDERGROUND_VILLAGE = string_to_number_("Uu^Vu");
+const t_letter DWARVEN_CASTLE = string_to_number_("Cud");
+const t_letter DWARVEN_KEEP = string_to_number_("Kud");
+
+const t_letter PLUS = string_to_number_("+");
+const t_letter MINUS = string_to_number_("-");
+const t_letter NOT = string_to_number_("!");
+const t_letter STAR = string_to_number_("*");
+
+#else
+
const t_letter VOID_TERRAIN = string_to_number_("_s");
const t_letter FOGGED = string_to_number_("_f");
@@ -173,6 +211,8 @@
const t_letter MINUS = string_to_number_("-");
const t_letter NOT = string_to_number_("!");
const t_letter STAR = string_to_number_("*");
+
+#endif
/***************************************************************************************/
@@ -964,6 +1004,47 @@
static t_letter string_to_number_(std::string str, int& start_position, const
t_layer filler)
{
+#ifdef NEW_FORMAT
+#ifdef TERRAIN_TRANSLATION_COMPATIBLE_2
+ if(lookup_table_131.empty()) {
+ lookup_table_131.insert(std::make_pair(t_letter("Bww|"),
t_letter("Ww","Bw|")));
+ lookup_table_131.insert(std::make_pair(t_letter("Bww/"),
t_letter("Ww","Bw/")));
+ lookup_table_131.insert(std::make_pair(t_letter("Bww\\"),
t_letter("Ww","Bw\\")));
+ lookup_table_131.insert(std::make_pair(t_letter("Bwo|"),
t_letter("Wo","Bw|")));
+ lookup_table_131.insert(std::make_pair(t_letter("Bwo/"),
t_letter("Wo","Bw/")));
+ lookup_table_131.insert(std::make_pair(t_letter("Bwo\\"),
t_letter("Wo","Bw\\")));
+ lookup_table_131.insert(std::make_pair(t_letter("Bss|"),
t_letter("Ss","Bw|")));
+ lookup_table_131.insert(std::make_pair(t_letter("Bss/"),
t_letter("Ss","Bw/")));
+ lookup_table_131.insert(std::make_pair(t_letter("Bss\\"),
t_letter("Ss","Bw\\")));
+ lookup_table_131.insert(std::make_pair(t_letter("Chs"),
t_letter("Chs","Sr")));
+ lookup_table_131.insert(std::make_pair(t_letter("Dc"),
t_letter("Dd","Dc")));
+ lookup_table_131.insert(std::make_pair(t_letter("Dr"),
t_letter("Dd","Dr")));
+ lookup_table_131.insert(std::make_pair(t_letter("Do"),
t_letter("Dd","Do")));
+ lookup_table_131.insert(std::make_pair(t_letter("Fa"),
t_letter("Aa","Fa")));
+ lookup_table_131.insert(std::make_pair(t_letter("Fet"),
t_letter("Gg","Fet")));
+ lookup_table_131.insert(std::make_pair(t_letter("Ff"),
t_letter("Gg","Ff")));
+ lookup_table_131.insert(std::make_pair(t_letter("Ft"),
t_letter("Gs","Ft")));
+ lookup_table_131.insert(std::make_pair(t_letter("Rfvs"),
t_letter("Re","Gvs")));
+ lookup_table_131.insert(std::make_pair(t_letter("Uf"),
t_letter("Uu","Uf")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vda"),
t_letter("Dd","Vda")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vdt"),
t_letter("Dd","Vdt")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vea"),
t_letter("Aa","Vea")));
+ lookup_table_131.insert(std::make_pair(t_letter("Veg"),
t_letter("Gg","Ve")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vha"),
t_letter("Aa","Vha")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vhg"),
t_letter("Gg","Vh")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vhh"),
t_letter("Hh","Vhh")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vhha"),
t_letter("Ha","Vhha")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vhm"),
t_letter("Mm","Vhh")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vht"),
t_letter("Gs","Vht")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vu"),
t_letter("Uu","Vu")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vud"),
t_letter("Uu","Vud")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vwm"),
t_letter("Ww","Vm")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vs"),
t_letter("Ss","Vhs")));
+ lookup_table_131.insert(std::make_pair(t_letter("Vsm"),
t_letter("Ss","Vm")));
+ lookup_table_131.insert(std::make_pair(t_letter("Xm"),
t_letter("Mm","Xm")));
+ }
+#endif
+#endif
t_letter result;
//strip the spaces around us
@@ -996,6 +1077,16 @@
}
}
+#ifdef NEW_FORMAT
+#ifdef TERRAIN_TRANSLATION_COMPATIBLE_2
+ std::map<t_letter, t_letter>::const_iterator itor =
lookup_table_131.find(result);
+ if(itor != lookup_table_131.end()) {
+ lg::wml_error << "1.3.1 letter '" << itor->first << "' found
should be '" << itor->second << "' for 1.3.2, support will be removed in
version 1.3.4\n";
+ result = itor->second;
+ }
+#endif
+#endif
+
#ifndef TERRAIN_TRANSLATION_COMPATIBLE
if(result == OBSOLETE_KEEP) {
lg::wml_error << "Using _K for a keep is deprecated, support
will be removed in version 1.3.5\n";
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits