2009-01-01から1年間の記事一覧

libpsd続き その3

c++

まとめとしてlibpsdを使って通常レイヤをpngにばらすコードを書いてlibpsd編は終わりにする。 // main.cpp // // $ g++ main.cpp -lpng -lpsd -ljpeg #include <libpsd.h> #define USE_PNG 1 #include "rgbaimage.h" #include <iostream> int main(int argc, char **argv) { if(a</iostream></libpsd.h>…

libpsd続き その2

c++

libpsdで正しく画像が取得できないので検証用に自前でC++で書いてみた。ちょっと手こずったが以前pythonで書いたpsdプログラムが役に立った。pythonの方はデッドリンクになっているから直さないといかんな・・・。 で、libpsdでは何故画像が正しく取れないの…

libpsd続き

c++

releaseで(NDEBUGを定義して)ビルドすると実行時にセグメンテーションエラーが発生する。 副作用のあるassertが原因と見て直した。 $ grep "assert(psd" *.c で出てくるところが副作用のあるassertでNDEBUGで消滅するとエラーになる。

libpsdを使ってみる

c++

今作っているプログラムでスプライトをわりと大量に生成している。 その中に元となるpsd画像をレイヤーが重ならないようにpngに変換して改めてパーツの座標をリスト化するというつまらん作業が含まれている。これは自動化しないといかんと思ったので、まずは…

python-fuメモ

定型処理をスクリプト化するために久しぶりにやってみる。 いろいろひっかかるところがあったのでメモ。 スクリプトの配置場所 ~/.gimp-2.7/plug-ins/hoge.py 書き方 ascii文字のみで書くこと(コメントも含めて) 日本語使うときは # coding: UTF-8 を書いて…

wxLua調査中

wxWidgetsのアプリにluaを仕込みたいので調べていたら、早速wxLuaに行き当たった。 ぱっと見、luaからwxWidgetsを使うもの(wxPythonとかみたいに)みたいだが、 逆にC++のwxWidgetsアプリに埋めて使うこともできるよって書いてある様子。 ちょいと調べてみる。

gprofでコールグラフ

c++

MinGWで使えるプロファイラということでgprofを使ってみた。 すると出てきたテキストにコールグラフが含まれていたのでこれをビジュアル化する方法が欲しくなった。 探索したところちょうどいいツールを発見。gprofの出力結果をgraphviz向けに変換するpython…

utf8バイト列を1文字ずつ処理する

lua

function each_utf8(text) local i=1 return function() if i>#text then -- 終了 return end local b=string.byte(text, i) if b==0 then -- eof return elseif b<128 then -- ascii local m=string.sub(text, i, i) i=i+1 return m elseif b<192 then asse…

luaのクラスその4

lua

多重継承。 「Programming Lua」の16章を参考。 -------------------------------------------------------------------------------- -- class utility -------------------------------------------------------------------------------- -- root class l…

luaのクラスその3

lua

「Programming Lua」読書中。さらに少し変えてみた。 g_root_class={ classname="#root#", class=function(self) return getmetatable(self) end, super=function(class) return getmetatable(class).__index end, -- constructor __call=function(class, ..…

luaのクラスその2

lua

前回のluaのクラスを修正して少し拡張してみた。 rootクラスを定義して、super()で上に辿れるようになった。 -- root class g_root_class={ classname="#root#", class=function(self) return getmetatable(self) end, super=function(class) return getmeta…

Luaのクラス

lua

久しぶりの更新になってしまった。今回は、Luaのクラス例のメモ。 世間の例などを参考に自作してみた。luaの仕様が謎なのは setmetatable(t, delegate) じゃなくて setmetatable(t, {__index=delegate}) にするところ。 おかげで delegate.__index=delegate …

redmineのインストールで悶絶

ruby-1.8のrails-2.1.2にしとけということらしい。 cygwin上のruby-1.8ではサクッとできたが、 gentoo上のruby-1.9では頓挫してしまった。 がんばって動くところまでこぎ着けた。 まず、開発版のredmineを使う。 $ svn co http://redmine.rubyforge.org/svn/…

コマンドモードのキーマッピング変更

vim

http://webtech-walker.com/archive/2009/01/18022957.html cmap <C-f> <Right> cmap <C-b> <Left> cmap <C-a> <Home> cmap <C-e> <End> cmap <C-d> <Del> cmap <C-h> <BackSpace> cmap <C-p> <Up> cmap <C-n> <Down> いい感じになった。</down></c-n></up></c-p></backspace></c-h></del></c-d></end></c-e></home></c-a></left></c-b></right></c-f>

gtk+がビルドできた

ビルドが手段じゃなくて目的化してきた今日この頃ついにgtk++-2.17.7のビルドに成功した。 環境は、例によってcygwin-1.7上に作ったmingwのgcc-4.4。 今回は新たな細工としてpkg-configをcross用に仕込んだ。 cygwinのsetup.exeで普通にpkg-configをインスト…

luaとtolua++をmingwビルド

自前でMakefileを作ったりなどしないで比較的きれいにビルドする方法。 環境は、 cygwin-1.7上でビルドしたmingw(gcc-4.4) cygwinのpython toolchainは/usr/local/bin/i686-mingw32-* として用意済み。 http://d.hatena.ne.jp/ousttrue/20090702/1246549847 …

嵌まった

lua

矢張り他の言語と違う部分に嵌まるなぁ。 その1 0は真。 むしろnilとfalseのみが偽。 http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html#2.2 if 0 then print "true" else print "false" end trueが出力される。 (追記) 突っ込みがあったので上…

関数呼び出し

lua

premakeとか「スクリプト言語による効率的ゲーム開発」のクラス作成で出てくる構文 files { "**.h" } class("Point"){ count=0 } がどうもよく分からなかったのだがリファレンス見てたら書いてあった。 http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual…

Luaを組み込むメモ(その2)

更にCの処理をluaに移動してみた。 toluaに追加 glutのマウス定数とOpenGLの一部をluafunc.pkgに追加。 OpenGL丸ごとバインドしているライブラリもありそうだが。 地味にtypedefが必要だった。 // luafunc.pkg $#include <GL/gl.h> $#include <GL/glut.h> // opengl用のモジュー</gl/glut.h></gl/gl.h>…

Luaを組み込むメモ

スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践 (GAME DEVELOPER)作者: 浜中誠出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/09/27メディア: 大型本購入: 13人 クリック: 322回この商品を含むブログ (40件) を見るを読みながら練…

undefined referenceに関して

MinGWでビルドする際に特有?なはまり方をしたのでメモ その1呼び出し規約の食い違い #include <GL/glut.h> void display(void) { } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutCreateWindow(argv[0]); glutDisplayFunc(display); glutMainLoop()</gl/glut.h>…

tolua++をMinGWでビルドする

lua

http://lua-users.org/wiki/CompilingToluappWithoutSconsよくわからないsconsを回避してdllをビルドするメモsrc/lib/Makefileを作る TARGET=tolua++.dll OBJS= tolua_event.obj tolua_is.obj tolua_map.obj tolua_push.obj tolua_to.obj CC=i686-mingw32-gc…

libjpegの新しいのが出てた

http://www.ijg.org/SDLのビルドやってたらたまたま発見。 Mingwで普通にビルドしたらdll版ができた。 libjpeg-7.dll

ffmpegのチュートリアルをよみはじめた

http://www.dranger.com/ffmpeg/ffmpeg.html1つ目のソースtutorial01.cが最近のffmpegだと既に通らなかった。調べたところimg_convertが無くなってsws_scale使えとのことらしい。 http://ffmpeg.arrozcru.com/forum/viewtopic.php?f=1&t=319tutorial01.cを変…

ファイラー発見

http://www.geocities.jp/daisuke530221jp/gentooとcygwinにいれて使ってみる予定。mfiler3の方をruby-1.9の環境でビルドしてみた。 ちょっとRubyのマクロを使っていることを手直しする必要があった。 1.8から1.9で変わったよくあることらしい。RSTRING(hoge…

ruby1.9でruby-gnome2を野良ebuild

大量のundefined reference to rbgobject_...が出て頓挫するかに見えたが原因を突き止めた。 LDFLAGSに-Wl,--no-undefinedがあるとエラーになる。どこから-Wl,--no-undefinedが来ているのかと 遡っていくと Makefile -> extconf.rb -> mkmf.rb -> /usr/lib/r…

webbyでpukipa

デフォルトのTextitleがなんか具合悪いのでpukiwikiに変えてみた。 webby-genで作られたlibディレクトリか /usr/lib/ruby19/gems/1.9.1/gems/webby-0.9.4/lib/webby/filters に pukipa.rbというファイル名で以下の内容のファイルを作る。http://jp.rubyist.n…

Gentooでruby1.9をemergeする

configure makeしていたのだがよく見たら /usr/portage/dev-lang/rubyに ruby-1.9のebuildあるし。しかし、emergeできないので探索。 http://blog.s21g.com/ によると /usr/portage/profiles/package.mask を弄るらしい。 ここは触ったこと無かった。(追記) …

MyPaint

Linux上で動く軽量なPaintツールを探していたら MyPaint http://mypaint.intilinux.com/ というのが見つかった。 PyGtkで書かれているがわりかし軽快。 細かい挙動を自分好みに改造すればよさげ。 素のままでは微妙に使いにくい。 ソースを少し読んだ gitリ…

webbyを試してみる

http://webby.rubyforge.org/テキストファイルから適当にフィルタをかけてHTMLを生成するという ちょうど欲しかったツールが見つかったので実験中。 ruby1.9で使うのに2箇所手を入れた。 マルチバイト文字に関するエラー解消 /usr/local/lib/ruby/gems/1.9.1…