These pages are written by only Japanese.

Welcom to My Diary.com
最新の日記タイトル一覧カテゴリ別タイトル一覧トップへ戻る〜

こんばんわ♪ 現在は4月27日(土)1時36分。 1時を過ぎました。


hns - 日記自動生成システム - Version 2.19.5 (色々 Fixed)

先月 2010年07月 来月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Namazu for hns による簡易全文検索です。
詳細は 詳細指定/ヘルプをご参照下さい。
検索式:

2010年07月10日(土)

大腸の内視鏡検査受けてきた。


胃カメラより楽かと油断してたらトンデモない。
腹痛で神様ごめんなさい状態の4,5倍は痛かった。大腸って敏感なんですね…
検査結果としては健康だそうです。よかったよかった。

ドスパラのBTO

悪い噂を聞く前に購入したドスパラのBTOがこの前届いた。
ほんとにひどかったw
音声にはノイズ乗るし、キーボードはポロポロ文字を取りこぼすし、
ほんとにひどいw
でも、これでも faith よりはマシなので頑張ろう。キーボードは交換かな。

faith の思い出:

faith のPCはノイズどころかランダムなタイミングで倍速になったりして、
その度にコンパネでリセットしないとダメだった。
キーボードは大昔ISDN越しにtelnetしてたのを思い出す位の反応の悪さだった。
あれよりひどいのは多分無い。

2010年07月12日(月)

ドスパラのBTOでFF14ベンチ試した。

high:4003, low:5924
結構快適。
ただベンチマーク動作中、音声にすごいノイズがのる。
古えのデータレコーダーのピーヒャララーって音。
多分、バスのデータ線と音声ケーブルが並んでるんだろうけど。
ドスパラの技術力ってその程度なのか。。。残念だ。

2010年07月24日(土)

SWFのhexdumpツール

16進ダンプからtagの区切りを探すのが面倒だったので、 何となく作ってみました。 ビットストリームせずにベタに作ったので処理速い&機能追加しやすいように作った(つもり)
% php YSwf.php ~/flash/ffxi2.swf
head_length=21
            0  1  2  3  4  5  6  7   8  9  a  b  c  d  e  f  0123456789abcdef
0x00000000 46 57 53 04 ae 5b 05 00 78 00 05 00 00 00 0e ec  FWS  [  x
0x00000010 00 4c 00 14 00                                    L

tag=777 length=5
            0  1  2  3  4  5  6  7   8  9  a  b  c  d  e  f  0123456789abcdef
0x00000010                43 c2 72 66 78                         C rfx

tag=9(SetBackgroundColor) length=5
            0  1  2  3  4  5  6  7   8  9  a  b  c  d  e  f  0123456789abcdef
0x00000010                                43 02 00 00 00               C

tag=21(DefineBitsJPEG2) length=27125 id=1 checksum=308096141
            0  1  2  3  4  5  6  7   8  9  a  b  c  d  e  f  0123456789abcdef
0x00000010                                               7f
0x00000020 05 ef 69 00 00 01 00 ff d8 ff db 00 43 00 0d 09    i         C
0x00000030 0a 0b 0a 08 0d 0b 0a 0b 0e 0e 0d 0f 13 20 15 13
0x00000040 12 12 13 27 1c 1e 17 20 2e 29 31 30 2e 29 2d 2c     '    .)10.)-,
0x00000050 33 3a 4a 3e 33 36 46 37 2c 2d 40 57 41 46 4c 4e  3:J>36F7,-@WAFLN
0x00000060 52 53 52 32 3e 5a 61 5a 50 60 4a 51 52 4f ff db  RSR2>ZaZP`JQRO

制限事項:

携帯SWFのコストを最適化するべく、SWF version 4 までしか対応しません。
例えば、CWS や AVM2 は対応しません。(CWS の対応の仕方は知ってるけど)

Windows7 勝手なウインドウ最大化を無効に

コンパネのマウス設定で
ウィンドウが画面の端に移動されたときに自動的に整列されないようにします
を on にすれば OK
日常操作していて、もっともわずらわしい機能が、
勝手に、ウインドウの最大化される機能である。
まったくです。。。

2010年07月27日(火)

swfstrip

冗長なshape(ベクター画像)データを削除するツールです。
swfmill 等の SWF生成ツールで SWFファイルを作ったけど 同じshape を複数入れちゃってサイズが思ったより膨らんじゃった。
でも、元の SWF ファイルがなくて合成し直せない。どうしよう。
なんて場合に使えそう。(そんな特殊な状況あるのか?

使い方:

以下のコマンドで、変換された SWF が標準出力に出てきます。
php swfstrip.php -f <swf_file>
どの id がどう集約されるかは、
php swfstrip.php -f <swf_file> -d
とすると、id map が表示されます。

やってる事:

以下の処理をしてるだけです。
  • crc32 の結果が同じ shape があったら一つだけ残して削除
  • place から shape を参照するid を、残ってる shape の id に振替
  • sprite 内から shape を削除したら、その分 frame_count を減算
  • 全体の変化した分を header の file_length に反映

使い道思いついた:

Flash CS 以外のツールによるSWF生成で無駄な事してないか確認するのに使えるかもしれない。

課題:

  • unique チェックは crc32 で大丈夫?(そもそも目的違うし)。 md5 にしとく?
  • 効率化できる所がまだまだある。size が同じのが複数ある時だけ crc32 とかね。

2010年07月28日(水)

swfstrip (2)

BitIO クラスを分離してみた。あと細かい不具合修正とか表示系の改善とかも。

使い方:

% wget http://diary.awm.jp/~yoya/data/2010/07/28/YSwf.tar.gz
% tar xvfz YSwf.tar.gz
% cd YSwf
% php swfdump.php -f ~/flash/ffxi2.swf
head_length=21
             0  1  2  3  4  5  6  7   8  9  a  b  c  d  e  f  0123456789abcdef
0x00000000  46 57 53 04 ae 5b 05 00  78 00 05 00 00 00 0e ec  FWS  [  x
0x00000010  00 4c 00 14 00                                    L

tag=777 length=5
             0  1  2  3  4  5  6  7   8  9  a  b  c  d  e  f  0123456789abcdef
0x00000010                 43 c2 72  66 78                         C rfx
<略>
今日も16進眺めてて不具合見つけた。16進は嘘付かない。

自宅nsの調子が悪い

先週の金曜日から自宅nsの調子が悪い。
宅外から nslookup すると、 違いなんだっけ。

2010年07月29日(木)

PHP で OpenGL/GLUT

sotarok 先生 に phpopengl なる物を教わったので、試してみたらあっさり動いた。 結果 →
PHP4 用だったのと OpenGL の定数マクロが少し異なるので、少し改造した。 以下、CentOS4 + PHP5 上で build した作業内容詳細。

build 開始:

% mkdir phpopengl
% cd phpopengl
% cvs -d:pserver:anonymous@phpopengl.cvs.sourceforge.net:/cvsroot/phpopengl login
% cvs -z3 -d:pserver:anonymous@phpopengl.cvs.sourceforge.net:/cvsroot/phpopengl co -P .
% cd php_opengl
% (cd opengl ; phpize ; ./configure ; make ) # ☆ これで失敗する ☆
% (cd gult   ; phpize ; ./configure ; make )

_EXT:

gult はあっさり build 成功。
opengl はコンパイル時に error が出力された。
/home/yoya/cvs/phpopengl/php_opengl/opengl/php_opengl.c:5779: error: 'GL_COLOR_TABLE_GREEN_SIZE_EXT' undeclared (first use in this function)
どうやら、これらの ..._EXT は ..._SGI と同じ値っぽい。 #define ..._EXT ..._SGI を片っ端からかけて解決。

BYREF_:

/home/yoya/cvs/phpopengl/php_opengl/opengl/php_opengl.c:56: error: 'BYREF_FORCE' undeclared here (not in a function)
/home/yoya/cvs/phpopengl/php_opengl/opengl/php_opengl.c:59: error: 'BYREF_NONE' undeclared here (not in a function)
BYREF_... は PHP4 extension の引数定義に使うもので、 PHP5 では ZEND_BEGIN_ARG_INFO を使うらしい。
% grep BYREF_ ~/src/php/php-4.0.0/*/*.h
/home/yoya/src/php/php-4.0.0/Zend/zend.h:#define BYREF_NONE 0
/home/yoya/src/php/php-4.0.0/Zend/zend.h:#define BYREF_FORCE 1
/home/yoya/src/php/php-4.0.0/Zend/zend.h:#define BYREF_ALLOW 2
/home/yoya/src/php/php-4.0.0/Zend/zend.h:#define BYREF_FORCE_REST 3
とりあえず、全部 NULL に define する。
(リフレクションに問題あるらしいけど、そんなの後あと)
/* {{{ arginfo */
#ifdef ZEND_ENGINE_2
#define force_ref_first_arg  NULL
#define force_ref_second_arg NULL
#define force_ref_third_arg  NULL
#define force_ref_fourth_arg NULL
#define force_ref_ninth_arg  NULL
#else
(BYREF_ 何とかしてる場所)
#endif
/* }}} */

github:

折角なので、github に登録してみた。
  • 公開鍵を登録 (テキストをWebの登録画面に張り付けるだけ)
  • 手元に repository を作成
  • 手元の master に commit
  • github 上の origin に push
オリジナルのソースを登録
% mkdir phpopengl
% cd phpopengl
% git init
(オリジナルの php_opengl samples をコピーしてくる)
% git add php_opengl samples
% git commit -m 'copy from phpopengl.cvs.sourceforge.net:/cvsroot/phpopengl'
% git remote add origin git@github.com:yoya/phpopengl.git
% git push origin master
改造分を反映(commit & push)
% emacs php_opengl.h
(編集)
% emacs php_opengl.c
(編集)
% git commit -a
(vi 画面が開くので上の方にコメントを追記)
% git push origin master

大問題:

phpopengl でなく swfed の問題を見つけてしまった。。。
  • はじめ、サンプルプログラムが動かなかった
  • 何故か、output が redefined されてるって怒られる
  • あれ、SWF Editor を外すと動く。。。
  • ちょw SWF Editor のクラスメソッドが global function で見えてるぅぅぅ。
  • ごめんなさい何とかします。

2010年07月31日(土)

swfed 0.20 release

swfed class method が global function に見える件:

原因判明。
PHP_ME を定義した zend_function_entry を zend_module_entry に渡しちゃってる。
zend_function_entry swfed_functions[] = {
        PHP_ME(swfed,  __construct, NULL, 0)
        PHP_ME(swfed,  input, NULL, 0)
        PHP_ME(swfed,  output, NULL, 0)
<略>
zend_module_entry swfed_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
        STANDARD_MODULE_HEADER,
#endif
        "swfed",
        swfed_functions,
INIT_CLASS_ENTRY だけでいいのに... ;ω;
 */
PHP_MINIT_FUNCTION(swfed)
{
        /* If you have INI entries, uncomment these lines
        ZEND_INIT_MODULE_GLOBALS(swfed, php_swfed_init_globals, NULL);
        REGISTER_INI_ENTRIES();
        */
        zend_class_entry ce;
        INIT_CLASS_ENTRY(ce, "SWFEditor", swfed_functions);

修正:

zend_module_entry swfed_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
        STANDARD_MODULE_HEADER,
#endif
        "swfed",
        NULL, // no global functions
上記のように修正して 0.20 を release しました。
本当にごめんなさい。。。

これで、7 日分だよ〜。

タイトル一覧
カテゴリ分類
Database
JXTA
Java
XML
awm
bookmark
keyword
memo
news
research
Powered by hns-2.19.5, HyperNikkiSystem Project