diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml
index cd2d6ece01..0065833e0f 100644
--- a/addons/interaction/stringtable.xml
+++ b/addons/interaction/stringtable.xml
@@ -451,16 +451,16 @@
A Terra!
- Team<br/>Management
- Team<br/>Management
- Gestión<br/>de equipo
- Gestion<br/>d'équipe
- Zarządzanie<br/>oddziałem
- Správa<br/>týmu
- Управление<br/>группой
- Gerenciamento<br/>de Equipe
- Organizzazione<br/>Squadra
- Csapat<br/>kezelés
+ Team Management
+ Team Management
+ Gestión de equipo
+ Gestion d'équipe
+ Zarządzanie oddziałem
+ Správa týmu
+ Управление группой
+ Gerenciamento de Equipe
+ Organizzazione Squadra
+ Csapat kezelés
Red
@@ -511,52 +511,52 @@
Sárga
- Join Team<br/>Red
- Team Rot<br/>beitreten
- Unirse al<br/>equipo rojo
- Rejoindre<br/>Rouge
- Dołącz do drużyny<br/>czerwonej
- Připojit do<br/>Červeného Týmu
- Присоединиться<br/>к красной группе
- Unir-se à<br/>Equipe Vermelha
- Entra nella<br/>Squadra Rossa
- Csatlakozás a<br/>piros csapathoz
+ Join Team Red
+ Team Rot beitreten
+ Unirse al equipo rojo
+ Rejoindre Rouge
+ Dołącz do drużyny czerwonej
+ Připojit do Červeného Týmu
+ Присоединиться к красной группе
+ Unir-se à Equipe Vermelha
+ Entra nella Squadra Rossa
+ Csatlakozás a piros csapathoz
- Join Team<br/>Green
- Team Grün<br/>beitreten
- Unirse al<br/>equipo verde
- Rejoindre<br/>Verte
- Dołącz do<br/>drużyny zielonej
- Připojit do<br/>Zeleného Týmu
- Присоединиться<br/>к зеленой группе
- Unir-se à<br/>Equipe Verde
- Entra nella<br/>Squadra Verde
- Csatlakozás a<br/>zöld csapathoz
+ Join Team Green
+ Team Grün beitreten
+ Unirse al equipo verde
+ Rejoindre Verte
+ Dołącz do drużyny zielonej
+ Připojit do Zeleného Týmu
+ Присоединиться к зеленой группе
+ Unir-se à Equipe Verde
+ Entra nella Squadra Verde
+ Csatlakozás a zöld csapathoz
- Join Team<br/>Blue
- Team Blau<br/>beitreten
- Unirse al<br/>equipo azul
- Rejoindre<br/>Bleue
- Dołącz do<br/>drużyny niebieskiej
- Připojit do<br/>Modrého Týmu
- Присоединиться<br/>к синей группе
- Unir-se à<br/>Equipe Azul
- Entra nella<br/>Squadra Blu
- Csatlakozás a<br/>kék csapathoz
+ Join Team Blue
+ Team Blau beitreten
+ Unirse al equipo azul
+ Rejoindre Bleue
+ Dołącz do drużyny niebieskiej
+ Připojit do Modrého Týmu
+ Присоединиться к синей группе
+ Unir-se à Equipe Azul
+ Entra nella Squadra Blu
+ Csatlakozás a kék csapathoz
- Join Team<br/>Yellow
- Team Gelb<br/>beitreten
- Unirse al<br/>equipo amarillo
- Rejoindre<br/>Jaune
- Dołącz do<br/>drużyny żółtej
- Připojit do<br/>Žlutého Týmu
- Присоединиться<br/>к желтой группе
- Unir-se à<br/>Equipe Amarela
- Entra nella<br/>Squadra Gialla
- Csatlakozás a<br/>sárga csapathoz
+ Join Team Yellow
+ Team Gelb beitreten
+ Unirse al equipo amarillo
+ Rejoindre Jaune
+ Dołącz do drużyny żółtej
+ Připojit do Žlutého Týmu
+ Присоединиться к желтой группе
+ Unir-se à Equipe Amarela
+ Entra nella Squadra Gialla
+ Csatlakozás a sárga csapathoz
You joined Team %1
diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml
index da8030cb69..c19dcb92ae 100644
--- a/addons/laser_selfdesignate/stringtable.xml
+++ b/addons/laser_selfdesignate/stringtable.xml
@@ -3,14 +3,14 @@
- Laser<br/>Designator On
- Lasermarkierer<br/>an
- Laser<br/>Designador encendido
+ Laser Designator On
+ Lasermarkierer an
+ Laser Designador encendido
- Laser<br/>Designator Off
- Lasermarkierer<br/>aus
- Laser<br/>Designador apagado
+ Laser Designator Off
+ Lasermarkierer aus
+ Laser Designador apagado
diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml
index d63dd2d2cd..e292d33b0b 100644
--- a/addons/magazinerepack/stringtable.xml
+++ b/addons/magazinerepack/stringtable.xml
@@ -3,16 +3,16 @@
- Repack<br/>Magazines
- Magazine<br/>umpacken
- Reorganizar<br/>cargadores
- Réorganiser<br/>chargeurs
- Przepakuj<br/>magazynki
- Přepáskovat<br/>Zásobníky
- Ricarica<br/>Caricatori
- Reorganizar<br/>Carregadores
- Újratárazás<br/>
- Перепаковать<br/>магазины
+ Repack Magazines
+ Magazine umpacken
+ Reorganizar cargadores
+ Réorganiser chargeurs
+ Przepakuj magazynki
+ Přepáskovat Zásobníky
+ Ricarica Caricatori
+ Reorganizar Carregadores
+ Újratárazás
+ Перепаковать магазины
- Check weapon<br/>temperature
- Verificar temperatura<br/>del arma
+ Check weapon temperature
+ Verificar temperatura del arma
Checking temperature ...
diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt
index f0e21e9207..f5e6034d28 100644
--- a/extensions/CMakeLists.txt
+++ b/extensions/CMakeLists.txt
@@ -27,5 +27,6 @@ include_directories(AFTER "common")
# Add extensions to build here
add_subdirectory(fcs)
+add_subdirectory(breakline)
message("Build Type: ${CMAKE_BUILD_TYPE}")
\ No newline at end of file
diff --git a/extensions/breakLine/CMakeLists.txt b/extensions/breakLine/CMakeLists.txt
new file mode 100644
index 0000000000..8981ec487e
--- /dev/null
+++ b/extensions/breakLine/CMakeLists.txt
@@ -0,0 +1,11 @@
+set(ACE_EXTENSION_NAME "ace_breakLine")
+
+file(GLOB SOURCES *.h *.hpp *.c *.cpp)
+add_library( ${ACE_EXTENSION_NAME} SHARED ${SOURCES})
+add_dependencies(${ACE_EXTENSION_NAME} ace_common)
+SET_TARGET_PROPERTIES(${ACE_EXTENSION_NAME} PROPERTIES PREFIX "")
+
+if(CMAKE_COMPILER_IS_GNUCXX)
+ set_target_properties(${ACE_EXTENSION_NAME} PROPERTIES LINK_SEARCH_START_STATIC 1)
+ set_target_properties(${ACE_EXTENSION_NAME} PROPERTIES LINK_SEARCH_END_STATIC 1)
+endif()
\ No newline at end of file
diff --git a/extensions/breakLine/ace_breakLine.cpp b/extensions/breakLine/ace_breakLine.cpp
new file mode 100644
index 0000000000..f74eabdfc2
--- /dev/null
+++ b/extensions/breakLine/ace_breakLine.cpp
@@ -0,0 +1,71 @@
+/*
+ * ace_breakLine.cpp
+ *
+ * Takes a string and insert as many line breaks as needed so it fits a given width
+ *
+ * Takes:
+ * Localized string as string
+ * Example: "Check weapon temperature"
+ *
+ * Returns:
+ * String with line breaks
+ */
+
+#include "ace_common.h"
+
+#include
+#include
+#include
+
+#define MAXCHARACTERS 11
+
+static char version[] = "1.0";
+
+extern "C" {
+ __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function);
+};
+
+std::vector splitString(std::string input) {
+ std::istringstream ss(input);
+ std::string token;
+
+ std::vector output;
+ while (std::getline(ss, token, ',')) {
+ output.push_back(token);
+ }
+
+ return output;
+}
+
+std::string addLineBreaks(std::string input) {
+ std::stringstream sstream;
+ int numChar = 0;
+ for ( int i = 0 ; i < input.length(); i++) {
+ if (numChar >= MAXCHARACTERS && input[i] == ' ') {
+ sstream << "
";//"<br/>";
+ numChar = 0;
+ } else {
+ sstream << input[i];
+ numChar++;
+ }
+ }
+ return sstream.str();
+}
+
+// i like to live dangerously. jk, fix strncpy sometime pls.
+#pragma warning( push )
+#pragma warning( disable : 4996 )
+
+void __stdcall RVExtension(char *output, int outputSize, const char *function) {
+ if (!strcmp(function, "version")) {
+ strncpy(output, version, outputSize);
+ } else {
+ std::vector argStrings = splitString(function);
+ std::string originalString = argStrings[0];
+
+ strcpy(output, addLineBreaks(originalString).c_str());
+ output[outputSize - 1] = '\0';
+ }
+}
+
+#pragma warning( pop )