結城の日記

インタプリタ経過報告(´Д`)<意見ほしいです

アバター
結城
記事: 52
登録日時: 15年前
連絡を取る:

インタプリタ経過報告(´Д`)<意見ほしいです

投稿記事 by 結城 » 13年前

あれから結構立ちましたけど
だいぶ実装が進みました~
あ、ちなみに用途はギャルゲ用スクリプトインタプリタです
吉里吉里っぽいのです

現在、スクリプトを読むことは出来ませんが(ぇ
自前デバッグコンソールからコマンドをぶち込むことで動作確認とれるので何とかなってます。

結果的に使用することとなったのは以下のSDK、ライブラリです
  • DirectX 9
  • DirectShow (Windows SDK)
  • XAudio2
  • Ogg Vorbis
自分としてはXAudio2に手を出したのは初めてでしたが
意外と柔軟性が高く、エフェクトが簡単にかけられることが魅力的でした。
Panに関しては2チャンネル時のみSetChannelsVolumeで何とかなりますが……
他ん時は知りません。
ループはVorbisFileに丸投げしました。(∀`*ゞ)テヘペロ

んで、以下のリストが実装済みの機能(括弧内は実装済みオプション)
  • image[tab=30](load move copy swap delete rotate(x y z) zoom(x y z) alpha)
  • sound[tab=33](load play stop pause delete reverb changereverb(いくつかパターンが存在する) equalize volume pan)
  • movie[tab=28](load play stop waitend)(ムービー中にスクリーンモード切替可能)
  • text[tab=44](edge edgecolor edgesize color alpha apearspeed alphachangeflag(徐々に出現するかどうか) ambiguity(徐々に出現する際の前の文字がどれだけ見えてから次の文字が出るかの閾値))
  • その他(マルチスレッド、ウィンドウサイズ可変(可能なサイズは限られている)、フル⇔ウィンドウ切り替え、TLSFメモリ管理機能、ログ排出、デバッグコンソール)
これらを使用して実装可能なスクリプトは
  • button
  • messageframe
  • image
  • voice
  • se
  • bgm
  • text
です。ほかにできそうなことあったら教えてほしいです。
ちなみにスクリプト言語の仕様はKAG3の独自拡張版とするため、KAG3に入っている要素は基本入れていきたいと思います。
TJS2にあたる部分はLuaで補います。iscript endiscriptは廃止してilua endiluaを取り込みます。

最後に実装予定の機能リストです
  • autosave[tab=13](boost::serialization使用)
  • save[tab=44](boost::serialization使用)
  • load[tab=46](boost::serialization使用)
  • ファイル関係[tab=1](暗号化(独自形式)、ハッシュ作成(SHA-256)、アーカイブ)
  • クリッカブルマップのための判定機構
  • 分割済みイメージ(png,jpg)を使用したアニメーション
  • グラフィカルボタン
  • ハイパーリンク
  • マウスカーソルの変更
  • 実行ファイルのアイコンの変更(外部より)
  • 非アクティブ時動作指定
こんなところでしょうか?
こんなんやらんの?とかありましたら是非教えていただけると嬉しいです!

……リストに書いておいて前々から疑問に思ってたんだけど
吉里吉里のツールの一つにあるアイコン変更ツールってどうやってんだろう……(´・ω・`)

そういえばboostて遅いって聞いたことがあるんやけど、ほんまなん?使ってないけど
使う予定やけど
最後に編集したユーザー 結城 on 2012年8月25日(土) 20:19 [ 編集 1 回目 ]

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前

RE: インタプリタ経過報告(´Д`)<意見ほしいです

投稿記事 by softya(ソフト屋) » 13年前

KAGの仕様を知らないので答えられなかったりしますが、拡張関数だけの仕様なんでしょうか?
あとエフェクトとかの関数実装はどうなるんでしょうか?

今時のADVだとポリゴン要素は?

アバター
SUE
記事: 41
登録日時: 14年前

RE: インタプリタ経過報告(´Д`)<意見ほしいです

投稿記事 by SUE » 13年前

boostについてですが。

いまどきのPCで実行する分にはまったく問題にならないと思います。
ただしテンプレートをバリバリ使うので、機能によっては「コンパイルが」猛烈に遅くなったりします。