今日一日SkinClockとSES2の開発をしてた。
SkinClockはバージョン1.20がほぼ出来上がり。明日Windowsでコンパイルしてデバッグ予定。
SES2はautoconfスクリプトとautomake書いてコンパイル。
SDL_ttfのリンクコード書いてないからリンクは完了しないけど、コンパイルエラーはつぶし切れた。
アイテムと弾丸に関しては大量確保&大量解放の連発でいちいちメモリ処理してると遅くなりそうだから、未使用オブジェクト管理クラスを書いた。すぐには解放しないからメモリドカ食い仕様だけど…
あと、管理クラスをテンプレートクラスにして弾丸管理クラスとアイテム管理クラスを別々にしようとしたら、テンプレートの仕様にしばらくハマった…
まず、
ItemFactory::ItemFactory():Factory<Item *>(){
}
といったコードを書いたら、Factory<Item *>が無いと言われた。ググッてみると、ItemFactory.cppをコンパイルするときにFactory.cppを見ないから、Factory<Item *>()が解決できないんだそうな。これは、Factoryクラスを.hファイルで実装することで解決。
次に
typename std::list<T>::iterator object_iterator=this->nouse.begin();
これ。テンプレートクラスでイテレーターを取る場合、typenameを付けないといけないっぽい。
久しぶりにdoxygen入れてみた。いつの間に検索機能なんて付いたんだ?こいつ