2011年3月30日水曜日

にきち

 メモリ1Gでは全然足りないようなので増加しようかと思う。
とりあえず現在どうなってんのかと中身見たら1Gが1枚刺さってた。
メモリ抜いたら刺せなくなって泣きそうになった。
いったん半刺しにし、それからぐっと押し込むと刺さった。よかった。
 
 何Gまでのメモリを認識するのか不明で、とりあえず調べないと。
最大4Gなのはとりあえずわかった。1枚では2Gのメモリまで可っぽい?
 2Gのメモリぽちった。ポイントで買ったので無料。
相性が良ければ合計3G、悪くても2Gに増加予定。
memtestをどうやって行うかが問題だ、なにしろDVD-ROMドライブだからメディアに書き込めない。
 
 ビデオRAMとして使用されるメイン・メモリーの容量は、BIOS等で設定変更することはできません。
とあったがばりばり設定可能で、128MBと256MBの2択だった。
 
 BGMバグがデバッグモードでなかなか発生しないので難航してたのだけどようやく発現。
ov_time_seek( &vf, 0 );
の行からあとが追跡できなかったが、どうもOggVorbis_Fileデータが怪しげ。
スレッド内外からアクセスするからタイミング次第で壊れる可能性が考えられたため、
とりあえずアクセスする関数をスレッドセーフにしてみた。
Mutex初めて使ったよ!
本当に機能するかどうかデバッグすらしてないのでかなり不安だが、デッドロックは今のところしていない。
auto_ptr的なもので自動的にmutexを開放する仕様なので開放忘れだけはない、はず。
 ざっとMutexのテストした。正常に動いてるっぽい。
メインで1000msに一度、スレッドで100msに一度標準出力するプログラム描いて動作させたところ、
Mutex未使用のほうは1000 -> 100 -> 100 -> 100 ->...
となり、Mutexを使用したほうは
1000 -> 100 -> 1000 -> 100 -> 1000 -> 100 ->...
となった。

2011年3月27日日曜日

libogg, libvorbisコンパイル

 VC++2005EEを使用。
StaticLibraryを作成。
liboggとlibvorbisが必要なのでとってくる。
現在の最新はliboggが1.2.2、libvorbisが1.3.2のようです。
 
 おおざっぱにいえば、フォルダ名「libogg-1.2.2」を「libogg」改名。
liboggの設定をいじってコンパイル。
libvorbisの設定をいじってコンパイル。
とするだけ。
 
 とりあえずダウンロード、展開。


 
 フォルダ名を「libogg-1.2.2」から「libogg」に。

 
 /libogg/win32/VS2005/libogg_static.slnを実行。

 
 Releaseに。

 
 プロパティを開く

 
 構成プロパティ-> C/C++ -> コード生成のランタイムライブラリを「/MT」に。
自分のプロジェクトにあわせる。

 
 コンパイル

 
 /libvorbis-1.3.2/win32/VS2005/vorbis_static.slnを実行

 
 Releaseに

 
 プロパティを開く

 
 構成プロパティ-> C/C++ ->コード生成のランタイムライブラリを「/MT」に。
他3つの設定も同じように変更する。

 
 コンパイル。警告がでるがスルー。

 
 /libvorbis-1.3.2/win32/VS2005/win32/release/
に「libvorbis_static.lib」と「libvorbisfile_static.lib」が

 
 /libogg/win32/VS2005/Win32/Release/
に「libogg_static.lib」が生成され、完了。
お好きなところに放り込んでお使いください

 
 自分の場合ヘッダファイルは
「ogg.h」「os_types.h」「vorbisenc.h」「vorbisfile.h」「codec.h」
だけ使った。
「ogg.h」と「codec.h」は
中で#include <ogg/ogg.h>などとなっていたため
#include "ogg.h"と勝手に直して使っている。
パス通すのが面倒なんだ。

libpngのコンパイル

 VC++2005EEにて。
libpngzlibのソースコードが必要です。
現時点での最新はlibpngが1.5.0、zlibが1.2.5のようです。

 
 おおざっぱにいえばフォルダ名を「zlib-1.2.5」から「zlib」に変更してコンパイルするだけ。
以下とても若干詳しい流れ。
 
 とりあえず展開する。

 
 フォルダ名「zlib-1.2.5」を「zlib」に変更。

 
 /libpng/projects/visualc71/libpng.slnを実行。

 
 変換しますかとでるので変換する。

 
 自分はStaticLibraryとして使うので「LIB Release」を選択しておく。
DLLにするばあいは「DLL Release」を選択すればいいと思われる。

 
 プロパティを見る。

 
 ランタイムライブラリを「/MT」に選択。
デフォルトでこうなってました。
ここの設定を自分のプロジェクトに合わせておかないと悲惨なことになります。

 
 コンパイルすると
Win32_LIB_Releaseフォルダ内に「libpng.lib」が、
Win32_LIB_Release/ZLibフォルダ内に「zlib.lib」が生成され、完了。
お好きなところに放り込んでお使いください。


 
 自分の場合、ヘッダファイルは
「png.h」「pngconf.h」「pnglibconf.h」「zlib.h」「zconf.h」
だけ使用しました。特に中身もいじくらなかった。

2011年3月23日水曜日

にっき

 BGMデータを破棄するときにアプリケーションが落ちる症状がちょいちょい見られたが、
回避方法が見つからず。
とりあえずliboggまわりを最新のに差し替えてみたりした。
どうもマルチスレッドでのメモリアクセス周りが怪しい気がするが。
 
 ついでにIME2010を入れた。
使い勝手はとくに変わらない。
 もういっこついでにFireFox4入れた。
マウスジェスチャーだけいれればなんとかなる。
ブックマークウィンドウの表示がちょっと面倒くさいな。ぷにる風にできないかしら。
javascriptが速くていいね。IE系だとgmailでもたつくけど、Firefoxなら割とサクサク。
一晩様子見つつ使ってみようと思うが、メモリ消費量だけが心配。

2011年3月21日月曜日

日記ちゃん

 ひさしぶりにケーキ焼くのに失敗。
バター混ぜた瞬間泡がぶくぶくしてまったく膨らまないケーキに。
捨てるわけにもいかず、とりあえず焼いたがやっぱり膨らまない。
小さい体積に脂分が凝縮されあまりにおいしくないが捨てるわけにも行かず食べる。まずい! 
 卵の混ぜ具合チェックに「のの字を描ける」というのがあるが、あんまり当てにならない気がする。
卵の温度によっては少ない混ぜ回数でもかたかたになったりならなかったりするようで、
素直に混ぜ時間を計ったほうが失敗しづらいのではないか。
 今回の失敗は卵の混ぜが足りないかったものと踏んでるが、
バターの温度とかも影響するかもしれないからなんともいえない。研究不足。
週に2個程度の製作ではとても良好な結果が得られないな。
でもこれ以上たくさんはさすがにケーキ食べられないジレンマ。
 
 
 どうでもいいといえばどうでもいいが
2人で遊べるゲームでの、2プレイヤーのデフォルトキーセッティングが地味に迷うよね。開発側として。
パトダはとりあえず移動がテンキー、ショット他がQから右としている。
手持ちに二人で遊べるゲームがないが、Sonic Sistersはどちらかがパッドになるみたい(キーボードのみで2人プレイは無理っぽい)。
 なんだったかのゲームが4人プレイで全員キーボード可なのがあった覚えがある。
他の人の手が最大の障害のように思える。
キーの同時押し制限があるだろうから遊ぶのに限界があるだろうけど。
 
 今にして思えばパトダのショットほかもテンキーのどれかにすればよかったように思うが、
そのときの開発環境がノートPCだったからそもそもテンキーがないんでぱっと思いつかなかったんだったか。

2011年3月17日木曜日

日記ちゃん

 いまさら気がついたが、HTのおかげか無限ループしてもCPUが50%どまりだ、すげえ。
ring^-27とかパドダでのフルスピードで40%越えは結構きつきつに動いてたんだな。
なんか、ようやくスレッドでの処理分割に存在意義を感じてきたわ。
 
 ひっさしぶりにstd::stringに触ったわ、まったく覚えてないね!
UNICODE対応にするためにbasic_string<TCHAR>と使ったが、果たしてあってるのかどうか。
wstringとかあるけど#ifdefすんのめんどくせえんだ。
_tprintf( str.c_str() );
とやって出力してる。とりあえず動く。
 すなおにiostream系使えば早かったな、半端だ。

2011年3月6日日曜日

にっきちゃ

 うわあああああ
バグが取れたぞぉおおああああああ
かなりコアな部分でxとy間違えてたんだ。

2011年3月5日土曜日

日記ちゃん


 多少ナッペのみこめてきた。
生地が見えない、かつ水平にできるようにクリーム塗るとうまくいくように思われる。
結構いきおいがいるかなあという印象だが、ついつい消極的になっちゃう。
この辺は性格が出るんじゃないかな。
 生地のほうが失敗率が相当さがってきて、まあまずまずな出来に仕上がるようにってきた。
この間ホテルのランチにいったときにデザートにケーキがあったのでまじまじと観察したのだけど、
すっっっっっっごいきめが細かいのね。どんなマジックなんだ。
卵の混ぜ方か粉がすげえふるってあるかのどっちかなんじゃないかと思うが。
 あとナッペ超きれい。チョコレートケーキかってぐらいにさらさらだし意味わからん! すげえ!
 
 写真取ってから気がついたが角の修正忘れてるな、まあいいか。
なんかこう「本見て作りました!」感があって、素人まるだしでダサいな。器が知れる。
いちごうめえ。
 
 写真の状態でまた半日ほど置いて、イチゴをしんなりさせないと
フォークで上からケーキを切ったときに横からイチゴがどびぇっとはみ出る。

2011年3月4日金曜日

449号

449号
http://cid-8cd7cf5ea9fbca55.office.live.com/self.aspx/Public/music/no%20name449%5E_2.ogg
 
size: (1.38MB)
ツール:ピストンコラージュver0.9.1.4
    SoundEngine Free ver4.51
音源:デフォルトの
 新しい環境でのサウンドテストがてら。
気がつけばもう449曲目。
マスタリングのパラメータを保存し忘れてたため若干感じが変わっちゃった。
 
 LMMSの新しいの使ってみたら音が細切れでどうにもならない。
設定も保存できないし、どうしちゃったの。
パスにスペースがあるとだめとか全角文字があるとだめとかそういうあれかしら。

2011年3月3日木曜日

日記ちゃん

 「L.U.X」動いたー。
ってことで通常プレイで10%程度とかけらも負担になってませんな。
あとリプレイ中にポーズかけても倍率リングが稼動しててスコアがリプレイ結果と一致しないバグを見つける。
どういう実装してんだい? 覚えてねえ。
まあどちらにせよこのシステムはインパクト弱いし改装せざるを得ないだろうしいいか。
意外にDirectX使った割りにはぼちぼち動いてる様子で予想外というかなんというか。
あー、あとver0.001ではセーブデータの出力をし忘れてるの……。もっと根本的な問題も多数あるから対したことない。
 
 PC本体のUSB差込口にマウスの無線レシーバーつけたら本体に邪魔されて電波が届かない。
あとシェーダ2.0には対応してるのかなと調べまわったら3.0に対応してるっぽい。ひゃっほう!
調べて買えよ。

2011年3月2日水曜日

日記ちゃん

届いたー。月曜注文、火曜発送、水曜受け取りとスムーズ。
せっとあっぷなう。
 
 以下メモ
Pentium 4 プロセッサー 631 3GHz
メモリ1GB(最大4GB)(PC2-5300 DDR2)
HDD 80GB(シリアルATA、7,200rpm)
Intel® 946GZ Express (ビデオメモリ256MB)
DVD-ROMドライブ
 
 と、自分のブログに書いておけばメモリを買い足したいときに型を調べる手間が省けると。
CD-Rに焼けないので地味に対策が必要か、
ノート用のDVDマルチドライブをどうにかして使えないかな? 調べたけど無理そう。
耐久実験とかしてみたいけど意外にこの子もたつくので期待できなさそう。
「ring^-28」がフルスピードでCPU43%程度、「PatriotDark」フルスピードで40%ぐらい
どちらも通常プレイなら10%ぐらい。今まで80%ぐらい使ってたのはなんだったのかと。
「L.U.X」はDirectXインストしてないので動かず。「d3dx9_28.dll」が必要ですってだんな。
 
 いままでのと音の感じが違って少し低音が強調されるようなので、曲作るときに影響が出そう。
あとばりばりにノイズがのる、ちょっと調べないと耳がつらい。耳を幸せにしたい。
なんか適当にサウンドカード買うか。
 調べてたらフロンとジャックは云々と出てきたので、
本体背面のほうにプラグ差し込んだらノイズがなくなった。
1曲作る前に知りたかった……。すごくいい音です。