仕様・バグ一覧

「仕様・バグ一覧」の編集履歴(バックアップ)一覧に戻る
仕様・バグ一覧」を以下のとおり復元します。
>ここでは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|||
|||||
↑ここに追加してください。
※このページはあくまで覚え書きです。本当に不具合か、詳細情報が十分かどうかを、Kuinの作者([[b2>https://twitter.com/b2]])に問い合わせるのが望ましいです。

*要望
|''記入日''|''要望の概要''|''詳細''|''実装見込等''|h
|2013/11/03|ラベル・ボタン・テキストボックス・チェックボックス・ダイアログボックスの実装|||
|2013/11/03|コマンドライン引数の導入。ツールを作る際にないと不便です。|Kuin@Argv||
|2013/11/03|dict型|未実装?||
|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/04|assertで実行時エラーになった場合、何行目でfalseになったのかを知りたい。|||
|2014/01/25|Input@PadやInput@Mouseで押されていない時間がマイナスの値で取得できるといい|||
|||||
↑ここに追加してください。
※このページはあくまで覚え書きです。要望の詳細が十分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 スタックオーバーフロー(無限に再帰呼び出しをすると発生)

----

復元してよろしいですか?