diff --git a/Utils/MapEdit/ExportHdr.h b/Utils/MapEdit/ExportHdr.h index 479bf36d6..5914768e4 100644 --- a/Utils/MapEdit/ExportHdr.h +++ b/Utils/MapEdit/ExportHdr.h @@ -152,6 +152,8 @@ struct sLayerThingTrigger int TriggerTargetY; int TriggerTargetW; int TriggerTargetH; + int TriggerVal0; + int TriggerVal1; }; struct sLayerThingFX diff --git a/Utils/MapEdit/GUILayerTrigger.cpp b/Utils/MapEdit/GUILayerTrigger.cpp index 0b554a97f..95565ce9a 100644 --- a/Utils/MapEdit/GUILayerTrigger.cpp +++ b/Utils/MapEdit/GUILayerTrigger.cpp @@ -32,6 +32,9 @@ void CGUILayerTrigger::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CGUILayerTrigger) + DDX_Control(pDX, IDC_TRIGGER_VAL0, m_Val0); + DDX_Control(pDX, IDC_TRIGGER_TEXT_VAL0, m_ValText); + DDX_Control(pDX, IDC_TRIGGER_VAL0_SPIN, m_ValSpin); DDX_Control(pDX, IDC_TRIGGER_TARGETW_SPIN, m_TargetWSpin); DDX_Control(pDX, IDC_TRIGGER_TARGETH_SPIN, m_TargetHSpin); DDX_Control(pDX, IDC_TRIGGER_TEXT_TARGET_WH, m_TargetWHTxt); @@ -58,6 +61,7 @@ BEGIN_MESSAGE_MAP(CGUILayerTrigger, CDialog) ON_EN_CHANGE(IDC_TRIGGER_TARGETY, OnParamChange) ON_EN_CHANGE(IDC_TRIGGER_TARGETH, OnParamChange) ON_EN_CHANGE(IDC_TRIGGER_TARGETW, OnParamChange) + ON_EN_CHANGE(IDC_TRIGGER_VAL0, OnParamChange) //}}AFX_MSG_MAP END_MESSAGE_MAP() diff --git a/Utils/MapEdit/GUILayerTrigger.h b/Utils/MapEdit/GUILayerTrigger.h index 73039c896..26909e159 100644 --- a/Utils/MapEdit/GUILayerTrigger.h +++ b/Utils/MapEdit/GUILayerTrigger.h @@ -19,6 +19,9 @@ public: // Dialog Data //{{AFX_DATA(CGUILayerTrigger) enum { IDD = IDD_LAYER_TRIGGER }; + CEdit m_Val0; + CStatic m_ValText; + CSpinButtonCtrl m_ValSpin; CSpinButtonCtrl m_TargetWSpin; CSpinButtonCtrl m_TargetHSpin; CStatic m_TargetWHTxt; diff --git a/Utils/MapEdit/LayerTrigger.cpp b/Utils/MapEdit/LayerTrigger.cpp index e97a93c56..199a058da 100644 --- a/Utils/MapEdit/LayerTrigger.cpp +++ b/Utils/MapEdit/LayerTrigger.cpp @@ -197,6 +197,7 @@ void CLayerTrigger::GUIInit(CCore *Core) GUITrigger.m_TargetYSpin.SetRange(0,32000); GUITrigger.m_TargetWSpin.SetRange(1,32000); GUITrigger.m_TargetHSpin.SetRange(1,32000); + GUITrigger.m_ValSpin.SetRange(1,32000); } /*****************************************************************************/ @@ -237,6 +238,7 @@ void CLayerTrigger::GUIThingUpdate(bool OnlySel) { int TargetXYMode=SW_HIDE; int TargetWHMode=SW_HIDE; +int ValMode=SW_HIDE; GUIThingUpdateList(GUIThing.m_List,false); // Params @@ -250,6 +252,7 @@ int TargetWHMode=SW_HIDE; GUITrigger.SetVal(GUITrigger.m_TargetY,ThisThing.Data.Trigger.TriggerTargetY); GUITrigger.SetVal(GUITrigger.m_TargetW,ThisThing.Data.Trigger.TriggerTargetW); GUITrigger.SetVal(GUITrigger.m_TargetH,ThisThing.Data.Trigger.TriggerTargetH); + GUITrigger.SetVal(GUITrigger.m_Val0,ThisThing.Data.Trigger.TriggerVal0); if (ThingScript.GetInt(ThisThing.Name,"HasTarget")) { TargetXYMode=SW_SHOW; @@ -259,6 +262,10 @@ int TargetWHMode=SW_HIDE; TargetXYMode=SW_SHOW; TargetWHMode=SW_SHOW; } + if (ThingScript.GetInt(ThisThing.Name,"HasVal")) + { + ValMode=SW_SHOW; + } } else { @@ -278,6 +285,10 @@ int TargetWHMode=SW_HIDE; GUITrigger.m_TargetWSpin.ShowWindow(TargetWHMode); GUITrigger.m_TargetHSpin.ShowWindow(TargetWHMode); + GUITrigger.m_ValText.ShowWindow(ValMode); + GUITrigger.m_Val0.ShowWindow(ValMode); + GUITrigger.m_ValSpin.ShowWindow(ValMode); + GUITrigger.DisableCallback(false); } @@ -299,6 +310,7 @@ void CLayerTrigger::GUIChanged(CCore *Core) ThisThing.Data.Trigger.TriggerTargetY=GUITrigger.GetVal(GUITrigger.m_TargetY); ThisThing.Data.Trigger.TriggerTargetW=GUITrigger.GetVal(GUITrigger.m_TargetW); ThisThing.Data.Trigger.TriggerTargetH=GUITrigger.GetVal(GUITrigger.m_TargetH); + ThisThing.Data.Trigger.TriggerVal0=GUITrigger.GetVal(GUITrigger.m_Val0); } } diff --git a/Utils/MapEdit/MapEdit.clw b/Utils/MapEdit/MapEdit.clw index 3cd1ddf5f..c7b327935 100644 --- a/Utils/MapEdit/MapEdit.clw +++ b/Utils/MapEdit/MapEdit.clw @@ -2,7 +2,7 @@ [General Info] Version=1 -LastClass=CMapEditDoc +LastClass=CGUILayerTrigger LastTemplate=CDialog NewFileInclude1=#include "stdafx.h" NewFileInclude2=#include "mapedit.h" @@ -37,26 +37,26 @@ Class25=CMapEditDoc Class26=CMapEditView ResourceCount=21 -Resource1=IDD_LAYER_LIST -Resource2=IDD_TILEBANK -Resource3=IDD_LAYER_THING_POS -Resource4=IDD_ADDLAYER -Resource5=IDD_LAYER_TRIGGER -Resource6=IDR_TOOLBAR (English (U.S.)) -Resource7=IDD_MULTIBAR (English (U.S.)) -Resource8=IDR_MAINFRAME (English (U.S.)) -Resource9=IDD_LAYER_FX -Resource10=IDD_TOOLBAR -Resource11=IDD_LAYER_COLLISION -Resource12=IDD_ABOUTBOX (English (U.S.)) -Resource13=IDD_LAYER_PLATFORM -Resource14=IDD_NEWMAP -Resource15=IDD_LAYER_THING -Resource16=IDD_LAYER_SHADE +Resource1=IDD_NEWMAP +Resource2=IDD_LAYER_SHADE +Resource3=IDD_LAYER_TRIGGER +Resource4=IDD_TOOLBAR +Resource5=IDR_TOOLBAR (English (U.S.)) +Resource6=IDD_ABOUTBOX (English (U.S.)) +Resource7=IDD_RESIZE +Resource8=IDD_MULTIBAR (English (U.S.)) +Resource9=IDR_MAINFRAME (English (U.S.)) +Resource10=IDD_LAYER_COLLISION +Resource11=IDD_LAYER_ACTOR +Resource12=IDD_LAYER_LIST +Resource13=IDD_LAYER_FX +Resource14=IDD_TILEBANK +Resource15=IDD_LAYER_PLATFORM +Resource16=IDD_ELEMLIST Resource17=IDR_MAPEDITYPE (English (U.S.)) -Resource18=IDD_RESIZE -Resource19=IDD_ELEMLIST -Resource20=IDD_LAYER_ACTOR +Resource18=IDD_ADDLAYER +Resource19=IDD_LAYER_THING +Resource20=IDD_LAYER_THING_POS Resource21=IDD_LAYER_HAZARD [CLS:CChildFrame] @@ -160,7 +160,7 @@ HeaderFile=GUILayerTrigger.h ImplementationFile=GUILayerTrigger.cpp Filter=D VirtualFilter=dWC -LastObject=IDC_TRIGGER_TARGETW +LastObject=IDC_TRIGGER_VAL0_SPIN [CLS:CGUIMultiBar] Type=0 @@ -437,7 +437,7 @@ Control4=IDC_THING_POS_DELETE,button,1342242816 [DLG:IDD_LAYER_TRIGGER] Type=1 Class=CGUILayerTrigger -ControlCount=15 +ControlCount=18 Control1=IDC_TRIGGER_SIZE,static,1342308354 Control2=IDC_TRIGGER_WIDTH,edit,1350633600 Control3=IDC_TRIGGER_WIDTH_SPIN,msctls_updown32,1342177334 @@ -453,6 +453,9 @@ Control12=IDC_TRIGGER_TARGETW,edit,1350633600 Control13=IDC_TRIGGER_TARGETW_SPIN,msctls_updown32,1342177334 Control14=IDC_TRIGGER_TARGETH,edit,1350633600 Control15=IDC_TRIGGER_TARGETH_SPIN,msctls_updown32,1342177334 +Control16=IDC_TRIGGER_TEXT_VAL0,static,1342308354 +Control17=IDC_TRIGGER_VAL0,edit,1350633600 +Control18=IDC_TRIGGER_VAL0_SPIN,msctls_updown32,1342177334 [DLG:IDD_MULTIBAR] Type=1 diff --git a/Utils/MapEdit/MapEdit.rc b/Utils/MapEdit/MapEdit.rc index da9b5e384..3a9900a0e 100644 --- a/Utils/MapEdit/MapEdit.rc +++ b/Utils/MapEdit/MapEdit.rc @@ -781,7 +781,7 @@ BEGIN UDS_ARROWKEYS,75,70,11,10 END -IDD_LAYER_TRIGGER DIALOG DISCARDABLE 0, 0, 156, 71 +IDD_LAYER_TRIGGER DIALOG DISCARDABLE 0, 0, 156, 101 STYLE WS_CHILD FONT 8, "MS Sans Serif" BEGIN @@ -796,28 +796,34 @@ BEGIN CONTROL "Spin1",IDC_TRIGGER_HEIGHT_SPIN,"msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,135,0,11,10 - RTEXT "Target",IDC_TRIGGER_TARGET,0,25,22,8 - EDITTEXT IDC_TRIGGER_TARGETX,25,25,35,12,ES_AUTOHSCROLL | + RTEXT "Target",IDC_TRIGGER_TARGET,0,35,22,8 + EDITTEXT IDC_TRIGGER_TARGETX,25,35,35,12,ES_AUTOHSCROLL | ES_READONLY CONTROL "Spin1",IDC_TRIGGER_TARGETX_SPIN,"msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | - UDS_ARROWKEYS,125,20,11,10 - EDITTEXT IDC_TRIGGER_TARGETY,60,25,35,12,ES_AUTOHSCROLL | + UDS_ARROWKEYS,125,30,11,10 + EDITTEXT IDC_TRIGGER_TARGETY,60,35,35,12,ES_AUTOHSCROLL | ES_READONLY CONTROL "Spin1",IDC_TRIGGER_TARGETY_SPIN,"msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | - UDS_ARROWKEYS,135,20,11,10 - RTEXT "WH",IDC_TRIGGER_TEXT_TARGET_WH,0,40,14,8 - EDITTEXT IDC_TRIGGER_TARGETW,25,40,35,12,ES_AUTOHSCROLL | + UDS_ARROWKEYS,135,30,11,10 + RTEXT "WH",IDC_TRIGGER_TEXT_TARGET_WH,0,50,14,8 + EDITTEXT IDC_TRIGGER_TARGETW,25,50,35,12,ES_AUTOHSCROLL | ES_READONLY CONTROL "Spin1",IDC_TRIGGER_TARGETW_SPIN,"msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | - UDS_ARROWKEYS,125,35,11,10 - EDITTEXT IDC_TRIGGER_TARGETH,60,40,35,12,ES_AUTOHSCROLL | + UDS_ARROWKEYS,125,45,11,10 + EDITTEXT IDC_TRIGGER_TARGETH,60,50,35,12,ES_AUTOHSCROLL | ES_READONLY CONTROL "Spin1",IDC_TRIGGER_TARGETH_SPIN,"msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | - UDS_ARROWKEYS,135,35,11,10 + UDS_ARROWKEYS,135,45,11,10 + RTEXT "Val0",IDC_TRIGGER_TEXT_VAL0,0,20,15,8 + EDITTEXT IDC_TRIGGER_VAL0,25,20,35,12,ES_AUTOHSCROLL | + ES_READONLY + CONTROL "Spin1",IDC_TRIGGER_VAL0_SPIN,"msctls_updown32", + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | + UDS_ARROWKEYS,125,20,11,10 END IDD_LAYER_FX DIALOG DISCARDABLE 0, 0, 156, 56 @@ -996,7 +1002,7 @@ BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 149 TOPMARGIN, 7 - BOTTOMMARGIN, 64 + BOTTOMMARGIN, 94 END IDD_LAYER_FX, DIALOG diff --git a/Utils/MapEdit/resource.h b/Utils/MapEdit/resource.h index fc0539414..4ea8b5629 100644 --- a/Utils/MapEdit/resource.h +++ b/Utils/MapEdit/resource.h @@ -162,6 +162,9 @@ #define IDC_FX_SPEED 1151 #define IDC_TRIGGER_TARGETH 1151 #define IDC_FX_SPEED_SPIN 1152 +#define IDC_TRIGGER_TEXT_VAL0 1152 +#define IDC_TRIGGER_VAL0 1153 +#define IDC_TRIGGER_VAL0_SPIN 1154 #define IDC_TRIGGER_HEIGHT_SPIN 1163 #define IDC_TRIGGER_TARGETY_SPIN 1164 #define IDC_TRIGGER_TARGETH_SPIN 1165 diff --git a/Utils/MkLevel/Layers/MkLevelLayerTrigger.cpp b/Utils/MkLevel/Layers/MkLevelLayerTrigger.cpp index 408585f19..39442d74c 100644 --- a/Utils/MkLevel/Layers/MkLevelLayerTrigger.cpp +++ b/Utils/MkLevel/Layers/MkLevelLayerTrigger.cpp @@ -58,6 +58,8 @@ int i,ListSize=ThingList.size(); OutThing.TargetPos.Y=ThisThing.Data.Trigger.TriggerTargetY; OutThing.TargetSize.X=ThisThing.Data.Trigger.TriggerTargetW; OutThing.TargetSize.Y=ThisThing.Data.Trigger.TriggerTargetH; + OutThing.Val0=ThisThing.Data.Trigger.TriggerVal0; + OutThing.Val1=ThisThing.Data.Trigger.TriggerVal1; fwrite(&OutThing,sizeof(sThingTrigger),1,File); } diff --git a/tools/Data/bin/MkLevel.exe b/tools/Data/bin/MkLevel.exe index b28add9a8..4e5aed5f8 100644 Binary files a/tools/Data/bin/MkLevel.exe and b/tools/Data/bin/MkLevel.exe differ diff --git a/tools/Data/include/dstructs.h b/tools/Data/include/dstructs.h index 5a1edb64f..ff32dceb4 100644 --- a/tools/Data/include/dstructs.h +++ b/tools/Data/include/dstructs.h @@ -364,7 +364,8 @@ struct sThingTrigger u8 Width,Height; sThingPoint TargetPos; sThingPoint TargetSize; -}; // 8 + u16 Val0,Val1; +}; // 12 struct sThingHazard { diff --git a/tools/MapEdit/MapEdit.exe b/tools/MapEdit/MapEdit.exe index 58ea0d253..6d123dc7b 100644 Binary files a/tools/MapEdit/MapEdit.exe and b/tools/MapEdit/MapEdit.exe differ