Version 2.3.0 平成31年4月28日
Pre-release
Pre-release
- MITライセンスに変更
- 開発環境をVisual Studio 2017に切り替え
- Visual Studioでビルド時.dllを.binにする
- Windows XPを対象から外す
- x64に対応
- Visual Studioのコード分析を有効化
- 瀬戸内三麻を追加
- Macでも動くようにする(但しXQuartz依存)
- タイトル画面の修正
- タイトル画面にバージョン番号を表示するようにする
- タイトル画面で放置するとデモプレイが始まるようにする
- タイトル画面、ロード画面に背景を追加
- 卓進行中の挙動を修正
- 手牌のoff-by-oneエラーを修正
- 鳴いた赤ドラが計上されないバグを修正
- 特定の状況で捨て牌の表示に失敗する問題に対処
- 捨て牌表示処理で落ちることがある問題に対処
- 和了表示に鳴いた牌が表示されなかったのを修正
- 花牌を誤ってダブルカウントしていたのを修正
- 三麻で居ないプレイヤーに「不聴」と表示されるのを直す
- AIの食い変えに対処
- リーチ後の暗槓・花牌選択で牌が暗転しないのを修正
- チー、ポンのときに複数候補がある場合は最大2枚選択するように変更
- キーボード操作でWASDも使えるようにする
- コンフィグ周りの挙動修正
- 打牌などの制限時間を設定できるようにする
- マウスホイールでのページ送りの方向を反転
- 設定ツールを別アプリに独立させる
- 環境設定INIファイルで大文字と小文字を区別しないようにする
- ルール設定が保存できなかったのを修正
- 北の漁場の設定項目の誤りを修正
- Windows以外でコンフィグファイルのパスが正しくないのを修正
- チャットウィンドウを廃止
- 時計の位置をサイドバー(以前チャットウィンドウがあった場所)に移動
- 牌譜出力機能のデバッグと機能変更
- XML牌譜がill-formedになる問題を修正
- テキスト形式、HTML形式の牌譜を廃止
- 牌譜にサイコロの出目を記録するようにした
score-after
を記録しないようにする- ルール設定で冗長なものを牌譜に出力しないようにする
- 割れ目や導火線の位置を牌譜に出力
- 割れ目、導火線の位置コメントをXSLTに反映
- 牌譜に役情報を記録するようにする
- 嵌張または大きい方を吃した時のバグを修正
- 花牌がドラになった場合の牌譜データ
- グラフィックの修正
- 中国ルールでサイコロの4を赤くする
- 焼き鳥マークのデザインを変更
- 高解像度版の画像データを用意(Windowsは64bit版のみ)
- Linuxでサーバー時に落ちないように対策
- IPv6に対応
- サーバのアドレス指定に
getaddrinfo()
を使うようにする
- サーバのアドレス指定に
- ウィンドウの挙動修正
- ウィンドウモード時に画面の中央に寄せるようにする
- ウィンドウが正しく表示されないことがあるのを修正
- 全画面モードで落ちるバグを修正
- 擬似フルスクリーンモードを実装(Windowsのみ)
- OpenGLのクリンナップを行うようにする
- 音声周りの挙動修正
- XAudio2でVorbisのイントロ付きループ再生に対応
- Ogg Vorbisの読み込みを並列化
- 結果画面のBGMが鳴りっぱなしになるバグを修正
- MIDIデバイスを指定できるようにする
- 効果音を変更
make install
で不要なドキュメントファイルまでインストールされていたのを修正- コードをリファクタリング
リファクタリングの主な内容
- C++14を使用するようにする
- subdir-objectの指定を追加
- .gitignore更新
- 名前空間を移動
- 関数名の間違いを修正
- POD判定をtrivially copyable/standard layout判定に置き換え
YakuResult::Init()
をコンストラクタに置き換えLargeNum
関係LargeNum
クラスのコンストラクタLNum
ラッパークラスを削除LargeNum
をconstexpr
にする- 型関係の修正
- 役満用のデータを使うかの判定処理を移動
- ドラ込みの翻をイディオムからメソッド化
- 成立役リストの処理をcommonに移動
malloc
/free
をnew
/delete
に書き換えlocaltime()
をlocaltime_s()
に書き換え- 暗黙の型変換をキャストに書き換え
- 符号付きと符号なしの比較を避けるようにする
- ANSI版で碰碰和の文字化けに対処
const
のうち定数はconstexpr
に書き換え- C++スタイルのキャストを使うようにする
- Visual Studio関係
- コード解析をネイティブ推奨規則に設定
- Windows7互換用にプリプロセッサを設定
- Visual Studioでワイド文字版をデフォルトにする
- ANSI版の構成を削除
- Visual Studioプロジェクトファイルにcommonヘッダを入れる
- VersionHelpers.hを使うようにする
LargeNum
→int64_t
で正しくない結果になる可能性があるのを修正ifstream::imbue()
の返り値の破棄を明示- 潜在的な未初期化に対処
- 受信バッファをヒープに移動
- オーバーフローの可能性を排除
- LZMA関係
- LzFindMt.cの警告を無視
- LZMA伸長時ポインタの型が正しくないのを修正
- ルール設定の読み込みに
ifstream
を使う - 二重配列の初期化
- 音声モジュール周り
- 音声データのヘッダファイル・定義ファイルをクラスで分離
- USE_XAUDIO2の有無だけで判断するようにする
- OGG読み込み時のバッファサイズを調整
- libogg、libvorbis関係
- サブモジュールに変更
- リリースビルドを使うようにする
- プロジェクトをソリューションに統合
std::random_shuffle()
を使わないようにする- 行列の計算を関数にまとめる
- グラフィックモジュールの例外オブジェクトを
std::except
派生に変更 - 鳴き選択関係
- リモートの手動理牌に対応させる
- AIの理牌コード
- 牌データにメソッドを追加
- 選択した牌を移動する処理を追加
- ソート処理に標準ライブラリを使うようにする
- Tileオブジェクト周りのリファクタリング
- tilecode.hにコメントを付ける
ShowTile::NewTile
の引数を変更
- Autotools関係
- configure.acでC++14をチェックするようにする
- Pythonのモジュールの有無を確認するようにする
- configureでrubyをチェックするようにする
- カレンダー関係のリファクタリング
- 役判定ルーチン内の関数オブジェクトをconstにする
- md2html.pyを修正
- strcode.hを修正
- Clang++で見つかった問題を修正
- dangling elseを解消
-Wparentheses
に対処- インクリメントを分離
- 喰いタンのルール判定で等号比較していたのをメソッドに修正
- 明示的なoverride指定
- 論理積と論理和の順序を明示
-Wno-switch
を指定
- *.vcxproj.userをリポジトリから除去
- Boost対応を廃止
- 不要になったコードの削除