rogueclone2s で実現したこと/実現したいこと

データ分離版ローグ・クローンIIと比べ rogueclone2s で実現したこと/実現したいことをまとめてみたいと思います。

  • 実現したこと

・ ncurese の使用
メンテナンスの動機で書いた黒背景を見たい!という当初の目標から、内蔵 curses を捨て ncurses を使用し、黒背景を実現しました。
内蔵 curses の変わりに広く普及している ncurses を使ったことにより移植性の幅がひろがりました。


・autoconf/automake 化
当初は環境依存関数の分離のために導入しました。
導入後、ソースの配布用アーカイブ作成処理の単純化、複数環境でのコンパイル作業の単純化といった効果も生み出してくれました。
autotools は、そのバットノウハウを覚えてでも使用する価値があります。


Windows,FreeBSD 対応
ncursesの使用・autoconf/automake化の作業により、移植作業がだいぶ簡単になったことにより実現しました。


  • 実現したいこと

・メッセージファイルの複数コード対応
現状では、読み込めるメッセージファイルは SJISEUC しか対応しておらず、しかもコンパイル時にそのどちらかを指定しなければなりません。
この現状を改善し、メッセージファイルのエンコードを意識せずに読み込めるようにしたい。


・内部処理の UNICODE
上記の実現方法として、内部処理を UNICODE に統一し、 読み込み時に iconv を使うことでいろいろなコードに対応できるようにしたい。
ソースコードもそのほうがすっきりするでしょう。


・ C99化
C99 では UNICODE の記述に対応しています。
内部処理の UNICODE 化のためもありますが、今後 C言語で標準となっていくだろう規格にあわせたほうが、僕が飽きて放置した後でも、将来においてメンテナンスされる可能性が上がります。