Simutransのセーブデータ (非圧縮xml のみ) を読み込み->書き出し ~ 「年代設定」をOFF
[趣旨]
Simutransのセーブデータ弄りであるとか、もちろん信号処理のなにやらづくりに向けて、デスクトップからファイルをドラッグする処理 〜 を準備します。
今回は、Simutransのセーブデータ (非圧縮xml のみ) をパースしてエディットして、また書き出しです。
ちょっとしたエディットとして、「年代設定」をOFFにします。
↓ Simutransのセーブデータ (非圧縮xml のみ) をドラッグアンドドロップすると、「ダウンロード」と書かれたリンクが追加されます。"output.sve"としてダウンロードできるはず。開発環境は、macのchrome。
「年代設定」をOFFにする。これが一連のxml弄りonはてなブログの発端です。
ゆるぼ 年代設定オンで始めたマップを年代設定オフにする方法 #Simutrans
— Hyper@ゆかりさんと実況プレイ (@HyperSimu) August 21, 2018
ただし、非圧縮xmlでだけできるようなツールでは微妙。
アンケートを募ったところ、全然使われていないっぽい。
Simutrans やってる方に質問です
— shingoushori (@shingoushori) August 21, 2018
セーブデータの圧縮形式はなに使ってます?
投票の数が足らないので、私がツール作りやすそうなやつ優先でまとめました
サーブデータ弄り本編には関係ないxmlをいじる準備は、まだまだ続きます。
なお、苦労。
xml の "><" の間にちゃんと改行がないと、 Simutrans 読んでくれない!!
というわけで、以下のような置き換えを行なっています。
var xmlString = serializer.serializeToString(dom);
// !!! this is the essential, 'cause Simutrans's xml-parser is pretty neat !!!
xmlString = xmlString.replace("><", ">\n<");
[参考文献]
クライアントサイドJavaScriptでXML文書のDOMをパースする
HTML非表示・使用不可メモ(Hishidama's disabled/visibility/display Memo)