diff --git a/ace_breakLine.dll b/ace_breakLine.dll new file mode 100644 index 0000000000..edd00c78eb Binary files /dev/null and b/ace_breakLine.dll differ diff --git a/addons/aircraft/CfgAmmo.hpp b/addons/aircraft/CfgAmmo.hpp index f29c1d56d6..41462354d8 100644 --- a/addons/aircraft/CfgAmmo.hpp +++ b/addons/aircraft/CfgAmmo.hpp @@ -16,7 +16,7 @@ class CfgAmmo { explosionEffects = "ExploAmmoExplosion"; model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; }; - class ACE_20mm_HEDP : B_20mm {}; + class ACE_20mm_HE : B_20mm {}; class ACE_20mm_AP : B_20mm { hit = 50; indirectHit = 12; diff --git a/addons/aircraft/CfgMagazines.hpp b/addons/aircraft/CfgMagazines.hpp index 2445182163..b09bac6943 100644 --- a/addons/aircraft/CfgMagazines.hpp +++ b/addons/aircraft/CfgMagazines.hpp @@ -10,7 +10,7 @@ class CfgMagazines { // an extended magazine for the comanche class 300Rnd_20mm_shells; class ACE_500Rnd_20mm_shells_Comanche: 300Rnd_20mm_shells { - ammo = "ACE_20mm_HEDP"; + ammo = "ACE_20mm_HE"; count = 500; }; }; diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 721e561f83..51447237b4 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -33,7 +33,7 @@ Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL @@ -69,7 +69,7 @@ Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL @@ -105,7 +105,7 @@ Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL @@ -142,7 +142,7 @@ Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5x39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: Katiba + Kaliber: 6,5x39 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: Katiba Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba @@ -178,7 +178,7 @@ Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5 x 39 mm SD<br />Naboje: 30<br />Używane w: Katiba + Kaliber: 6,5x39 mm SD<br />Naboje: 30<br />Używane w: Katiba Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: Katiba @@ -214,7 +214,7 @@ Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: Katiba + Kaliber: 6,5x39 mm AP<br />Pociski: 30<br />Używane w: Katiba Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: Katiba @@ -251,7 +251,7 @@ Kaliber: 5,56x45 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Ráže: 5.56x45 mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -287,7 +287,7 @@ Kaliber: 5,56x45 mm AP<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm AP<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm AP<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm AP<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm AP<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Ráže: 5.56x45 mm AP<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm AP<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibro: 5.56x45 mm AP<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -324,7 +324,7 @@ Kaliber: 7,62x51 mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR + Kaliber: 7,62x51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51 mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR @@ -360,7 +360,7 @@ Kaliber: 7,62x51 mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR + Kaliber: 7,62x51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51 mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR @@ -396,7 +396,7 @@ Kaliber: 7,62x51 mm SD<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm SD<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR + Kaliber: 7,62x51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51 mm SD<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR @@ -432,7 +432,7 @@ Kaliber: 7,62x51 mm AP<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm AP<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm AP<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm AP<br />Pociski: 20<br />Używane w: Mk18 ABR + Kaliber: 7,62x51 mm AP<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51 mm AP<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm AP<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR @@ -519,7 +519,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 10<br />Verwendet für: Cyrus - Kaliber: 9,3 x 64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus + Kaliber: 9,3x64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag @@ -535,7 +535,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 10<br />Verwendet für: Cyrus - Kaliber: 9,3 x 64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus + Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus 9.3mm 10Rnd AP Mag @@ -551,7 +551,7 @@ Caliber: 9.3x64mm AP<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Hartkern<br />Schuss: 10<br />Verwendet für: Cyrus - Kaliber: 9,3 x 64 mm AP<br />Pociski: 10<br />Używany w: Cyrus + Kaliber: 9,3x64 mm AP<br />Pociski: 10<br />Używany w: Cyrus @@ -568,7 +568,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 150<br />Verwendet für: Navid - Kaliber: 9,3 x 64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid 9.3mm 150Rnd Tracer IR-DIM Belt @@ -584,7 +584,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 150<br />Verwendet für: Navid - Kaliber: 9,3 x 64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid 9.3mm 150Rnd AP Belt @@ -600,115 +600,151 @@ Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Hartkern<br />Schuss: 150<br />Verwendet für: Navid - Kaliber: 9,3 x 64 mm AP<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64 mm AP<br />Pociski: 150<br />Używane w: Navid 9x19mm 16Rnd Mag + Magazynek 9x19mm 16rd 9x19mm + 9x19mm 9x19mm 16Rnd Mag + Magazynek 9x19mm 16rd 9x19mm 30Rnd Mag + Magazynek 9x19mm 30rd 9x19mm + 9x19mm 9x19mm 30Rnd Mag + Magazynek 9x19mm 30rd 7.62x54mm 10Rnd Tracer IR-DIM Mag + Magazynek 7,62x54 mm 10rd Smugacz IR-DIM 7.62mm IR-DIM + 7,62mm IR-DIM 7.62x54mm 10Rnd Tracer IR-DIM Mag + Magazynek 7,62x54 mm 10rd Smugacz IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag + Magazynek 6,5mm 100rd Smugacz IR-DIM 6.5mm IR-DIM + 6,5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag + Magazynek 6,5mm 100rd Smugacz IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt + Magazynek 6,5mm 200rd Smugacz IR-DIM 6.5mm IR-DIM + 6,5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt + Magazynek 6,5mm 200rd Smugacz IR-DIM 5.56mm 30Rnd Mag (Mk262) + Magazynek 5,56mm 30rd Mk262 5.56mm (Mk262) + 5,56mm (Mk262) Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 + Kaliber: 5,56x45 mm NATO (Mk262)<br />Pociski: 30 5.56mm 30Rnd Mag (Mk318) + Magazynek 5,56mm 30rd Mk318 5.56mm (Mk318) + 5,56mm (Mk318) Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 + Kaliber: 5,56x45 mm NATO (Mk318)<br />Pociski: 30 7.62mm 10Rnd Mag (M118LR) + Magazynek 7,62mm 10rd (M118LR) 7.62mm (M118LR) + 7,62mm (M118LR) Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 + Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 10 7.62mm 20Rnd Mag (M118LR) + Magazynek 7,62mm 20rd (M118LR) 7.62mm (M118LR) + 7,62mm (M118LR) Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 + Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) + Magazynek 7,62mm 20rd (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) + 7,62mm (Mk248 Mod 0) Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x51 mm NATO (Mk248 Mod 0)<br />Pociski: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) + Magazynek 7,62mm 20rd (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) + 7,62mm (Mk248 Mod 1) Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 + Kaliber: 7,62x67 mm NATO (Mk248 Mod 1)<br />Pociski: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) + Magazynek 7,62mm 20rd (Berger Hybrid OTM) 7.62mm (OTM) + 7,62mm (OTM) Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 + Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20 - \ No newline at end of file + diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index f29ff773a4..ee82f9c3a5 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -325,7 +325,6 @@ Acepta peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Accetta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. - Подтвердить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий. Přijimutí žádosti poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti. Принять запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий Accepter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalistion d'actions. @@ -336,7 +335,6 @@ Rechazar peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Rifiuta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. - Отклонить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий. Zamítnutí žádostii poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti. Отклонить запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий Rejeter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalistion d'actions. @@ -433,7 +431,7 @@ A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. - Die Banane ist eine essbare Frucht, biologisch betrachtet jedoch eine Beere. Sie wächst an unterschiedlichen, krautartigen Gewächsen aus der Familie der Musa. + Die Bananen (Musa) sind eine Pflanzengattung in der Familie der Bananengewächse (Musaceae) innerhalb der Einkeimblättrigen Pflanzen (Monokotyledonen). Una banana es una fruta comestible, botanicamente una baya, producida por varios tipos de grandes plantas herbáceas del género Musa. Banán je protáhlé ovoce a plod banánovníku (epigeická bobule). Una banana è un frutto commestibile, nello specifico una bacca cuoiosa, prodotto da un gran numero di grandi pianti erbacee dotate di fiori, della famiglia delle Musaceae. @@ -442,8 +440,4 @@ Une banane est un fruit qui, d'un point de vue botanique, fait partie du groupe des baies. Produite par plusieurs sortes de grandes plantes à fleurs herbacées du type Musa. - - Die Bananen (Musa) sind eine Pflanzengattung in der Familie der Bananengewächse (Musaceae) innerhalb der Einkeimblättrigen Pflanzen (Monokotyledonen). - - diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index aaeb6db3e0..bb1b09cc20 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -23,4 +23,10 @@ class ACE_Settings { isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction"; }; + class GVAR(UseListMenu) { + value = 0; + typeName = "BOOL"; + isClientSetable = 1; + displayName = "$STR_ACE_Interact_Menu_UseListMenu"; + }; }; diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index a0b9b31dd4..e5b6e28c57 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -38,10 +38,17 @@ _recurseFnc = { _distance = getNumber (_entryCfg >> "distance"); _icon = getText (_entryCfg >> "icon"); _statement = compile (getText (_entryCfg >> "statement")); - _selection = getText (_entryCfg >> "selection"); - if (_selection == "") then { - _selection = [0,0,0]; + + _selection = ""; + if (isArray ( _entryCfg >> "selection" )) then { + _selection = getArray ( _entryCfg >> "selection" ) + } else { + _selection = getText (_entryCfg >> "selection") + if (_selection == "") then { + _selection = [0,0,0]; + }; }; + _condition = getText (_entryCfg >> "condition"); if (_condition == "") then {_condition = "true"}; diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 1cfc13923e..3da1777bed 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -35,8 +35,18 @@ GVAR(iconCount) = GVAR(iconCount) + 1; if(_icon == "") then { _icon = DEFAULT_ICON; }; -_text = format ["
%4", _icon, _color, _color, _text]; + +_text = if (GVAR(UseListMenu)) then { + format ["%4", _icon, _color, _color, _text] +} else { + format ["
%4", _icon, _color, _color, "ace_breakLine" callExtension _text]; +}; + _ctrl ctrlSetStructuredText (parseText _text); -_ctrl ctrlSetPosition [(_sPos select 0)-(0.125*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.25*SafeZoneW, 0.1*SafeZoneW]; -//_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; +_text = if (GVAR(UseListMenu)) then { + _ctrl ctrlSetPosition [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.20*SafeZoneW, 0.035*SafeZoneW]; +} else { + _ctrl ctrlSetPosition [(_sPos select 0)-(0.0750*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.15*SafeZoneW, 0.100*SafeZoneW]; +}; +//_ctrl ctrlSetBackgroundColor [0, 1, 0, 0.1]; _ctrl ctrlCommit 0; diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index 42e8de16a2..b46740921e 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -92,7 +92,12 @@ if (_numChildren == 1) then { }; // Scale menu based on the amount of children -_scale = 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5); +_scale = if (GVAR(UseListMenu)) then { + 0.17 +} else { + 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5) +}; + // Animate menu scale if (_menuInSelectedPath && (_menuDepth == count _path)) then { _scale = _scale * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * 8) min 1)); @@ -106,8 +111,13 @@ _angle = _centerAngle - _angleSpan / 2; { //BEGIN_COUNTER(children); private ["_offset","_newPos"]; - _newPos = [(_sPos select 0) -_scale * cos _angle, - (_sPos select 1) +_scale * (sin _angle) * 4/3]; + _newPos = if (GVAR(UseListMenu)) then { + [(_sPos select 0) + _scale * 1.10, + (_sPos select 1) + _scale * 0.30 * 4/3 * (_foreachindex - _numChildren/2 + 0.5)]; + } else { + [(_sPos select 0) -_scale * cos _angle, + (_sPos select 1) +_scale * (sin _angle) * 4/3]; + }; //drawLine3D [_pos, _newPos, [1,0,0,0.8]]; //END_COUNTER(children); diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 44ed15e9c4..5afcf63cc6 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -24,7 +24,12 @@ private "_ctrl"; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); GVAR(iconCount) = GVAR(iconCount) + 1; -_ctrl ctrlSetStructuredText (parseText format ["", _icon]); -_ctrl ctrlSetPosition [(_sPos select 0)-(0.05*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; +if (GVAR(UseListMenu)) then { + _ctrl ctrlSetStructuredText (parseText format ["", _icon]); + _ctrl ctrlSetPosition [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW]; +} else { + _ctrl ctrlSetStructuredText (parseText format ["", _icon]); + _ctrl ctrlSetPosition [(_sPos select 0)-(0.050*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; +}; //_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; _ctrl ctrlCommit 0; diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index d10c6c93b7..bd8ded64ce 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -3,7 +3,6 @@ Always display cursor for self interaction - Toujours afficher le curseur pour l'interaction personnelle Immer den Cursor für Selbst-Interaktionen anzeigen. Mostrar siempre el cursor para la interacción propia Всегда показывать курсор для взаимодействия с собой diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index d28756364b..b7379026ef 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -12,7 +12,6 @@ Torso - Torse Torso Torso Trup @@ -22,7 +21,6 @@ Head - Tête Kopf Cabeza Hlava @@ -68,7 +66,6 @@ Weapon - Arme Waffe Arma Zbraň @@ -485,16 +482,12 @@ 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 + Group + Gruppe + Grupo + Équipe + Equipe + Squadra Red @@ -545,52 +538,24 @@ 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 Red + Unirse al rojo + Rejoindre Rouge - 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 Green + Unirse al verde + Rejoindre Verte - 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 Blue + Unirse al azul + Rejoindre Bleue - 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 Yellow + Unirse al amarillo + Rejoindre Jaune You joined Team %1 @@ -697,7 +662,6 @@ Interact - Interagir Interagiere Interagir Interakce diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 33ef24b888..4fda0c031e 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -2,22 +2,22 @@ - Laser<br/>Designator On - Lasermarkierer<br/>an - Laser<br/>Designador encendido - ЛЦУ<br/>ВКЛ - Laserový<br/>značkovač zapnut - Desygnator<br/>laserowy wł. - Désignateur<br/>Laser Allumé + Laser Designator On + Lasermarkierer an + Laser Designador encendido + ЛЦУ ВКЛ + Laserový značkovač zapnut + Desygnator laserowy wł. + Désignateur Laser Allumé - Laser<br/>Designator Off - Lasermarkierer<br/>aus - Laser<br/>Designador apagado - ЛЦУ<br/>ВЫКЛ - Laserový<br/>značkovat vypnut - Desygnator<br/>laserowy wył. - Désignateur<br/>Laser Éteint + Laser Designator Off + Lasermarkierer aus + Laser Designador apagado + ЛЦУ ВЫКЛ + Laserový značkovat vypnut + Desygnator laserowy wył. + Désignateur Laser Éteint diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index b9d046a03a..d53ab478e0 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -1,4 +1,5 @@  + @@ -39,14 +40,17 @@ Laser Laser + Laser IR Laser IR-Laser + Laser IR Switch Laser / IR Laser Umschalten Laser / IR-Laser + Przełącz Laser / Laser IR - + \ No newline at end of file diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 1f4f766b42..a524b015f9 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -2,16 +2,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 + Перепаковать магазины Select Magazine Menu diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 280861adb4..309bb2a888 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -21,7 +21,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; _unit setVariable ["tf_unable_to_use_radio", true, true]; _unit setVariable ["acre_sys_core_isDisabled", true, true]; - if (!isNil "acre_api_fnc_setGlobalVolume") then { [0.4] call acre_api_fnc_setGlobalVolume; }; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [0.4^0.33] call acre_api_fnc_setGlobalVolume; }; } else { _unit setVariable ["tf_globalVolume", 1]; _unit setVariable ["tf_voiceVolume", 1, true]; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 5704fd0bb9..65b663708b 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,5 @@  + @@ -18,7 +19,6 @@ Aplikovat adrenalin Injecter de l'épinéphrine Ввести адреналин - Adrénaline Adrenalin Injetar Epinefrina Inietta Epinefrina @@ -49,7 +49,6 @@ Transfuse Plasma - Plasma Plasmatransfusion Transfundir plasma Transfúze plazmy @@ -59,7 +58,6 @@ Transfuse Saline - Solution Saline Salzlösungtransfusion Transfundir salino Transfúze fyziologický roztoku @@ -69,7 +67,6 @@ Apply Tourniquet - Garrot Aderpresse anwenden Aplicar torniquete Aplikovat škrtidlo @@ -186,7 +183,6 @@ Injecting Atropine ... - Injection d'Atropine ... Atropin injizieren ... Inyectando Atropina ... Aplikuji atropin ... @@ -208,7 +204,6 @@ Transfusing Saline ... - Transfusion de Solution Saline Sallösungtransfusion ... Transfusión de salino ... Probíha transfúze fyziologický roztoku ... @@ -218,7 +213,6 @@ Transfusing Plasma ... - Transfusion de Plasma Plasmatransfusion ... Transfusión de plasma ... Probíha transfúze plazmy ... @@ -294,7 +288,6 @@ Check Pulse - Vérification du Pouls Puls überprüfen Comprobar pulso Проверить пульс @@ -421,7 +414,6 @@ Minor - Blessé léger Gering Menor Незначительная @@ -906,7 +898,6 @@ Bodybag Sac à corps Мешок для трупов - Housse mortuaire Bolsa para cadáveres Worek na zwłoki Leichensack @@ -947,7 +938,6 @@ You checked %1 Vous diagnostiquez %1 Вы осмотрели раненого %1 - Vous examinez %1 Examinando a %1 Zbadałeś %1 Kontrolliert %1 @@ -957,6 +947,7 @@ Vous avez trouvé une tension de %2/%3 Артериальное давление %2/%3 La Presión Arterial es %2/%3 + Wyczuwasz ciśnienie krwi o wartości %2/%3 You find a low blood pressure @@ -1000,7 +991,6 @@ Pulse - Pulsations Пульс Pouls Pulso @@ -1017,7 +1007,6 @@ You checked %1 - Vous avez Diagnostiqué %1 Вы осмотрели раненого %1 Vous examinez %1 Examinando a %1 @@ -1076,14 +1065,12 @@ You check response of patient Vous vérifiez la réponse du patient Вы проверяете реакцию раненого - Vérification de l'état de conscience du patient Compruebas si el paciente reacciona Sprawdzasz przytomność pacjenta Du prüfst ob der Patient ansprechbar ist %1 is responsive - %1 est conscient %1 реагирует на раздражители %1 est conscient %1 ha reaccionado @@ -1092,7 +1079,6 @@ %1 is not responsive - %1 n'est pas conscient %1 не реагирует %1 est inconscient %1 no reacciona @@ -1101,7 +1087,6 @@ You checked %1 - Vous diagnostiqué %1 Вы осмотрели раненого %1 Vous avez examiné %1 Examinas a %1 @@ -1112,7 +1097,6 @@ Bandaged Bandé Повязка наложена - Pansement appliqué Vendado Zabandażowano @@ -1120,7 +1104,6 @@ You bandage %1 (%2) Vous bandez %1 (%2) Вы перевязали раненого %1 (%2) - Vous avez pansé %1 (%2) Aplicas vendaje a %1 en %2 Bandażujesz %1 (%2) @@ -1128,7 +1111,6 @@ %1 is bandaging you %1 vous bande %1 перевязывает вас - %1 vous applique un pansement %1 te está vendando %1 bandażuje Ciebie @@ -1287,50 +1269,62 @@ Heavily wounded Schwer verwundet: + Ciężko ranny Lightly wounded Leicht verwundet: + Lekko ranny Very lightly wounded Sehr leicht verwundet: + B. lekko ranny Head Kopf + Głowa Torso Torso + Tors Left Arm Linker Arm + Lewe ramię Right Arm Rechter Arm + Prawe ramię Left Leg Linkes Bein + Lewa noga Right Leg Rechtes Bein + Prawa noga Pain Effect Type Schmerzeffekt-Typ + Rodzaj efektu bólu Colour Flashing Farbblinken + Pulsujące kolory Chromatic Aberration Chromatische Aberration + Aberracja chromatyczna - + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 0f3c1368cb..12962ea1ac 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,4 +1,5 @@  + @@ -201,7 +202,7 @@ MicoDAGR Anzeigemodus Wechseln Conmutar modo de pantalla del MicroDAGR Сменить режим показа MicroDAGR - Przełącz tryb wyświetlania MicroDAGR + Przełącz GUI MicroDAGR Basculer le mode d'affichage MicroDAGR Přepnout zobrazení MircroDAGRu @@ -211,7 +212,7 @@ Mostrar MicroDAGR Показать MicroDAGR Ukázat MicroDAGR GPS - Pokaż MicroDAGR + Pokaż<br />MicroDAGR Afficher MicroDAGR
@@ -220,7 +221,7 @@ Configurar MicroDAGR Настроить MicroDAGR Konfigurovat MicroDAGR GPS - Konfiguruj MicroDAGR + Konfiguruj<br />MicroDAGR Configurer MicroDAGR @@ -229,8 +230,8 @@ Cerrar MicroDAGR Закрыть MicroDAGR Zavřít MicroDAGR GPS - Zamknij MicroDAGR + Zamknij<br />MicroDAGR Fermer MicroDAGR - + \ No newline at end of file diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index b7dc920fa2..56c5cfc2f1 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -42,7 +42,7 @@ _pfEHCode = switch (true) do { case (isClass (configFile >> "cfgPatches" >> "acre_api")): { { _oldSetting = ACE_player getVariable [QGVAR(isSpeaking), false]; - _newSetting = ([ACE_player] call ACRE_api_fnc_isBroadcasting) || {!(isNull findDisplay 55)}; + _newSetting = ([ACE_player] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting) || {!(isNull findDisplay 55)}; if (!(_oldSetting isEqualTo _newSetting)) then { ACE_player setVariable [QGVAR(isSpeaking), _newSetting, true]; }; diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index d4943b75a1..02bfa3ca57 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -128,11 +128,11 @@ Проверить температуру оружия
- Check weapon<br/>temperature - Verificar temperatura<br/>del arma - Sprawdź temperaturę<br/>broni - Zkontrolovat teplotu<br/>zbraně - Vérifier la<br/>température + Check weapon temperature + Verificar temperatura del arma + Sprawdź temperaturę broni + Zkontrolovat teplotu zbraně + Vérifier la température Checking temperature ... diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt index c50501c770..46aa4f3446 100644 --- a/extensions/CMakeLists.txt +++ b/extensions/CMakeLists.txt @@ -27,6 +27,7 @@ include_directories(AFTER "common") # Add extensions to build here add_subdirectory(fcs) +add_subdirectory(breakline) add_subdirectory(advanced_ballistics) 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..74a32cc66d --- /dev/null +++ b/extensions/breakLine/ace_breakLine.cpp @@ -0,0 +1,79 @@ +/* + * 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 14 + +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(const std::vector &words) { + + std::stringstream sstream; + int numChar = 0; + int i = 0; + while (i < words.size()) { + if (numChar == 0) { + sstream << words[i]; + numChar += words[i].size(); + i++; + } else { + if (numChar + 1 + words[i].size() > MAXCHARACTERS) { + sstream << "
"; + numChar = 0; + } else { + sstream << " " << words[i]; + numChar += 1 + words[i].size(); + i++; + } + } + } + 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) { + //strncpy(output, function, outputSize); + + if (!strcmp(function, "version")) { + strncpy(output, version, outputSize); + } else { + strcpy(output, addLineBreaks(splitString(function)).c_str()); + output[outputSize - 1] = '\0'; + } +} + +#pragma warning( pop ) diff --git a/extensions/fcs/ace_fcs.cpp b/extensions/fcs/ace_fcs.cpp index a1a3b64ba7..9ab4939058 100644 --- a/extensions/fcs/ace_fcs.cpp +++ b/extensions/fcs/ace_fcs.cpp @@ -12,7 +12,7 @@ */ #include "ace_common.h" - + #define _USE_MATH_DEFINES #include @@ -113,9 +113,11 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { double distance = std::stod(argStrings[3]); double result = getSolution(initSpeed, airFriction, angleTarget, distance); - std::string resultString = std::to_string(result); - strcpy(output, resultString.c_str()); + std::stringstream sstream; + sstream << result; + + strcpy(output, sstream.str().c_str()); output[outputSize - 1] = '\0'; } }