メイン

だうんろーど アーカイブ

2004年04月23日

はえたたき

 この 3 日間、取り憑かれたように下らないものを作ってました。

はえたたきソフト

 というのも、HDD の中から ぞうさん が作ったはえたたきの原型を見つけたんで。それをいじって送り返したやつはもう残ってなかったけど。

 あぁ、懐かしいなということで某ソフトをイメージしつつ 1 から製作。

Windows 版
Mac OS X 版
Mac OS 8/9 版

 単純なゲームなんで雰囲気すっごく出てるっしょ(笑)
 特にゲーム性は持たせてないから永遠に蚊(?)が出てくるだけだけど。

 複数匹いっぺんにやっつけた時が気持ちいいんだよねぇ。あとその時の効果音が。
 続きを作るには誰かリソースちょうだい。

2004年07月18日

コメントを 2ch 風に

 コメントの表示を 2ちゃんねる 風にする MT 用のプラグインを作ってみた。

ダウンロード:mt-2ch.tgz

 使い方は拡張子が pl のものを {MTDIR}/plugins ディレクトリに入れる。
 トリップを有効にするにはテンプレート (Individual Entry Archive, Comment Listing Template, Comment Preview Template) にあるタグを以下のように置換する。

置換前置換後
MTCommentAuthorMTCommentAuthor2ch
MTCommentPreviewAuthorMTCommentPreviewAuthor2ch
MTCommentAuthorLinkMTCommentAuthorLink2ch
MTCommentPreviewAuthorLinkMTCommentPreviewAuthorLink2ch

ID を表示したい場合は MTCommentID2ch または MTCommentPreviewID2ch を追加するだけ。
※ちなみに ID の生成アルゴリズムはテキトー。

 bricklife.weblog.*mt-link-number と組み合わせれば尚良し。(mt-link-number を作った ooba さんに mt-2ch の拡張とマニュアルの整備、それに再配布もしていただいてます。)

 また、RSS があるなら2ちゃんねるブラウザ用の dat があったっていいじゃないか!
 ということで dat も作れるようにしてみた。やり方は以下の通り。

  • 拡張子が tmpl のものを {MTDIR}/tmpl に入れる。
  • MT のメニューの TEMPLATES から Create new archive template を実行。
  • Template Name に「subject2ch」を、Link this template to a file に「tmpl/subject2ch.tmpl」を入れて保存。(subject2ch.tmpl の内容を貼り付けても OK)
  • 再度 Create new archive template を実行。
  • Template Name に「dat2ch」を、Link this template to a file に「tmpl/dat2ch.tmp」を入れて保存。(dat2ch.tmpl の内容を貼り付けても OK)
  • メニューの WEBLOG CONFIG から Archiving を開き、ADD NEW... を実行。
  • Category と subject2ch を関連付ける。
  • Archive File Template に「<$MTCategoryLabel$>/subject.txt」を入れて保存。
  • 再度 ADD NEW... をして Individual と dat2ch を関連付ける。
  • Archive File Template に「<$MTEntryCategory$>/dat/<$MTEntryID pad="1"$>.dat」を入れて保存すれば出来上がり。

http://yoffy.dyndns.org/archives/%a4%cb%a4%c3%a4%ad/subject.txt
http://yoffy.dyndns.org/archives/%a4%cb%a4%c3%a4%ad/dat/000098.dat

 こんな感じでカテゴリごとに一つの板になるから、2ちゃんねるブラウザには
http://yoffy.dyndns.org/archives/%a4%cb%a4%c3%a4%ad/
のアドレスで登録可能。けど文字コードは変換しないから UTF-8 のサイトでは UTF-8 の dat が、EUC のサイトでは EUC の dat が出来ちゃうので注意。

2004年12月15日

リバーシ

 随分前に譲り受けた(というかぶんどった) PocketPostPet を今頃になってバージョンアップしてようやく使う気が起きたので、リバーシを WinCE に移植してみた。

リバーシ for Win, WinCE(MIPS) C 言語ソースコードつき

 再描画のイベントがいまいちちゃんと働いてない気がするけど、とりあえずポポペでも動いてるみたい。

2004年12月16日

リバーシ on Rb 修正

 圧縮したファイルからリソースフォークが抜けていたのでついでにちょっとしたバグも直して再アップ。

 StuffIt シリーズの DropZip がタコっちゅーか、MacBin を Smart にするとリソースフォークが無い場合にファイルタイプを忘れるので、Rb のプロジェクトにはダミーリソースを追加して解決。

リバーシ for Mac OS 9/X, Win Rb ソースつき

2004/12/17 2:35AM 追記
環境設定も付けてみた。
CPU が必ず同じ状況で同じ解を出すバグを修正(C 言語のつもりで rnd が 0~1 なの忘れてた)

2004年12月24日

Yoffy's Plugins 1.8.0a1

 実はゲームを弟にやらせて、ここ 1 週間ほどドキュメント作りとか頑張ってました。
 クリスマスプレゼントっていう位置付けでリリースするけど、テストは一切やってないのでご了承あれ。

YsPlugins180a1.zip(1.34 MB)
YsPlugins180a1_src.zip(ソースコード)(661 KB)

全て:
[chg]ライセンスを修正 BSD ライセンスに変更しました。

Y_CallBack:
[Chg]MemoryBlock.Address メソッドが MemoryBlock.Y_Address に名称変更。
[Chg]Y_CallBack.CallBack イベントの argument 引数が arguments に名称変更。

Y_FileUtilities:
[New](WIN)Y_MakeAlias, Y_FindAlias が ShellLink に対応し、Mac のエイリアスとほぼ同じ感覚で利用可能になった。
[Kis](WIN)上記変更により、従来の Y_MakeAlias で作成した文字列を現在の Y_FindAlias に渡してもファイルが見つけられなくなりました。従来の Y_MakeAlias はファイルパスを返すだけのメソッドであったので、従来の Y_MakeAlias で作成した文字列から FolderItem を取得したい場合は、GetFolderItem の引数にそのまま渡してください。

Y_NthFields:
[New]Rb 4.5 以降のデフォルトエンコーディングが UTF-8 なので、UTF-8 向けの対処をしてみた (Rb 4.5 以降を持って無いので確認できない)。

Y_Strings:
[New]Rb 4.5 以降のデフォルトエンコーディングが UTF-8 なので、UTF-8 向けの対処をしてみた (Rb 4.5 以降を持って無いので確認できない)。

Y_StyleText:
[New]Y_StyleText.AnalyzeToHTML が Rb 2.x~Rb 3.0.x でも使用可能になった。
[New](68K)Rb 2.x 以降で Y_StyleText クラスが 68K に対応。

Y_TextConverter:
[New]Y_GetCharset, Y_GuessCharset, Y_ConvertCharset を追加。
[chg]上記により Y_KCCheck, Y_KCConvert, Y_KCConvertEx は廃止予定になった。
[New]Rb 4.5 以降のデフォルトエンコーディングが UTF-8 なので、UTF-8 向けの対処をしてみた (Rb 4.5 以降を持って無いので確認できない)。

あと、Y_TextConverter の Y_GetCharset, Y_GuessCharset の戻り値、Y_ConvertCharset の引数に関するドキュメントがまとまっていないので、値の一覧を置いときます。

Y_TextConverter180a1.txt

2005年02月11日

memdarwin 1.0.0a2

 Mac OS X 用メモリテストツール、memdarwin を更新。

memdarwin 1.0.0a2 for Mac OS X

memdarwin 1.0.0a2 for Console

 いろいろ直して、もうベータでもいいんじゃないかと思ってみたり。ちょっとしたツールだから綺麗に作り込む気はないし。

2005年10月23日

Movable Type のアーカイブ HTML からエントリを復元する

 以前このブログが吹っ飛んだのは話した通り。
 mysql のダンプファイルと睨めっこするも、やはり不可逆にエンコーディングされている気がする。7bit に落ちていたわけではないけれど、mysql に突っ込んでみても読める箇所が単語単語で点在しているだけのエントリになってる。
 しかも Movable Type の「書き出し」機能でバックアップはしていなかった。

 今日ようやく気が乗ったので /archives/000001.html とかいう形で保存されているアーカイブ済み HTML から「書き出し」に相当するファイルの復元に挑戦。
 ぶっちゃけいつになっても過去ログというのはイタイだけの代物なので、このまま葬りたいというのもあるけれど、生き恥は晒していこうかと。
 で、結果は案外あっさり成功。産むが易し。

 当然ながらアーカイブ HTML はサイトによってパースの仕方が全く異なってしまうし、復元出来る内容もまちまちだけれども、この問題で悩んでいる人は多いのではないかと思われるので参考までにスクリプトを公開しておく。
 ただし、perl と正規表現が苦手なので、とても美しくない書き方なのは勘弁。出来れば少しでも美しい書き方を知っていたら勉強の為にも指摘して欲しいかと。

mt-recover051023.zip

 過去ログの復元は済んでいるものの、現在 mt-2ch を入れてないので、今までコメントしてくれた人のトリップが漏れないように対策してから公開予定。

2005年10月31日

はえたたきで現実逃避

はえたたき 久しぶりに触ってみた
  • 速い CPU が必要
  • リソース作るのが面倒すぎて手抜き
  • 色々バグってる
  • 何故か Windows で動かないから今回含めてない
リソース募集中。

hae_051030.sit (Mac OS 9.x、Mac OS X 10.2 以降、ソース付き:約 1.3 MB)

2006年02月12日

ViewVC を UTF-8 で表示する

 svn リポジトリの公開方法として ViewCVS の dev 版を使用している。

 そのまま使っても十分使えるけれど、きちんと日本語に対応しようと思うと少々の修正が必要。
 一番分かりやすいのが、コミットログに日本語を使っていてソースファイルが Shift_JIS なんかで書かれている場合の view。コミットログは UTF-8 なのでソースの表示が化ける。
 この対処のため、最初はいちいち ViewCVS を直していたけれど、アップデートする度に同じ修正を施すのが面倒になったので、長らくアップデートしていなかった。

 今日は気が向いたので久しぶりに更新。
 そうしたら名前が変わっていて、今は ViewVC と言うらしい。

 python を知らない(この修正でしか触った事が無い)ので非常にやっつけコードなんだけれど、公開してみる。

viewvc_r1252_diff.zip

 これは以下の ViewVC rev. 1252 をインストールしたものに対する diff になってる。
 ※匿名でもユーザ名とパスワードを要求されるので ViewVC のサイトにある解説を読む事

http://viewvc.tigris.org/svn/viewvc/trunk/

 それにしても、アップデートする度にちまちま書き換える手間は省けないのかなあ。

2006年03月07日

Pas2Dox yof 0.1.0

 Pascal のソースコードを Doxygen にかける事が出来る Pas2Dox(本家プロジェクト) というツールがあるけれど、これを参考にしてフルスクラッチで書き直したので置いときます。
 日本でどれだけ需要があるか分からないけど。

pas2dox-yof-0_1_0.zip 80KB (Windows 用バイナリ)
pas2dox-yof-0_1_0-src.tbz 21KB (ソースコード)

 本家との違いは、

  • Shift_JIS 対応。
  • 対応している文法が多いので、通るコードが多い。(まだ通らないコードも沢山あります)
  • ソースが読みやすく短い。(フルスクラッチだから当然か)
てな感じ。

文例:

foo : Integer; //!< 変数の説明
{!
¥brief 関数の説明
¥param arg パラメータの説明
¥return 戻り値の説明

これは bar の説明です。
}
function bar( arg : Integer ) : Integer;

 対応していない文法があると、ファイルがまるまる doxygen に通らなくなるから、あんま複雑な記述をしないように気をつけるか、README に書いてあるように回避策を取る必要があるのがキズ。
 けど、大分通るはず。

 Pas2Dox yof 0.1.0 は本家の ver 0.42alpha を参考に作ったんだけど、いま本家を見たら、ver 0.50rc1 なんてのが出てたorz
 まーでも、flex の使い方を知る為のホントに参考程度だったから、気にしないっと。

2006年12月30日

gcc で混合出力

 プログラムは正しく書いたつもりでも思ったように動かない、最適化の為に細部の挙動まで知りたい、よくそんな時にアセンブラコードを出力する。
 VC++ では /FAs を使えばアセンブラコードとソースコードを織り交ぜて出力してくれるが、gcc には見当たらないので非常に読みづらかったり。

 で、何かそれを実現する方法が無いか探そうと思ったけれども、ppu-gcc/spu-gcc はデバッグオプション(-g)を付けた場合に行数を出力してくれてるようなので、こりゃ自分で書いた方が早いと思い、作ってみた。デバッグ込みで多分 1 時間くらい。

 mas (Mix an Assembler code and Source codes)

 使い方としてはこんな感じ:


// hello.c
#include <stdio.h>

int main(int argc, char * argv[])
{
    return printf("Hello World!\n");
}
x86の例(抜粋):

$ gcc -gstabs+ -S hello.c
$ mas hello.s
.globl _main
_main:
        .stabd  46,0,0
;#include <stdio.h>;
;
;int main(int argc, char * argv[])
;{
;    return printf("Hello World!\n");
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %ebx
        subl    $20, %esp
        call    L3
"L00000000001$pb":
L3:
        popl    %ebx
;}
        leal    LC0-"L00000000001$pb"(%ebx), %eax
        movl    %eax, (%esp)
        call    L_printf$stub
;
        addl    $20, %esp
        popl    %ebx
        leave
        ret
PowerPCの例(抜粋):

$ gcc -g -S hello.c
$ mas hello.s
main:
        .quad   .L.main,.TOC.@tocbase,0
        .previous
        .type   main, @function
.L.main:
.LFB2:
;#include <stdio.h>
;
;int main(int argc, char * argv[])
;{
        stdu 1,-128(1)
.LCFI0:
        mflr 0
.LCFI1:
        std 31,120(1)
.LCFI2:
        std 0,144(1)
.LCFI3:
        mr 31,1
.LCFI4:
        mr 0,3
        std 4,184(31)
        stw 0,176(31)
;       return printf("Hello World!");
        ld 3,.LC1@toc(2)
        bl printf
        nop
        mr 0,3
;}
        mr 3,0
        ld 11,0(1)
        ld 0,16(11)
        mtlr 0
        ld 31,-8(11)
        mr 1,11
        blr

 よくよく考えてみると perl で書いたら正規表現で置換するだけだから、ものの数分で出来た気がする。

 ぐぐってみると、たまに行数付きのフォーマット(.file/.loc)で出力されたプログラムを見つけるんだけれど、ppu-gcc/spu-gcc じゃない普通の gcc でこのフォーマットを出力するにはオプションに何を指定したらいいんだろう?
 Xcode 2.4.1 付属の gcc では -g -S としても .file/.loc が出力されないんだよなあ。

 追記: .stabs/.stabd 形式に対応した ので、Xcode でも ok。

2007年03月15日

Cocotron

 Cocotron は Cocoa で書かれたプログラムを Windows/Linux で動くようにするフレームワーク。MIT ライセンスらしい。

 今のところ Cocoa を使う予定も無いし、ましてや Windows/Linux に持って行く予定も無いんだけれど、興味本位でビルドしてみようと思った。
 そしたら開発環境(CDT)のビルドで libgcc2.c のコンパイルにしくじり数日悩む事に。
 原因は、ファイルが正しくダウンロード出来ていなかった。同じ症状で悩んでいる人は /Developers/Cocotron/1.0/Downloads/ にあるファイルのサイズをチェックしてみるべし。4 KB とか極端に小さかったらダウンロードに失敗している。

 バージョンが悪いのかと思って色々やってたら副産物が出来上がったので晒しとく。ってもバージョンが違うだけなんだけど。

InstallCDT-yof2007-03-15 (391 KB)

 binutils 2.17、gcc 4.0.4、mingw-runtime 3.11、mingw-api 3.8 で構成されてる。

2007年11月18日

Karaoke

 iTunes の歌詞をデスクトップに表示出来たらなあ、と思って作ってみた。

Karaoke-0_1_4.zip (50 KB)

Mac OS X 10.4 以降対応

ソースコード

 Universal Binary ですが Mac OS X 10.4.11/PowerPC にて動作確認していますので x86 での動作報告をお待ちしております。

KaraokeSS_small.png

About だうんろーど

ブログ「きっちん」のカテゴリ「だうんろーど」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはしーげんごです。

次のカテゴリはつーるです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.36