Profile

書いてる人:

たけ-ちーず
紹介文:
SkypeID:take-cheeze

Link

RSS Feed

Search

Calender

Latest Article

Category

Access Counter

Online Counter

Show All Article

どうでもいい独り言。 と、少しの開発日記。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 |
津波。
今日は、津波が凄かったらしいです。
確か、東北や北海道の方では、1mを越えていましたね。

と、時事ネタに飛びついてみたんですが、正直わたしにはそんなに関係ないです。
理由は、わたしの住んでいるところまで来たら、日本が沈没して、草薙剛が頑張っている事態ですから。

いやー、メデタイ、目出度い、めでたい。


さて、話は変わって、今日はsshを弄くり回していました。
なんというか、楽しいです。

何というか、自分が動けば世界が動く気分でした。
ホント、unix使っててよかったです。

試しに、sshで分散コンパイルなんてカッコよさそうなことしてみましたが、これは上手く行きませんでした。
恐らく、相手がMacだったり、わたしが未熟なコトが原因でしょう。

コンパイルはそれなりにボトルネックなので、いつか成功させてみたいものです。


それから、Mac OS Xに付属しているXcodeというソフトウェアをアップデートしようとしたんですけど、これも失敗しました。
それよりも厳密に、する価値を失いました、って云った方がいいのでしょうか?

何といっても、Apple Developer Connectionに入会する必要があり、その登録申請が面倒だからです。
そこまで深く使うつもりも無いので、腰が引けるというか。

それから、二世代前のTigerを使っている時点でアレだね、って気分もありました。
流石に、PowerPC でハードルが上げて、コビリ付いた古さで更に板挟みにされるのは、遠慮願います。

また、別の機会に、試してみたいものですね。


と、まあ、今日はそんなところでした。
お休みなさい。
スポンサーサイト
【2010/02/28 23:42】 | 雑記 | トラックバック(0) | コメント(0) |
昨日、言ってたこと。
昨日、あーだこーだ言っていましたが、結局、今日は大したことを出来ませんでした。
とりあえず、やりたかったことの核心だけは突けたので、それだけは記録として残しておきます。

それで、その目的ですが、要はstd::stringstreamに、バッファを置きたかっただけです。
最近、mallocとかnewは遅くてアテにならない場合があると、教わったものですから。

その肝心の方法ですが、C++のリファレンスとニラメッコして、

const int BUFF_SIZE = 256;
std::ostringstream ss;
char ssBuf[BUFF_SIZE];

ss.rdbuf()->pubsetbuf(ssBuf, BUFF_SIZE);

とすることで、落ち着きました。
これで、速くなることを祈る限りです。

因みに、実装部分は何度も書きたくないので、プリプロセッサで楽をさせていただきました。
実際のコードは、ここら辺を参照して下さい。


話は、大幅に変わって、Macって楽しいです。(あの林檎社製のOSのコト)


特に今日、知ったsayというコマンドは衝撃的でした。
文字列を音声化してくれるんです。

早速、家にあったMacで試してみたんですが、"baka"と入力したら、冷たく罵ってくれました。
(ナニ、そのマゾ属性)


それから、Mac OS X ってUnixでもあることも再認識しました。
MacPortsgccとか入れたり、sshで遠隔操作したり色んなコトが出来ました。

これが、『再発見というのか』と、沁み沁みとします。


と、まあ夢を広げてみました。
実際は、どうでもいいことです。


お休みなさい。
【2010/02/27 23:59】 | 雑記 | トラックバック(0) | コメント(0) |
雨がすごいです。
夜になって、雨が酷くなって来ました。
電気を消してしまうと、とても不安にかられそうです。


今日は、開発環境を変えてみました。
基本構成は、前々から愛用していた Notepad++ と最大化したターミナルです。

とりあえず、かなりいいです。
ただ、
・キータイプに着いて来てくれない。
・フォントが大きすぎて、一望できるコードが少ない。
のは、ちょっと困りました。

致命的では無いですが、微妙に困ります。


それから、stringstreamもかなり使い込んだり、grepを弄ってみたりもしました。
成果が中途半端なので、明日、まとめの記事でも書きたいです。


お休みなさい。
【2010/02/26 23:59】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
CocoaとObjective-Cがよく分からない。
タイトル通り、解りません。
昨日、表示した顔が何を意味するのかも、さっぱりです。

試しに、Qtで代替品みたいなのを書いてみましたが、知らない概念ばっかりで、手詰まりしてしました。
やはり、異国の土を踏むのは、とても難しいですね。

とりあえず、もう一度、整理して何か糸口になりそうなことを見つける模索は続きそうです。

短いですが、お休みなさい。
【2010/02/25 23:59】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
たまには、スクリーンショット。
Screenshot-名前なしのウィンドウ

タイマーを実装して、Qtで試しに動かして見たところです。
とりあえず、何か写りました。

でも、課題は山積な様で、まだまだです。
この後、課題やら何やらを、プロジェクトのwikiに上げることになります。

お休みなさい。
【2010/02/24 23:55】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
タイマについて。
クスリの方じゃない時間を測るアレについて今日、調べたことのまとめです。
といっても、リンク貼り付けるだけになります。


まず、ちょっと旧いですが、それなりに参考になるページです。

http://kzk9.net/column/time.html

マイクロ秒が最小単位だという時点で、少し古いことは明らかです。
わたしの知る限り、Javaではlang.System.nanoTime()でした。

時間に正確な人間は、それなりに優秀なので尊敬します。
そして、時間が正確な時は何処か嬉しくなります。


続いて、mach_absolute_time()を調べていた過程で見つけたページです。

http://www.wand.net.nz/~smr26/wordpress/2009/01/19/monotonic-time-in-mac-os-x/

一年以上前の英語で書かれた記事ですが、とっても参考になります。

内容は、unix系では

micro(1 / 1,000,000)秒単位で知りたいなら、gettimeofday()で、
nano(1 / 1,000,000,000)秒単位で知りたいなら、clock_gettime()で、

を使えといったところでしょうか?

それで、Mac OS Xでは、gettimeofday()は実装されていないことを言及します。
だから、代わりに<mach/mach_time.h>に定義されているmach_absolute_time()を使いなさいとのことです。

そして、そんな説明の後にはとっても親切に、サンプルコードもあります。


はあ。
また、生産性の無い記事になってしましたね。
次は、何か生産的な内容にしたいです。


お休みなさい。
【2010/02/23 23:58】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
使ってみたい。
Google Readerを漁っていたら、興味深いものがありました。

http://d.hatena.ne.jp/tanakh/20100212#p1



新種のビルドシステムらしんですが、Pythonを使うらしいです。
なんか格好良さそうではありませんか。

で、使いたくなるんですが、問題が発生します。
わたしは、Pythonっていうプログラミング言語の名前は知っていますが、そこから先は『?』なんです。

どうしましょう?
とりあえず、わたしはカスじゃないのでググるべきですね。

『カスじゃない、xxだ』って切り返せると楽しいですよね。



話は変わって、またGoogle Code内のプロジェクトについてです。

http://code.google.com/p/fujimap/


http://hillbig.cocolog-nifty.com/do/2010/02/fujimap-ae23.html



連想配列とは、また楽しそうです。
また、使ってみたくなるではありませんか。

でも、冷静になって考えてみると、xxxx万とかそんな量のデータ扱いません。
ツクールデータは精々、数百 ~ 数千がいいところです。

それでも興味は尽きないので、動向だけ観ておきます。
いくつか盗めそうな技術を転がして置いておいてくれるかもしれません。



と、まあ生産性の無い話でした。
お休みなさい。
【2010/02/22 23:59】 | 雑記 | トラックバック(0) | コメント(0) |
昨日は、すいません。
気が付くと昨日は、更新忘れていました。
ごめんなさい。

Qt なんて、慣れないものを触るからいけないんでしょうね。
過剰に何かに打ち込んでしまう癖をなんとかしたいです。

それで、まあご存知のQtを今日も触っていました。
その中で、分かったことは、世の様々なGUI同様にこれもイベント駆動でした。

そして、処理の制御に不可欠なタイマーは、QTimerというとてもわかりやすい名前で定義されていました。
有難い限りだったんですが、イベントをどうやって処理したいいのか解らないわたしには、戦場で金属バットを渡されたときに予想される気分になりました。

とりあえず、一通り解説してくれる親切な日本語ページが無かったことに悶えました。
『他力本願もいい加減になさい!』って思う方もいらっしゃるはずですが、辛いものは辛いんです。

と、まあ今日は、そんな感じでした。
やはり、灯台は必要でした。

お休みなさい。
【2010/02/21 23:59】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
Qt、使ってみたよ~。
タイトルの通り、それなりに有名だった可愛いいアレを使ってみました。
まだ、チョコッとコードを書いただけですが、それなりに馴染んでいます。

ただ、最初に思ったんですが、使えそうな日本語の資料がネットに転がって無いです。
絶望的に無いです。

なので、公式ドキュメントをサンプルコードと照らし合わせつつ書いていました。
いや~、全く勝手が分からなくて、とっても困りました。

それから、3.3向けのコードを最初はコンパイラに流していたんですが、これもなかなか動きませんでした。
どうやら、API さんが変わっていたらしく、新しい方に対応して出直さなければ、なりませんでした。

で、まあさっき、ようやくビルドまで通ったので案の定動かなかったコードをコミットしました。
そして、これからデバッガさんを駆使しつつ、こちらでも動くコードに改良していきます。


と、まあ大体そんな流れだったんですけど、今回は久しぶりに公式リファレンスを漁る楽しさを思い出しました。

GUIを扱うライブラリというのは、得てして複雑らしく、何度引いても内容は全く分からない疎外感は辛いです。
それでも、少しずつ亀が歩むのように、理解していくのは何度経験しても、飽きません。

『同じ人間が創ったのなら、理解できないものは無い』とはよく言ったのものです。
諦めない限り、理解はとっても身近な友だちなのでしょうね。


それはそうと、たまたま見つけたブログで、ちょっとハッとさせられる内容がありました。
バージョン管理についてなんですけど、自分がしたコトは、ブランチを作ってからした方がよかったのではないかいと思ったんです。

というか、ほぼそのケースで、trunk内にそれまでtrunkにあった内容をtrunk下のディレクトリにコピーしてそれをベースにコードを弄っていました。
正直、いつかオーナーのコードと合流(マージ)させないといけなかったので、痛いミスでした。

とりあえず、オーナーさんに相談します。
こうゆう整理整頓に関わることって、やっぱり才能ですね。失敗しないための方法は大体、用意されています。


と、今日は、そんなこんなで、お休みなさい。
【2010/02/19 23:57】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
そんな日あるんだと思います。
昨日、ダメなお人としては、それなりまともなことを書いたわけですが、今日は書くことがないわけです。

とりあえず、オリンピックは、それなりに観ています。
カーリングとか、スノーボードとか、クロスカントリーとか……。

自分は、なにもしなくていいので、とっても楽しいです。
一応、雪の降る地方に住んでいますが、スキー場行きたいなーなんて欲求は湧きません。

子供の頃は、親にそれなりに連れて行ってもらったんですが、実際はただのお節介で、転ぶ度に二度と来たくないと決心を新たに固めていました。
確かに、スキーで山の斜面を滑り降りるのは爽快ですが、圧しつけられると正直そんなのどうでもよくなるようです。

と、まあお茶濁しな更新でした。

お休みなさい。
【2010/02/18 23:56】 | 雑記 | トラックバック(0) | コメント(0) |
昨日の記事というか、一昨日の記事というか。
前々回の記事にレスポンスをありがとうございます。
自戒と明示のために書いた記事でしたが、わたし以外の方に何かを訴えられたのは、予想外でした。


ありがとうございました。
【2010/02/18 00:29】 | 雑記 | トラックバック(0) | コメント(0) |
たまには、ぎじゅーつ的な話。
あまり、まともな記事を上げていないので、まともな話が出来る技術について書きます。
続けることは大事ですが変えることも同じくらい大事です。

で、具体的な内容ですが、ツクールのマップチップ同士での通行・ブロックに関してです。
微妙に勘違いしていて、つい最近やっと理解できたので、まとめも兼ねております。

因みに、初級編くらいの難易度です。
イベントが絡むと、とっても複雑になります。


手っ取り早く、判定に必要なデータです。

イベントの向き
番号:向き
・2: 南(下)
・4: 西(左)
・6: 東(右)
・8: 北(上)
※ これとキャラチップの向きを勘違いしていました。両者は全く別物でした。
※ この間違いに気づけたのは、このページのおかげです。詳しくは、リンク先をご参照下さい。全く同じ記述があると思います。
※ 因みに、8まであるのは8方法を扱いたかったのではないかと邪推しています。

マップチップの通行・ブロック情報
ビット:方向
・0: ↓下
・1: ←左
・2: →右
・3: ↑上
※ ビットが立っている場合は通行可、立っていない場合は通行不可。


この2つのデータを元に、現在のマップチップ進行先のマップチップ、それぞれを判定をします。

それで、判定方法を考えるのですが、具体的には、
・switch文
・判定式を考える
という、二通りくらいは考えられると思います。
これ以上が、思いつく方は、わたしよりも素晴らしいです。

前者は、今回の場合はわたしの結論とは違うし、簡単だと思うので割愛します。
後者は、上に挙げた二つのデータにある規則性を見つけるコトから始めます。

肝心の規則性ですが、各向きの大きさビット位置が対応していることです。
10分くらい二つとニラメッコすれば、誰でも分かると思います。

そして、式を考えるのですが、現在のマップチップは、

( (通行・ブロック情報) & ( 0x01 << ( (向き)/2 - 1 ) ) ) != 0


です。
続きまして、進行先のマップチップは、

( (通行・ブロック情報) & ( 0x08 >> ( (向き)/2 - 1 ) ) ) != 0


です。

日本語部分は上の二つを適切に当てはめて、他はプログラムを書く時に使う記号とかになります。
説明は上手く出来ないですが、要約すると、

向きからシフト量を出して、

(シフト量) = (向き)/2 - 1


現在と進行先に対応する値をシフト量だけ対応する方向にシフトさせ、マスクを算出し

(マスク) = (0x01 or 0x08) (<< or >>) (シフト量)


そのマスクとアンド演算子を使ってビットが立っているのかを、判定しています。

( (通行・ブロック情報) & (マスク) ) != 0



※ マスク : 判定したいビット位置だけビット位置だけビットが立っている値です。
※ アンド演算子 : 特定のビットだけ立っているか判定されるのによく使われます。
※ 進行方向の判定式は、よくよく考えると腑に落ちると思うので、割愛です。


と、素人説明でした。
理解してくれる人がいたら、きっと幸いです。


それでは、お休みなさい。
【2010/02/17 23:56】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
わたしがしているコトは、リバースエンジニアリングにあたるかもしれない。
RPG_RT.exeをデコンパイルしているワケではないので、直接ということではないですが、製品の意図的に解析するために動作させているのは、歪めないっていう話です。
そして、LcfDataBaseやLcfMapTreeやLcfMapUnitを書き換えるソフトを製作したら、恐らくアウトだとと思います。

今は、普通の人が扱えない段階なので、原告になりそうな相手に損害は無いですけど、某製品と同じような動作をさせたら相手さんには迷惑を被りそうです。
そこら辺は、気をつけないと、いけないかもしれません。


某製品は、上記の三種類のファイルを編集するソフトです。
某製品とは違って普通に配られている RPG_RT.exe は LcfSaveData を編集します。

とすると、件の RPG_RT.exe に代わるものの製作は問題ないのではないでしょうか?
確かに某製品の一部かもしれませんが、相手さんに迷惑は掛からないのかもしれません。


あー。
なんか段々と、自分でも何をいいたいのか、よく分からなくなりました。

とりあえず、わたしはエンターブレインさんの迷惑になるような
・LcfDataBase
・LcfMapTree
・LcfMapUnit
を楽に書き換える便利なソフトはつくりません。

ゲームを動かすために、
・LcfSaveData
を書き換える RPG_RT.exe の互換品もどきしか作りません。

そして、他所様が作られた素晴らしいソフトの互換品を売るなんてセコイ商売もするつもりもありません。
(というか、有料ソフトはサポートが面倒なので、根っからその気はありません)

と、無性に言いたくなったので、我慢なんて言葉の知らないわたしは、宣言します。
要約ですらない言葉で言うと、雲の上にいる存在やわたしと双方向な接点が無い方に迷惑を掛けません、っていいたいんです。


なんか有害な電波を受信した感じた方へ。
『ごめんなさい』


そうして夜は更けるので、お休みなさい。
【2010/02/16 23:34】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
咳がひどいです。
今日は、咳以外は体調がよかったです。
まあ、いつも良くなろうと励んでいる人体のバックアップがあれば当然なんでしょうね。

と、『今日もいい天気ですねー』ってくらいありふれて、場と間が全く持たない話題しかないです。
多分、疲れているんで、もう今日はこの辺で終わりにします。

本当は、通称フリーと呼ばれるものと有料・有償と云われるものの違いについて、わたしなりに妄言を吐いておきたかったんですが、また次の機会に持ち越して置きます。

お休みなさい。
【2010/02/15 23:58】 | 雑記 | トラックバック(0) | コメント(0) |
整理整頓は才能です。
生粋の飽き人であるわたしは、気がつくと色んなものに埃をかぶせたりしてしまいます。
そして、埃が積もる前に何とかしないといけないと、自覚している質のワルい人間です。

とりあえず、部屋を掃除しないとマズいようです。
ずっと前に印刷した資料を、ものを動かした時に見つけて、そのまま埃を残しておくのは、紙にはリスペクトを払うわたしを罪悪感で苛みます。

それから、自分の書いたソースコードも、現在では許容できないノイズを取っ払いたいです。
そして、もっと綺麗に短く読みやすく、より良くして、昔の自分を今の自分で否定します。

少なくとも、成長できる才能や何かを信じて積み上げてきた自分は無駄じゃなかったって証明したいです。
もっともっと、自分の言動に重みを持たせたいです。


と、質量が電波に変換され出したので、別の話題に切り替えます。

今日は、Valentineさんの記念日だそうです。
後付けなチョコレートを食べる行事でもあるんですが、人間関係が薄利なわたしには縁はありませんでした。

どれくらい否定的というと、それなりに高い頻度で『ちよこれいと』を食するわたしが今日は全くと言っても過言ではないほど、禁断症状が出ませんでした。
恐らく、対企業戦略呪縛『僻み』が自動的に発動したのでしょう。無意識とは恐ろしいものです。

これ以上、何かチョコにつながる話題を羅列すると、いつもの中毒症状が出そうなので、今日はこの辺で勘弁しておきます。
それと、三流悪役みたいなギャグ要員になるのも不本意です。

それでは、皆さん宵『恋愛記念日』を!
お休みなさい。
【2010/02/14 23:40】 | 雑記 | トラックバック(0) | コメント(1) |
ホーム ススム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。