diff --git a/README.md b/README.md index a80ce90..c0e63f1 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,13 @@ WWA作成ツールのWWA Wingカスタマイズ版です。 まだ本家から 本家のソースは [キャラバンサークルのページ](http://www.wwajp.com/making.html) からダウンロードできます。 +## 本プロジェクトの進行について +現在、WWAゲームの作成ツールはこのほかにも [WWA Maker](https://github.com/WWAWing/WWAMaker) でフルリメイクを進めています。 + +WWA Maker の完成には、 [WWA Wing](https://github.com/WWAWing/WWAWing) との調整が必要になり時間がかかる見通しです。 + +このプロジェクトは WWA Maker の完成までの繋ぎとして、 WWA マップ作成ツールよりも便利な作成ツールを目指して開発や改良を進めています。 + ## 始め方 このプロジェクトは、 Visual Studio 2019 に対応しています。 @@ -23,6 +30,10 @@ WWA作成ツールのWWA Wingカスタマイズ版です。 まだ本家から Visual Studio を起動し、 ソリューションファイル `WinWwamk.sln` を開くと、当ツールの開発画面が表示されます。 あとは、 `WinWwamk.cpp` を開いて、上部の三角ボタンから実行することができます。 +### 一部ファイルのコミットについて +GitHub ではリソースファイルなどのコミットで文字化けが発生していますが、本作成ツールの動作に影響はありません。 +(元々本作成ツールはだいぶ前に開発されたもののため、文字コードが一致しない箇所が多いです) + ## 配布ファイルの内容について WWAマップ作成ツールのソースコードにある説明を抜粋しています。 diff --git a/Script2.rc b/Script2.rc index bb43e61..e61b4fd 100644 --- a/Script2.rc +++ b/Script2.rc @@ -129,24 +129,22 @@ END // Dialog // -IDD_DIALOG_EDITMAP DIALOGEX 0, 0, 238, 156 +IDD_DIALOG_EDITMAP DIALOGEX 0, 0, 239, 156 STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_VSCROLL | WS_SYSMENU EXSTYLE WS_EX_TOOLWINDOW CAPTION "wip[cI" FONT 9, "lr oSVbN", 0, 0, 0x0 BEGIN - PUSHBUTTON "Ip[cҏW",IDC_BUTTON_EDITMAP,110,138,53,14 - PUSHBUTTON "Ip[c",IDC_BUTTON_MAP_ERASE,170,138,53,14 - EDITTEXT IDC_EDIT_PARTS_NUMBER,42,140,18,12,ES_AUTOHSCROLL | ES_READONLY | ES_NUMBER | NOT WS_BORDER - LTEXT "p[cԍ",IDC_STATIC_PARTS_NUMBER,6,140,34,8,SS_CENTERIMAGE - LTEXT "",IDC_STATIC_CURRENT_POSITION,66,140,15,8 - EDITTEXT IDC_EDIT_CURRENT_POSITION,84,140,18,14,ES_AUTOHSCROLL | ES_READONLY | ES_NUMBER | NOT WS_BORDER + PUSHBUTTON "Ip[cҏW",IDC_BUTTON_EDITMAP,114,138,53,14 + PUSHBUTTON "Ip[c",IDC_BUTTON_MAP_ERASE,174,138,53,14 + LTEXT "p[cԍ",IDC_STATIC_PARTS_NUMBER,6,141,54,8,SS_CENTERIMAGE + LTEXT "",IDC_STATIC_CURRENT_POSITION,66,141,42,8 END -IDD_DIALOG_MONSTER DIALOG 0, 0, 147, 219 +IDD_DIALOG_MONSTER DIALOGEX 0, 0, 147, 219 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "X^[̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "",IDC_STATIC,5,36,25,8 @@ -167,12 +165,13 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,121,143,77,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,201,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,201,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,75,8 END -IDD_DIALOG_MESSAGE DIALOG 0, 0, 147, 227 +IDD_DIALOG_MESSAGE DIALOGEX 0, 0, 147, 227 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "bZ[WLN^̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "TEhԍ",IDC_STATIC,5,36,48,8 @@ -185,6 +184,7 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,89,143,116,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,209,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,209,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,75,8 END IDD_DIALOG_CALCULATE DIALOG 0, 0, 189, 107 @@ -223,10 +223,10 @@ FONT 9, " BEGIN END -IDD_DIALOG_STATUS DIALOG 0, 0, 147, 219 +IDD_DIALOG_STATUS DIALOGEX 0, 0, 147, 219 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Xe[^XωACe̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "",IDC_STATIC,5,36,25,8 @@ -245,12 +245,13 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,105,145,92,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,201,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,201,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,75,8 END -IDD_DIALOG_ITEM DIALOG 0, 0, 147, 219 +IDD_DIALOG_ITEM DIALOGEX 0, 0, 147, 219 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "ACe̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "U",IDC_STATIC,5,36,25,8 @@ -269,12 +270,13 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,121,143,77,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,201,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,201,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,66,8 END -IDD_DIALOG_DOOR DIALOG 0, 0, 147, 219 +IDD_DIALOG_DOOR DIALOGEX 0, 0, 147, 219 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "̎",IDC_STATIC,5,36,35,8 @@ -291,12 +293,13 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,121,143,77,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,201,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,201,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,66,8 END -IDD_DIALOG_SCORE DIALOG 0, 0, 147, 173 +IDD_DIALOG_SCORE DIALOGEX 0, 0, 147, 173 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "XRA\LN^̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "́~",-1,5,36,33,8 @@ -313,26 +316,25 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,91,143,61,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,156,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,156,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,66,8 END -IDD_DIALOG_EDITOBJECT DIALOGEX 0, 0, 238, 156 +IDD_DIALOG_EDITOBJECT DIALOGEX 0, 0, 239, 156 STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_VSCROLL | WS_SYSMENU EXSTYLE WS_EX_TOOLWINDOW CAPTION "̃p[cI" FONT 9, "lr oSVbN", 0, 0, 0x0 BEGIN - PUSHBUTTON "Ip[cҏW",IDC_BUTTON_EDITMAP,110,138,53,14 - PUSHBUTTON "Ip[c",IDC_BUTTON_MAP_ERASE,170,138,53,14 - EDITTEXT IDC_EDIT_PARTS_NUMBER,42,140,18,12,ES_AUTOHSCROLL | ES_READONLY | ES_NUMBER | NOT WS_BORDER - LTEXT "p[cԍ",IDC_STATIC_PARTS_NUMBER,6,140,34,8,SS_CENTERIMAGE - LTEXT "",IDC_STATIC_CURRENT_POSITION,66,140,15,8 - EDITTEXT IDC_EDIT_CURRENT_POSITION,84,140,18,14,ES_AUTOHSCROLL | ES_READONLY | ES_NUMBER | NOT WS_BORDER + PUSHBUTTON "Ip[cҏW",IDC_BUTTON_EDITMAP,114,138,53,14 + PUSHBUTTON "Ip[c",IDC_BUTTON_MAP_ERASE,174,138,53,14 + LTEXT "p[cԍ",IDC_STATIC_PARTS_NUMBER,6,141,54,8,SS_CENTERIMAGE + LTEXT "",IDC_STATIC_CURRENT_POSITION,66,141,42,8 END -IDD_DIALOG_URLOBJ DIALOG 0, 0, 212, 99 +IDD_DIALOG_URLOBJ DIALOGEX 0, 0, 212, 99 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "tqkQ[g̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "N̂tqkAhX",-1,62,36,99,8 @@ -341,12 +343,13 @@ BEGIN EDITTEXT IDC_EDIT_TARGET,51,63,61,14,ES_AUTOHSCROLL DEFPUSHBUTTON "",IDOK,70,81,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,110,81,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,75,8 END -IDD_DIALOG_SELL DIALOG 0, 0, 147, 228 +IDD_DIALOG_SELL DIALOGEX 0, 0, 147, 228 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "𔄂LN^̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "̔z",IDC_STATIC,5,36,34,8 @@ -367,12 +370,13 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,136,143,69,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,210,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,210,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,75,8 END -IDD_DIALOG_BUY DIALOG 0, 0, 147, 222 +IDD_DIALOG_BUY DIALOGEX 0, 0, 147, 222 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "𔃂LN^̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "z",IDC_STATIC,5,36,50,8 @@ -387,12 +391,13 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,106,143,93,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,204,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,204,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,73,8 END -IDD_DIALOG_NORMAL DIALOG 0, 0, 138, 85 +IDD_DIALOG_NORMAL DIALOGEX 0, 0, 138, 85 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "ʏ함̂̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "ʍs敪",IDC_STATIC,5,36,36,8 @@ -401,6 +406,7 @@ BEGIN COMBOBOX IDC_COMBO_MOVE,42,48,73,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP DEFPUSHBUTTON "",IDOK,35,66,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,66,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,66,8 END IDD_DIALOG_EXTRA DIALOG 0, 0, 115, 132 @@ -465,13 +471,13 @@ FONT 9, " BEGIN DEFPUSHBUTTON "",IDOK,30,210,50,14 PUSHBUTTON "",IDCANCEL,81,210,50,14 - LTEXT "[h",IDC_STATIC,31,4,32,8 + LTEXT "[h",IDC_STATIC,31,7,32,8 EDITTEXT IDC_EDIT_WORLDNAME,66,4,75,14 LTEXT "GIF摜t@C",IDC_STATIC,8,24,55,8 EDITTEXT IDC_COMBO_GIF,66,21,75,14 - LTEXT "BMP摜t@C",IDC_STATIC_BMP,5,56,58,8 + LTEXT "BMP摜t@C",IDC_STATIC_BMP,5,58,58,8 EDITTEXT IDC_COMBO_BMP,66,55,75,14 - LTEXT "ÏؔԍiIDԍj",IDC_STATIC,9,40,55,8 + LTEXT "ÏؔԍiIDԍj",IDC_STATIC,9,41,55,8 EDITTEXT IDC_EDIT_PASSWORD,66,38,40,14,ES_AUTOHSCROLL LTEXT "vC[XW",IDC_STATIC,7,91,64,8 LTEXT "vC[YW",IDC_STATIC,7,107,64,8 @@ -503,10 +509,10 @@ BEGIN PUSHBUTTON "wip[cg",IDC_BUTTON_MAP_PARTS,112,189,57,14 END -IDD_DIALOG_STREET DIALOG 0, 0, 147, 213 +IDD_DIALOG_STREET DIALOGEX 0, 0, 147, 213 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_MAP,64,2,73,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "҂",IDC_STATIC,7,36,33,8 @@ -519,12 +525,13 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,91,143,101,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,196,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,196,40,14 + LTEXT "wiԍ:",IDC_STATIC_NUMBER,65,20,66,8 END -IDD_DIALOG_LOCALGATE DIALOG 0, 0, 138, 99 +IDD_DIALOG_LOCALGATE DIALOGEX 0, 0, 138, 99 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "WvQ[g̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_MAP,64,2,73,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "ެߐ XW",-1,5,36,58,8 @@ -535,12 +542,13 @@ BEGIN EDITTEXT IDC_EDIT_SOUND,57,63,24,12,ES_AUTOHSCROLL DEFPUSHBUTTON "",IDOK,35,82,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,82,40,14 + LTEXT "wiԍ:",IDC_STATIC_NUMBER,65,20,66,8 END -IDD_DIALOG_URLMAP DIALOG 0, 0, 212, 99 +IDD_DIALOG_URLMAP DIALOGEX 0, 0, 212, 99 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "tqkQ[g̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_MAP,64,2,73,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "N̂tqkAhX",-1,62,36,99,8 @@ -549,18 +557,20 @@ BEGIN EDITTEXT IDC_EDIT_TARGET,51,63,61,14,ES_AUTOHSCROLL DEFPUSHBUTTON "",IDOK,70,81,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,110,81,40,14 + LTEXT "wiԍ:",IDC_STATIC_NUMBER,65,20,66,8 END -IDD_DIALOG_WALL DIALOG 0, 0, 147, 169 +IDD_DIALOG_WALL DIALOGEX 0, 0, 147, 169 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "ǂ̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_MAP,64,2,73,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_EDIT_MESSAGE,2,46,143,101,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL LTEXT "\bZ[W",IDC_STATIC,40,36,60,8 DEFPUSHBUTTON "",IDOK,35,151,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,151,40,14 + LTEXT "wiԍ:",IDC_STATIC_NUMBER,65,20,66,8 END IDD_DIALOG_PASSWORD DIALOG 0, 0, 90, 69 @@ -575,10 +585,10 @@ BEGIN LTEXT "Ïؔԍ",IDC_STATIC,8,35,28,8 END -IDD_DIALOG_RANDOM DIALOG 0, 0, 138, 99 +IDD_DIALOG_RANDOM DIALOGEX 0, 0, 138, 99 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "_p[c̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "Ip[c̔̕ԍ",IDC_STATIC,5,36,117,8 @@ -594,6 +604,7 @@ BEGIN EDITTEXT IDC_EDIT_RANDOM10,103,63,20,12,ES_AUTOHSCROLL DEFPUSHBUTTON "",IDOK,30,81,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,70,82,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,66,8 END IDD_DIALOG_ITEMCHECK DIALOG 0, 0, 138, 159 @@ -669,10 +680,10 @@ BEGIN LTEXT "",IDC_STATIC,7,135,15,8 END -IDD_DIALOG_OBJSELECT DIALOG 0, 0, 147, 200 +IDD_DIALOG_OBJSELECT DIALOGEX 0, 0, 147, 200 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "ґp[c̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "TEhԍ",IDC_STATIC,5,36,48,8 @@ -683,20 +694,25 @@ BEGIN EDITTEXT IDC_EDIT_MESSAGE,2,76,143,101,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL DEFPUSHBUTTON "",IDOK,35,181,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,75,181,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,65,20,66,8 END -IDD_DIALOG_QVIEW DIALOG 0, 0, 267, 37 +IDD_DIALOG_QVIEW DIALOGEX 0, 0, 263, 36 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_TOOLWINDOW CAPTION "NCbNr[EBhE" -FONT 8, "lr SVbN" +FONT 9, "lr SVbN", 400, 0, 0x80 BEGIN - EDITTEXT IDC_EDIT_QVIEW,135,0,132,36,ES_MULTILINE | ES_READONLY | ES_WANTRETURN + EDITTEXT IDC_EDIT_QVIEW,126,0,138,36,ES_MULTILINE | ES_READONLY | ES_WANTRETURN + CONTROL "",IDC_PICTURE_QVIEW,"Static",SS_OWNERDRAW,6,6,24,24 + LTEXT "X^eBbN",IDC_STATIC_QVIEW_NUMBER,36,6,90,8 + LTEXT "X^eBbN",IDC_STATIC_QVIEW_TYPE,36,18,90,8 END -IDD_DIALOG_LOCALGATE_OBJ DIALOG 0, 0, 138, 99 +IDD_DIALOG_LOCALGATE_OBJ DIALOGEX 0, 0, 138, 99 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "WvQ[g̕ҏW" -FONT 9, "lr SVbN" +FONT 9, "lr SVbN", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO_OBJECT,64,2,73,135,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "ެߐ XW",-1,5,36,58,8 @@ -707,6 +723,7 @@ BEGIN EDITTEXT IDC_EDIT_SOUND,57,63,24,12,ES_AUTOHSCROLL DEFPUSHBUTTON "",IDOK,30,82,40,14 PUSHBUTTON "",ID_BUTTON_CANCEL,70,82,40,14 + LTEXT "̔ԍ:",IDC_STATIC_NUMBER,66,19,65,8 END IDD_DIALOG_BASICMES DIALOG 0, 0, 211, 280 @@ -737,6 +754,14 @@ BEGIN GROUPBOX "",IDC_STATIC,8,210,196,44 END +IDD_DIALOG_MINIMAP DIALOGEX 0, 0, 284, 139 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_VSCROLL | WS_HSCROLL | WS_SYSMENU +EXSTYLE WS_EX_TOOLWINDOW +CAPTION "~j}bv" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN +END + ///////////////////////////////////////////////////////////////////////////// // @@ -750,7 +775,7 @@ BEGIN BEGIN LEFTMARGIN, 7 TOPMARGIN, 7 - BOTTOMMARGIN, 86 + BOTTOMMARGIN, 56 END IDD_DIALOG_MONSTER, DIALOG @@ -821,7 +846,7 @@ BEGIN BEGIN LEFTMARGIN, 7 TOPMARGIN, 7 - BOTTOMMARGIN, 152 + BOTTOMMARGIN, 122 END IDD_DIALOG_URLOBJ, DIALOG @@ -946,7 +971,7 @@ BEGIN IDD_DIALOG_QVIEW, DIALOG BEGIN - RIGHTMARGIN, 264 + RIGHTMARGIN, 260 END IDD_DIALOG_LOCALGATE_OBJ, DIALOG @@ -964,6 +989,14 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 273 END + + IDD_DIALOG_MINIMAP, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 264 + TOPMARGIN, 7 + BOTTOMMARGIN, 122 + END END #endif // APSTUDIO_INVOKED @@ -993,7 +1026,97 @@ BEGIN 0 END -IDD_DIALOG_FOUNDATION AFX_DIALOG_LAYOUT +IDD_DIALOG_MINIMAP AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_MESSAGE AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_QVIEW AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_MONSTER AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_OBJSELECT AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_DOOR AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_ITEM AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_LOCALGATE AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_LOCALGATE_OBJ AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_RANDOM AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_STATUS AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_SELL AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_BUY AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_URLOBJ AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_STREET AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_URLMAP AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_NORMAL AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_SCORE AFX_DIALOG_LAYOUT +BEGIN + 0 +END + +IDD_DIALOG_WALL AFX_DIALOG_LAYOUT BEGIN 0 END diff --git a/WinWwamk.cpp b/WinWwamk.cpp index f41b659..0b86156 100644 --- a/WinWwamk.cpp +++ b/WinWwamk.cpp @@ -87,11 +87,17 @@ #define PARTS_NUMBER_MAX 4000 #define FILE_DATA_MAX (4000 +1000 +1000) *1024 //i}bv{p[c{bZ[Ẅj #define MESSAGE_NUMBER_MAX 5000 +#define MESSAGE_FIRST_CHARA 10 #define MESSAGE_STR_MAX 1500+10 #define MAP_ATR_MAX 60 #define OBJECT_ATR_MAX 60 +// obt@̍ő咷 +#define BUFFER_STR_MAX 100 +#define FILE_PATH_STR_MAX 250 +#define NUMBER_STR_MAX 30 + // 1ʂ1ӂ̃`bvTCY #define SCREEN_CHIP_SIZE 11 // 1`bṽTCY (sNZP) @@ -116,11 +122,11 @@ int charaX, charaY; //bZ[Wpobt@ char g_StrMessage[MESSAGE_NUMBER_MAX][MESSAGE_STR_MAX]; char g_StrMessageSystem[20][MESSAGE_STR_MAX]; -char g_worldName[100]; -char g_worldPassword[100]; -char g_mapcgName[100]; -char g_mapcgNameBmp[100]; -char g_mapcgOld[100]; +char g_worldName[BUFFER_STR_MAX]; +char g_worldPassword[BUFFER_STR_MAX]; +char g_mapcgName[BUFFER_STR_MAX]; +char g_mapcgNameBmp[BUFFER_STR_MAX]; +char g_mapcgOld[BUFFER_STR_MAX]; //}bvʒu int mapX, mapY; @@ -138,7 +144,7 @@ int itemDefence; int gameoverXp; int gameoverYp; -//}bvf[^ +// }bvf[^ short map[MAP_SIZE_MAX][MAP_SIZE_MAX]; short mapObject[MAP_SIZE_MAX][MAP_SIZE_MAX]; int objectAttribute[PARTS_NUMBER_MAX][OBJECT_ATR_MAX]; @@ -147,7 +153,7 @@ int pointer; int itemBox[12]; int StockObjectAttribute[PARTS_NUMBER_MAX][OBJECT_ATR_MAX]; int StockMapAttribute[PARTS_NUMBER_MAX][MAP_ATR_MAX]; -//Undop +// Undop short UndoMap[MAP_SIZE_MAX][MAP_SIZE_MAX]; short UndoMapObject[MAP_SIZE_MAX][MAP_SIZE_MAX]; int UndoObjectAttribute[PARTS_NUMBER_MAX][OBJECT_ATR_MAX]; @@ -155,7 +161,7 @@ int UndoMapAttribute[PARTS_NUMBER_MAX][MAP_ATR_MAX]; unsigned char *UndoMapB; -//ʗp +// ʗp int g_CopyObject[OBJECT_ATR_MAX]; int g_CopyMap[MAP_ATR_MAX]; char g_CopyObjectStr[MESSAGE_STR_MAX]; @@ -163,23 +169,23 @@ char g_CopyMapStr[MESSAGE_STR_MAX]; short g_MapBuffer[SCREEN_CHIP_SIZE][SCREEN_CHIP_SIZE]; short g_ObjectBuffer[SCREEN_CHIP_SIZE][SCREEN_CHIP_SIZE]; -//̑Ip +// ̑Ip int g_SelectObjectX, g_SelectObjectY; int g_ScrObject = 0; int g_SelectObjectData; int g_EditObjectData; -//wiIp +// wiIp int g_SelectMapX, g_SelectMapY; int g_ScrMap = 0; int g_SelectMapData; int g_EditMapData; -//LN^bfIp +// LN^bfIp int g_ScrCGChara = 0; int g_ScrCGCharaMax = 10; int g_hModeSelectChara; int g_iLoadCGHeight = 800; -//ėp +// ėp CDib *g_pDib; HINSTANCE g_hInst; HWND g_hWnd; @@ -205,18 +211,21 @@ HBITMAP g_hBitmapAnd = NULL; HBITMAP g_hBitmapOr = NULL; HBITMAP g_hBitmapExtra = NULL; -int g_AtrSelectChara; //bfIp +TRACKMOUSEEVENT g_MapEditTracking; + +int g_AtrSelectChara; // bfIp int g_EditMode; -//tO +// tO BOOL g_bRestoreObjectDialog = FALSE; BOOL g_bRestoreMapDialog = FALSE; -BOOL g_MapLineFlag = TRUE; //E -BOOL g_ObjectNumberFlag = TRUE; //̃p[cԍ\ -BOOL g_MouseDrag = FALSE; //}EX̃hbOp -BOOL g_bLoadGif = TRUE; //GIFt@Cǂݍ߂邩H -BOOL g_bUpdate = FALSE; //XVmFtO -BOOL g_bInitial = FALSE; //ς݂H +BOOL g_MapLineFlag = TRUE; // E +BOOL g_ObjectNumberFlag = TRUE; // ̃p[cԍ\ +BOOL g_MouseDrag = FALSE; // }EX̃hbOp +BOOL g_MapJumping = FALSE; // ~j}bṽ}EXhbOp +BOOL g_bLoadGif = TRUE; // GIFt@Cǂݍ߂邩H +BOOL g_bUpdate = FALSE; // XVmFtO +BOOL g_bInitial = FALSE; // ς݂H BOOL g_bFileNotFound; BOOL g_iColorTp; @@ -224,16 +233,16 @@ BOOL g_iColorTp; char g_MapData[FILE_DATA_MAX]; char PressData[FILE_DATA_MAX]; -char g_szSettingFile[250] = "./WinWwamk.ini"; //ݒt@C -char g_szSelectFile[250] = "wwamap.dat"; //t@C -char g_szTitleName[] = "WWA Wing}bv쐬c[ Ver3.1.8"; -char g_szSelectDir[250]; +char g_szSettingFile[FILE_PATH_STR_MAX] = "./WinWwamk.ini"; //ݒt@C +char g_szSelectFile[FILE_PATH_STR_MAX] = "wwamap.dat"; //t@C +char g_szTitleName[] = "WWA Wing}bv쐬c[ Ver3.5.2"; +char g_szSelectDir[FILE_PATH_STR_MAX]; int g_MouseX, g_MouseY; int g_MouseDragX, g_MouseDragY; int g_MouseOldX, g_MouseOldY; BOOL g_bCancel = FALSE; -//e +// e int g_iMapSize = 501; int g_iMapPartsMax = 200; int g_iObjectPartsMax = 200; @@ -241,12 +250,12 @@ int g_iMapAtrMax; int g_iObjectAtrMax; int g_iMesNumberMax; -//Ïؔԍp +// Ïؔԍp BOOL g_bErrorPassword = FALSE; char g_szInputPassword[30]; -//̃f[^p +// ̃f[^p struct StructOBJ { char *Name; int Object; @@ -268,8 +277,8 @@ StructOBJ OBJ[] = { { "WvQ[g", OBJECT_LOCALGATE, IDD_DIALOG_LOCALGATE_OBJ }, { "", END } }; -char *g_ObjectName[] = { "ʏ함́@@","bZ[W@@","tqkްā@","ðω@","ACe@@","@@@@@","X^[@","","","","","XRA\@","","","𔄂@@","𔃂@@","ёI@@","ґ@@","ެ߹ްā@" }; -char *g_MapName[] = { "@@@@@","ǁ@@@@@","ެ߹ްā@","","tqkްā@","ѕ@@" }; +char *g_ObjectName[] = { "ʏ함","bZ[W","tqkQ[g","Xe[^Xω","ACe","","X^[","","","","","XRA\","","","𔄂","𔃂","_I","ґ","WvQ[g" }; +char *g_MapName[] = { "","","WvQ[g","","tqkQ[g","ACe" }; StructOBJ MAP[] = { { "", MAP_STREET, IDD_DIALOG_STREET }, @@ -280,7 +289,7 @@ StructOBJ MAP[] = { { "", END } }; -//̕ҏW_CAO̓e +// ̕ҏW_CAO̓e struct StructObject { int Object; int Atr; @@ -390,7 +399,7 @@ const int g_EditId[] = { }; #define MACRO_MB(x) MessageBox(NULL,x,"",MB_OK); -#define MACRO_NUMBER(x) if(TRUE){char szNum[20];sprintf(szNum,"%d",x);MACRO_MB(szNum)}; +#define MACRO_NUMBER(x) if(TRUE) { char szNum[NUMBER_STR_MAX]; sprintf_s(szNum, NUMBER_STR_MAX, "%d", x); MACRO_MB(szNum) }; @@ -418,12 +427,12 @@ LRESULT CALLBACK SelectMapDialogProc( HWND hWnd, UINT message, WPARAM wParam, LP // ҏW_CAOvV[W LRESULT CALLBACK EditObjectDialogProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ); LRESULT CALLBACK EditMapDialogProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ); -// NCbNr[_CAOvV[W -LRESULT CALLBACK QuickViewDialogProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ); // LN^bfI_CAOvV[W LRESULT CALLBACK SelectCGCharaProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ); // {bZ[W_CAOvV[W LRESULT CALLBACK DialogProcBasicMes( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ); +// NCbNr[_CAOvV[W +LRESULT CALLBACK QuickViewDialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); // Ǝlp̕` void DrawLine( HDC hDC, int x, int y, int x2, int y2 ); @@ -490,7 +499,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam int result; switch (message) { - //J[\L[ + //J[\L[ case WM_KEYDOWN: { if (LOWORD(wParam) == VK_DOWN) { if (mapYtop < g_iMapSize - SCREEN_CHIP_SIZE) ++mapYtop; @@ -514,7 +523,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam } break; } - //ŏ + // ŏ case WM_SIZE: { if (wParam == SIZE_RESTORED) { ShowWindow(g_hDlgSelectObject, TRUE); @@ -536,7 +545,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam } break; } - //E{^NbN + // E{^NbN case WM_RBUTTONDOWN: g_MouseDrag = FALSE; x = LOWORD(lParam); @@ -548,10 +557,10 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam if (g_SelectObjectData != 0) { DestroyWindow(g_hDlgObject); DestroyWindow(g_hDlgMap); - //UndoZbg + // UndoZbg SetUndoData(); DisplayObjectDialog(); - //ҏW[hύX + // ҏW[hύX DeleteCheckMenu(); CheckMenuItem(GetMenu(g_hWnd), ID_MENU_PUTOBJ, MF_CHECKED); g_EditMode = 1; @@ -559,10 +568,10 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam else { DestroyWindow(g_hDlgObject); DestroyWindow(g_hDlgMap); - //UndoZbg + // UndoZbg SetUndoData(); DisplayMapDialog(); - //ҏW[hύX + // ҏW[hύX DeleteCheckMenu(); CheckMenuItem(GetMenu(g_hWnd), ID_MENU_PUTMAP, MF_CHECKED); g_EditMode = 0; @@ -574,7 +583,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam } break; - //}EXړ + // }EXړ case WM_MOUSEMOVE: g_MouseX = LOWORD(lParam); g_MouseY = HIWORD(lParam) - YTOP; @@ -588,6 +597,11 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam } break; + case WM_MOUSELEAVE: + g_MouseDrag = FALSE; + InvalidateRect(hWnd, NULL, FALSE); + break; + case WM_LBUTTONUP: if (g_MouseDrag == FALSE) break; g_MouseDrag = FALSE; @@ -604,7 +618,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam y = y2; y2 = g_MouseY / CHIP_SIZE; } - //w͈͓LN^Ŗ߂B + // w͈͓LN^Ŗ߂B if ((x != x2) || (y != y2)) { if (x2 > x) ++x2; else ++x; @@ -642,14 +656,17 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam int x2; if (y > 0) { - //UndoZbg + // UndoZbg SetUndoData(); - //hbOJnʒuZbg + // hbOJnʒuZbg g_MouseDragX = x; g_MouseDragY = y; - if ((g_EditMode == 0) || (g_EditMode == 1) || (g_EditMode == 4)) g_MouseDrag = TRUE; + if ((g_EditMode == 0) || (g_EditMode == 1) || (g_EditMode == 4)) { + g_MouseDrag = TRUE; + TrackMouseEvent(&g_MapEditTracking); + } } - //Xe[^Xo[NbN + // Xe[^Xo[NbN if (y < 0) { x2 = 96; if ((x > x2) && (x < (x2 + 64))) { @@ -683,7 +700,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam } PaintStatus(TRUE); } - //}bvʃNbN + // }bvʃNbN else if (g_EditMode == 0) { map[y / CHIP_SIZE + mapYtop][x / CHIP_SIZE + mapXtop] = g_SelectMapData; g_bUpdate = TRUE; @@ -696,7 +713,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam g_SelectMapData = map[y / CHIP_SIZE + mapYtop][x / CHIP_SIZE + mapXtop]; DestroyWindow(g_hDlgObject); DestroyWindow(g_hDlgMap); - //UndoZbg + // UndoZbg SetUndoData(); DisplayMapDialog(); InvalidateRect(g_hDlgSelectMap, NULL, FALSE); @@ -706,7 +723,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam if (g_SelectObjectData != 0) { DestroyWindow(g_hDlgObject); DestroyWindow(g_hDlgMap); - //UndoZbg + // UndoZbg SetUndoData(); DisplayObjectDialog(); InvalidateRect(g_hDlgSelectObject, NULL, FALSE); @@ -748,8 +765,8 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam case WM_MOUSEWHEEL: { int scrollLines; - int scrollDelta = GET_WHEEL_DELTA_WPARAM(wParam); - BOOL parameterResult = SystemParametersInfo(SPI_GETWHEELSCROLLLINES, NULL, &scrollLines, 0); + const int scrollDelta = GET_WHEEL_DELTA_WPARAM(wParam); + const BOOL parameterResult = SystemParametersInfo(SPI_GETWHEELSCROLLLINES, NULL, &scrollLines, 0); if (parameterResult == FALSE) { scrollLines = 1; } @@ -826,7 +843,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam // J[\L[ if (GetActiveWindow() == g_hDlgSelectMap) { if (LOWORD(wParam) == ID_MENU_DOWN) { - if (g_ScrMap < ((g_iMapPartsMax / 10) - 3)) ++g_ScrMap; + if (g_ScrMap < ((g_iMapPartsMax / DIALOG_MAP_SELECT_COLUMN) - DIALOG_MAP_SELECT_LINE)) ++g_ScrMap; SetScrollPos(g_hDlgSelectMap, SB_VERT, g_ScrMap, 1); InvalidateRect(g_hDlgSelectMap, NULL, FALSE); break; @@ -840,7 +857,7 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam } else if (GetActiveWindow() == g_hDlgSelectObject) { if (LOWORD(wParam) == ID_MENU_DOWN) { - if (g_ScrObject < ((g_iObjectPartsMax / 10) - 3)) ++g_ScrObject; + if (g_ScrObject < ((g_iObjectPartsMax / DIALOG_OBJECT_SELECT_COLUMN) - DIALOG_OBJECT_SELECT_LINE)) ++g_ScrObject; SetScrollPos(g_hDlgSelectObject, SB_VERT, g_ScrObject, 1); InvalidateRect(g_hDlgSelectObject, NULL, FALSE); break; @@ -873,8 +890,8 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam // f[^̃[hAZ[u if (LOWORD(wParam) == ID_MENU_LOAD) { int i; - char FileName[250] = "*.dat"; - char CurrentDir[250]; + char FileName[FILE_PATH_STR_MAX] = "*.dat"; + char CurrentDir[FILE_PATH_STR_MAX]; OPENFILENAME ofn; GetCurrentDirectory(sizeof(CurrentDir), CurrentDir); @@ -891,9 +908,9 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam if (GetOpenFileName(&ofn)) { //fBNgo for (i = strlen(FileName); i > 0; --i) if (FileName[i] == '\\') break; - strcpy(g_szSelectDir, FileName); + strcpy_s(g_szSelectDir, FILE_PATH_STR_MAX, FileName); g_szSelectDir[i + 1] = '\0'; - strcpy(g_szSelectFile, (FileName + i + 1)); + strcpy_s(g_szSelectFile, FILE_PATH_STR_MAX, (FileName + i + 1)); //f[^ǂݍ LoadMapData(g_szSelectFile); if (g_bErrorPassword == TRUE) MessageBox(g_hWnd, "ÏؔԍႢ܂B", "xI", MB_OK); @@ -902,8 +919,8 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam } else if (LOWORD(wParam) == ID_MENU_SAVE) { int i; - char FileName[250] = "*.dat"; - char CurrentDir[250]; + char FileName[FILE_PATH_STR_MAX] = "*.dat"; + char CurrentDir[FILE_PATH_STR_MAX]; OPENFILENAME ofn; GetCurrentDirectory(sizeof(CurrentDir), CurrentDir); @@ -920,9 +937,9 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam if (GetSaveFileName(&ofn)) { //fBNgo for (i = strlen(FileName); i > 0; --i) if (FileName[i] == '\\') break; - strcpy(g_szSelectDir, FileName); + strcpy_s(g_szSelectDir, FILE_PATH_STR_MAX, FileName); g_szSelectDir[i + 1] = '\0'; - strcpy(g_szSelectFile, (FileName + i + 1)); + strcpy_s(g_szSelectFile, FILE_PATH_STR_MAX, (FileName + i + 1)); //f[^ۑ SaveMapData(g_szSelectFile); } @@ -1003,25 +1020,25 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam EnableMenuItem(GetMenu(g_hWnd), ID_MENU_QVIEW, MF_GRAYED); } // ̑IEBhE̕\ - else if (LOWORD(wParam) == ID_MENU_OBJWINDOW) { - ShowWindow(g_hDlgSelectObject, TRUE); - EnableMenuItem(GetMenu(g_hWnd), ID_MENU_OBJWINDOW, MF_GRAYED); + else if( LOWORD(wParam) == ID_MENU_OBJWINDOW ){ + ShowWindow( g_hDlgSelectObject, TRUE ); + EnableMenuItem( GetMenu(g_hWnd), ID_MENU_OBJWINDOW, MF_GRAYED ); } // wiIEBhE̕\ - else if (LOWORD(wParam) == ID_MENU_MAPWINDOW) { - ShowWindow(g_hDlgSelectMap, TRUE); - EnableMenuItem(GetMenu(g_hWnd), ID_MENU_MAPWINDOW, MF_GRAYED); + else if( LOWORD(wParam) == ID_MENU_MAPWINDOW ){ + ShowWindow( g_hDlgSelectMap, TRUE ); + EnableMenuItem( GetMenu(g_hWnd), ID_MENU_MAPWINDOW, MF_GRAYED ); } // p[c̃Rs[ else if (LOWORD(wParam) == ID_MENU_COPY) { if (g_EditMode == 0) { for (i = 0; i < MAP_ATR_MAX; ++i) g_CopyMap[i] = mapAttribute[g_SelectMapData][i]; - strcpy(g_CopyMapStr, g_StrMessage[mapAttribute[g_SelectMapData][ATR_STRING]]); + strcpy_s(g_CopyMapStr, MESSAGE_STR_MAX, g_StrMessage[mapAttribute[g_SelectMapData][ATR_STRING]]); g_CopyMap[ATR_STRING] = 0; } else if (g_EditMode == 1) { for (i = 0; i < OBJECT_ATR_MAX; ++i) g_CopyObject[i] = objectAttribute[g_SelectObjectData][i]; - strcpy(g_CopyObjectStr, g_StrMessage[objectAttribute[g_SelectObjectData][ATR_STRING]]); + strcpy_s(g_CopyObjectStr, MESSAGE_STR_MAX, g_StrMessage[objectAttribute[g_SelectObjectData][ATR_STRING]]); g_CopyObject[ATR_STRING] = 0; } } @@ -1122,10 +1139,8 @@ void DeleteCheckMenu() // vv`쐬c[ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR pszCmdLine, int CmdShow) { - MSG msg; WNDCLASS wc; g_hInst = hInst; - OSVERSIONINFO OsVersion; RECT WindowRect, ClientRect; int SizeX, SizeY, PositionX, PositionY; @@ -1166,6 +1181,9 @@ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR pszCmdLine, int C ShowWindow(g_hWnd, CmdShow); UpdateWindow(g_hWnd); } + else { + return FALSE; + } // t@Cݒ unsigned int i, j; @@ -1184,9 +1202,9 @@ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR pszCmdLine, int C } // t@Co for (i = strlen(pszCmdLine); i > 0; --i) if (pszCmdLine[i] == '\\') break; - strcpy(g_szSelectFile, (pszCmdLine + i + 1)); + strcpy_s(g_szSelectFile, FILE_PATH_STR_MAX, (pszCmdLine + i + 1)); // fBNgړ - strcpy(g_szSelectDir, pszCmdLine); + strcpy_s(g_szSelectDir, FILE_PATH_STR_MAX, pszCmdLine); g_szSelectDir[i + 1] = '\0'; SetCurrentDirectory(g_szSelectDir); } @@ -1199,12 +1217,19 @@ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR pszCmdLine, int C // rbg}bvǂݍ LoadBitmap(); + RECT rect; + RECT rectBox; // _CAO\ + g_hDlgQuickView = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_DIALOG_QVIEW), g_hWnd, (DLGPROC)QuickViewDialogProc); + GetWindowRect(g_hWnd, &rectBox); + GetWindowRect(g_hDlgQuickView, &rect); + // _CAOړ + MoveWindow(g_hDlgQuickView, rectBox.left, rectBox.bottom, rect.right - rect.left, rect.bottom - rect.top, TRUE); + ShowWindow(g_hDlgQuickView, SW_SHOW); + + // p[cI g_hDlgSelectObject = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_DIALOG_EDITOBJECT), g_hWnd, (DLGPROC)SelectObjectDialogProc); g_hDlgSelectMap = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_DIALOG_EDITMAP), g_hWnd, (DLGPROC)SelectMapDialogProc); - // _CAOړ - RECT rect; - RECT rectBox; GetWindowRect(g_hWnd, &rectBox); GetWindowRect(g_hDlgSelectObject, &rect); MoveWindow(g_hDlgSelectObject, rectBox.right, rectBox.top, rect.right - rect.left, rect.bottom - rect.top, TRUE); @@ -1214,13 +1239,6 @@ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR pszCmdLine, int C ShowWindow(g_hDlgSelectMap, SW_SHOW); ShowWindow(g_hDlgSelectObject, SW_SHOW); - // NCbNr[ - g_hDlgQuickView = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_DIALOG_QVIEW), g_hWnd, (DLGPROC)QuickViewDialogProc); - GetWindowRect(g_hWnd, &rectBox); - GetWindowRect(g_hDlgQuickView, &rect); - MoveWindow(g_hDlgQuickView, rectBox.left, rectBox.bottom, rect.right - rect.left, rect.bottom - rect.top, TRUE); - ShowWindow(g_hDlgQuickView, SW_SHOW); - // ʐF擾 HDC hDC = GetDC(g_hWnd); if (GetDeviceCaps(hDC, BITSPIXEL) == 8) { @@ -1228,6 +1246,13 @@ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR pszCmdLine, int C } ReleaseDC(g_hWnd, hDC); + //}EXgbNݒ + g_MapEditTracking = { + sizeof(TRACKMOUSEEVENT), + TME_LEAVE, + g_hWnd + }; + // tH[JXړ SetFocus(g_hWnd); // ANZ[^[L[ @@ -1236,6 +1261,7 @@ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR pszCmdLine, int C // g_bInitial = TRUE; + MSG msg; if (g_hWnd != NULL) { while (GetMessage(&msg, NULL, 0, 0)) { // _CAObZ[W @@ -1287,8 +1313,8 @@ BOOL LoadBitmap() SelectObject(g_hmDCExtra, g_hBitmapExtra); } // ݂̃rbg}bvL^ - if (g_bLoadGif == TRUE) strcpy(g_mapcgOld, g_mapcgName); - else strcpy(g_mapcgOld, g_mapcgNameBmp); + if (g_bLoadGif == TRUE) strcpy_s(g_mapcgOld, BUFFER_STR_MAX, g_mapcgName); + else strcpy_s(g_mapcgOld, BUFFER_STR_MAX, g_mapcgNameBmp); // ǂݏo_CAO\ Rectangle(hDC, 0, 0, CHIP_SIZE * SCREEN_CHIP_SIZE, CHIP_SIZE * SCREEN_CHIP_SIZE); @@ -1296,10 +1322,12 @@ BOOL LoadBitmap() // 摜GIF` g_bLoadGif = ReadGifImage(); - if (g_bFileNotFound == TRUE) return FALSE; + if (g_bFileNotFound == TRUE) { + return FALSE; + } // GIFǂݍݎs if (g_bLoadGif == FALSE) { - strcpy(g_mapcgOld, g_mapcgNameBmp); + strcpy_s(g_mapcgOld, BUFFER_STR_MAX, g_mapcgNameBmp); if (g_pDib->ReadFile(g_mapcgNameBmp) == FALSE) { MessageBox(g_hWnd, "̃}bvf[^ɑΉ摜t@Ci256FBMPt@Cjǂݍ߂܂B\nuҏW|{ݒ̕ҏWv256FBMPt@Cw肵ĂB\n\ñVXeł́AGIFt@C͒ړǂݍ߂Ȃ̂ŁA\nҏWp256FBMPt@CKvɂȂ܂B", "BMPt@Cǂݍݎs", MB_OK); // foCX @@ -1337,6 +1365,7 @@ BOOL LoadBitmap() if (g_iColorTp == 0) g_iColorTp = GetPixel(g_hmDC, 60, 20); SetBkColor(g_hmDC, g_iColorTp); BitBlt(g_hmDCAnd, 0, 0, CHIP_SIZE * 10, g_iLoadCGHeight, g_hmDC, 0, 0, SRCCOPY); + // AND摜] BitBlt(g_hmDCAnd, 0, 0, CHIP_SIZE * 10, g_iLoadCGHeight, NULL, 0, 0, DSTINVERT); // OR摜̈m @@ -1446,16 +1475,16 @@ void PaintStatus(BOOL flag) { // Xe[^X\ HDC hDC = GetDC(g_hWnd); - char str[100]; + char str[BUFFER_STR_MAX]; int x; const int y = 1; SetBkMode(g_hmDCExtra, TRANSPARENT); Rectangle(g_hmDCExtra, 0, 0, CHIP_SIZE * SCREEN_CHIP_SIZE, 20); - sprintf(str, "X=%2d ", g_MouseX / CHIP_SIZE + mapXtop); + sprintf_s(str, BUFFER_STR_MAX, "X=%2d ", g_MouseX / CHIP_SIZE + mapXtop); TextOut(g_hmDCExtra, 4, 1, str, strlen(str)); - sprintf(str, "Y=%2d ", g_MouseY / CHIP_SIZE + mapYtop); + sprintf_s(str, BUFFER_STR_MAX, "Y=%2d ", g_MouseY / CHIP_SIZE + mapYtop); TextOut(g_hmDCExtra, 50, 1, str, strlen(str)); x = 96; @@ -1547,14 +1576,24 @@ BOOL LoadMapData(char* FileName) DestroyWindow(g_hDlgSelectChara); // f[^I[v - hFile = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); - if (hFile == INVALID_HANDLE_VALUE) { - MessageBox(g_hWnd, "}bvf[^t@Cǂݍ݂ł܂B", "", MB_OK); + try + { + BOOL readResult; + hFile = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); + if (hFile == INVALID_HANDLE_VALUE) { + throw "}bvf[^t@CǍł܂B"; + } + readResult = ReadFile(hFile, LPVOID(&PressData), sizeof(PressData), &BytesRead, 0); + if (readResult == FALSE) { + throw "}bvf[^t@CǍł܂B"; + } + CloseHandle(hFile); + } + catch (char* errorMessage) + { + MessageBox(g_hWnd, errorMessage, "", MB_OK); return FALSE; } - // f[^ǂݍ - ReadFile(hFile, LPVOID(&PressData), sizeof(PressData), &BytesRead, 0); - CloseHandle(hFile); // f[^ int i, j; @@ -1645,8 +1684,8 @@ BOOL LoadMapData(char* FileName) g_iObjectPartsMax = ((iDataObjectCount - 1) / 50) * 50 + 50; if (g_iObjectPartsMax < 200) g_iObjectPartsMax = 200; // XN[o[ݒ - SetScrollRange(g_hDlgSelectMap, SB_VERT, 0, ((g_iMapPartsMax / 10) - 3), FALSE); - SetScrollRange(g_hDlgSelectObject, SB_VERT, 0, ((g_iObjectPartsMax / 10) - 3), FALSE); + SetScrollRange(g_hDlgSelectMap, SB_VERT, 0, ((g_iMapPartsMax / DIALOG_MAP_SELECT_COLUMN) - DIALOG_MAP_SELECT_LINE), FALSE); + SetScrollRange(g_hDlgSelectObject, SB_VERT, 0, ((g_iObjectPartsMax / DIALOG_OBJECT_SELECT_COLUMN) - DIALOG_OBJECT_SELECT_LINE), FALSE); ZeroMemory(&map, sizeof(map)); ZeroMemory(&mapObject, sizeof(mapObject)); @@ -1681,7 +1720,8 @@ BOOL LoadMapData(char* FileName) // ebZ[Wf[^pĂ邩mFz BOOL usedMessage[MESSAGE_NUMBER_MAX]; - for (i = 0; i < MESSAGE_NUMBER_MAX; ++i) usedMessage[i] = FALSE; + for (i = 0; i < MESSAGE_FIRST_CHARA; ++i) usedMessage[i] = TRUE; + for (; i < MESSAGE_NUMBER_MAX; ++i) usedMessage[i] = FALSE; if (g_MapData[DATA_VERSION] <= 29) { g_iMapAtrMax = 40; @@ -1802,21 +1842,20 @@ BOOL LoadMapData(char* FileName) for (i = 0; i < 20; ++i) loadMapString(g_StrMessageSystem[i]); } - //Ïؔԍ̃`FbN + // Ïؔԍ̃`FbN g_bErrorPassword = FALSE; g_szInputPassword[0] = '\0'; int number; if (atoi(g_worldPassword) != 0) { if (g_MapData[DATA_VERSION] >= 29) { - //Ïؔԍϊ + // Ïؔԍϊ number = atoi(g_worldPassword); number = (((number / 10) - 1197) / 17) - 2357; - _itoa(number, g_worldPassword, 10); + _itoa_s(number, g_worldPassword, BUFFER_STR_MAX, 10); } ShowWindow(g_hDlgSelectObject, FALSE); ShowWindow(g_hDlgSelectMap, FALSE); ShowWindow(g_hDlgQuickView, FALSE); - //if( g_bInitial == FALSE ) LibLoad(); DialogBox(g_hInst, MAKEINTRESOURCE(IDD_DIALOG_PASSWORD), g_hWnd, (DLGPROC)DialogProcPassword); ShowWindow(g_hDlgSelectObject, TRUE); ShowWindow(g_hDlgSelectMap, TRUE); @@ -1834,9 +1873,9 @@ BOOL LoadMapData(char* FileName) } //^CgeLXgݒ - char sTitle[100]; - sprintf(sTitle, "%s [%s]", g_szTitleName, FileName); - SetWindowText(g_hWnd, sTitle); + CString titleText; + titleText.Format("%s [%s]", g_szTitleName, FileName); + SetWindowText(g_hWnd, titleText); return TRUE; } @@ -2012,8 +2051,8 @@ BOOL SaveMapData( char *FileName ) //Ïؔԍϊ number = atoi( g_worldPassword ); if( number != 0 ){ - number = ((number +2357) *17 +1197) *10 +(number %9); - _itoa( number, szSavePassword, 10 ); + number = ((number + 2357) * 17 + 1197) * 10 + (number % 9); + _itoa_s(number, szSavePassword, 30, 10); } else { szSavePassword[0] = '\0'; } @@ -2048,18 +2087,18 @@ BOOL SaveMapData( char *FileName ) WriteFile( hFile, g_MapData, pointer, &dwWritten, NULL ); CloseHandle( hFile ); - //^CgeLXgݒ - char sTitle[100]; - sprintf( sTitle, "%s [%s]", g_szTitleName, FileName ); - SetWindowText( g_hWnd, sTitle ); + // ^CgeLXgݒ + CString titleText; + titleText.Format("%s [%s]", g_szTitleName, FileName); + SetWindowText(g_hWnd, titleText); - //obNAbvf[^쐬 - char szBackupFile[250]; + // obNAbvf[^쐬 + CString backupFileName; SYSTEMTIME systime; GetLocalTime( &systime ); - sprintf( szBackupFile, "backup\\%s%d.dat", FileName, systime.wHour ); - // - hFile = CreateFile( szBackupFile, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); + backupFileName.Format("backup\\%s%d.dat", FileName, systime.wHour); + // + hFile = CreateFile( backupFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if( hFile != INVALID_HANDLE_VALUE ){ WriteFile( hFile, g_MapData, pointer, &dwWritten, NULL ); CloseHandle( hFile ); @@ -2077,7 +2116,7 @@ void saveMapString( char *str ) WCHAR buff[MESSAGE_STR_MAX]; if( strlen(str) != 0 ){ - length = MultiByteToWideChar( CP_ACP, 0, str, strlen(str), buff, sizeof(buff) ); + length = MultiByteToWideChar(CP_ACP, 0, str, strlen(str), buff, sizeof(buff) / 2); buff[length] = '\0'; for( i = 0 ; i < (int)wcslen(buff) ; ++i ){ @@ -2103,31 +2142,31 @@ void paintMapAll(HDC hDC) //ϐ` int i, j; int mdata; - char objectNumber[10]; HFONT numberFont = CreateFont(14, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_CHARACTER_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, FF_DONTCARE); HFONT defaultFont = SelectFont(hDC, numberFont); //}bv` for (j = 0; j < SCREEN_CHIP_SIZE; ++j) { for (i = 0; i < SCREEN_CHIP_SIZE; ++i) { - //wi` + // wi` mdata = map[j + mapYtop][i + mapXtop]; BitBlt(hDC, i * CHIP_SIZE, j * CHIP_SIZE + YTOP, CHIP_SIZE, CHIP_SIZE, g_hmDC, mapAttribute[mdata][ATR_X], mapAttribute[mdata][ATR_Y], SRCCOPY); - //IuWFNg` + // IuWFNg` mdata = mapObject[j + mapYtop][i + mapXtop]; if (mdata != 0) { BitBlt(hDC, i * CHIP_SIZE, j * CHIP_SIZE + YTOP, CHIP_SIZE, CHIP_SIZE, g_hmDCAnd, objectAttribute[mdata][ATR_X], objectAttribute[mdata][ATR_Y], SRCAND); BitBlt(hDC, i * CHIP_SIZE, j * CHIP_SIZE + YTOP, CHIP_SIZE, CHIP_SIZE, g_hmDCOr, objectAttribute[mdata][ATR_X], objectAttribute[mdata][ATR_Y], SRCPAINT); } - //v[[LN^` + // v[[LN^` if ((charaX == (i + mapXtop)) && (charaY == (j + mapYtop))) { BitBlt(hDC, i * CHIP_SIZE, j * CHIP_SIZE + YTOP, CHIP_SIZE, CHIP_SIZE, g_hmDCAnd, CHIP_SIZE * 4, 0, SRCAND); BitBlt(hDC, i * CHIP_SIZE, j * CHIP_SIZE + YTOP, CHIP_SIZE, CHIP_SIZE, g_hmDCOr, CHIP_SIZE * 4, 0, SRCPAINT); } - //p[cʃ}[N` + // ̃p[cԍ` if (g_ObjectNumberFlag == TRUE && mdata != 0) { - sprintf(objectNumber, "%d", mdata); + char objectNumber[10]; + sprintf_s(objectNumber, 10, "%d", mdata); TextOut(hDC, i * CHIP_SIZE, j * CHIP_SIZE + YTOP, objectNumber, strlen(objectNumber)); } } @@ -2149,7 +2188,6 @@ void PaintWindowSelectObject(HWND hWnd) hDC = BeginPaint(hWnd, &ps); int selectX = g_SelectObjectData % DIALOG_OBJECT_SELECT_COLUMN; int selectY = g_SelectObjectData / DIALOG_OBJECT_SELECT_COLUMN; - char str[50]; //C[W̕` for (j = 0; j < DIALOG_OBJECT_SELECT_LINE; ++j) { @@ -2160,8 +2198,18 @@ void PaintWindowSelectObject(HWND hWnd) } } - SetDlgItemInt(hWnd, IDC_EDIT_PARTS_NUMBER, g_SelectObjectData, FALSE); - SetDlgItemInt(hWnd, IDC_EDIT_CURRENT_POSITION, g_ScrObject * DIALOG_OBJECT_SELECT_COLUMN, FALSE); + // p[cԍ + { + CString PartsNumberText; + PartsNumberText.Format("p[cԍ: %d", g_SelectObjectData); + SetDlgItemText(hWnd, IDC_STATIC_PARTS_NUMBER, PartsNumberText); + } + // \ʒu + { + CString CurrentPositionText; + CurrentPositionText.Format(": %d", g_ScrObject * DIALOG_OBJECT_SELECT_COLUMN); + SetDlgItemText(hWnd, IDC_STATIC_CURRENT_POSITION, CurrentPositionText); + } //E\ hpen = CreatePen(PS_SOLID, 0, RGB(255, 0, 0)); @@ -2191,7 +2239,6 @@ void PaintWindowSelectMap(HWND hWnd) hDC = BeginPaint(hWnd, &ps); int selectX = g_SelectMapData % DIALOG_MAP_SELECT_COLUMN; int selectY = g_SelectMapData / DIALOG_MAP_SELECT_COLUMN; - char str[50]; //C[W̕` for (j = 0; j < DIALOG_MAP_SELECT_LINE; ++j) { @@ -2201,9 +2248,19 @@ void PaintWindowSelectMap(HWND hWnd) BitBlt(hDC, i * CHIP_SIZE, j * CHIP_SIZE, CHIP_SIZE, CHIP_SIZE, g_hmDC, x, y, SRCCOPY); } } - //\ - SetDlgItemInt(hWnd, IDC_EDIT_PARTS_NUMBER, g_SelectMapData, FALSE); - SetDlgItemInt(hWnd, IDC_EDIT_CURRENT_POSITION, g_ScrMap * DIALOG_MAP_SELECT_COLUMN, FALSE); + + // p[cԍ + { + CString PartsNumberText; + PartsNumberText.Format("p[cԍ: %d", g_SelectMapData); + SetDlgItemText(hWnd, IDC_STATIC_PARTS_NUMBER, PartsNumberText); + } + // \ʒu + { + CString CurrentPositionText; + CurrentPositionText.Format(": %d", g_ScrMap * DIALOG_OBJECT_SELECT_COLUMN); + SetDlgItemText(hWnd, IDC_STATIC_CURRENT_POSITION, CurrentPositionText); + } //E\ hpen = CreatePen(PS_SOLID, 0, RGB(255, 0, 0)); @@ -2392,8 +2449,8 @@ LRESULT CALLBACK SelectMapDialogProc( HWND hWnd, UINT message, WPARAM wParam, LP if (y < CHIP_SIZE * DIALOG_MAP_SELECT_LINE) { g_SelectMapY = g_ScrMap + y / CHIP_SIZE; } - InvalidateRect( hWnd, NULL, FALSE ); - InvalidateRect( g_hDlgQuickView, NULL, FALSE ); + InvalidateRect(hWnd, NULL, FALSE); + InvalidateRect(g_hDlgQuickView, NULL, FALSE); //ݑI𒆂̔wiݒ g_SelectMapData = g_SelectMapX + g_SelectMapY * DIALOG_MAP_SELECT_COLUMN; //ҏW[hύX @@ -2576,17 +2633,16 @@ LRESULT CALLBACK EditObjectDialogProc( HWND hWnd, UINT message, WPARAM wParam, L break; case WM_PAINT: { - //IuWFNg` + // IuWFNg` HDC hDC = GetDC( hWnd ); BitBlt( hDC, 5, 4, CHIP_SIZE, CHIP_SIZE, g_hmDC, objectAttribute[GetCharaNumber(hWnd)][ATR_X], objectAttribute[GetCharaNumber(hWnd)][ATR_Y], SRCCOPY ); BitBlt( hDC, 50, 4, CHIP_SIZE, CHIP_SIZE, g_hmDC, objectAttribute[GetCharaNumber(hWnd)][ATR_X2], objectAttribute[GetCharaNumber(hWnd)][ATR_Y2], SRCCOPY ); - //\ - char str[50]; - SetBkMode( hDC, TRANSPARENT ); - sprintf( str, "̔ԍF%d", GetCharaNumber(hWnd) ); - TextOut( hDC,96,27,str,strlen(str) ); ReleaseDC( hWnd, hDC ); - //EBhEĕ` + // \ + CString partsNumberStr; + partsNumberStr.Format("̔ԍ: %d", GetCharaNumber(hWnd)); + SetDlgItemText(hWnd, IDC_STATIC_NUMBER, partsNumberStr); + // EBhEĕ` if( g_bRestoreObjectDialog == TRUE ){ DestroyWindow( hWnd ); return 1; @@ -2601,7 +2657,6 @@ LRESULT CALLBACK EditObjectDialogProc( HWND hWnd, UINT message, WPARAM wParam, L } g_bCancel = FALSE; if( g_bRestoreObjectDialog == TRUE ) DisplayObjectDialog(); - InvalidateRect( g_hDlgQuickView, NULL, FALSE ); return 1; } } @@ -2669,12 +2724,11 @@ LRESULT CALLBACK EditMapDialogProc( HWND hWnd, UINT message, WPARAM wParam, LPAR // IuWFNg` HDC hDC = GetDC(hWnd); BitBlt(hDC, 5, 4, CHIP_SIZE, CHIP_SIZE, g_hmDC, mapAttribute[GetCharaNumber(hWnd)][ATR_X], mapAttribute[GetCharaNumber(hWnd)][ATR_Y], SRCCOPY); - // \ - char str[50]; - SetBkMode(hDC, TRANSPARENT); - sprintf(str, "wiԍF%d", GetCharaNumber(hWnd)); - TextOut(hDC, 96, 27, str, strlen(str)); ReleaseDC(hWnd, hDC); + // \ + CString partsNumberStr; + partsNumberStr.Format("wiԍ: %d", GetCharaNumber(hWnd)); + SetDlgItemText(hWnd, IDC_STATIC_NUMBER, partsNumberStr); // EBhEĕ` if (g_bRestoreMapDialog == TRUE) { DestroyWindow(hWnd); @@ -2706,32 +2760,48 @@ LRESULT CALLBACK QuickViewDialogProc(HWND hWnd, UINT message, WPARAM wParam, LPA switch (message) { case WM_PAINT: { HDC hDC = GetDC(hWnd); - int type; + int* partsImageX; + int* partsImageY; + char* partsMessageString; + int* partsNumber; + char* partsTypeString; + CString partsCaptionString; + if (g_EditMode == 0) { - BitBlt(hDC, 5, 4, CHIP_SIZE, CHIP_SIZE, g_hmDC, mapAttribute[g_SelectMapData][ATR_X], mapAttribute[g_SelectMapData][ATR_Y], SRCCOPY); - SetDlgItemText(g_hDlgQuickView, IDC_EDIT_QVIEW, g_StrMessage[mapAttribute[g_SelectMapData][ATR_STRING]]); - //\ - char str[50]; - SetBkColor(hDC, GetSysColor(COLOR_3DFACE)); - sprintf(str, "wi߰”ԍF%3d ", g_SelectMapData); - TextOut(hDC, 50, 5, str, strlen(str)); - type = mapAttribute[g_SelectMapData][ATR_TYPE]; - sprintf(str, "ށF%s ", g_MapName[type]); - TextOut(hDC, 50, 26, str, strlen(str)); - } - else if (g_EditMode == 1) { - BitBlt(hDC, 5, 4, CHIP_SIZE, CHIP_SIZE, g_hmDC, objectAttribute[g_SelectObjectData][ATR_X], objectAttribute[g_SelectObjectData][ATR_Y], SRCCOPY); - SetDlgItemText(g_hDlgQuickView, IDC_EDIT_QVIEW, g_StrMessage[objectAttribute[g_SelectObjectData][ATR_STRING]]); - //\ - char str[50]; - SetBkColor(hDC, GetSysColor(COLOR_3DFACE)); - sprintf(str, "߰”ԍF%3d ", g_SelectObjectData); - TextOut(hDC, 50, 5, str, strlen(str)); - type = objectAttribute[g_SelectObjectData][ATR_TYPE]; - sprintf(str, "ށF%s ", g_ObjectName[type]); - TextOut(hDC, 50, 26, str, strlen(str)); + partsImageX = &mapAttribute[g_SelectMapData][ATR_X]; + partsImageY = &mapAttribute[g_SelectMapData][ATR_Y]; + partsMessageString = g_StrMessage[mapAttribute[g_SelectMapData][ATR_STRING]]; + partsNumber = &g_SelectMapData; + partsTypeString = g_MapName[mapAttribute[g_SelectMapData][ATR_TYPE]]; + partsCaptionString = "wip[c"; } + else { + partsImageX = &objectAttribute[g_SelectObjectData][ATR_X]; + partsImageY = &objectAttribute[g_SelectObjectData][ATR_Y]; + partsMessageString = g_StrMessage[objectAttribute[g_SelectObjectData][ATR_STRING]]; + partsNumber = &g_SelectObjectData; + partsTypeString = g_ObjectName[objectAttribute[g_SelectObjectData][ATR_TYPE]]; + partsCaptionString = "̃p[c"; + } + + { + HWND pictureItem = GetDlgItem(hWnd, IDC_PICTURE_QVIEW); + HDC pictureDC = GetDC(pictureItem); + BitBlt(pictureDC, 0, 0, CHIP_SIZE, CHIP_SIZE, g_hmDC, *partsImageX, *partsImageY, SRCCOPY); + } + SetDlgItemText(g_hDlgQuickView, IDC_EDIT_QVIEW, partsMessageString); + + // p[cԍ + CString partsNumberText; + partsNumberText.Format("%s %4d", partsCaptionString.GetString(), *partsNumber); + SetDlgItemText(g_hDlgQuickView, IDC_STATIC_QVIEW_NUMBER, partsNumberText); + + // + CString partsTypeText; + partsTypeText.Format(": %s", partsTypeString); + SetDlgItemText(g_hDlgQuickView, IDC_STATIC_QVIEW_TYPE, partsTypeText); ReleaseDC(hWnd, hDC); + break; } case WM_COMMAND: { @@ -2921,8 +2991,8 @@ void DisplayObjectDialog() int i; int number; char str[MESSAGE_STR_MAX]; - char strCut[50]; - int id; + char strCut[BUFFER_STR_MAX]; + int dialogId = -1; int position; int type; RECT rect; @@ -2940,18 +3010,18 @@ void DisplayObjectDialog() MessageBox( g_hWnd, "p[cԍÔ͕̕ҏWł܂B\ñp[c̓}bv̂̕ƂɎw肵ĂB", "ӁI", MB_OK ); return; } - //ނ̔ - for( position = 0 ; position < 20 ; ++position ){ - if( OBJ[position].Object == END ) break; - if( type == OBJ[position].Object ){ - id = OBJ[position].Id; + // ނ̔ + for (position = 0; position < 20; ++position) { + if (OBJ[position].Object == END) break; + if (type == OBJ[position].Object) { + dialogId = OBJ[position].Id; break; } } - if( id == 20 ) return; + if( dialogId == -1 ) return; //_CAO̍쐬 - g_hDlgObject = CreateDialog( g_hInst, MAKEINTRESOURCE(id), g_hWnd, (DLGPROC)EditObjectDialogProc ); + g_hDlgObject = CreateDialog( g_hInst, MAKEINTRESOURCE(dialogId), g_hWnd, (DLGPROC)EditObjectDialogProc ); //R{{bNXɃf[^} HWND hwndCombo = GetDlgItem( g_hDlgObject, IDC_COMBO_OBJECT ); for( i = 0 ; i < 13 ; ++i ) SendMessage( hwndCombo, CB_ADDSTRING, 0, (LPARAM)OBJ[i].Name ); @@ -2986,19 +3056,19 @@ void DisplayObjectDialog() || (type == OBJECT_STATUS) || (type == OBJECT_DOOR) || (type == OBJECT_SELL) || (type == OBJECT_BUY) || (type == OBJECT_SELECT) ){ SetDlgItemText( g_hDlgObject, IDC_EDIT_MESSAGE, g_StrMessage[objectAttribute[g_EditObjectData][ATR_STRING]] ); } else if( type == OBJECT_URLGATE ){ - strcpy( str, g_StrMessage[objectAttribute[g_EditObjectData][ATR_STRING]] ); + strcpy_s(str, MESSAGE_STR_MAX, g_StrMessage[objectAttribute[g_EditObjectData][ATR_STRING]]); //񕪊 for( i = 0 ; i < (int)strlen(str) ; ++i ){ if( (str[i] == 0x0D) && (str[i+1] == 0x0A) ){ str[i] = '\0'; - strcpy( strCut, str+i+2 ); - SetDlgItemText( g_hDlgObject, IDC_EDIT_TARGET, strCut ); + strcpy_s(strCut, BUFFER_STR_MAX, str + i + 2); + SetDlgItemText(g_hDlgObject, IDC_EDIT_TARGET, strCut); break; } } SetDlgItemText( g_hDlgObject, IDC_EDIT_URL, str ); } - //lf[^} + // lf[^} for( number = 0 ; number < 100 ; ++number ){ if( Object[number].Object == END ) break; if( Object[number].Object == type ){ @@ -3012,82 +3082,90 @@ void DisplayObjectDialog() || ((Object[number].Atr == ATR_GOLD) && (Object[number].Object == OBJECT_STATUS)) ){ if( status > 30000 ) status = 30000 -status; } - //WvQ[g̏ꍇ + // WvQ[g̏ꍇ if( objectAttribute[g_EditObjectData][ATR_TYPE] == OBJECT_LOCALGATE ){ if( (Object[number].Atr == ATR_JUMP_X) || (Object[number].Atr == ATR_JUMP_Y) ){ int position = objectAttribute[g_EditObjectData][Object[number].Atr]; if( position > 9000 ){ position = position - 10000; - if( position >= 0 ) sprintf( str, "+%d", position ); - else sprintf( str, "%d", position ); - } else { - sprintf( str, "%d", position ); + + CString jumpValue; + if (position >= 0) { + jumpValue.Format("+%d", position); + } + else { + jumpValue.Format("%d", position); + } + SetDlgItemText(g_hDlgObject, Object[number].Id, jumpValue); + } + else { + SetDlgItemInt( g_hDlgObject, Object[number].Id, position, FALSE); } - SetDlgItemText( g_hDlgObject, Object[number].Id, str ); - } else { - _itoa( objectAttribute[g_EditObjectData][Object[number].Atr], str, 10 ); - SetDlgItemText( g_hDlgObject, Object[number].Id, str ); + } + else { + SetDlgItemInt(g_hDlgObject, Object[number].Id, objectAttribute[g_EditObjectData][Object[number].Atr], FALSE); } } - //R{{bNX̏ꍇ + // R{{bNX̏ꍇ else if( (objectAttribute[g_EditObjectData][ATR_TYPE] != OBJECT_LOCALGATE) && (objectAttribute[g_EditObjectData][ATR_TYPE] != OBJECT_RANDOM) && ((Object[number].Atr == ATR_MOVE) || (Object[number].Atr == ATR_MODE)) || ((objectAttribute[g_EditObjectData][ATR_TYPE] == OBJECT_DOOR) && (Object[number].Atr == ATR_NUMBER)) ){ hwndCombo = GetDlgItem( g_hDlgObject, Object[number].Id ); SendMessage( hwndCombo, CB_SETCURSEL, status, 0 ); } - //GfBbg{bNX̏ꍇ + // GfBbg{bNX̏ꍇ else { - _itoa( status, str, 10 ); - SetDlgItemText( g_hDlgObject, Object[number].Id, str ); + SetDlgItemInt(g_hDlgObject, Object[number].Id, status, TRUE); } } } - //_CAOړ + // _CAOړ GetWindowRect( g_hDlgSelectObject, &rectBox ); GetWindowRect( g_hDlgObject, &rect ); MoveWindow( g_hDlgObject, rectBox.right, rectBox.top, rect.right -rect.left, rect.bottom -rect.top, TRUE ); ShowWindow( g_hDlgObject, SW_SHOW ); - //_CAO̍쐬 + // _CAO̍쐬 if( (type == OBJECT_MESSAGE) || (type == OBJECT_MONSTER) || (type == OBJECT_ITEM) || (type == OBJECT_STATUS) || (type == OBJECT_DOOR) || (type == OBJECT_SELL) || (type == OBJECT_BUY) || (type == OBJECT_SELECT) || (type == OBJECT_LOCALGATE) ){ if( type == OBJECT_SELECT ) g_hDlgExtra = CreateDialog( g_hInst, MAKEINTRESOURCE(IDD_DIALOG_EXTRA2), g_hDlgObject, (DLGPROC)DialogProcExtraObject ); else g_hDlgExtra = CreateDialog( g_hInst, MAKEINTRESOURCE(IDD_DIALOG_EXTRA), g_hDlgObject, (DLGPROC)DialogProcExtraObject ); - //_CAOړ + // _CAOړ GetWindowRect( g_hDlgObject, &rectBox ); GetWindowRect( g_hDlgExtra, &rect ); MoveWindow( g_hDlgExtra, rectBox.left, rectBox.bottom, rect.right -rect.left, rect.bottom -rect.top, TRUE ); ShowWindow( g_hDlgExtra, SW_SHOW ); - //tH[JXړ + // tH[JXړ SetFocus( g_hDlgObject ); - //goLN^̐ݒ + // goLN^̐ݒ AppearChara( g_EditObjectData, TRUE ); } - //^Cgo[eLXgݒ - char title[100]; - GetWindowText( g_hDlgObject, title, sizeof(title) ); - sprintf( str, "o%d. %s", g_EditObjectData, title ); - SetWindowText( g_hDlgObject, str ); - GetWindowText( g_hDlgExtra, title, sizeof(title) ); - sprintf( str, "o%d. %s", g_EditObjectData, title ); - SetWindowText( g_hDlgExtra, str ); + // ^Cgo[eLXgݒ + { + char title[BUFFER_STR_MAX]; + GetWindowText(g_hDlgObject, title, sizeof(title)); + sprintf_s(str, MESSAGE_STR_MAX, "o%d. %s", g_EditObjectData, title); + SetWindowText(g_hDlgObject, str); + + GetWindowText(g_hDlgExtra, title, sizeof(title)); + sprintf_s(str, MESSAGE_STR_MAX, "o%d. %s", g_EditObjectData, title); + SetWindowText(g_hDlgExtra, str); + } } //##------------------------------------------------------------------ // wiҏW_CAO̕\ - void DisplayMapDialog() { int i; int number; char str[MESSAGE_STR_MAX]; char strCut[50]; - int id; + int dialogId = -1; int position; int type; RECT rect; @@ -3109,14 +3187,14 @@ void DisplayMapDialog() for( position = 0 ; position < 20 ; ++position ){ if( MAP[position].Object == END ) break; if( type == MAP[position].Object ){ - id = MAP[position].Id; + dialogId = MAP[position].Id; break; } } - if( id == 20 ) return; + if( dialogId == -1 ) return; //_CAO̍쐬 - g_hDlgMap = CreateDialog( g_hInst, MAKEINTRESOURCE(id), g_hWnd, (DLGPROC)EditMapDialogProc ); + g_hDlgMap = CreateDialog( g_hInst, MAKEINTRESOURCE(dialogId), g_hWnd, (DLGPROC)EditMapDialogProc ); //R{{bNXɃf[^} HWND hwndCombo = GetDlgItem( g_hDlgMap, IDC_COMBO_MAP ); @@ -3127,12 +3205,12 @@ void DisplayMapDialog() if( (type == MAP_STREET) || (type == MAP_WALL) || (type == MAP_ITEMCHECK) ){ SetDlgItemText( g_hDlgMap, IDC_EDIT_MESSAGE, g_StrMessage[mapAttribute[g_EditMapData][ATR_STRING]] ); } else if( type == MAP_URLGATE ){ - strcpy( str, g_StrMessage[mapAttribute[g_EditMapData][ATR_STRING]] ); + strcpy_s(str, MESSAGE_STR_MAX, g_StrMessage[mapAttribute[g_EditMapData][ATR_STRING]]); //񕪊 for( i = 0 ; i < (int)strlen(str) ; ++i ){ if( (str[i] == 0x0D) && (str[i+1] == 0x0A) ){ str[i] = '\0'; - strcpy( strCut, str+i+2 ); + strcpy_s(strCut, BUFFER_STR_MAX, str + i + 2); SetDlgItemText( g_hDlgMap, IDC_EDIT_TARGET, strCut ); break; } @@ -3147,15 +3225,21 @@ void DisplayMapDialog() int position = mapAttribute[g_EditMapData][Map[number].Atr]; if( position > 9000 ){ position = position - 10000; - if( position >= 0 ) sprintf( str, "+%d", position ); - else sprintf( str, "%d", position ); - } else { - sprintf( str, "%d", position ); + + CString jumpValue; + if (position >= 0) { + jumpValue.Format("+%d", position); + } + else { + jumpValue.Format("%d", position); + } + SetDlgItemText(g_hDlgMap, Map[number].Id, jumpValue); + } + else { + SetDlgItemInt(g_hDlgMap, Map[number].Id, position, FALSE); } - SetDlgItemText( g_hDlgMap, Map[number].Id, str ); } else { - _itoa( mapAttribute[g_EditMapData][Map[number].Atr], str, 10 ); - SetDlgItemText( g_hDlgMap, Map[number].Id, str ); + SetDlgItemInt(g_hDlgMap, Map[number].Id, mapAttribute[g_EditMapData][Map[number].Atr], FALSE); } } } @@ -3180,103 +3264,114 @@ void DisplayMapDialog() } //^Cgo[eLXgݒ - char title[100]; - GetWindowText( g_hDlgMap, title, sizeof(title) ); - sprintf( str, "m%d. %s", g_EditMapData, title ); - SetWindowText( g_hDlgMap, str ); - GetWindowText( g_hDlgExtra, title, sizeof(title) ); - sprintf( str, "m%d. %s", g_EditMapData, title ); - SetWindowText( g_hDlgExtra, str ); + { + char title[BUFFER_STR_MAX]; + GetWindowText(g_hDlgMap, title, sizeof(title)); + sprintf_s(str, MESSAGE_STR_MAX, "m%d. %s", g_EditMapData, title); + SetWindowText(g_hDlgMap, str); + + GetWindowText(g_hDlgExtra, title, sizeof(title)); + sprintf_s(str, MESSAGE_STR_MAX, "m%d. %s", g_EditMapData, title); + SetWindowText(g_hDlgExtra, str); + } } //##------------------------------------------------------------------ // ̃f[^̌ - -void SetObjectData( HWND hWnd, int charaNumber ) +void SetObjectData(HWND hWnd, int charaNumber) { int i; int number; int length; char str[MESSAGE_STR_MAX]; - char strCut[50]; + char strCut[BUFFER_STR_MAX]; int type = objectAttribute[charaNumber][ATR_TYPE]; int position; //ݒ肳ĂȂ΃LZ - for( i = 0 ; i < OBJECT_ATR_MAX ; ++i ){ - if( objectAttribute[charaNumber][i] != 0 ) break; + for (i = 0; i < OBJECT_ATR_MAX; ++i) { + if (objectAttribute[charaNumber][i] != 0) break; } - if( i == OBJECT_ATR_MAX ) return; + if (i == OBJECT_ATR_MAX) return; //p[cԍ objectAttribute[charaNumber][ATR_0] = charaNumber; - if( (type == OBJECT_MESSAGE) || (type == OBJECT_MONSTER) || (type == OBJECT_ITEM) || (type == OBJECT_SCORE) - || (type == OBJECT_STATUS) || (type == OBJECT_DOOR) || (type == OBJECT_SELL) || (type == OBJECT_BUY) || (type == OBJECT_SELECT) ){ + if ((type == OBJECT_MESSAGE) || (type == OBJECT_MONSTER) || (type == OBJECT_ITEM) || (type == OBJECT_SCORE) + || (type == OBJECT_STATUS) || (type == OBJECT_DOOR) || (type == OBJECT_SELL) || (type == OBJECT_BUY) || (type == OBJECT_SELECT)) { //f[^̃Zbg - GetDlgItemText( hWnd, IDC_EDIT_MESSAGE, str, MESSAGE_STR_MAX ); - SetMessageData( &objectAttribute[charaNumber][ATR_STRING], str ); - } else if( type == OBJECT_URLGATE ){ - GetDlgItemText( hWnd, IDC_EDIT_URL, str, MESSAGE_STR_MAX ); - GetDlgItemText( hWnd, IDC_EDIT_TARGET, strCut, 50 ); - if( (strstr(strCut,"expand") != 0) || (strstr(strCut,"dwo`mc") != 0) ) strcpy( strCut, "EXPAND" ); - if( strlen(strCut) != 0 ){ + GetDlgItemText(hWnd, IDC_EDIT_MESSAGE, str, MESSAGE_STR_MAX); + SetMessageData(&objectAttribute[charaNumber][ATR_STRING], str); + } + else if (type == OBJECT_URLGATE) { + GetDlgItemText(hWnd, IDC_EDIT_URL, str, MESSAGE_STR_MAX); + GetDlgItemText(hWnd, IDC_EDIT_TARGET, strCut, 50); + if ((strstr(strCut, "expand") != 0) || (strstr(strCut, "dwo`mc") != 0)) { + strcpy_s(strCut, BUFFER_STR_MAX, "EXPAND"); + } + if (strlen(strCut) != 0) { length = strlen(str); str[length] = 0x0D; - str[length+1] = 0x0A; - str[length+2] = '\0'; - strcat( str, strCut ); + str[length + 1] = 0x0A; + str[length + 2] = '\0'; + strcat_s(str, MESSAGE_STR_MAX, strCut); } - SetMessageData( &objectAttribute[charaNumber][ATR_STRING], str ); + SetMessageData(&objectAttribute[charaNumber][ATR_STRING], str); } //lf[^ݒ - for( number = 0 ; number < 100 ; ++number ){ - if( Object[number].Object == END ) break; - if( Object[number].Object == type ){ - GetDlgItemText( hWnd, Object[number].Id, str, sizeof(str) ); - + for (number = 0; number < 100; ++number) { + if (Object[number].Object == END) break; + if (Object[number].Object == type) { + GetDlgItemText(hWnd, Object[number].Id, str, sizeof(str)); + //}CiXl̎w - if( ((Object[number].Atr == ATR_ENERGY) && (Object[number].Object == OBJECT_SELL)) - || ((Object[number].Atr == ATR_ENERGY) && (Object[number].Object == OBJECT_STATUS)) - || ((Object[number].Atr == ATR_STRENGTH) && (Object[number].Object == OBJECT_STATUS)) - || ((Object[number].Atr == ATR_DEFENCE) && (Object[number].Object == OBJECT_STATUS)) - || ((Object[number].Atr == ATR_GOLD) && (Object[number].Object == OBJECT_STATUS)) ){ - if( (atoi(str) < 0) && (atoi(str) >= -30000) ){ + if (((Object[number].Atr == ATR_ENERGY) && (Object[number].Object == OBJECT_SELL)) + || ((Object[number].Atr == ATR_ENERGY) && (Object[number].Object == OBJECT_STATUS)) + || ((Object[number].Atr == ATR_STRENGTH) && (Object[number].Object == OBJECT_STATUS)) + || ((Object[number].Atr == ATR_DEFENCE) && (Object[number].Object == OBJECT_STATUS)) + || ((Object[number].Atr == ATR_GOLD) && (Object[number].Object == OBJECT_STATUS))) { + if ((atoi(str) < 0) && (atoi(str) >= -30000)) { objectAttribute[charaNumber][Object[number].Atr] = 30000 - atoi(str); continue; - } else if( atoi(str) < -30000 ){ - sprintf( str, "u%sv̐l͈͂Kl𒴂Ă܂B\n -30000 ȏw肵ĂB", Object[number].Name ); - MessageBox( g_hWnd, str, "xI", MB_OK ); + } + else if (atoi(str) < -30000) { + sprintf_s(str, MESSAGE_STR_MAX, "u%sv̐l͈͂Kl𒴂Ă܂B\n -30000 ȏw肵ĂB", Object[number].Name); + MessageBox(g_hWnd, str, "xI", MB_OK); } } - if( (objectAttribute[g_EditObjectData][ATR_TYPE] == OBJECT_SELL) && (Object[number].Atr == ATR_ITEM) ){ - if( (objectAttribute[atoi(str)][ATR_TYPE] != OBJECT_ITEM) && (objectAttribute[atoi(str)][ATR_TYPE] != OBJECT_NORMAL) && (objectAttribute[atoi(str)][ATR_TYPE] != OBJECT_MESSAGE) ){ - MessageBox( g_hWnd, "ACeɂ́AXe[^Xωp[cȂǂ̃ACeȊÕp[c͎wł܂B", "xI", MB_OK ); + if ((objectAttribute[g_EditObjectData][ATR_TYPE] == OBJECT_SELL) && (Object[number].Atr == ATR_ITEM)) { + if ((objectAttribute[atoi(str)][ATR_TYPE] != OBJECT_ITEM) && (objectAttribute[atoi(str)][ATR_TYPE] != OBJECT_NORMAL) && (objectAttribute[atoi(str)][ATR_TYPE] != OBJECT_MESSAGE)) { + MessageBox(g_hWnd, "ACeɂ́AXe[^Xωp[cȂǂ̃ACeȊÕp[c͎wł܂B", "xI", MB_OK); continue; } } - if( (objectAttribute[g_EditObjectData][ATR_TYPE] == OBJECT_LOCALGATE) && ((Object[number].Atr == ATR_JUMP_X) || (Object[number].Atr == ATR_JUMP_Y)) ){ - int position = atoi( str ); - if( position >= g_iMapSize ){ - MessageBox( g_hWnd, "uWv̐l͈͂Kl𒴂Ă܂B\n }bvTCYȉw肵ĂB", "xI", MB_OK ); - } else if( (position < -100) || ((position > 100) && (str[0] == '+')) ){ - MessageBox( g_hWnd, "uWv̐l͈͂Kl𒴂Ă܂B\n -100ȏA100ȉw肵ĂB", "xI", MB_OK ); - } else { - if( (str[0] == '+') || (str[0] == '-') ) position += 10000; + if ((objectAttribute[g_EditObjectData][ATR_TYPE] == OBJECT_LOCALGATE) && ((Object[number].Atr == ATR_JUMP_X) || (Object[number].Atr == ATR_JUMP_Y))) { + int position = atoi(str); + if (position >= g_iMapSize) { + MessageBox(g_hWnd, "uWv̐l͈͂Kl𒴂Ă܂B\n }bvTCYȉw肵ĂB", "xI", MB_OK); + } + else if ((position < -100) || ((position > 100) && (str[0] == '+'))) { + MessageBox(g_hWnd, "uWv̐l͈͂Kl𒴂Ă܂B\n -100ȏA100ȉw肵ĂB", "xI", MB_OK); + } + else { + if ((str[0] == '+') || (str[0] == '-')) position += 10000; objectAttribute[charaNumber][Object[number].Atr] = position; } - } else if( (Object[number].Max != 0) && ((Object[number].Max < atoi(str)) || (atoi(str) < 0)) ){ - sprintf( str, "u%sv̐l͈͂Kl𒴂Ă܂B\n 0ȏ %d ȉw肵ĂB", Object[number].Name, Object[number].Max ); - MessageBox( g_hWnd, str, "xI", MB_OK ); - } else { - if( (objectAttribute[g_EditObjectData][ATR_TYPE] != OBJECT_LOCALGATE) && (objectAttribute[g_EditObjectData][ATR_TYPE] != OBJECT_RANDOM) && ((Object[number].Atr == ATR_MOVE) || (Object[number].Atr == ATR_MODE)) - || ((objectAttribute[g_EditObjectData][ATR_TYPE] == OBJECT_DOOR) && (Object[number].Atr == ATR_NUMBER)) ){ + } + else if ((Object[number].Max != 0) && ((Object[number].Max < atoi(str)) || (atoi(str) < 0))) { + sprintf_s(str, MESSAGE_STR_MAX, "u%sv̐l͈͂Kl𒴂Ă܂B\n 0ȏ %d ȉw肵ĂB", Object[number].Name, Object[number].Max); + MessageBox(g_hWnd, str, "xI", MB_OK); + } + else { + if ((objectAttribute[g_EditObjectData][ATR_TYPE] != OBJECT_LOCALGATE) && (objectAttribute[g_EditObjectData][ATR_TYPE] != OBJECT_RANDOM) && ((Object[number].Atr == ATR_MOVE) || (Object[number].Atr == ATR_MODE)) + || ((objectAttribute[g_EditObjectData][ATR_TYPE] == OBJECT_DOOR) && (Object[number].Atr == ATR_NUMBER))) { //R{{bNX̃f[^ - position = SendMessage( GetDlgItem(hWnd,Object[number].Id), CB_GETCURSEL, 0, 0 ); + position = SendMessage(GetDlgItem(hWnd, Object[number].Id), CB_GETCURSEL, 0, 0); objectAttribute[charaNumber][Object[number].Atr] = position; - } else { + } + else { //GfBbg{bNX objectAttribute[charaNumber][Object[number].Atr] = atoi(str); } @@ -3289,14 +3384,13 @@ void SetObjectData( HWND hWnd, int charaNumber ) //##------------------------------------------------------------------ // wif[^̌ - void SetMapData( HWND hWnd, int charaNumber ) { int i; int number; int length; char str[MESSAGE_STR_MAX]; - char strCut[50]; + char strCut[BUFFER_STR_MAX]; int type = mapAttribute[charaNumber][ATR_TYPE]; //ݒ肳ĂȂ΃LZ @@ -3308,44 +3402,51 @@ void SetMapData( HWND hWnd, int charaNumber ) //p[cԍ mapAttribute[charaNumber][ATR_0] = charaNumber; - if( (type == MAP_STREET) || (type == MAP_WALL) || (type == MAP_ITEMCHECK) ){ + if ((type == MAP_STREET) || (type == MAP_WALL) || (type == MAP_ITEMCHECK)) { //f[^̃Zbg - GetDlgItemText( hWnd, IDC_EDIT_MESSAGE, str, MESSAGE_STR_MAX ); - SetMessageData( &mapAttribute[charaNumber][ATR_STRING], str ); - } else if( type == MAP_URLGATE ){ - GetDlgItemText( hWnd, IDC_EDIT_URL, str, MESSAGE_STR_MAX ); - GetDlgItemText( hWnd, IDC_EDIT_TARGET, strCut, 50 ); - if( (strstr(strCut,"expand") != 0) || (strstr(strCut,"dwo`mc") != 0) ) strcpy( strCut, "EXPAND" ); - if( strlen(strCut) != 0 ){ + GetDlgItemText(hWnd, IDC_EDIT_MESSAGE, str, MESSAGE_STR_MAX); + SetMessageData(&mapAttribute[charaNumber][ATR_STRING], str); + } + else if (type == MAP_URLGATE) { + GetDlgItemText(hWnd, IDC_EDIT_URL, str, MESSAGE_STR_MAX); + GetDlgItemText(hWnd, IDC_EDIT_TARGET, strCut, 50); + if ((strstr(strCut, "expand") != 0) || (strstr(strCut, "dwo`mc") != 0)) { + strcpy_s(strCut, BUFFER_STR_MAX, "EXPAND"); + } + if (strlen(strCut) != 0) { length = strlen(str); str[length] = 0x0D; - str[length+1] = 0x0A; - str[length+2] = '\0'; - strcat( str, strCut ); + str[length + 1] = 0x0A; + str[length + 2] = '\0'; + strcat_s(str, MESSAGE_STR_MAX, strCut); } - SetMessageData( &mapAttribute[charaNumber][ATR_STRING], str ); + SetMessageData(&mapAttribute[charaNumber][ATR_STRING], str); } //lf[^ݒ - for( number = 0 ; number < 100 ; ++number ){ - if( Map[number].Object == END ) break; - if( Map[number].Object == type ){ - GetDlgItemText( hWnd, Map[number].Id, str, sizeof(str) ); - if( (Map[number].Atr == ATR_JUMP_X) || (Map[number].Atr == ATR_JUMP_Y) ){ - int position = atoi( str ); - if( position >= g_iMapSize ){ - MessageBox( g_hWnd, "uWv̐l͈͂Kl𒴂Ă܂B\n }bvTCYȉw肵ĂB", "xI", MB_OK ); - } else if( (position < -100) || ((position > 100) && (str[0] == '+')) ){ - MessageBox( g_hWnd, "uWv̐l͈͂Kl𒴂Ă܂B\n -100ȏA100ȉw肵ĂB", "xI", MB_OK ); - } else { - if( (str[0] == '+') || (str[0] == '-') ) position += 10000; + for (number = 0; number < 100; ++number) { + if (Map[number].Object == END) break; + if (Map[number].Object == type) { + GetDlgItemText(hWnd, Map[number].Id, str, sizeof(str)); + if ((Map[number].Atr == ATR_JUMP_X) || (Map[number].Atr == ATR_JUMP_Y)) { + int position = atoi(str); + if (position >= g_iMapSize) { + MessageBox(g_hWnd, "uWv̐l͈͂Kl𒴂Ă܂B\n }bvTCYȉw肵ĂB", "xI", MB_OK); + } + else if ((position < -100) || ((position > 100) && (str[0] == '+'))) { + MessageBox(g_hWnd, "uWv̐l͈͂Kl𒴂Ă܂B\n -100ȏA100ȉw肵ĂB", "xI", MB_OK); + } + else { + if ((str[0] == '+') || (str[0] == '-')) position += 10000; mapAttribute[charaNumber][Map[number].Atr] = position; } - } else { - if( (Map[number].Max != 0) && ((Map[number].Max < atoi(str)) || (atoi(str) < 0)) ){ - sprintf( str, "u%sv̐l͈͂Kl𒴂Ă܂B\n 0ȏA%dȉw肵ĂB", Map[number].Name, Map[number].Max ); - MessageBox( g_hWnd, str, "xI", MB_OK ); - } else { - mapAttribute[charaNumber][Map[number].Atr] = atoi( str ); + } + else { + if ((Map[number].Max != 0) && ((Map[number].Max < atoi(str)) || (atoi(str) < 0))) { + sprintf_s(str, MESSAGE_STR_MAX, "u%sv̐l͈͂Kl𒴂Ă܂B\n 0ȏA%dȉw肵ĂB", Map[number].Name, Map[number].Max); + MessageBox(g_hWnd, str, "xI", MB_OK); + } + else { + mapAttribute[charaNumber][Map[number].Atr] = atoi(str); } } } @@ -3363,7 +3464,7 @@ void AppearChara( int mapNumber, BOOL flag ) int dataChara; int dataMode; int x, y; - char str[30]; + char str[NUMBER_STR_MAX]; //gLN^Ef[^Ro[g for( i = 0 ; i < 10 ; ++i ){ @@ -3400,12 +3501,12 @@ void AppearChara( int mapNumber, BOOL flag ) SetDlgItemText( g_hDlgExtra, g_EditId[10+i], "P" ); } else if( x > 9000 ){ x -= 10000; - sprintf( str, "%d", x ); - if( x >= 0 ) sprintf( str, "+%d", x ); + sprintf_s(str, NUMBER_STR_MAX, "%d", x); + if (x >= 0) sprintf_s(str, NUMBER_STR_MAX, "+%d", x); SetDlgItemText( g_hDlgExtra, g_EditId[10+i], str ); } else { - sprintf( str, "%d", x ); - SetDlgItemText( g_hDlgExtra, g_EditId[10+i], str ); + sprintf_s(str, NUMBER_STR_MAX, "%d", x); + SetDlgItemText(g_hDlgExtra, g_EditId[10 + i], str); } //y = y >> 8; @@ -3413,15 +3514,15 @@ void AppearChara( int mapNumber, BOOL flag ) SetDlgItemText( g_hDlgExtra, g_EditId[20+i], "P" ); } else if( y > 9000 ){ y -= 10000; - sprintf( str, "%d", y ); - if( y >= 0 ) sprintf( str, "+%d", y ); + sprintf_s(str, NUMBER_STR_MAX, "%d", y); + if (y >= 0) sprintf_s(str, NUMBER_STR_MAX, "+%d", y); SetDlgItemText( g_hDlgExtra, g_EditId[20+i], str ); } else { - sprintf( str, "%d", y ); + sprintf_s(str, NUMBER_STR_MAX, "%d", y); SetDlgItemText( g_hDlgExtra, g_EditId[20+i], str ); } - sprintf( str, "%d", dataChara ); + sprintf_s(str, NUMBER_STR_MAX, "%d", dataChara); SetDlgItemText( g_hDlgExtra, g_EditId[i], str ); } } @@ -3436,13 +3537,13 @@ void SetAppearChara( int mapNumber, BOOL flag ) int i; int dataChara; int x, y; - char str[30]; - char partsNumberStr[30]; + char str[NUMBER_STR_MAX]; + char partsNumberStr[NUMBER_STR_MAX]; //gLN^Ef[^Ro[g for( i = 0 ; i < 10 ; ++i ){ GetDlgItemText( g_hDlgExtra, g_EditId[i], str, sizeof(str) ); - strcpy( partsNumberStr, str ); + strcpy_s(partsNumberStr, NUMBER_STR_MAX, str); // vX}CiXLɂp[cԍCNgEfNg if (str[0] == '+') { @@ -3488,16 +3589,18 @@ void SetAppearChara( int mapNumber, BOOL flag ) MessageBox( g_hWnd, "op[cẃuxWv̐l͈͂Kl𒴂Ă܂B\n}bvTCYȉŎw肵ĂB", "xI", MB_OK ); } else if( (y < -100) || ((str[0] == '+') && (y > 100)) ){ MessageBox( g_hWnd, "op[cẃu΂xWv̐l͈͂Kl𒴂Ă܂B\n -100 +100 ܂łŎw肵ĂB", "xI", MB_OK ); - } else { - if( (str[0] == '+') || (str[0] == '-') ) y += 10000; - else if( (str[0] == 'p') || (str[0] == 'P') ) y = 9000; - else if( (str[0] == '\0') && (partsNumberStr[0] != '\0') ) y = 10000; - + } + else { + if ((str[0] == '+') || (str[0] == '-')) y += 10000; + else if ((str[0] == 'p') || (str[0] == 'P')) y = 9000; + else if ((str[0] == '\0') && (partsNumberStr[0] != '\0')) y = 10000; + //y = y << 8; - if( flag == TRUE ){ - objectAttribute[mapNumber][20+i*4+2] = y; - } else { - mapAttribute[mapNumber][20+i*4+2] = y; + if (flag == TRUE) { + objectAttribute[mapNumber][20 + i * 4 + 2] = y; + } + else { + mapAttribute[mapNumber][20 + i * 4 + 2] = y; } } } @@ -3585,7 +3688,9 @@ LRESULT CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara else if ((atol(g_worldPassword) < 1000) && (atol(g_worldPassword) > 0)) { MessageBox(hWnd, "gNXgpȂꍇAbfh ɂXe[^XpȂȂꍇ́A\nێ̂߈Ïؔԍ͂ȂׂSȏɂĂƂ߂܂B\ngNX̋NXe[^XpłȂ悤ɂȂ܂B", "", MB_OK); } - if (g_worldPassword[0] != '\0') ltoa(atol(g_worldPassword), g_worldPassword, 10); + if (g_worldPassword[0] != '\0') { + _ltoa_s(atol(g_worldPassword), g_worldPassword, 10); + } GetDlgItemText(g_hDlgFoundation, IDC_COMBO_BMP, g_mapcgNameBmp, sizeof(g_mapcgNameBmp)); GetDlgItemText(g_hDlgFoundation, IDC_COMBO_GIF, g_mapcgName, sizeof(g_mapcgName)); @@ -3607,7 +3712,7 @@ LRESULT CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara } //퓬ʂ̌vZ else if (hWnd == g_hDlgCalculate) { - char str[50]; + char str[NUMBER_STR_MAX]; int strength, defence, energy; int strengthM, defenceM, energyM; int damagy = 0; @@ -3648,16 +3753,16 @@ LRESULT CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara } } } - if (turn == 0) sprintf(str, "U^[@--"); - else sprintf(str, "U^[@%d", turn); + if (turn == 0) sprintf_s(str, NUMBER_STR_MAX, "U^[@--"); + else sprintf_s(str, NUMBER_STR_MAX, "U^[@%d", turn); SetDlgItemText(hWnd, IDC_STATIC_TURN, str); - sprintf(str, "v[[@%d", damagy); + sprintf_s(str, NUMBER_STR_MAX, "v[[@%d", damagy); SetDlgItemText(hWnd, IDC_STATIC_RESULT1, str); - sprintf(str, "X^[@%d", damagyM); + sprintf_s(str, NUMBER_STR_MAX, "X^[@%d", damagyM); SetDlgItemText(hWnd, IDC_STATIC_RESULT2, str); - sprintf(str, "v[[@%d", attack); + sprintf_s(str, NUMBER_STR_MAX, "v[[@%d", attack); SetDlgItemText(hWnd, IDC_STATIC_RESULT3, str); - sprintf(str, "X^[@%d", attackM); + sprintf_s(str, NUMBER_STR_MAX, "X^[@%d", attackM); SetDlgItemText(hWnd, IDC_STATIC_RESULT4, str); } return 1; @@ -3668,10 +3773,10 @@ LRESULT CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara } // }bvTCYg else if (LOWORD(wParam) == IDC_BUTTON_MAPSIZE) { - char szStr[50]; + char szStr[NUMBER_STR_MAX]; g_iMapSize += 50; if (g_iMapSize > MAP_SIZE_MAX) g_iMapSize = MAP_SIZE_MAX; - sprintf(szStr, "%d~%d", g_iMapSize, g_iMapSize); + sprintf_s(szStr, NUMBER_STR_MAX, "%d~%d", g_iMapSize, g_iMapSize); SetDlgItemText(g_hDlgFoundation, IDC_EDIT_MAPSIZE, szStr); // XN[o[ݒ SetScrollRange(g_hWnd, SB_VERT, 0, (g_iMapSize - SCREEN_CHIP_SIZE), FALSE); @@ -3681,18 +3786,18 @@ LRESULT CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara else if (LOWORD(wParam) == IDC_BUTTON_MAP_PARTS) { g_iMapPartsMax += 50; if (g_iMapPartsMax > PARTS_NUMBER_MAX) g_iMapPartsMax = PARTS_NUMBER_MAX; - SetScrollRange(g_hDlgSelectMap, SB_VERT, 0, ((g_iMapPartsMax / 10) - 3), FALSE); + SetScrollRange(g_hDlgSelectMap, SB_VERT, 0, ((g_iMapPartsMax / DIALOG_MAP_SELECT_COLUMN) - DIALOG_MAP_SELECT_LINE), FALSE); char szStr[50]; - sprintf(szStr, "%d", g_iMapPartsMax); + sprintf_s(szStr, NUMBER_STR_MAX, "%d", g_iMapPartsMax); SetDlgItemText(g_hDlgFoundation, IDC_EDIT_MAP_PARTS, szStr); } // ̃p[cő吔g else if (LOWORD(wParam) == IDC_BUTTON_OBJ_PARTS) { g_iObjectPartsMax += 50; if (g_iObjectPartsMax > PARTS_NUMBER_MAX) g_iObjectPartsMax = PARTS_NUMBER_MAX; - SetScrollRange(g_hDlgSelectObject, SB_VERT, 0, ((g_iObjectPartsMax / 10) - 3), FALSE); + SetScrollRange(g_hDlgSelectObject, SB_VERT, 0, ((g_iObjectPartsMax / DIALOG_OBJECT_SELECT_COLUMN) - DIALOG_OBJECT_SELECT_LINE), FALSE); char szStr[50]; - sprintf(szStr, "%d", g_iObjectPartsMax); + sprintf_s(szStr, NUMBER_STR_MAX, "%d", g_iObjectPartsMax); SetDlgItemText(g_hDlgFoundation, IDC_EDIT_OBJ_PARTS, szStr); } break; @@ -3732,7 +3837,9 @@ LRESULT CALLBACK DialogProcBasicMes(HWND hWnd, UINT message, WPARAM wParam, LPAR //w蕶C int i; for (i = 5; i <= 9; ++i) { - if ((strstr(g_StrMessage[i], "blank") != 0) || (strstr(g_StrMessage[i], "ak`mj") != 0) || (strstr(g_StrMessage[i], "BLANK") != 0)) strcpy(g_StrMessage[i], "BLANK"); + if ((strstr(g_StrMessage[i], "blank") != 0) || (strstr(g_StrMessage[i], "ak`mj") != 0) || (strstr(g_StrMessage[i], "BLANK") != 0)) { + strcpy_s(g_StrMessage[i], MESSAGE_STR_MAX, "BLANK"); + } } DestroyWindow(hWnd); return 1; @@ -3747,7 +3854,6 @@ LRESULT CALLBACK DialogProcBasicMes(HWND hWnd, UINT message, WPARAM wParam, LPAR } - //##------------------------------------------------------------------ // pX[h_CAOvV[W LRESULT CALLBACK DialogProcPassword(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) @@ -3816,6 +3922,7 @@ LRESULT CALLBACK DialogProcExtraObject(HWND hWnd, UINT message, WPARAM wParam, L } if (wParam == IDOK) { DestroyWindow(g_hDlgObject); + return 1; } break; } @@ -3855,6 +3962,7 @@ LRESULT CALLBACK DialogProcExtraMap(HWND hWnd, UINT message, WPARAM wParam, LPAR } if (wParam == IDOK) { DestroyWindow(g_hDlgMap); + return 1; } break; } @@ -3887,7 +3995,7 @@ void SetMessageData(int* point, char* str) //bZ[Wio[ݒ if ((strlen(str) > 0) && (*point == 0)) { - for (number = 10; number < MESSAGE_NUMBER_MAX; ++number) { + for (number = MESSAGE_FIRST_CHARA; number < MESSAGE_NUMBER_MAX; ++number) { for (i = 0; i < PARTS_NUMBER_MAX; ++i) { if ((objectAttribute[i][ATR_STRING] == number) || (mapAttribute[i][ATR_STRING] == number)) { break; @@ -3901,7 +4009,7 @@ void SetMessageData(int* point, char* str) } *point = number; //bZ[Wi[ - strcpy(g_StrMessage[*point], str); + strcpy_s(g_StrMessage[*point], MESSAGE_STR_MAX, str); } else if (strlen(str) == 0) { g_StrMessage[*point][0] = '\0'; @@ -3909,7 +4017,7 @@ void SetMessageData(int* point, char* str) } else { //bZ[Wi[ - strcpy(g_StrMessage[*point], str); + strcpy_s(g_StrMessage[*point], MESSAGE_STR_MAX, str); } } @@ -3957,10 +4065,10 @@ void MakeNewMap() g_mapcgNameBmp[0] = '\0'; g_mapcgName[0] = '\0'; g_mapcgOld[0] = '\0'; - strcpy(g_szSelectFile, "newmap.dat"); + strcpy_s(g_szSelectFile, FILE_PATH_STR_MAX, "newmap.dat"); //^CgeLXgݒ - char sTitle[100]; - sprintf(sTitle, "%s [%s]", g_szTitleName, g_szSelectFile); + char sTitle[BUFFER_STR_MAX]; + sprintf_s(sTitle, BUFFER_STR_MAX, "%s [%s]", g_szTitleName, g_szSelectFile); SetWindowText(g_hWnd, sTitle); //{ݒ̕ҏW @@ -3981,29 +4089,19 @@ void MakeNewMap() // {ݒ_CAO void EditMapFoundation() { - char str[100]; DestroyWindow(g_hDlgFoundation); g_hDlgFoundation = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_DIALOG_FOUNDATION), g_hWnd, (DLGPROC)DialogProc); //lf[^} - _itoa(statusEnergyMax, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_ENERGYMAX, str); - _itoa(statusEnergy, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_INIENERGY, str); - _itoa(statusStrength, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_INISTRENGTH, str); - _itoa(statusDefence, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_INIDEFENCE, str); - _itoa(statusGold, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_INIGOLD, str); - _itoa(charaX, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_INIX, str); - _itoa(charaY, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_INIY, str); - _itoa(gameoverXp, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_GVX, str); - _itoa(gameoverYp, str, 10); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_GVY, str); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_ENERGYMAX, statusEnergyMax, FALSE); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_INIENERGY, statusEnergy, FALSE); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_INISTRENGTH, statusStrength, FALSE); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_INIDEFENCE, statusDefence, FALSE); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_INIGOLD, statusGold, FALSE); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_INIX, charaX, FALSE); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_INIY, charaY, FALSE); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_GVX, gameoverXp, FALSE); + SetDlgItemInt(g_hDlgFoundation, IDC_EDIT_GVY, gameoverYp, FALSE); //eLXgf[^} SetDlgItemText(g_hDlgFoundation, IDC_EDIT_WORLDNAME, g_worldName); @@ -4020,12 +4118,21 @@ void EditMapFoundation() SetDlgItemText(g_hDlgFoundation, IDC_COMBO_GIF, g_mapcgName); //eTCYf[^} - sprintf(str, "%d~%d", g_iMapSize, g_iMapSize); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_MAPSIZE, str); - sprintf(str, "%d", g_iMapPartsMax); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_MAP_PARTS, str); - sprintf(str, "%d", g_iObjectPartsMax); - SetDlgItemText(g_hDlgFoundation, IDC_EDIT_OBJ_PARTS, str); + { + CString mapSizeStr; + mapSizeStr.Format("%d~%d", g_iMapSize, g_iMapSize); + SetDlgItemText(g_hDlgFoundation, IDC_EDIT_MAPSIZE, mapSizeStr); + } + { + CString mapPartsMaxStr; + mapPartsMaxStr.Format("%d", g_iMapPartsMax); + SetDlgItemText(g_hDlgFoundation, IDC_EDIT_MAP_PARTS, mapPartsMaxStr); + } + { + CString objectPartsMaxStr; + objectPartsMaxStr.Format("%d", g_iObjectPartsMax); + SetDlgItemText(g_hDlgFoundation, IDC_EDIT_OBJ_PARTS, objectPartsMaxStr); + } } @@ -4133,7 +4240,6 @@ BOOL ExecBrowser() " \n" " \n" " \n" - " \n" " " + MapWorldName + "\n" "\n" "\n" @@ -4142,7 +4248,6 @@ BOOL ExecBrowser() " id=\"wwa-wrapper\"\n" " class=\"wwa-size-box\"\n" " data-wwa-mapdata=\"" + MapDataFileName + "\"\n" - " data-wwa-loader=\"wwaload.js\"\n" " data-wwa-urlgate-enable=\"true\"\n" " data-wwa-title-img=\"cover.gif\"\n" " >\n" @@ -4263,25 +4368,43 @@ BOOL ReadGifImage() int cxPerInch; int cyPerInch; long dx, dy; - char szStr[300]; // g_iColorTp = 0; g_bFileNotFound = FALSE; //摜t@Cǂݍ - if ((han = CreateFile(g_mapcgName, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)) == INVALID_HANDLE_VALUE) { - sprintf(szStr, "GIF摜t@Cu%svI[vł܂B\nt@C݂邩ÃAvP[VɂgpĂȂmFĂB", g_mapcgName); - MessageBox(g_hWnd, szStr, "", MB_OK); - g_bFileNotFound = TRUE; + try { + han = CreateFile(g_mapcgName, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (han == INVALID_HANDLE_VALUE) { + throw TRUE; + } + siz = GetFileSize(han, NULL); + hgb = GlobalAlloc(GPTR, siz); + BOOL readResult = ReadFile(han, hgb, siz, &dw, NULL); + if (readResult == FALSE) { + throw FALSE; + } + CloseHandle(han); + + //Xg[쐬 + HRESULT streamResult; + streamResult = CreateStreamOnHGlobal(hgb, TRUE, &ist); + if (streamResult == E_INVALIDARG || streamResult == E_OUTOFMEMORY) { + throw FALSE; + } + } + // 摜f[^̓ǍɎsꍇ + catch (BOOL fileNotFound) + { + g_bFileNotFound = fileNotFound; + + char errorStr[FILE_PATH_STR_MAX]; + sprintf_s(errorStr, FILE_PATH_STR_MAX, "GIF摜t@Cu%svI[vł܂B\nt@C݂邩ÃAvP[VɂgpĂȂmFĂB", g_mapcgName); + MessageBox(g_hWnd, errorStr, "", MB_OK); return FALSE; } - siz = GetFileSize(han, NULL); - hgb = GlobalAlloc(GPTR, siz); - ReadFile(han, hgb, siz, &dw, NULL); - CloseHandle(han); - //Xg[쐬 - CreateStreamOnHGlobal(hgb, TRUE, &ist); + //C[W[h OleLoadPicture(ist, siz, TRUE, IID_IPicture, (LPVOID*)& ipi); diff --git a/WinWwamk.ini b/WinWwamk.ini index 2819bae..750f597 100644 --- a/WinWwamk.ini +++ b/WinWwamk.ini @@ -1,4 +1,3 @@ [Main] -TemplateFile=template.html -PositionX=20 -PositionY=20 +PositionX=0 +PositionY=0 diff --git a/resource.h b/resource.h index cac7474..5e2baca 100644 --- a/resource.h +++ b/resource.h @@ -32,6 +32,8 @@ #define IDD_DIALOG_QVIEW 130 #define IDD_DIALOG_LOCALGATE_OBJ 131 #define IDD_DIALOG_BASICMES 132 +#define IDD_DIALOG1 134 +#define IDD_DIALOG_MINIMAP 134 #define IDC_BUTTON_EDITMAP 1000 #define IDC_BUTTON_MAP_ERASE 1001 #define IDC_COMBO_OBJECT 1002 @@ -156,8 +158,13 @@ #define IDC_EDIT_PARTS_NUMBER 1097 #define IDC_STATIC_PARTS_NUMBER 1098 #define IDC_STATIC_CURRENT_POSITION 1101 -#define IDC_EDIT3 1102 #define IDC_EDIT_CURRENT_POSITION 1102 +#define IDC_EDIT_PARTS_MESSAGE 1103 +#define IDC_PICTURE_PARTS_IMAGE 1104 +#define IDC_STATIC_NUMBER 1105 +#define IDC_PICTURE_QVIEW 1106 +#define IDC_STATIC_QVIEW_NUMBER 1107 +#define IDC_STATIC_QVIEW_TYPE 1108 #define ID_MENUITEM40001 40001 #define ID_MENU_NEW 40001 #define ID_MENUITEM40002 40002 @@ -201,14 +208,15 @@ #define ID_Menu 40036 #define ID_MARKDRAW 40037 #define ID_MENU_MARKDRAW 40038 +#define ID_MENU_MINIWINDOW 40039 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 134 -#define _APS_NEXT_COMMAND_VALUE 40039 -#define _APS_NEXT_CONTROL_VALUE 1103 +#define _APS_NEXT_RESOURCE_VALUE 138 +#define _APS_NEXT_COMMAND_VALUE 40040 +#define _APS_NEXT_CONTROL_VALUE 1109 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif