Non so come sia il meteo oggi da voi.....
vi garantisco che qui a Torino oggi è una gran bella giornata
e io sono uscito a fare qualche foto !!
Questo aggiornamento massiccio dei sorgenti della catenaria vuole anche dire che non siamo in presenza di un escamotage provvisorio, ma tutta la catenaria da ora in poi adotterà le nuove specifiche della nuova versione di RW, almeno sino al prossimo aggiornamento, sperando che in futuro non facciano più danni!!
In giornata conto di aggiornare il pack, però ora vado a dormire, saluti.
OT
Per i più curiosi e smanettoni vi allego in calce il codice che ho scritto per sistemare tutti i pali lavorando su tutti i file sorgenti.
Sul codice si sarebbe potuto anche lavorare di fino e ottimizzare alcuni passaggi, ma vista la fretta l'importante è il risultato.
------ C Sharp code (VS2013) ------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Media;
namespace Convert
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
String NomeFile = "";
NomeFile = "Ri_2014_it_co_fd_pd_l_2b_35_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_l_2b_35_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_l_2b_35_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_l_2b_35_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_l_2b_42_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_l_2b_42_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_l_2b_42_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_l_2b_42_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_m_2b_35_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_m_2b_35_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_m_2b_35_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_m_2b_35_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_m_2b_42_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_m_2b_42_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_m_2b_42_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_pd_m_2b_42_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_l_2b_35_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_l_2b_35_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_l_2b_35_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_l_2b_35_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_l_2b_42_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_l_2b_42_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_l_2b_42_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_l_2b_42_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_m_2b_35_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_m_2b_35_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_m_2b_35_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_m_2b_35_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_m_2b_42_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_m_2b_42_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_m_2b_42_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_pd_m_2b_42_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_1+1b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_1b_00_ct.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_1b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_2+1b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_2+2b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_2b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_3+1b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_3+2b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_3+3b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_3b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_l_nn_sup_tral.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_m_1b_00_ct.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_ps_m_1b_00_nn.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_ps_l_1b_00_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_ps_l_1b_00_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_ps_l_1b_00_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_ps_l_1b_00_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_ps_m_1b_00_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_ps_m_1b_00_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_ps_m_1b_00_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fs_ps_m_1b_00_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_ps_l_1b_00_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_ps_l_1b_00_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_ps_l_1b_00_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_ps_l_1b_00_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_ps_m_1b_00_ct_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_ps_m_1b_00_ct_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_ps_m_1b_00_nn_me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_it_co_fd_ps_m_1b_00_nn_mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_It_Co_Fd_Mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_It_Co_Fd_Me.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_It_Co_Fs_Mi.xml"; Elabora(NomeFile);
NomeFile = "Ri_2014_It_Co_Fs_Me.xml"; Elabora(NomeFile);
MessageBox.Show("Conversione completata!", "Informazione", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
}
private void Elabora(String FileXml)
{
String Path_Rw = @"C:\Program Files (x86)\Steam\steamapps\common\Railworks\Source\Rotabili Italiani\RailNetwork\2014 IT Palificazione\";
String File_Source = Path_Rw + @"Xml_Source_1\" + FileXml;
String File_Dest = Path_Rw + FileXml;
String Linea = "";
String Linea1 = "";
String Linea2 = "";
String[] Buff;
Int32 ProgBuff = 0;
Double Valore = 0;
Double Delta = 1.8;
Buff = new String[14];
StreamReader XmlIn = new StreamReader(@File_Source);
if (File.Exists(@File_Dest) == true) File.Delete(@File_Dest);
StreamWriter XmlOut = new StreamWriter(@File_Dest);
while ((Linea = XmlIn.ReadLine()) != null)
{
if (Linea.IndexOf("<cHcRMatrix4x4>") > 0)
{
ProgBuff = 0;
XmlOut.WriteLine(Linea);
while (ProgBuff < 68)
{
XmlOut.WriteLine(XmlIn.ReadLine());
ProgBuff = ProgBuff + 1;
}
Linea = XmlIn.ReadLine();
Linea1 = Linea.Substring(0, Linea.IndexOf("<Value>") + 7);
Linea2 = Linea.Substring(Linea.IndexOf("<Value>") + 7);
Linea2 = Linea2.Substring(0, Linea2.IndexOf("</Value>"));
Linea2 = Linea2.Replace(".",",");
Valore = System.Convert.ToDouble(Linea2);
Valore = Valore - Delta;
Linea2 = Valore.ToString();
Linea2 = Linea2.Replace(",", ".");
Linea = Linea1 + Linea2 + "</Value>";
XmlOut.WriteLine(Linea);
}
else
{
if (Linea.IndexOf("ContactWireThroughPoint") > 0)
{
ProgBuff = 0;
while (ProgBuff < 14)
{
Buff[ProgBuff] = XmlIn.ReadLine();
ProgBuff = ProgBuff + 1;
}
if (Buff[13].ToUpper().IndexOf("CAVO_DI_CONTATTO") > 0)
{
Linea = Linea.Replace("ContactWireThroughPoint", "ContactWireStopPoint");
}
XmlOut.WriteLine(Linea);
ProgBuff = 0;
while (ProgBuff < 14)
{
XmlOut.WriteLine(Buff[ProgBuff]);
ProgBuff = ProgBuff + 1;
}
}
else
{
XmlOut.WriteLine(Linea);
}
}
}
XmlIn.Close();
XmlIn.Dispose();
XmlOut.Close();
XmlOut.Dispose();
}
}
}