if 0{
*opencl初期設定
	//壁フラグの仕様
	//HSP側では
	//kabeX　0〜128が個体壁で参照可能代入不可、129〜255が液体壁で参照可能代入可能、個体壁の場合数値が64だと流速0固定、65だと流速1固定、63だと流速-1固定などとなる
	//kabeY　0〜128が個体壁で参照可能代入不可、129〜255が液体壁で参照可能代入可能、個体壁の場合数値が64だと流速0固定、65だと流速1固定、63だと流速-1固定などとなる
	//GPU側では
	//kabeX　0が個体壁で参照可能代入不可、1がUFO壁で参照可能代入不可、129〜255が液体壁で参照可能代入可能
	//kabeY　0が個体壁で参照可能代入不可、1がUFO壁で参照可能代入不可、129〜255が液体壁で参照可能代入可能
	//kabeP　0〜64が個体壁で参照不可代入不可、65〜128が個体壁で参照可能代入不可、129〜255が液体壁で参照可能代入可能
	//プログラムビルド
	HCLBuildProgram "data\\nabie.cl",prg;
	//VRAM作成。初期化後の0埋めは必須！デバイスがCPUのとき大変なことになる
	HCLCreateBuffer YU,ijm4 
	HCLCreateBuffer YUN,ijm4
	HCLCreateBuffer GXU,ijm4
	HCLCreateBuffer GYU,ijm4

	HCLCreateBuffer YV,ijm4 
	HCLCreateBuffer YVN,ijm4
	HCLCreateBuffer GXV,ijm4
	HCLCreateBuffer GYV,ijm4

	HCLCreateBuffer GXd0,ijm4
	HCLCreateBuffer GYd0,ijm4
	HCLCreateBuffer Yd0,ijm4 
	HCLCreateBuffer GXd1,ijm4
	HCLCreateBuffer GYd1,ijm4
	HCLCreateBuffer Yd1,ijm4 

	HCLCreateBuffer YPN,ijm4 

	HCLCreateBuffer YUT,ijm4 
	HCLCreateBuffer YVT,ijm4 
	HCLCreateBuffer YUV,ijm4 
	HCLCreateBuffer YVU,ijm4 
	HCLCreateBuffer DIV,ijm4 

	HCLCreateBuffer kabeP,ijm
	HCLCreateBuffer kabeX,ijm
	HCLCreateBuffer kabeY,ijm
	//全部の変数に0を代入
	gosub*流体リセット

	//カーネル全部作成＆引数セット
	HCLCreateKernel prg,"newgrad"	,newgrad00;
	HCLSetKrns newgrad00	,YVN,YV,GXV,GYV,kabeY
	HCLCreateKernel prg,"newgrad"	,newgrad02;
	HCLSetKrns newgrad02	,YUN,YU,GXU,GYU,kabeX

	HCLCreateKernel prg,"dcip0"	 	,dcip0;
	HCLSetKrns dcip0		,YUN,GXU,GYU,YU,YVU,GXd0,GYd0,Yd0,DT,kabeX
	HCLCreateKernel prg,"dcip0"	 	,dcip1;
	HCLSetKrns dcip1		,YVN,GXV,GYV,YUV,YV,GXd1,GYd1,Yd1,DT,kabeY

	HCLCreateKernel prg,"nensei0" 	,nensei0;
	HCLSetKrns nensei0		,YU,YUN,YV,YVN,GXd0,GYd0,arufa,ar1fa,kabeX,kabeY
	HCLCreateKernel prg,"nensei1" 	,nensei1;
	HCLSetKrns nensei1		,YU,YUN,YV,YVN,GXd0,GYd0,arufa,ar1fa,kabeX,kabeY

	HCLCreateKernel prg,"pressure0"	,pressure0;
	HCLSetKrns pressure0	,DIV,YPN,kabeP
	HCLCreateKernel prg,"pressure1"	,pressure1;
	HCLSetKrns pressure1	,DIV,YPN,kabeP

	HCLCreateKernel prg,"div"	 	,div0;
	HCLSetKrns div0			,DIV,YUN,YVN

	HCLCreateKernel prg,"narasi"	 	,narasi;
	HCLSetKrns narasi		,YPN,yp00//定数なので注意

	HCLCreateKernel prg,"rhs"	 	,rhs;
	HCLSetKrns rhs			,YUN,YVN,YPN,kabeX,kabeY

	HCLCreateKernel prg,"veloc"	 	,veloc;
	HCLSetKrns veloc		,YU,YV,YVU,YUV,YVT,YUT

	HCLCreateKernel prg,"ryuusi"		,ryuusi;
	HCLSetKrns ryuusi		,RYS,YUN,YVN,DT

	//gosub*ステージ設定

	ステージ=0
	return




*UFO初期設定
	//使うVRAM変数
	//UFOcl座標元	//画像から読み取った回転前の座標。1ドットあたり4点で再現
	//UFOマスク		//壁は0、流体は255。//回転後かつ自分のfloat座標を加えた座標から「UFOcl座標後」だと座標値が12を超えまくっているのでUFO周りの圧力を計算するためにUFOの左上を0,0としたときのUFOがどのような形か座標を引いてマスクを出力
	//受ける外力	//12*12ピクセルなので*float*xy。圧力から計算したxy方向の外力。最終的には[0]に144個の外力全部が合計される
	//ｈｓｐ側
	//agirvgiu8345v5n8x	//受ける外力合計値
	//agirvgiu8345v5n8y	//受ける外力合計値
	//ufoquo			//ufo回転値を保存。クオータニオンで。4要素中1要素しか使わない
	//yuusyututen		//UFOの流体湧出点を算出するための元座標値
	//yuusyututenRYS	//UFOの粒子湧出点
	//atariufo			//UFOの流体ではない当たり判定

	ddim ufoquo,4
	fdim agirvgiu8345v5n8x,1
	fdim agirvgiu8345v5n8y,1
	fdim hsp_受ける外力,6
	ddim yuusyututen,3
	ddim yuusyututenRYS,3
	ddim tmpten0,3
	fdim exploRYS,爆発時粒子数*2
	dim ufoGOfst,30:ufoGOfst=-7,-6,-5,-5,-4,-3,-3,-2,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-2,-3,-3,-4,-5,-5,-6,-6//UFOによってゴール判定がかわる。主に足の間隔によるもの

	HCLBuildProgram "data\\ufokanren.cl",prgrmmid2afuo
	HCLCreateKernel prgrmmid2afuo,"UfoRote",KrnUfoRote//回転
	HCLCreateKernel prgrmmid2afuo,"UfoMap",KrnUfoMap//マッピング
	HCLCreateKernel prgrmmid2afuo,"UfoUnMap",krnUfoUnMap//2のアンマッピング
	HCLSetKrns krnUfoUnMap,kabeP,kabeX,kabeY,0,0
	//今度は湧出点の設定
	HCLCreateKernel prgrmmid2afuo,"UfoHun",KrnUfoHun
	HCLSetKrns KrnUfoHun,0,0,kabeP,kabeX,kabeY,YUN,YVN,GXU,GYU,GXV,GYV
	HCLCreateKernel prgrmmid2afuo,"UfoUnHun",KrnUfoUnHun
	HCLSetKrns KrnUfoUnHun,0,kabeP,kabeX,kabeY
	HCLCreateKernel prgrmmid2afuo,"UfoGairyoku",KrnUfo外力
	HCLSetKrns KrnUfo外力,0,kabeP,YPN,0
	HCLCreateKernel prgrmmid2afuo,"UfoGairyoku2",KrnUfo外力2
	//爆発により湧出に加算されるエフェクト
	HCLCreateKernel prgrmmid2afuo,"divexp"	 ,divexp;
	HCLSetKrns divexp,kabeP,kabeX,kabeY,0,0,DIV,0
	//右の画面の圧力のやつ
	HCLCreateKernel prgrmmid2afuo,"presshyoji"	 ,presshyoji;
	HCLSetKrns presshyoji,kabeP,YPN,clmem_presshyouji_color,0,0,clmem_presshyouji_sum
	HCLCreateKernel prgrmmid2afuo,"presshyoji2"	 ,presshyoji2;//合計するやつ
	HCLSetKernel presshyoji2,0,YPN
	HCLSetKernel presshyoji2,1,clmem_presshyouji_sum
	HCLSetKernel presshyoji2,2,0,64*4*2//64*4*2byte
	HCLSetKernel presshyoji2,3,0
	HCLSetKernel presshyoji2,4,0
	HCLSetKernel presshyoji2,5,kabeP



	//30種類のufo湧出点計算
	ddim yuusyututenArray,3,30
	ddim yuusyututenRYSArray,3,30
	//縦長UFOのとき
	yuusyututenArray.0.0	=5.001-5.0,0.0,8.5511-5.0//これを回転させて色々すれば噴射口の位置がわかる
	yuusyututenRYSArray.0.0	=5.001-5.0,0.0,9.0511-5.0//これを回転させて色々すれば噴射口の粒子の発生位置がわかる
	//標準UFOのとき
	yuusyututenArray.0.10	=5.001-5.0,0.0,8.7511-5.0//これを回転させて色々すれば噴射口の位置がわかる
	yuusyututenRYSArray.0.10=5.001-5.0,0.0,9.2511-5.0//これを回転させて色々すれば噴射口の粒子の発生位置がわかる
	//横長UFOのとき
	yuusyututenArray.0.20	=5.001-5.0,0.0,7.9511-5.0//これを回転させて色々すれば噴射口の位置がわかる
	yuusyututenRYSArray.0.20=5.001-5.0,0.0,8.4511-5.0//これを回転させて色々すれば噴射口の粒子の発生位置がわかる
	//残りの要素を埋める関数
	repeat 9
		RiniaHokan yuusyututenArray,yuusyututenRYSArray,cnt+1
	loop
	repeat 9
		RiniaHokan yuusyututenArray,yuusyututenRYSArray,cnt+11
	loop
	repeat 9
		RiniaHokan yuusyututenArray,yuusyututenRYSArray,cnt+21
	loop

//ここからで。30種類の流体以外の物理当たり判定////////////////////////////////////////////////////////////////////////////////////////
	//30種類の流体以外の物理当たり判定用画像前処理
	wmax=0
	repeat 30
		buffer 131:picload "data\\ufo\\atari\\atari ("+cnt+").png"
		w=0
		repeat 40
		asfaf=cnt
			repeat 40
			pget asfaf,cnt
			if ginfo_r=0:if ginfo_g=255:if ginfo_b=0:w+=3
			if ginfo_r=0:if ginfo_g=0:if ginfo_b=255:w+=3
			loop
		loop
		if wmax<w:wmax=w
	loop

	atrufokz_cont=wmax
	ddim atariufoArray,atrufokz_cont,30
	ddim atariufokzArrayNormal,30//各要素には、当たり判定用の点の数がはいるノーマル用
	ddim atariufokzArrayHard,30  //各要素には、当たり判定用の点の数がはいるハード用

	//30種類の流体以外の物理当たり判定用画像本処理
	repeat 30
		ccnt=cnt
		buffer 131:picload "data\\ufo\\atari\\atari ("+ccnt+").png"
		w=0
		repeat 40
			asfaf=cnt
			repeat 40
				pget asfaf,cnt
				if ginfo_r=0:if ginfo_g=255:if ginfo_b=0{
					atariufoArray.w.ccnt=1.0*asfaf-20,0.0,1.0*cnt-20:w+=3
				}
			loop
		loop
		atariufokzArrayNormal.ccnt=w
		repeat 40
			asfaf=cnt
			repeat 40
				pget asfaf,cnt
				if ginfo_r=0:if ginfo_g=0:if ginfo_b=255{
					atariufoArray.w.ccnt=1.0*asfaf-20,0.0,1.0*cnt-20:w+=3
				}
			loop
		loop
		atariufokzArrayHard.ccnt=w
	loop
//ここまで。30種類の流体以外の物理当たり判定////////////////////////////////////////////////////////////////////////////////////////


//ここから。30種類の流体当たり判定////////////////////////////////////////////////////////////////////////////////////////

	dim ufodot数Array,30
	fdim ufoxyzArray ,100*4*3*30//100ドット*4点*3(x,y,z)*30種類
	//UFOの設定されている流体の当たり判定。壁を数えて登録
	repeat 30
		ccnt=cnt
		buffer 131:picload "data\\ufo\\ratari\\ratari ("+ccnt+").png"
		w=0
		repeat 10
			a=cnt
			repeat 10
				pget a,cnt:if ginfo_r=0:if ginfo_g=0:if ginfo_b=0:w++
			loop
		loop
		ufodot数Array.ccnt=w//1ドット当たり4つの点をもつ。この値は4でかけてない数
	
		w=ccnt*100*4*3
		repeat 10
			a=cnt
			repeat 10
				pget a,cnt
				if ginfo_r=0:if ginfo_g=0:if ginfo_b=0{
					ufoxyzArray.w=float(1.0*a  +0.33-5.0) , float(0.0),float(1.0*cnt+0.33-5.0)
					w+=3
					ufoxyzArray.w=float(1.0*a  +0.33-5.0) , float(0.0),float(1.0*cnt+0.67-5.0)
					w+=3
					ufoxyzArray.w=float(1.0*a  +0.67-5.0) , float(0.0),float(1.0*cnt+0.33-5.0)
					w+=3
					ufoxyzArray.w=float(1.0*a  +0.67-5.0) , float(0.0),float(1.0*cnt+0.67-5.0)
					w+=3
				}
			loop
		loop
	loop
//ここまで。30種類の流体当たり判定////////////////////////////////////////////////////////////////////////////////////////

	color 255,0,0
	//使うUFO画像ロード
	HGLCreateTexture1_texload ufo_GLtx,"data\\ufo\\ufo\\ufotunagi.png",1//読み込み専用テクスチャにロード

	//後片付け
	buffer 131,4,4,0
	gsel 0
	return

*opengl初期設定
	HGLSetView
	view2D//2D描画
	glClearColor 0.0,0.0,0.0,1.0;背景色
	glEnable GL_TEXTURE_2D;これから描画でテクスチャ使いますよ
	glEnable GL_BLEND ;//ブレンドの有効化
	glBlendFunc GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA

	//フェードアウト//64*64
	HGLCreateTexture1_texload fadeout,"data\\gr\\fadeout.png"
	//はい、いいえ
	color 0,255,0
	HGLCreateTexture1_texload messageyn,"data\\gr\\messageyn.png",1
	//Scoreや数字など、HARD、EXIT等
	color 0,0,0
	HGLCreateTexture1_texload score_tex,"data\\scoregr\\score.png",1

	//ポイントサイズ
	if (rKz_UserSet==0):glPointSize(2.0):else:glPointSize(1.0)
	return

*サウンド初期設定
	//音源効果音初期設定
	ds_load "data\\sound\\hit27.wav",21//噴射音
	ds_vol 21,int(効果音音量倍率*73*2)
	ds_load "data\\sound\\explo.wav",22//爆発
	ds_vol 22,int(効果音音量倍率*105*2)
	ds_load "data\\sound\\bosu13.wav",24//着地時
	ds_vol 24,int(効果音音量倍率*100*2)
	ds_load "data\\sound\\power19.wav",25//銀のレアアース
	ds_vol 25,int(効果音音量倍率*41*2)
	ds_load "data\\sound\\freeze10.wav",26//金のレアアース
	ds_vol 26,int(65*効果音音量倍率*2)

	ds_load "data\\sound\\pi73.wav",23//キーカーソル動かした時
	ds_vol 23,int(効果音音量倍率*90*2)
	ds_load "data\\sound\\pi78.wav",27//決定時
	ds_vol 27,int(効果音音量倍率*90*2)
	ds_load "data\\sound\\pi32.wav",28//スコア加算時
	ds_vol 28,int(効果音音量倍率*12*2)
	return

*会話初期設定
	//文字準備
	HGLCreateTexture1_texload mes_tex,"data\\gr\\message.png"//メッセージボックス
	color 0,255,0
	HGLCreateTexture1_texload mesgr_tex,"data\\gr\\mesgr.png",1//メッセージ顔グラ

	//フォント作成
	HGLCreateFontTexture msgothic,22


	//オープニングの会話+エンディングの会話
	sdim OP会話文 ,256,256//１回につき128文字まで、256会話まで
	dim OP会話状況    ,256//256会話まで
	//会話状況には、会話時の顔グラid(プロ生顔id or 100+博士顔id or 200+無機質顔grid)、256*(赤文字開始位置+256*赤文字終了位置+65536*赤文字の色)

//----シリアスな音楽-----------
//----レアアースの絵------------
	  OP会話文. 0="20XX年、多くの国々が経済成長をはたしたこの地球では\nある深刻な現象が起きていた。"
	OP会話状況. 0=200
	  OP会話文. 1="なんと半導体の原料であるレアアースが地球上から\n採り尽くされていたのだ。"
	OP会話状況. 1=200+256*(12+17*256+0*65536)
	  OP会話文. 2="パソコンにはグラフィックボード(GPU)と呼ばれるパーツが\nある。これにはたくさんの半導体を必要とするため世界的に\nグラフィックボードの価格は高騰していた！"
	OP会話状況. 2=200+256*(6+20*256+1*65536)
	  OP会話文. 3="これを世間では「グラボショック」と呼んでいた・・・・"
  	OP会話状況. 3=200+256*(8+15*256+0*65536)
	  OP会話文. 4="一般市民には質の悪いグラボしか供給されず、ゲーマーは\n貧弱なグラフィックでゲームを楽しむことを"
  	OP会話状況. 4=200
	  OP会話文. 5="強いられていた・・・"
  	OP会話状況. 5=200
	  OP会話文. 6="そしてここにも、グラボショックのあおりを受けた一人の\n女子高生プログラマーがいた。"
  	OP会話状況. 6=200
	  OP会話文. 7="「あー悔しい！」"
  	OP会話状況. 7=9
	  OP会話文. 8="「せっかく部室のパソコンでGPUプログラミングやろうと\n思ってたのに・・」"
  	OP会話状況. 8=9+256*(13+23*256+1*65536)
	  OP会話文. 9="「先生に 『そんな難しいのはまだお前には無理』 \nなんて言われるなんて！」"
  	OP会話状況. 9=9
	  OP会話文.10="「でも不思議だよね。無理って言われると余計にやってみたく\nなっちゃんだから！」"
  	OP会話状況.10=5
	  OP会話文.11="「そうだ。帰りに博士の研究所に寄り道してこう！\n何かいい本が見つかるかも〜！」"
  	OP会話状況.11=1
  //背景絵が変わる
	  OP会話文.12="放課後"
  	OP会話状況.12=200
	  OP会話文.13="コンコン\nガチャ・・・"
  	OP会話状況.13=200
	  OP会話文.14="「博士ー勝手にお邪魔しまーす・・・」\n（留守かな？）"
  	OP会話状況.14=0
	  OP会話文.15="「確かこのへんに・・」"
  	OP会話状況.15=3
	  OP会話文.16="「あ、あった！」"
  	OP会話状況.16=0
	  OP会話文.17="『GPUプログラミング入門〜グラフィックボードで計算しよう〜\n』"
  	OP会話状況.17=0
	  OP会話文.18="「ちょっと古臭い本だけど、いい感じじゃない！」"
  	OP会話状況.18=0
	  OP会話文.19="「えーっとなになに」"
  	OP会話状況.19=3
	  OP会話文.20="『高性能なGPUは快適なゲーム環境に欠かせません。\nこのGPUを数値計算に利用することを\n GPGPU(じーぴーじーぴーゆー)と言います。』"
  	OP会話状況.20=3+256*(46+63*256+1*65536)
	  OP会話文.21="『GPGPUという技術を使うことによりCPU単体で計算させるより\n圧倒的に高速に計算することができます。』"
  	OP会話状況.21=3+256*(37+39*256+1*65536)
	  OP会話文.22="「へぇー。凄〜い。私のノートパソコンでできるかなぁ？\nGPGPU。」"
  	OP会話状況.22=1
	  OP会話文.23="「早速やってみよ〜う。えーっとまずは本通りにこのサイト\nからSDKをダウンロードしてきてっと・・」"
  	OP会話状況.23=1
	  OP会話文.24="「インストール完了！」"
  	OP会話状況.24=5
	  OP会話文.25="「まずはこのサンプル実行してみるよ〜！」"
  	OP会話状況.25=5
	  OP会話文.26="「・・・・・・・・」"
  	OP会話状況.26=3
	  OP会話文.27="ダイアログ「お使いの環境はサポートしておりません」"
  	OP会話状況.27=201
	  OP会話文.28="「うそ・・私のPC・・性能低すぎ」"
  	OP会話状況.28=11
	  OP会話文.29="「え〜私のノートパソコンじゃダメなの〜？」"
  	OP会話状況.29=9
	  OP会話文.30="「このポンコツぅ〜〜」"
  	OP会話状況.30=9
	  OP会話文.31="「はぁ〜困ったなぁ」"
  	OP会話状況.31=9
	  OP会話文.32="「これも全てグラボショックのせいだよ！\nこんなグラフィック環境じゃプログラミングできないよ〜！」"
  	OP会話状況.32=2
	  OP会話文.33="「あーあ。誰かがいきなりグラボショックを解決してくれたり\nしないかなぁ・・・」"
  	OP会話状況.33=9
	  OP会話文.34="「あるわけないか・・・」"
  	OP会話状況.34=9
//突如博士が現れる
//----博士画像出る-----
	  OP会話文.35="「で、できたぞ！」"
  	OP会話状況.35=112
	  OP会話文.36="「うわぁびっくりした！博士！どうしたの？」"
  	OP会話状況.36=2+256*(11+14*256+0*65536)
	  OP会話文.37="「できたんじゃよ！」"
	OP会話状況.37=104
	  OP会話文.38="「わしがずっと前から作り続けてきたある宇宙船が\nついに！」"
  	OP会話状況.38=104+256*(19+22*256+0*65536)
//----博士の宇宙船画像出る-----
	  OP会話文.39="「え？」"
  	OP会話状況.39=2
	  OP会話文.40="「いいか、月には大量のレアアースが存在すると言われて\nおる！」"
  	OP会話状況.40=101+256*(11+16*256+0*65536)
	  OP会話文.41="「それを今からこの宇宙船で取りに行くんじゃ！」"
  	OP会話状況.41=101
	  OP会話文.42="「え？い、今から！？」"
  	OP会話状況.42=11
	  OP会話文.43="「誰よりも早く行って、大量に持ち帰れば、我々は大金\n持ちじゃ！！」"
  	OP会話状況.43=105
	  OP会話文.44="「そうと決まれば慧(けい)、早く乗り込んでくれ！」"
  	OP会話状況.44=103+256*(8+13*256+0*65536)

	  OP会話文.45="「え？え？ええ〜〜決まってないし、なんで私が！？」"
  	OP会話状況.45=11
	  OP会話文.46="「プログラミング経験はかなり長いじゃろ？」"
  	OP会話状況.46=100
	  OP会話文.47="「この宇宙船はあるプログラムで動いておる。宇宙船を操作\nするにはプログラミングが必須じゃ。」"
  	OP会話状況.47=100
	  OP会話文.48="「それに良いか？広い宇宙では必ずと言っていいほど\n 想定外のことが起こる。」"
  	OP会話状況.48=109+256*(26+29*256+0*65536)
	  OP会話文.49="「その時にすぐに最適なコードを組めるプログラマーが\nこの船員には必要なんじゃ！」"
  	OP会話状況.49=100
	  OP会話文.50="「なんだか話が飛躍しすぎてる気が・・・\nってそれに確か博士もプログラミングできるでしょー！？」"
  	OP会話状況.50=11
	  OP会話文.51="「わしは地球に残って、管制プログラムで慧をサポート\nするという重要な役目があるんじゃ！」"
  	OP会話状況.51=103
	  OP会話文.52="「うーん。なんだかよく分からないけど。とにかく私が\n月へ行くことでグラボショックを解決できるかもしれない\nんだね！？」"
  	OP会話状況.52=0
	  OP会話文.53="「そうじゃ。そして大金も手に入る！」"
  	OP会話状況.53=104
	  OP会話文.54="「よーし、じゃあ博士のしょうもない野望とGPUプログラ\nミングのために私、頑張るよ！」"
  	OP会話状況.54=12
	  OP会話文.55="「うむ頼んだぞ！」"
  	OP会話状況.55=100
	  OP会話文.56="（まさか私がグラボショックを解決しに行くことになる\nなんて思わなかったなぁ・・・）"
  	OP会話状況.56=4
//---プロ生一枚絵------
	  OP会話文.57="「よーし、頑張るぞー！」"
  	OP会話状況.57=0
	  OP会話文.58="「目指せ！月ぃ〜！」"
  	OP会話状況.58=0
//----宇宙船飛び立つ絵------
	  OP会話文.59="ゴゴゴゴゴゴゴ・・・・"
  	OP会話状況.59=200
  	//OP会話はここで終了、チュートリアル以降は本編で



	sdim 会話文 ,256,64,32*2//１回につき128文字まで、１ステージにつき64会話まで、32*2ステージ分
	dim 会話状況    ,64,32*2//					   １ステージにつき64会話まで、32*2ステージ分
	  会話文. 0. 0="「慧、聞こえるか？」"
  	会話状況. 0. 0=100
	  会話文. 1. 0="「聞こえるよ博士。とりあえず大気\n圏突破は成功だね！」"
  	会話状況. 1. 0=8
	  会話文. 2. 0="「うむ。では今から宇宙船の操作の\n説明をする。聞きたいか？」"
  	会話状況. 2. 0=100
	  会話文. 3. 0="「使うキーは主に３つじゃ。\n　スペースキーで燃料噴射」"
  	会話状況. 3. 0=100+256*(15+21*256+0*65536)
	  会話文. 4. 0="「燃料噴射で前に進める。燃料は無限\nにある。」"
  	会話状況. 4. 0=100
	  会話文. 5. 0="「←→キーで宇宙船の回転じゃ」"
  	会話状況. 5. 0=100+256*(1+5*256+0*65536)
	  会話文. 6. 0="「画面右のメーターで宇宙船の姿勢、\n速度等を確認できるようになって\nおる」"
  	会話状況. 6. 0=100
	  会話文. 7. 0="「また画面右の枠は、後でいろいろ\nと拡張できるようになっておる。\n慧のプログラミング次第でいかよう\nにも拡張できるぞ！」"
  	会話状況. 7. 0=106+256*(18+20*256+0*65536)
	  会話文. 8. 0="「Xキーでチュートリアル\n終了じゃ」"
  	会話状況. 8. 0=100+256*(1+4*256+0*65536)
//チュートリ終了
	  会話文. 0. 1="チュートリアルを終了しますか？"
  	会話状況. 0. 1=200
	  会話文. 1. 1="「ところで博士、さっきから見える\nこのもやもやは何？」"
  	会話状況. 1. 1=2
	  会話文. 2. 1="「これは『エーテル』と呼ばれて\nいるものじゃ」"
  	会話状況. 2. 1=108+256*(5+9*256+0*65536)
	  会話文. 3. 1="「宇宙空間にはエーテルという空気\nみたいな媒介が存在する。このエー\nテル流は時に宇宙船に大きな影響を\n及ぼすこともあるんじゃ！覚えておけ\n！」"
  	会話状況. 3. 1=108+256*(44+49*256+0*65536)
	  会話文. 4. 1="「へぇー」"
  	会話状況. 4. 1=0
	  会話文. 5. 1="「あ、月がかなり近くに見えてき\nたよ！」"
  	会話状況. 5. 1=2
	  会話文. 6. 1="「そろそろ月に向かって降下して\nいく頃じゃの」"
  	会話状況. 6. 1=101
//-----月の画像-------
	  会話文. 7. 1="「見ろ！慧！」"
  	会話状況. 7. 1=108
	  会話文. 8. 1="「うん！近くで見る月がとても綺麗\nだね！」"
  	会話状況. 8. 1=5
	  会話文. 9. 1="「なんと美しいカルマン渦じゃ〜！」"
  	会話状況. 9. 1=102+256*(7+12*256+1*65536)
	  会話文.10. 1="「宇宙船の後ろにできたこの渦列は\nカルマン渦とよばれる！」"
  	会話状況.10. 1=102
	  会話文.11. 1="「神秘的じゃ〜」"
  	会話状況.11. 1=110
	  会話文.12. 1="「そ、そっちー？」"
  	会話状況.12. 1=11
	  会話文.13. 1="「よし。ではいよいよ月面着陸じゃ！\n正確に着陸するために必ず手動の調整\nが必要じゃ。慧、頼んだぞ！」"
  	会話状況.13. 1=100+256*(10+14*256+0*65536)
	  会話文.14. 1="「初仕事だね！おっけー」"
  	会話状況.14. 1=5
	  会話文.15. 1=""
  	会話状況.15. 1=5
//ステージ0終了===========================================
	  会話文. 0. 2="「慧、あれが着陸台じゃ」"
	会話状況. 0. 2=100+256*(6+9*256+0*65536)
	  会話文. 1. 2="「あの 赤 のやつだね？」"
	会話状況. 1. 2=0+256*(4+5*256+0*65536)
	  会話文. 2. 2="「そうじゃ。着陸時には姿勢、\n着陸速度 に注意するんじゃ」"
	会話状況. 2. 2=101+256*(11+19*256+0*65536)
	  会話文. 3. 2="「あと月面には重力が存在する。\n重力も使いうまく着地するのじゃ！」"
	会話状況. 3. 2=100+256*(7+9*256+0*65536)
	  会話文. 4. 2="「よしやってみる」"
	会話状況. 4. 2=5
	  会話文. 5. 2="「スタートもスペースキーじゃ」"
	会話状況. 5. 2=100+256*(6+12*256+0*65536)
//クリア
	  会話文. 0. 3="「着陸成功！！」"
	会話状況. 0. 3=10
	  会話文. 1. 3="「よし！よくやったな慧！\n着陸するときは斜めすぎても\n早すぎてもダメじゃぞ！」"
	会話状況. 1. 3=101
	  会話文. 2. 3="「それにしても宇宙船が通った跡の\n渦列！自然の神秘じゃ！」"
	会話状況. 2. 3=103
	  会話文. 3. 3="「よいか！？カルマン渦というのは、\n特定のレイノルズ数の流れのなかに\n障害物があるときに生まれる渦でな\n・・・」"
	会話状況. 3. 3=108+256*(21+27*256+0*65536)
	  会話文. 4. 3="「ポカーン だよ博士」"
	会話状況. 4. 3=11
//ステージ1終了===========================================
	  会話文. 0. 4="「隣に着陸出来そうな場所があるね！\n」"
	会話状況. 0. 4=3
	  会話文. 1. 4="「今度は←→キーも使ってうまく\n着陸しないと！」"
	会話状況. 1. 4=0+256*(4+8*256+0*65536)
//クリア
	  会話文. 0. 5="「着陸成功！！」"
	会話状況. 0. 5=10
//ステージ2終了===========================================
	  会話文. 0. 6="「今度はかなり高いところに\n着陸点があるよ！」"
	会話状況. 0. 6=3
	  会話文. 1. 6="「さっきよりも着陸点が狭いから\n注意するのじゃ！」"
	会話状況. 1. 6=107
//クリア
	  会話文. 0. 7="「着陸成功！！」"
	会話状況. 0. 7=10
	  会話文. 1. 7="「慧、うまくなってきたん\nじゃないか！？」"
	会話状況. 1. 7=101
//ステージ3終了===========================================
	  会話文. 0. 8="「頑張っていくよー！」"
	会話状況. 0. 8=7
//クリア
	  会話文. 0. 9="「着陸成功！！」"
	会話状況. 0. 9=10

//ステージ4終了===========================================
	  会話文. 0.10="「今度の場所は岩で囲まれてるね\n！」"
	会話状況. 0.10=2
	  会話文. 1.10="「真ん中にあるのが着陸点じゃな」"
	会話状況. 1.10=100
//クリア
	  会話文. 0.11="「着陸成功！！」"
	会話状況. 0.11=10
//ステージ5終了===========================================
	  会話文. 0.12="「道の駅・・・も〜ちょっとマシ\nな名前はないのか・・・」"
	会話状況. 0.12=110
	  会話文. 1.12="「何もないから仕方ないね・・」"
	会話状況. 1.12=3
	  会話文. 2.12="「でもちょっと狭くなったところ\nがあるね・・」"
	会話状況. 2.12=2
	  会話文. 3.12="「そうじゃな。ここを通れるかは\n良い練習になるじゃろう！\n頼んだぞ慧！」"
	会話状況. 3.12=100
//クリア
	  会話文. 0.13="「博士？」"
	会話状況. 0.13=3
	  会話文. 1.13="「何じゃ？」"
	会話状況. 1.13=100
	  会話文. 2.13="「着陸するときに安全な速度、安全\nな角度かどうかを警告灯で示してく\nれる計器があったら便利じゃないか\nな？」"
	会話状況. 2.13=1+256*(8+21*256+0*65536)
	  会話文. 3.13="「それは面白い！」"
	会話状況. 3.13=104
	  会話文. 4.13="「あれば着陸が成功しやすくなる\nじゃろう。着陸に失敗した時でも\nどうまずかったかが分かるしな」"
	会話状況. 4.13=101
	  会話文. 5.13="「うん！よーし早速プログラミング\nして実装しちゃうよー！」\nカタカタ・・・"
	会話状況. 5.13=0
//ステージ6終了===========================================
	  会話文. 0.14="「なんだかエーテル流が見えるね」"
	会話状況. 0.14=3+256*(5+10*256+0*65536)
	  会話文. 1.14="「あまり早くないが、若干流れ\nで宇宙船が押し戻されるじゃろう」"
	会話状況. 1.14=107+256*(20+26*256+0*65536)
	  会話文. 2.14="「流れに負けないようにしない\nとね」"
	会話状況. 2.14=5
//クリア
	  会話文. 0.15="「だんだん要領がわかって\nきたよ！」"
	会話状況. 0.15=5
	  会話文. 1.15="「あぁ^〜流体の渦列が美しいん\nじゃ^〜」"
	会話状況. 1.15=102
	  会話文. 2.15="「・・・」"
	会話状況. 2.15=11
//ステージ7終了===========================================
	  会話文. 0.16="「そろそろレアアース採取の\nミッションもやるぞい！」"
	会話状況. 0.16=103+256*(5+12*256+0*65536)
	  会話文. 1.16="「あそこに浮かんでるやつ\nだね！」"
	会話状況. 1.16=1
	  会話文. 2.16="「たくさん持ち帰らないとね！」"
	会話状況. 2.16=7
//クリア
	  会話文. 0.17="「いいかんじじゃ」"
	会話状況. 0.17=104
	  会話文. 1.17="「なるべく全部回収したいけど、\n無理に取らずに先へ進んでも\nいいんだよね？！」"
	会話状況. 1.17=2
	  会話文. 2.17="「もちろんそれも可能じゃ。\nじゃが採取したほうが儲け(スコア)\nも良くなるじゃろう」"
	会話状況. 2.17=108+256*(27+30*256+0*65536)
	  会話文. 3.17="「それにレアアースを取った\n場所はセーブポイントになっている\nものも多い」"
	会話状況. 3.17=108+256*(17+24*256+0*65536)
	  会話文. 4.17="「そっか！寄り道してでもなるべく\n取った方がいいね！」"
	会話状況. 4.17=5
//ステージ8終了===========================================
	  会話文. 0.18="「流れが早くなってきたね」"
	会話状況. 0.18=3
//クリア
	  会話文. 0.19="「博士？」"
	会話状況. 0.19=2
	  会話文. 1.19="「なんじゃ？」"
	会話状況. 1.19=108
	  会話文. 2.19="「考えたんだけど、宇宙船周りの\n圧力から受ける力の方向を計算し\nて表示する計器があったら便利じゃ\nないかな？」"
	会話状況. 2.19=3+256*(23+27*256+0*65536)
	  会話文. 3.19="「おおーそれは面白そうじゃ！」"
	会話状況. 3.19=104
	  会話文. 4.19="「流れが不安定なところでは、どの\n方向に流されるか分からないで\nしょ？」"
	会話状況. 4.19=0
	  会話文. 5.19="「圧力計があれば、宇宙船が受ける\n圧力を見てどこへ流されそうか\nわかると思って！」"
	会話状況. 5.19=1+256*(1+4*256+0*65536)
	  会話文. 6.19="「いい案じゃ！」"
	会話状況. 6.19=100
	  会話文. 7.19="「早速プログラム組んで実装しちゃ\nうよー」"
	会話状況. 7.19=5
//ステージ9終了===========================================
	  会話文. 0.20="「これは『円柱周りの流れ』という\nヤツじゃ」"
	会話状況. 0.20=108+256*(4+13*256+1*65536)
	  会話文. 1.20="「流体解析では鉄板ネタじゃな」"
	会話状況. 1.20=108+256*(1+5*256+1*65536)
	  会話文. 2.20="「円柱・・？の後ろは流れが\nよめないね」"
	会話状況. 2.20=3
//クリア
	  会話文. 0.21="「難しいステージだったね」"
	会話状況. 0.21=0
	  会話文. 1.21="「難しいステージになっても\n流れを読むことはとても重要じゃ」"
	会話状況. 1.21=100
//ステージ10終了===========================================
	  会話文. 0.22="「ところで慧、わしのGPUプログラ\nミングの本で何を作ろうとしていた\nんじゃ？」"
	会話状況. 0.22=100
	  会話文. 1.22="「ああ実はね、物理シミュレーショ\nンゲームを作ろうとしてたんだ！でも\n学校の先生に、お前には無理だから\nやめとけって言われちゃって」"
	会話状況. 1.22=2
	  会話文. 2.22="「うーむ。GPUプログラミングは\nウィザード級の難しさと一般的に\n言われているからのう。しかし\n言うほど難しくはないぞ！」"
	会話状況. 2.22=103
	  会話文. 3.22="「博士はそこら辺詳しそうだね！」"
	会話状況. 3.22=0
//クリア
	  会話文. 0.23="「GPGPUとシミュレーションは相性\nが良いんじゃ。\nスパコンにも使われとるしな。\n慧、いいところに目をつけたのう」"
	会話状況. 0.23=102+256*(1+22*256+1*65536)
	  会話文. 1.23="「本当！？」"
	会話状況. 1.23=0
	  会話文. 2.23="「シミュレーションに必要なのは\n 膨大な計算量じゃ。」"
	会話状況. 2.23=108+256*(17+23*256+1*65536)
	  会話文. 3.23="「GPUは一つ一つのプロセッサの構造\nが単純なため、その機能はCPUに比べ\n限定されたものでも、大量のデータ\nを複数のプロセッサで同時に並列\n処理することができる。」"
	会話状況. 3.23=108+256*(47+73*256+1*65536)
	  会話文. 4.23="「そうそう！確かそんなことが\n本に書いてあったよ！」"
	会話状況. 4.23=0
	  会話文. 5.23="「わしに言わせれば、グラフィック\nボードをただグラフィックの表示の\nためだけに使うのは勿体ない！」"
	会話状況. 5.23=109+256*(43+48*256+1*65536)
	  会話文. 6.23="「うーん、確かにそうかもしれない。\nでもGPGPU機能のあるソフトって\nまだまだ少ないよね？」"
	会話状況. 6.23=3
	  会話文. 7.23="「それはこれから増えてくるじゃろう\nグラボショックが終わればGPUの\n可能性に気づく者も増えてくる！」"
	会話状況. 7.23=100
	  会話文. 8.23="「そうだね。これが解決したら流行る\nといいね！GPGPU！」"
	会話状況. 8.23=2
//ステージ11終了===========================================
	  会話文. 0.24="「あそこがゴールか！\nここは結構簡単そうだね！」"
	会話状況. 0.24=1
	  会話文. 1.24="「・・いや、待て・・・\n何か様子が変じゃ・・・・・」"
	会話状況. 1.24=107
	  会話文. 2.24="　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　"
	会話状況. 2.24=200
	  会話文. 3.24="　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　"
	会話状況. 3.24=200
	  会話文. 4.24="「うわぁーーなにこれーーー！？」"
	会話状況. 4.24=11
	  会話文. 5.24="「こ、これは！エーテルストーム\nじゃ！」"
	会話状況. 5.24=112+256*(7+15*256+0*65536)
	  会話文. 6.24="「宇宙の嵐みたいなもんじゃ！これ\nでは先へ進めん。どうしたらいい\nんじゃ・・・」"
	会話状況. 6.24=111+256*(1+5*256+0*65536)
	  会話文. 7.24="「待って博士！私今凄いプログラム \n思いついちゃった！」"
	会話状況. 7.24=5+256*(9+16*256+0*65536)
	  会話文. 8.24="カタカタカタカタ\n「ここをこうしてっと」\nカタカタ・・・"
	会話状況. 8.24=2
	  会話文. 9.24="っターン！(F5)"
	会話状況. 9.24=2
	  会話文.10.24="「できたーーー！」"
	会話状況.10.24=7
	  会話文.11.24="「新しく変形機能を追加したよ！」"
	会話状況.11.24=8
	  会話文.12.24="「Cボタンで宇宙船が丸型→縦型\n縦型→横型って変形するように\nなったよ！」"
	会話状況.12.24=8+256*(1+5*256+0*65536)
	  会話文.13.24="「さ、さすがじゃ！この嵐では縦型が\n一番有利じゃろう！」"
	会話状況.13.24=104+256*(14+16*256+0*65536)
	  会話文.14.24="「うん！早速やってみるよ！」"
	会話状況.14.24=7
//クリア
	  会話文. 0.25="「思ったより簡単だったねここ」"
	会話状況. 0.25=10
	  会話文. 1.25="「これ以上フラグをたてるでない」"
	会話状況. 1.25=111
	  会話文. 2.25="（しかし、はやり慧を乗せて正解\nじゃった・・）"
	会話状況. 2.25=109
	  会話文. 3.25="「当然っちゃ当然だけど、縦型は\n横になると風をもろに食らうん\nだね」"
	会話状況. 3.25=0
	  会話文. 4.25="「そうじゃの。安定性で言えば\nやはり最初の丸型が一番安定して\nおるじゃろう」"
	会話状況. 4.25=100
//ステージ12終了===========================================================
	  会話文. 0.26="「これは何？」"
	会話状況. 0.26=0
	  会話文. 1.26="「ミニブラックホールじゃ」"
	会話状況. 1.26=103
	  会話文. 2.26="「へぇ月にもいろいろあるんだねー！\n」"
	会話状況. 2.26=2
//クリア
	  会話文. 0.27="「やっぱり月にブラックホール\nってなんか変・・」"
	会話状況. 0.27=2
//ステージ13終了===========================================================
	  会話文. 0.28="「流れが早いとカルマン渦列が\nたくさんできて、見てて飽きない\nのう！」"
	会話状況. 0.28=102
	  会話文. 1.28="「呑気だなぁ博士は」"
	会話状況. 1.28=8
	  会話文. 2.28="「ここは地形上、変形しながら進\nむのがいいじゃろう！」"
	会話状況. 2.28=100
//クリア
	  会話文. 0.29="「嵐おさまらないね」"
	会話状況. 0.29=3
//ステージ14終了===========================================================
	  会話文. 0.30="「ここは縦型でうまく流れを受け\n流しながら進むのがいいじゃ\nろう」"
	会話状況. 0.30=100+256*(4+6*256+0*65536)
	  会話文. 1.30="「よし、わかった！」"
	会話状況. 1.30=5
//クリア
	  会話文. 0.31="「ここまでこれたのも慧の作っ\nた変形機能のおかげじゃの！」"
	会話状況. 0.31=103+256*(16+20*256+0*65536)
	  会話文. 1.31="「でしょー！私を乗せて正解だっ\nたね！」"
	会話状況. 1.31=5
//ステージ15終了===========================================================
	  会話文. 0.32="「やっと嵐がおさまったね！」"
	会話状況. 0.32=0
	  会話文. 1.32="「天気と同じくエーテルストームも\nお天道さまのご機嫌次第じゃな」"
	会話状況. 1.32=101
	  会話文. 2.32="「ところでこのステージ、なんか\nある文字に見えるような・・」"
	会話状況. 2.32=3
//クリア
	  会話文. 0.33="「着陸成功！」"
	会話状況. 0.33=0
//ステージ16終了===========================================================
	  会話文. 0.34="「面白い地形だね！」"
	会話状況. 0.34=7
//クリア
	  会話文. 0.35="「そういえばさっきスパコンにも\nGPGPUの技術が使われてるって\nちらっと言ってなかった？」"
	会話状況. 0.35=0+256*(9+13*256+1*65536)
	  会話文. 1.35="「そうじゃったな！」"
	会話状況. 1.35=103
	  会話文. 2.35="「スパコンでやるような計算\nってどんなのがあるの？」"
	会話状況. 2.35=0
	  会話文. 3.35="「例えばものづくりじゃな！新幹線や\n飛行機、車などを作る際、空気抵抗と\nいうのはなるべく減らしたいわけ\nじゃ。」"
	会話状況. 3.35=102+256*(4+9*256+1*65536)
	  会話文. 4.35="「しかし実際に物を作ってからやっ\nぱり失敗でしたとなるのは非常\nにお金と時間の無駄じゃ」"
	会話状況. 4.35=108
	  会話文. 5.35="「そこで、数値流体力学(CFD)の\n出番！実際に物を作らずとも、仮想\n空間の中で良いか悪いかが分かる！\nものづくりにシミュレーション\nはかかせないのじゃよ！」"
	会話状況. 5.35=102+256*(5+16*256+1*65536)
	  会話文. 6.35="「へぇ〜そうなんだ！」"
	会話状況. 6.35=8
	  会話文. 7.35="「詳しくは割愛するが、他にも災害\n予測などにも活用されておるよ」"
	会話状況. 7.35=100
//ステージ17終了===========================================================
	  会話文. 0.36="「うーん、この地形。縦型でいけば\nすり抜けられそうじゃない？！」"
	会話状況. 0.36=0
	  会話文. 1.36="「油断は禁物じゃ！急がばまわれ\n操作に自信があれば良いがおすす\nめはせんぞ」"
	会話状況. 1.36=107
//クリア
	  会話文. 0.37="「着陸成功！」"
	会話状況. 0.37=4
//ステージ18終了===========================================================
	  会話文. 0.38="「トンネルっぽいのがあるね！\nなんだかくぐり抜けるの楽し\nそう！」"
	会話状況. 0.38=0
	  会話文. 1.38="「トンネル内の向かい風をうまく利用\nすればいけるじゃろう」"
	会話状況. 1.38=100
//クリア
	  会話文. 0.39="「いいかんじじゃ！」"
	会話状況. 0.39=100
//ステージ20終了===========================================================
	  会話文. 0.40="「あからさまに鬼の顔の形をした岩\nがあるよ！？」"
	会話状況. 0.40=0+256*(7+8*256+0*65536)
	  会話文. 1.40="「気味が悪いね〜」"
	会話状況. 1.40=1
	  会話文. 2.40="「いいか慧、人の顔を見て気味が\n悪いなんて言うもんじゃない！」"
	会話状況. 2.40=108
	  会話文. 3.40="「えーだってこの人の口の中に入る\n以外道がないんだよ〜！なんか怖い\nじゃ〜ん」"
	会話状況. 3.40=7
//クリア
	  会話文. 0.41="「いよいよこの月も深いところまで\n辿り着いたのう。さらに最深部に行\nけばたくさんのレアアースがありそう\nな予感じゃ！」"
	会話状況. 0.41=101
//ステージ21終了===========================================================
	  会話文. 0.42="「まだ進むの〜・・？」"
	会話状況. 0.42=9
	  会話文. 1.42="「頑張るんじゃ慧！」"
	会話状況. 1.42=101
//クリア
	  会話文. 0.43="「わーもう早く地球に帰りたい！\n凄いおどろおどろしいよ〜」"
	会話状況. 0.43=9
//ステージ22終了===========================================================
	  会話文. 0.44="「ここって一体どこなのかな？」"
	会話状況. 0.44=9
//クリア
	  会話文. 0.45="「本当に奥深くまで来たもんじゃ\n見てるこっちはワクワク冒険気分\nじゃ！」"
	会話状況. 0.45=103
	  会話文. 1.45="「なっ！」"
	会話状況. 1.45=11
	  会話文. 2.45="「ジュール・ヴェルヌの冒険小説\n『地底旅行』を読んだことはある\nか？」"
	会話状況. 2.45=108
	  会話文. 3.45="「ううん」"
	会話状況. 3.45=3
	  会話文. 4.45="「その物語は地球の話じゃが、ある\n科学者が真理を求め人跡未踏の地底\n世界へ冒険する話なんじゃがな。」"
	会話状況. 4.45=108
	  会話文. 5.45="「SFなのにどこかリアリティがある！\n読んだ者が一気に冒険気分へ引きずり\n込まれる。そんな名作なんじゃ！」"
	会話状況. 5.45=102
	  会話文. 6.45="「今の私の周りの状況がそれに似てる\nってことね！？」"
	会話状況. 6.45=11
	  会話文. 7.45="「うむ！奥へ進めばいろんなピンチ \nに遭遇する！それでも奥へと進んで\nゆく！いやーワクワクじゃのう！」"
	会話状況. 7.45=102+256*(13+16*256+0*65536)
	  会話文. 8.45="「不吉なこと言わないで！」"
	会話状況. 8.45=11
//ステージ23終了===========================================================
	  会話文. 0.46="「博士の好きそうなヤツきたよ」"
	会話状況. 0.46=2
	  会話文. 1.46="「おおおおお！これは翼面流れの\nシミュレーションじゃ！！」"
	会話状況. 1.46=104+256*(10+24*256+1*65536)
	  会話文. 2.46="「なんだかレアアースも豊富！」"
	会話状況. 2.46=7
//クリア
	  会話文. 0.47="「色んな意味で美味しいボーナス\nステージじゃった！」"
	会話状況. 0.47=103
	  会話文. 1.47="「博士？かなり集まってきたんじゃ\nない？レアアース！」"
	会話状況. 1.47=7
	  会話文. 2.47="「そうじゃの！これだけあれば十分\nじゃ！」"
	会話状況. 2.47=100
	  会話文. 3.47="「フフフ！よしじゃあそろそろ戻ろ\nっか！」"
	会話状況. 3.47=8
	  会話文. 4.47="「残念じゃが慧、今は鬼の体内。\nGPSコンパスが変な方向を向いて戻り\n道が分からなくなってしまった・・」"
	会話状況. 4.47=110+256*(10+14*256+0*65536)
	  会話文. 5.47="「じゃあさらに奥に進むしかない\nってことーー？？」"
	会話状況. 5.47=11
//ステージ24終了===========================================================
	  会話文. 0.48="「なぜだろう・・見てると\n流しそうめんを食べたくなるね！？」"
	会話状況. 0.48=1
	  会話文. 1.48="「あ、博士見て！あそこに明かりが！」"
	会話状況. 1.48=2+256*(12+15*256+0*65536)
	  会話文. 2.48="「あの明かりは・・・出口じゃ！」"
	会話状況. 2.48=104
	  会話文. 3.48="「あのトンネルの向こうは\n地上につながっているんじゃ」"
	会話状況. 3.48=104
	  会話文. 4.48="「やったー！戻れる！地球に！\n帰ったら流しそうめん〜♪」"
	会話状況. 4.48=10
	  会話文. 5.48="「他にもやることがあるじゃろ」"
	会話状況. 5.48=109
	  会話文. 6.48="「では最後の仕事、頼んだぞ！」"
	会話状況. 6.48=100
//クリア
	  会話文. 0.49="「トンネルのすぐ近くに着陸したよ\n！」"
	会話状況. 0.49=0
	  会話文. 1.49="「お疲れじゃった！トンネルを出て、\nそのまま月から地球へ帰ろう。」"
	会話状況. 1.49=101
	  会話文. 2.49="「やっと帰れると思うと少し寂しく\nなるね。」"
	会話状況. 2.49=6
	  会話文. 3.49="「ああでも、なんだか急に眠く\nなってきちゃった・・」"
	会話状況. 3.49=9
	  会話文. 4.49="「今から帰還は自動操縦にまかせ\nよう。慧、ゆっくり休みなさい。」"
	会話状況. 4.49=100
	  会話文. 5.49="「今から帰還は自動操縦にまかせ\nよう。慧、ゆっくり休みなさい。」"
	会話状況. 5.49=100
	//流体励起振動について




	//エンディング会話
	  OP会話文.100="キーン　コーン　カーン　コーン"
	OP会話状況.100=200
	  OP会話文.101="「ふふ！今日は楽しかったなぁ」"
  	OP会話状況.101=8
	  OP会話文.102="「部室のパソコンでGPUプログラミングしてたら、\n顧問の先生が来てあんなに驚いちゃって！」"
  	OP会話状況.102=8
	  OP会話文.103="「『このプログラムなんでこんな早いの！？誰が作ったの！？』\nって(笑)」"
  	OP会話状況.103=8
	  OP会話文.104="「さぁ、部活も終わったことだし今日も帰ってゲームゲーム！」"
	OP会話状況.104=4
	  OP会話文.105="「なんでも今日はバレンタイン限定イベントとかいうので・・」"
	OP会話状況.105=7
	  OP会話文.106="「あ、そうか。今日はバレンタインデーかぁ！」"
  	OP会話状況.106=2
	  OP会話文.107="「帰りに博士のとこへ何か買って行ってあげないとね！」"
  	OP会話状況.107=2
  	//背景が街の風景に
	  OP会話文.108="「そういえばあれからかなり経つけど、世の中のレアアース\n問題は一気に解決したようだね！」"
  	OP会話状況.108=0
	  OP会話文.109="「チープだったゲームグラフィックも今ではどんどん綺麗に\nなってきてるし！」"
  	OP会話状況.109=1
	  OP会話文.110="「PCパーツショップも高性能化したグラボが売れて\n大繁盛みたいだし・・」"
  	OP会話状況.110=1
	  OP会話文.111="「まぁ博士の情報工作で、誰がどうやってレアアース\nを集めたのかは未だに謎ってことになってるけどね・・」"
  	OP会話状況.111=7
	  OP会話文.112="「あ、いい店みっけ！」"
  	OP会話状況.112=0
	  OP会話文.113="「これ、チョコじゃないけどまぁいいよね。」"
  	OP会話状況.113=2
	  OP会話文.114="「海外だとバレンタインで贈るものはチョコだけ\nじゃなくカードとかも贈るらしいからね」"
  	OP会話状況.114=0
  	//背景が黒に
	  OP会話文.115="コンコン\n「博士〜お邪魔しま〜す」"
  	OP会話状況.115=4
  	//背景がスパコンの背景に
	  OP会話文.116="「うわぁっ！！なにこれ！？」"
  	OP会話状況.116=11
	  OP会話文.117="「で、できたぞ！！」"
  	OP会話状況.117=112
	  OP会話文.118="「今度は何！？」"
  	OP会話状況.118=11
	  OP会話文.119="「できたんじゃよ！大量の資金を投入したARMアーキテクチャ\nプロセッサー搭載のスーパーコンピューターが！」"
  	OP会話状況.119=104
	  OP会話文.120="「グラボショックを解決した人にちなんで『けい』\nと名づけた！」"
  	OP会話状況.120=102
	  OP会話文.121="「これからはワットパフォーマンスの時代じゃ！」"
  	OP会話状況.121=108
	  OP会話文.122="「なるべく少ない電力で速く計算できたほうが優秀という\nわけじゃ！」"
  	OP会話状況.122=108
	  OP会話文.123="「もちろんGPGPUの技術はいくらでも応用できる！\n並列処理型のスパコンじゃからな！」"
  	OP会話状況.123=103
	  OP会話文.124="「ポカ〜〜〜〜ン」"
  	OP会話状況.124=11
	  OP会話文.125="「あ〜そうそう。博士のために買ってきたんだ。」"
  	OP会話状況.125=1
	  OP会話文.126="「はいこれ！」"
  	OP会話状況.126=1
  	//バレンタインGPUの画像
	  OP会話文.127="「ハッピーバレンタイン！」"
  	OP会話状況.127=1
	  OP会話文.128="「ハッピーバレンタイン！」"
  	OP会話状況.128=1

	return


*UFO設定
	//UFOの湧出点の定義///////////////////////////////////////////////////////////////////////////////////
	yuusyututen.0	=yuusyututenArray	.0.ufoidno
	yuusyututen.1	=yuusyututenArray	.1.ufoidno
	yuusyututen.2	=yuusyututenArray	.2.ufoidno
	yuusyututenRYS.0=yuusyututenRYSArray.0.ufoidno
	yuusyututenRYS.1=yuusyututenRYSArray.1.ufoidno
	yuusyututenRYS.2=yuusyututenRYSArray.2.ufoidno
	/*
	ddim atariufoArray,atrufokz,30
	ddim atariufokzArrayNormal,30//各要素には、当たり判定用の点の数がはいるノーマル用
	ddim atariufokzArrayHard,30  //各要素には、当たり判定用の点の数がはいるハード用
*/
	//atariufoはUFOごとに要素数が変わる
	if 難易度!=2{//難易度によって自機の当たり判定の数が違う
		atrufokz=atariufokzArrayNormal.ufoidno//足いがい、点の数*3
	}else{
		atrufokz=atariufokzArrayHard.ufoidno//足含む、点の数*3
	}
	ddim atariufo,atrufokz
	memcpy atariufo,atariufoArray,8*atrufokz,0,8*atrufokz_cont*ufoidno
	//湧出点ここまで３/////////////////////////////////////////////////////////////////////////////////////////////



	//UFOの設定されている流体の当たり判定。//////////////////////////////////////////////////////////////
	/*
	dim ufodot数Array,30
	fdim ufoxyzArray ,100*4*3,30//100ドット*4点*3(x,y,z)
*/
	ufodot数=ufodot数Array.ufoidno//ちなみにドットで1ドット当たり4つの点をもつ、4でかけてない数

	if UFOcl座標元	:HCLReleaseMemObject UFOcl座標元	:UFOcl座標元=0
	if UFOcl座標後	:HCLReleaseMemObject UFOcl座標後	:UFOcl座標後=0
	if UFOマスク	:HCLReleaseMemObject UFOマスク		:UFOマスク=0
	if 受ける外力	:HCLReleaseMemObject 受ける外力		:受ける外力=0

	HCLCreateBuffer UFOcl座標元,ufodot数*4*3*4//ドット数*4点*xyz*sizeof(float)
	HCLCreateBuffer UFOcl座標後,ufodot数*4*3*4//ドット数*4点*xyz*sizeof(float)
	HCLCreateBuffer UFOマスク,12*12
	HCLCreateBuffer 受ける外力,12*12*4*6//sizeof(float)*6要素

	fdim ufoxyz,ufodot数*4*3//要素数なので
	memcpy ufoxyz,ufoxyzArray,ufodot数*4*3*4,0,100*4*3*4*ufoidno
	HCLWriteBuffer UFOcl座標元,ufoxyz,ufodot数*4*3*4//ドット数*4点*xyz*sizeof(float)
	fdim ufoxyz,1
	//流体の当たり判定ここまで/////////////////////////////////////////////////////////////////////////////////////////////

	gsel 0
	return


*ステージ初期設定
	//ハイスコア読み込み
	dim ハイスコア記録,3
	exist "data\\savedata"
	if strsize!-1{
		bload "data\\savedata",ハイスコア記録
	}
	//粒子初期設定
	HGLCreateBuffer GLmemid_RYS,RYS,粒子数*4*2//頂点2つ(x,y)*sizeof(float)
	HGLCreateBuffer GLmemid_RYc,RYc,粒子数*1*4//色(r,g,b,a) 粒子数*1byte*4

	//テクスチャ読み込み
	HGLCreateTexture1_texload expefx1,"data\\efx\\efx1.png"//読み込み専用テクスチャにロード
	HGLCreateTexture1_texload expefx2,"data\\efx\\efx2.png"//読み込み専用テクスチャにロード
	dim reaasu_tex,1//1枚に2つのレアアース画像がある200(*2) * 128
	color 255,255,255
	HGLCreateTexture1_texload reaasu_tex,"data\\gr\\reaasu.png",1//レアアース
	color 0,0,0
	HGLCreateTexture1_texload stagefont_tex,"data\\stage\\stagefont.png",1//ステージフォント

	//ステージ下地アルファブレンドデータ
	dim data,512*92
	bload "data\\efx\\dataao",data
	HGLCreateTexture1 stagemoji_efx,512,92,GL_RGBA,GL_UNSIGNED_BYTE
	HGLWriteTexture stagemoji_efx,data,0,0,512,92,GL_RGBA,GL_UNSIGNED_BYTE
	sdim data,1


//右画面関連//////////////////////////////////////////////////////////////////////////////////////////

	//右画面の下地
	HGLCreateTexture1_texload migigmn_tex,"data\\scoregr\\migigmn.png"
	//角度OK
	dim data,56*96
	bload "data\\scoregr\\kakudoRGBA",data
	HGLCreateTexture1 kakudoRGBA_tex,56,96,GL_RGBA,GL_UNSIGNED_BYTE
	HGLWriteTexture kakudoRGBA_tex,data,0,0,56,96,GL_RGBA,GL_UNSIGNED_BYTE
	//速度OK
	bload "data\\scoregr\\sokudoRGBA",data
	HGLCreateTexture1 sokudoRGBA_tex,56,96,GL_RGBA,GL_UNSIGNED_BYTE
	HGLWriteTexture sokudoRGBA_tex,data,0,0,56,96,GL_RGBA,GL_UNSIGNED_BYTE
	//角度速度が光った時の加算合成部分
	HGLCreateTexture1_texload efxkaso_tex,"data\\scoregr\\efxkaso.png"
	//speedの矢印
	color 0,0,0
	HGLCreateTexture1_texload speedya_tex,"data\\scoregr\\speed.png",1
	//圧力の矢印
	color 0,0,0
	HGLCreateTexture1_texload yaji_tex,"data\\scoregr\\yaji.png",1//168*100
	//自機速度、風圧力のぐらふ軸説明 画像
	dim data,272*32
	bload "data\\scoregr\\jikumesRGBA",data//速度OK
	HGLCreateTexture1 jikumesRGBA_tex,272,32,GL_RGBA,GL_UNSIGNED_BYTE
	HGLWriteTexture jikumesRGBA_tex,data,0,0,272,32,GL_RGBA,GL_UNSIGNED_BYTE


	//圧力表示用の変数セット
	//glmem_presshyouji_color  VBO  cahr*4
	//glmem_presshyouji_vertx  VBO  sizeof(float)*4*(x,y)
	//PRESS_HYOJI_XY=20
	HGLCreateBuffer glmem_presshyouji_color,clmem_presshyouji_color,PRESS_HYOJI_XY*PRESS_HYOJI_XY*4*4
	HGLCreateBuffer glmem_presshyouji_vertx,clmem_presshyouji_vertx,PRESS_HYOJI_XY*PRESS_HYOJI_XY*4*4*2
	HCLCreateBuffer clmem_presshyouji_sum,4//圧力の合計値。表示した圧力の合計値が0になるように
	fdim hsp_glmem_presshyouji_vertx,PRESS_HYOJI_XY*PRESS_HYOJI_XY*4*2

	tmp=0
	repeat PRESS_HYOJI_XY//*PRESS_HYOJI_XY*4*2
	cntj=cnt
		repeat PRESS_HYOJI_XY
		hsp_glmem_presshyouji_vertx.tmp=float(512+55+cnt*7  ),float(0  +20+cntj*7  ):tmp+=2
		hsp_glmem_presshyouji_vertx.tmp=float(512+55+cnt*7+7),float(0  +20+cntj*7  ):tmp+=2
		hsp_glmem_presshyouji_vertx.tmp=float(512+55+cnt*7+7),float(0  +20+cntj*7+7):tmp+=2
		hsp_glmem_presshyouji_vertx.tmp=float(512+55+cnt*7  ),float(0  +20+cntj*7+7):tmp+=2
		loop
	loop
	//ポリゴンの位置をVRAMに転送あとは表示色だけ
	HGLWriteBuffer glmem_presshyouji_vertx,hsp_glmem_presshyouji_vertx,PRESS_HYOJI_XY*PRESS_HYOJI_XY*4*4*2

	//後片付け
	sdim hsp_glmem_presshyouji_vertx,1
	sdim data,1
	///右画面ここまで/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



	return


*ステージ設定
	//////初期化ここから////////////////////////////////////////////////
	gosub*流体リセット
	//UFOリセット
	ufo_spdx=0.0
	ufo_spdy=0.0
	saisyonokeyflg=0:saisyonokeyoffflg=0
	tmptenixy=0//ufoの位置x+y*WX
	clrflg=0
	henkeievent=0
	死亡復帰フラグ=0

	if ステージ==0{//２周目でエラーがでないように
		stageflg0=0:stageflg1=0
		kwflg0=0:kwflg1=0
		kwstage=0
	}
	//ステージフラグ//あえてかえない
	//stageflg0=0//stageflg1=0
	//会話フラグ//あえてかえない
	//kwflg0=0//kwflg1=0

	//Time管理。表示タイム
	stagetime0=0
	stagetime1=0
	stagetime2=0
	stagetimeflg=0

	//回転角設定
	ufoquo=0.0,0.0,1.0,0.0
	//UFO初期位置等ロード
	sdim tmpmoji,65536:sdim tmpmoji2,256
	//レアアースの位置設定
	dim reaasu_posx,REAASU_KZ
	dim reaasu_posy,REAASU_KZ
	dim reaasu_i   ,REAASU_KZ//レアアースの状況。0は存在しない、1は存在する。
	//////初期化ここまで////////////////////////////////////////////////

	//////ステージロードここから////////////////////////////////////////////////
	//ロード開始
	notesel tmpmoji
	noteload "data\\stage\\"+ステージ+"\\deta.txt"
	noteget tmpmoji2,0//0行目は初期ufo x
	ufo_posx=double(tmpmoji2):ufo_posx_syoki=double(tmpmoji2)
	noteget tmpmoji2,1//1行目は初期ufo y
	ufo_posy=double(tmpmoji2):ufo_posy_syoki=double(tmpmoji2)
	noteget tmpmoji2,2//2行目はkonagire
	konagire=int(tmpmoji2)
	noteget tmpmoji2,3//3行目はクリア判定x1
	ufo_crax1=double(tmpmoji2)
	noteget tmpmoji2,4//4行目はクリア判定x2
	ufo_crax2=double(tmpmoji2)
	noteget tmpmoji2,5//5行目はクリア判定y1
	ufo_cray1=double(tmpmoji2)
	noteget tmpmoji2,6//6行目はクリア判定y2
	ufo_cray2=double(tmpmoji2)
	//重力関連
	noteget tmpmoji2,7+難易度//7-9行目は噴射力 e n h
	噴射力		=double(tmpmoji2)
	noteget tmpmoji2,10+難易度//10-12行目は重力 e n h
	重力係数	=double(tmpmoji2)
	noteget tmpmoji2,13+難易度//13-15行目は流れの影響 e n h
	流れの影響	=double(tmpmoji2)
	noteget tmpmoji2,16+難易度//16-18行目はspeed e n h
	speeed		=float(double(tmpmoji2))
	//レアアース関連
	repeat REAASU_KZ
		noteget tmpmoji2,19+cnt*3+0//19-30行目はレアアースの状態
		reaasu_i   .cnt=int(tmpmoji2)
		noteget tmpmoji2,19+cnt*3+1//19-30行目はレアアースのｘ
		reaasu_posx.cnt=int(tmpmoji2)
		noteget tmpmoji2,19+cnt*3+2//19-30行目はレアアースのｙ
		reaasu_posy.cnt=int(tmpmoji2)
	loop
	
/*いつか陽の目を見る要素として今は封印
	//BGMエフェクト関連
	dim BGMefxPosX,2
	dim BGMefxPosY,2
	noteget tmpmoji2,31//エフェクト円1の中心点x
	BGMefxPosX.0=int(tmpmoji2)
	noteget tmpmoji2,32//エフェクト円1の中心点y
	BGMefxPosY.0=int(tmpmoji2)
	noteget tmpmoji2,33//エフェクト円1の中心点x
	BGMefxPosX.1=int(tmpmoji2)
	noteget tmpmoji2,34//エフェクト円1の中心点y
	BGMefxPosY.1=int(tmpmoji2)
*/
	noteget tmpmoji2,31+難易度*3//Sランク、イージー〜ハード
	Sランクタイム=int(tmpmoji2):SランクタイムMin=strf("%02d",int(Sランクタイム/60)):SランクタイムSec=strf("%02d",int(Sランクタイム\60)):SランクタイムMsc=strf("%02d",0)
	noteget tmpmoji2,32+難易度*3//Aランク、イージー〜ハード
	Aランクタイム=int(tmpmoji2):AランクタイムMin=strf("%02d",int(Aランクタイム/60)):AランクタイムSec=strf("%02d",int(Aランクタイム\60)):AランクタイムMsc=strf("%02d",0)
	noteget tmpmoji2,33+難易度*3//Bランク、イージー〜ハード
	Bランクタイム=int(tmpmoji2):BランクタイムMin=strf("%02d",int(Bランクタイム/60)):BランクタイムSec=strf("%02d",int(Bランクタイム\60)):BランクタイムMsc=strf("%02d",0)
	//ロードここまで
	sdim tmpmoji2,1:sdim tmpmoji,1//後片付け
	////////////////////////////////////////////////////////////////////////



	///////////画像関連ここから///////////////////////////////////////////////////////
	gsel 0
	//使うステージ画像ロード
	if stage_GLtx:HGLReleaseTexture stage_GLtx	:stage_GLtx=0//すでに使っていたら破棄
	color 255,255,255
	HGLCreateTexture1_texload stage_GLtx,"data\\stage\\"+ステージ+"\\stage.png",1//読み込み専用テクスチャにロード

	buffer 101:picload "data\\stage\\"+ステージ+"\\stage.png"
	///////////画像関連ここまで///////////////////////////////////////////////////////


	//∨∨壁の設定開始∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨////////////////////////////////////
	sdim kbp,WX*WY
	sdim kbx,WX*WY
	sdim kby,WX*WY
	//壁速度の初期設定
	fdim kkx,WX*WY
	fdim kky,WX*WY

	//kabeXの設定
	buffer 1:picload "data\\stage\\"+ステージ+"\\kabex.png"
		repeat WX:a3=cnt:repeat WY
			pget a3,cnt
			//GPU壁設定、0か255
			if ginfo_r>128:poke kbx,a3+cnt*WX,255:else:poke kbx,a3+cnt*WX,0
			//HSP側壁仕様にのっとり速度決定
			if ginfo_r<=128:kkx.(a3+cnt*WX)=float(0.05*(ginfo_r-64)*speeed)
		loop:loop

	//kabeYの設定
	buffer 1:picload "data\\stage\\"+ステージ+"\\kabey.png"
		repeat WX:a3=cnt:repeat WY
			pget a3,cnt
			//GPU壁設定、0か255
			if ginfo_r>128:poke kby,a3+cnt*WX,255:else:poke kby,a3+cnt*WX,0
			//HSP側壁仕様にのっとり速度決定
			if ginfo_r<=128:kky.(a3+cnt*WX)=float(0.05*(ginfo_r-64)*speeed)
		loop:loop
	//kabePの設定
	buffer 1:picload "data\\stage\\"+ステージ+"\\kabep.png"
		repeat WX:a3=cnt:repeat WY
			pget a3,cnt:poke kbp,a3+cnt*WX,ginfo_r
		loop:loop


	//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆//
	//kabeWの設定その１。ステージ粒子の普遍的な設定

	//r==0なら壁r!=0なら流体
	//g>=128なら粒子発生しない壁g<128なら粒子発生壁
	//b==0のとき壊れない壁b!=0のとき壊れる壁
	buffer 1:picload "data\\stage\\"+ステージ+"\\kabew.png"
	粒子発生壁kz=0:fdim 粒子発生壁x,512*512*32:fdim 粒子発生壁y,512*512*32
		repeat WX:a3=cnt:repeat WY
			pget a3,cnt
			if ginfo_r=0{
				poke kbp,a3+cnt*WX,0
				poke kbx,a3+cnt*WX,0			:kkx.(a3+cnt*WX)=float(0)
				poke kbx,(a3+1)\WX+cnt*WX,0		:kkx.((a3+1)\WX+cnt*WX)=float(0)
				poke kby,a3+cnt*WX,0			:kky.(a3+cnt*WX)=float(0)
				poke kby,a3+((cnt+1)\WY)*WX,0	:kky.(a3+((cnt+1)\WY)*WX)=float(0)
			}
			if ginfo_g<128{//色の度合いによって粒子の出る割合が異なる。見た目をわかりやすくするためにg=128を0として色が濃いほどたくさん粒子がでる仕様
				a4=cnt
				repeat (128-ginfo_g)*2*konagire係数整数
					if ステージ!=24{//ステージが普通の時のx座標のキメかた
						粒子発生壁x.粒子発生壁kz=float(4.0*a3+0.001*rnd(4000))
						粒子発生壁y.粒子発生壁kz=float(4.0*a4+0.001*rnd(4000))
					}else{//ステージが流しそうめんのときはちょっと特殊
						粒子発生壁x.粒子発生壁kz=float(4.0*a3)
						粒子発生壁y.粒子発生壁kz=float(4.0*a4+(0.01*(cnt\128)))
					}
					粒子発生壁kz++
				loop
			}
			if ginfo_b==0{
				poke kbp,a3+cnt*WX,3//3は壊れない壁という意味
			}
		loop:loop
	if konagire*2>=粒子発生壁kz:dialog "konagire多すぎてエラーでそう",1:HCLBye:end

	//粒子関連
	fdim ryuusihspgawa,UFO噴射konagire*2//UFOの粒子数は一定
	fdim ryuusihspgawa2,粒子発生壁kz*2//ステージごとに粒子発生位置や数が異なるので
	//次に粒子の発生位置を記録したデータをランダムに並び替える。これで毎フレーム発生位置がだいたい均等になる
	dim tmpdataa,粒子発生壁kz:repeat 粒子発生壁kz:tmpdataa.cnt=rnd(30000)*30000+rnd(30000):loop
	dim tmpindexx,粒子発生壁kz
	HCLVSortIdx 0,tmpdataa,tmpindexx//連番ランダム作成
	repeat 粒子発生壁kz
		w=tmpindexx.cnt
		ryuusihspgawa2.(cnt*2  )=粒子発生壁x.w
		ryuusihspgawa2.(cnt*2+1)=粒子発生壁y.w
	loop
	//HSP→VRAM
	if RysReadVram:HCLReleaseMemObject RysReadVram	:RysReadVram=0
	HCLCreateBuffer RysReadVram,粒子発生壁kz*2*4
	HCLWriteBuffer RysReadVram,ryuusihspgawa2,粒子発生壁kz*2*4
	//粒子湧出初期設定
	hktkais=0
	rktkais=0//読み込むデータ元も初期化しないと
	//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆//


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//いつか陽の目を見るかもしれない要素////////////////////////////////////////////////////////////////////////

	//画面全体に粒子を発生させたり、丸の形で粒子を発生させたり、いろんな応用が可能
	//粒子発生位置情報はVRAMに保存されstageRYS関数で使えるようになる
	//新しく増える変数や要素は
	//「RysReadVramEfx」vramのIDを記憶する配列変数
	//「RysReadVramEfx_kz」vramのサイズを記憶する配列変数。具体的には一度に発生させられる粒子の数
	//「BGMefxPosX」と「BGMefxPosY」、円エフェクトの場合、円の中心点を0〜512,0〜512で予め指定したい。その座標の変数
	//粒子発生壁kzは使ってはいけない。粒子発生壁kzdmyを使う
	//

	/*
	dim RysReadVramEfx,5
	dim RysReadVramEfx_kz,5
	//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆//
	//kabeWの設定その２。ステージ粒子の特殊な設定
	//まずは、全体に白い粒子が出るあのエフェクト用に、画面全体の座標を登録する処理
	buffer 1:picload "data\\stage\\"+ステージ+"\\kabew.png"
	粒子発生壁kzdmy=0:fdim 粒子発生壁x,512*512*4:fdim 粒子発生壁y,512*512*4
	repeat WX
		a3=cnt
		repeat WY/8
			a4=cnt+WY*7/8
			pget a3,a4
			if ginfo_r!=0{
				repeat 1+int(1.0*(WY-a4))
					粒子発生壁x.粒子発生壁kzdmy=float(4.0*a3+0.01*rnd(400))
					粒子発生壁y.粒子発生壁kzdmy=float(4.0*a4+0.01*rnd(400))
					粒子発生壁kzdmy++
				loop
			}
		loop
	loop

	//粒子関連
	fdim ryuusihspgawa2,粒子発生壁kzdmy*2//
	//次に粒子の発生位置を記録したデータをランダムに並び替える。これで毎フレーム発生位置がだいたい均等になる
	dim tmpdataa,粒子発生壁kzdmy:repeat 粒子発生壁kzdmy:tmpdataa.cnt=rnd(30000)*30000+rnd(30000):loop
	dim tmpindexx,粒子発生壁kzdmy
	HCLVSortIdx 0,tmpdataa,tmpindexx//連番ランダム作成
	repeat 粒子発生壁kzdmy
		w=tmpindexx.cnt
		ryuusihspgawa2.(cnt*2  )=粒子発生壁x.w
		ryuusihspgawa2.(cnt*2+1)=粒子発生壁y.w
	loop
	//HSP→VRAM
	if RysReadVramEfx.4:HCLReleaseMemObject RysReadVramEfx.4
	HCLCreateBuffer RysReadVramEfx.4,粒子発生壁kzdmy*2*4
	HCLWriteBuffer RysReadVramEfx.4,ryuusihspgawa2,粒子発生壁kzdmy*2*4
	RysReadVramEfx_kz.4=粒子発生壁kzdmy
	//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆//

	//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆//
	//kabeWの設定その３〜。ステージ粒子の特殊な設定
	//エフェクト円のついてVRAMセット
	repeat 4
		ccnt=cnt
		粒子発生壁kzdmy=0:fdim 粒子発生壁x,512*512:fdim 粒子発生壁y,512*512
		hankei=20+15*ccnt
		repeat hankei*2
			xcnt=cnt
			repeat hankei*2
				ycnt=cnt
				tmplen=sqrt( (xcnt-hankei)*(xcnt-hankei)+(cnt-hankei)*(cnt-hankei) )
				if tmplen<hankei{
					dryspoint=tmplen
					dryspoint=limitf(2.0-0.09*dryspoint,0.03*ccnt,1.0)
					if (1.0*rnd(1024))<(1024.0*dryspoint){
						粒子発生壁x.粒子発生壁kzdmy=float(BGMefxPosX.0+xcnt-hankei+0.0001*rnd(10000))
						粒子発生壁y.粒子発生壁kzdmy=float(BGMefxPosY.0+ycnt-hankei+0.0001*rnd(10000))
						粒子発生壁kzdmy++
					}
				}
			loop
		loop

		fdim ryuusihspgawa2,粒子発生壁kzdmy*2//
		repeat 粒子発生壁kzdmy
			ryuusihspgawa2.(cnt*2  )=粒子発生壁x.cnt
			ryuusihspgawa2.(cnt*2+1)=粒子発生壁y.cnt
		loop

		//HSP→VRAM
		if RysReadVramEfx.ccnt:HCLReleaseMemObject RysReadVramEfx.ccnt
		HCLCreateBuffer RysReadVramEfx.ccnt,粒子発生壁kzdmy*2*4
		HCLWriteBuffer RysReadVramEfx.ccnt,ryuusihspgawa2,粒子発生壁kzdmy*2*4
		RysReadVramEfx_kz.ccnt=粒子発生壁kzdmy
	loop
	//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆//
*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	//後片付絵k
	w=0
	fdim 粒子発生壁x,1
	fdim 粒子発生壁y,1
	fdim ryuusihspgawa2,1
	dim tmpdataa,1
	dim tmpindexx,1

	//適応
	HCLWriteBuffer YUN,kkx,4*WX*WY
	HCLWriteBuffer YVN,kky,4*WX*WY
	//適応
	HCLWriteBuffer kabeP,kbp,WX*WY
	HCLWriteBuffer kabeX,kbx,WX*WY
	HCLWriteBuffer kabeY,kby,WX*WY
//∧∧壁の設定ここまで∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧////////////////////////////////



	//音楽設定//大ステージ設定//背景ロード
	大ステージ更新flg=0
	dim 定数配列,8
	定数配列=0,1,7,12,16,21,24,25
	repeat 8
		if (ステージ==定数配列.cnt){
			大ステージ=cnt
			//音楽読み込み
			ds_load "data\\sound\\"+大ステージ+".mp3",0
			ds_vol 0,int(BGM音量倍率*29*2)
			ds_loop 0
			//音楽粒子
			exist "data\\sound\\drgb"+大ステージ+""
			drgbsz=strsize/4
			dim drgb,drgbsz
			bload "data\\sound\\drgb"+大ステージ+"",drgb,drgbsz*4
			大ステージ更新flg=1
			//背景ロード
			if bgscr_GLtx:HGLReleaseTexture bgscr_GLtx	:bgscr_GLtx=0//すでに使っていたら破棄
			HGLCreateTexture1_texload bgscr_GLtx,"data\\stage\\"+ステージ+"\\haikei.png"//読み込み専用テクスチャにロード
			break
		}
	loop

	if ステージ==26{//鬼の口から出るところ
		if bgscr_GLtx:HGLReleaseTexture bgscr_GLtx	:bgscr_GLtx=0//すでに使っていたら破棄
		HGLCreateTexture1_texload bgscr_GLtx,"data\\stage\\"+定数配列.4+"\\haikei.png"//読み込み専用テクスチャにロード
	}
	if ステージ==27{//つきから遠ざかる場面
		if bgscr_GLtx:HGLReleaseTexture bgscr_GLtx	:bgscr_GLtx=0//すでに使っていたら破棄
		HGLCreateTexture1_texload bgscr_GLtx,"data\\stage\\0\\haikei2.png"//読み込み専用テクスチャにロード
	}
	if ステージ==28{
			if bgscr_GLtx:HGLReleaseTexture bgscr_GLtx	:bgscr_GLtx=0//すでに使っていたら破棄
			HGLCreateTexture1_texload bgscr_GLtx,"data\\stage\\"+ステージ+"\\haikei.png"//読み込み専用テクスチャにロード
		//エンディングの粒子
		fdim ryuusihspgawa3,256*2
		edFlm=0
		edflg0=0
		edflg1=0
		rndih=rnd(191):rndis=rnd(256)
		buffer 148,1280,64
		buffer 149,1280,64
		gsel 0
	}
	/*
	if ステージ==1 :大ステージ=1:ds_load "data\\sound\\tyutor.mp3",0								:ds_vol 0,19:ds_loop 0	:exist "data\\sound\\drgb"+大ステージ+"":drgbsz=strsize/4:dim drgb,drgbsz:bload "data\\sound\\drgb"+大ステージ+"",drgb,drgbsz*4:大ステージ更新flg=1
	if ステージ==7 :大ステージ=2:ds_load "data\\sound\\akarinaki.mp3",0								:ds_vol 0,19:ds_loop 0	:exist "data\\sound\\drgb"+大ステージ+"":drgbsz=strsize/4:dim drgb,drgbsz:bload "data\\sound\\drgb"+大ステージ+"",drgb,drgbsz*4:大ステージ更新flg=1
	if ステージ==12:大ステージ=3:ds_load "data\\sound\\the_escapers_fly_into_the_sky.mp3",0			:ds_vol 0,19:ds_loop 0	:exist "data\\sound\\drgb"+大ステージ+"":drgbsz=strsize/4:dim drgb,drgbsz:bload "data\\sound\\drgb"+大ステージ+"",drgb,drgbsz*4:大ステージ更新flg=1
	if ステージ==16:大ステージ=4:ds_load "data\\sound\\oukasiro.mp3",0								:ds_vol 0,19:ds_loop 0	:exist "data\\sound\\drgb"+大ステージ+"":drgbsz=strsize/4:dim drgb,drgbsz:bload "data\\sound\\drgb"+大ステージ+"",drgb,drgbsz*4:大ステージ更新flg=1
	if ステージ==21:大ステージ=5:ds_load "data\\sound\\kowareta_jinrui.mp3",0						:ds_vol 0,19:ds_loop 0	:exist "data\\sound\\drgb"+大ステージ+"":drgbsz=strsize/4:dim drgb,drgbsz:bload "data\\sound\\drgb"+大ステージ+"",drgb,drgbsz*4:大ステージ更新flg=1
	if ステージ==24:大ステージ=6:ds_load "data\\sound\\rekuiemu.mp3",0								:ds_vol 0,19:ds_loop 0	:exist "data\\sound\\drgb"+大ステージ+"":drgbsz=strsize/4:dim drgb,drgbsz:bload "data\\sound\\drgb"+大ステージ+"",drgb,drgbsz*4:大ステージ更新flg=1
	if ステージ==25:大ステージ=7:ds_load "data\\sound\\zero_rkver.mp3",0							:ds_vol 0,19:ds_loop 0	:exist "data\\sound\\drgb"+大ステージ+"":drgbsz=strsize/4:dim drgb,drgbsz:bload "data\\sound\\drgb"+大ステージ+"",drgb,drgbsz*4:大ステージ更新flg=1
*/
	return





*流体リセット
	:HCLFillBuffer_4 YU ,0,ijm,0
	:HCLFillBuffer_4 YUN,0,ijm,0
	:HCLFillBuffer_4 GXU,0,ijm,0
	:HCLFillBuffer_4 GYU,0,ijm,0
	:HCLFillBuffer_4 YV ,0,ijm,0
	:HCLFillBuffer_4 YVN,0,ijm,0
	:HCLFillBuffer_4 GXV,0,ijm,0
	:HCLFillBuffer_4 GYV,0,ijm,0
	:HCLFillBuffer_4 GXd0,0,ijm,0
	:HCLFillBuffer_4 GYd0,0,ijm,0
	:HCLFillBuffer_4 Yd0 ,0,ijm,0
	:HCLFillBuffer_4 GXd1,0,ijm,0
	:HCLFillBuffer_4 GYd1,0,ijm,0
	:HCLFillBuffer_4 Yd1 ,0,ijm,0
	:HCLFillBuffer_4 YPN,0,ijm,0
	:HCLFillBuffer_4 YUT,0,ijm,0
	:HCLFillBuffer_4 YVT,0,ijm,0
	:HCLFillBuffer_4 YUV,0,ijm,0
	:HCLFillBuffer_4 YVU,0,ijm,0
	:HCLFillBuffer_4 DIV,0,ijm,0
	:HCLFillBuffer_1 kabeP,0,ijm,0
	:HCLFillBuffer_1 kabeX,0,ijm,0
	:HCLFillBuffer_1 kabeY,0,ijm,0
	HCLEnqueueAcquireGLObjects RYS
		HCLFillBuffer_4 RYS,0,粒子数*2,0
	HCLEnqueueReleaseGLObjects RYS
		HCLWaitTask

	HCLEnqueueAcquireGLObjects RYc
		HCLFillBuffer_4 RYc,0,粒子数,0
	HCLEnqueueReleaseGLObjects RYc
		HCLWaitTask
	return


#deffunc copyy int a_1,int b_1
	HCLCopyBuffer a_1,b_1,WX*WY*4,0,0,0
	return


#module mdm0
#deffunc StageRys int RYS,int RYc,int RysReadVram,int ryusiiro,int konagire,int hktkais,int rktkais,int mdm粒子数,int 粒子発生壁kz
	wnokori=mdm粒子数-hktkais
	rnokori=粒子発生壁kz-rktkais

	//もしどちらもオーバーフローしなさそうなら
	if (konagire<=wnokori)&(konagire<=rnokori){
		cpsz=konagire
		HCLCopyBuffer RYS,RysReadVram,cpsz*8,hktkais*8,rktkais*8,0
		HCLFillBuffer_4 RYc,hktkais,cpsz,ryusiiro//0+255*256+33*65536+155*16777216
	}

	//もし書き込みだけオーバーフローしそうなら
	if (konagire>wnokori)&(konagire<=rnokori){
		cpsz=wnokori
		wstrat=hktkais
		rstrat=rktkais
		if cpsz!=0{
			HCLCopyBuffer RYS,RysReadVram,cpsz*8,wstrat*8,rstrat*8,0
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
		}
		wstrat=0
		rstrat+=cpsz
		cpsz=konagire-cpsz
		if cpsz!=0{
			HCLCopyBuffer  RYS,RysReadVram,cpsz*8,wstrat*8,rstrat*8,0
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
		}
	}
	
	//もし読み込みだけオーバーフローしそうなら
	if (konagire<=wnokori)&(konagire>rnokori){
		cpsz=rnokori
		wstrat=hktkais
		rstrat=rktkais
		if cpsz!=0{
			HCLCopyBuffer  RYS,RysReadVram,cpsz*8,wstrat*8,rstrat*8,0
		}
		wstrat+=cpsz
		rstrat=0
		cpsz=konagire-cpsz
		if cpsz!=0{
			HCLCopyBuffer  RYS,RysReadVram,cpsz*8,wstrat*8,rstrat*8,0
		}
		//fillは1回でよい
		HCLFillBuffer_4 RYc,hktkais,konagire,ryusiiro
	}

	//もし両方がオーバーフローしそうなら
	if (konagire>wnokori)&(konagire>rnokori){
		//コピー第一段階
		konagire22=konagire
		if wnokori>rnokori:cpsz=rnokori:else:cpsz=wnokori
		konagire22-=cpsz
		wstrat=hktkais
		rstrat=rktkais
		if cpsz!=0{
			HCLCopyBuffer RYS,RysReadVram,cpsz*8,wstrat*8,rstrat*8,0
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
		}
		wstrat+=cpsz
		rstrat+=cpsz
		wstrat\=mdm粒子数
		rstrat\=粒子発生壁kz
		//コピー第二段階
		cpsz=abs(wnokori-rnokori)
		if cpsz!0{
			HCLCopyBuffer RYS,RysReadVram,cpsz*8,wstrat*8,rstrat*8,0
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
			wstrat+=cpsz
			rstrat+=cpsz
			wstrat\=mdm粒子数
			rstrat\=粒子発生壁kz
			konagire22-=cpsz
		}
		//コピー第三段階
		cpsz=konagire22
		if cpsz!=0{
			HCLCopyBuffer RYS,RysReadVram,cpsz*8,wstrat*8,rstrat*8,0
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
		}
	}
	return



#deffunc StageRys2 int RYS,int RYc,array ryuusihspgawa2,int ryusiiro,int konagire,int hktkais,int rktkais,int mdm粒子数,int 粒子発生壁kz
	wnokori=mdm粒子数-hktkais
	rnokori=粒子発生壁kz-rktkais

	//もしどちらもオーバーフローしなさそうなら
	if (konagire<=wnokori)&(konagire<=rnokori){
		cpsz=konagire
		HCLWriteBuffer  RYS,ryuusihspgawa2,cpsz*8,hktkais*8,rktkais*8
		HCLFillBuffer_4 RYc,hktkais,cpsz,ryusiiro//0+255*256+33*65536+155*16777216
	}

	//もし書き込みだけオーバーフローしそうなら
	if (konagire>wnokori)&(konagire<=rnokori){
		cpsz=wnokori
		wstrat=hktkais
		rstrat=rktkais
		if cpsz!=0{
			HCLWriteBuffer  RYS,ryuusihspgawa2,cpsz*8,wstrat*8,rstrat*8
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
		}
		wstrat=0
		rstrat+=cpsz
		cpsz=konagire-cpsz
		if cpsz!=0{
			HCLWriteBuffer  RYS,ryuusihspgawa2,cpsz*8,wstrat*8,rstrat*8
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
		}
	}
	
	//もし読み込みだけオーバーフローしそうなら
	if (konagire<=wnokori)&(konagire>rnokori){
		cpsz=rnokori
		wstrat=hktkais
		rstrat=rktkais
		if cpsz!=0{
			HCLWriteBuffer  RYS,ryuusihspgawa2,cpsz*8,wstrat*8,rstrat*8
		}
		wstrat+=cpsz
		rstrat=0
		cpsz=konagire-cpsz
		if cpsz!=0{
			HCLWriteBuffer  RYS,ryuusihspgawa2,cpsz*8,wstrat*8,rstrat*8
		}
		//fillは1回でよい
		HCLFillBuffer_4 RYc,hktkais,konagire,ryusiiro
	}

	//もし両方がオーバーフローしそうなら
	if (konagire>wnokori)&(konagire>rnokori){
		//コピー第一段階
		konagire22=konagire
		if wnokori>rnokori:cpsz=rnokori:else:cpsz=wnokori
		konagire22-=cpsz
		wstrat=hktkais
		rstrat=rktkais
		if cpsz!=0{
			HCLWriteBuffer  RYS,ryuusihspgawa2,cpsz*8,wstrat*8,rstrat*8
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
		}
		wstrat+=cpsz
		rstrat+=cpsz
		wstrat\=mdm粒子数
		rstrat\=粒子発生壁kz
		//コピー第二段階
		cpsz=abs(wnokori-rnokori)
		if cpsz!0{
			HCLWriteBuffer  RYS,ryuusihspgawa2,cpsz*8,wstrat*8,rstrat*8
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
			wstrat+=cpsz
			rstrat+=cpsz
			wstrat\=mdm粒子数
			rstrat\=粒子発生壁kz
			konagire22-=cpsz
		}
		//コピー第三段階
		cpsz=konagire22
		if cpsz!=0{
			HCLWriteBuffer  RYS,ryuusihspgawa2,cpsz*8,wstrat*8,rstrat*8
			HCLFillBuffer_4 RYc,wstrat,cpsz,ryusiiro
		}
	}
	return


#global

#module mdm1
//			文字列	,表示文字数,フォントサイズ
#deffunc HGLmes2 str p1,int p2,int p3,var p4,int p5
	sdim strdata,256
	sdim dmy    ,256

	posx_cur=ginfo(22)

	index=0
	p4=0
	dmy=p1
	
	irostart=0
	iroend=0
	irosyurui=0
	if p5!=0{//p5＝色情報+色文字の開始位置＋いろ文字の終了位置
		irostart=p5\256
		iroend=(p5/256)\256
		irosyurui=p5/65536
	}

	if p5==0{//黒文字だけなら
		repeat p2
			tmps=peek(dmy,index)
			if tmps==0:p4=1:break
			//改行なら
			if tmps==13:index++
			//2バイト文字ですよ
			if Is_Byte(tmps):index++
			index++
			if index>=256:p4=1:break
		loop
		if index>=strlen(p1):index=strlen(p1)
		strdata=strmid(dmy,0,index)
		tmp5_posx=ginfo(22)
		tmp5_posy=ginfo(23)

		pos tmp5_posx+1,tmp5_posy
		glColor4d 0.3,0.3,0.3,0.5
		HGLmes strdata,p3
		pos tmp5_posx,tmp5_posy+1
		glColor4d 0.3,0.3,0.3,0.25
		HGLmes strdata,p3
		pos tmp5_posx+1,tmp5_posy+1
		glColor4d 0.3,0.3,0.3,0.25
		HGLmes strdata,p3
		pos tmp5_posx+2,tmp5_posy+1
		glColor4d 0.0,0.0,0.0,0.11
		HGLmes strdata,p3

		glColor4d 0.0,0.0,0.0,1.0
		pos tmp5_posx,tmp5_posy
		HGLmes strdata,p3

	}else{//赤文字あるなら

		//まず描画、黒い文字だけ
		repeat limit(p2,0,irostart)
			tmps=peek(dmy,index)
			if tmps==0:p4=1:break
			//改行なら
			if tmps==13:index++
			//2バイト文字ですよ
			if Is_Byte(tmps):index++
			index++
			if index>=256:p4=1:break
		loop
		dmy=p1
		strdata=strmid(dmy,0,index)
		
		tmp5_posx=ginfo(22)
		tmp5_posy=ginfo(23)

		pos tmp5_posx+1,tmp5_posy
		glColor4d 0.3,0.3,0.3,0.5
		HGLmes strdata,p3
		pos tmp5_posx,tmp5_posy+1
		glColor4d 0.3,0.3,0.3,0.25
		HGLmes strdata,p3
		pos tmp5_posx+1,tmp5_posy+1
		glColor4d 0.3,0.3,0.3,0.25
		HGLmes strdata,p3
		pos tmp5_posx+2,tmp5_posy+1
		glColor4d 0.0,0.0,0.0,0.11
		HGLmes strdata,p3
		glColor4d 0.0,0.0,0.0,1.0
		pos tmp5_posx,tmp5_posy
		HGLmes strdata,p3


		if p2>irostart{
			//赤文字だけ描画
			mindex=index
			repeat limit(p2-irostart,0,iroend-irostart)
				tmps=peek(dmy,index)
				if tmps==0:p4=1:break
				//改行なら
				if tmps==13:index++
				//2バイト文字ですよ
				if Is_Byte(tmps):index++
				index++
				if index>=256:p4=1:break
			loop
			dmy=p1
			strdata=strmid(dmy,mindex,index-mindex)
			supesakz=limit((ginfo(22)-posx_cur)/11,0,99)
			sdim supesa,supesakz
			repeat supesakz
				supesa+=" "
			loop
			pos posx_cur

			tmp5_posx=ginfo(22)
			tmp5_posy=ginfo(23)
	
			pos tmp5_posx+1,tmp5_posy
			glColor4d 0.3,0.3,0.3,0.5
			HGLmes supesa+strdata,p3
			pos tmp5_posx,tmp5_posy+1
			glColor4d 0.3,0.3,0.3,0.25
			HGLmes supesa+strdata,p3
			pos tmp5_posx+1,tmp5_posy+1
			glColor4d 0.3,0.3,0.3,0.25
			HGLmes supesa+strdata,p3
			pos tmp5_posx+2,tmp5_posy+1
			glColor4d 0.0,0.0,0.0,0.11
			HGLmes supesa+strdata,p3
			if irosyurui==0:glColor4d 0.9,0.0,0.0,1.0//赤文字。ゲームの説明において重要な項目
			if irosyurui==1:glColor4d 0.0,0.0,0.9,1.0//青文字。俺が勝手に説明したい重要項目
			pos tmp5_posx,tmp5_posy
			HGLmes supesa+strdata,p3

			glColor4d 0.0,0.0,0.0,1.0
		}

		if p2>iroend{
			//残りの黒文字描画
			mindex=index
			repeat p2-iroend
				tmps=peek(dmy,index)
				if tmps==0:p4=1:break
				//改行なら
				if tmps==13:index++
				//2バイト文字ですよ
				if Is_Byte(tmps):index++
				index++
				if index>=256:p4=1:break
			loop
			if index>=strlen(p1):index=strlen(p1)
			dmy=p1
			strdata=strmid(dmy,mindex,index-mindex)

			supesakz=limit((ginfo(22)-posx_cur)/11,0,99)
			sdim supesa,supesakz
			repeat supesakz
				supesa+=" "
			loop
			pos posx_cur

			tmp5_posx=ginfo(22)
			tmp5_posy=ginfo(23)
	
			pos tmp5_posx+1,tmp5_posy
			glColor4d 0.3,0.3,0.3,0.5
			HGLmes supesa+strdata,p3
			pos tmp5_posx,tmp5_posy+1
			glColor4d 0.3,0.3,0.3,0.25
			HGLmes supesa+strdata,p3
			pos tmp5_posx+1,tmp5_posy+1
			glColor4d 0.3,0.3,0.3,0.25
			HGLmes supesa+strdata,p3
			pos tmp5_posx+2,tmp5_posy+1
			glColor4d 0.0,0.0,0.0,0.11
			HGLmes supesa+strdata,p3
			glColor4d 0.0,0.0,0.0,1.0
			pos tmp5_posx,tmp5_posy
			HGLmes supesa+strdata,p3

		}
	}
	return


#deffunc RiniaHokan array ar1,array ar2,int i1
	i2=i1
	i3=(i1/10)*10
	i4=(i1/10+1)*10
	if i4>=30:i4=0

	ar1.0.i2=0.1*  (  (ar1.0.i3)*(10-(i2-i3))  +  (ar1.0.i4)*(i2-i3)  )
	ar1.1.i2=0.1*  (  (ar1.1.i3)*(10-(i2-i3))  +  (ar1.1.i4)*(i2-i3)  )
	ar1.2.i2=0.1*  (  (ar1.2.i3)*(10-(i2-i3))  +  (ar1.2.i4)*(i2-i3)  )

	ar2.0.i2=0.1*  (  (ar2.0.i3)*(10-(i2-i3))  +  (ar2.0.i4)*(i2-i3)  )
	ar2.1.i2=0.1*  (  (ar2.1.i3)*(10-(i2-i3))  +  (ar2.1.i4)*(i2-i3)  )
	ar2.2.i2=0.1*  (  (ar2.2.i3)*(10-(i2-i3))  +  (ar2.2.i4)*(i2-i3)  )
	return

#global
#module mdm2
//自分で用意したフォント画像をうまく使いたい
//HGLgcopy2で高速化している
//p2に文字列、0〜9と:〜+-のみ
//fontsizeに拡大縮小後の大きさ
//元画像の大きさは512*512固定

//以下の命令は予め実行しておくべし
//	glBindTexture score_tex
//	glBegin GL_QUADS//OpenGLでは中心が0,0としたら1.0,1.0は右上

//全部の描画が終わったら、これで閉じるべし
//	glEnd
//  glBindTexture GL_TEXTURE_2D,0

#deffunc HGLmes3 str p2,int fontsize
//	glBindTexture score_tex
//	glBegin GL_QUADS//OpenGLでは中心が0,0としたら1.0,1.0は右上
	sdim k,256
	k=p2

	readLeftUpX=0
	readLeftUpY=0
	writeX=0
	writeY=0
	repeat strlen(k)
		copysize=fontsize
		tmp=peek(k,cnt)
		if (tmp>=48)&(tmp<=57):readLeftUpX=(tmp-48)*44:readLeftUpY=0:writeX=44:writeY=44:copysize=int(0.6*fontsize)
		if tmp==58 :readLeftUpX=0:readLeftUpY=44:writeX=44:writeY=44:copysize=int(0.73*fontsize)//:
		if tmp==126:readLeftUpX=66:readLeftUpY=44:writeX=44:writeY=44//〜
		if tmp==43 :readLeftUpX=240:readLeftUpY=44:writeX=44:writeY=44//+
		if tmp==45 :readLeftUpX=305:readLeftUpY=44:writeX=45:writeY=44//-
		if tmp==112:readLeftUpX=128:readLeftUpY=44:writeX=193-readLeftUpX:writeY=44//p
		if tmp==32:copysize=fontsize/4
		//半角スペースでなければ描画
		if tmp!=32:HGLgcopy2 readLeftUpX,readLeftUpY,writeX,writeY,fontsize,fontsize,512,512//512は固定のはず
		pos ginfo_cx+copysize,ginfo_cy
	loop
//	glEnd
//  glBindTexture GL_TEXTURE_2D,0
	return
#global


/*
///////////////////////////////////////フォント埋め込みモジュール///////////////////////////////////////////

#module "FontAddResource"
// fontを一時的に使えるようにするモジュール(注：インストールはしていません)
#deffunc FontAdd str FontFileName          // FontAdd "フォントファイル名"
     fn= FontFileName : pfn=varptr(fn)
     AddFontResourceA pfn
     return
    
#deffunc owari onexit
     RemoveFontResourceA pfn : return
#global
////////////////////////////////////////////////////////////////////////////////////////
*/



*sthsr
	HCLbye
	end


}
