Added support for new minifig accessory categories.

This commit is contained in:
leo 2012-07-20 21:32:27 +00:00
parent ad5351cbbf
commit f8fcf2ae58
6 changed files with 316 additions and 297 deletions

View file

@ -586,23 +586,6 @@ MinifigWizard::MinifigWizard (GLWindow *share)
ParseSettings(MemSettings);
}
const int ColorCodes[LC_MFW_NUMITEMS] = { 4, 14, 1, 7, 4, 4, 14, 14, 7, 7, 0, 0, 0, 7, 7 };
const char *pieces[LC_MFW_NUMITEMS] = { "3624", "3626BP01", "973", "None", "3819", "3818", "3820", "3820",
"None", "None", "3815", "3817", "3816", "None", "None" };
int i;
for (i = 0; i < LC_MFW_NUMITEMS; i++)
{
m_Colors[i] = lcGetColorIndex(ColorCodes[i]);
m_Angles[i] = 0;
m_Info[i] = lcGetPiecesLibrary()->FindPieceInfo(pieces[i]);
if (m_Info[i] != NULL)
m_Info[i]->AddRef();
}
Calculate();
m_MinifigCount = 0;
m_MinifigNames = NULL;
m_MinifigTemplates = NULL;
@ -647,18 +630,17 @@ MinifigWizard::MinifigWizard (GLWindow *share)
void MinifigWizard::OnInitialUpdate()
{
const int ColorCodes[LC_MFW_NUMITEMS] = { 4, 14, 1, 7, 4, 4, 14, 14, 7, 7, 0, 0, 0, 7, 7 };
const char *pieces[LC_MFW_NUMITEMS] = { "3624", "3626BP01", "973", "None", "3819", "3818", "3820", "3820",
"None", "None", "3815", "3817", "3816", "None", "None" };
MakeCurrent();
const int ColorCodes[LC_MFW_NUMITEMS] = { 4, 7, 14, 7, 1, 0, 7, 4, 4, 14, 14, 7, 7, 0, 0, 7, 7 };
const char* Pieces[LC_MFW_NUMITEMS] = { "3624", "None", "3626BP01", "None", "973", "3815", "None", "3819", "3818", "3820", "3820", "None", "None", "3817", "3816", "None", "None" };
for (int i = 0; i < LC_MFW_NUMITEMS; i++)
{
m_Colors[i] = lcGetColorIndex(ColorCodes[i]);
m_Angles[i] = 0;
m_Info[i] = lcGetPiecesLibrary()->FindPieceInfo(pieces[i]);
m_Info[i] = lcGetPiecesLibrary()->FindPieceInfo(Pieces[i]);
if (m_Info[i] != NULL)
m_Info[i]->AddRef();
}
@ -719,21 +701,23 @@ void MinifigWizard::ParseSettings(lcFile& Settings)
{
const char* SectionNames[LC_MFW_NUMITEMS] =
{
"[HATS]", // LC_MFW_HAT
"[HATS]", // LC_MFW_HATS
"[HATS2]", // LC_MFW_HATS2
"[HEAD]", // LC_MFW_HEAD
"[BODY]", // LC_MFW_TORSO
"[NECK]", // LC_MFW_NECK
"[RARM]", // LC_MFW_LEFT_ARM
"[LARM]", // LC_MFW_RIGHT_ARM
"[RHAND]", // LC_MFW_LEFT_HAND
"[LHAND]", // LC_MFW_RIGHT_HAND
"[RHANDA]", // LC_MFW_LEFT_TOOL
"[LHANDA]", // LC_MFW_RIGHT_TOOL
"[BODY2]", // LC_MFW_HIPS
"[RLEG]", // LC_MFW_LEFT_LEG
"[LLEG]", // LC_MFW_RIGHT_LEG
"[RLEGA]", // LC_MFW_LEFT_SHOE
"[LLEGA]", // LC_MFW_RIGHT_SHOE
"[BODY]", // LC_MFW_BODY
"[BODY2]", // LC_MFW_BODY2
"[BODY3]", // LC_MFW_BODY3
"[RARM]", // LC_MFW_RARM
"[LARM]", // LC_MFW_LARM
"[RHAND]", // LC_MFW_RHAND
"[LHAND]", // LC_MFW_LHAND
"[RHANDA]", // LC_MFW_RHANDA
"[LHANDA]", // LC_MFW_LHANDA
"[RLEG]", // LC_MFW_RLEG
"[LLEG]", // LC_MFW_LLEG
"[RLEGA]", // LC_MFW_RLEGA
"[LLEGA]", // LC_MFW_LLEGA
};
for (int SectionIndex = 0; SectionIndex < LC_MFW_NUMITEMS; SectionIndex++)
@ -881,11 +865,14 @@ void MinifigWizard::Calculate()
float HeadOffset = 0.0f;
lcMatrix44 Root, Mat, Mat2;
bool DroidTorso = m_Info[LC_MFW_TORSO] && !strcmp(m_Info[LC_MFW_TORSO]->m_strName, "30375");
bool SkeletonTorso = m_Info[LC_MFW_TORSO] && !strcmp(m_Info[LC_MFW_TORSO]->m_strName, "6260");
bool DroidTorso = m_Info[LC_MFW_BODY] && !strcmp(m_Info[LC_MFW_BODY]->m_strName, "30375");
bool SkeletonTorso = m_Info[LC_MFW_BODY] && !strcmp(m_Info[LC_MFW_BODY]->m_strName, "6260");
if (m_Info[LC_MFW_BODY3])
Root = lcMatrix44Translation(lcVector3(0, 0, 2.96f));
else
Root = lcMatrix44Translation(lcVector3(0, 0, 2.88f));
m_Matrices[LC_MFW_TORSO] = lcMul(mSettings[LC_MFW_TORSO][GetSelectionIndex(LC_MFW_TORSO)].Offset, Root);
m_Matrices[LC_MFW_BODY] = lcMul(mSettings[LC_MFW_BODY][GetSelectionIndex(LC_MFW_BODY)].Offset, Root);
if (m_Info[LC_MFW_NECK])
{
@ -901,123 +888,138 @@ void MinifigWizard::Calculate()
m_Matrices[LC_MFW_HEAD] = lcMul(Mat, Root);
}
if (m_Info[LC_MFW_HAT])
if (m_Info[LC_MFW_HATS])
{
Mat = lcMatrix44RotationZ(-LC_DTOR * m_Angles[LC_MFW_HAT]);
Mat = lcMul(mSettings[LC_MFW_HAT][GetSelectionIndex(LC_MFW_HAT)].Offset, Mat);
m_Matrices[LC_MFW_HAT] = lcMul(Mat, m_Matrices[LC_MFW_HEAD]);
Mat = lcMatrix44RotationZ(-LC_DTOR * m_Angles[LC_MFW_HATS]);
Mat = lcMul(mSettings[LC_MFW_HATS][GetSelectionIndex(LC_MFW_HATS)].Offset, Mat);
m_Matrices[LC_MFW_HATS] = lcMul(Mat, m_Matrices[LC_MFW_HEAD]);
}
if (m_Info[LC_MFW_RIGHT_ARM])
if (m_Info[LC_MFW_HATS2])
{
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_RIGHT_ARM]);
if (DroidTorso || SkeletonTorso)
Mat2 = lcMatrix44Identity();
else
Mat2 = lcMatrix44RotationY(LC_DTOR * 9.791f);
Mat2.SetTranslation(lcVector3(-0.62f, 0, -0.32f));
Mat = lcMul(mSettings[LC_MFW_RIGHT_ARM][GetSelectionIndex(LC_MFW_RIGHT_ARM)].Offset, Mat);
Mat = lcMul(Mat, Mat2);
m_Matrices[LC_MFW_RIGHT_ARM] = lcMul(Mat, Root);
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_HATS2]);
Mat = lcMul(mSettings[LC_MFW_HATS2][GetSelectionIndex(LC_MFW_HATS2)].Offset, Mat);
m_Matrices[LC_MFW_HATS2] = lcMul(Mat, m_Matrices[LC_MFW_HATS]);
}
if (m_Info[LC_MFW_RIGHT_HAND])
if (m_Info[LC_MFW_RARM])
{
Mat = lcMatrix44RotationY(-LC_DTOR * m_Angles[LC_MFW_RIGHT_HAND]);
Mat2 = lcMatrix44RotationX(LC_DTOR * 45);
Mat = lcMul(mSettings[LC_MFW_RIGHT_HAND][GetSelectionIndex(LC_MFW_RIGHT_HAND)].Offset, Mat);
Mat = lcMul(Mat, Mat2);
Mat.SetTranslation(lcVector3(-0.2f, -0.4f, -0.76f));
m_Matrices[LC_MFW_RIGHT_HAND] = lcMul(Mat, m_Matrices[LC_MFW_RIGHT_ARM]);
}
if (m_Info[LC_MFW_RIGHT_TOOL])
{
Mat = lcMatrix44RotationZ(LC_DTOR * m_Angles[LC_MFW_RIGHT_TOOL]);
Mat.SetTranslation(lcVector3(0, -0.4f, 0));
Mat = lcMul(mSettings[LC_MFW_RIGHT_TOOL][GetSelectionIndex(LC_MFW_RIGHT_TOOL)].Offset, Mat);
m_Matrices[LC_MFW_RIGHT_TOOL] = lcMul(Mat, m_Matrices[LC_MFW_RIGHT_HAND]);
}
if (m_Info[LC_MFW_LEFT_ARM])
{
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_LEFT_ARM]);
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_RARM]);
if (DroidTorso || SkeletonTorso)
Mat2 = lcMatrix44Identity();
else
Mat2 = lcMatrix44RotationY(-LC_DTOR * 9.791f);
Mat2.SetTranslation(lcVector3(0.62f, 0.0f, -0.32f));
Mat2.SetTranslation(lcVector3(0.62f, 0, -0.32f));
Mat = lcMul(mSettings[LC_MFW_LEFT_ARM][GetSelectionIndex(LC_MFW_LEFT_ARM)].Offset, Mat);
Mat = lcMul(mSettings[LC_MFW_RARM][GetSelectionIndex(LC_MFW_RARM)].Offset, Mat);
Mat = lcMul(Mat, Mat2);
m_Matrices[LC_MFW_LEFT_ARM] = lcMul(Mat, Root);
m_Matrices[LC_MFW_RARM] = lcMul(Mat, Root);
}
if (m_Info[LC_MFW_LEFT_HAND])
if (m_Info[LC_MFW_RHAND])
{
Mat = lcMatrix44RotationY(-LC_DTOR * m_Angles[LC_MFW_LEFT_HAND]);
Mat = lcMatrix44RotationY(-LC_DTOR * m_Angles[LC_MFW_RHAND]);
Mat2 = lcMatrix44RotationX(LC_DTOR * 45);
Mat = lcMul(mSettings[LC_MFW_LEFT_HAND][GetSelectionIndex(LC_MFW_LEFT_HAND)].Offset, Mat);
Mat = lcMul(mSettings[LC_MFW_RHAND][GetSelectionIndex(LC_MFW_RHAND)].Offset, Mat);
Mat = lcMul(Mat, Mat2);
Mat.SetTranslation(lcVector3(0.2f, -0.4f, -0.76f));
m_Matrices[LC_MFW_LEFT_HAND] = lcMul(Mat, m_Matrices[LC_MFW_LEFT_ARM]);
m_Matrices[LC_MFW_RHAND] = lcMul(Mat, m_Matrices[LC_MFW_RARM]);
}
if (m_Info[LC_MFW_LEFT_TOOL])
if (m_Info[LC_MFW_RHANDA])
{
Mat = lcMatrix44RotationZ(LC_DTOR * m_Angles[LC_MFW_LEFT_TOOL]);
Mat = lcMatrix44RotationZ(LC_DTOR * m_Angles[LC_MFW_RHANDA]);
Mat.SetTranslation(lcVector3(0, -0.4f, 0));
Mat = lcMul(mSettings[LC_MFW_LEFT_TOOL][GetSelectionIndex(LC_MFW_LEFT_TOOL)].Offset, Mat);
m_Matrices[LC_MFW_LEFT_TOOL] = lcMul(Mat, m_Matrices[LC_MFW_LEFT_HAND]);
Mat = lcMul(mSettings[LC_MFW_RHANDA][GetSelectionIndex(LC_MFW_RHANDA)].Offset, Mat);
m_Matrices[LC_MFW_RHANDA] = lcMul(Mat, m_Matrices[LC_MFW_RHAND]);
}
if (m_Info[LC_MFW_HIPS])
if (m_Info[LC_MFW_LARM])
{
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_LARM]);
if (DroidTorso || SkeletonTorso)
Mat2 = lcMatrix44Identity();
else
Mat2 = lcMatrix44RotationY(LC_DTOR * 9.791f);
Mat2.SetTranslation(lcVector3(-0.62f, 0.0f, -0.32f));
Mat = lcMul(mSettings[LC_MFW_LARM][GetSelectionIndex(LC_MFW_LARM)].Offset, Mat);
Mat = lcMul(Mat, Mat2);
m_Matrices[LC_MFW_LARM] = lcMul(Mat, Root);
}
if (m_Info[LC_MFW_LHAND])
{
Mat = lcMatrix44RotationY(-LC_DTOR * m_Angles[LC_MFW_LHAND]);
Mat2 = lcMatrix44RotationX(LC_DTOR * 45);
Mat = lcMul(mSettings[LC_MFW_LHAND][GetSelectionIndex(LC_MFW_LHAND)].Offset, Mat);
Mat = lcMul(Mat, Mat2);
Mat.SetTranslation(lcVector3(-0.2f, -0.4f, -0.76f));
m_Matrices[LC_MFW_LHAND] = lcMul(Mat, m_Matrices[LC_MFW_LARM]);
}
if (m_Info[LC_MFW_LHANDA])
{
Mat = lcMatrix44RotationZ(LC_DTOR * m_Angles[LC_MFW_LHANDA]);
Mat.SetTranslation(lcVector3(0, -0.4f, 0));
Mat = lcMul(mSettings[LC_MFW_LHANDA][GetSelectionIndex(LC_MFW_LHANDA)].Offset, Mat);
m_Matrices[LC_MFW_LHANDA] = lcMul(Mat, m_Matrices[LC_MFW_LHAND]);
}
if (m_Info[LC_MFW_BODY2])
{
Mat = lcMatrix44Identity();
Mat.SetTranslation(lcVector3(0, 0, -1.28f));
Mat = lcMul(mSettings[LC_MFW_HIPS][GetSelectionIndex(LC_MFW_HIPS)].Offset, Mat);
m_Matrices[LC_MFW_HIPS] = lcMul(Mat, Root);
Mat = lcMul(mSettings[LC_MFW_BODY2][GetSelectionIndex(LC_MFW_BODY2)].Offset, Mat);
m_Matrices[LC_MFW_BODY2] = lcMul(Mat, Root);
}
if (m_Info[LC_MFW_RIGHT_LEG])
if (m_Info[LC_MFW_BODY3])
{
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_RIGHT_LEG]);
Mat.SetTranslation(lcVector3(0, 0, -1.76f));
Mat = lcMul(mSettings[LC_MFW_RIGHT_LEG][GetSelectionIndex(LC_MFW_RIGHT_LEG)].Offset, Mat);
m_Matrices[LC_MFW_RIGHT_LEG] = lcMul(Mat, Root);
Mat = lcMatrix44Identity();
Mat.SetTranslation(lcVector3(0, 0, -1.28f));
Mat = lcMul(mSettings[LC_MFW_BODY3][GetSelectionIndex(LC_MFW_BODY3)].Offset, Mat);
m_Matrices[LC_MFW_BODY3] = lcMul(Mat, Root);
}
if (m_Info[LC_MFW_RIGHT_SHOE])
if (m_Info[LC_MFW_RLEG])
{
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_RLEG]);
Mat.SetTranslation(lcVector3(0, 0, -1.76f));
Mat = lcMul(mSettings[LC_MFW_RLEG][GetSelectionIndex(LC_MFW_RLEG)].Offset, Mat);
m_Matrices[LC_MFW_RLEG] = lcMul(Mat, Root);
}
if (m_Info[LC_MFW_RLEGA])
{
lcVector3 Center(-0.4f, -0.04f, -1.12f);
Mat = lcMatrix44RotationZ(LC_DTOR * m_Angles[LC_MFW_RIGHT_SHOE]);
Mat2 = mSettings[LC_MFW_RIGHT_SHOE][GetSelectionIndex(LC_MFW_RIGHT_SHOE)].Offset;
Mat = lcMatrix44RotationZ(LC_DTOR * m_Angles[LC_MFW_RLEGA]);
Mat2 = mSettings[LC_MFW_RLEGA][GetSelectionIndex(LC_MFW_RLEGA)].Offset;
Mat2.SetTranslation(lcMul31(-Center, Mat2));
Mat = lcMul(Mat2, Mat);
Mat.SetTranslation(lcMul31(Center, Mat2));
m_Matrices[LC_MFW_RIGHT_SHOE] = lcMul(Mat, m_Matrices[LC_MFW_RIGHT_LEG]);
m_Matrices[LC_MFW_RLEGA] = lcMul(Mat, m_Matrices[LC_MFW_RLEG]);
}
if (m_Info[LC_MFW_LEFT_LEG])
if (m_Info[LC_MFW_LLEG])
{
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_LEFT_LEG]);
Mat = lcMatrix44RotationX(-LC_DTOR * m_Angles[LC_MFW_LLEG]);
Mat.SetTranslation(lcVector3(0, 0, -1.76f));
Mat = lcMul(mSettings[LC_MFW_LEFT_LEG][GetSelectionIndex(LC_MFW_LEFT_LEG)].Offset, Mat);
m_Matrices[LC_MFW_LEFT_LEG] = lcMul(Mat, Root);
Mat = lcMul(mSettings[LC_MFW_LLEG][GetSelectionIndex(LC_MFW_LLEG)].Offset, Mat);
m_Matrices[LC_MFW_LLEG] = lcMul(Mat, Root);
}
if (m_Info[LC_MFW_LEFT_SHOE])
if (m_Info[LC_MFW_LLEGA])
{
lcVector3 Center(0.4f, -0.04f, -1.12f);
Mat = lcMatrix44RotationZ(LC_DTOR * m_Angles[LC_MFW_LEFT_SHOE]);
Mat2 = mSettings[LC_MFW_LEFT_SHOE][GetSelectionIndex(LC_MFW_LEFT_SHOE)].Offset;
Mat = lcMatrix44RotationZ(LC_DTOR * m_Angles[LC_MFW_LLEGA]);
Mat2 = mSettings[LC_MFW_LLEGA][GetSelectionIndex(LC_MFW_LLEGA)].Offset;
Mat2.SetTranslation(lcMul31(-Center, Mat2));
Mat = lcMul(Mat2, Mat);
Mat.SetTranslation(lcMul31(Center, Mat2));
m_Matrices[LC_MFW_LEFT_SHOE] = lcMul(Mat, m_Matrices[LC_MFW_LEFT_LEG]);
m_Matrices[LC_MFW_LLEGA] = lcMul(Mat, m_Matrices[LC_MFW_LLEG]);
}
}

View file

@ -9,21 +9,23 @@ class PieceInfo;
enum LC_MFW_TYPES
{
LC_MFW_HAT,
LC_MFW_HATS,
LC_MFW_HATS2,
LC_MFW_HEAD,
LC_MFW_TORSO,
LC_MFW_NECK,
LC_MFW_LEFT_ARM,
LC_MFW_RIGHT_ARM,
LC_MFW_LEFT_HAND,
LC_MFW_RIGHT_HAND,
LC_MFW_LEFT_TOOL,
LC_MFW_RIGHT_TOOL,
LC_MFW_HIPS,
LC_MFW_LEFT_LEG,
LC_MFW_RIGHT_LEG,
LC_MFW_LEFT_SHOE,
LC_MFW_RIGHT_SHOE,
LC_MFW_BODY,
LC_MFW_BODY2,
LC_MFW_BODY3,
LC_MFW_RARM,
LC_MFW_LARM,
LC_MFW_RHAND,
LC_MFW_LHAND,
LC_MFW_RHANDA,
LC_MFW_LHANDA,
LC_MFW_RLEG,
LC_MFW_LLEG,
LC_MFW_RLEGA,
LC_MFW_LLEGA,
LC_MFW_NUMITEMS
};

View file

@ -27,21 +27,23 @@ void CMinifigDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMinifigDlg)
DDX_Control(pDX, IDC_MF_HANDLCOLOR, m_clrHandLeft);
DDX_Control(pDX, IDC_MF_TORSOCOLOR, m_clrTorso);
DDX_Control(pDX, IDC_MF_TOOLLCOLOR, m_clrToolLeft);
DDX_Control(pDX, IDC_MF_SHOELCOLOR, m_clrShoeLeft);
DDX_Control(pDX, IDC_MF_LEGLCOLOR, m_clrLegLeft);
DDX_Control(pDX, IDC_MF_HATSCOLOR, m_clrHats);
DDX_Control(pDX, IDC_MF_HATS2COLOR, m_clrHats2);
DDX_Control(pDX, IDC_MF_HEADCOLOR, m_clrHead);
DDX_Control(pDX, IDC_MF_ARMLCOLOR, m_clrArmLeft);
DDX_Control(pDX, IDC_MF_TOOLRCOLOR, m_clrToolRight);
DDX_Control(pDX, IDC_MF_SHOERCOLOR, m_clrShoeRight);
DDX_Control(pDX, IDC_MF_LEGRCOLOR, m_clrLegRight);
DDX_Control(pDX, IDC_MF_HIPSCOLOR, m_clrHips);
DDX_Control(pDX, IDC_MF_HANDRCOLOR, m_clrHandRight);
DDX_Control(pDX, IDC_MF_ARMRCOLOR, m_clrArmRight);
DDX_Control(pDX, IDC_MF_NECKCOLOR, m_clrNeck);
DDX_Control(pDX, IDC_MF_HATCOLOR, m_clrHat);
DDX_Control(pDX, IDC_MF_BODYCOLOR, m_clrBody);
DDX_Control(pDX, IDC_MF_BODY2COLOR, m_clrBody2);
DDX_Control(pDX, IDC_MF_BODY3COLOR, m_clrBody3);
DDX_Control(pDX, IDC_MF_ARMLCOLOR, m_clrArmLeft);
DDX_Control(pDX, IDC_MF_ARMRCOLOR, m_clrArmRight);
DDX_Control(pDX, IDC_MF_HANDLCOLOR, m_clrHandLeft);
DDX_Control(pDX, IDC_MF_HANDRCOLOR, m_clrHandRight);
DDX_Control(pDX, IDC_MF_TOOLLCOLOR, m_clrToolLeft);
DDX_Control(pDX, IDC_MF_TOOLRCOLOR, m_clrToolRight);
DDX_Control(pDX, IDC_MF_LEGLCOLOR, m_clrLegLeft);
DDX_Control(pDX, IDC_MF_LEGRCOLOR, m_clrLegRight);
DDX_Control(pDX, IDC_MF_SHOELCOLOR, m_clrShoeLeft);
DDX_Control(pDX, IDC_MF_SHOERCOLOR, m_clrShoeRight);
//}}AFX_DATA_MAP
}
@ -50,8 +52,8 @@ BEGIN_MESSAGE_MAP(CMinifigDlg, CDialog)
//{{AFX_MSG_MAP(CMinifigDlg)
//}}AFX_MSG_MAP
ON_MESSAGE(CPN_SELENDOK, OnColorSelEndOK)
ON_CONTROL_RANGE(CBN_SELENDOK, IDC_MF_HAT, IDC_MF_SHOER, OnPieceSelEndOK)
ON_CONTROL_RANGE(EN_CHANGE, IDC_MF_HATANGLE, IDC_MF_SHOERANGLE, OnChangeAngle)
ON_CONTROL_RANGE(CBN_SELENDOK, IDC_MF_HATS, IDC_MF_SHOER, OnPieceSelEndOK)
ON_CONTROL_RANGE(EN_CHANGE, IDC_MF_HATSANGLE, IDC_MF_SHOERANGLE, OnChangeAngle)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
@ -61,31 +63,30 @@ BOOL CMinifigDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ModifyStyle (0, WS_CLIPCHILDREN, 0);
ModifyStyle(0, WS_CLIPCHILDREN, 0);
RECT r;
//RECT r = { 200, 15, 400, 320 };
::GetWindowRect (::GetDlgItem(m_hWnd, IDC_PREVIEWSTATIC), &r);
ScreenToClient (&r);
::GetWindowRect(::GetDlgItem(m_hWnd, IDC_PREVIEWSTATIC), &r);
ScreenToClient(&r);
HINSTANCE hInst = AfxGetInstanceHandle();
WNDCLASS wndcls;
LRESULT CALLBACK GLWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK GLWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
#define OPENGL_CLASSNAME _T("LeoCADOpenGLClass")
#define MINIFIG_CLASSNAME _T("LeoCADMinifigOpenGLClass")
// check if our class is registered
if(!(GetClassInfo (hInst, MINIFIG_CLASSNAME, &wndcls)))
if(!(GetClassInfo(hInst, MINIFIG_CLASSNAME, &wndcls)))
{
if (GetClassInfo (hInst, OPENGL_CLASSNAME, &wndcls))
if (GetClassInfo(hInst, OPENGL_CLASSNAME, &wndcls))
{
// set our class name
wndcls.lpszClassName = MINIFIG_CLASSNAME;
wndcls.lpfnWndProc = GLWindowProc;
// register class
if (!AfxRegisterClass (&wndcls))
if (!AfxRegisterClass(&wndcls))
AfxThrowResourceException();
}
else
@ -93,14 +94,14 @@ LRESULT CALLBACK GLWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPara
}
m_pMinifigWnd = new CWnd;
m_pMinifigWnd->CreateEx (0, MINIFIG_CLASSNAME, "LeoCAD", WS_BORDER | WS_CHILD | WS_VISIBLE, r, this, 0, m_pMinifig);
m_pMinifigWnd->CreateEx(0, MINIFIG_CLASSNAME, "LeoCAD", WS_BORDER | WS_CHILD | WS_VISIBLE, r, this, 0, m_pMinifig);
for (int i = 0; i < LC_MFW_NUMITEMS; i++)
((CColorPicker*)GetDlgItem (IDC_MF_HATCOLOR+i))->SetColorIndex (m_pMinifig->m_Colors[i]);
((CColorPicker*)GetDlgItem(IDC_MF_HATSCOLOR+i))->SetColorIndex(m_pMinifig->m_Colors[i]);
for (int i = 0; i < LC_MFW_NUMITEMS; i++)
{
CComboBox* pCombo = (CComboBox*)GetDlgItem(i+IDC_MF_HAT);
CComboBox* pCombo = (CComboBox*)GetDlgItem(i+IDC_MF_HATS);
ObjArray<lcMinifigPieceInfo>& Pieces = m_pMinifig->mSettings[i];
for (int j = 0; j < Pieces.GetSize(); j++)
@ -109,11 +110,11 @@ LRESULT CALLBACK GLWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPara
for (int i = 0; i < LC_MFW_NUMITEMS; i++)
{
CComboBox* pCombo = (CComboBox*)GetDlgItem(i+IDC_MF_HAT);
CComboBox* pCombo = (CComboBox*)GetDlgItem(i + IDC_MF_HATS);
pCombo->SetCurSel(m_pMinifig->GetSelectionIndex(i));
}
for (int i = IDC_MF_HATSPIN; i <= IDC_MF_SHOERSPIN; i++)
for (int i = IDC_MF_HATSSPIN; i <= IDC_MF_SHOERSPIN; i++)
((CSpinButtonCtrl*)GetDlgItem(i))->SetRange(-360, 360);
return TRUE; // return TRUE unless you set the focus to a control
@ -134,8 +135,8 @@ BOOL CMinifigDlg::DestroyWindow()
LONG CMinifigDlg::OnColorSelEndOK(UINT lParam, LONG wParam)
{
m_pMinifig->SetColor(wParam-IDC_MF_HATCOLOR, lParam);
m_pMinifig->Redraw ();
m_pMinifig->SetColor(wParam - IDC_MF_HATSCOLOR, lParam);
m_pMinifig->Redraw();
return TRUE;
}
@ -143,21 +144,21 @@ LONG CMinifigDlg::OnColorSelEndOK(UINT lParam, LONG wParam)
void CMinifigDlg::OnPieceSelEndOK(UINT nID)
{
CComboBox* Combo = (CComboBox*)GetDlgItem(nID);
m_pMinifig->SetSelectionIndex(nID - IDC_MF_HAT, Combo->GetCurSel());
m_pMinifig->SetSelectionIndex(nID - IDC_MF_HATS, Combo->GetCurSel());
m_pMinifig->Redraw();
}
void CMinifigDlg::OnChangeAngle(UINT nID)
{
int index[] = { LC_MFW_HAT, LC_MFW_HEAD, LC_MFW_LEFT_ARM, LC_MFW_RIGHT_ARM, LC_MFW_LEFT_HAND, LC_MFW_RIGHT_HAND,
LC_MFW_LEFT_TOOL, LC_MFW_RIGHT_TOOL, LC_MFW_LEFT_LEG, LC_MFW_RIGHT_LEG, LC_MFW_LEFT_SHOE, LC_MFW_RIGHT_SHOE };
int index[] = { LC_MFW_HATS, LC_MFW_HATS2, LC_MFW_HEAD, LC_MFW_RARM, LC_MFW_LARM, LC_MFW_RHAND, LC_MFW_LHAND,
LC_MFW_RHANDA, LC_MFW_LHANDA, LC_MFW_RLEG, LC_MFW_LLEG, LC_MFW_RLEGA, LC_MFW_LLEGA };
char tmp[65];
GetDlgItem(nID)->GetWindowText(tmp, 65);
if (m_pMinifigWnd)
{
m_pMinifig->SetAngle(index[nID-IDC_MF_HATANGLE], (float)strtod(tmp, NULL));
m_pMinifig->SetAngle(index[nID-IDC_MF_HATSANGLE], (float)strtod(tmp, NULL));
m_pMinifig->Redraw();
}
}

View file

@ -23,21 +23,23 @@ public:
// Dialog Data
//{{AFX_DATA(CMinifigDlg)
enum { IDD = IDD_MINIFIG };
CColorPicker m_clrHandLeft;
CColorPicker m_clrTorso;
CColorPicker m_clrToolLeft;
CColorPicker m_clrShoeLeft;
CColorPicker m_clrLegLeft;
CColorPicker m_clrHats;
CColorPicker m_clrHats2;
CColorPicker m_clrHead;
CColorPicker m_clrArmLeft;
CColorPicker m_clrToolRight;
CColorPicker m_clrShoeRight;
CColorPicker m_clrLegRight;
CColorPicker m_clrHips;
CColorPicker m_clrHandRight;
CColorPicker m_clrArmRight;
CColorPicker m_clrNeck;
CColorPicker m_clrHat;
CColorPicker m_clrBody;
CColorPicker m_clrBody2;
CColorPicker m_clrBody3;
CColorPicker m_clrArmLeft;
CColorPicker m_clrArmRight;
CColorPicker m_clrHandLeft;
CColorPicker m_clrHandRight;
CColorPicker m_clrToolLeft;
CColorPicker m_clrToolRight;
CColorPicker m_clrLegLeft;
CColorPicker m_clrLegRight;
CColorPicker m_clrShoeLeft;
CColorPicker m_clrShoeRight;
//}}AFX_DATA
// Overrides

View file

@ -688,68 +688,74 @@ BEGIN
PUSHBUTTON "Apply",IDAPPLY,71,28,35,11
END
IDD_MINIFIG DIALOGEX 0, 0, 520, 235
IDD_MINIFIG DIALOGEX 0, 0, 530, 271
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Minifig Wizard"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
DEFPUSHBUTTON "OK",IDOK,423,214,41,14
PUSHBUTTON "Cancel",IDCANCEL,472,214,41,14
COMBOBOX IDC_MF_HAT,7,11,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HATCOLOR,136,11,22,12
EDITTEXT IDC_MF_HATANGLE,162,12,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_HATSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,11,7,12
COMBOBOX IDC_MF_NECK,7,37,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_NECKCOLOR,136,37,22,12
COMBOBOX IDC_MF_ARMR,7,63,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_ARMRCOLOR,136,63,22,12
EDITTEXT IDC_MF_ARMRANGLE,162,64,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_ARMRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,63,8,12
COMBOBOX IDC_MF_HANDR,7,89,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HANDRCOLOR,136,89,22,12
EDITTEXT IDC_MF_HANDRANGLE,162,90,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_HANDRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,89,8,12
COMBOBOX IDC_MF_TOOLR,7,115,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_TOOLRCOLOR,136,115,22,12
EDITTEXT IDC_MF_TOOLRANGLE,162,116,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_TOOLRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,115,8,12
COMBOBOX IDC_MF_HIPS,7,141,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HIPSCOLOR,136,141,22,12
COMBOBOX IDC_MF_LEGR,7,167,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_LEGRCOLOR,136,167,22,12
EDITTEXT IDC_MF_LEGRANGLE,162,168,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_LEGRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,167,8,12
COMBOBOX IDC_MF_SHOER,7,193,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_SHOERCOLOR,136,193,22,12
EDITTEXT IDC_MF_SHOERANGLE,162,194,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_SHOERSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,193,8,12
EDITTEXT IDC_MF_HEADANGLE,330,12,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_HEADSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,12,7,12
PUSHBUTTON "",IDC_MF_HEADCOLOR,362,11,22,12
COMBOBOX IDC_MF_HEAD,388,11,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_TORSOCOLOR,362,37,22,12
COMBOBOX IDC_MF_TORSO,388,37,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_ARMLANGLE,330,64,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_ARMLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,64,7,12
PUSHBUTTON "",IDC_MF_ARMLCOLOR,362,63,22,12
COMBOBOX IDC_MF_ARML,388,63,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_HANDLANGLE,330,90,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_HANDLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,90,7,12
PUSHBUTTON "",IDC_MF_HANDLCOLOR,362,89,22,12
COMBOBOX IDC_MF_HANDL,388,89,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_TOOLLANGLE,330,116,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_TOOLLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,116,7,12
PUSHBUTTON "",IDC_MF_TOOLLCOLOR,362,115,22,12
COMBOBOX IDC_MF_TOOLL,388,115,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_LEGLANGLE,330,168,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_LEGLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,168,7,12
PUSHBUTTON "",IDC_MF_LEGLCOLOR,362,167,22,12
COMBOBOX IDC_MF_LEGL,388,167,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_SHOELANGLE,330,194,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_SHOELSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,194,7,12
PUSHBUTTON "",IDC_MF_SHOELCOLOR,362,193,22,12
COMBOBOX IDC_MF_SHOEL,388,193,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "",IDC_PREVIEWSTATIC,194,12,131,195,NOT WS_VISIBLE | NOT WS_GROUP
DEFPUSHBUTTON "OK",IDOK,433,250,41,14
PUSHBUTTON "Cancel",IDCANCEL,482,250,41,14
COMBOBOX IDC_MF_HATS,7,11,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HATSCOLOR,136,11,22,12
EDITTEXT IDC_MF_HATSANGLE,162,12,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_HATSSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,12,7,12
COMBOBOX IDC_MF_HATS2,7,37,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HATS2COLOR,136,37,22,12
EDITTEXT IDC_MF_HATS2ANGLE,162,38,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_MF_HATS2SPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,181,39,7,12
COMBOBOX IDC_MF_NECK,7,63,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_NECKCOLOR,136,63,22,12
COMBOBOX IDC_MF_ARMR,7,89,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_ARMRCOLOR,136,89,22,12
EDITTEXT IDC_MF_ARMRANGLE,162,90,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_ARMRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,90,8,12
COMBOBOX IDC_MF_HANDR,7,115,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HANDRCOLOR,136,115,22,12
EDITTEXT IDC_MF_HANDRANGLE,162,116,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_HANDRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,116,8,12
COMBOBOX IDC_MF_TOOLR,7,141,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_TOOLRCOLOR,136,141,22,12
EDITTEXT IDC_MF_TOOLRANGLE,162,142,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_TOOLRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,142,8,12
COMBOBOX IDC_MF_BODY2,7,167,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_BODY2COLOR,136,167,22,12
COMBOBOX IDC_MF_LEGR,7,193,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_LEGRCOLOR,136,193,22,12
EDITTEXT IDC_MF_LEGRANGLE,162,194,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_LEGRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,194,8,12
COMBOBOX IDC_MF_SHOER,7,219,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_SHOERCOLOR,136,219,22,12
EDITTEXT IDC_MF_SHOERANGLE,162,220,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_SHOERSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,220,8,12
EDITTEXT IDC_MF_HEADANGLE,340,12,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_HEADSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,362,13,7,12
PUSHBUTTON "",IDC_MF_HEADCOLOR,372,11,22,12
COMBOBOX IDC_MF_HEAD,398,11,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_BODYCOLOR,372,37,22,12
COMBOBOX IDC_MF_BODY,398,37,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_ARMLANGLE,340,90,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_ARMLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,362,90,7,12
PUSHBUTTON "",IDC_MF_ARMLCOLOR,372,89,22,12
COMBOBOX IDC_MF_ARML,398,89,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_HANDLANGLE,340,116,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_HANDLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,361,116,7,12
PUSHBUTTON "",IDC_MF_HANDLCOLOR,372,115,22,12
COMBOBOX IDC_MF_HANDL,398,115,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_TOOLLANGLE,340,142,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_TOOLLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,361,142,7,12
PUSHBUTTON "",IDC_MF_TOOLLCOLOR,372,141,22,12
COMBOBOX IDC_MF_TOOLL,398,141,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_BODY3COLOR,372,167,22,12
COMBOBOX IDC_MF_BODY3,398,167,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_LEGLANGLE,340,194,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_LEGLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,361,194,7,12
PUSHBUTTON "",IDC_MF_LEGLCOLOR,372,193,22,12
COMBOBOX IDC_MF_LEGL,398,193,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_SHOELANGLE,340,220,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_SHOELSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,361,220,7,12
PUSHBUTTON "",IDC_MF_SHOELCOLOR,372,219,22,12
COMBOBOX IDC_MF_SHOEL,398,219,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "",IDC_PREVIEWSTATIC,194,12,141,231,NOT WS_VISIBLE | NOT WS_GROUP
END
IDD_HTML DIALOG 0, 0, 187, 172
@ -1252,9 +1258,9 @@ BEGIN
IDD_MINIFIG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 393
RIGHTMARGIN, 523
TOPMARGIN, 7
BOTTOMMARGIN, 179
BOTTOMMARGIN, 264
END
IDD_HTML, DIALOG

View file

@ -298,100 +298,106 @@
#define IDC_SCNDLG_SKYCOLOR2 1186
#define IDC_LIBDLG_LIST 1186
#define IDC_SCNDLG_GRAD2 1186
#define IDC_MF_HATCOLOR 1189
#define IDC_MF_HEADCOLOR 1190
#define IDC_HTMDLG_HIGHLIGHT 1190
#define IDC_MF_TORSOCOLOR 1191
#define IDC_GRID 1191
#define IDC_MF_NECKCOLOR 1192
#define IDC_MF_ARMLCOLOR 1193
#define IDC_MF_ARMRCOLOR 1194
#define IDC_MF_HANDLCOLOR 1195
#define IDC_MF_HANDRCOLOR 1196
#define IDC_MF_TOOLLCOLOR 1197
#define IDC_MF_TOOLRCOLOR 1198
#define IDC_MF_HIPSCOLOR 1199
#define IDC_MF_LEGLCOLOR 1200
#define IDC_TEROPT_XPAT 1200
#define IDC_MF_LEGRCOLOR 1201
#define IDC_TEROPT_YPAT 1201
#define IDC_MF_SHOELCOLOR 1202
#define IDC_TEROPT_XSIZE 1202
#define IDC_MF_SHOERCOLOR 1203
#define IDC_TEROPT_YSIZE 1203
#define IDC_MF_HAT 1204
#define IDC_TEROPT_COLOR 1204
#define IDC_MF_HEAD 1205
#define IDC_TEROPT_TEXTURENAME 1205
#define IDC_MF_TORSO 1206
#define IDC_TEROPT_TEXTURE 1206
#define IDC_MF_HATSCOLOR 1187
#define IDC_MF_HATS2COLOR 1188
#define IDC_MF_HEADCOLOR 1189
#define IDC_MF_NECKCOLOR 1190
#define IDC_MF_BODYCOLOR 1191
#define IDC_MF_BODY2COLOR 1192
#define IDC_MF_BODY3COLOR 1193
#define IDC_MF_ARMLCOLOR 1194
#define IDC_MF_ARMRCOLOR 1195
#define IDC_MF_HANDLCOLOR 1196
#define IDC_MF_HANDRCOLOR 1197
#define IDC_MF_TOOLLCOLOR 1198
#define IDC_MF_TOOLRCOLOR 1199
#define IDC_MF_LEGLCOLOR 1200
#define IDC_MF_LEGRCOLOR 1201
#define IDC_MF_SHOELCOLOR 1202
#define IDC_MF_SHOERCOLOR 1203
#define IDC_MF_HATS 1204
#define IDC_MF_HATS2 1205
#define IDC_MF_HEAD 1206
#define IDC_MF_NECK 1207
#define IDC_MF_BODY 1208
#define IDC_MF_BODY2 1209
#define IDC_MF_BODY3 1210
#define IDC_MF_ARML 1211
#define IDC_MF_ARMR 1212
#define IDC_MF_HANDL 1213
#define IDC_MF_HANDR 1214
#define IDC_MF_TOOLL 1215
#define IDC_MF_TOOLR 1216
#define IDC_MF_LEGL 1217
#define IDC_MF_LEGR 1218
#define IDC_MF_SHOEL 1219
#define IDC_MF_SHOER 1220
#define IDC_MF_HATSANGLE 1221
#define IDC_MF_HATS2ANGLE 1222
#define IDC_MF_HEADANGLE 1223
#define IDC_MF_ARMLANGLE 1224
#define IDC_MF_ARMRANGLE 1225
#define IDC_MF_HANDLANGLE 1226
#define IDC_MF_HANDRANGLE 1227
#define IDC_MF_TOOLLANGLE 1228
#define IDC_MF_TOOLRANGLE 1229
#define IDC_MF_LEGLANGLE 1230
#define IDC_MF_LEGRANGLE 1231
#define IDC_MF_SHOELANGLE 1232
#define IDC_MF_SHOERANGLE 1233
#define IDC_MF_HATSSPIN 1234
#define IDC_MF_HATS2SPIN 1235
#define IDC_MF_HEADSPIN 1236
#define IDC_MF_ARMLSPIN 1237
#define IDC_MF_ARMRSPIN 1238
#define IDC_MF_HANDLSPIN 1239
#define IDC_MF_HANDRSPIN 1240
#define IDC_MF_TOOLLSPIN 1241
#define IDC_MF_TOOLRSPIN 1242
#define IDC_MF_LEGLSPIN 1243
#define IDC_MF_LEGRSPIN 1244
#define IDC_MF_SHOELSPIN 1245
#define IDC_MF_SHOERSPIN 1246
#define IDC_TEROPT_COLOR 1204
#define IDC_TEROPT_TEXTURENAME 1205
#define IDC_TEROPT_TEXTURE 1206
#define IDC_TEROPT_TEXTUREBROWSE 1207
#define IDC_MF_ARML 1208
#define IDC_TEROPT_SMOOTH 1208
#define IDC_MF_ARMR 1209
#define IDC_MF_HANDL 1210
#define IDC_EDIT1 1210
#define IDC_MF_HANDR 1211
#define IDC_TEROPT_FLAT 1211
#define IDC_TRANSDLG_GY 1211
#define IDC_CATDLG_KEYWORDS 1211
#define IDC_MF_TOOLL 1212
#define IDC_EDIT2 1212
#define IDC_SCNDLG_SOLID 1212
#define IDC_TRANSDLG_GZ 1212
#define IDC_MF_TOOLR 1213
#define IDC_SCNDLG_GRADIENT 1213
#define IDC_TRANSDLG_OY 1213
#define IDC_MF_HIPS 1214
#define IDC_SCNDLG_IMAGE 1214
#define IDC_TREE 1214
#define IDC_TRANSDLG_OZ 1214
#define IDC_MF_LEGL 1215
#define IDC_MF_LEGR 1216
#define IDC_MF_SHOEL 1217
#define IDC_MF_SHOER 1218
#define IDC_PREVIEWSTATIC 1219
#define IDC_MF_HATANGLE 1221
#define IDC_MF_HEADANGLE 1222
#define IDC_MF_ARMLANGLE 1223
#define IDC_PREVIEWSTATIC 1186
#define IDC_HTMLDLG_HTMLEXT 1223
#define IDC_MF_ARMRANGLE 1224
#define IDC_MF_HANDLANGLE 1225
#define ID_LIBTEX_ADD 1225
#define IDC_MF_HANDRANGLE 1226
#define ID_LIBTEX_REMOVE 1226
#define IDC_MF_TOOLLANGLE 1227
#define IDC_MF_TOOLRANGLE 1228
#define ID_LIBTEX_LIST 1228
#define IDC_MF_LEGLANGLE 1229
#define IDC_ABTDLG_HOMEPAGE 1229
#define IDC_MF_LEGRANGLE 1230
#define IDC_KEYDLG_CMDLIST 1230
#define IDC_MF_SHOELANGLE 1231
#define IDC_MF_SHOERANGLE 1232
#define IDC_KEYDLG_REMOVE 1233
#define IDC_MF_HATSPIN 1234
#define IDC_MF_HEADSPIN 1235
#define IDC_MF_ARMLSPIN 1236
#define IDC_KEYDLG_RESET 1236
#define IDC_MF_ARMRSPIN 1237
#define IDC_KEYDLG_KEYEDIT 1237
#define IDC_MF_HANDLSPIN 1238
#define IDC_KEYDLG_ASSIGN 1238
#define IDC_MF_HANDRSPIN 1239
#define IDC_KEYDLG_COMBO 1239
#define IDC_MF_TOOLLSPIN 1240
#define IDC_KEYDLG_SAVE 1240
#define IDC_MF_TOOLRSPIN 1241
#define IDC_KEYDLG_LOAD 1241
#define IDC_MF_LEGLSPIN 1242
#define IDC_KEYDLG_FILENAME 1242
#define IDC_MF_LEGRSPIN 1243
#define IDC_ABTDLG_VERSION 1243
#define IDC_MF_SHOELSPIN 1244
#define IDC_GENDLG_UPDATES 1244
#define IDC_MF_SHOERSPIN 1245
#define IDC_TRANSDLG_GX 1245
#define IDC_TRANSDLG_OX 1246
#define IDC_CATDLG_NAME 1246