HSP3で作成しています
以下のスクリプトをコピーして試してみてください
保存したあと読み込みをしてもどうしても一部だけ反映されません
ちなみにある種のヘッダファイルを作ろうと思っています
よろしくお願いします。
screen 0,500,800,,0,0
//マップチップサイズなど確保 - 24byte
dim HEAD_DATE,6
HEAD_DATE.0=30:HEAD_DATE.1=30
HEAD_DATE.2=16:HEAD_DATE.3=16
HEAD_DATE.4=30:HEAD_DATE.5=16
//マップメインデータ確保 - 30*30*4byte
dim map,HEAD_DATE.0,HEAD_DATE.1
//マップチップの名前確保 - 32byte
sdim imagename,32
dirlist imagename,"chipset10.bmp"
//名前確認
mes imagename
//全てのデータサイズ
datesize=24+32+(HEAD_DATE.0*HEAD_DATE.1*4)+100
//メインデータに適当に値を代入
repeat HEAD_DATE.0
j=cnt
repeat HEAD_DATE.1
i=cnt
map.j.i=rnd(460)
loop
loop
//①確認用
pos 150,0
mes map.0.0
mes map.2.0
mes map.28.0
mes map.29.0
mes map.29.29 //341
mes map.20.1
mes map.29.15
mes map.6.8
mes map.20.20
mes map.20.29
mes map.28.28
mes map.28.29
mes map.29.28
//セーブ、ロードボタン作成
pos 20,50
button goto"save",*save
button goto"load",*load
stop
*save
//MAP_Dateにヘッダ情報をまとめます
sdim MAP_Date,datesize
memcpy MAP_Date,HEAD_DATE,24
memcpy MAP_Date,imagename,32,24
memcpy MAP_Date,map,HEAD_DATE.0*HEAD_DATE.1*4,56
dialog "map",17,"マップデータ"
if(stat==0){stop}
bsave refstr,MAP_Date,datesize
stop
*load
//MAP_Date2に読み込んだデータを入れます
sdim MAP_Date2,10000
dialog "map",16,"マップデータ"
if stat=0:stop
exist refstr
if(strsize==-1):end
bload refstr,MAP_Date2,strsize
//マップチップサイズなどを読み込み
dim HEAD_DATE2,12
i_index=0:j_index=0
repeat 6
k=cnt
temp=wpeek(MAP_Date2,i_index)
wpoke HEAD_DATE2.k,j_index,temp
i_index=i_index+4:j_index=j_index+4
loop
mes HEAD_DATE2.0
mes HEAD_DATE2.1
mes HEAD_DATE2.2
mes HEAD_DATE2.3
mes HEAD_DATE2.4
mes HEAD_DATE2.5
mes HEAD_DATE2.6
mes HEAD_DATE2.7
mes HEAD_DATE2.8
mes HEAD_DATE2.9
mes HEAD_DATE2.10
mes HEAD_DATE2.11
//マップチップの名前読み込み
sdim imagename2,32
n_index=0 //i_index=24 - 現在のオフセット
repeat 16
i=cnt
string=wpeek(MAP_DATE2,i_index)
wpoke imagename2,n_index,string
n_index=n_index+2:i_index=i_index+2
loop
mes "imagename:"+imagename2
//マップメインデータ読み込み
dim map2,HEAD_DATE2.0,HEAD_DATE2.2
i_index=56:j_index=0
repeat 440
map_c_d=wpeek(MAP_Date2,i_index)
wpoke map2,j_index,map_c_d
i_index=i_index+8:j_index=j_index+8
yoko++
loop
//ここの数値と①の数値を同じにしたい
pos 200,0
mes map2.0.0
mes map2.2.0
mes map2.28.0
mes map2.29.0
mes map2.29.29
mes map2.20.1
mes map2.29.15
mes map2.6.8
mes map2.20.20
mes map2.20.29
mes map2.28.28
mes map2.28.29
mes map2.29.28
stop