//
//  XBversions.h
//  X-BASIC'
//
//  Created by AIG-Soft(iMac) on 2012/09/01.
//  Copyright (c) 2012-15年 AIG-Soft. All rights reserved.
//

#ifndef X_BASIC_for_iOS_XBversions_h
#define X_BASIC_for_iOS_XBversions_h

// バージョン情報
// 	メジャー		システムを大幅にいじったとき
//	マイナー		小規模変更
//	revision	バグ取り/コンパイルし直し
#define	VERSION_CORE			"3.40.00"	// コアのバージョン(DOSインターフェースを含む)
		// 1.00 : 公開初版
		// 1.10 : using "%"追加
		// 1.20 : エラー系の修正
		// 1.30 : print float表示を書き換え(using処理のバグ取り）
		// 1.31 : メモリーエラーの強化
		// 1.32 : 引数数を12に拡大
		// 1.50 : enum定数追加
		// 1.60 : using部分のエラー発生を強化してわかりやすくする,数値文字列化時の問題を修正(0.9999.../NaN)
		// 1.61 : Distribution時は!で始まる.basをリストに出さないようにした
		// 1.62 : YES/true/NO/falseをシステム定数からenum値に変更した
		// 1.63 : 個別/合成RGB取得処理を統一、getRGBColorFromFac();support.hに統合する
		// 1.64 : エラーメッセージの間違いを修正,inputの入力位置が正しくなかったのを修正(V2.1;.layer変形でのエンバグ)
		// 1.70 : dim floatに{}で初期値を代入するとエラーが発生するのを修正,関数引数の;の前にスペース/TABがあった場合は飛ばす,引数配列を子関数に渡せないのを修正
		//		  配列の2次元目以降の要素番号チェックが正しくなかったのを修正(要素数+1以上でないとエラーが出なかった)
		//		  実行時エラーが指す行が正しくなかったのを修正、外部関数エラーのメッセージも表示できるようにした
		//		  basicVersion$の意味を変更、basicCoreVersion$を追加
		// 1.80 : 1項演算子があるときのOptimizer();XBmath.m処理が正しくなかったのを修正
		// 1.90 : 配列の要素番号がsigned short(=swVarNO)で受けられていたため、要素番号が負数になってしまう=異常動作することがあったのを修正
		//		  グローバルもしくはローカルの変数領域が64KB以上必要なとき、うまく確保できなかったのを修正
		// 1.91 : 注釈を正しく認識できないことがあるのを修正
		// 		  関数内でBREAKすると落ちることがあるのを修正
		// 1.92 : using "###,"の処理がおかしいのを修正
		//		  str[i]でのエラー判定をX-BASIC/68、ぺけ-BASICと同じにした
		// 		  行番号の前にスペースがあると正常に読み込めないのを修正
		// 2.00 : malloc2.m/.hを実装、malloc/realloc/freeの対応のチェックと、一括freeを可能にし、システム内でのfree出来てなかったメモリを開放できるようにした
		// 2.01 : 配列の要素数総数が65535以下であったのを1要素数のみに変更した
		// 2.02 : error on/offの動作が逆だったのを修正、error on2を追加、再帰呼び出し段数に制約をかけて落ちないようにした(エラー追加)
		// 2.03 : 2013/10/02修正分
		// 3.00 : 64bit対応
		// 3.10 : fenum実装,外部関数登録処理（externalFunctionRead();XBcompiler.m）でメモリリークしているのを修正
		// 3.20 : 変数ダンプ機能追加、配列が9次元までしか確保できなかったのを修正(次元の判定が正しくない部分が複数あった)、コンパイル終了時におけるエラー表示処理で落ちるのを修正
		// 3.30 : Break/stop時にその行番号をデバッグ出力するようにした
		//		  #ifdef IOSを展開した(DOS用処理を排除);間違って処理を加えてしまうバグが発生したので
		// 3.40 : print 整数数字の時の前のスペースの入り方が/68と異なるので合わせた(ぺけと同じだった)
		//		  "〜"; // で改行が発行されるのを修正した
		// 3.50 : float変数アクセスで落ちる可能性の部分を修正；構造体のサイズを8の倍数にするなど(float変数の配置アドレスを8バイト境界にするため)
#define	VERSION_IOS_INTERFACE	"3.90.00"	// iOS用インターフェースのバージョン
		// 2.00 : 公開初版
		// 2.10 : メイル画面表示を追加
		// 2.20 : 画面描画高速化
		// 2.21 : cls()直後のprintが抜けるバグ修正＋Consoleクラス化
		// 2.22 : .basのImport機能を禁止/各データファイルへのUTI設定/Zip内の.basを消す
		// 2.30 : 印刷機能追加
		// 2.40 : スプライト＆BG機能追加 / floatで受けていた処理をすべてdoubleに変更
		// 2.41 : プログラム読み込みを繰り返すと落ちるのを修正
		// 2.50 : .layer座標変換だけで表示を成立させるようした＋内部座標系をQuartzに合わせる、アニメーション/変形処理対応、vpageが即時反映されなかった
		// 2.51 : consoleの属性が統一されてなかったのを修正、console alphaが即時有効になってなかったのを修正
		// 2.60 : 1/30s単位描画にして描画を高速化（約60％）
		// 2.61 : print でのコントロールコードの挙動を厳密に定義（1文字表示時以外は無視）、print using "+%%"の結果がおかしいのを修正
		// 2.62 : 最後の画面描画が欠けることがあるのを修正
		// 2.63 : Break時にナビゲーションバーの表示が更新されないため、Close/Runボタンが表示されないことがあったのを修正
		// 2.64 : 細かいバグの修正(V2.60の小バグ)
		// 2.70 : 2013/10/02修正分 , Exported UTIsを削除,10/22修正分
		// 3.00 : iOS7ネイティブ対応
		// 3.10 : Zipインポート機能廃止
		// 3.20 : 64bit対応、テキスト描画系バグ取り
		// 3.30 : テキスト描画系バグ取り（サロゲートペア文字対応他）
		// 3.40 : 文字を重ねた時にゴミが残ることがあるのを修正(上はアンチエリアシングによるはみ出し、下はBOLD時のはみ出し)
		// 3.41 : CRのみプログラム読み込みができなかったのを修正	
		// 3.50 : 内蔵サンプルと同じファイル名のユーザーファイルが有るとき、内蔵サンプルを表示中にユーザーファイルを削除しようとすると「編集中のファイルは 削除できません」となるのを修正
		//		  変数ダンプ処理・デバッグ表示・印刷機能を追加、一部ボタンをアイコン化(表示幅が足りないので)、一部アイコンを変更(Retina対応)
		//		  BASICファイル選択：種別選択を追加、数を表示する、タイトルロゴボタンからの表示機能、行番号付きプログラムから行番号が削除できなくなっていたのを修正（V3.10でのエンバグ)
		// 3.51 : 設定のうちSwitch分がずれていたのを修正、英語版ではX68互換の設定が変更できなかったのも修正
		// 3.60 : テキスト文字表示幅計算用の標準文字を変更できるようにした、	プログラムソースの1文字目がサロゲートペア文字の場合、フォント選択画面で文字が表示されないのを修正
		// 3.61 : テキスト文字の反転→普通文字重ね時に反転が残ることがあるのを修正
		// 3.70 : kConsole:removeTouchAreaでタッチエリアが即時開放されないのを修正
		// 3.80 : テキスト表示の高速化；テキスト表示座標計算が改良され表示においてアンチエイリアスが発生しなくなったので1パス化できた
		//		  最終桁で全角文字を表示するとき先に改行するようにした、太字の処理を変更；これに伴い太字でゴミが残ってしまうのも修正された
		//		  テキスト表示に中央寄せを追加
		// 3.90 : 全くの初回起動時、V3.0以降のSETUP分が初期化されなかったのを修正
#endif

// 外部関数のバージョン
#define	VERSION_XBFUNC			"1.30.00"
		// 1.11 : file=""対策
		// 1.12 : randomize()追加
		// 1.13 : int6880()/float6880()追加
		// 1.20 : 64bit対応 , randomise()廃止 , toascii()追加
		// 1.30 : str$(正の数)の作る文字列が/68と異なるのを修正
#define	VERSION_XBFUNC2			"1.50.00"
		// 1.30 : hexstrToArray()追加,hexchr$()にセパレーターを追加など
		// 1.31 : clock()追加
		// 1.40 : versionXBfunc2$()が使えなくなっていたのを修正/全角半角変換関数を追加
		// 1.50 : 64bit対応 , utf8StrWidth()/sjisStrWidth()追加 , 変換系処理に文字列長チェックを追加
#define	VERSION_XBFILEFUNC		"1.80.00"
		// 1.21 : file=""対策
		// 1.22 : ferror()を追加
		// 1.23 : freads()の結果がX-BASIC/68と異なるので修正,fclose()/fcloseall()のリターン値の意味を変更(値は同じ)
		// 1.30 : zipExpand(),loadFromURL()追加
		// 1.40 : 64bit対応
		// 1.50 : fopenの戻り値を変更(可能にした),fopenError()追加
		// 1.60 : zipArchive()を追加
		// 1.70 : fopen()でfname=""の時に即時エラーを出すようにした
		// 1.80 : zipExpand();Windows環境下で作られたZip内の日本語ファイル名ファイルが展開できないのを修正
#define	VERSION_XBIOSFUNCT		"2.60.00"
		// 1.30 : 上スクロールを実装
		// 1.40 : 下スクロールを実装+setUpScroll()
		// 1.50 : ClearLine追加
		// 1.60 : selectMenu系にcntを追加
		// 1.70 : tAtrb()系の改良 ; 反転表示処理の改良,太字属性の追加,属性のOR指定を可能にした,getWidth()改良
		// 1.71 : DISP_CTRL_CLEAR_EOS/tBackgroundColor()追加
		// 1.72 : emailSend()で添付ファイルをzipで圧縮するとき、正しいzipファイルが生成されなかったのを修正
		// 1.80 : wait()に並行動作で時間待ちするオプションを追加,ATRB_CLEARが使えなかったのを修正
		// 1.81 : selectMenu/withMessage()の最大項目数を5にした(それ以上にするとメニューが崩れるので)
		// 1.82 : wait()のリターン値がおかしいのを修正、多重設定した時の不具合を修正
		// 1.90 : 64bit対応 , gLocate()追加
		// 2.00 : fontSize:を追加
		// 2.10 : NSLog()を廃止 , selectMenu2()で画面外タッチで抜けないようにできるようにした
		// 2.20 : logoAlert()追加
		// 2.30 : width()を拡張(標準文字設定機能)
		// 2.40 : isLandscape()を追加
		// 2.41 : ポインターへ値をコピーするときに落ちることがあるのを修正
		// 2.50 : isLandscape()を拡張
		// 2.60 : emailSend()内でのエラー時の処理を強化、zipファイル内の日時がおかしいのを修正
#define	VERSION_XBIOSFUNCG		"2.51.00"
		// 1.60 : bitmapImageFile()追加他
		// 1.61 : circle()バグ修正
		// 1.70 : Console内ビットマップも使えるようにした
		// 1.80 : 座標系をQuartz化,グラフィックスクロール,アニメーション,変形,symbol()強化,symbolt()
		// 1.90 : picHeader()/cutHeader()/magLoader()/magHeader()/gBackgroundColor()追加,変形状態のまま終わった時、次回のconsoleサイズがおかしくなるのを修正,bitmapPattern()/getBitmapSize()を追加
		// 1.91 : picLoader()/cutLoader()/magLoader()に fNoBitmapClose引数を追加,picLoader()/cutLoader()で画面幅以上の画像を表示するとき、縮小して全体をいれこむようにした
		// 1.92 : bitmapImageFile()でも縮小表示ができるようにした、jpegHeader()/pngHeader()/gifHeader()/bmpHeader()追加
		// 1.93 : file=""対策
		// 1.94 : symbol/t(str="")の時処理を飛ばすようにした
		// 1.95 : bitmapGet()/bitmapPut()のデータ格納順を変更した
		// 1.96 : bitmapEllipse()/bitmapEllipse2()を追加した,bitmapPut()/bitmapPattern()で仮想画面外にはみ出ると表示が化けるのを修正
		//			ファイルが見つからない時の処理を修正
		//		  x68Color2iOSColor()/bitmapPoint()でr/g/b/alphaで読めなかったのを修正
		// 1.97 : 実行終了時にアニメーションを止めるようにした,x68256Color2iOSColor()を追加
		// 2.00 : 64bit対応,x68Color2iOSColor()/x68256Color2iOSColor()をX68互換関数に移動
		// 2.10 : symbolt()にサロゲートペア文字を与えると正しく表示されないのを修正
		// 2.20 : bitmapImgLoad()/bitmapTileImgLoad()の引数とり込み処理がおかしかったのを修正
		// 2.30 : getScreenSize()追加、getBitmapSize()のwxを省略可能にした
		// 2.40 : bitmapOpen()で落ちることがあるのを修正
		// 2.50 : pngHeader()/jpegHeader()が正しい情報を返せないことがあるのを修正、gTransform()に回転を追加した
		// 2.51 : ポインターへ値をコピーするときに落ちることがあるのを修正
#define	VERSION_XBIOSFUNCK		"1.80.00"
		// 1.41 : keyRepeatTime()バグ修正
		// 1.42 : getTouchStatus()追加,ファンクションキーを20に拡張,displayFunctionKeyの引数省略とremove処理の問題を修正,タッチアニメーションが中断される事があるのを修正
		// 1.43 : kBackgroundAlpha()が即時有効になってなかったのを修正
		// 1.44 : file=""対策
		// 1.45 : setFunctionKeyBackgroundImage()でファイルが見つからない時の処理を修正
		// 1.50 : 64bit対応
		// 1.60 : keyRepeatTime()でリピートなし、即時リピートが設定できなかったのを修正
		// 1.61 : setFunctionKeyBackgroundImage()の画像ファイル名を省略可能にした
		// 1.70 : ファンクションキー内の表示文字ができるだけ大きくなるようにした
		// 1.80 : ファンクションキーの表示座標にclearance指定を追加、実はファンクションキー表示座標計算が間違っていたのを修正
#define	VERSION_XBIOSFUNCS		"1.50.00"
		// 1.20 : トラックの最大数を64に拡大、s_setPlayData()でファイル名=""の時に落ちるのを修正
		// 1.21 : initWith系処理の統合、エラー発生時にメモリリーク(開放されない)を起こすのを修正
		// 1.30 : 64bit対応
		// 1.40 : beep2で再読み込みを省く処理を走ってなかったのを修正(毎回読み込んでた)
		// 1.50 : beep2()でシステム内蔵音を再生できるようにした
#define	VERSION_XBIOSFUNCA		"2.10.00"
		// 1.60 : devicePlatform()を追加
		// 1.70 : 64bit対応,forcedSJIS()追加
		// 1.80 : errorCodeFopen()追加
		// 1.90 : debugDump()/debugPrint()/debugMode()追加
		// 2.00 : programName$()追加
		// 2.10 : devicePlatform()の返してくる文字列を変更した
#define	VERSION_XBIOSFUNCM		"2.20.00"
		// 2.00 : compass関数追加
		// 2.10 : 64bit対応、バグ取り
		// 2.11 : ポインターへ値をコピーするときに落ちることがあるのを修正
		// 2.12 : motionのend時に停止とワークが開放されてなかったので修正
		// 2.20 : stick系関数を追加
#define	VERSION_XBIOSFUNCSP		"1.80.00"
		// 1.50 : Console内ビットマップを使うようにした(高速化＆省メモリ)
		// 1.60 : アニメーション/変形関数追加
		// 1.70 : BG描画の最適化
		// 1.71 : sBackgroundAlpha()/sBackgroundColor()/sBorder()追加
		// 1.72 : file=""対策
		// 1.73 : sp_image()に透明付きPNGを与えた時パターンにゴミが入るのを修正
		// 1.74 : sp_image()でファイルが見つからない時の処理を修正
		// 1.75 : bg_get()でpb/flipが読めなかったのを修正
		// 1.80 : 64bit対応 , バグ修正
#define	VERSION_XBIOSFUNCX68	"1.40.00"
		// 1.00 : 内蔵化初版
		// 1.10 : setTouchKeys()/resetAllTouchKeys()追加
		// 1.20 : resetTouchKeys()追加
		// 1.30 : checkCompatible()追加、スプライト機能が無効の時はこの中のスプライト関数も使えなくした
		// 1.50 : setTouchKeys()/resetTouchKeys()にdx,dyを追加
#define VERSION_XBIOSFUNCCARD	"1.02.00"
		// 1.00 : 内蔵化初版
		// 1.01 : cardInit() SHIFT-JIS対応
		// 1.02 : cardInit()がリソース内しか調べないのを修正(ユーザーファイルを開けない)

#define VERSION_XBIOSFUNCMUSIC	"1.00.00"
		// 1.00 : 初版
