FPSを作ってみる@wiki
01)
最終更新:
slice
-
view
(2012/01/20)
今日,私は大変な発見をしてしまった
twilveが開発PC以外の環境で動かない.何を言ってるかわからないと思うが.自分も何がなんなのか.
公開から20日経ってランタイムか何かの問題で「動かない」.正直,吹いた.
本来なら自分で別PC用意して確認すべきだったがあまりにもお粗末,そして人居ない.
もちろん直すけど.直したところでって感じだけど.
公開から20日経ってランタイムか何かの問題で「動かない」.正直,吹いた.
本来なら自分で別PC用意して確認すべきだったがあまりにもお粗末,そして人居ない.
もちろん直すけど.直したところでって感じだけど.
(2012/01/20)
定時報告
祝.1000リビジョン.おお,どうでもいい.
そんな訳でいつものDoneリスト.
- STLPortを導入
なんとなく.若干デバッグの動作が軽くなりプログラム容量も減ったものの
デバッガでvectorやmapコンテナやイテレータの中身が見られなくなってしまうので一長一短.
いや,短の方がデカい気が.リリース時だけ使うのも手か.
デバッガでvectorやmapコンテナやイテレータの中身が見られなくなってしまうので一長一短.
いや,短の方がデカい気が.リリース時だけ使うのも手か.
- マルチバイト変換対応
WideCharToMultiByteとMultiByteToWideCharを使っただけなので大したこと無い.
UTF-8とUTF-16の相互変換に加えマルチバイト(というかダブルバイト,更に言えばShiftJIS)にも同じ様な記述で対応しましたよと.それだけ.
Unicodeだけで事足りるのに何故かと言えば,
std::iostreamにてopenの引数には規格としてはconst char*オンリーなのだ.
MSが独自にconst wchar_t*にも対応させてるけどSTLPortには勿論無いので日本語ファイル名を開きたい時に
どうするのかと思ったらマルチバイト文字列を渡すらしい.
そしたら内部でCreateFileAが呼ばれUTF-16変換された後にCreateFileWに渡される,と.
効率悪いがループ回すでもなし,良しとする.
UTF-8とUTF-16の相互変換に加えマルチバイト(というかダブルバイト,更に言えばShiftJIS)にも同じ様な記述で対応しましたよと.それだけ.
Unicodeだけで事足りるのに何故かと言えば,
std::iostreamにてopenの引数には規格としてはconst char*オンリーなのだ.
MSが独自にconst wchar_t*にも対応させてるけどSTLPortには勿論無いので日本語ファイル名を開きたい時に
どうするのかと思ったらマルチバイト文字列を渡すらしい.
そしたら内部でCreateFileAが呼ばれUTF-16変換された後にCreateFileWに渡される,と.
効率悪いがループ回すでもなし,良しとする.
- モデルのエクスポータープラグインをリファイン
コード一通り読んで昔のイケてない書き方を直したりなど.
3ds max9SDKは各所にTCHAR使ってUnicode対応してるようでいていざ読み込ませると
実質的に対応してない事がわかり二度手間を食う.
3ds max9SDKは各所にTCHAR使ってUnicode対応してるようでいていざ読み込ませると
実質的に対応してない事がわかり二度手間を食う.
- モデル読み込みクラス
これはまだ途中なのだが.上記のプラグインでエクスポートしたモデルを読み込み
頂点バッファや当たり判定やジョイント等の管理をするクラス.早い話がモデル表示.
前に書いたソースのリファクタリングがメイン.
頂点バッファや当たり判定やジョイント等の管理をするクラス.早い話がモデル表示.
前に書いたソースのリファクタリングがメイン.
- 描画コードを大幅改造
描画の手順が大きく変わる位の規模.詳しくは秘密.
- とあるネットワーク関連のコードを追加
ここ1週間はずっとコレ.やっぱり秘密.
(2012/01/06)
いつもならコレ出来たアレやりたい等と書くつもりだったがどうにもモチベーションが.人来ないし.
少なくともトップのカウンタ,あれ半分は自分.
更新が暫く滞り場合によってはフェードアウトするかもしれない.だけどそれもやっぱりどうでも良い事なんだろう.
少なくともトップのカウンタ,あれ半分は自分.
更新が暫く滞り場合によってはフェードアウトするかもしれない.だけどそれもやっぱりどうでも良い事なんだろう.
(2012/01/04)
修正 => twilve_alpha003
ツイートの検索ができない問題を解決.原因はシンプルでGETメソッドで送るパラメタをURLエンコードしていない事だった.
認証後にストリームAPIが切断される問題は予想通り,
認証IDのエントリをクリアし忘れていて後のリクエストにも送信され続けてしまっていた.これも単純ミス.
[REST]search の結果が表示されない,エラーが出る云々は返されるJSONの形式が他APIと異なる為に起きていた.
これも数カ所の修正で動くようになった.
認証後にストリームAPIが切断される問題は予想通り,
認証IDのエントリをクリアし忘れていて後のリクエストにも送信され続けてしまっていた.これも単純ミス.
[REST]search の結果が表示されない,エラーが出る云々は返されるJSONの形式が他APIと異なる為に起きていた.
これも数カ所の修正で動くようになった.
それと実はこちらの方が時間食っているのだが
見えない所ではHTTPヘッダの解析をboost::xpressiveで書き直して更に不要な(このプログラムでは使わない)ヘッダを
メモリに蓄えない事で幾らかの効率化を計った.
ただ,全体的にnewとオブジェクトのコピーをしまくっているので時期が来たら1から設計し直したい.
見えない所ではHTTPヘッダの解析をboost::xpressiveで書き直して更に不要な(このプログラムでは使わない)ヘッダを
メモリに蓄えない事で幾らかの効率化を計った.
ただ,全体的にnewとオブジェクトのコピーをしまくっているので時期が来たら1から設計し直したい.
次はプラントが受信するソースの選択に入りたい所である.
(2012/01/03)
修正 => twilve_alpha002
ライブラリの接合性に関して,関係するライブラリを全てビルドし直した.
これでふとした時にメモリエラーが出る事は無くなった(はず)
自分の環境で試す限りF1キーでプロファイラを表示させても大丈夫になった.
これでふとした時にメモリエラーが出る事は無くなった(はず)
自分の環境で試す限りF1キーでプロファイラを表示させても大丈夫になった.
検索キーワードについてはアルファベットでは一応動くものの日本語を検索しようとすると上手くいかない.
あと,認証後はプログラムを一端終了しないとストリームAPIが切断されてしまう.
明日はこの辺を直そうかと思っている.
あと,認証後はプログラムを一端終了しないとストリームAPIが切断されてしまう.
明日はこの辺を直そうかと思っている.
(2012/01/02)
遂に公開
去年の目標は「プログラム公開」だったんで新年直前にTwilveのα版をアップしてみた.
実のところα版にも達してないが,αの前の名称を知らないので・・
実のところα版にも達してないが,αの前の名称を知らないので・・
当初依存DLLをすべて統合する形でコンパイルしようとしたらライブラリの形式が合わないだなんだで手間取る.
修正してできない事もなかったが
その他にパスを固定でやっていた箇所や認証プロセスのエラー処理など
配布にあたって解決すべき問題が沢山あったのでそちらを優先した.
大晦日はぶっ通しで作業を続け,なんとか間に合わせドヤ顔で新年を迎えたはいいが
後の報告でいきなりSSLライブラリのDLLを同梱し忘れてた事が判明するなど.
修正してできない事もなかったが
その他にパスを固定でやっていた箇所や認証プロセスのエラー処理など
配布にあたって解決すべき問題が沢山あったのでそちらを優先した.
大晦日はぶっ通しで作業を続け,なんとか間に合わせドヤ顔で新年を迎えたはいいが
後の報告でいきなりSSLライブラリのDLLを同梱し忘れてた事が判明するなど.
そんなこんなで今年もよろしくお願いします.
差し当たってのTodoリスト:
- JSONデータを扱うクラスを自作の物に一本化
- ビルドオプションの差異に起因するライブラリ間の接合性問題を修正
- 上の項目を修正した後にランタイムエラーで落ちないか確認
- 検索キーワードが動作しない不具合を解決
- プラントが受信するソース選択ウィンドウを実装
添付ファイル