This commit is contained in:
Daveo 2001-05-05 21:18:12 +00:00
parent 16645de3b0
commit b26a6d76bb
38 changed files with 517 additions and 137 deletions

View file

@ -84,8 +84,8 @@ int Width,Height;
#ifdef _DEBUG
// AddLayer(LAYER_TYPE_SHADE,LAYER_SUBTYPE_NONE, Width, Height);
// AddLayer(LAYER_TYPE_TRIGGER,LAYER_SUBTYPE_NONE, Width, Height);
AddLayer(LAYER_TYPE_PLATFORM,LAYER_SUBTYPE_NONE, Width, Height);
// AddLayer(LAYER_TYPE_HAZARD,LAYER_SUBTYPE_NONE, Width, Height);
// AddLayer(LAYER_TYPE_PLATFORM,LAYER_SUBTYPE_NONE, Width, Height);
AddLayer(LAYER_TYPE_HAZARD,LAYER_SUBTYPE_NONE, Width, Height);
// AddLayer(LAYER_TYPE_FX,LAYER_SUBTYPE_NONE, Width, Height);
// AddLayer(LAYER_TYPE_ACTOR,LAYER_SUBTYPE_NONE, Width, Height);
// AddLayer(LAYER_TYPE_ITEM,LAYER_SUBTYPE_NONE, Width, Height);
@ -98,7 +98,7 @@ int Width,Height;
ActiveLayer=FindLayer(LAYER_TYPE_TILE,LAYER_SUBTYPE_ACTION);
#ifdef _DEBUG
ActiveLayer=FindLayer(LAYER_TYPE_PLATFORM,LAYER_SUBTYPE_NONE);
ActiveLayer=FindLayer(LAYER_TYPE_HAZARD,LAYER_SUBTYPE_NONE);
if (ActiveLayer<0) ActiveLayer=0;
#endif
CurrentLayer=Layer[ActiveLayer];
@ -258,6 +258,7 @@ CLayer *ThisLayer;
for (int i=StartLayer; i<EndLayer; i++)
{
ThisLayer->LoadGfx(this);
if (ThisLayer->IsVisible())
{
ThisLayer->Render(this,ThisCam,Is3dFlag);

View file

@ -277,7 +277,7 @@ int ListSize=TriList.size();
GString TexName=SceneTexList[TexID];
ThisName=SetPath+TexName;
TRACE2("%i !%s!\n",TexID,ThisName);
// TRACE2("%i !%s!\n",TexID,ThisName);
TexID=TexCache.ProcessTexture(ThisName);
}
// Sort Rest of Tri info

View file

@ -210,6 +210,8 @@ virtual bool MouseMove(CCore *Core,UINT nFlags, CPoint &CursorPos) {return
virtual bool Command(int CmdMsg,CCore *Core,int Param0=0,int Param1=0) {return(false);}
CPoint GetElemPos(int ID,int Width);
virtual void LoadGfx(CCore *Core){}
// Local
virtual bool CanClose() {return(true);}

View file

@ -183,6 +183,7 @@ std::vector<sTriFace> &ElemTriList=ThisElem.GetTriList();
OutTri.uv[p][0]=InTri.uvs[p].u;
OutTri.uv[p][1]=InTri.uvs[p].v;
}
OutTri.Flags=InTri.Flags;
TriList.push_back(OutTri);
}
}

View file

@ -141,6 +141,7 @@ struct sLayerThingPlatform
int PlatformMoveType;
int PlatformTriStart;
int PlatformTriCount;
int PlatformParam0;
};
struct sLayerThingTrigger
@ -149,6 +150,8 @@ struct sLayerThingTrigger
int TriggerHeight;
int TriggerTargetX;
int TriggerTargetY;
int TriggerTargetW;
int TriggerTargetH;
};
struct sLayerThingFX

View file

@ -32,6 +32,9 @@ void CGUILayerPlatform::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CGUILayerPlatform)
DDX_Control(pDX, IDC_PLATFORM_PARAM_SPIN, m_Param0Spin);
DDX_Control(pDX, IDC_PLATFORM_PARAM0_TEXT, m_Param0Txt);
DDX_Control(pDX, IDC_PLATFORM_PARAM0, m_Param0);
DDX_Control(pDX, IDC_PLATFORM_TURNRATE_SPIN, m_TurnRateSpin);
DDX_Control(pDX, IDC_PLATFORM_SPEED_SPIN, m_SpeedSpin);
DDX_Control(pDX, IDC_PLATFORM_TYPE, m_Type);

View file

@ -19,6 +19,9 @@ public:
// Dialog Data
//{{AFX_DATA(CGUILayerPlatform)
enum { IDD = IDD_LAYER_PLATFORM };
CSpinButtonCtrl m_Param0Spin;
CStatic m_Param0Txt;
CEdit m_Param0;
CSpinButtonCtrl m_TurnRateSpin;
CSpinButtonCtrl m_SpeedSpin;
CComboBox m_Type;

View file

@ -30,6 +30,8 @@ void CGUILayerShade::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CGUILayerShade)
DDX_Control(pDX, IDC_LAYERSHADE_GFX_YSPIN, m_GfxPosYSpin);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_XSPIN, m_GfxPosXSpin);
DDX_Control(pDX, IDC_LAYERSHADE_DEF_LIST, m_DefList);
DDX_Control(pDX, IDC_LAYERSHADE_SHADECOUNT_SPIN, m_ShadeCountSpin);
DDX_Control(pDX, IDC_LAYERSHADE_SHADECOUNT, m_ShadeCount);
@ -48,9 +50,7 @@ void CGUILayerShade::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_LAYERSHADE_GFX_CURRENT_SPIN, m_GfxCurrentSpin);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_CURRENT, m_GfxCurrent);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_LIST, m_GfxBankList);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_XSPIN, m_GfxPosXSpin);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_X, m_GfxPosX);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_YSPIN, m_GfxPosYSpin);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_Y, m_GfxPosY);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_SPIN_X0, m_GfxSpinx0);
DDX_Control(pDX, IDC_LAYERSHADE_GFX_SPIN_Y0, m_GfxSpiny0);

View file

@ -22,6 +22,8 @@ public:
// Dialog Data
//{{AFX_DATA(CGUILayerShade)
enum { IDD = IDD_LAYER_SHADE };
CSpinButtonCtrl m_GfxPosYSpin;
CSpinButtonCtrl m_GfxPosXSpin;
CComboBox m_DefList;
CSpinButtonCtrl m_ShadeCountSpin;
CEdit m_ShadeCount;
@ -40,9 +42,7 @@ public:
CSpinButtonCtrl m_GfxCurrentSpin;
CEdit m_GfxCurrent;
CComboBox m_GfxBankList;
CEdit m_GfxPosXSpin;
CEdit m_GfxPosX;
CEdit m_GfxPosYSpin;
CEdit m_GfxPosY;
CSpinButtonCtrl m_GfxSpinx0;
CSpinButtonCtrl m_GfxSpiny0;

View file

@ -32,6 +32,11 @@ void CGUILayerTrigger::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CGUILayerTrigger)
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);
DDX_Control(pDX, IDC_TRIGGER_TARGETW, m_TargetW);
DDX_Control(pDX, IDC_TRIGGER_TARGETH, m_TargetH);
DDX_Control(pDX, IDC_TRIGGER_TARGET, m_TargetTxt);
DDX_Control(pDX, IDC_TRIGGER_TARGETY_SPIN, m_TargetYSpin);
DDX_Control(pDX, IDC_TRIGGER_TARGETX_SPIN, m_TargetXSpin);
@ -51,6 +56,8 @@ BEGIN_MESSAGE_MAP(CGUILayerTrigger, CDialog)
ON_EN_CHANGE(IDC_TRIGGER_WIDTH, OnParamChange)
ON_EN_CHANGE(IDC_TRIGGER_TARGETX, OnParamChange)
ON_EN_CHANGE(IDC_TRIGGER_TARGETY, OnParamChange)
ON_EN_CHANGE(IDC_TRIGGER_TARGETH, OnParamChange)
ON_EN_CHANGE(IDC_TRIGGER_TARGETW, OnParamChange)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

View file

@ -19,6 +19,11 @@ public:
// Dialog Data
//{{AFX_DATA(CGUILayerTrigger)
enum { IDD = IDD_LAYER_TRIGGER };
CSpinButtonCtrl m_TargetWSpin;
CSpinButtonCtrl m_TargetHSpin;
CStatic m_TargetWHTxt;
CEdit m_TargetW;
CEdit m_TargetH;
CStatic m_TargetTxt;
CSpinButtonCtrl m_TargetYSpin;
CSpinButtonCtrl m_TargetXSpin;

View file

@ -70,6 +70,7 @@ virtual bool IsVisible() {return(LayerDef.VisibleFlag);}
virtual int GetType() {return(LayerDef.Type);}
virtual int GetSubType() {return(LayerDef.SubType);}
virtual void LoadGfx(CCore *Core)=0;
virtual void Render(CCore *Core,Vector3 &CamPos,bool Is3d){};
virtual void Render4TGA(const char *Filename){}

View file

@ -166,3 +166,18 @@ void CLayerHazard::GUIChanged(CCore *Core)
}
}
/*****************************************************************************/
void CLayerHazard::Export(CCore *Core,CExport &Exp)
{
CLayerThing::Export(Core,Exp);
}
/*****************************************************************************/
void CLayerHazard::ExportThingData(CCore *Core,CExport &Exp,sLayerThing &ThisThing,sLayerThingData &OutThing)
{
CElem &ThisElem=ThingBank->GetElem(ThisThing.ElemID,0);
Exp.ExportElem3d(Core,ThisElem,OutThing.Hazard.HazardTriStart,OutThing.Hazard.HazardTriCount);
}

View file

@ -34,6 +34,9 @@ public:
void GUIThingUpdate(bool OnlySel=false);
void GUIThingPointUpdate(bool OnlySel=false);
void Export(CCore *Core,CExport &Exp);
void ExportThingData(CCore *Core,CExport &Exp,sLayerThing &ThisThing,sLayerThingData &OutThing);
protected:
CGUILayerHazard GUIHazard;

View file

@ -58,7 +58,6 @@ sLayerThingDataOLD OldThing;
ThisThing.Data.Platform.PlatformCollisionFlag=OldThing.CollisionFlag;
ThisThing.Data.Platform.PlatformTriCount=OldThing.TriCount; // Not needed but what the hell!!
ThisThing.Data.Platform.PlatformTriStart=OldThing.TriStart; // Not needed but what the hell!!
}
@ -75,6 +74,7 @@ void CLayerPlatform::GUIInit(CCore *Core)
GUIPlatform.m_SpeedSpin.SetRange(0,255);
GUIPlatform.m_TurnRateSpin.SetRange(0,255);
GUIPlatform.m_Param0Spin.SetRange(0,255);
// Init type lists
{
@ -89,6 +89,10 @@ CComboBox &List=GUIPlatform.m_Type;
List.AddString("Weighted");
List.AddString("Rotating");
}
GUIPlatform.m_Param0Txt.ShowWindow(SW_HIDE);
GUIPlatform.m_Param0.ShowWindow(SW_HIDE);
GUIPlatform.m_Param0Spin.ShowWindow(SW_HIDE);
}
/*****************************************************************************/
@ -139,6 +143,22 @@ void CLayerPlatform::GUIThingUpdate(bool OnlySel)
GUIPlatform.m_Collision.SetCheck(ThisThing.Data.Platform.PlatformCollisionFlag);
GUIPlatform.m_MoveList.SetCurSel(ThisThing.Data.Platform.PlatformMoveType);
GUIPlatform.m_Type.SetCurSel(ThisThing.Data.Platform.PlatformType);
// Additional Params
char *Param0Txt=ThingScript.GetStr(ThisThing.Name,"Param0");
if (Param0Txt)
{
GUIPlatform.m_Param0Txt.SetWindowText(Param0Txt);
GUIPlatform.SetVal(GUIPlatform.m_Param0,ThisThing.Data.Platform.PlatformParam0);
GUIPlatform.m_Param0Txt.ShowWindow(SW_SHOW);
GUIPlatform.m_Param0.ShowWindow(SW_SHOW);
GUIPlatform.m_Param0Spin.ShowWindow(SW_SHOW);
}
else
{
GUIPlatform.m_Param0Txt.ShowWindow(SW_HIDE);
GUIPlatform.m_Param0.ShowWindow(SW_HIDE);
GUIPlatform.m_Param0Spin.ShowWindow(SW_HIDE);
}
}
else
{
@ -147,6 +167,7 @@ void CLayerPlatform::GUIThingUpdate(bool OnlySel)
GUIPlatform.m_Collision.SetCheck(false);
GUIPlatform.m_MoveList.SetCurSel(-1);
GUIPlatform.m_Type.SetCurSel(-1);
}
GUIPlatform.DisableCallback(false);
}
@ -168,6 +189,7 @@ void CLayerPlatform::GUIChanged(CCore *Core)
ThisThing.Data.Platform.PlatformCollisionFlag=GUIPlatform.m_Collision.GetCheck()!=0;
ThisThing.Data.Platform.PlatformMoveType=GUIPlatform.m_MoveList.GetCurSel();
ThisThing.Data.Platform.PlatformType=GUIPlatform.m_Type.GetCurSel();
ThisThing.Data.Platform.PlatformParam0=GUIPlatform.GetVal(GUIPlatform.m_Param0);
SetThingParams(ThisThing);
}
}

View file

@ -49,6 +49,7 @@ protected:
CGUILayerPlatform GUIPlatform;
};
/*****************************************************************************/

View file

@ -143,12 +143,12 @@ int i;
// Load GfxList
File->Read(&GfxCount,sizeof(int));
GfxList.resize(GfxCount);
for (i=0; i<GfxCount; i++)
{
sLayerShadeGfx &ThisGfx=GfxList[i];
File->Read(&ThisGfx,sizeof(sLayerShadeGfx));
}
if (GfxCount) CurrentGfx=0;
}
}
@ -243,7 +243,6 @@ float ZoomH=Core->GetZoomH();
Vector3 &Scale=Core->GetScaleVector();
Vector3 ScrOfs(ZoomW/2,ZoomH/2,0);
int i;
if (GfxBank->NeedLoad()) GfxBank->LoadAllSets(Core);
CElem Elem=GfxBank->GetElem(ThisGfx.Gfx,0);
@ -323,6 +322,7 @@ int i,ListSize;
GUIShade.m_GfxTransList.AddString("Subtractive");
GUIShade.m_GfxTransList.AddString("Another one");
GUIShade.m_GfxPosXSpin.SetRange(0,32000); GUIShade.m_GfxPosYSpin.SetRange(0,32000);
GUIShade.m_GfxSpinx0.SetRange(-32,+32); GUIShade.m_GfxSpiny0.SetRange(-32,+32);
GUIShade.m_GfxSpinx1.SetRange(-32,+32); GUIShade.m_GfxSpiny1.SetRange(-32,+32);
GUIShade.m_GfxSpinx2.SetRange(-32,+32); GUIShade.m_GfxSpiny2.SetRange(-32,+32);
@ -388,7 +388,7 @@ sLayerShadeGfx &ThisGfx=GfxList[CurrentGfx];
void CLayerShade::GUIChanged(CCore *Core)
{
int i,ListSize;
int LastGfx=CurrentGfx;
// Shade
for (i=0; i<LAYER_SHADE_MAX; i++)
{
@ -396,13 +396,12 @@ int i,ListSize;
}
GUIShade.GetVal(GUIShade.m_ShadeCount,ShadeCount,2,4);
// Gfx
GUIShade.GetVal(GUIShade.m_GfxCurrent,CurrentGfx);
ListSize=GfxList.size();
GUIShade.GetVal(GUIShade.m_GfxCurrent,ListSize,0,ListSize);
if (!ListSize || CurrentGfx==-1) return;
sLayerShadeGfx &ThisGfx=GfxList[CurrentGfx];
GUIShade.GetVal(GUIShade.m_GfxCurrent,ListSize,0,ListSize);
GUIShade.GetVal(GUIShade.m_GfxPosX,ThisGfx.Pos.x);
GUIShade.GetVal(GUIShade.m_GfxPosY,ThisGfx.Pos.y);
ThisGfx.Gfx=GUIShade.m_GfxBankList.GetCurSel();
@ -417,7 +416,10 @@ sLayerShadeGfx &ThisGfx=GfxList[CurrentGfx];
GUIShade.GetVal(GUIShade.m_Gfxx3,ThisGfx.Ofs[3].x); GUIShade.GetVal(GUIShade.m_Gfxy3,ThisGfx.Ofs[3].y);
ThisGfx.TransMode=GUIShade.m_GfxTransList.GetCurSel();
GUIUpdate(Core);
if (CurrentGfx!=LastGfx)
{
GUIUpdate(Core);
}
}
/*****************************************************************************/

View file

@ -57,6 +57,7 @@ public:
void Save(CFile *File);
void Export(CCore *Core,CExport &Exp);
virtual void LoadGfx(CCore *Core) {if (GfxBank->NeedLoad()) GfxBank->LoadAllSets(Core);}
// Functions
bool LButtonControl(CCore *Core,UINT nFlags, CPoint &CursorPos,bool DownFlag);

View file

@ -228,7 +228,6 @@ Vector3 ScrOfs(ZoomW/2,ZoomH/2,0);
ScrOfs.z=-4.0f;
}
if (ThingBank->NeedLoad()) ThingBank->LoadAllSets(Core);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
@ -353,6 +352,7 @@ bool Ret=false;
SelectThing(CursorPos);
break;
case MouseModeNew:
GUIChanged(Core);
AddThing(CursorPos);
break;
case MouseModePoints:

View file

@ -56,6 +56,8 @@ virtual void GUIChanged(CCore *Core);
int GetWidth();
int GetHeight();
virtual void LoadGfx(CCore *Core) {if (ThingBank->NeedLoad()) ThingBank->LoadAllSets(Core);}
virtual void GUIThingDefClear(){};
virtual void GUIThingUpdate(bool OnlySel=false){};
virtual void GUIThingUpdateList(CComboBox &List,bool OnlySel=false);

View file

@ -232,6 +232,16 @@ Vector3 Ofs;
}
}
/*****************************************************************************/
void CLayerTile::LoadGfx(CCore *Core)
{
if (TileBank->NeedLoad())
{
TileBank->LoadAllSets(Core);
Core->Validate(GetType());
}
}
/*****************************************************************************/
void CLayerTile::Render(CCore *Core,Vector3 &ThisCam,CMap &ThisMap,bool Render3d,float Alpha,Vector3 *Ofs)
{
@ -248,12 +258,6 @@ int StartY=(int)ThisCam.y;
float ShiftX=ThisCam.x - (int)ThisCam.x;
float ShiftY=ThisCam.y - (int)ThisCam.y;
if (TileBank->NeedLoad())
{
TileBank->LoadAllSets(Core);
Core->Validate(GetType());
}
if (StartX<0) StartX=0;
if (StartY<0) StartY=0;

View file

@ -52,7 +52,7 @@ virtual void GUIChanged(CCore *Core);
void Validate(CCore *Core);
void Export(CCore *Core,CExport &Exp);
void LoadGfx(CCore *Core);
// Functions
virtual bool LButtonControl(CCore *Core,UINT nFlags, CPoint &point,bool DownFlag);
virtual bool RButtonControl(CCore *Core,UINT nFlags, CPoint &point,bool DownFlag);

View file

@ -84,6 +84,7 @@ float Col=0.8f,A=0.8f;
glTranslatef(-ThisCam.x,ThisCam.y,0); // Set scroll offset
glTranslatef(-ScrOfs.x,ScrOfs.y,0); // Bring to top left corner
glPushMatrix();
glTranslatef(ThisThing.XY[0].x,-ThisThing.XY[0].y,0); // Set Pos
Core->RenderNumber(0);
@ -139,6 +140,39 @@ float H=-(ThisThing.Data.Trigger.TriggerHeight);
glEnd();
}
glPopMatrix();
if (Selected && ThingScript.GetInt(ThisThing.Name,"HasBox"))
{ // Draw Box
glTranslatef(ThisThing.Data.Trigger.TriggerTargetX,-ThisThing.Data.Trigger.TriggerTargetY,0); // Set Pos
W=ThisThing.Data.Trigger.TriggerTargetW;
H=-ThisThing.Data.Trigger.TriggerTargetH;
glBegin (GL_QUADS); // Draw Box
glColor4f(Col-0.25f,0,0,A/2.0f);
glVertex3f(0,0+1,0);
glVertex3f(W,0+1,0);
glVertex3f(W,H+1,0);
glVertex3f(0,H+1,0);
glEnd();
// Draw OutLine
glBegin(GL_LINES);
glColor4f(Col,Col,Col,A);
glVertex3f( 0,0+1,0);
glVertex3f( W,0+1,0);
glVertex3f( W,0+1,0);
glVertex3f( W,H+1,0);
glVertex3f( W,H+1,0);
glVertex3f( 0,H+1,0);
glVertex3f( 0,H+1,0);
glVertex3f( 0,0+1,0);
glEnd();
}
@ -157,10 +191,12 @@ void CLayerTrigger::GUIInit(CCore *Core)
Core->GUIAdd(GUIThing,IDD_LAYER_THING);
Core->GUIAdd(GUITrigger,IDD_LAYER_TRIGGER);
GUITrigger.DisableCallback(false);
GUITrigger.m_WidthSpin.SetRange(1,255);
GUITrigger.m_HeightSpin.SetRange(1,255);
GUITrigger.m_WidthSpin.SetRange(1,32000);
GUITrigger.m_HeightSpin.SetRange(1,32000);
GUITrigger.m_TargetXSpin.SetRange(0,32000);
GUITrigger.m_TargetYSpin.SetRange(0,32000);
GUITrigger.m_TargetWSpin.SetRange(1,32000);
GUITrigger.m_TargetHSpin.SetRange(1,32000);
}
/*****************************************************************************/
@ -199,7 +235,8 @@ CComboBox &List=GUIThing.m_DefList;
/*****************************************************************************/
void CLayerTrigger::GUIThingUpdate(bool OnlySel)
{
int TargetMode=SW_SHOW;
int TargetXYMode=SW_HIDE;
int TargetWHMode=SW_HIDE;
GUIThingUpdateList(GUIThing.m_List,false);
// Params
@ -211,23 +248,35 @@ int TargetMode=SW_SHOW;
GUITrigger.SetVal(GUITrigger.m_Height,ThisThing.Data.Trigger.TriggerHeight);
GUITrigger.SetVal(GUITrigger.m_TargetX,ThisThing.Data.Trigger.TriggerTargetX);
GUITrigger.SetVal(GUITrigger.m_TargetY,ThisThing.Data.Trigger.TriggerTargetY);
if (ThingScript.GetInt(ThisThing.Name,"HasTarget")==0)
GUITrigger.SetVal(GUITrigger.m_TargetW,ThisThing.Data.Trigger.TriggerTargetW);
GUITrigger.SetVal(GUITrigger.m_TargetH,ThisThing.Data.Trigger.TriggerTargetH);
if (ThingScript.GetInt(ThisThing.Name,"HasTarget"))
{
TargetMode=SW_HIDE;
TargetXYMode=SW_SHOW;
}
if (ThingScript.GetInt(ThisThing.Name,"HasBox"))
{
TargetXYMode=SW_SHOW;
TargetWHMode=SW_SHOW;
}
}
else
{
GUITrigger.m_Width.SetWindowText("");
GUITrigger.m_Height.SetWindowText("");
TargetMode=SW_HIDE;
}
GUITrigger.m_TargetTxt.ShowWindow(TargetMode);
GUITrigger.m_TargetX.ShowWindow(TargetMode);
GUITrigger.m_TargetY.ShowWindow(TargetMode);
GUITrigger.m_TargetXSpin.ShowWindow(TargetMode);
GUITrigger.m_TargetYSpin.ShowWindow(TargetMode);
GUITrigger.m_TargetTxt.ShowWindow(TargetXYMode);
GUITrigger.m_TargetX.ShowWindow(TargetXYMode);
GUITrigger.m_TargetY.ShowWindow(TargetXYMode);
GUITrigger.m_TargetXSpin.ShowWindow(TargetXYMode);
GUITrigger.m_TargetYSpin.ShowWindow(TargetXYMode);
GUITrigger.m_TargetWHTxt.ShowWindow(TargetWHMode);
GUITrigger.m_TargetW.ShowWindow(TargetWHMode);
GUITrigger.m_TargetH.ShowWindow(TargetWHMode);
GUITrigger.m_TargetWSpin.ShowWindow(TargetWHMode);
GUITrigger.m_TargetHSpin.ShowWindow(TargetWHMode);
GUITrigger.DisableCallback(false);
}
@ -248,6 +297,8 @@ void CLayerTrigger::GUIChanged(CCore *Core)
ThisThing.Data.Trigger.TriggerHeight=GUITrigger.GetVal(GUITrigger.m_Height);
ThisThing.Data.Trigger.TriggerTargetX=GUITrigger.GetVal(GUITrigger.m_TargetX);
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);
}
}
@ -257,4 +308,8 @@ void CLayerTrigger::SetThingParams(sLayerThing &Thing)
Thing.Data.WaypointCount=1;
if (Thing.Data.Trigger.TriggerWidth<1) Thing.Data.Trigger.TriggerWidth=1;
if (Thing.Data.Trigger.TriggerHeight<1) Thing.Data.Trigger.TriggerHeight=1;
Thing.Data.Trigger.TriggerTargetX=Thing.XY[0].x; // Default target Pos
Thing.Data.Trigger.TriggerTargetY=Thing.XY[0].y;
Thing.Data.Trigger.TriggerTargetW=1;
Thing.Data.Trigger.TriggerTargetH=1;
}

View file

@ -2,7 +2,7 @@
[General Info]
Version=1
LastClass=CGUINewMap
LastClass=CGUILayerShade
LastTemplate=CDialog
NewFileInclude1=#include "stdafx.h"
NewFileInclude2=#include "mapedit.h"
@ -37,27 +37,27 @@ Class25=CMapEditDoc
Class26=CMapEditView
ResourceCount=21
Resource1=IDD_LAYER_COLLISION
Resource1=IDD_LAYER_HAZARD
Resource2=IDR_MAPEDITYPE (English (U.S.))
Resource3=IDD_ELEMLIST
Resource3=IDD_LAYER_COLLISION
Resource4=IDD_MULTIBAR (English (U.S.))
Resource5=IDD_LAYER_THING
Resource6=IDR_TOOLBAR (English (U.S.))
Resource7=IDD_LAYER_PLATFORM
Resource8=IDD_LAYER_TRIGGER
Resource9=IDD_TILEBANK
Resource10=IDD_NEWMAP
Resource11=IDR_MAINFRAME (English (U.S.))
Resource12=IDD_ABOUTBOX (English (U.S.))
Resource13=IDD_LAYER_ACTOR
Resource14=IDD_LAYER_LIST
Resource15=IDD_RESIZE
Resource16=IDD_LAYER_THING_POS
Resource17=IDD_ADDLAYER
Resource18=IDD_LAYER_FX
Resource19=IDD_TOOLBAR
Resource20=IDD_LAYER_SHADE
Resource21=IDD_LAYER_HAZARD
Resource5=IDD_LAYER_ACTOR
Resource6=IDD_LAYER_THING_POS
Resource7=IDD_LAYER_FX
Resource8=IDD_LAYER_PLATFORM
Resource9=IDD_ADDLAYER
Resource10=IDD_RESIZE
Resource11=IDD_LAYER_LIST
Resource12=IDD_LAYER_TRIGGER
Resource13=IDD_ELEMLIST
Resource14=IDR_TOOLBAR (English (U.S.))
Resource15=IDD_ABOUTBOX (English (U.S.))
Resource16=IDD_LAYER_THING
Resource17=IDD_NEWMAP
Resource18=IDR_MAINFRAME (English (U.S.))
Resource19=IDD_TILEBANK
Resource20=IDD_TOOLBAR
Resource21=IDD_LAYER_SHADE
[CLS:CChildFrame]
Type=0
@ -125,6 +125,9 @@ Type=0
BaseClass=CDialog
HeaderFile=GUILayerPlatform.h
ImplementationFile=GUILayerPlatform.cpp
Filter=D
VirtualFilter=dWC
LastObject=IDC_PLATFORM_PARAM_SPIN
[CLS:CGUILayerShade]
Type=0
@ -133,7 +136,7 @@ HeaderFile=GUILayerShade.h
ImplementationFile=GUILayerShade.cpp
Filter=D
VirtualFilter=dWC
LastObject=CGUILayerShade
LastObject=IDC_LAYERSHADE_GFX_XSPIN
[CLS:CGUILayerThing]
Type=0
@ -152,6 +155,9 @@ Type=0
BaseClass=CDialog
HeaderFile=GUILayerTrigger.h
ImplementationFile=GUILayerTrigger.cpp
Filter=D
VirtualFilter=dWC
LastObject=IDC_TRIGGER_TARGETW
[CLS:CGUIMultiBar]
Type=0
@ -317,7 +323,7 @@ Control3=IDC_LAYERLIST_DELETE,button,1342242816
[DLG:IDD_LAYER_PLATFORM]
Type=1
Class=CGUILayerPlatform
ControlCount=9
ControlCount=12
Control1=IDC_PLATFORM_SPEED_TEXT,static,1342308354
Control2=IDC_PLATFORM_SPEED,edit,1350633600
Control3=IDC_PLATFORM_SPEED_SPIN,msctls_updown32,1342177334
@ -327,6 +333,9 @@ Control6=IDC_PLATFORM_TURNRATE_SPIN,msctls_updown32,1342177334
Control7=IDC_PLATFORM_COLLISION,button,1342243363
Control8=IDC_PLATFORM_MOVE_TYPE,combobox,1344339971
Control9=IDC_PLATFORM_TYPE,combobox,1344339971
Control10=IDC_PLATFORM_PARAM0_TEXT,static,1342308354
Control11=IDC_PLATFORM_PARAM0,edit,1350633600
Control12=IDC_PLATFORM_PARAM_SPIN,msctls_updown32,1342177334
[DLG:IDD_LAYER_SHADE]
Type=1
@ -416,7 +425,7 @@ Control4=IDC_THING_POS_DELETE,button,1342242816
[DLG:IDD_LAYER_TRIGGER]
Type=1
Class=CGUILayerTrigger
ControlCount=10
ControlCount=15
Control1=IDC_TRIGGER_SIZE,static,1342308354
Control2=IDC_TRIGGER_WIDTH,edit,1350633600
Control3=IDC_TRIGGER_WIDTH_SPIN,msctls_updown32,1342177334
@ -427,6 +436,11 @@ Control7=IDC_TRIGGER_TARGETX,edit,1350633600
Control8=IDC_TRIGGER_TARGETX_SPIN,msctls_updown32,1342177334
Control9=IDC_TRIGGER_TARGETY,edit,1350633600
Control10=IDC_TRIGGER_TARGETY_SPIN,msctls_updown32,1342177334
Control11=IDC_TRIGGER_TEXT_TARGET_WH,static,1342308354
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
[DLG:IDD_MULTIBAR]
Type=1

View file

@ -644,16 +644,16 @@ BEGIN
ES_NUMBER | WS_GROUP
EDITTEXT IDC_LAYERSHADE_GFXB3,120,220,20,12,ES_AUTOHSCROLL |
ES_NUMBER | WS_GROUP
EDITTEXT IDC_LAYERSHADE_GFX_X,30,150,25,10,ES_AUTOHSCROLL |
EDITTEXT IDC_LAYERSHADE_GFX_X,30,150,35,10,ES_AUTOHSCROLL |
ES_READONLY | NOT WS_TABSTOP
CONTROL "Spin1",IDC_LAYERSHADE_GFX_XSPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,95,145,11,15
EDITTEXT IDC_LAYERSHADE_GFX_Y,55,150,25,10,ES_AUTOHSCROLL |
UDS_ARROWKEYS,124,146,11,15
EDITTEXT IDC_LAYERSHADE_GFX_Y,65,150,35,10,ES_AUTOHSCROLL |
ES_READONLY | NOT WS_TABSTOP
CONTROL "Spin3",IDC_LAYERSHADE_GFX_YSPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,110,145,11,15
UDS_ARROWKEYS,139,146,11,15
COMBOBOX IDC_LAYERSHADE_DEF_LIST,5,85,145,100,CBS_DROPDOWNLIST
END
@ -736,7 +736,7 @@ BEGIN
PUSHBUTTON "Pos Delete",IDC_THING_POS_DELETE,100,60,45,15
END
IDD_LAYER_PLATFORM DIALOG DISCARDABLE 0, 0, 156, 76
IDD_LAYER_PLATFORM DIALOG DISCARDABLE 0, 0, 156, 96
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
BEGIN
@ -759,34 +759,51 @@ BEGIN
WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_PLATFORM_TYPE,5,15,145,60,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
RTEXT "",IDC_PLATFORM_PARAM0_TEXT,5,70,35,8
EDITTEXT IDC_PLATFORM_PARAM0,41,70,35,12,ES_AUTOHSCROLL |
ES_READONLY
CONTROL "Spin1",IDC_PLATFORM_PARAM_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,75,70,11,10
END
IDD_LAYER_TRIGGER DIALOG DISCARDABLE 0, 0, 156, 46
IDD_LAYER_TRIGGER DIALOG DISCARDABLE 0, 0, 156, 71
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
BEGIN
RTEXT "Size",IDC_TRIGGER_SIZE,5,5,17,8
EDITTEXT IDC_TRIGGER_WIDTH,25,5,24,12,ES_AUTOHSCROLL |
EDITTEXT IDC_TRIGGER_WIDTH,25,5,35,12,ES_AUTOHSCROLL |
ES_READONLY
CONTROL "Spin1",IDC_TRIGGER_WIDTH_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,90,5,11,10
EDITTEXT IDC_TRIGGER_HEIGHT,50,5,25,12,ES_AUTOHSCROLL |
UDS_ARROWKEYS,125,0,11,10
EDITTEXT IDC_TRIGGER_HEIGHT,60,5,35,12,ES_AUTOHSCROLL |
ES_READONLY
CONTROL "Spin1",IDC_TRIGGER_HEIGHT_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,100,5,11,10
UDS_ARROWKEYS,135,0,11,10
RTEXT "Target",IDC_TRIGGER_TARGET,0,25,22,8
EDITTEXT IDC_TRIGGER_TARGETX,25,25,24,12,ES_AUTOHSCROLL |
EDITTEXT IDC_TRIGGER_TARGETX,25,25,35,12,ES_AUTOHSCROLL |
ES_READONLY
CONTROL "Spin1",IDC_TRIGGER_TARGETX_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,90,25,11,10
EDITTEXT IDC_TRIGGER_TARGETY,50,25,25,12,ES_AUTOHSCROLL |
UDS_ARROWKEYS,125,20,11,10
EDITTEXT IDC_TRIGGER_TARGETY,60,25,35,12,ES_AUTOHSCROLL |
ES_READONLY
CONTROL "Spin1",IDC_TRIGGER_TARGETY_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,100,25,11,10
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 |
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 |
ES_READONLY
CONTROL "Spin1",IDC_TRIGGER_TARGETH_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,135,35,11,10
END
IDD_LAYER_FX DIALOG DISCARDABLE 0, 0, 156, 56
@ -795,18 +812,18 @@ FONT 8, "MS Sans Serif"
BEGIN
RTEXT "Speed",IDC_FX_SPEED_TEXT,5,25,20,8
RTEXT "Size",IDC_FX_SIZE_TEXT,5,5,17,8
EDITTEXT IDC_FX_WIDTH,25,5,24,12,ES_AUTOHSCROLL | ES_READONLY
EDITTEXT IDC_FX_WIDTH,25,5,35,12,ES_AUTOHSCROLL | ES_READONLY
CONTROL "Spin1",IDC_FX_WIDTH_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,90,5,11,10
EDITTEXT IDC_FX_HEIGHT,50,5,25,12,ES_AUTOHSCROLL | ES_READONLY
UDS_ARROWKEYS,120,5,11,10
EDITTEXT IDC_FX_HEIGHT,60,5,35,12,ES_AUTOHSCROLL | ES_READONLY
CONTROL "Spin1",IDC_FX_HEIGHT_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,100,5,11,10
EDITTEXT IDC_FX_SPEED,25,25,24,12,ES_AUTOHSCROLL | ES_READONLY
UDS_ARROWKEYS,130,5,11,10
EDITTEXT IDC_FX_SPEED,25,25,35,12,ES_AUTOHSCROLL | ES_READONLY
CONTROL "Spin2",IDC_FX_SPEED_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS | UDS_NOTHOUSANDS,50,25,11,13
UDS_ARROWKEYS | UDS_NOTHOUSANDS,130,25,11,13
END
IDD_LAYER_HAZARD DIALOG DISCARDABLE 0, 0, 156, 96
@ -957,7 +974,7 @@ BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 149
TOPMARGIN, 7
BOTTOMMARGIN, 69
BOTTOMMARGIN, 89
END
IDD_LAYER_TRIGGER, DIALOG
@ -965,7 +982,7 @@ BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 149
TOPMARGIN, 7
BOTTOMMARGIN, 39
BOTTOMMARGIN, 64
END
IDD_LAYER_FX, DIALOG

View file

@ -130,8 +130,11 @@
#define IDC_PLATFORM_MOVE_TYPE 1138
#define IDC_PLATFORM_TYPE 1139
#define IDC_TRIGGER_SIZE 1140
#define IDC_PLATFORM_PARAM0_TEXT 1140
#define IDC_TRIGGER_WIDTH 1141
#define IDC_PLATFORM_PARAM0 1141
#define IDC_TRIGGER_HEIGHT 1142
#define IDC_PLATFORM_PARAM_SPIN 1142
#define IDC_TRIGGER_WIDTH_SPIN 1143
#define IDC_FX_SPEED_TEXT 1144
#define IDC_TRIGGER_TARGET 1144
@ -141,12 +144,18 @@
#define IDC_FX_WIDTH 1147
#define IDC_TRIGGER_TARGETY 1147
#define IDC_FX_HEIGHT 1148
#define IDC_TRIGGER_TEXT_TARGET_WH 1148
#define IDC_FX_WIDTH_SPIN 1149
#define IDC_TRIGGER_TARGETW 1149
#define IDC_FX_HEIGHT_SPIN 1150
#define IDC_TRIGGER_TARGETW_SPIN 1150
#define IDC_FX_SPEED 1151
#define IDC_TRIGGER_TARGETH 1151
#define IDC_FX_SPEED_SPIN 1152
#define IDC_TRIGGER_HEIGHT_SPIN 1163
#define IDC_TRIGGER_TARGETY_SPIN 1164
#define IDC_TRIGGER_TARGETY_SPIN2 1165
#define IDC_TRIGGER_TARGETH_SPIN 1165
#define IDC_HAZARD_SPEED_TEXT 1169
#define IDC_HAZARD_TURNRATE_TEXT 1170
#define IDC_HAZARD_HEALTH_TEXT 1171
@ -186,7 +195,6 @@
#define IDC_LAYERSHADE_GFX_SPIN_Y3 1207
#define IDC_LAYERSHADE_GFX_TRANSLIST 1208
#define IDC_LAYERSHADE_GFX_X 1209
#define IDC_LAYERSHADE_GFX_NEW 1210
#define IDC_LAYERSHADE_GFX_XSPIN 1211
#define IDC_LAYERSHADE_GFX_Y 1212
#define IDC_LAYERSHADE_GFX_YSPIN 1213

View file

@ -32,7 +32,7 @@ char szBuf[256];
}
/**************************************************************************************/
const int TexAlignTable[]={1,2,4,8,16,32,64,128,256};
const int TexAlignTable[]={1,2,4,8,16,32,64,128,256,512,1024};
const int TexAlignTableSize=sizeof(TexAlignTable)/sizeof(int);
int AlignSize(int Size)
{