myoukakuのブログ

C++でゲームエンジンを作っていきます。

2014-11-01から1ヶ月間の記事一覧

空のディレクトリを全て削除する

git-svnを使っていると、ディレクトリを消してGit上では見えなくなっても、SVNでチェックアウトすると空のディレクトリが残っています。dcommitするときに--rmdirオプションをつけていればいいのですが、もうdcommitしてしまった場合はSVN側から消すしかあり…

Visual Studio 2013 Update 4 RTM

Visual Studio 2013 Update 4 来てた。 Visual Studio 2013 Update 4 (2013.4) RTM 少し様子を見てからインストールします。

ソースファイルのエンコードと文字列リテラルのエンコード

C++

結構勘違いしている人が多いし私も最近まで知らなかったのですが、C/C++のソースファイルのエンコードと文字列リテラルのエンコードは同じではありません。おそらく処理系依存だと思います。 VisualStudioの場合、ソースファイルのエンコードに関係なく文字…

git svn rebase で unable to remap

Git

ある日 git svn rebase すると次のようなエラーメッセージが出るようになりました。 C:\Program Files (x86)\Git\bin\perl.exe: *** unable to remap C:\Program Files (x86)\Git\lib\perl5\site_perl\5.8.8\msys\auto\SVN_Delta_Delta.dll to same address …

Visual Studio 2013 の std::is_pod のバグ

Visual Studio 2013 Update 3 では以下のコードがコンパイルエラーになります。 #include <type_traits> static_assert(std::is_pod<int>::value == true, ""); static_assert(std::is_pod<int*>::value == true, ""); static_assert(std::is_pod<int&>::value == false, ""); // 1 static_</int&></int*></int></type_traits>…

ゲームエンジン製作方針

ゲームエンジンを趣味で作っているのですが、ただゲームエンジンだけを作っているとどういう機能が必要なのかわかりにくいので、ゲームを作りながら、必要だと思った機能をエンジンに追加していく、という方法で進めていこうかと思います。 3Dゲーム 2Dゲー…

FizzBuzz(2)

FizzBuzz3つ目はboost::rangeを使って [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ

FizzBuzz(1)

FizzBuzz2つ目はtemplateの特殊化を使って [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ 早くもネタ切れの予感…

FizzBuzz(0)

今さら感満載ですが、FizzBuzz問題*1をC++で書いてみようと思います。 ただし違う方法で何通りかけるかを頑張ってやってみようと思います。 あらかじめググらずに、他の人とかぶっても気にしない方針で。 まずは普通にif文を使って、 [Wandbox]三へ( へ՞ਊ ՞)…

std::functionをシリアライズできなくてつらい

例えばウィンドウがリサイズされたときの処理を設定するとき、 Window window; window.on_resize() += [](int width, int height) { /* リサイズされたときの処理 */ }; のように書いて、Windowクラスのほうではstd::function(boost::function)で保持しよう…

boost::file_system の directory_iterator は "." と ".." をとばす

boost::file_system::directory_iteratorを使うとディレクトリ内のファイルやディレクトリを簡単に列挙することができます。 #include <boost/filesystem.hpp> using namespace boost::filesystem; for (directory_iterator it(current_path()); it != directory_iterator(); ++it)</boost/filesystem.hpp>…