mkexe.hsp

sample\misc\mkexe.hsp » Plain Format

#packopt name "mkexe"
#include "hspcmp.as"

	;	HSPスクリプトを実行ファイル(.exe)に変換します
	;	#packopt iconなどiconinsによる書き換えには対応していません
	;	(hspcmp.dllが必要です)
	;

	title "mkexe v1.0"
	screen 0,480,240
	sdim fname,1024
	sdim srcdir,1024
	sdim srcname,1024
	sdim mesbuf,$10000

	utf8_input=0			; script written in UTF-8 (1=on)
	utf8_output=0			; output UTF-8 object file (1=on)

	syscolor 15:boxf
	color 0,0,0
	mes "HSPスクリプトを実行ファイル(.exe)に変換します"

	pos 0,30
	sysfont 17
	mes "ソーススクリプト:"
	objsize 400,24
	input fname
	chkbox "UTF8形式のソーススクリプト",utf8_input
	chkbox "文字列をUTF8形式で出力する",utf8_output

	objsize 260,30
	button "開始",*mkstart
	button "終了",*owari

	objsize 64,24
	pos 408,41:button "参照...",*seldir

	stop

*owari
	end

*seldir
	fname = ""
	dialog "hsp",16,"HSP Script"
	if stat!0 : fname = refstr
	objprm 0,fname
	stop

*mkstart
	if fname="" : stop

	srcdir=getpath(fname,32+16)
	srcname=getpath(fname,1+8+16)

	chdir srcdir

	cls 1
	mes "Compiling..."+fname

	objname="start.ax"		; output object file
	cmpmode=0
	ppmode=4

	if utf8_input : ppmode|=32
	if utf8_output : cmpmode|=4

	hsc_ini srcname+".hsp"	; HSP3コンパイラを初期化する
	hsc_objname objname		; 出力するオブジェクトファイル名を指定する
	hsc_comp cmpmode,ppmode,0	; リリースモードでコンパイルを行う
	res=stat:if res!=0 : dialog "ERROR" : goto *goerror

	mes "Make .exe file..."
	hsc3_make dir_exe+"\\"+srcname+".dpm",1	; 実行ファイル自動作成を行う

	mes "Done."
	title "Complete."

*goerror
	hsc_getmes mesbuf		; コンパイラのメッセージを取得する

	objmode 1
	flg=1				; 1=editable
	mesbox mesbuf,636,246,flg+4

	stop