進め、自分。

ゲームプログラマがC++のことなどを。

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

角度クラス 解説

C++

角度クラスが一通り実装できたので解説を。(3年越しだな…)まずは使い方。 void func( Angle a ) { ... } ~~~ Angle a(0.5f); // 180度 Degree d(180.f); // 180度 Radian r(pi); // 180度 // どれでもOK func(a); func(d); func(r); // 四則演算 //a +…

角度クラス 実装その2

C++

角度クラス、実装していったら やっぱりラジアン、デグリー、360度を1.0で表す3種類を 1つのテンプレートで実装することになりました…ひとまず現在の実装状態は↓から。tofu/Angle.hpp at develop · fsawa/tofu · GitHub tofu/Angle.cpp at develop · fsawa…

角度クラス 実装その1

C++

少しずつですが、角度クラス実装してます。以前の構想ではラジアン、デグリーと、360度を1.0で表す3種類を扱う予定でしたが、 改めて考えてみると、1.0で表すクラス1つでいいんじゃないかと思ってきました。もちろん、ラジアンやデグリー値との相互変換は…

型情報クラス作成

C++

型情報クラス、最低限必要なところは実装完了。 一応GitHubで見られます。 tofu/TypeInfo.hpp at develop · fsawa/tofu · GitHub tofu/TypeInfo.cpp at develop · fsawa/tofu · GitHubあとは参照型の対応と、継承関係の検出をやりたいけどそれはまた後で。 …

RTTIを使わない型名の取得

C++

ひとまず単体テストのプロジェクトが作成できました。 コンパイラを「Clang with Microsoft CodeGen」にしていて、 Clang用のプロジェクトテンプレートにはライブラリしか無いので 後から実行形式に設定を変えるなど。 VS2017のClangがどういうバージョンな…

単体テスト準備

ひとまずライブラリが最低限ビルド出来る段階になったので、 今度は単体テストで動作確認をしたくなりました。テスティングフレームワークはGoogleTestを使ったことがありますが、 今回はとあるフレームワークを試してみることに。それはgithubで公開されて…

countof

C++

自作ライブラリ、手始めに型情報クラスを実装。 それに伴う最低限必要な機能をあれこれ実装した。 アサートマクロとか、コンパイラ毎の違いを吸収するマクロとか。で、配列の要素数があっているかチェックする静的アサートのマクロも 実装しておこうと思って…

vs2017でプロジェクト作成

今日はようやく自作C++ Libraryのプロジェクトをvs2017で作成した。 .gitignoreで不要ファイルを除外しつつ、 ソースコード(と言ってもまだ仮のhppのみだけど)をgithubにもプッシュ。 色々整備したいけど…とにかくまずは基本のコードを書いてビルド通すと…

compattelrunner

前から自宅PCの動作が重いことが多く、 まあそんなスペック高く無いからなーと思ってたのだが、 どうもディスクアクセスが常に100%近くの負荷になっていて、 最近幾つか対処した。まずはデフラグ。 HDDの最適化が定期的に実行されるようにスケジュールされて…

ID Managerの世代バックアップ保存失敗

以前から、ID Managerの設定を保存するたびに 世代バックアップの保存に失敗したっていうメッセージが出てて、 まあ世代バックアップだったらいいかなって流してたけど、 全然良くない事に今更気づきました…これで作られるファイルをID Managerのバックアッ…