Profile

書いてる人:

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

Link

RSS Feed

Search

Calender

Latest Article

Category

Access Counter

Online Counter

Show All Article

どうでもいい独り言。 と、少しの開発日記。
  • 11 «
  • 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
  • » 01
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 |
パッケージマネージャ
最近、Mac OS Xのパッケージマネージャを変えました。
MacPortsを使っていたんですが、今はHomebrewです。

一応、Homebrew自体はずっと知っていたんですが、イマイチ踏ん切りが付かず、入れ直さないといけないくらいになって、やっとやった感じです。
ついかっとなって、やったわけではありません。

安定していて、操作感もMacPortsに似ていていいです。
boostの更新も速くて嬉しくなります。

ただ、MacPortsの方がApple社がやってるだけあって充実しています。
とあるRTSゲームエンジンはそっちじゃないと入れられないようです。

一応、githubのを監視しているんですが、パッケージの情報はRubyで書いてありました。
まだ、よくわかってないんですが、それをformulaっていうらしいです。

更新にはgitを使ってるみたいで、githubすげーなって想いました。
漠然としていますけど……。

そういえば、MacPortsは"/opt/local"インストールされるんですが、Homebrewは"/usr/local"で互換性の面ですごいいいです。
これで、psptoolchainを入れられます。

それと、wineのバージョンが古くてちょっとがっかりでした。
オープンソースなので、自分でやればいい話ですけどね。


おやすみなさい。
スポンサーサイト
【2011/03/19 00:06】 | メモ | トラックバック(0) | コメント(0) |
psptoolchain
面白そうなパッチがあったので試しに、それを適応してpsptoolchainをビルドしてみました。
成果は一応、githubに上げてあります。

原因とかは特に探っていないんですが、わたしの環境ではgdbとかpspshのビルドに失敗します。
あと、psplibrariesのビルドを試したところ、freetypeで見事にコケました。

それから、わたしはPSPを持ってないのでこれといった意味がないです。
PSPのクロスコンパイル環境が手に入るくらいしかいいことは思いつきません。

まあ、誰か使ってくれれば幸いです。
一応、svnの代わりにgithubのtarballを使っているので少しは速いかもしれません。


わたしの環境ですが一応、Mac OS Xでビルドしました。
homebrewは/opt/localではなく、/usr/localにインストールしてくれるので、やりやすかったです。

ただ、elf.hがなかったので、そこら辺にころがってたものを/usr/local/includeにコピーしてなんとかなりました。
それから、/usr/bin/libtoolがアレだったので、GNUのを./configure && make && sudo make installでインストールしました。

なんていうか、Mac OS Xって微妙に面倒です。


おやすみなさい。
【2011/03/07 01:08】 | メモ | トラックバック(0) | コメント(0) |
GLUTでウィンドウを画面の中央に配置する方法。

void windowToCenter()
{
Vector2 const windowS( glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT) );
Vector2 const screenS( glutGet(GLUT_SCREEN_WIDTH), glutGet(GLUT_SCREEN_HEIGHT) );
vector2 const centerP = (screenS - windowS) * 0.5; // / 2;
glutPositionWindow( centerP.x, centerP.y);
}


みたいにすればいいみたいです。
Vector2はQPoint2とかてきとーにしてください。

ただ、ウィンドウのフレームの大きさは含まれてないので、微妙にズレます。
【2010/09/29 04:34】 | メモ | トラックバック(0) | コメント(0) |
カウンター×カウンターのような反則技。
関数のconstを無効化する方法を知りました。

ん? ((T*)this)->hoge(); とかのこと? RT: @take_cheeze 関数のconstを無効にする黒魔術ないかな? [電波注意]
http://twitter.com/wraith13/status/13408927210


もう、ウッハウハです。
さっそく、使っちゃいました。

ただ、これは禁術なので、あんまり使っちゃいけないですね。
const_castの頻度くらいに控えます。

それと、ちょっと長くなりますが、const_cast< T& >(*this).hoge()なんて書き方も出来るみたいです。
(これ参照。ポインタが嫌いなので、わざわざ参照を使ってます)


おやすみなさい。
【2010/05/05 23:45】 | メモ | トラックバック(0) | コメント(0) |
手抜き。
今日は、大した対したことをしていないので、紹介だけです。



※ 黒魔術では、あるんですが、JavaScriptやC++には劣ります。
【2010/04/01 23:33】 | メモ | トラックバック(0) | コメント(0) |
書くことが散乱してるから、メモ。
Project.Kuto さん、スゲー。



ldb, lmt, lmu, lsd をそれぞれバラして、独立したファイルにした。
これで、少しは編集しやすくなると思う。

まだ、エラーでイロイロ落ちる。
とりあえず、次に何するのか分かってるからマシだけどさ。

イベントを処理する方法を考える度に、頭がアジャパーする。
キー入力待ったり、処理が終わるまで待ったり、ウェイトしたり。

OpenGL + SDL 使いたい。
読み漁りの積み重ねで、なんか解ってきたりしたし。

絶対、OpenGL 使った方が細かくできるし、ハードウェアアクセしてくれるから早い。
PSPGL を触ろうかと思う。


そんな風に、雑多です。
因みに、今までの編集分を無くしたら怖いので、SVNの方はアップしました。


では、お休みなさい。
【2010/01/31 23:58】 | メモ | トラックバック(0) | コメント(0) |
イベントコマンドの分岐とか。
ツクールのイベントでの分岐に関するメモです。

開始値点以外は、イベントコードの値が全て "20000" 以上。
分岐の終わりには、イベントコマンド "10" が挿入される。
同族(構文の構成要素) は、十進数でイベントコードの "千の位~十の位"が同じ。
・スコープの深さを活用する方法もあるけど、それは極力頼らない。
【2010/01/21 23:58】 | メモ | トラックバック(0) | コメント(0) |
非道く、どうでもいいメモ。
前から書こうと想っていた、FC2 ブログについているRSS(feed)の URI をメモしておきます。

発端は何となしに、わたしの『独り雑記なんて見たくもない』って人がいると思ったからです。
わたしは、それなりにズボラですけど、カテゴリ分けは神経質にしていますから。


URI は、わたしのブログを例にします。
別のブログに対しても適用したい場合は、適宜読み替えてください。


まず、基本です。

1. すべての記事

http://takecheeze.blog47.fc2.com/?xml


2. すべてのコメント

http://takecheeze.blog47.fc2.com/?xml&comment


3. すべてのトラックバック

http://takecheeze.blog47.fc2.com/?xml&trackback



恐らくブログのプラグインなどで、知っていると思います。


続いて、カテゴリです。

カテゴリ番号xxを取得するには、

http://takecheeze.blog47.fc2.com/?xml&category=xx


と、します。

xxは、

http://takecheeze.blog47.fc2.com/blog-category-8.html


の場合、『8』です。


具体的に、わたしのブログで読まれる一番のカテゴリ、"RPG2k_Emu" の RSS(feed) は

http://takecheeze.blog47.fc2.com/?xml&category=9


で、得られます。


因みに、さっき試したんですが、組み合わせは出来ないようです。
(http://takecheeze.blog47.fc2.com/?xml&comment&trackback など)


参考になれば、幸いです。
【2010/01/18 23:03】 | メモ | トラックバック(0) | コメント(0) |
ダラダラと。
今日は、昨日いっていたことをやってみたんですが、その過程でイロイロと知ったので、メモしておきます。
それから、拍手コメントを一つ頂いたので、それは追記しておきます。

ざっと挙げると

・virtualは、コンストラクタにつけられないけど、デコンストラクタは修飾できて、それには深いわけがあったり。
・main関数が返す値について。
・オブジェクト指向とC言語。
・typeidによる型の判定。

です。


最初は、非常識人のわたしが知らなかった常識からです。
このページを見て知ったことなんですが、C++のvirtualは継承の要らしいです。

今まで、あまり深く考えずに、使い辛いって想いながら使っていたんですが、それには理由があったようです。
でも、今日のコトで合点しました。

よくよく考えると、C++の事情に合致する設計でした。
クラスを関数に引数一つ足すことで実現しているのですから、厳密な型情報を元に呼び出すのは当然ですよね。


続いて、二つ目です。

これも、当たり前のことなんですが、main関数は戻り値の型が "int" です。
別に、voidと定義しても問題ないですが、正しくは、 "int" です。

とまあ、うるさく二度いいましたが、ついでにこれと同じくらい大事だと思うこともあったりします。
main関数の戻り値は、その値によって異常の有無を確認しています。

そして、その値の定義は巷で見かける多くのサイトでは、わたしの独善的な判断では、いい加減です。
『0 か 1 か?』、大体それだけです。

慣習的なモノらしかったりするそうですが、ただ文化を押し付けているだけです。
ナマの値ほど分かり辛いモノは、そうそう無いと思います。

"EXIT_FAILURE" "EXIT_SUCCESS" なんて値がきちんと定義してあるのに……その記述は少ないです。
『Let's 定数!』ですね。


そして、三番目です。

なんというか、未だに必須技能だったりする、あいつです。
ホントに何でも出来る言葉ですが、本気であいとを使うと面倒くさいです。

でも、その進化系は、とっても使いやすかったりするんです。

何がいいたいのかというと、勉強するのには向いているけど、用途は特種用途だけにしてほしいってことです。
それと、実際に勉強するなら今主流(?)のオブジェクト思考なども並行して勉強するといいでしょう。


それから、最後です。

C++で、偶にしたくなる型判定をするには、typeidを使えばいいそうです。
前々から知っていた実行時型情報ですが、初めて実用的な使い方しました。

それだけです。


では、お休みなさい。
ツヅキヨム
【2009/12/25 23:57】 | メモ | トラックバック(0) | コメント(0) |
どうか気は、滅入らないで欲しい。
今日は、Twitterずっとみてました。
なんというか、アカウントが片想い方向に、肥大化したもので……。

以下、メモです。
進捗状況込みなので、掲載しておきます。

・iteratorのtypedef。
・LcfDataBaseにあったチップセット情報の取得関数の移動。

なんか、何もしていないも同然です。
申し訳ないです。

明日は、最低でもチップセット置換機能とイベントコマンドの幾つかを実装したいです。
お休みなさい。
【2009/12/05 23:35】 | メモ | トラックバック(0) | コメント(0) |
はやっ!?
さっき、コードを少しイジってみました。

まずは、わたしは何をしようとしていたのだろうかと自分探しの旅から始まりました。
ホントに、方向性というモノを何処かに置いてきてしまったような感覚でした。

とりあえず、マップ描画に色んな修正が必要そうでした。
それだけは、確かです。

ついでに、さっき動画を録ろうと動かしてみました。
録ろうとしたんです。
でも、何故かエンコードしたモノにはエディタ画面とザーーーっとひたすら流れるノイズだけしかありませんでした。

気分が、ブルーだったので諦めました。


と、そんな感じで、ダメだったのでメモ残して寝ます。
お休みなさい。

以下、メモです。
興味の無い方には、無用の長物です。
ツヅキヨム
【2009/12/04 23:58】 | メモ | トラックバック(0) | コメント(0) |
最大レベル100。現在、24。レベルアップすれば、25。
今日、知ったC++のTIPSを忘れないようにメモしときます。


・using のもう一つの使い方

usingって、クラス内では継承のアクセス権を変えるのに使えるんですね。
道理で、演算子のオーバーロードをオーバーライドして損していました。


・stack は、protcted継承

何かと不便に思っていた std::stack なんですが、これを拡張したい場合は protected 継承するそうです。
Twitter でボヤいたらこのページを書いた方がこのページを紹介してくださいました。


・auto の便利な機能

まだまだ、話題程度のお話なんですが、autoキーワードに C++0x で新しい機能が追加されるみたいです。
無駄に長くなってしまうような型名を、関数の戻り値を元に自動的に判別してくれるらしいです。
例えば、イテレータを宣言するときに、長くなるあれが auto 一つで、int ~ なみに短い記述になります。

でも、C++0x っていう最新の標準なので、psptoolchainでは、多分、使えません。
C++0xは、確か gcc 4.4.*系以降サポートされていたはずでしたから。
大人しく typedef しています。


・const_iteator

C -> C++ でより強力になった const ですが、iterator にも constがありました。
性悪説信者な、わたしには魅力的な機能です。

最初の using 以上に出番がありそうです。


と、そんなところです。
お休みなさい。
【2009/12/01 23:19】 | メモ | トラックバック(0) | コメント(0) |
いっそ、ボンって……。
今日は、マップを表示する処理と、イベントの処理を並列して、構築していました。

で、なんか異常に気分が、悪くなりました。
軽く船酔いしています。

正直、ロジックを全て頭の中で、創り上げるのは、精神的に大きな負担になります。
それに、わたしの脳は、速く憶えるのが苦手です。

全部、頭に入っている状態ならまだしも、一からは難しいです。

そこで、また整理を兼ねて、ここをメモを残しておきます。

やったこと。
・実行イベントの選択判定。
・連想配列を使ったイベントの配置。
・イベントの開始条件の判定。
・チップセット、レベルでの通行・ブロック判定。
・イベントコマンド実行のループ。

これから、やること。
・位置を連想配列に配置した際に、ページ番号も別の連想配列に残す。
・イベント、レベルでの通行・ブロック判定。
・決定キー・主人公接触・イベント接触を通行・ブロック判定時についでに判定。
・イベントの位置情報に代替品としての移動中、ループ回数を残す。
・ページ番号判定時にグラフィック情報を再設定する。

と、大体こんなトコロだと思います。

まずは、これらを少しずつ机上の空論としてコードに展開していくと思います。
恐らく実動作は、戦々恐々しながら、リアルに侵食させていくと思います。

では、お休みなさい。
【2009/11/26 23:41】 | メモ | トラックバック(0) | コメント(0) |
乱雑に積みすぎた。
今日は、昨日いってみた通り、イベントの処理やってみました。

結果は、とりあえず訊かないで下さい。
ホントに、仮想マシンの基本みたいな本に書いてあった基本の基本をやってみただけです。

きっと、わたしは、途方に、暮れていたんでしょう。

で、少しだけ掴んだ感触だけでも、メモしておきます。

・イベントの状態を保持してるセーブデータの構造が、要解析。
・イベントの出現条件を満たしているかの判定が必要。
・イベントコードごとにする処理は、簡単。

と、大体こんなトコロです。

多分、一番目は最重要にして最難関でしょう。
コレが分かれば、推量の域をかなり減らせます。
ただし、そこまで容易く分かるモノでは無さそうです。

二番目は、セーブデータとプログラムのインターフェースを構築してからになりそうです。
恐らく、そんなに難しくないと思います。

三番目は、少し手を付けての感想です。
二番目と同じく仲立ちを造ってしまえば、いいだけです。

で、やや強引にまとめると、仲介者を造って、解析をもっとやれということです。
とても当然の答えですが、実践するのにはダルいです。

まあ、寝ればなんとかなると思います。

では、そんなこんなで、お休みなさい。
【2009/11/22 23:20】 | メモ | トラックバック(0) | コメント(0) |
C++と拡張子。
今更なんですが、geanyでは、ファイル名が *.h の時、Cのソースだと認識されるようです。
今日、何となくメニューバーを、眺めていたら気がつきました。

どうりで、インライン関数が補完対象にならないワケです。
C++のヘッダファイルだというのに、Cのヘッダファイルだと認識されていたんです。

それで、さっき、for文を使って、ヘッダファイルの拡張子を変えました。
その時、何度か間違えて、何度かバックアップから復元したのは、きっと気のせいです。

for a in *.h */*.h; do mv $a ${a%.h}.hpp; done



そして、これから、正規表現でも使って、include文のオペランドを変えます。


と、そんなコトしてたんですが、ついでに面白いコトを知りました。

C++の拡張子って、かなり、いい加減みたいですね。
というか、わたし自身、c++やらcxxという拡張子を見たことがあるのを思い出しました。

更に、Makefileのフラグには、CXXFLAGSを使います。
どうやら、"x"を"+"の代わりに使ってるみたいです。

なんか、素直に驚きました。
でも、同時にC++らしいとも思いました。

C++は、何でも有りな言語です。


そんあところで、お休みなさい。
【2009/11/08 23:54】 | メモ | トラックバック(0) | コメント(0) |
ホーム ススム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。