制作していくに連れ、layerobjをオブジェクトとして見ることができなくなっていき、今ではスクリプト中の処理を任されるフラグ回収機となってしまった。
制作していくに連れ、layerobjをオブジェクトとして見ることができなくなっていき、今ではスクリプト中の処理を任されるフラグ回収機となってしまった。
//ゲーム内時間とステータス*laylayl = lparamswitch layl//レイヤー設置直後の処理case objlayer_cmdinitswbreak//int値を渡されたcase objlayer_cmdprmilayint = iparamswitch layint//メインループ>>ROM & SSD unit convertcase 0gosub *hlay_uswbreak//メインループ>>ゲーム内時間case 1gosub *hlay_gtswbreak//loadの処理case 2gosub *hlay_saveloadswbreakswendswbreak//文字列を渡されたcase objlayer_cmdprms//layerobjに渡す文字列laystr = refstr : split laystr, ",", laystr/*** Mainウィンドウログ表示内容 ***/if laystr(0) == "log" {notesel logmoni : noteadd "\n", 1, 0time = "" + gettime(1) + "/" + gettime(3) + " " + gettime(4) + ":" + gettime(5) + ":" + gettime(6)/*オートセーブ事後報告*/if laystr(1) == "asc" {noteadd time + " : AutoSave Successed! " + fname(saveID), 1, 0}/*ゲーム速度設定変更報告*/if laystr(1) == "auto_chk" {noteadd time + "\n" + logstr, 1, 0}/*ロードの事後報告*/if laystr(1) == "load" {noteadd time + " : Load Successed! " + fname(saveID), 1, 0}/*セーブの事後報告*/if laystr(1) == "save" {noteadd time + " : Save Successed! " + fname(saveID), 1, 0}/*日付変更線*/if laystr(1) == "dd" {noteadd "------------------------------------------------------------------------------------", 1, 0noteadd time + " : Game times " + gt(2, 0) + "/" + gt(3, 0) + " になりました.", 1, 0}/*あけおめ*/if laystr(1) == "yy" {noteadd time + " : Happy New Year!!", 1, 0}noteunselgsel ID_TAB_LOG : objprm id_logmoni, logmoni : gsel ID_WIN_MAIN}/***** 各ウィンドウからMainウィンドウに戻る際のメインループ自走設定 *****/if laystr(0) == "re" {switch laystr(1)case "amaz"if setting(8, 0) == 1 {sdim remain_codegsel ID_WIN_AMAZ, -1 : gsel ID_WIN_MAIN, 1 : setting(5, 0) = 1}sdim remain_codegsel ID_WIN_AMAZ, -1 : gsel ID_WIN_MAIN, 1swbreakcase "save"if setting(9, 0) == 1 {sdim remain_codegsel ID_WIN_SAVE, -1 : gsel ID_WIN_MAIN, 1 : setting(5, 0) = 1}sdim remain_codegsel ID_WIN_SAVE, -1 : gsel ID_WIN_MAIN, 1swbreakcase "set"if setting(10, 0) == 1 {sdim remain_codegsel ID_WIN_SETI, -1 : gsel ID_WIN_MAIN, 1 : setting(5, 0) = 1}sdim remain_codegsel ID_WIN_SETI, -1 : gsel ID_WIN_MAIN, 1swbreakswend}swbreak//redraw命令が実行されたとき(利用しない)case objlayer_cmddrawswbreakswendreturn//ゲーム内時間繰り上がり*hlay_gtsdim hmoni, 64 : sdim mesmoni, 128//時間if int(gt(5, 0)) == 59 {gt(5, 0) = "00"gt(4, 0) = strf("%02d", int(gt(4, 0)) + 1)}//日数if int(gt(4, 0)) == 24 {gt(4, 0) = "00"gt(3, 0) = strf("%2d", int(gt(3, 0)) + 1)setting(6, 0) = 1}//月if int(gt(3, 0)) > 31 {gt(3, 0) = " 1"gt(2, 0) = strf("%2d", int(gt(2, 0)) + 1)}//四半期switch int(gt(2, 0))case 4case 5case 6gt(1, 0) = "1st"swbreakcase 7case 8case 9gt(1, 0) = "2nd"swbreakcase 10case 11case 12gt(1, 0) = "3rd"swbreakcase 1case 2case 3gt(1, 0) = "4th"swbreakswend//年if int(gt(2, 0)) > 12 {gt(2, 0) = " 1"gt(0, 0) = strf("%3d", int(gt(0, 0)) + 1)setting(7, 0) = 1}/***** 時間代入処理 *****///ゲーム速度が早いときは分を表示させないif setting(3, 0) == 1 { nn = 5 : gt(4, 1) = ""} : else : nn = 6//代入repeat nnhmoni += "" + gt(cnt, 0) + gt(cnt, 1)loopsendmsg hStatic_h, $C, , hmoni //表示文字列更新 (WM_SETTEXT)/***** ゲーム内ログ表示フラグ *****///日付変更線if setting(6, 0) == 1 {gsel ID_WIN_MAIN : objprm layid0, "log,dd"setting(6, 0) = 0}//あけおめif setting(7, 0) == 1 {gsel ID_WIN_MAIN : objprm layid0, "log,yy"setting(7, 0) = 0}//======================================ステータスrepeat 5, 2st(cnt, 2) = strf("%.1f", st(cnt, 0))looprepeat 7mesmoni += st(cnt, 2) + "\n"loopsendmsg hStatic_m, $C, , mesmoni //表示文字列更新 (WM_SETTEXT)return//ROM,SSD単位変換*hlay_usdim mesmoni_u, 16/***ROM***/if int(st(2, 0)) > 1023 {st(2, 0) = "1"u(0) = str(int(u(0)) + 1)st(2, 1) = u(int(u(0)))}/***SSD***/if int(st(3, 0)) > 1023 {st(3, 0) = "1"u(1) = str(int(u(1)) + 1)st(3, 1) = u(int(u(1)))}mesmoni_u += " " + st(2, 1) + "\n" + " " + st(3, 1)sendmsg hStatic_u, $C, , mesmoni_u //表示文字列更新 (WM_SETTEXT)return//セーブデータのロード・各変数とオブジェクトの更新*hlay_saveload/*** Mainウィンドウ各変数読み込み ***/gsel ID_TAB_MOTI, 0 : objprm id_motimono, motimonogsel ID_TAB_LOG, 0 : objprm id_logmoni, logmoni/*** Settingウィンドウ各項目読み込み ***/gsel ID_WIN_SETI, -1objprm id_savebut, setting(0, 0)objprm id_chkosoi, setting(1, 0)objprm id_chkfutu, setting(2, 0)objprm id_chkhaya, setting(3, 0)objprm id_chkreamaz, setting(8, 0)objprm id_chkresave, setting(9, 0)objprm id_chkresett, setting(10, 0)/*** Amazoonリストビュー読み込み ***/gsel ID_WIN_AMAZ, -1/*** CPU ***/gsel ID_OMTAB_CPU : mydelitem id_LVCPUmyinitem id_LVCPU, bfcpu, rec_cnum, col_num/*** GPU ***/gsel ID_OMTAB_GPU : mydelitem id_LVGPUmyinitem id_LVGPU, bfgpu, rec_gnum, col_num/*** ROM ***/gsel ID_OMTAB_ROM : mydelitem id_LVROMmyinitem id_LVROM, bfrom, rec_rnum, col_numgsel ID_OMTAB_CPU, 1/*** 各ウィンドウの非表示切り替え ***/gsel ID_WIN_SAVE, -1gsel ID_WIN_INFO, -1gsel ID_WIN_MAINobjprm layid0, 1objprm layid0, 0objprm layid0, "log,load"return