仕様・バグ一覧

「仕様・バグ一覧」の編集履歴(バックアップ)一覧はこちら

仕様・バグ一覧」(2014/03/19 (水) 19:54:15) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

>ここではKuinに関するバグや仕様についてまとめています。 >ここに載っていないバグは、未報告のバグなので、書き込みお願いします。 ---- #contents(fromhere=true) ---- #aname(FIXME) // @wikiの部分編集(#areaedit())はスパム編集の入り口になりやすいイメージがあるので、使わないことにしました。 // #areaedit() // ======================================================================== *FIXME >Kuinの開発者が「修正すべきタスクのまとめ」を欲しているため、Wikiにリストアップしています。 >加筆・修正にご協力をお願い致します。特にルールはありません。じゃんじゃん書き込みましょう。 |''記入日''|''不具合の概要''|''詳細''|''修正見込等''|h |2013/09/29|avast!|[[詳細>https://twitter.com/b2/status/383945154119213056]]|| |2013/10/07|Draw@CFontクラスのMakeTexメソッド、等幅フォントを指定しても等幅にならない|[[詳細>https://twitter.com/tatt61880/status/385540484459802624]]|| |2013/11/16|ReadMe.pdf、35ページ目。stach (stackのtypo)||| |2013/11/17|ReadMe.pdf、25ページ目。list, stack, queueの定義で、[]は不要(そのままだとコンパイルエラーになる)。&br()var a: []list<int> :: #list<int>||| |2013/12/08|幅あるいは高さが4より小さい kntexファイル(例えば2x2)を読み込むと関数固有のエラー Code = 1002||仕様。Readme.pdfに書く予定| |2014/01/04|ドライバ依存でRectに角が生えることがある。|rさん|修正予定なし。| |2014/01/25|ReadMe.pdf、32ページ目。Subメソッドの戻り値の型がintになっている。正しくは[]type||| |2014/02/09|const num: float :: 1.0e-5がコンパイルエラー(E1007 不正な数値表現)。1.0e5は問題なし。||1.0e5が通るのが不具合| |2014/02/11|dictでGet()したものをそのままToStr()すると値がおかしい。 (Kuin 1.01)&br()(keyが存在しない場合は問題なし)||| |2014/02/14|classでメンバの関数型の変数を使うコードで番号なしコンパイルエラー&br()「Error: インデックスが配列の境界外です。」|[[詳細>https://dl.dropboxusercontent.com/u/9975638/kuin/bugs/20140214/test.kn]]|| |2014/02/16|[[https://github.com/tatt61880/kuin_test/]] ←これで意図せぬコンパイルエラーがでないか。|Kuin更新時チェック用|| ↑ここに追加してください。 ※このページはあくまで覚え書きです。本当に不具合か、詳細情報が十分かどうかを、Kuinの作者([[b2>https://twitter.com/b2]])に問い合わせるのが望ましいです。 *要望 |''記入日''|''要望の概要''|''詳細''|''実装見込等''|h |2013/11/03|ラベル・ボタン・テキストボックス・チェックボックス・ダイアログボックスの実装||| |2013/11/03|Input.knの改善|タイピングゲームが作れるレベルに。|| |2013/10/29|無駄にキャストした場合のエラーメッセージをわかりやすくしてほしい。|[[詳細>https://twitter.com/tatt61880/status/394005095160877056]]|| |2013/11/02|「Error: E2007 型が一致しません。 キャストなどを用いて正しい型に変換してください。」をよりわかりやすくしてほしい。|[[詳細>https://dl.dropboxusercontent.com/u/9975638/kuin/suggestions/20131102/20131102.txt]]|| |2013/11/21|breakでブロック名が指定されていない場合のコンパイルエラーメッセージが E1000。わかりやすくしてほしい。||| |2014/01/25|Input@PadやInput@Mouseで押されていない時間がマイナスの値で取得できるといい||| |2014/02/15|GUIなしで実行するexeを出力するモード(ツール用にほしいです)||| |2014/02/15|外部のdllやexeを実行する手段。||| |2014/02/15|eval||| |2014/02/22|メッセージボックスを出力する関数。(Dbg@Logはデバッグモードでしか使えないので)||| |2014/03/08|dict型のキー一覧の配列を返すKeys()メソッド||| ||||| ↑ここに追加してください。 ※このページはあくまで覚え書きです。要望の詳細が十分Kuinの作者([[b2>https://twitter.com/b2]])に伝わるか、確認するのがのが望ましいです。 >【便利な検索機能】 >Twitter検索: [[修正 from:b2>https://twitter.com/search?q=%E4%BF%AE%E6%AD%A3%20from%3Ab2&src=typd&f=realtime]] >Twitter検索: [[修正 from:tes_so>https://twitter.com/search?q=%E4%BF%AE%E6%AD%A3%20from%3Ates_so&src=typd&f=realtime]] >Twitter検索: [[調査 from:b2>https://twitter.com/search?q=%E8%AA%BF%E6%9F%BB%20from%3Ab2&src=typd&f=realtime]] >Twitter検索: [[調査 from:tes_so>https://twitter.com/search?q=%E8%AA%BF%E6%9F%BB%20from%3Ates_so&src=typd&f=realtime]] // #areaedit(end) // ======================================================================== ---- *Ver.0.04での更新情報(0.04同梱のReadme.txtより抜粋) -30fpsを60fpsに変更 -明るい部分が発光する効果(キラキラエフェクト)の廃止 -例外コードの全面的変更(より扱いやすい10進数の数値へ) -list型、stack型、queue型のサポートおよび、それらをforeachで回せるように -クラスの継承周りとアクセス指定子の完全サポート -ソースレベルのアクセス指定子のサポート -スーパークラスに.ToBins()、.FromBins()メソッドが追加されているが、まだ使用してはならない -配列に.Sub()メソッドが追加されているが、まだ使用してはならない -フィルタ機能の追加。Draw@SetFilter()関数で、画面全体をグレースケールやセピア調にできる -描画処理を10倍程度高速化。 -sbyte型の廃止。byte型に符号付き算術シフト.Sar()メソッドの追加 -throw 2000, "Hoge" のように、文字列が投げられる機能の完全サポート --(文字列を含む例外をcatchしなかった場合にメモリリーク警告が出ますが、これに関してはちゃんと解放されていますので安心してください) -その他、多数の細かなバグ修正 ---- 例外コード一覧 -0000~0499 ユーザが自由に使えるメッセージ領域 -0500~0599 Kuin側が使用するメッセージ領域 --0500 アプリケーションの終了要求(ウインドウを閉じると発生) --1000~1999 関数ごとに自由に使えるメッセージ領域この領域では、例外コードとその意味が1対1に対応していない。関数ごとに独立して設定できる。 以下に、標準ライブラリ関数での例外コード一覧 -Snd@Load --1000 サポートしていない形式のファイルをロードした --1001 サウンドのハードウェアエラー -CSnd.Play --1000 不正な引数パラメータ -SaveData@Load --1000 セーブデータが破損している(プレイヤーによる改竄の防止) -int.ToStrF, float.ToStrF --1000 不正なフォーマット指定 --1001 長すぎるフォーマット指定 -Kuin@Hash --1000 長すぎるデータ列 -CStream.Seek --1000 不正なOrigin指定、もしくはファイルの範囲を超えた位置にシークした -CStream.Read*** --1000 読み込めるデータが残っていない(ファイル終端にたどりついた) --1001 読み込んだデータがintやfloatなど得ようとした数値の型の範囲を超えている -Draw@LoadTex --1000 サポートしていない形式のファイルをロードした --1001 テクスチャサイズが、一辺2^nピクセルになっていない --1002 グラフィックスのハードウェアエラー -Draw@LoadFont --1000 サポートしていない形式のファイルをロードした -CFont.MakeTex --1000 テクスチャサイズが大きくなりすぎた --1001 グラフィックスのハードウェアエラー -Draw@LoadObj --1000 サポートしていない形式のファイルをロードした --1001 グラフィックスのハードウェアエラー -CObj.Draw --1000 不正な引数パラメータ -Draw@SetCamera --1000 不正な引数パラメータ(長さゼロのベクトルを指定した) -Draw@SetLight --1000 不正な引数パラメータ -2000~2999 ユーザが自由に使える例外領域 -3000~3999 Kuin側が使用する例外領域 --3000 assert文の条件がfalseになった --3001 GBerry.knが見つからない(この例外を検知しても、GBerryがないと例外情報を出力する術がないことに注意。そのうち対策する) --3002 配列の有効範囲外を参照した --3003 int型の数値がオーバーフローした(Kuinのint型はオーバーフローしないように扱うべき。とはいえ、2^63程度の膨大な数が扱えるので、そこまで気にしなくても良い) --3004 クラスのインスタンスを、変換できないクラスにキャストしようとした(親→子キャストで注意) --3005 ファイルが開けなかった(例外に埋め込まれた文字列に、ファイルパスが格納されている) --3006 GBerryの初期化エラー(例外に埋め込まれた文字列に、原因の詳細が格納されている) --3007 GBerryが扱うクラス(Draw@CTexなど)のコアなメソッド(.ToStrなど)を直接呼び出そうとした --3008 GBerryが扱うクラス(Draw@CTexなど)のインスタンスをユーザ側で作ろうとした --3009 オーバーライドされていない、.ToStr()、.Cmp()などのメソッドが呼び出された(クラス同士を比較するときは、Kuin側によって.Cmp()が呼ばれるが、そのときユーザ側でその中身を実装していないと、この例外が生じる) --9999 予期せぬ例外(Kuinコンパイラのバグなので、作者に報告すべき) -16#80000000~ CPUが発生させる例外領域(以下はCPUの仕様を読んで書いたので、実際に検証していない。おそらくこういう例外となっている、程度に認識してほしい。英語表記のものは、よく解らなかったもの) --16#80000002 Datatype misalignment --16#80000003 ブレークポイント(デバッガアプリから操作しないと通常発生しない) --16#c0000005 不正なメモリアクセス(nullインスタンスのメソッドを参照したときなどに発生) --16#c0000006 In Page Error --16#c0000008 Invalid Handle --16#c000001d Illegal Instruction --16#c0000025 Noncontinuable exception --16#c0000026 Invalid Disposition --16#c000008c Array Bounds Exceeded --16#c000008d Float denormal operand --16#c000008e 浮動小数点ゼロ除算(float型で0.0除算したときに発生、のように見えるが、Kuinでは無限大infの値になるので、実際には発生しないと思われる) --16#c000008f Float inexact result(このあたりに、0.0 / 0.0 のような NaN例外があるはず) --16#c0000090 Float invalid operation --16#c0000091 浮動小数点オーバーフロー(実際に発生するのかは不明) --16#c0000092 Float stack check --16#c0000093 浮動小数点アンダーフロー(実際に発生するのかは不明。負の大きな数があふれることを指すのではなく、絶対値の小さすぎる数が0.0に丸め込まれることを指す) --16#c0000094 整数ゼロ除算(int型で0除算したときに発生) --16#c0000095 整数オーバーフロー(Kuinではこの例外ではなく、3003コードが返るので、この例外は発生しないと思われる) --16#c0000096 Priv instruction --16#c00000fd スタックオーバーフロー(無限に再帰呼び出しをすると発生) ----
>ここではKuinに関するバグや仕様についてまとめています。 >ここに載っていないバグは、未報告のバグなので、書き込みお願いします。 ---- #contents(fromhere=true) ---- #aname(FIXME) // @wikiの部分編集(#areaedit())はスパム編集の入り口になりやすいイメージがあるので、使わないことにしました。 // #areaedit() // ======================================================================== *FIXME >Kuinの開発者が「修正すべきタスクのまとめ」を欲しているため、Wikiにリストアップしています。 >加筆・修正にご協力をお願い致します。特にルールはありません。じゃんじゃん書き込みましょう。 |''記入日''|''不具合の概要''|''詳細''|''修正見込等''|h |2013/09/29|avast!|[[詳細>https://twitter.com/b2/status/383945154119213056]]|| |2013/10/07|Draw@CFontクラスのMakeTexメソッド、等幅フォントを指定しても等幅にならない|[[詳細>https://twitter.com/tatt61880/status/385540484459802624]]|| |2013/11/16|ReadMe.pdf、35ページ目。stach (stackのtypo)||| |2013/11/17|ReadMe.pdf、25ページ目。list, stack, queueの定義で、[]は不要(そのままだとコンパイルエラーになる)。&br()var a: []list<int> :: #list<int>||| |2013/12/08|幅あるいは高さが4より小さい kntexファイル(例えば2x2)を読み込むと関数固有のエラー Code = 1002||仕様。Readme.pdfに書く予定| |2014/01/04|ドライバ依存でRectに角が生えることがある。|rさん|修正予定なし。| |2014/01/25|ReadMe.pdf、32ページ目。Subメソッドの戻り値の型がintになっている。正しくは[]type||| |2014/02/09|const num: float :: 1.0e-5がコンパイルエラー(E1007 不正な数値表現)。1.0e5は問題なし。||1.0e5が通るのが不具合| |2014/02/11|dictでGet()したものをそのままToStr()すると値がおかしい。 (Kuin 1.01)&br()(keyが存在しない場合は問題なし)||| |2014/02/14|classでメンバの関数型の変数を使うコードで番号なしコンパイルエラー&br()「Error: インデックスが配列の境界外です。」|[[詳細>https://dl.dropboxusercontent.com/u/9975638/kuin/bugs/20140214/test.kn]]|| |2014/02/16|[[https://github.com/tatt61880/kuin_test/]] ←これで意図せぬコンパイルエラーがでないか。|Kuin更新時チェック用|| |2014/03/??|リリースコンパイル時に大文字小文字を区別しない|| ↑ここに追加してください。 ※このページはあくまで覚え書きです。本当に不具合か、詳細情報が十分かどうかを、Kuinの作者([[b2>https://twitter.com/b2]])に問い合わせるのが望ましいです。 *要望 |''記入日''|''要望の概要''|''詳細''|''実装見込等''|h |2013/11/03|ラベル・ボタン・テキストボックス・チェックボックス・ダイアログボックスの実装||| |2013/11/03|Input.knの改善|タイピングゲームが作れるレベルに。|| |2013/10/29|無駄にキャストした場合のエラーメッセージをわかりやすくしてほしい。|[[詳細>https://twitter.com/tatt61880/status/394005095160877056]]|| |2013/11/02|「Error: E2007 型が一致しません。 キャストなどを用いて正しい型に変換してください。」をよりわかりやすくしてほしい。|[[詳細>https://dl.dropboxusercontent.com/u/9975638/kuin/suggestions/20131102/20131102.txt]]|| |2013/11/21|breakでブロック名が指定されていない場合のコンパイルエラーメッセージが E1000。わかりやすくしてほしい。||| |2014/01/25|Input@PadやInput@Mouseで押されていない時間がマイナスの値で取得できるといい||| |2014/02/15|GUIなしで実行するexeを出力するモード(ツール用にほしいです)||| |2014/02/15|外部のdllやexeを実行する手段。||| |2014/02/15|eval||| |2014/02/22|メッセージボックスを出力する関数。(Dbg@Logはデバッグモードでしか使えないので)||| |2014/03/08|dict型のキー一覧の配列を返すKeys()メソッド||| ||||| ↑ここに追加してください。 ※このページはあくまで覚え書きです。要望の詳細が十分Kuinの作者([[b2>https://twitter.com/b2]])に伝わるか、確認するのがのが望ましいです。 >【便利な検索機能】 >Twitter検索: [[修正 from:b2>https://twitter.com/search?q=%E4%BF%AE%E6%AD%A3%20from%3Ab2&src=typd&f=realtime]] >Twitter検索: [[修正 from:tes_so>https://twitter.com/search?q=%E4%BF%AE%E6%AD%A3%20from%3Ates_so&src=typd&f=realtime]] >Twitter検索: [[調査 from:b2>https://twitter.com/search?q=%E8%AA%BF%E6%9F%BB%20from%3Ab2&src=typd&f=realtime]] >Twitter検索: [[調査 from:tes_so>https://twitter.com/search?q=%E8%AA%BF%E6%9F%BB%20from%3Ates_so&src=typd&f=realtime]] // #areaedit(end) // ======================================================================== ---- *Ver.0.04での更新情報(0.04同梱のReadme.txtより抜粋) -30fpsを60fpsに変更 -明るい部分が発光する効果(キラキラエフェクト)の廃止 -例外コードの全面的変更(より扱いやすい10進数の数値へ) -list型、stack型、queue型のサポートおよび、それらをforeachで回せるように -クラスの継承周りとアクセス指定子の完全サポート -ソースレベルのアクセス指定子のサポート -スーパークラスに.ToBins()、.FromBins()メソッドが追加されているが、まだ使用してはならない -配列に.Sub()メソッドが追加されているが、まだ使用してはならない -フィルタ機能の追加。Draw@SetFilter()関数で、画面全体をグレースケールやセピア調にできる -描画処理を10倍程度高速化。 -sbyte型の廃止。byte型に符号付き算術シフト.Sar()メソッドの追加 -throw 2000, "Hoge" のように、文字列が投げられる機能の完全サポート --(文字列を含む例外をcatchしなかった場合にメモリリーク警告が出ますが、これに関してはちゃんと解放されていますので安心してください) -その他、多数の細かなバグ修正 ---- 例外コード一覧 -0000~0499 ユーザが自由に使えるメッセージ領域 -0500~0599 Kuin側が使用するメッセージ領域 --0500 アプリケーションの終了要求(ウインドウを閉じると発生) --1000~1999 関数ごとに自由に使えるメッセージ領域この領域では、例外コードとその意味が1対1に対応していない。関数ごとに独立して設定できる。 以下に、標準ライブラリ関数での例外コード一覧 -Snd@Load --1000 サポートしていない形式のファイルをロードした --1001 サウンドのハードウェアエラー -CSnd.Play --1000 不正な引数パラメータ -SaveData@Load --1000 セーブデータが破損している(プレイヤーによる改竄の防止) -int.ToStrF, float.ToStrF --1000 不正なフォーマット指定 --1001 長すぎるフォーマット指定 -Kuin@Hash --1000 長すぎるデータ列 -CStream.Seek --1000 不正なOrigin指定、もしくはファイルの範囲を超えた位置にシークした -CStream.Read*** --1000 読み込めるデータが残っていない(ファイル終端にたどりついた) --1001 読み込んだデータがintやfloatなど得ようとした数値の型の範囲を超えている -Draw@LoadTex --1000 サポートしていない形式のファイルをロードした --1001 テクスチャサイズが、一辺2^nピクセルになっていない --1002 グラフィックスのハードウェアエラー -Draw@LoadFont --1000 サポートしていない形式のファイルをロードした -CFont.MakeTex --1000 テクスチャサイズが大きくなりすぎた --1001 グラフィックスのハードウェアエラー -Draw@LoadObj --1000 サポートしていない形式のファイルをロードした --1001 グラフィックスのハードウェアエラー -CObj.Draw --1000 不正な引数パラメータ -Draw@SetCamera --1000 不正な引数パラメータ(長さゼロのベクトルを指定した) -Draw@SetLight --1000 不正な引数パラメータ -2000~2999 ユーザが自由に使える例外領域 -3000~3999 Kuin側が使用する例外領域 --3000 assert文の条件がfalseになった --3001 GBerry.knが見つからない(この例外を検知しても、GBerryがないと例外情報を出力する術がないことに注意。そのうち対策する) --3002 配列の有効範囲外を参照した --3003 int型の数値がオーバーフローした(Kuinのint型はオーバーフローしないように扱うべき。とはいえ、2^63程度の膨大な数が扱えるので、そこまで気にしなくても良い) --3004 クラスのインスタンスを、変換できないクラスにキャストしようとした(親→子キャストで注意) --3005 ファイルが開けなかった(例外に埋め込まれた文字列に、ファイルパスが格納されている) --3006 GBerryの初期化エラー(例外に埋め込まれた文字列に、原因の詳細が格納されている) --3007 GBerryが扱うクラス(Draw@CTexなど)のコアなメソッド(.ToStrなど)を直接呼び出そうとした --3008 GBerryが扱うクラス(Draw@CTexなど)のインスタンスをユーザ側で作ろうとした --3009 オーバーライドされていない、.ToStr()、.Cmp()などのメソッドが呼び出された(クラス同士を比較するときは、Kuin側によって.Cmp()が呼ばれるが、そのときユーザ側でその中身を実装していないと、この例外が生じる) --9999 予期せぬ例外(Kuinコンパイラのバグなので、作者に報告すべき) -16#80000000~ CPUが発生させる例外領域(以下はCPUの仕様を読んで書いたので、実際に検証していない。おそらくこういう例外となっている、程度に認識してほしい。英語表記のものは、よく解らなかったもの) --16#80000002 Datatype misalignment --16#80000003 ブレークポイント(デバッガアプリから操作しないと通常発生しない) --16#c0000005 不正なメモリアクセス(nullインスタンスのメソッドを参照したときなどに発生) --16#c0000006 In Page Error --16#c0000008 Invalid Handle --16#c000001d Illegal Instruction --16#c0000025 Noncontinuable exception --16#c0000026 Invalid Disposition --16#c000008c Array Bounds Exceeded --16#c000008d Float denormal operand --16#c000008e 浮動小数点ゼロ除算(float型で0.0除算したときに発生、のように見えるが、Kuinでは無限大infの値になるので、実際には発生しないと思われる) --16#c000008f Float inexact result(このあたりに、0.0 / 0.0 のような NaN例外があるはず) --16#c0000090 Float invalid operation --16#c0000091 浮動小数点オーバーフロー(実際に発生するのかは不明) --16#c0000092 Float stack check --16#c0000093 浮動小数点アンダーフロー(実際に発生するのかは不明。負の大きな数があふれることを指すのではなく、絶対値の小さすぎる数が0.0に丸め込まれることを指す) --16#c0000094 整数ゼロ除算(int型で0除算したときに発生) --16#c0000095 整数オーバーフロー(Kuinではこの例外ではなく、3003コードが返るので、この例外は発生しないと思われる) --16#c0000096 Priv instruction --16#c00000fd スタックオーバーフロー(無限に再帰呼び出しをすると発生) ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: