無題
NeoMupl、まだメモリエラーが起きます。
でも今回はちゃんと原因を突き止めました。
そして自分の力ではどうにもならないことも。
DirectMusicまわりを改善したのですが、最終的に出力MIDIポートとの相性でエラーが出るようです。
なので、解決方法としては標準のMIDIポートを使うしかなさそうです。
そうそう、アンパンDBにランダムセレクト機能をつけました。
NeoMupl、まだメモリエラーが起きます。
でも今回はちゃんと原因を突き止めました。
そして自分の力ではどうにもならないことも。
DirectMusicまわりを改善したのですが、最終的に出力MIDIポートとの相性でエラーが出るようです。
なので、解決方法としては標準のMIDIポートを使うしかなさそうです。
そうそう、アンパンDBにランダムセレクト機能をつけました。
気を取り直して別の絵を描いてました。
とはいっても前回同様ほぼトレースですが。
今回はそれだけではつまらないので持っていたパンをバナナマンに差し替えてみました。
普段からバナナ食べまくるゲームを作っているので大丈夫だろうと思っていたのですが、ドット絵と大きな絵では、しかも丸のままと食べかけでは勝手が違うのでいろいろ苦労しました。
ちなみに左にいるのがヤーダ姫、右にいるのがレッサー。食われてるのがバナナマン。
描いてた絵が消えました…。
はてさて。例の可変長分数型構造体、どうにも内部で使用している可変長整数型の挙動に不安定なところがあるため、というか、9999桁であるべきところを9995桁と認識するなど、明らかに大きな数で挙動がおかしいため、泣く泣く固定長分数型にしました。
今は64bit符号付整数型2つを使っているため、計算間違いを起こさないように最初の32bitだけを使うような計算にしています。それを超えると約分したり、それでも足りなければ精度を落とすように分子と分母を小さくして対応しています。
アキヤメのアンパンマンDBにランダムセレクト機能をつけたらどうかと思いました。
なんだか引っ越すことになりそうな雰囲気です。
神奈川まで行っておりました。
ダウンロードコーナーのページをいろいろと細かく更新しました。
他のコーナーでもちょくちょくやってるJavaScriptでのメニューの開閉と、それぞれのページでのRSSへのリンクです。
NeoMuplも進みました。
MIDIを再生してもエラーも何も起こらなくなりました!
…と言いたいところですが、再生できないファイルだった場合の処理が甘いので、その点の処理は改善が必要そうです。
で、実際に作り始めました。
マネージドとアンマネージドの混在するややこしいプログラムにもだんだん慣れてきたところです。
参考にするためBomber丸WorldのBGMクラスを見ていたらIDirectMusicのReleaseし忘れを発見しました。
これもそのうち直そうと思います。
VC++でDirectXのDLLを作ってC#のNeoMuplで使うというのも悪くないかもしれない。
ネイティブとマネージドを混在させる利点ってこういうのぐらいしか思い当たらぬ。
でもやっぱりマネージ拡張よりはマシとはいえ無理やり.NETに合わせたC++/CLIは扱いにくい気がします。
そんな中がんばって可変長分数型を作ってみたりもしてました。
どうせBoostあたりであるんだろうけど、まあ研修だし、ここは自分で作ってなんぼということで。
研修で数式を計算するプログラムを作りました。
昔コンパイラを作ろうとしたときの経験が役に立ったような気がします。
C++/CLIも久々に触ってみたけどやっぱり私には合わない気がします。
ネイティブコードとマネージコードを混在させられるという利点はあってもそのせいでややこしくなった面もあるし…。
というわけでアンパンDBで公式サイトにある分は一通りリンクしておきました。
どうにもNeoMuplのDirectMusicが不安定なのでVB用DirectXを使わない方法で再生できないかいろいろ試していました。
C言語用のDirectXのC#での使い方が分からなかったので簡易的なDLLをどっかから拾ってきて使ってみたのですが、これはこれでうまく動かないようでした。残念。
アンパンDBにリンク機能をつけました。
関連性の深いサイト、というか、公式サイトへのリンクを張る予定です。
アンパンDBの管理フォームが完成しました。
アンパンDB管理フォームの表示部分が出来上がりました。
検索文を入れるとフォーム内にデータがずらずらと。
あと、コラムに限り、入力にも対応できました。
今回、データ形式を一部変更したので一部どこかに不備があるかもしれません。
月曜日に更新し忘れていたアンパンDBのトップページを更新してきました。
本当は金曜日に帰る予定だったのですが、明日木曜日に帰ることになったようです。
なんだか今度は大阪に行くとか何とかで。
結局管理画面の作成が間に合わないまままた泊まりこみになってしまったのでまたしばらくは不便な管理画面での更新が続きそうです。
あと、ネットにつなぐ時間も少し事情があって減りそうなのでネットにつないでない間に書ける文章をどんどん書いていこうかなと思っています。
アンパンDBの管理画面を作っていました。
そろそろいろいろ増えてきて大変になってきたので。
phpMyAdminはしばらくすると勝手にログアウトされるみたいなので文章考えるのに時間がかかるとちょっと困ったことになるんですよね。
どうにも私が絵を描くと模写ですらまともに描けてない気がするので、今度はすでにある絵を元にトレースしてみることにしました。
今日描いたのはアンパンマンに登場した星の子ヒカルンです。
というわけで、サイト弄りができるようになったので4日に言っていたことを一通り実装してみました。
それと、ひそかにQ&Aコーナーも設置。
うぇ~…とりあえず課題は出来上がりました。
明日発表したら楽になるかな、というところ。
と、いうほど大変でもなかったけど。
月~金はほぼソフト開発&サイトいじりができないので戻ったら何をするかを考えています。
とりあえず今アンパンマンDBでやりたいことは以下の3点。
・右側テーブルの横幅の制限
・検索結果がひとつしかない場合は自動でその結果にリダイレクト
・各話・キャラごとに一言説明をつけて探しやすくする
う~む、アンパンマンDBの右側の情報欄、時々横に広がって見にくくなりますね。
横幅を制限していつでも見やすくするようにします。
…そのうち。
とりあえず使い方で書き忘れていた部分があったのでふにゃさんのマニュアルを修正しました。
ステージエディタのマップチップの使い方の最後の一文ですね。
本体への同根はコンフィグのアプリケーションエラーの解決後にしようと思ってます。
ふにゃさんのコンフィグでいまだにエラーが起こるようですね…。
どうにもエラーの雰囲気からしてDLL呼び出しに関係がありそうではあるのですが。
ところで、今日アンパンマンDBにコラムのページを作りました。
これはさすがにMySQL使うまでもなかったんですが、せっかくのデータベース遊びなので今回もMySQL使いました。
アンパンマンの深いところを考えてみたり新キャラを考えて遊んだりしてみたいなと思っています。