Comments (10)
遅くなりました。確認したところ正常にシナリオが開き、またコントローラー使用も想定通り反映されました。
ご対応感謝いたします。
from bve-plugin-multiplexer.
問題が起きているのは外部コントローラー用のプラグインでしょうか?
bve-plugin-multiplexer は保安装置用のプラグインであり、コントローラー用プラグインに関係する処理は特に行っていないので、bve-plugin-multiplexer が直接問題を引き起こしているとはあまり考えにくいと思いました。
スレッド絡みの問題だとすると bve-plugin-multiplexer でスレッドローカル変数を使っているのが関係している可能性がなくはないですね。
スレッドローカル変数を使わないようにした bve-plugin-multiplexer をこの後 作ってみるので試してもらえますか?
from bve-plugin-multiplexer.
@saha209 こちらでどうでしょうか
pluginmultiplexer-ca3cac6.zip
from bve-plugin-multiplexer.
既存データの置き換えてみたところ、32/64どちらもそもそも起動せず(半分ほど読み込んだ後フリーズ)でした。
from bve-plugin-multiplexer.
@saha209
だとすると、やっぱりそちらのプラグインでのスレッドの利用方法が何かまずいのだと思います。
TsmcInterface のサンプルコードを見てみましたが、onKeyDown や onLeverMoved は Tick の中から呼ぶ想定に見えます。
onKeyDown や onLeverMoved を別スレッドから呼んでいるとしたら bve-plugin-multiplexer の動作以前に BVE 本体が正常に動作しているかどうかすら怪しい可能性があります。
from bve-plugin-multiplexer.
いえ、そもそも頂いた版ではコントローラー外した状態であってもシナリオが起動しません
from bve-plugin-multiplexer.
条件を色々試したところ、
【前提】
BVE5.8.7554.391及び6.0.7554.619 どちらで試しても結果は同等です。
ntfiv様817系ver5.22
https://kty-bvememo.hatenablog.jp/
ntfiv\train\JRK_CT_V52\scenario\Vehicle_tiku_817-1000_2R_JQP.txt
このデータのpluginmultiplexer**.txtには以下のようにプラグインが指定されています
....\dll\Plugins\ntfiv\shock_lite_x86.dll
....\dll\Plugins\ntfiv\door_ptpt_x86.dll
....\dll\Plugins\ntfiv\EmrBrake_x86.dll
....\dll\Plugins\SoundKey\SoundKey.dll
Onemanhoso.dll
....\dll\Plugins\CT\DK\x86\ATS-DK.dll
....\dll\Plugins\CT\Oneman\x86\JRQ_CT.dll
またコントローラーはZUIKI製のものを使用しています
【比較実験】
1.そのままシナリオを起動
→シナリオ読み込み段階でフリーズ
2.ひとつひとつ指定のプラグインを消して都度起動、またはそれぞれひとつのみプラグインの指定して都度起動
→いずれもシナリオ読み込み段階でフリーズ
3.pluginmultiplexer**.txt内に指定のプラグインをすべて消して起動
→シナリオ読み込み成功し、コントローラーも反映、動作
4.上記1-3を コントローラー及び入力PIのチェック 外して起動
→上記結果と同様、1と2はフリーズし3のみ正常起動
このことからいただいた版ではコントローラーの動作は正常化し、別プラグイン呼び出し部分で新たな問題が発生していると考えられます
from bve-plugin-multiplexer.
2.ひとつひとつ指定のプラグインを消して都度起動、またはそれぞれひとつのみプラグインの指定して都度起動
→いずれもシナリオ読み込み段階でフリーズ
3.pluginmultiplexer**.txt内に指定のプラグインをすべて消して起動
→シナリオ読み込み成功し、コントローラーも反映、動作
pluginmultiplexer*.txt に何もプラグインを指定しなければ正常動作するということであれば、pluginmultiplexer*.txt に指定されているプラグインの動作が何らかの不具合の原因となっているのではないでしょうか。
bve-plugin-multiplexer を使わずに直接プラグインを読み込ませた場合の動作はどうですか
from bve-plugin-multiplexer.
直接プラグインをそれぞれ動かしても動作します。またrock_on氏のDetailManager.dllで同様の記述をしたものを使用しても起動します。bve-plugin-multiplexerを通じて指定した場面でのみ動作しません。
from bve-plugin-multiplexer.
@saha209
こちらでどうでしょうか。スレッド起動時に不要な初期化処理をしていたのを消しました。
pluginmultiplexer-a1cd3ac1.zip
from bve-plugin-multiplexer.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bve-plugin-multiplexer.