2009-04-04
_ [Mozilla]
updaterのエントリポイントの部分がうまくないので、パッチを書く。
gccでのエントリポイントはmain()であって、wmain()は使えない。-e wmainCRTStartupも通用しない。
XP_WINかつ__GNUC__のときはmain()を定義して、文字コードを変換した上でwmain()に渡すようにした。
具体的にはこうなる。
#if defined( XP_WIN ) && defined( WIN32 ) && defined(__GNUC__)
int main(int argc, char **argv){
wchar_t **argv_ = static_cast<wchar_t**>(malloc(argc * sizeof(wchar_t*)));
for(int i = 0; i < argc; i++){
int ws = MultiByteToWideChar(0, 0, argv[i], -1, NULL, 0);
argv_[i] = static_cast<wchar_t*>(malloc(ws * sizeof(wchar_t)));
MultiByteToWideChar(0, 0, argv[i], -1, argv_[i], ws);
}
return wmain(argc, argv_);
}
#endif
2009-04-05
_ [ゲーム]
さて、メンバー入れ替えるたびにジャンクション入れ替えるのは面倒なので
いっそのこと全員にあらかじめGFをジャンクションしてしまいたい。
・初期レベルで最後まで行って、Lvアップボーナスを使う。
・ポケステ、薬or食べるドーピング禁止。
・命中Jは3つしかない。
・リノアは攻撃しかしないので、アビリティは必要なものだけ。
・序盤のGFはHP強化が必要。終盤のGFは不要。
で、全GFのアビリティをまとめると、
・カーバンクルは余裕があるのでリノアに。
・他のGFを5人で3つずつ割り当てる。
検討のためのシートを作ったのでアップしとく。openofficeでどぞ。
ff8_gf.ods FF8 GF配分検討シート。
ついでなので、他のもアップ。
ff4_l99.ods FF4 Lv70以降の育成チェックシート。SFC、GBA対応。
・メインはアダマンアーマーなしの方。
・セシルとカインは黒帯胴着で決まり。魔法防御は落ちるが、武器攻撃完封には代えがたい。
・ムラサメは精神の替わりに知性(=忍術の威力)を得ると考えると、意外と有益。
・アダマンアーマーありローザは、知性+10(=魔法防御回数+1)の金の髪飾りが有益か。
fft_lvup.ods FFT Lvアップ時のステータス計算シート。PS、PSP対応。
・レベルダウンせずにどこまで強く出来るか調べるのが目的。
・実機より高精度なので過信しないこと。実機での検証が必要不可欠。
・がんばれば、ナイトでA20とSP12が両立できる。Lv75までナイト、それ以降は忍者でOK。
・バルフレア(空賊)のSP補正率は異常。
2009-04-06
そもそも、著作権を盾にコンテンツそのもので儲けようとするから、訳分からん状態になるわけで。
スポーツとかと同じようにならんかな。
アーティスト(現) | フリー | アーティストとして創作 | コンテンツの売り上げとして ギャラを支給 |
プレイヤー | 一般企業の社員 用品メーカのアドバイザ | 社員の仕事としてプレイ (通常業務もある) | 社員として給与を支給 |
アーティスト(新) | 企業・レーベルの社員 楽器メーカのアドバイザ | 社員の仕事として創作 (通常業務もある) | 社員として給与を支給 |
てか、書いてて思ったのが、コンテンツ売り上げのため著作権で保護して、保護活動そのものを
JASRACに委託してしまってるという、○投げ体制のマズさ。
売り上げ確保という重要な部分を全員そろって外部に任せちゃってるから、JASRACが台頭してしまう。
JASRAC委託をやめて重要な部分は自分たちで管理するのが、やっぱり筋なんじゃないかと。
もちろんコンテンツ保護は、アーティストの意向を絶対として。
重要だけど面倒な部分を、手間が省けそうだとかいういい加減な理由で、目的が違う(=著作権保護)けど
似たようなことをやってるJASRACに任せたのが間違いの始まりか。
要するに、目的と手段は正しく組み合わせましょう、という話。
2009-04-07
_ [ゲーム]
GFを全員に割り振る上で考慮しなければならないのが、アビリティの配分。
Lvアップボーナスを以下のように適用したとする。
HP | 力 | 体力 | 魔力 | 精神 | |
リノア | ○ | ○ | ○ | ○ | |
男 | ○ | ○ | ○ | ○ | |
女 | ○ | ○ | ○ | ○ |
机上と実機で以下のように検証・考察した。
・Lvアップボーナスがあれば、力、魔力に強い魔法を使わなくてもよくなる。
→グラビデ+力、魔力+60%で255に到達できる。
・Lvアップボーナスがあれば、体力、精神に強い魔法を使わなくてもよくなる。
→リジェネ、ケアルガで十分。255狙いなら体力、精神+60%を。
・Lvアップボーナスがあれば、HP+80%が不要。
→誰でも素で6500ほどに。力、魔力から解放された魔法を割り当てればいい。
・命中Jはスコール、セルフィは不要。リノアはカーバンクル1本なので不可。
→必然的にゼル、アーヴァイン、キスティスに。
・暗黒は3倍ダメージ。
→力255でたたかう約5000ダメージを考えると、R1が効くスコールにはもったいない。
→ST攻撃ドレインと併用可。あえて付けずにHP減らして、リミットを狙うのもあり。
・防御はかばう、カウンターと組み合わせることが前提。
→守りを固めつつ手数が稼げる。カウンター攻撃でもスコールならR1が効く。
・暗黒、防御ともにコマンドアビリティ。同時に実行できない。
→この2つを1人に両方割り当てても活用しきれない。
・ぶんどるは暗黒、カウンター攻撃には適用されない。
→できれば攻撃役にだが、基本的には誰がつけても同じ。
・薬の知識はオートポーション実行時にも有効。
→防御役はこれで体制を崩さず自力で回復できる。
・トリプル消費1はダブル消費1の上位互換ではない。
→効果はそれぞれ独立。魔法役のキスティス、セルフィに。
・オートプロテス、オートシェルは不要。
→体力+60%、精神+60%の方が効果が高い。魔法で使えば効果重複。
2009-04-09
_ [Mozilla]
ビルド時にmakeのオプション -j2 を渡してるけど、実際には全部が全部パラレルで実行できるわけじゃない。
つまり-j2を指定しても、CPUが遊んでしまう時間帯がある。
フォアグラウンドのクライアントアプリや、同時多数アクセスのあるサーバアプリはユーザのオペレーションにすぐに応答することが求められるので、できるだけCPUを使わないことが要求されるが、ユーザのオペレーションが存在しないバッチ処理では、できるだけCPUを使って処理を速く終わらせることが要求される。
自動ビルドはバッチ処理なので、速ければ速いほどよい。
今回の場合では、-j2で1本をパラレルで走らせるよりは、シリアル2本をパラレルで走らせるほうが速い。はず。
で、Windowsベースで手軽にマルチスレッドでコマンドを実行する手段といえば、なかなか思いつかない。
とりあえず、フロントのmakeを1本立てて、そいつにビルドコマンドを実行させてみた。
一応できた。ビルド速度も1本当たりは当然遅くなったが、全体では確かに速くなった。
ただし現状では、ビルド環境ごとにしかパラレルで実行できないのが難だなあ。
2009-04-12
_ [Mozilla]
以下の構成で寝る前の0:05にビルド開始して、19:45に完了してしまった。
fx3 fx2 tb2 sm11 sb0:vc9 vc8 vc71 vc6 vc9e vc8e ddk gcc4 gcc3
合計39本ビルド。
以前なら24時間近くかかっていたが、大幅な時間短縮だ。
これなら、さらにintel cを追加しても24時間以内に終わりそうだ。
4コア環境で3アプリビルドとかの場合、単純に割り振ると1スレッドあまるので、どれかに余分に振り分けるとかあるけど、余分に振り分けたアプリのビルドが速くなって再度余分に振り分けられるだけなので、全体では大して効果なさそうだ。
しかしアレだな、最近はビルドできるのは当たり前で、自動ビルドシステムの構築がメインになってきたな。
2009-04-13
_ [Mozilla]
ほー、拡張子.xzとな。
7zipの圧縮アルゴリズムのlzmaがベースで、lzmaストリームも展開可能。
圧縮率もwindowsの7zipとほぼ同じだ。
linux/mac版のアーカイブはコレで決まり。
2009-04-18
_ [iPod/MP3]
mp3抽出してipodにインポートしようにも、曲の前後に無音があったり
ID3タグの編集が面倒だったりで、積んでしまう一方。
無音部分のカットはこれで複数ファイルまとめてできるが、
http://mpesch3.de1.cc/mp3dc.html
やっぱりID3タグが面倒だなあ。
曲名、歌手、二鼓動IDはなんとか認識可能だが作曲者とP名がどうにもならん。
ぼかさちでWebサービスAPIとかないんかな。
2009-04-19
なんか、5:30に目が覚めてしまった。どうした?
_ [Mozilla]
ためしに、VC6 SP5からSP6にアップした。VCPPが入ってるからなんとか言ってたけど、気にせずインストール。
fx1.0ビルドしてみると、jpegの部分でSSE2サポートしてないよエラーが出た。
VCPPをサポート外のバージョンで無理やり使うとこうなるのか。そういえば昔あったなあ。
で、肝心のjpegはfx1.5以降ではSSE2が外されてる。どうもここのSSE2命令はブっ壊れてるらしい。
fx1.5と同じにするとコンパイル通った。/O2オプション使っても崩れなくなった。万々歳。
_ [Mozilla]
と思いきや、gecko-1.8.1系でいろんなところでコンパイルエラー。
・/mozilla/view/src/nsViewManager.cpp
・/mozilla/storage/src/mozStorageAsyncIO.cpp
→最適化オプションでコンパイラがクラッシュ。pragmaで最適化を部分的に無効に。
・/mozilla/toolkit/components/downloads/src/nsDownloadManager.cpp
・/mozilla/xpfe/components/download-manager/src/nsDownloadManager.cpp
→unsigned __int64をdoubleにキャストできない。signed __int64で我慢する。
パッチのサイズは増えたけど、コンパイル通ったフリしてバグってるよりか全然マシだ。