From e73155964ddc860272d8ac03499b3f4c3a727054 Mon Sep 17 00:00:00 2001 From: skymonsters-Ks Date: Sat, 1 Sep 2018 23:53:57 +0900 Subject: [PATCH] =?UTF-8?q?/i=20=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UTF-8スクリプト対応 --- README.md | 5 +++-- make.hsp | 2 +- src/main.hsp | 37 +++++++++++++++++++++++++++++++------ 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ceac0d1..cb60239 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ [HSP](http://hsp.tv/)スクリプトをコンパイル・実行するためのツールです。 標準のHSPスクリプトエディタのコンパイル機能に加え、以下の機能があります。 -- 文字列データを UTF-8 に変換したコンパイル - start.ax 作成時にファイルのサイズ表示(差分あり) - 拡張定義によるコンパイル対象変更 @@ -56,7 +55,9 @@ - **`/r`** : コンパイルの結果レポートを表示します。実行はされません。 -- **`/u`** : 文字列データを UTF-8 に変換してコンパイルします。 +- **`/i`** : UTF-8 で記述されたスクリプトをコンパイルします。 + +- **`/u`** : 文字列データを Shift_JIS から UTF-8 に変換してコンパイルします。 - **`/me`** : 実行ファイルを作成します。 diff --git a/make.hsp b/make.hsp index 3462caf..d7cb804 100644 --- a/make.hsp +++ b/make.hsp @@ -3,7 +3,7 @@ ; #define global CONSOLE #define global CAPTION "Cmptage" -#define global VERSION "v.0.6.1.0" +#define global VERSION "v.0.7.0.0" #define global AUTHOR "K-s (@skymonsters_Ks)" #ifdef CONSOLE diff --git a/src/main.hsp b/src/main.hsp index dd6ff1e..784eb2a 100644 --- a/src/main.hsp +++ b/src/main.hsp @@ -7,13 +7,26 @@ #include "kernel32.as" #include "user32.as" +#define ctype ERR_DIALOG(%1) dispDialog %1, 1 +#define ctype INFO_DIALOG(%1) dispDialog %1 + +#module + +#deffunc dispDialog str msg, int type + + if (type) { + s = "Error - " + } else { + s = "Info - " + } #ifdef CONSOLE -#define ctype ERR_DIALOG(%1) mes CAPTION + " Error - " + %1 -#define ctype INFO_DIALOG(%1) mes CAPTION + " Info - " + %1 + mes CAPTION + " " + s + msg #else -#define ctype ERR_DIALOG(%1) dialog %1, 1, "Error - " + CAPTION -#define ctype INFO_DIALOG(%1) dialog %1, , "Info - " + CAPTION + dialog msg, type, s + CAPTION #endif + return + +#global #define DEFAULT_RUNTIME "hsp3.exe" #define SOURCE_CONVERTER "hsp3cnv.exe" @@ -207,7 +220,8 @@ report_disp = 0 ; ʃ|[g\tO cmdline_use = 0 ; R}hCEBhEgptO exmacro_use = 1 ; HSPg}NgptO - cnvutf8_use = 0 ; UTF-8RpCtO + inputf8_use = 0 ; UTF-8̓tO + cnvutf8_use = 0 ; UTF-8ϊtO make_file_id = 0 ; t@CtOiMAKE_xxxj exdefine_use = 0 ; g`gptO hwnd_tpEdit = 0 ; hsptmpgptOiTeraPadGfBbgRg[̃nhj @@ -254,7 +268,18 @@ } } continue + case "i" + if (cnvutf8_use) { + ERR_DIALOG("IvV /i /u ͕pł܂") + end + } + inputf8_use = 1 + continue case "u" + if (inputf8_use) { + ERR_DIALOG("IvV /u /i ͕pł܂") + end + } cnvutf8_use = 1 continue case "ma" @@ -480,7 +505,7 @@ hsc_ini scrName hsc_refname scrName_err hsc_objname scrDir + objName - hsc_comp debug_info | (cnvutf8_use << 2), (exmacro_use ^ 1) | ((make_file_id == MAKE_EXE) << 2), debug_disp + hsc_comp debug_info | (cnvutf8_use << 2), (exmacro_use ^ 1) | ((make_file_id == MAKE_EXE) << 2) | (inputf8_use << 5), debug_disp if (stat != 0) { goto *dispReport }