ノベルゲームツールを制作中の人達が集うスレです。
新たなノベルツールを作ってやるというチャレンジャー歓迎。
前スレ
▼ノベルゲームツールを作っちゃうぞ!Ver3.0
http://pc10.2ch.net/test/read.cgi/gamedev/1059655064/
前々スレ
▼ノベルゲームツールを作っちゃうぞ!Ver2.0
http://pc2.2ch.net/test/read.cgi/gamedev/1040118471/
前々々スレ
▼ノベルゲームツール作っちゃうぞ!
http://pc2.2ch.net/test/read.cgi/gamedev/1013170036/
▼ノベルゲームツールを作っちゃうぞ!Ver4.0
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2007/01/21(日) 00:29:07ID:VX21mS5F320名前は開発中のものです。
2008/09/14(日) 12:59:53ID:Fsu4ojMp 変更可能なら固定のときの統一したのも作れるからいいんでない?とプログラミングの知識のないやつが苦労も知らず
321167
2008/09/15(月) 14:16:37ID:RanEnJ2T アンケートにお答え感謝です。
一応、B、B、C、Bにしておこうかと。
>>319
ですよね、ちなみに調べたところ
NScripterはB、B、B、不明(恐らくA)、
吉里吉里は不明(恐らくAか文字に順ずる)、A、不明(恐らくAかB)、不明(恐らくA)です。
>>320
苦労は然程ないのですよ、複雑で面倒ではありませんが難しくはありませんので。
ただ、スクリプトの自由度を高めれば高めるほどスクリプトが複雑怪奇になるのが問題です。
ルビのサイズを例にしましょう
まず、ルビの存在を認めるのなら文章に行間を設けなければなりません。
そしてルビのサイズを固定でなく可変にするなら、当然行間も固定でなく可変でなければなりません。
ところが、行間を可変にすると見た目が著しく悪くなることがあります。ルビのサイズをとある一行だけ72ptにした場合を考えてみてください。
また、ルビは通常文字に被さるべきものではありませんが文字に被せたいと思う人が居るかもしれません。
以上のことを考えると、ルビのサイズを可変にするなら1.各行の行間を個別に設定できるようにする、2.デフォルトの行間を設定できるようにする、
3.ルビのサイズ>行間なら行間を拡張するかのフラグの三つが必要になり、ユーザーはデフォルトの行間を設定、ルビのサイズを設定、
それに合わせての行間を設定、行間を自動で拡張するかのフラグの設定の四つを行う必要が生じます。
この方法は自由度が高い反面、設定しなければならないこと、覚えなければならない仕様などが増大します。
個人的に、こういった仕様は悪仕様だと思うのです。自由度を制限する反面、扱いやすいものを提供すべきかなと。
自由度の限りなく高いノベルゲームツールを求めるのでしたら、マイクロソフトのサイトに世界中でデバッグされてバグが限りなく少ないであろう
ものがあるわけですし(VS2008ですね)
一応、B、B、C、Bにしておこうかと。
>>319
ですよね、ちなみに調べたところ
NScripterはB、B、B、不明(恐らくA)、
吉里吉里は不明(恐らくAか文字に順ずる)、A、不明(恐らくAかB)、不明(恐らくA)です。
>>320
苦労は然程ないのですよ、複雑で面倒ではありませんが難しくはありませんので。
ただ、スクリプトの自由度を高めれば高めるほどスクリプトが複雑怪奇になるのが問題です。
ルビのサイズを例にしましょう
まず、ルビの存在を認めるのなら文章に行間を設けなければなりません。
そしてルビのサイズを固定でなく可変にするなら、当然行間も固定でなく可変でなければなりません。
ところが、行間を可変にすると見た目が著しく悪くなることがあります。ルビのサイズをとある一行だけ72ptにした場合を考えてみてください。
また、ルビは通常文字に被さるべきものではありませんが文字に被せたいと思う人が居るかもしれません。
以上のことを考えると、ルビのサイズを可変にするなら1.各行の行間を個別に設定できるようにする、2.デフォルトの行間を設定できるようにする、
3.ルビのサイズ>行間なら行間を拡張するかのフラグの三つが必要になり、ユーザーはデフォルトの行間を設定、ルビのサイズを設定、
それに合わせての行間を設定、行間を自動で拡張するかのフラグの設定の四つを行う必要が生じます。
この方法は自由度が高い反面、設定しなければならないこと、覚えなければならない仕様などが増大します。
個人的に、こういった仕様は悪仕様だと思うのです。自由度を制限する反面、扱いやすいものを提供すべきかなと。
自由度の限りなく高いノベルゲームツールを求めるのでしたら、マイクロソフトのサイトに世界中でデバッグされてバグが限りなく少ないであろう
ものがあるわけですし(VS2008ですね)
322167
2008/09/15(月) 14:21:58ID:RanEnJ2T 個人的にはNScripter>吉里吉里です、扱い易いのが非プログラマには良いでしょうし。
今のところ、ライブラリ側では自由度を高くしておきスクリプト側で制限をかけるというのが一番いいかなと思っております。
(吉里吉里のKAGとかはそんな感じっぽいですね)
なので、今後はそういった方向で開発していこうかと思っております。
今のところ、ライブラリ側では自由度を高くしておきスクリプト側で制限をかけるというのが一番いいかなと思っております。
(吉里吉里のKAGとかはそんな感じっぽいですね)
なので、今後はそういった方向で開発していこうかと思っております。
323167
2008/09/25(木) 20:57:34ID:9u2Ww/ne DAT落ち防止を兼ねて報告を。
今現在、AbyssLibのコーディングを六割方終わらせました。
今現在までに行ったことは、
・全ソースコードの見直し:いくつかバグを発見し修正(追加要素でエンバグする可能性大ですが)
・文字列の拡張:テキスト、発言者名、文字列スプライトなどでタグを用いて文中でフォントなどの変更が可能に。
・ルビ:文字列の拡張に伴い、ルビの使用が可能に。ルビでもタグを用いて文中でフォントなどの変更が可能です。
・音声を実装:SE、BGMに加えて音声関連のメンバ関数をサウンド用デバイスクラスに実装しました。
今後は、
・DefOut:現在、定数は#defineで定義していますがそれを外部ファイルから変更可能にします。
・シーンのクラス化:既読履歴、環境設定などのシーンをクラス化してNovelPlayerクラスから分離させます。
・オブジェクトファイルの追加ロード:オブジェクトファイルを追加で読み込むことが可能になるようにします。
といった感じです。AbyssLibの変更に付随して他も変更しなければなりませんし…恐らく、来月末ぐらいまではかかるかと思われます。
今現在、AbyssLibのコーディングを六割方終わらせました。
今現在までに行ったことは、
・全ソースコードの見直し:いくつかバグを発見し修正(追加要素でエンバグする可能性大ですが)
・文字列の拡張:テキスト、発言者名、文字列スプライトなどでタグを用いて文中でフォントなどの変更が可能に。
・ルビ:文字列の拡張に伴い、ルビの使用が可能に。ルビでもタグを用いて文中でフォントなどの変更が可能です。
・音声を実装:SE、BGMに加えて音声関連のメンバ関数をサウンド用デバイスクラスに実装しました。
今後は、
・DefOut:現在、定数は#defineで定義していますがそれを外部ファイルから変更可能にします。
・シーンのクラス化:既読履歴、環境設定などのシーンをクラス化してNovelPlayerクラスから分離させます。
・オブジェクトファイルの追加ロード:オブジェクトファイルを追加で読み込むことが可能になるようにします。
といった感じです。AbyssLibの変更に付随して他も変更しなければなりませんし…恐らく、来月末ぐらいまではかかるかと思われます。
324名前は開発中のものです。
2008/09/30(火) 09:40:04ID:eJlk0agD 文字のフォントをいじれるのはいいですね
太文字とか使いたいし
太文字とか使いたいし
325名前は開発中のものです。
2008/10/21(火) 22:07:40ID:dVrZK8u0 >>321
そもそも行間のサイズを行の文字列から計算するのはどうなんでしょうか。
そもそも行間のサイズを行の文字列から計算するのはどうなんでしょうか。
326325
2008/10/21(火) 22:10:54ID:dVrZK8u0 ルビと文字をかぶせたい場合に備えて、
ルビと文字の間隔は指定できた方がいいかもしれません。
このあたりはTexとか吉里吉里を参考にするといいと思います。
ルビと文字の間隔は指定できた方がいいかもしれません。
このあたりはTexとか吉里吉里を参考にするといいと思います。
327167
2008/10/22(水) 22:49:32ID:quMdw/pV 月末にAbyssLibだけでも公開できればと思うのですが…間に合うのかなぁ?(;´Д`)
>>325
行間のサイズを行の文字列から計算すると言いますと?
ちなみに今現在の使用は「ライブラリ側では行間を一切考慮しない」です。
行間に関する処理は全て非ライブラリ側(DLL)側に委任し実装させます。
現在のところ、ルビと文字の間隔は指定可能です…裏技めいた方法で、ですが。
その辺の仕様はDLLで吸収し、何の変哲もない間隔指定をスクリプトに追加する予定で。
>>325
行間のサイズを行の文字列から計算すると言いますと?
ちなみに今現在の使用は「ライブラリ側では行間を一切考慮しない」です。
行間に関する処理は全て非ライブラリ側(DLL)側に委任し実装させます。
現在のところ、ルビと文字の間隔は指定可能です…裏技めいた方法で、ですが。
その辺の仕様はDLLで吸収し、何の変哲もない間隔指定をスクリプトに追加する予定で。
328名前は開発中のものです。
2008/10/23(木) 13:37:25ID:j1MYmFLI >>327
> 行間のサイズを行の文字列から計算する
表示する段階でおそらく一行分の文字情報(文字の幅や高さなど)はすべてそろってると思うので、
そこから一行の高さを計算するということです。
つまり、一番縦に長い文字が行の高さを決定します。
> 行間のサイズを行の文字列から計算する
表示する段階でおそらく一行分の文字情報(文字の幅や高さなど)はすべてそろってると思うので、
そこから一行の高さを計算するということです。
つまり、一番縦に長い文字が行の高さを決定します。
329名前は開発中のものです。
2008/10/23(木) 23:11:20ID:FH2BlMc9 リーディングも計算してあげて下さい。
330名前は開発中のものです。
2008/10/24(金) 08:56:00ID:CgrY7nMS というか、yaneSDK使ってるのなら、
CTextFastPlane オブジェクトの UpdateTextAA() 後に
行の高さと幅が決まるので、
GetSize でその値をそのまま持ってくればいいのかもしれません。
CTextFastPlane オブジェクトの UpdateTextAA() 後に
行の高さと幅が決まるので、
GetSize でその値をそのまま持ってくればいいのかもしれません。
331167
2008/10/24(金) 22:40:22ID:kr1qcbwb332167
2008/10/24(金) 22:56:09ID:kr1qcbwb なんだか曖昧な話をしてしまっているような気がしますので、今現在における文字列の実装を以下で説明致します。
拡張された文字列に関わるクラスは、以下の通りです。
RubyTextToken
ルビの文字情報(字単位) 格納する情報は、
テキスト、サイズ、カラー、フォント、透過度、ボールドか?、イタリックか?、横幅、縦幅
RubyTextTokenLine
ルビの文字情報(行単位) vector<RubyTextToken>に縦幅と横幅の取得関数を付加したようなもの
TextToken
テキストの文字情報(字単位) 格納する情報は、
テキスト、サイズ、カラー、フォント、透過度、ボールドか?、イタリックか?、横幅、縦幅、ルビ
TextTokenLine
テキストの文字情報(行単位) vector<TextToken>に縦幅と横幅の取得関数を付加したようなもの
TextTokenSection
テキストの文字情報(文単位) vector<TextTokenLine>に縦幅と横幅の取得関数を付加したようなもの
RubyTextTokenSectionはありません、実装しようかとも考えたのですが深く考えると脳味噌が死にそうなので止めましたw
(実装した場合、ルビを改行したりといった変態的なことが可能にはなるのですが)
拡張された文字列に関わるクラスは、以下の通りです。
RubyTextToken
ルビの文字情報(字単位) 格納する情報は、
テキスト、サイズ、カラー、フォント、透過度、ボールドか?、イタリックか?、横幅、縦幅
RubyTextTokenLine
ルビの文字情報(行単位) vector<RubyTextToken>に縦幅と横幅の取得関数を付加したようなもの
TextToken
テキストの文字情報(字単位) 格納する情報は、
テキスト、サイズ、カラー、フォント、透過度、ボールドか?、イタリックか?、横幅、縦幅、ルビ
TextTokenLine
テキストの文字情報(行単位) vector<TextToken>に縦幅と横幅の取得関数を付加したようなもの
TextTokenSection
テキストの文字情報(文単位) vector<TextTokenLine>に縦幅と横幅の取得関数を付加したようなもの
RubyTextTokenSectionはありません、実装しようかとも考えたのですが深く考えると脳味噌が死にそうなので止めましたw
(実装した場合、ルビを改行したりといった変態的なことが可能にはなるのですが)
333名前は開発中のものです。
2008/10/24(金) 23:03:27ID:CgrY7nMS >>331
UpdateTextAA云いはyaneSDKの場合の説明ですが、
大抵のシステムでは文字の幅と高さを得る何らかの方法があるので
yaneSDK必須ということにはなりません。
あと、ルビについては、確かに大きなサイズを設定するとレイアウトは狂ってしまうかもしれませんが
普通はそういうことはしませんし、そういうことをして表示が少し変になっても多分誰も気にしないと思うのです。
単純に、
[その行で一番長い文字の高さ] + [その行で一番長いルビ文字の高さ] + [ルビがあるならルビと文字の間隔] + [何らかの固定マージン]
で行の高さを決めるのはどうなんでしょうか。
UpdateTextAA云いはyaneSDKの場合の説明ですが、
大抵のシステムでは文字の幅と高さを得る何らかの方法があるので
yaneSDK必須ということにはなりません。
あと、ルビについては、確かに大きなサイズを設定するとレイアウトは狂ってしまうかもしれませんが
普通はそういうことはしませんし、そういうことをして表示が少し変になっても多分誰も気にしないと思うのです。
単純に、
[その行で一番長い文字の高さ] + [その行で一番長いルビ文字の高さ] + [ルビがあるならルビと文字の間隔] + [何らかの固定マージン]
で行の高さを決めるのはどうなんでしょうか。
334167
2008/10/25(土) 15:13:29ID:CxRTKNsw 拡張された文字列を描画する処理は、以下の通りです。
1.以下のような文字列があったとします(「ばら」および「すいしょう」はルビです)
ば ら
薔 薇
すい しょう
水 晶
2.以下のような変数を使用します。
x, y:文字列全体の描画位置(左上隅)
dx, dy:文字の描画位置(左下隅)
drx, dry:ルビの描画位置(左下隅)
3.変数の初期化を行います:dx = 0, dy = 0, drx = 0, dry = 0
4.dx = 0, dy += 「薔薇」の縦幅(「ばら」の縦幅を含む)
5.「ば
薔」を描画します。
5-1.(x+dx+(「薔」の横幅>「ば」の横幅 ? 0 : (「ば」の横幅-「薔」の横幅)/2), y+dy-「薔」の縦幅)に「薔」を描画します。
5-2.drx = dx + (「ば」の横幅>「薔」の横幅 ? 0 : (「薔」の横幅-「ば」の横幅)/2)
5-3.dry = dy - 「薔」の縦幅
5-4.「ば」を描画します。
5-4-1.(x+drx, y+dry-「ば」の縦幅)に「ば」を描画します。
5-4-2.drx += 「ば」の横幅
5-5.dx += 「薔」の横幅>「ば」の横幅 ? 「薔」の横幅 : 「ば」の横幅
6.「ら
薇」を描画します、処理は5.と同じです(「ば」→「ら」、「薔」→「薇」)
1.以下のような文字列があったとします(「ばら」および「すいしょう」はルビです)
ば ら
薔 薇
すい しょう
水 晶
2.以下のような変数を使用します。
x, y:文字列全体の描画位置(左上隅)
dx, dy:文字の描画位置(左下隅)
drx, dry:ルビの描画位置(左下隅)
3.変数の初期化を行います:dx = 0, dy = 0, drx = 0, dry = 0
4.dx = 0, dy += 「薔薇」の縦幅(「ばら」の縦幅を含む)
5.「ば
薔」を描画します。
5-1.(x+dx+(「薔」の横幅>「ば」の横幅 ? 0 : (「ば」の横幅-「薔」の横幅)/2), y+dy-「薔」の縦幅)に「薔」を描画します。
5-2.drx = dx + (「ば」の横幅>「薔」の横幅 ? 0 : (「薔」の横幅-「ば」の横幅)/2)
5-3.dry = dy - 「薔」の縦幅
5-4.「ば」を描画します。
5-4-1.(x+drx, y+dry-「ば」の縦幅)に「ば」を描画します。
5-4-2.drx += 「ば」の横幅
5-5.dx += 「薔」の横幅>「ば」の横幅 ? 「薔」の横幅 : 「ば」の横幅
6.「ら
薇」を描画します、処理は5.と同じです(「ば」→「ら」、「薔」→「薇」)
335167
2008/10/25(土) 15:15:19ID:CxRTKNsw7.dx = 0, dy += 「水晶」の縦幅(「すいしょう」の縦幅を含む)
8.「すい
水 」を描画します。
8-1.「水」を描画します、処理は5-1.と同じです(「ば」→「すい」、「薔」→「水」)
8-2.drx = dx + (「すい」の横幅>「水」の横幅 ? 0 : (「水」の横幅-「すい」の横幅)/2)
8-3.dry = dy - 「水」の縦幅
8-4.「す」を描画します。
8-4-1.(x+drx, y+dry-「す」の縦幅)に「す」を描画します。
8-4-2.drx += 「す」の横幅
8-5.「い」を描画します、処理は8-4.と同じです(「す」→「い」)
8-6.dx += 「水」の横幅>「すい」の横幅 ? 「水」の横幅 : 「すい」の横幅
9.「しょう
晶 」を描画します。
9-1.「晶」を描画します、処理は5-1.と同じです(「ば」→「しょう」、「薔」→「晶」)
9-2.drx = dx + (「しょう」の横幅>「晶」の横幅 ? 0 : (「晶」の横幅-「しょう」の横幅)/2)
9-3.dry = dy - 「晶」の縦幅
9-4.「し」を描画します、処理は8-4.と同じです(「す」→「し」)
9-5.「ょ」を描画します、処理は8-4.と同じです(「す」→「ょ」)
9-6.「う」を描画します、処理は8-4.と同じです(「す」→「う」)
8-7.dx += 「晶」の横幅>「しょう」の横幅 ? 「晶」の横幅 : 「しょう」の横幅
こうすることで一文字単位でのサイズやカラーやフォントの変更が可能となり、文字の下端は確実に揃います。
336167
2008/10/25(土) 15:21:08ID:CxRTKNsw この実装だと字間・行間を調整する項目がありませんが、
縦幅と横幅を持った空のテキストトークンを挿入することで調整は可能です。
(実装上、下にしか間をもうけられないので最上行のルビの上に間はもうけられませんが)
>>333
WindowsAPIにありますね、AbyssLib内部ではそれで縦幅と横幅を得ています。
ルビに関しては考えすぎかなとは思います、ただ考えておかないと予想もつかない使い方をする方も世の中には居られるでしょうし…。
行の高さは、今現在は[その行で一番長い[文字の高さ+ルビの高さ]]で実装しています。間隔や固定マージンは上記のように実装する形を予定しております。
縦幅と横幅を持った空のテキストトークンを挿入することで調整は可能です。
(実装上、下にしか間をもうけられないので最上行のルビの上に間はもうけられませんが)
>>333
WindowsAPIにありますね、AbyssLib内部ではそれで縦幅と横幅を得ています。
ルビに関しては考えすぎかなとは思います、ただ考えておかないと予想もつかない使い方をする方も世の中には居られるでしょうし…。
行の高さは、今現在は[その行で一番長い[文字の高さ+ルビの高さ]]で実装しています。間隔や固定マージンは上記のように実装する形を予定しております。
337名前は開発中のものです。
2008/10/25(土) 23:05:50ID:eaoIqs7r >>336
ああ、なるほど。結局、1文字とルビをセットにして、
・X座標はその文字とルビで横幅の短い方が長い方の中心にくるように
・ルビのY座標はその文字の真上になるように
各文字を描画していくということですね。
たしか、吉里吉里も同じようなことをしていたと思います。
ああ、なるほど。結局、1文字とルビをセットにして、
・X座標はその文字とルビで横幅の短い方が長い方の中心にくるように
・ルビのY座標はその文字の真上になるように
各文字を描画していくということですね。
たしか、吉里吉里も同じようなことをしていたと思います。
338名前は開発中のものです。
2008/10/31(金) 17:11:53ID:/pTuS2sL ざっと命令眺めてみたんですが、立ち絵のクロスフェードが無いような気がします…
それと、つい10日前ほどから自分用の2Dのゲームライブラリを作っているのですが、
もし使えるところまで完成したら、ためしに組み込んでもらえませんでしょうか?
それと、つい10日前ほどから自分用の2Dのゲームライブラリを作っているのですが、
もし使えるところまで完成したら、ためしに組み込んでもらえませんでしょうか?
339名前は開発中のものです。
2008/10/31(金) 18:27:49ID:umSO+5+k どんだけ図々しいんだ・・・
340167
2008/10/31(金) 19:36:53ID:J4+1Cdpc 拡張された文字列に字間と行間をもうける方法ですが、
以前に例に使った文字列(薔薇水晶(ばらすいしょう))を使って説明しますと、
1.字間(薔薇水晶の字間)
2.ルビ字間(ばらすいしょうの字間)
3.最上行のルビの上(ばの上)
4.最上行のルビと文字の行間(ばと薔の行間)
5.最上行の文字と次行のルビの行間(薔とすいの行間)、最上行と次行の行間(ともいえる筈)
6.最下行の文字の下(水の下)
とまず分類できます。
1.空のテキストトークンを挟めば簡単に字間をもうけられます
2.1.と同じです
3.仕様上不可能です(下にしか行間をもうけられないため)が、特に必要ないでしょう(多分)
4.ルビの縦幅をもうけたい行間の分だけ大きくします、そうすることで描画位置が上に上がり下に行間がもうけられます
5.4.と同じです
6.4.と同じですが、特に必要ないでしょう(多分)
こんな感じだと思われます、理論上………まだ、コーディングが完全に終わってないのでテストしていませんが(駄目じゃん)
このモデルで現在問題となっているのは、「複数文字に複数ルビを均等に割り当てることができない」ということです。
ひとつのテキストトークンに複数文字を収めることで理論上可能ではありますが、ただし文字送りの際に
その複数文字はひとつの文字とみなされて一気に出力されてしまいます(文字送りの問題があるから一文字単位で分割したわけで)
まあ、これは「鬼畜(きちく)」とかを表示する場合「ち」をどうするのかという問題上必ずしも悪仕様とはいえないわけですが………。
>>337
はい、そんな感じですね。
こうやってノベルゲームのライブラリを作ってると、Nスクと吉里吉里のガイドは必携です。
(萌え絵だったりするのd持っていると微妙に恥ずかしかったりしますが)
以前に例に使った文字列(薔薇水晶(ばらすいしょう))を使って説明しますと、
1.字間(薔薇水晶の字間)
2.ルビ字間(ばらすいしょうの字間)
3.最上行のルビの上(ばの上)
4.最上行のルビと文字の行間(ばと薔の行間)
5.最上行の文字と次行のルビの行間(薔とすいの行間)、最上行と次行の行間(ともいえる筈)
6.最下行の文字の下(水の下)
とまず分類できます。
1.空のテキストトークンを挟めば簡単に字間をもうけられます
2.1.と同じです
3.仕様上不可能です(下にしか行間をもうけられないため)が、特に必要ないでしょう(多分)
4.ルビの縦幅をもうけたい行間の分だけ大きくします、そうすることで描画位置が上に上がり下に行間がもうけられます
5.4.と同じです
6.4.と同じですが、特に必要ないでしょう(多分)
こんな感じだと思われます、理論上………まだ、コーディングが完全に終わってないのでテストしていませんが(駄目じゃん)
このモデルで現在問題となっているのは、「複数文字に複数ルビを均等に割り当てることができない」ということです。
ひとつのテキストトークンに複数文字を収めることで理論上可能ではありますが、ただし文字送りの際に
その複数文字はひとつの文字とみなされて一気に出力されてしまいます(文字送りの問題があるから一文字単位で分割したわけで)
まあ、これは「鬼畜(きちく)」とかを表示する場合「ち」をどうするのかという問題上必ずしも悪仕様とはいえないわけですが………。
>>337
はい、そんな感じですね。
こうやってノベルゲームのライブラリを作ってると、Nスクと吉里吉里のガイドは必携です。
(萌え絵だったりするのd持っていると微妙に恥ずかしかったりしますが)
341167
2008/10/31(金) 19:39:01ID:J4+1Cdpc >>338
画面の更新はupdateという命令で一括で行うようになっています、それにクロスフェードを指定する引数がありますので。
詳しくはヘルプおよびサンプルを参照して頂ければと。
そうですね、より多くの動作実績を積みたいのでゲームライブラリへの組み込みは歓迎です。
ただ、その際に「ここが組み込みにくい!」とか「ここをこうしてほしい!」とかが出来れば欲しいのでご自分で組んで頂ければ嬉しいです。
ですが私が組み込んでも「組み込みにくい!」とかは感じられるかもしれませんので、ライブラリ開発の合間を縫ってではありますが
希望されるのであれば組み込みも承ります。その場合は、ライブラリの仕様とかを分かりやすいよう提供して頂ければと。
画面の更新はupdateという命令で一括で行うようになっています、それにクロスフェードを指定する引数がありますので。
詳しくはヘルプおよびサンプルを参照して頂ければと。
そうですね、より多くの動作実績を積みたいのでゲームライブラリへの組み込みは歓迎です。
ただ、その際に「ここが組み込みにくい!」とか「ここをこうしてほしい!」とかが出来れば欲しいのでご自分で組んで頂ければ嬉しいです。
ですが私が組み込んでも「組み込みにくい!」とかは感じられるかもしれませんので、ライブラリ開発の合間を縫ってではありますが
希望されるのであれば組み込みも承ります。その場合は、ライブラリの仕様とかを分かりやすいよう提供して頂ければと。
342167
2008/11/13(木) 19:02:06ID:0ic4ACTC なかなか作業が進まない、以前よりも時間は取れている筈なのに………orz
細かく作ってると色々と仕様に悩んだりもして、そういうのが大きい一因だったりもしますが(汗
たとえば、今現在選択肢を作り直しているのですが………。
選択肢のインターフェースとして表示する画像を、通常時、
カーソル時、ホールド時(上でマウスボタンがホールドされている状態のこと)と用意したとします。
で、カーソル時には通常時の位置から右に1ドット下に1ドット移動したように見せます(凹みを表現するため)
この場合、マウスカーソルの判定矩形は
1.通常時と同じ判定矩形
2.判定矩形を右に1ドット下に1ドットずらす
3.両方の判定矩形を合体させる
という方法があるわけです、とりあえずは1で設計してますが…。
細かく作ってると色々と仕様に悩んだりもして、そういうのが大きい一因だったりもしますが(汗
たとえば、今現在選択肢を作り直しているのですが………。
選択肢のインターフェースとして表示する画像を、通常時、
カーソル時、ホールド時(上でマウスボタンがホールドされている状態のこと)と用意したとします。
で、カーソル時には通常時の位置から右に1ドット下に1ドット移動したように見せます(凹みを表現するため)
この場合、マウスカーソルの判定矩形は
1.通常時と同じ判定矩形
2.判定矩形を右に1ドット下に1ドットずらす
3.両方の判定矩形を合体させる
という方法があるわけです、とりあえずは1で設計してますが…。
343167
2008/11/20(木) 15:44:26ID:MlFmxeHF 大分作業が進みました、今週末にはアップロードできそうです(といってもAbyssLibのみですが…)
あとはノベルエンジン本体のみ………!それにしても、ボトムアップでコーディングしていると途中の閉塞感が半端ないですね。
あとはノベルエンジン本体のみ………!それにしても、ボトムアップでコーディングしていると途中の閉塞感が半端ないですね。
344167
2008/11/23(日) 22:22:26ID:SovwNul/ まだ作業途中ではありますが、アップロードすると言った手前もありますし一部アップロードしてみます。
残るはNovelPlayer、NovelPlayer2、BasicCommands、サンプル等々………。
http://abysslib.hp.infoseek.co.jp/AL1200a.zip
残るはNovelPlayer、NovelPlayer2、BasicCommands、サンプル等々………。
http://abysslib.hp.infoseek.co.jp/AL1200a.zip
345167
2008/12/03(水) 14:34:22ID:Ci35IGPz |
|Д`) ダレモイナイ・・
|⊂ ホウコクスルナラ
| イマノウチ
というわけで、進捗状況を報告してみます。
現在BasicCommandsに取り組んでおります、とりあえずVer1.200(with Ver1.070)は今週末にでも出せそうです。
|Д`) ダレモイナイ・・
|⊂ ホウコクスルナラ
| イマノウチ
というわけで、進捗状況を報告してみます。
現在BasicCommandsに取り組んでおります、とりあえずVer1.200(with Ver1.070)は今週末にでも出せそうです。
346名前は開発中のものです。
2008/12/03(水) 18:36:09ID:I9P09qK4 いやちゃんとチェックしてるよw
347167
2008/12/06(土) 01:18:30ID:SivC+o41 >>346
おお、人がおられましたか!
チェックして頂けるだけでもありがたいかぎりなのですm(_ _)m
今週末に出すと申し上げましたが、間に合わなさそうな予感が………(急用が入ってしまったので)
現在デバッグ中、とりあえずはAbyssLib Ver1.200 + BasicCommands Ver1.07でリリースする予定です。
変更点を記しますと、
AbyssLib
・細かいバグを修正
・名前空間を導入
・演算子の拡張
単項と多項に分離:+、-
新規追加:^、~、!、|=、&=、^=
変更:!=(旧<>)
・汎用クラスの追加
vector_mystr(文字列の動的配列)、RubyTextToken(ルビテキスト(字単位))、
RubyTextTokenLine(ルビテキスト(行単位))、TextToken(テキスト(字単位))、
TextTokenLine(テキスト(行単位)、TextTokenSection(テキスト(文単位))を追加
・汎用関数の追加・削除・変更
削除:EditText
追加:SaveStringVM、SaveTextTokenSection、LoadStringVM、LoadTextTokenSection
変更:IsOpenedFile(非エクスポート関数に)
・TextTokenSectionにより、文字列管理の方法を変更(テキスト、発言者名、スプライトテキスト、既読履歴)
・今までマクロの書き換えでしか変更できなかった要素を動的に変更可能に
最大Z、最小Z、予約済みZ座標、ログの最大保持数、テキストウインドウのインターフェース、
ルビのフォント、ルビのサイズ、テキストの最大横幅/最大縦幅、発言者名の最大横幅/最大縦幅
テキストカーソルのインターフェース、選択肢のテキストのサイズ、選択肢のテキストのフォント、
選択肢のテキストの最大横幅/最大縦幅、選択肢のテキストのカラー(通常時、カーソル時、クリック時)
おお、人がおられましたか!
チェックして頂けるだけでもありがたいかぎりなのですm(_ _)m
今週末に出すと申し上げましたが、間に合わなさそうな予感が………(急用が入ってしまったので)
現在デバッグ中、とりあえずはAbyssLib Ver1.200 + BasicCommands Ver1.07でリリースする予定です。
変更点を記しますと、
AbyssLib
・細かいバグを修正
・名前空間を導入
・演算子の拡張
単項と多項に分離:+、-
新規追加:^、~、!、|=、&=、^=
変更:!=(旧<>)
・汎用クラスの追加
vector_mystr(文字列の動的配列)、RubyTextToken(ルビテキスト(字単位))、
RubyTextTokenLine(ルビテキスト(行単位))、TextToken(テキスト(字単位))、
TextTokenLine(テキスト(行単位)、TextTokenSection(テキスト(文単位))を追加
・汎用関数の追加・削除・変更
削除:EditText
追加:SaveStringVM、SaveTextTokenSection、LoadStringVM、LoadTextTokenSection
変更:IsOpenedFile(非エクスポート関数に)
・TextTokenSectionにより、文字列管理の方法を変更(テキスト、発言者名、スプライトテキスト、既読履歴)
・今までマクロの書き換えでしか変更できなかった要素を動的に変更可能に
最大Z、最小Z、予約済みZ座標、ログの最大保持数、テキストウインドウのインターフェース、
ルビのフォント、ルビのサイズ、テキストの最大横幅/最大縦幅、発言者名の最大横幅/最大縦幅
テキストカーソルのインターフェース、選択肢のテキストのサイズ、選択肢のテキストのフォント、
選択肢のテキストの最大横幅/最大縦幅、選択肢のテキストのカラー(通常時、カーソル時、クリック時)
348167
2008/12/06(土) 01:23:50ID:SivC+o41 ・選択肢関連のメンバ関数をTaskManagerからDrawManagerに移す
・SoundManagerにvoice関連のメンバ関数を追加
・DrawManagerからマウスカーソル関連のメンバ関数を削除
・各種シーン(通常、既読履歴、セーブ、ロード、環境設定、メニュー)をクラス化
今まで関数として実装していたものをクラス化、継承によりより平易にシーンのコーディングが可能に。
・オブジェクトファイルの追加読込が可能に
BasicCommands
・今回、変更点は一切ありません!
つまり、ソースコードレベルでのバージョンアップはあってもスクリプトレベルでのバージョンアップはありません。
理由としてはそこまで作り込むと(ただでさえ四ヶ月も時間使ってるのに)リリースが更に遅れること、
DLLの方まで大きく弄るとデバッグが困難になるからです。とりあえずはVer1.06との完全互換ということで。
(厳密には演算子の変更により完全互換ではありませんが)
バグフィックスを終え次第、
・禁則処理
・タグの導入(テキストの文中でサイズやフォントを変更可能に、ルビなども)
・複数分割(長すぎるテキストを複数のテキストに自動で分割)
・表示位置調整(センタリング等)
・画面更新、画面効果の新規追加
・voice関連の命令を追加
・その他色々(for〜next)など
といった感じのバージョンアップを行います。
・SoundManagerにvoice関連のメンバ関数を追加
・DrawManagerからマウスカーソル関連のメンバ関数を削除
・各種シーン(通常、既読履歴、セーブ、ロード、環境設定、メニュー)をクラス化
今まで関数として実装していたものをクラス化、継承によりより平易にシーンのコーディングが可能に。
・オブジェクトファイルの追加読込が可能に
BasicCommands
・今回、変更点は一切ありません!
つまり、ソースコードレベルでのバージョンアップはあってもスクリプトレベルでのバージョンアップはありません。
理由としてはそこまで作り込むと(ただでさえ四ヶ月も時間使ってるのに)リリースが更に遅れること、
DLLの方まで大きく弄るとデバッグが困難になるからです。とりあえずはVer1.06との完全互換ということで。
(厳密には演算子の変更により完全互換ではありませんが)
バグフィックスを終え次第、
・禁則処理
・タグの導入(テキストの文中でサイズやフォントを変更可能に、ルビなども)
・複数分割(長すぎるテキストを複数のテキストに自動で分割)
・表示位置調整(センタリング等)
・画面更新、画面効果の新規追加
・voice関連の命令を追加
・その他色々(for〜next)など
といった感じのバージョンアップを行います。
349167
2008/12/06(土) 01:24:54ID:SivC+o41 それを終えた後には、ドキュメントとサンプルの制作を行う予定です。
大規模アップグレードは今回が最後だと思われます………多分、きっと、そう信じたい(;´Д`)
大規模アップグレードは今回が最後だと思われます………多分、きっと、そう信じたい(;´Д`)
350167
2008/12/08(月) 17:47:16ID:78vP/8Ya 演算子のコンパイル処理が少し難航しています…。
それさえ直れば出せる状態(他は全部テスト済み)なので、明日か明後日には何とか…。
それさえ直れば出せる状態(他は全部テスト済み)なので、明日か明後日には何とか…。
351231
2008/12/09(火) 00:31:56ID:wZAstprl 久々の登場だぜ。
サンプルなら俺が続き書こうか?
サンプルなら俺が続き書こうか?
352167
2008/12/09(火) 15:41:40ID:/ec++oQN デバッグ&テストが完全に終了しました!
今夜にはまとめて上げられるかと思います(ヘルプの再構築にはもう少し時間が掛かりますが)
>>231
ありがとうございます、書いてくださるのは大歓迎です。
以前の続きでも、新たなものでも歓迎ですので。
今夜にはまとめて上げられるかと思います(ヘルプの再構築にはもう少し時間が掛かりますが)
>>231
ありがとうございます、書いてくださるのは大歓迎です。
以前の続きでも、新たなものでも歓迎ですので。
353167
2008/12/10(水) 03:09:47ID:AjsWE5Kg 一応、今夜中ということでぎりぎりセーフでしょうか(;´Д`)
とりあえずはうpしてみます、WEB等の整理は明日からということで…。
http://abysslib.hp.infoseek.co.jp/AL1200.zip
とりあえずはうpしてみます、WEB等の整理は明日からということで…。
http://abysslib.hp.infoseek.co.jp/AL1200.zip
354167
2008/12/12(金) 22:18:55ID:bYq3EUKY 今日中にWEBを更新しようと思ったが間に合わない予感がひしひしと………orz
まあ、八割方書き上げてますので明日には何とかなるでしょうけれど。
まあ、八割方書き上げてますので明日には何とかなるでしょうけれど。
355167
2008/12/13(土) 23:12:14ID:DDn1ptq5 なんか日記帳になっているような気がしないでもない感じが…。
新たに見つかったバグ修正に時間がかかっていました、恐らく明日にはきっと多分………。
新たに見つかったバグ修正に時間がかかっていました、恐らく明日にはきっと多分………。
356名前は開発中のものです。
2008/12/14(日) 01:53:58ID:sKoU+e8z わははw 楽しみにしてるよw
357167
2008/12/14(日) 14:31:22ID:VFAvExy4 漸くテストを終え、アップロードしました!
今後の予定は………
1.ADVサンプルを最新版に対応させる(簡単な筈、バグがなければ…)
2.最新版のバグフィックス(1でバグが発見された場合)
3.BasicCommandsのアップグレード(禁則処理やタグ対応など)
といった感じです。
その後は命令を追加しつつ、サンプルを作っていければと…。
もう大規模なアップグレードは勘弁です_(。Д。)_
今後の予定は………
1.ADVサンプルを最新版に対応させる(簡単な筈、バグがなければ…)
2.最新版のバグフィックス(1でバグが発見された場合)
3.BasicCommandsのアップグレード(禁則処理やタグ対応など)
といった感じです。
その後は命令を追加しつつ、サンプルを作っていければと…。
もう大規模なアップグレードは勘弁です_(。Д。)_
358167
2008/12/14(日) 14:32:10ID:VFAvExy4359167
2008/12/16(火) 23:52:59ID:ONuq9PqZ 進捗報告です。
案の定、バグが見つかりましたorz
テキストとテキストカーソルにまつわる根深いものです…。
現在バグフィックス中、それを終えたらアップグレードを進める予定です。
案の定、バグが見つかりましたorz
テキストとテキストカーソルにまつわる根深いものです…。
現在バグフィックス中、それを終えたらアップグレードを進める予定です。
360167
2008/12/18(木) 23:33:59ID:0tP/NWTQ アップグレード完了しました、これでめぼしいバグは消えた筈…?
ただ、いくつか気になる点はあるのでそれは次回修正ということで。
次回はAbyssLibは若干の修正、BasicCommandsはインターフェース系命令の追加+テキストのタグ&ルビ対応になるかと思われます。
http://abysslib.hp.infoseek.co.jp/index.html
ただ、いくつか気になる点はあるのでそれは次回修正ということで。
次回はAbyssLibは若干の修正、BasicCommandsはインターフェース系命令の追加+テキストのタグ&ルビ対応になるかと思われます。
http://abysslib.hp.infoseek.co.jp/index.html
361167
2009/01/06(火) 21:56:54ID:nU3QTrEZ あけましておめでとうございます、保守兼ねて経過報告をしておこうかと。
現在、今年度末までに完成を目標に鋭意コーディングを行っております。
今週末〜来週末に公開予定です、現在30命令の追加を予定しております。
現在、今年度末までに完成を目標に鋭意コーディングを行っております。
今週末〜来週末に公開予定です、現在30命令の追加を予定しております。
362167
2009/01/16(金) 22:31:00ID:cvJFcqo9 経過報告です、現在34命令の追加を終えデバッグを行っております。
残るバグはあとひとつ…!土曜は用事により作業を進められそうにありませんが、日曜までにはアップグレードできるかと思われます。
残るバグはあとひとつ…!土曜は用事により作業を進められそうにありませんが、日曜までにはアップグレードできるかと思われます。
363167
2009/01/18(日) 01:49:47ID:30EBq5bL デバッグ終了!これで今のところ見つかったバグは全て取れた筈………!
明日(もう今日ですが)にはアップロードする予定で頑張りますので!
明日(もう今日ですが)にはアップロードする予定で頑張りますので!
364167
2009/01/18(日) 23:24:23ID:30EBq5bL アップロードしました!
現在、ウェブページは更新しておりませんが(まだ編集中です)
既に最新版をDLできます。リファレンスなどの更新もまだですが、サンプルが更新されていますので。
http://abysslib.hp.infoseek.co.jp/index.html
現在、ウェブページは更新しておりませんが(まだ編集中です)
既に最新版をDLできます。リファレンスなどの更新もまだですが、サンプルが更新されていますので。
http://abysslib.hp.infoseek.co.jp/index.html
365名前は開発中のものです。
2009/01/19(月) 02:55:17ID:NS8A7eFv 乙〜
366231
2009/01/19(月) 15:57:15ID:zAW60pSD よし、じゃあ話書き始めるか。
しばし待たれり。
しばし待たれり。
367167
2009/01/20(火) 21:11:23ID:yIGVGx3p サイト(+オフラインヘルプ)の更新を終えました!
今回のアップグレードによる変更点は、
AbyssLibは
・立ち絵の優先順位の不具合を修正
・オブジェクトファイルの追加読み込みの不具合を修正
・GETSYMBOLをGETSYMBOLNAMEに変更
・BaseDrawManager::DrawRect関数の仕様を変更
・NullDrawManager::DrawRect関数の仕様を変更
・BaseDrawManager::_DrawRect関数を追加
・NullDrawManager::_DrawRect関数を追加
・INovelEngine::Initialize関数を追加
・NovelEditor::Initialize関数を追加
です。Ver1.201との互換性はありません(少し修正すれば動きますが)
BasicCommandsは
・スプライトテキストの不具合を修正
・voicevolume、playvoice、stopallvoice、stopvoice、loadvoice、unloadallvoice、unloadvoice、
charaspace、textposition、textmaxwidth、textmaxheight、talkerposition、talkermaxwidth、
talkermaxheight、textcursorshow、textcursornone、textcursorclick、textcursorgonext、
textcursorbacklog、textwindowdraw、textwindowimage、selectwindowdraw、selectwindowimage、
selectwindowunderspace、selecttextfont、selecttextsize、selecttextmaxwidth、selecttextmaxheight、
selecttextncolor、selecttextccolor、selecttexthcolor、selectclickse、selectcursorse、initializeを追加
です。
今回のアップグレードによる変更点は、
AbyssLibは
・立ち絵の優先順位の不具合を修正
・オブジェクトファイルの追加読み込みの不具合を修正
・GETSYMBOLをGETSYMBOLNAMEに変更
・BaseDrawManager::DrawRect関数の仕様を変更
・NullDrawManager::DrawRect関数の仕様を変更
・BaseDrawManager::_DrawRect関数を追加
・NullDrawManager::_DrawRect関数を追加
・INovelEngine::Initialize関数を追加
・NovelEditor::Initialize関数を追加
です。Ver1.201との互換性はありません(少し修正すれば動きますが)
BasicCommandsは
・スプライトテキストの不具合を修正
・voicevolume、playvoice、stopallvoice、stopvoice、loadvoice、unloadallvoice、unloadvoice、
charaspace、textposition、textmaxwidth、textmaxheight、talkerposition、talkermaxwidth、
talkermaxheight、textcursorshow、textcursornone、textcursorclick、textcursorgonext、
textcursorbacklog、textwindowdraw、textwindowimage、selectwindowdraw、selectwindowimage、
selectwindowunderspace、selecttextfont、selecttextsize、selecttextmaxwidth、selecttextmaxheight、
selecttextncolor、selecttextccolor、selecttexthcolor、selectclickse、selectcursorse、initializeを追加
です。
368167
2009/01/20(火) 21:40:23ID:yIGVGx3p より分かりやすく説明しますと、
・音声関連の命令が追加された(今はse相当の命令しかありませんが)
・レイアウト関連の命令が追加された(テキストウインドウ等のカスタマイズがコーディングを経ずに行えるようになった)
といった感じです、複雑なカスタマイズを行いたい場合はコーディングを経る必要がありますが…。
今後の予定としましては、
1.Ver1.080としてテキスト関連の命令を大量に追加する
今まで手をつけてこなかったテキスト関連の命令(タグ・ルビ等)を大量に追加する予定です。
今のところ考えているのは、
・禁則処理
・表示位置調節(字間、行間、センタリング)
・ウエイト、カラー、表示速度、サイズ、フォント、ルビ
といったところです。文中に立ち絵変更タグを埋め込めるとかも良いかもしれません(考え中)
2.Ver1.090として画面更新を大量に追加する
今は画面更新に限られたものしかありませんが、それらを大幅に追加する予定です。
今のところ考えているのは、
・シャッター(上下左右)
・カーテン(上下左右)
・スクロール(上下左右)
といったところです。
また、汎用的な画面効果ではありませんがプラグイン作成のサンプルも兼ねて
桜吹雪、雪、雨、蛍などの画面効果もお見せする予定です。
ここまで行うと、NScripterに大分近付けるかと思います。
・音声関連の命令が追加された(今はse相当の命令しかありませんが)
・レイアウト関連の命令が追加された(テキストウインドウ等のカスタマイズがコーディングを経ずに行えるようになった)
といった感じです、複雑なカスタマイズを行いたい場合はコーディングを経る必要がありますが…。
今後の予定としましては、
1.Ver1.080としてテキスト関連の命令を大量に追加する
今まで手をつけてこなかったテキスト関連の命令(タグ・ルビ等)を大量に追加する予定です。
今のところ考えているのは、
・禁則処理
・表示位置調節(字間、行間、センタリング)
・ウエイト、カラー、表示速度、サイズ、フォント、ルビ
といったところです。文中に立ち絵変更タグを埋め込めるとかも良いかもしれません(考え中)
2.Ver1.090として画面更新を大量に追加する
今は画面更新に限られたものしかありませんが、それらを大幅に追加する予定です。
今のところ考えているのは、
・シャッター(上下左右)
・カーテン(上下左右)
・スクロール(上下左右)
といったところです。
また、汎用的な画面効果ではありませんがプラグイン作成のサンプルも兼ねて
桜吹雪、雪、雨、蛍などの画面効果もお見せする予定です。
ここまで行うと、NScripterに大分近付けるかと思います。
369167
2009/01/20(火) 21:51:43ID:yIGVGx3p ………大口叩いたようで怖いので補足しておきますと、コードの最適化(最低動作環境)、
モノクロ、マスクパターンを用いた画面更新、動画の再生などNScripterに劣るところはまだまだあります。
これは私の技術力の問題もありますが、組み込み前提のライブラリとしていることで「尖った」処理をライブラリ内に
組み込むことが困難なのも一因です。マスクパターンを用いた画面更新を一例にしますと、マスクパターンというのは
ピクセル単位の処理が必要になります。それをGDI(使う人は今時いないかな?)、DirectX、OpenGLなどのグラフィックス
ライブラリ(およびyaneSDKのようなそれらの補助ライブラリ)で簡単に組み込めるよう抽象的で直感的で汎用的なコードを
書くのは極めて難しいです。必ずどこかで無理が出てきますし、個々に特化したコードを書いた方が速度も確実に速いでしょう。
とはいえ、模索してみるよりも前に諦めるのも何でしょうし、
1と2を終えた時点で色々と模索してみる予定です。特にマスクパターンを使えると大きいでしょうから。
というわけで、
3.適宜バグフィックス、サンプル作成、「尖った」処理の組み込みを模索、要望に応じ新規命令を追加
といった感じになるかと思われます。2まで終わらせるとほぼ完成ということですね。
結構過疎ってますが、要望などは随時受け付けておりますので(´Д`)
モノクロ、マスクパターンを用いた画面更新、動画の再生などNScripterに劣るところはまだまだあります。
これは私の技術力の問題もありますが、組み込み前提のライブラリとしていることで「尖った」処理をライブラリ内に
組み込むことが困難なのも一因です。マスクパターンを用いた画面更新を一例にしますと、マスクパターンというのは
ピクセル単位の処理が必要になります。それをGDI(使う人は今時いないかな?)、DirectX、OpenGLなどのグラフィックス
ライブラリ(およびyaneSDKのようなそれらの補助ライブラリ)で簡単に組み込めるよう抽象的で直感的で汎用的なコードを
書くのは極めて難しいです。必ずどこかで無理が出てきますし、個々に特化したコードを書いた方が速度も確実に速いでしょう。
とはいえ、模索してみるよりも前に諦めるのも何でしょうし、
1と2を終えた時点で色々と模索してみる予定です。特にマスクパターンを使えると大きいでしょうから。
というわけで、
3.適宜バグフィックス、サンプル作成、「尖った」処理の組み込みを模索、要望に応じ新規命令を追加
といった感じになるかと思われます。2まで終わらせるとほぼ完成ということですね。
結構過疎ってますが、要望などは随時受け付けておりますので(´Д`)
370167
2009/01/22(木) 17:58:02ID:IhANlxha371167
2009/01/26(月) 02:18:37ID:ynCjmsaz 経過報告〜。
現在、テキストの禁則処理とタグ・ルビの実装を行っています。
禁則処理は思っていたよりもずっと簡単で実装しデバッグも完了、
タグも現在実装中ですが今週前半には実装およびデバッグを終えられそうです。
恐らく今週末には公開できるんじゃないかなと………ただ、一連の処理でノベルエンジンが重くなりそうなのが懸念するところではあります。
(最適化は現在想定している命令を全て実装し終えてから行う予定です)
現在、テキストの禁則処理とタグ・ルビの実装を行っています。
禁則処理は思っていたよりもずっと簡単で実装しデバッグも完了、
タグも現在実装中ですが今週前半には実装およびデバッグを終えられそうです。
恐らく今週末には公開できるんじゃないかなと………ただ、一連の処理でノベルエンジンが重くなりそうなのが懸念するところではあります。
(最適化は現在想定している命令を全て実装し終えてから行う予定です)
372231
2009/01/27(火) 23:36:12ID:KYwumhzm ふう、永久規制解除された。
今回のテーマは鬱ゲーごちゃ混ぜでいってみようかと思うんだ。
ホワイトで永遠なデイズだぜ(タイトル未定)
長くなりそうなんで忘れた頃にやって来るよ。
今回のテーマは鬱ゲーごちゃ混ぜでいってみようかと思うんだ。
ホワイトで永遠なデイズだぜ(タイトル未定)
長くなりそうなんで忘れた頃にやって来るよ。
373名前は開発中のものです。
2009/01/29(木) 18:25:47ID:SQf2/3Zp ほ
374名前は開発中のものです。
2009/01/29(木) 21:09:30ID:xqc1Yyrx ageないと落ちる板でもないだろに
375167
2009/02/02(月) 00:21:19ID:GLHf4EFM マニアイマセンデシタ(カタカタ
バグはおおむね潰せたのですが、新たなタグの案が出るわ出るわ………。
公開は今週末に延期します、といいつつ今週前半あたりで公開してしまうかもしれませんが。
バグはおおむね潰せたのですが、新たなタグの案が出るわ出るわ………。
公開は今週末に延期します、といいつつ今週前半あたりで公開してしまうかもしれませんが。
376231
2009/02/03(火) 02:42:58ID:8DxvJwQ9 鬱ゲーの方は時間がかかるんでかわりにうp。
前回提供した話を小説として再構築した。読むにはOOoが必要
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0385zip.html
前回提供した話を小説として再構築した。読むにはOOoが必要
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0385zip.html
377167
2009/02/16(月) 19:15:48ID:5uqmw6lW 現状報告です〜…すみません、スランプ入っていてなかなか進んでおりませんorz
残るはテキスト表示速度の変更と待機、タグの命令化あたりです。今週末には間に合わせたいと思いますが…かなり怪しいです。
残るはテキスト表示速度の変更と待機、タグの命令化あたりです。今週末には間に合わせたいと思いますが…かなり怪しいです。
378167
2009/03/10(火) 18:18:40ID:6BBIQUrc お久しぶりです、忙しかったりスランプに陥ったりと開発が進行しておりませんでしたorz
が、ようやくテキスト周りが完成しました。サンプルなどを作成し、今週末までにはなんとか上げたいと思いますっ!
が、ようやくテキスト周りが完成しました。サンプルなどを作成し、今週末までにはなんとか上げたいと思いますっ!
379167
2009/03/14(土) 00:52:44ID:VZCXz39y お待たせしました!…待ってた方が居たかはさておいて、と自分でしても虚しいツッコミを入れつつ。
BasicCommandsVer1.080、ようやく上がりました!
アップグレードの内容は、
・タグ命令を実装
・禁則処理を実装
・字間、行間、揃えを設定する命令を追加
上記の三つです、ちなみに今回AbyssLibには手を加えておりません。
タグ命令の実装によって、表現の幅が広がったのではないかなと思います。
次回の更新では画面効果や画面更新を増強し、以後はサンプルを上げていく形でいこうかなと思います。
ほぼ完成系と考えておりますが、欲しい機能等ありましたらリクエストあればお応えしますので!
http://abysslib.hp.infoseek.co.jp/index.html
BasicCommandsVer1.080、ようやく上がりました!
アップグレードの内容は、
・タグ命令を実装
・禁則処理を実装
・字間、行間、揃えを設定する命令を追加
上記の三つです、ちなみに今回AbyssLibには手を加えておりません。
タグ命令の実装によって、表現の幅が広がったのではないかなと思います。
次回の更新では画面効果や画面更新を増強し、以後はサンプルを上げていく形でいこうかなと思います。
ほぼ完成系と考えておりますが、欲しい機能等ありましたらリクエストあればお応えしますので!
http://abysslib.hp.infoseek.co.jp/index.html
380名前は開発中のものです。
2009/03/15(日) 18:53:09ID:UMEg0+0q381167
2009/03/26(木) 21:48:58ID:A+IOHfQ7 現在の開発状況です、
画面更新の種類を追加中でNScripterでいうカーテンとシャッターを実装しました!
あとはスクロール、時間制限選択肢、揺れの改良、あたりを行ってからアップロードする予定です。
画面更新の種類を追加中でNScripterでいうカーテンとシャッターを実装しました!
あとはスクロール、時間制限選択肢、揺れの改良、あたりを行ってからアップロードする予定です。
382167
2009/03/26(木) 21:50:01ID:A+IOHfQ7383167
2009/04/23(木) 22:01:14ID:Q24jFjlE 保守です、社会人って時間がとれませんよねorz
ぼちぼち開発しております……五月中旬ぐらいには、アップロードできるかと。
上記に挙げた機能の他に、色々とささやかな機能を追加したりしていなかったりします。
ぼちぼち開発しております……五月中旬ぐらいには、アップロードできるかと。
上記に挙げた機能の他に、色々とささやかな機能を追加したりしていなかったりします。
384167
2009/05/30(土) 23:02:55ID:5hhdziBP 久々に保守兼ねて、一ヵ月近くとあるバグに悩んでおりましたがようやく解決しました(´Д`)
まさか、ソースコードの方でなくスクリプトの記述ミスだなんて……orz
ともあれ、ぼちぼちと尚も開発は続行しております。報告遅れましたが、次バージョンは6月中旬の公開を目指しております。
まさか、ソースコードの方でなくスクリプトの記述ミスだなんて……orz
ともあれ、ぼちぼちと尚も開発は続行しております。報告遅れましたが、次バージョンは6月中旬の公開を目指しております。
385名前は開発中のものです。
2009/07/05(日) 23:00:11ID:oMzkeICb AndroidかiPhoneとかの変態組環境でエンジン作ってるドMはいないの?
OSのないDSとかさ。
OSのないDSとかさ。
386名前は開発中のものです。
2009/07/11(土) 10:22:13ID:iXR2PxQZ >>385
ここは違うの?
iPhone用のゲーム作ってるやついる?
http://pc11.2ch.net/test/read.cgi/gamedev/1220270153/
NintendoDS(NDS)非公式開発 Part3
http://pc11.2ch.net/test/read.cgi/gamedev/1207605913/
ここは違うの?
iPhone用のゲーム作ってるやついる?
http://pc11.2ch.net/test/read.cgi/gamedev/1220270153/
NintendoDS(NDS)非公式開発 Part3
http://pc11.2ch.net/test/read.cgi/gamedev/1207605913/
387167
2009/07/20(月) 21:10:16ID:JA4VY8P5 お久しぶりです、仕事とスランプにやられておりました(´Д`)
現状は、新バージョン公開にあたって実装すべき機能を全て用意し終えたところです。
残るはテスト&デバッグ&サンプル作成&マニュアル作成です、来週〜再来週中の公開を目処に頑張ります。
現状は、新バージョン公開にあたって実装すべき機能を全て用意し終えたところです。
残るはテスト&デバッグ&サンプル作成&マニュアル作成です、来週〜再来週中の公開を目処に頑張ります。
388167
2009/08/10(月) 18:15:14ID:VxqqgNIh お待たせしました、延期に延期を重ねましたがようやく新バージョンの公開です!
更新内容を以下に記します
AbyssLib
・描画タスクの種類に「矩形」を追加
・画面更新(通常時)を上書き可能に変更
・環境設定の保存/読み込みをプラグインにて拡張可能に変更
・ローカルデータの保存/読み込みをプラグインにて拡張可能に変更
BasicCommands
・スキップの待機時間を変更する命令を追加(waittimeskip)
・禁則文字を設定/追加する命令を追加
(setleadingchs、setfollowingchs、setfollowingweakchs、addleadingchs、addfollowingchs、addfollowingweakchs)
・新規画面効果を追加(flash2、quakex2、quakey2、quakexy2、quakex3、quakey3、quakexy3)
・新規画面更新を追加(update2)
以上のような感じです。
更新内容を以下に記します
AbyssLib
・描画タスクの種類に「矩形」を追加
・画面更新(通常時)を上書き可能に変更
・環境設定の保存/読み込みをプラグインにて拡張可能に変更
・ローカルデータの保存/読み込みをプラグインにて拡張可能に変更
BasicCommands
・スキップの待機時間を変更する命令を追加(waittimeskip)
・禁則文字を設定/追加する命令を追加
(setleadingchs、setfollowingchs、setfollowingweakchs、addleadingchs、addfollowingchs、addfollowingweakchs)
・新規画面効果を追加(flash2、quakex2、quakey2、quakexy2、quakex3、quakey3、quakexy3)
・新規画面更新を追加(update2)
以上のような感じです。
389167
2009/08/10(月) 18:24:36ID:VxqqgNIh 次回更新の予定としましては、
・新たな画面効果を更に追加
・新たな画面更新を更に追加
・制限時間付きの選択肢(要検討)
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
・乱数(要検討)
・for、next、break(要検討)
・オブジェクトファイルをダイナミックリンク(要検討)
といった感じです。要検討が多いのは、必要か不要かをまだ見極めきれていないからです。
見ておられる方は、コメント頂ければなと思います。
あと、次回までにはといきませんが
・インタプリタ化
・他言語での利用(Luaあたりを予定)
なども考えております、そこまで終わらせれば一応更新は終わらせるつもりです。
http://abysslib.hp.infoseek.co.jp/index.html
・新たな画面効果を更に追加
・新たな画面更新を更に追加
・制限時間付きの選択肢(要検討)
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
・乱数(要検討)
・for、next、break(要検討)
・オブジェクトファイルをダイナミックリンク(要検討)
といった感じです。要検討が多いのは、必要か不要かをまだ見極めきれていないからです。
見ておられる方は、コメント頂ければなと思います。
あと、次回までにはといきませんが
・インタプリタ化
・他言語での利用(Luaあたりを予定)
なども考えております、そこまで終わらせれば一応更新は終わらせるつもりです。
http://abysslib.hp.infoseek.co.jp/index.html
390名前は開発中のものです。
2009/08/10(月) 18:28:58ID:FeJ9ZBK3 みてるよー
乙乙
乙乙
391167
2009/08/13(木) 20:05:11ID:B8ENj500 現在帰省中故に、EeePCにて作業を行っております。
なのですが……ScriptPlayer2が異様に重い!それに加えて、テクスチャのLockRectが上手くいっていない模様。
DirectX本のサンプルなんかは軽々と動くのに……!
なのですが……ScriptPlayer2が異様に重い!それに加えて、テクスチャのLockRectが上手くいっていない模様。
DirectX本のサンプルなんかは軽々と動くのに……!
392167
2009/08/13(木) 21:47:47ID:B8ENj500 (大分時間が経ちましたが続きです)
で、ログ出力などして調べたところ……
DX9AのCreateDeviceにて、
・MaxPrimitiveCount<0xFFFF
・MaxVertexIndex<0xFFFF
・VertexShaderVersion<D3DVS_VERSION(1, 1)
・PixelShaderVersion<D3DVS_VERSION(1, 1)
上記の条件の何れかが成立した場合に、HALでなくREFを使用するようになっていました。
この条件のMaxVertexIndex<0xFFFFとVertexShaderVersion<D3DVS_VERSION(1, 1)が
EeePCのスペック的に引っかかるらしく、強制的にREFで動作していたようです。
条件分岐のところをコメントアウトしたところ、HALになり軽々と動きました。
作成する際に参考にする書籍を間違ったのかなぁ……?
現在、DX9Aのグラフィック部分を作り直し中です。以上。
で、ログ出力などして調べたところ……
DX9AのCreateDeviceにて、
・MaxPrimitiveCount<0xFFFF
・MaxVertexIndex<0xFFFF
・VertexShaderVersion<D3DVS_VERSION(1, 1)
・PixelShaderVersion<D3DVS_VERSION(1, 1)
上記の条件の何れかが成立した場合に、HALでなくREFを使用するようになっていました。
この条件のMaxVertexIndex<0xFFFFとVertexShaderVersion<D3DVS_VERSION(1, 1)が
EeePCのスペック的に引っかかるらしく、強制的にREFで動作していたようです。
条件分岐のところをコメントアウトしたところ、HALになり軽々と動きました。
作成する際に参考にする書籍を間違ったのかなぁ……?
現在、DX9Aのグラフィック部分を作り直し中です。以上。
393167
2009/08/25(火) 20:18:11ID:6Vt5f2Of 現在の進捗状況です。
・以前のレスにもありますとおり、DX9Aを改良しScriptPlayer2の挙動を改善しました。
・新たな画面効果を追加しました(flash3:フラッシュを波関数を用いて実装)
・新たな画面更新を追加しました(移動補間:更新前の位置から更新後の位置に移動)
・制限時間付き選択肢を実装しました(制限時間は指定可、タイマ画像を表示可)
上記の実装を終えております、他につきましてはまだ検討中の段階です。
・以前のレスにもありますとおり、DX9Aを改良しScriptPlayer2の挙動を改善しました。
・新たな画面効果を追加しました(flash3:フラッシュを波関数を用いて実装)
・新たな画面更新を追加しました(移動補間:更新前の位置から更新後の位置に移動)
・制限時間付き選択肢を実装しました(制限時間は指定可、タイマ画像を表示可)
上記の実装を終えております、他につきましてはまだ検討中の段階です。
394167
2009/10/25(日) 11:40:25ID:2PK1myMg 随分とお久しぶりです、スランプ気味であまり手をつけておりませんでした(´Д`)
現在、新たな命令の実装を終了したところです。これからテスト&デバッグに入る感じで。
新バージョンのお披露目は、11月中には行えればなと思います。
現在、新たな命令の実装を終了したところです。これからテスト&デバッグに入る感じで。
新バージョンのお披露目は、11月中には行えればなと思います。
395名前は開発中のものです。
2009/10/25(日) 15:25:05ID:ZTRZUjq7 いつか使おうと思っているので、ゆっくりでもがんばってください!
396167
2009/10/25(日) 19:20:12ID:2PK1myMg 命令のテスト&デバッグを完了、とりあえずは問題なさそうです。
実装したのは、
・乱数
・ループ(for、next、break相当)
・動的ロード(loadobject、gotod、gosubd)
以上のような感じです。
あとは、サンプルを用意してサイトも修正して……もう少しばかりかかりそうですね(;´Д`)
>>395
ありがとうございます、更新遅めですが生温かく見守ってくださいw
実装したのは、
・乱数
・ループ(for、next、break相当)
・動的ロード(loadobject、gotod、gosubd)
以上のような感じです。
あとは、サンプルを用意してサイトも修正して……もう少しばかりかかりそうですね(;´Д`)
>>395
ありがとうございます、更新遅めですが生温かく見守ってくださいw
397167
2009/10/31(土) 23:00:24ID:07dz5Ldf 全作業を終えましたので、新バージョンをアップロードしました!
・BasicCommandsをVer1.090からVer1.100にアップグレードしました!
・他にはScriptPlayer2を低スペックPC対応に修正しました!
BasicCommandsの変更点を述べていきますと、
・実行時エラーチェックの不具合を修正
・乱数生成命令の追加(rand)
・繰り返し制御構造命令の追加(beginloop、endloop、break)
・オブジェクトファイルのダイナミックリンク命令の追加(loadobject、gotod、gosubd)
・時間制限付き選択肢命令の追加(selectl)
・selectl実行中に表示される画像の設定/消去命令の追加(selectlclearimage、selectlimage0、selectlimage1、selectlimage2、selectlimage3)の追加
上記のような感じです。
次回以降の更新予定は
・Vista対応(これは次回のアップグレードまでにを予定)
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
・インタプリタ化
・他言語での利用(Luaあたりを予定)
上記のような感じです、大分終わりが見えてきました。
・BasicCommandsをVer1.090からVer1.100にアップグレードしました!
・他にはScriptPlayer2を低スペックPC対応に修正しました!
BasicCommandsの変更点を述べていきますと、
・実行時エラーチェックの不具合を修正
・乱数生成命令の追加(rand)
・繰り返し制御構造命令の追加(beginloop、endloop、break)
・オブジェクトファイルのダイナミックリンク命令の追加(loadobject、gotod、gosubd)
・時間制限付き選択肢命令の追加(selectl)
・selectl実行中に表示される画像の設定/消去命令の追加(selectlclearimage、selectlimage0、selectlimage1、selectlimage2、selectlimage3)の追加
上記のような感じです。
次回以降の更新予定は
・Vista対応(これは次回のアップグレードまでにを予定)
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
・インタプリタ化
・他言語での利用(Luaあたりを予定)
上記のような感じです、大分終わりが見えてきました。
398名前は開発中のものです。
2009/11/01(日) 03:35:14ID:kOZZ4gjq >・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
組み込み用だからパーティクルエンジン持っててくれれば自分で実装しちゃう気がしないでもない。
組み込み用だからパーティクルエンジン持っててくれれば自分で実装しちゃう気がしないでもない。
399167
2009/11/01(日) 22:04:09ID:fO+ZFCbG 書き忘れてましたが、
・ScriptPlayerをVS2005以降でコンパイルできるよう修正(これはyaneSDKを弄くる必要があるので難しいかも)
・ジャンル複合サンプルの作成(ADV+RPGやADV+SLG、ADV+STGなど)
上記の内容も近いうちにお見せできたらいいなと考えております。
>>398
ええ、恐らくは可能かと。
あくまでもそのサンプルをひとつ作ってみようかなと考えてる感じですね。
・ScriptPlayerをVS2005以降でコンパイルできるよう修正(これはyaneSDKを弄くる必要があるので難しいかも)
・ジャンル複合サンプルの作成(ADV+RPGやADV+SLG、ADV+STGなど)
上記の内容も近いうちにお見せできたらいいなと考えております。
>>398
ええ、恐らくは可能かと。
あくまでもそのサンプルをひとつ作ってみようかなと考えてる感じですね。
400名前は開発中のものです。
2010/01/04(月) 18:35:51ID:/uva6imH HSPでノベルゲームを作っている者ですが……
いわゆるファイルを扱う命令の場合(WIN API関数も含む)、
ハードディスクに実際に存在するファイル名を引数に指定する必要があります。
こういった命令郡をメモリーにロードしたファイルデータで扱う
汎用的な方法ってありませんか?
複数ファイルをパッキングし、そこから欲しいデータの収得まではできたのですが
外部ファイルを引数に取る命令郡の場合、取り出したデータをファイルに書き出してやらないと
目的の動作を達成できません。
そして、そういった方法は、ちょと強引すぎるように感じています。
もとからデータのポインタを引数に取る命令ならよいのですが、
外部ファイルを引数に取る命令郡の場合では、どうしていいかわかりません。
なにかよい方法があればご教授願います。
いわゆるファイルを扱う命令の場合(WIN API関数も含む)、
ハードディスクに実際に存在するファイル名を引数に指定する必要があります。
こういった命令郡をメモリーにロードしたファイルデータで扱う
汎用的な方法ってありませんか?
複数ファイルをパッキングし、そこから欲しいデータの収得まではできたのですが
外部ファイルを引数に取る命令郡の場合、取り出したデータをファイルに書き出してやらないと
目的の動作を達成できません。
そして、そういった方法は、ちょと強引すぎるように感じています。
もとからデータのポインタを引数に取る命令ならよいのですが、
外部ファイルを引数に取る命令郡の場合では、どうしていいかわかりません。
なにかよい方法があればご教授願います。
401名前は開発中のものです。
2010/01/04(月) 18:37:03ID:/uva6imH HSPでノベルゲームを作っている者ですが……
いわゆるファイルを扱う命令の場合(WIN API関数も含む)、
ハードディスクに実際に存在するファイル名を引数に指定する必要があります。
こういった命令郡をメモリーにロードしたファイルデータで扱う
汎用的な方法ってありませんか?
複数ファイルをパッキングし、そこから欲しいデータの収得まではできたのですが
外部ファイルを引数に取る命令郡の場合、取り出したデータをファイルに書き出してやらないと
目的の動作を達成できません。
そして、そういった方法は、ちょと強引すぎるように感じています。
もとからデータのポインタを引数に取る命令ならよいのですが、
外部ファイルを引数に取る命令郡の場合では、どうしていいかわかりません。
なにかよい方法があればご教授願います。
いわゆるファイルを扱う命令の場合(WIN API関数も含む)、
ハードディスクに実際に存在するファイル名を引数に指定する必要があります。
こういった命令郡をメモリーにロードしたファイルデータで扱う
汎用的な方法ってありませんか?
複数ファイルをパッキングし、そこから欲しいデータの収得まではできたのですが
外部ファイルを引数に取る命令郡の場合、取り出したデータをファイルに書き出してやらないと
目的の動作を達成できません。
そして、そういった方法は、ちょと強引すぎるように感じています。
もとからデータのポインタを引数に取る命令ならよいのですが、
外部ファイルを引数に取る命令郡の場合では、どうしていいかわかりません。
なにかよい方法があればご教授願います。
402名前は開発中のものです。
2010/01/04(月) 18:38:38ID:/uva6imH すみません。
2重に書き込みしてしまいました。
2重に書き込みしてしまいました。
403名前は開発中のものです。
2010/01/04(月) 19:45:23ID:roT+JtL8 何が聞きたいのか全然分からないぞ。
ファイル名を引数にとるAPIを、ファイル名を引数にしないで利用したいと
言っているように見えるわけだが…
ファイル名を引数にとるAPIの動作を、ファイルポインタで実現する方法が
知りたいのかな? もしそうなら、具体的に何をするAPIなのかを列挙しないと
個々のAPIでそれぞれ違うんじゃないの?
ファイル名を引数にとるAPIを、ファイル名を引数にしないで利用したいと
言っているように見えるわけだが…
ファイル名を引数にとるAPIの動作を、ファイルポインタで実現する方法が
知りたいのかな? もしそうなら、具体的に何をするAPIなのかを列挙しないと
個々のAPIでそれぞれ違うんじゃないの?
404401
2010/01/04(月) 22:20:10ID:/uva6imH >>ファイル名を引数にとるAPIを、ファイル名を引数にしないで利用したいと
意味としてはそのようなものです。
ですが、関数の仕様を考えれば
BMP表示API関数 LoadBitmap()はファイル名を引数にしないと使えないことはわかります。
BMPの表示なら SetDIBitsToDevice() で問題は解決できますが
いわゆる音楽再生系のAPI関数は音楽データのポインタを受ける関数が少ないように思います。
MCI系は全滅に近いような気がします。
素材ファイル郡をひとつにパッキングして、
適時そこからデータを取り出して使う方式をとった場合、
使えなくなる関数があまりに多かったもので、どうしたものかと困っている所です。
結局なにがしたいのかを例で示すと――
@ビットマップのデータはメモリーにロードされている。
Aしかし、ハードディスクにファイルは存在していない。
Bでも LoadBitmap() 関数を使いたい。(第二引数はLPCTSTR lpBitmapName)
上記のように
ファイル名を引数にとるAPIを、ファイルが存在していないのに使いたい(データはある)。
というわがままな願いです。
パッキングをあきらめることも、解決策のひとつであると わかってはいるのですが……。
意味としてはそのようなものです。
ですが、関数の仕様を考えれば
BMP表示API関数 LoadBitmap()はファイル名を引数にしないと使えないことはわかります。
BMPの表示なら SetDIBitsToDevice() で問題は解決できますが
いわゆる音楽再生系のAPI関数は音楽データのポインタを受ける関数が少ないように思います。
MCI系は全滅に近いような気がします。
素材ファイル郡をひとつにパッキングして、
適時そこからデータを取り出して使う方式をとった場合、
使えなくなる関数があまりに多かったもので、どうしたものかと困っている所です。
結局なにがしたいのかを例で示すと――
@ビットマップのデータはメモリーにロードされている。
Aしかし、ハードディスクにファイルは存在していない。
Bでも LoadBitmap() 関数を使いたい。(第二引数はLPCTSTR lpBitmapName)
上記のように
ファイル名を引数にとるAPIを、ファイルが存在していないのに使いたい(データはある)。
というわがままな願いです。
パッキングをあきらめることも、解決策のひとつであると わかってはいるのですが……。
405名前は開発中のものです。
2010/01/05(火) 09:09:56ID:hjLxpc/P >>404
LoadBitmapってことは、HBITMAPが欲しいのかな?
それなら、CreateDIBSectionあたりをつかって、DIBを作って得られたメモリに対して、
自分でアーカイブ内の画像を展開するコードを書けばそれで終了。
libpngでもlibjpegでも好きに使え。
LoadBitmapってことは、HBITMAPが欲しいのかな?
それなら、CreateDIBSectionあたりをつかって、DIBを作って得られたメモリに対して、
自分でアーカイブ内の画像を展開するコードを書けばそれで終了。
libpngでもlibjpegでも好きに使え。
406404
2010/01/05(火) 14:32:32ID:2qPkcFNe 説明がわかりづらくてすみません。
自分としては、hoge( LPCTSTR lpFileName ); のような関数郡、
LoadBitmap( LPCTSTR lpBitmapName )
mciSendString( LPCTSTR lpFileName )
自作関数( LPCTSTR lpFileName )
他人製作のライブラリ関数( LPCTSTR lpFileName )
このような関数郡をファイルをひとまとめにしたパックファイルしかない状況で
使用する一般的な方法があるなら知りたいです。
ただ……
市販のゲームでもoggファイルだけは**.oggのままリリースされているのを
見かけるあたり――一般的な方法は無いのかもしれませんが……。
自分としては、hoge( LPCTSTR lpFileName ); のような関数郡、
LoadBitmap( LPCTSTR lpBitmapName )
mciSendString( LPCTSTR lpFileName )
自作関数( LPCTSTR lpFileName )
他人製作のライブラリ関数( LPCTSTR lpFileName )
このような関数郡をファイルをひとまとめにしたパックファイルしかない状況で
使用する一般的な方法があるなら知りたいです。
ただ……
市販のゲームでもoggファイルだけは**.oggのままリリースされているのを
見かけるあたり――一般的な方法は無いのかもしれませんが……。
407名前は開発中のものです。
2010/01/05(火) 20:02:16ID:ancjkQSv 無理にHSPを使うのをやめるのが一番簡単だと思うよ
かえって足枷になってる感じを受ける
かえって足枷になってる感じを受ける
408404
2010/01/06(水) 02:06:21ID:9wpjbsCw C言語もできることはできるのですが、力不足のため
WINDOWSの低レベルな部分には手が出ません。
なので、自分の場合、難しいことはHSPにまかせてしまう
そんな低レベルな素人プログラマーです。
とりあえず、吉理吉理の場合 XP3 というパックファイルに
画像から音楽ファイルまでひとつにまとめて
自在に取り出して使っているので
吉理吉理のソースファイルからヒントを見つけてみようと思います。
素人の無茶な質問のご相手ありがとうございました。
WINDOWSの低レベルな部分には手が出ません。
なので、自分の場合、難しいことはHSPにまかせてしまう
そんな低レベルな素人プログラマーです。
とりあえず、吉理吉理の場合 XP3 というパックファイルに
画像から音楽ファイルまでひとつにまとめて
自在に取り出して使っているので
吉理吉理のソースファイルからヒントを見つけてみようと思います。
素人の無茶な質問のご相手ありがとうございました。
409167
2010/02/08(月) 00:55:31ID:JYU5rbtP お久しぶりです、仕事がデスマでなかなか作業に着手できておりません(´Д`)
ですがぼちぼちと進めております、とりあえずは忘備録的に。
・動作確認
Windows7での動作確認を行いました。特に問題はないようです(精査したわけではありませんが……)
ただしDirectX9をエンジンにした方のみです、yaneSDKをエンジンにした方につきましては下記を参照で。
・yaneSDKの問題
どうやらyaneSDKをエンジンにするとWindowsVistaならびに7で不具合が起こるようです。
具体的には、画面に何も表示されません。解決方法としては、「ScriptPlayer.exeのプロパティ」→
「互換性」→「デスクトップ コンポジションを無効にする」をチェックで画面が正しく表示されるようになります。
この問題を修正しようにも、何処から手をつけていいものやら……古いDirectXを使っている時点でかなり難しい
気がします。DwmEnableComposition APIを使用しても上手くいかないので……。
次回更新予定は、
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
上記のものです、それに付随してAbyssLibの実装自由度を高めます。
具体的には、AbyssLib内のswitch文のほとんどをプラグイン対応に改めます。
これにて、ほぼ全ての要素を外部から操作可能になる筈です(具体的に言いますと、
外部から操作不可能なパラメータはテキストカーソルの種類とシーンの種類のみとなります)
あとは次々回にLua対応物やインタプリタを用意して、その後は
様々なサンプルを用意していく予定です。次々回以降のアップグレードは、
今のところ内容が思いつかないので予定がありません。バグ修正ぐらいになる……筈です。
以上、とりあえずは顔出しついでにで(´Д`)
ですがぼちぼちと進めております、とりあえずは忘備録的に。
・動作確認
Windows7での動作確認を行いました。特に問題はないようです(精査したわけではありませんが……)
ただしDirectX9をエンジンにした方のみです、yaneSDKをエンジンにした方につきましては下記を参照で。
・yaneSDKの問題
どうやらyaneSDKをエンジンにするとWindowsVistaならびに7で不具合が起こるようです。
具体的には、画面に何も表示されません。解決方法としては、「ScriptPlayer.exeのプロパティ」→
「互換性」→「デスクトップ コンポジションを無効にする」をチェックで画面が正しく表示されるようになります。
この問題を修正しようにも、何処から手をつけていいものやら……古いDirectXを使っている時点でかなり難しい
気がします。DwmEnableComposition APIを使用しても上手くいかないので……。
次回更新予定は、
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
上記のものです、それに付随してAbyssLibの実装自由度を高めます。
具体的には、AbyssLib内のswitch文のほとんどをプラグイン対応に改めます。
これにて、ほぼ全ての要素を外部から操作可能になる筈です(具体的に言いますと、
外部から操作不可能なパラメータはテキストカーソルの種類とシーンの種類のみとなります)
あとは次々回にLua対応物やインタプリタを用意して、その後は
様々なサンプルを用意していく予定です。次々回以降のアップグレードは、
今のところ内容が思いつかないので予定がありません。バグ修正ぐらいになる……筈です。
以上、とりあえずは顔出しついでにで(´Д`)
410167
2010/04/19(月) 20:26:26ID:rE22Ttc/ お久しぶりです、いまだにデスマです(;´Д`)
とりあえず、現状をば。
・特殊演出(降雪)がほぼ完成
近いうちにそれだけをまとめてアップロードしようと考えております。
また、特殊演出の基盤が完成したので他(雨・桜・蛍)にも順次着手予定です。
次回アップデートは、GW終わりあたりを目処にして現在頑張っております。
とりあえず、現状をば。
・特殊演出(降雪)がほぼ完成
近いうちにそれだけをまとめてアップロードしようと考えております。
また、特殊演出の基盤が完成したので他(雨・桜・蛍)にも順次着手予定です。
次回アップデートは、GW終わりあたりを目処にして現在頑張っております。
411167
2010/07/18(日) 12:26:06ID:4gCLox02 お久しぶりです(´Д`)
デスマは抜け出しましたが、今度は同人ゲーム制作の請け負いで忙しくなっており……(;´Д`)
とりあえず、現状をば。
1.SVNを導入しました
2.Windows7環境を導入しました
いや、まあ私事ですが(;´Д`)
3.降雪エフェクトが完成しました
残る予定は、降雪(パラメータセット)、雨(パラメータセット含む)、蛍(パラメータセットry)、桜(パry)です。
雨ならびに蛍はアルゴリズム選定済みで、桜は考慮中です。
4.VC2003を開発セットから外しました
理由がいくつかありまして、
・開発機が7になった(Vistaならびに7とVC2003は相性が悪い、検索・置換機能がまともに使えないとか色々と)
・VC2003で開発を続けるメリットの消失
(つい先日知ったのですが、VC2005以降はExpressEditionでもコンパイラの最適化が行なわれているようです。
(グッジョブマイクロソフト、これで2003ProfessionalEditionから離れられます!
(まあ、慣れていたので若干の惜しさを感じますが)
)
)
5.バグの修正(シーン遷移時に不要な描画が行われていた)
6.以下の要素がプラグインで拡張可能になるよう変更
・描画タスク追加関数
・描画タスク描画関数(転送方法の種類別)
・描画タスク描画関数(描画タスクの種類別)
7.6に伴いDrawTask構造体を拡張(nArg, strArgメンバを追加)
8.テキストウインドウの強制表示が可能になるよう変更
9.現在の音量がデフォルト音量に準拠しているかをチェックするメソッドを追加
10.9に伴い音量の有効範囲を-10000〜0から0〜10000に変更
11.SEおよび音声の再生メソッドを多重再生可能に変更
デスマは抜け出しましたが、今度は同人ゲーム制作の請け負いで忙しくなっており……(;´Д`)
とりあえず、現状をば。
1.SVNを導入しました
2.Windows7環境を導入しました
いや、まあ私事ですが(;´Д`)
3.降雪エフェクトが完成しました
残る予定は、降雪(パラメータセット)、雨(パラメータセット含む)、蛍(パラメータセットry)、桜(パry)です。
雨ならびに蛍はアルゴリズム選定済みで、桜は考慮中です。
4.VC2003を開発セットから外しました
理由がいくつかありまして、
・開発機が7になった(Vistaならびに7とVC2003は相性が悪い、検索・置換機能がまともに使えないとか色々と)
・VC2003で開発を続けるメリットの消失
(つい先日知ったのですが、VC2005以降はExpressEditionでもコンパイラの最適化が行なわれているようです。
(グッジョブマイクロソフト、これで2003ProfessionalEditionから離れられます!
(まあ、慣れていたので若干の惜しさを感じますが)
)
)
5.バグの修正(シーン遷移時に不要な描画が行われていた)
6.以下の要素がプラグインで拡張可能になるよう変更
・描画タスク追加関数
・描画タスク描画関数(転送方法の種類別)
・描画タスク描画関数(描画タスクの種類別)
7.6に伴いDrawTask構造体を拡張(nArg, strArgメンバを追加)
8.テキストウインドウの強制表示が可能になるよう変更
9.現在の音量がデフォルト音量に準拠しているかをチェックするメソッドを追加
10.9に伴い音量の有効範囲を-10000〜0から0〜10000に変更
11.SEおよび音声の再生メソッドを多重再生可能に変更
412167
2010/07/18(日) 12:30:05ID:4gCLox02 12.スクリプトの拡張
fadein、fadeout命令の拡張
色んなことができるように。fadeinu、fadeoutuの存在理由がなくなりましたが、互換性維持のためそのままにしておく予定です。
また、パラメータ数が増えましたが互換性維持のためシュガーシンタックスとしてデフォルト引数を持たせておきます。
forcetextwindow命令の追加
8に伴いテキストウインドウの強制表示を行える命令を新たに追加しました。
13.音量設定を減衰率を考慮したものに変更
以前は7000でほとんど聞こえなくなっていたものが、0で聞こえなくなるようになりました。
fadein、fadeout命令の拡張
色んなことができるように。fadeinu、fadeoutuの存在理由がなくなりましたが、互換性維持のためそのままにしておく予定です。
また、パラメータ数が増えましたが互換性維持のためシュガーシンタックスとしてデフォルト引数を持たせておきます。
forcetextwindow命令の追加
8に伴いテキストウインドウの強制表示を行える命令を新たに追加しました。
13.音量設定を減衰率を考慮したものに変更
以前は7000でほとんど聞こえなくなっていたものが、0で聞こえなくなるようになりました。
413167
2010/07/18(日) 12:34:12ID:4gCLox02 今まで、そしてこれから
現状は上に挙げました通りで、今のところゲーム制作の方で手一杯な状況です(;´Д`)
とりあえずは、これからについて記していきます。
・現在制作中のゲームをフィードバックしていきます
それによりより現実に即したスクリプト作成を心がけます。
テキストウインドウ強制表示は、フィードバックから生まれました。
・なるべく早めに特殊エフェクトの完成を目指します
アルゴリズムの見立てが終わっている雨ならびに蛍の実装を早めに行います。
今は忙しいですが、まあ隙を見つけて少しずつ進められればと……。
・マイルストーンをいい加減立てます
このままずるずるいくと、ゲーム制作後に手がけることになりそうなので……。
とりあえず、お盆前後には形はどうあれ上げるようにします。
以上です、見ている方がおられるかは分かりませんが(;´Д`)
現状は上に挙げました通りで、今のところゲーム制作の方で手一杯な状況です(;´Д`)
とりあえずは、これからについて記していきます。
・現在制作中のゲームをフィードバックしていきます
それによりより現実に即したスクリプト作成を心がけます。
テキストウインドウ強制表示は、フィードバックから生まれました。
・なるべく早めに特殊エフェクトの完成を目指します
アルゴリズムの見立てが終わっている雨ならびに蛍の実装を早めに行います。
今は忙しいですが、まあ隙を見つけて少しずつ進められればと……。
・マイルストーンをいい加減立てます
このままずるずるいくと、ゲーム制作後に手がけることになりそうなので……。
とりあえず、お盆前後には形はどうあれ上げるようにします。
以上です、見ている方がおられるかは分かりませんが(;´Д`)
414名前は開発中のものです。
2010/07/18(日) 14:45:22ID:ay0n2T2r 64bit対応は?
415167
2010/07/18(日) 19:17:59ID:4gCLox02 >414
ご質問ありがとうございます。
64bit対応は現在のところ考えておりません。
理由としましては、単純に開発環境を有しておらず動作テストを行うことができないからです。
64bit対応プログラミングにおきまして注意すべきところは、以下のようになります。
@int型やlong型が32bitから64bitに拡張される(場合がある)
Aポインタが64bitに拡張される(場合がある)
B0xFFFFFFFFが[-1]にならない
Cアライメントが4バイトから8バイトに拡張される
DWin32APIなどの関数の一部で32bit対応のものと64bit対応のものを変更する
Eアセンブラのレジスタ、命令を書き換える
@〜Cに影響するようなコードの書き方はしておりませんが、
DEについては未知数です。ですので、64bit環境での動作は保障できません。
ただ、いずれは64bit環境が潮流になるような気はしますので対応させてはいきたいところではあります(´Д`)
ご質問ありがとうございます。
64bit対応は現在のところ考えておりません。
理由としましては、単純に開発環境を有しておらず動作テストを行うことができないからです。
64bit対応プログラミングにおきまして注意すべきところは、以下のようになります。
@int型やlong型が32bitから64bitに拡張される(場合がある)
Aポインタが64bitに拡張される(場合がある)
B0xFFFFFFFFが[-1]にならない
Cアライメントが4バイトから8バイトに拡張される
DWin32APIなどの関数の一部で32bit対応のものと64bit対応のものを変更する
Eアセンブラのレジスタ、命令を書き換える
@〜Cに影響するようなコードの書き方はしておりませんが、
DEについては未知数です。ですので、64bit環境での動作は保障できません。
ただ、いずれは64bit環境が潮流になるような気はしますので対応させてはいきたいところではあります(´Д`)
416167
2010/08/29(日) 17:59:39ID:zUSxxtwK 現状報告です。
……お盆前後を過ぎても上げられておりません(;´Д`)
理由としましてはフレームワークの再構築を行っているのですが、
そちらでバグが多発して修正に手間取っているからです。
とりあえず今のところ、セーブ/ロード周りをクラス化しました。
これにより、派生クラスさえ作ればパックファイルからでも何からでも
ファイルの読み込み・書き込みが行えるようになります。
とりあえず現在の作業が終わって、今まで作成したサンプルの動作テストが完了して
からアップロードしようと考えております。現在、ゲーム制作も請け負っているため
結構時間がかかりそうです。早くても九月下旬ぐらいでしょうか……が、がんばります(;´Д`)
……お盆前後を過ぎても上げられておりません(;´Д`)
理由としましてはフレームワークの再構築を行っているのですが、
そちらでバグが多発して修正に手間取っているからです。
とりあえず今のところ、セーブ/ロード周りをクラス化しました。
これにより、派生クラスさえ作ればパックファイルからでも何からでも
ファイルの読み込み・書き込みが行えるようになります。
とりあえず現在の作業が終わって、今まで作成したサンプルの動作テストが完了して
からアップロードしようと考えております。現在、ゲーム制作も請け負っているため
結構時間がかかりそうです。早くても九月下旬ぐらいでしょうか……が、がんばります(;´Д`)
417名前は開発中のものです。
2010/08/29(日) 19:42:19ID:o9gXKL0X はい先生!
>派生クラスさえ作ればパックファイルからでも何からでもファイルの読み込み・書き込みが行えるようになります。
こういうのは委譲の方がいいと思います。
>派生クラスさえ作ればパックファイルからでも何からでもファイルの読み込み・書き込みが行えるようになります。
こういうのは委譲の方がいいと思います。
418167
2010/08/29(日) 20:23:33ID:zUSxxtwK >417
レスをありがとうございます(´Д`)
>はい先生!
>
>>派生クラスさえ作ればパックファイルからでも何からでもファイルの読み込み・書き込みが行えるようになります。
>
>こういうのは委譲の方がいいと思います。
委譲……ですか?
今現在の実装は、このような感じです。
//クラスA(セーブ/ロードを行うクラス)
class A{
void Save(IIOStream* stream){
Stream->Save(Param1);
Stream->Save(Param2);
}
void Load(IDataReader*
Stream->Load(&Param1);
Stream->Load(&Param2);
}
};
//セーブ/ロードクラス
class IIOStream{
レスをありがとうございます(´Д`)
>はい先生!
>
>>派生クラスさえ作ればパックファイルからでも何からでもファイルの読み込み・書き込みが行えるようになります。
>
>こういうのは委譲の方がいいと思います。
委譲……ですか?
今現在の実装は、このような感じです。
//クラスA(セーブ/ロードを行うクラス)
class A{
void Save(IIOStream* stream){
Stream->Save(Param1);
Stream->Save(Param2);
}
void Load(IDataReader*
Stream->Load(&Param1);
Stream->Load(&Param2);
}
};
//セーブ/ロードクラス
class IIOStream{
419167
2010/08/29(日) 20:25:05ID:zUSxxtwK ……途中で切れてしまいました(;´Д`)
//セーブ/ロードクラス
class IIOStream{
public:
~IIOStream(){}
};
class IOStream1 : public IIOStream{
void Save(param p){
fwrite(p);
}
void Load(param* p){
};
//セーブ/ロードクラス
class IIOStream{
public:
~IIOStream(){}
};
class IOStream1 : public IIOStream{
void Save(param p){
fwrite(p);
}
void Load(param* p){
};
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★3 [ニョキニョキ★]
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★4 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に ★2 [ぐれ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 【テレビ】鈴木福&あのちゃんW主演 テレ東で押見修造氏の漫画『惡の華』実写ドラマ化決定! 累計325万部を突破した伝説的漫画 [冬月記者★]
- 防衛費増額「賛成」62・8% 「反対」32・2%を大きく上回る 賛成「18~29歳で8割」世代差あらわ 産経FNN合同世論調査 ★3 [尺アジ★]
- 【実況】博衣こよりのえちえち朝こよ🧪★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- 【悲報】小野田紀美さん、宇宙人みたいな服を着てしまう…また、そのことを突っ込まれブチ切れ中www [856698234]
- 【悲報】セブンイレブンの納豆巻きの値段、限界突破wwwwwwwwwwwwwwwwww [977261419]
- 🏡
- お前らっていつもここにいるよな
