Merged Minifig Wizard improvements.

This commit is contained in:
nobody 2012-02-01 02:07:54 +00:00
parent 9fb7a6cb6f
commit b825d9784c
4 changed files with 197 additions and 197 deletions

View file

@ -824,16 +824,16 @@ MinifigWizard::MinifigWizard (GLWindow *share)
m_MinifigNames = NULL; m_MinifigNames = NULL;
m_MinifigTemplates = NULL; m_MinifigTemplates = NULL;
i = Sys_ProfileLoadInt("MinifigWizard", "Version", 1); int Version = Sys_ProfileLoadInt("MinifigWizard", "Version", 1);
if (i == 1) if (Version == 1)
{ {
char *ptr, buf[32]; char *ptr, buf[32];
m_MinifigCount = Sys_ProfileLoadInt ("MinifigWizard", "Count", 0); m_MinifigCount = Sys_ProfileLoadInt ("MinifigWizard", "Count", 0);
m_MinifigNames = (char**)realloc (m_MinifigNames, sizeof (char**)*m_MinifigCount); m_MinifigNames = (char**)realloc(m_MinifigNames, sizeof(char**) * (m_MinifigCount+1));
m_MinifigTemplates = (char**)realloc (m_MinifigTemplates, sizeof (char**)*m_MinifigCount); m_MinifigTemplates = (char**)realloc(m_MinifigTemplates, sizeof(char**) * (m_MinifigCount+1));
for (i = 0; i < m_MinifigCount; i++) for (int i = 0; i < m_MinifigCount; i++)
{ {
sprintf (buf, "Minifig%.2dName", i); sprintf (buf, "Minifig%.2dName", i);
ptr = Sys_ProfileLoadString ("MinifigWizard", buf, buf); ptr = Sys_ProfileLoadString ("MinifigWizard", buf, buf);
@ -902,6 +902,7 @@ MinifigWizard::~MinifigWizard ()
free (m_MinifigNames[i]); free (m_MinifigNames[i]);
free (m_MinifigTemplates[i]); free (m_MinifigTemplates[i]);
} }
free (m_MinifigNames); free (m_MinifigNames);
free (m_MinifigTemplates); free (m_MinifigTemplates);
} }
@ -982,7 +983,7 @@ void MinifigWizard::ParseSettings(File& Settings)
char* Ext = strrchr(NameStart, '.'); char* Ext = strrchr(NameStart, '.');
if (Ext != NULL) if (Ext != NULL)
{ {
if (!stricmp(Ext, ".DAT")) if (!strcmp(Ext, ".DAT"))
*Ext = 0; *Ext = 0;
} }
@ -1026,33 +1027,34 @@ void MinifigWizard::ParseSettings(File& Settings)
} }
} }
void MinifigWizard::OnDraw () void MinifigWizard::OnDraw()
{ {
int i; int i;
if (!MakeCurrent ()) if (!MakeCurrent())
return; return;
float aspect = (float)m_nWidth/(float)m_nHeight; float aspect = (float)m_nWidth/(float)m_nHeight;
glViewport (0, 0, m_nWidth, m_nHeight); glViewport(0, 0, m_nWidth, m_nHeight);
glMatrixMode (GL_PROJECTION); glMatrixMode(GL_PROJECTION);
glLoadIdentity (); glLoadIdentity();
gluPerspective (30.0f, aspect, 1.0f, 20.0f); gluPerspective(30.0f, aspect, 1.0f, 20.0f);
glMatrixMode (GL_MODELVIEW); glMatrixMode(GL_MODELVIEW);
glLoadIdentity (); Matrix44 WorldView;
WorldView.CreateLookAt(Vector3(0, -9, 4), Vector3(0, 5, 1), Vector3(0, 0, 1));
glLoadMatrixf(WorldView);
gluLookAt (0, -9, 4, 0, 5, 1, 0, 0, 1); glEnable(GL_DEPTH_TEST);
glEnable (GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL);
glDepthFunc (GL_LEQUAL); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
float *bg = lcGetActiveProject()->GetBackgroundColor(); float *bg = lcGetActiveProject()->GetBackgroundColor();
glClearColor (bg[0], bg[1], bg[2], bg[3]); glClearColor(bg[0], bg[1], bg[2], bg[3]);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glDisable (GL_DITHER); glDisable(GL_DITHER);
glShadeModel (GL_FLAT); glShadeModel(GL_FLAT);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
Calculate (); Calculate();
for (i = 0; i < LC_MFW_NUMITEMS; i++) for (i = 0; i < LC_MFW_NUMITEMS; i++)
{ {
@ -1067,7 +1069,7 @@ void MinifigWizard::OnDraw ()
glFinish(); glFinish();
SwapBuffers (); SwapBuffers();
} }
void MinifigWizard::Calculate() void MinifigWizard::Calculate()
@ -1075,6 +1077,9 @@ void MinifigWizard::Calculate()
float HeadOffset = 0.0f; float HeadOffset = 0.0f;
Matrix44 Root, Mat, Mat2; Matrix44 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");
Root.LoadIdentity(); Root.LoadIdentity();
Root.SetTranslation(Vector3(0, 0, 2.88f)); Root.SetTranslation(Vector3(0, 0, 2.88f));
m_Matrices[LC_MFW_TORSO] = Mul(mSettings[LC_MFW_TORSO][GetSelectionIndex(LC_MFW_TORSO)].Offset, Root); m_Matrices[LC_MFW_TORSO] = Mul(mSettings[LC_MFW_TORSO][GetSelectionIndex(LC_MFW_TORSO)].Offset, Root);
@ -1104,14 +1109,14 @@ void MinifigWizard::Calculate()
{ {
Mat.CreateFromAxisAngle(Vector3(1, 0, 0), -LC_DTOR * m_Angles[LC_MFW_RIGHT_ARM]); Mat.CreateFromAxisAngle(Vector3(1, 0, 0), -LC_DTOR * m_Angles[LC_MFW_RIGHT_ARM]);
if (m_Info[LC_MFW_TORSO] && !strcmp(m_Info[LC_MFW_TORSO]->m_strName, "30375")) if (DroidTorso || SkeletonTorso)
Mat2.LoadIdentity(); Mat2.LoadIdentity();
else else
Mat2.CreateFromAxisAngle(Vector3(0, 1, 0), LC_DTOR * 9.791f); Mat2.CreateFromAxisAngle(Vector3(0, 1, 0), LC_DTOR * 9.791f);
Mat2.SetTranslation(Vector3(-0.62f, 0, -0.32f));
Mat = Mul(mSettings[LC_MFW_RIGHT_ARM][GetSelectionIndex(LC_MFW_RIGHT_ARM)].Offset, Mat); Mat = Mul(mSettings[LC_MFW_RIGHT_ARM][GetSelectionIndex(LC_MFW_RIGHT_ARM)].Offset, Mat);
Mat = Mul(Mat, Mat2); Mat = Mul(Mat, Mat2);
Mat.SetTranslation(Vector3(-0.62f, 0.0f, -0.32f));
m_Matrices[LC_MFW_RIGHT_ARM] = Mul(Mat, Root); m_Matrices[LC_MFW_RIGHT_ARM] = Mul(Mat, Root);
} }
@ -1137,14 +1142,14 @@ void MinifigWizard::Calculate()
{ {
Mat.CreateFromAxisAngle(Vector3(1, 0, 0), -LC_DTOR * m_Angles[LC_MFW_LEFT_ARM]); Mat.CreateFromAxisAngle(Vector3(1, 0, 0), -LC_DTOR * m_Angles[LC_MFW_LEFT_ARM]);
if (m_Info[LC_MFW_TORSO] && !strcmp(m_Info[LC_MFW_TORSO]->m_strName, "30375")) if (DroidTorso || SkeletonTorso)
Mat2.LoadIdentity(); Mat2.LoadIdentity();
else else
Mat2.CreateFromAxisAngle(Vector3(0, 1, 0), -LC_DTOR * 9.791f); Mat2.CreateFromAxisAngle(Vector3(0, 1, 0), -LC_DTOR * 9.791f);
Mat2.SetTranslation(Vector3(0.62f, 0.0f, -0.32f));
Mat = Mul(mSettings[LC_MFW_LEFT_ARM][GetSelectionIndex(LC_MFW_LEFT_ARM)].Offset, Mat); Mat = Mul(mSettings[LC_MFW_LEFT_ARM][GetSelectionIndex(LC_MFW_LEFT_ARM)].Offset, Mat);
Mat = Mul(Mat, Mat2); Mat = Mul(Mat, Mat2);
Mat.SetTranslation(Vector3(0.62f, 0.0f, -0.32f));
m_Matrices[LC_MFW_LEFT_ARM] = Mul(Mat, Root); m_Matrices[LC_MFW_LEFT_ARM] = Mul(Mat, Root);
} }
@ -1247,68 +1252,68 @@ void MinifigWizard::SetAngle(int Type, float Angle)
m_Angles[Type] = Angle; m_Angles[Type] = Angle;
} }
void MinifigWizard::GetMinifigNames (char ***names, int *count) void MinifigWizard::GetMinifigNames(char ***names, int *count)
{ {
*count = m_MinifigCount; *count = m_MinifigCount;
*names = m_MinifigNames; *names = m_MinifigNames;
} }
void MinifigWizard::SaveMinifig (const char* name) void MinifigWizard::SaveMinifig(const char* name)
{ {
char tmp[LC_PIECE_NAME_LEN]; char tmp[LC_PIECE_NAME_LEN];
int i, j; int i, j;
// check if the name is already being used // check if the name is already being used
for (i = 0; i < m_MinifigCount; i++) for (i = 0; i < m_MinifigCount; i++)
if (strcmp (m_MinifigNames[i], name) == 0) if (strcmp(m_MinifigNames[i], name) == 0)
break; break;
if (i == m_MinifigCount) if (i == m_MinifigCount)
{ {
m_MinifigCount++; m_MinifigCount++;
m_MinifigNames = (char**)realloc (m_MinifigNames, sizeof (char**)*m_MinifigCount); m_MinifigNames = (char**)realloc(m_MinifigNames, sizeof(char**)*m_MinifigCount);
m_MinifigTemplates = (char**)realloc (m_MinifigTemplates, sizeof (char**)*m_MinifigCount); m_MinifigTemplates = (char**)realloc(m_MinifigTemplates, sizeof(char**)*m_MinifigCount);
m_MinifigNames[i] = (char*)malloc (strlen (name) + 1); m_MinifigNames[i] = (char*)malloc(strlen(name) + 1);
strcpy (m_MinifigNames[i], name); strcpy(m_MinifigNames[i], name);
m_MinifigTemplates[i] = (char*)malloc (768); m_MinifigTemplates[i] = (char*)malloc(768);
} }
strcpy (m_MinifigTemplates[i], ""); strcpy(m_MinifigTemplates[i], "");
for (j = 0; j < LC_MFW_NUMITEMS; j++) for (j = 0; j < LC_MFW_NUMITEMS; j++)
{ {
sprintf (tmp, "%d ", m_Colors[j]); sprintf(tmp, "%d ", m_Colors[j]);
strcat (m_MinifigTemplates[i], tmp); strcat(m_MinifigTemplates[i], tmp);
} }
for (j = 0; j < LC_MFW_NUMITEMS; j++) for (j = 0; j < LC_MFW_NUMITEMS; j++)
{ {
if (m_Info[j] != NULL) if (m_Info[j] != NULL)
sprintf (tmp, "%s ", m_Info[j]->m_strName); sprintf(tmp, "%s ", m_Info[j]->m_strName);
else else
strcpy (tmp, "None "); strcpy(tmp, "None ");
strcat (m_MinifigTemplates[i], tmp); strcat(m_MinifigTemplates[i], tmp);
} }
for (j = 0; j < LC_MFW_NUMITEMS; j++) for (j = 0; j < LC_MFW_NUMITEMS; j++)
{ {
sprintf (tmp, "%f ", m_Angles[j]); sprintf(tmp, "%f ", m_Angles[j]);
strcat (m_MinifigTemplates[i], tmp); strcat(m_MinifigTemplates[i], tmp);
} }
} }
bool MinifigWizard::LoadMinifig (const char* name) bool MinifigWizard::LoadMinifig(const char* name)
{ {
char *ptr; char *ptr;
int i, j; int i, j;
// check if the name is valid // check if the name is valid
for (i = 0; i < m_MinifigCount; i++) for (i = 0; i < m_MinifigCount; i++)
if (strcmp (m_MinifigNames[i], name) == 0) if (strcmp(m_MinifigNames[i], name) == 0)
break; break;
if (i == m_MinifigCount) if (i == m_MinifigCount)
{ {
// Sys_MessageBox ("Unknown Minifig"); // Sys_MessageBox("Unknown Minifig");
return false; return false;
} }
else else
@ -1316,19 +1321,19 @@ bool MinifigWizard::LoadMinifig (const char* name)
for (j = 0; j < LC_MFW_NUMITEMS; j++) for (j = 0; j < LC_MFW_NUMITEMS; j++)
if (m_Info[j] != NULL) if (m_Info[j] != NULL)
m_Info[j]->DeRef (); m_Info[j]->DeRef();
for (j = 0; j < LC_MFW_NUMITEMS; j++) for (j = 0; j < LC_MFW_NUMITEMS; j++)
m_Colors[j] = strtol (ptr, &ptr, 10); m_Colors[j] = strtol(ptr, &ptr, 10);
for (j = 0; j < LC_MFW_NUMITEMS; j++) for (j = 0; j < LC_MFW_NUMITEMS; j++)
{ {
char *endptr; char *endptr;
ptr++; ptr++;
endptr = strchr (ptr, ' '); endptr = strchr(ptr, ' ');
*endptr = '\0'; *endptr = '\0';
m_Info[j] = lcGetPiecesLibrary()->FindPieceInfo (ptr); m_Info[j] = lcGetPiecesLibrary()->FindPieceInfo(ptr);
*endptr = ' '; *endptr = ' ';
ptr = endptr; ptr = endptr;
@ -1337,28 +1342,28 @@ bool MinifigWizard::LoadMinifig (const char* name)
} }
for (j = 0; j < LC_MFW_NUMITEMS; j++) for (j = 0; j < LC_MFW_NUMITEMS; j++)
m_Angles[j] = (float)strtod (ptr, &ptr); m_Angles[j] = (float)strtod(ptr, &ptr);
return true; return true;
} }
void MinifigWizard::DeleteMinifig (const char* name) void MinifigWizard::DeleteMinifig(const char* name)
{ {
int i; int i;
// check if the name is valid // check if the name is valid
for (i = 0; i < m_MinifigCount; i++) for (i = 0; i < m_MinifigCount; i++)
if (strcmp (m_MinifigNames[i], name) == 0) if (strcmp(m_MinifigNames[i], name) == 0)
break; break;
if (i == m_MinifigCount) if (i == m_MinifigCount)
{ {
Sys_MessageBox ("Unknown Minifig"); Sys_MessageBox("Unknown Minifig");
return; return;
} }
free (m_MinifigNames[i]); free(m_MinifigNames[i]);
free (m_MinifigTemplates[i]); free(m_MinifigTemplates[i]);
m_MinifigCount--; m_MinifigCount--;
for (; i < m_MinifigCount; i++) for (; i < m_MinifigCount; i++)

View file

@ -96,8 +96,7 @@ LRESULT CALLBACK GLWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPara
} }
m_pMinifigWnd = new CWnd; m_pMinifigWnd = new CWnd;
m_pMinifigWnd->CreateEx (0, MINIFIG_CLASSNAME, "LeoCAD", m_pMinifigWnd->CreateEx (0, MINIFIG_CLASSNAME, "LeoCAD", WS_BORDER | WS_CHILD | WS_VISIBLE, r, this, 0, m_pMinifig);
WS_BORDER | WS_CHILD | WS_VISIBLE, r, this, 0, m_pMinifig);
for (int i = 0; i < LC_MFW_NUMITEMS; i++) 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_HATCOLOR+i))->SetColorIndex (m_pMinifig->m_Colors[i]);
@ -153,15 +152,15 @@ void CMinifigDlg::OnPieceSelEndOK(UINT nID)
void CMinifigDlg::OnChangeAngle(UINT nID) 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 };
char tmp[65]; char tmp[65];
GetDlgItem(nID)->GetWindowText (tmp, 65); GetDlgItem(nID)->GetWindowText(tmp, 65);
if (m_pMinifigWnd) if (m_pMinifigWnd)
{ {
int index[] = { LC_MFW_HAT, LC_MFW_HEAD, LC_MFW_NECK, m_pMinifig->SetAngle(index[nID-IDC_MF_HATANGLE], (float)strtod(tmp, NULL));
LC_MFW_LEFT_ARM, LC_MFW_RIGHT_ARM, LC_MFW_LEFT_HAND, m_pMinifig->Redraw();
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 };
m_pMinifig->SetAngle (index[nID-IDC_MF_HATANGLE], (float)strtod (tmp, NULL));
m_pMinifig->Redraw ();
} }
} }

View file

@ -710,70 +710,68 @@ BEGIN
PUSHBUTTON "Apply",IDAPPLY,71,28,35,11 PUSHBUTTON "Apply",IDAPPLY,71,28,35,11
END END
IDD_MINIFIG DIALOGEX 0, 0, 400, 186 IDD_MINIFIG DIALOGEX 0, 0, 520, 235
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Minifig Wizard" CAPTION "Minifig Wizard"
FONT 8, "MS Sans Serif", 0, 0, 0x0 FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "OK",IDOK,303,165,41,14 DEFPUSHBUTTON "OK",IDOK,423,214,41,14
PUSHBUTTON "Cancel",IDCANCEL,352,165,41,14 PUSHBUTTON "Cancel",IDCANCEL,472,214,41,14
COMBOBOX IDC_MF_HAT,7,11,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_MF_HAT,7,11,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HATCOLOR,91,11,22,12 PUSHBUTTON "",IDC_MF_HATCOLOR,136,11,22,12
EDITTEXT IDC_MF_HATANGLE,117,12,28,12,ES_AUTOHSCROLL | ES_NUMBER 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,139,11,7,12 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,30,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_MF_NECK,7,37,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_NECKCOLOR,91,30,22,12 PUSHBUTTON "",IDC_MF_NECKCOLOR,136,37,22,12
EDITTEXT IDC_MF_NECKANGLE,117,31,28,12,ES_AUTOHSCROLL | ES_NUMBER COMBOBOX IDC_MF_ARMR,7,63,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Spin1",IDC_MF_NECKSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,30,8,12 PUSHBUTTON "",IDC_MF_ARMRCOLOR,136,63,22,12
COMBOBOX IDC_MF_ARMR,7,49,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_MF_ARMRANGLE,162,64,28,12,ES_AUTOHSCROLL | ES_NUMBER
PUSHBUTTON "",IDC_MF_ARMRCOLOR,91,49,22,12 CONTROL "Spin1",IDC_MF_ARMRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,63,8,12
EDITTEXT IDC_MF_ARMRANGLE,117,50,28,12,ES_AUTOHSCROLL | ES_NUMBER COMBOBOX IDC_MF_HANDR,7,89,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Spin1",IDC_MF_ARMRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,49,8,12 PUSHBUTTON "",IDC_MF_HANDRCOLOR,136,89,22,12
COMBOBOX IDC_MF_HANDR,7,68,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_MF_HANDRANGLE,162,90,28,12,ES_AUTOHSCROLL | ES_NUMBER
PUSHBUTTON "",IDC_MF_HANDRCOLOR,91,68,22,12 CONTROL "Spin1",IDC_MF_HANDRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,89,8,12
EDITTEXT IDC_MF_HANDRANGLE,117,69,28,12,ES_AUTOHSCROLL | ES_NUMBER COMBOBOX IDC_MF_TOOLR,7,115,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Spin1",IDC_MF_HANDRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,68,8,12 PUSHBUTTON "",IDC_MF_TOOLRCOLOR,136,115,22,12
COMBOBOX IDC_MF_TOOLR,7,87,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_MF_TOOLRANGLE,162,116,28,12,ES_AUTOHSCROLL | ES_NUMBER
PUSHBUTTON "",IDC_MF_TOOLRCOLOR,91,87,22,12 CONTROL "Spin1",IDC_MF_TOOLRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,115,8,12
EDITTEXT IDC_MF_TOOLRANGLE,117,88,28,12,ES_AUTOHSCROLL | ES_NUMBER COMBOBOX IDC_MF_HIPS,7,141,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Spin1",IDC_MF_TOOLRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,87,8,12 PUSHBUTTON "",IDC_MF_HIPSCOLOR,136,141,22,12
COMBOBOX IDC_MF_HIPS,7,106,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_MF_LEGR,7,167,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HIPSCOLOR,91,106,22,12 PUSHBUTTON "",IDC_MF_LEGRCOLOR,136,167,22,12
COMBOBOX IDC_MF_LEGR,7,125,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_MF_LEGRANGLE,162,168,28,12,ES_AUTOHSCROLL | ES_NUMBER
PUSHBUTTON "",IDC_MF_LEGRCOLOR,91,125,22,12 CONTROL "Spin1",IDC_MF_LEGRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,167,8,12
EDITTEXT IDC_MF_LEGRANGLE,117,126,28,12,ES_AUTOHSCROLL | ES_NUMBER COMBOBOX IDC_MF_SHOER,7,193,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Spin1",IDC_MF_LEGRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,125,8,12 PUSHBUTTON "",IDC_MF_SHOERCOLOR,136,193,22,12
COMBOBOX IDC_MF_SHOER,7,144,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_MF_SHOERANGLE,162,194,28,12,ES_AUTOHSCROLL | ES_NUMBER
PUSHBUTTON "",IDC_MF_SHOERCOLOR,91,144,22,12 CONTROL "Spin1",IDC_MF_SHOERSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,184,193,8,12
EDITTEXT IDC_MF_SHOERANGLE,117,145,28,12,ES_AUTOHSCROLL | ES_NUMBER EDITTEXT IDC_MF_HEADANGLE,330,12,28,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_MF_SHOERSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,144,8,12 CONTROL "Spin1",IDC_MF_HEADSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,12,7,12
EDITTEXT IDC_MF_HEADANGLE,250,12,28,12,ES_AUTOHSCROLL | ES_NUMBER PUSHBUTTON "",IDC_MF_HEADCOLOR,362,11,22,12
CONTROL "Spin1",IDC_MF_HEADSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,12,7,12 COMBOBOX IDC_MF_HEAD,388,11,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HEADCOLOR,282,11,22,12 PUSHBUTTON "",IDC_MF_TORSOCOLOR,362,37,22,12
COMBOBOX IDC_MF_HEAD,308,11,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_MF_TORSO,388,37,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_TORSOCOLOR,282,30,22,12 EDITTEXT IDC_MF_ARMLANGLE,330,64,28,12,ES_AUTOHSCROLL | ES_NUMBER
COMBOBOX IDC_MF_TORSO,308,30,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Spin1",IDC_MF_ARMLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,64,7,12
EDITTEXT IDC_MF_ARMLANGLE,250,50,28,12,ES_AUTOHSCROLL | ES_NUMBER PUSHBUTTON "",IDC_MF_ARMLCOLOR,362,63,22,12
CONTROL "Spin1",IDC_MF_ARMLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,50,7,12 COMBOBOX IDC_MF_ARML,388,63,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_ARMLCOLOR,282,49,22,12 EDITTEXT IDC_MF_HANDLANGLE,330,90,28,12,ES_AUTOHSCROLL | ES_NUMBER
COMBOBOX IDC_MF_ARML,308,49,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Spin1",IDC_MF_HANDLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,90,7,12
EDITTEXT IDC_MF_HANDLANGLE,250,69,28,12,ES_AUTOHSCROLL | ES_NUMBER PUSHBUTTON "",IDC_MF_HANDLCOLOR,362,89,22,12
CONTROL "Spin1",IDC_MF_HANDLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,69,7,12 COMBOBOX IDC_MF_HANDL,388,89,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HANDLCOLOR,282,68,22,12 EDITTEXT IDC_MF_TOOLLANGLE,330,116,28,12,ES_AUTOHSCROLL | ES_NUMBER
COMBOBOX IDC_MF_HANDL,308,68,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Spin1",IDC_MF_TOOLLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,116,7,12
EDITTEXT IDC_MF_TOOLLANGLE,250,88,28,12,ES_AUTOHSCROLL | ES_NUMBER PUSHBUTTON "",IDC_MF_TOOLLCOLOR,362,115,22,12
CONTROL "Spin1",IDC_MF_TOOLLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,88,7,12 COMBOBOX IDC_MF_TOOLL,388,115,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_TOOLLCOLOR,282,87,22,12 EDITTEXT IDC_MF_LEGLANGLE,330,168,28,12,ES_AUTOHSCROLL | ES_NUMBER
COMBOBOX IDC_MF_TOOLL,308,87,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Spin1",IDC_MF_LEGLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,168,7,12
EDITTEXT IDC_MF_LEGLANGLE,250,126,28,12,ES_AUTOHSCROLL | ES_NUMBER PUSHBUTTON "",IDC_MF_LEGLCOLOR,362,167,22,12
CONTROL "Spin1",IDC_MF_LEGLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,126,7,12 COMBOBOX IDC_MF_LEGL,388,167,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_LEGLCOLOR,282,125,22,12 EDITTEXT IDC_MF_SHOELANGLE,330,194,28,12,ES_AUTOHSCROLL | ES_NUMBER
COMBOBOX IDC_MF_LEGL,308,125,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Spin1",IDC_MF_SHOELSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,352,194,7,12
EDITTEXT IDC_MF_SHOELANGLE,250,145,28,12,ES_AUTOHSCROLL | ES_NUMBER PUSHBUTTON "",IDC_MF_SHOELCOLOR,362,193,22,12
CONTROL "Spin1",IDC_MF_SHOELSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,145,7,12 COMBOBOX IDC_MF_SHOEL,388,193,125,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_SHOELCOLOR,282,144,22,12 LTEXT "",IDC_PREVIEWSTATIC,194,12,131,195,NOT WS_VISIBLE | NOT WS_GROUP
COMBOBOX IDC_MF_SHOEL,308,144,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "",IDC_PREVIEWSTATIC,149,7,96,158,NOT WS_VISIBLE | NOT WS_GROUP
END END
IDD_HTML DIALOG 0, 0, 187, 172 IDD_HTML DIALOG 0, 0, 187, 172

View file

@ -384,9 +384,8 @@
#define IDC_MF_SHOEL 1217 #define IDC_MF_SHOEL 1217
#define IDC_MF_SHOER 1218 #define IDC_MF_SHOER 1218
#define IDC_PREVIEWSTATIC 1219 #define IDC_PREVIEWSTATIC 1219
#define IDC_MF_HATANGLE 1220 #define IDC_MF_HATANGLE 1221
#define IDC_MF_HEADANGLE 1221 #define IDC_MF_HEADANGLE 1222
#define IDC_MF_NECKANGLE 1222
#define IDC_MF_ARMLANGLE 1223 #define IDC_MF_ARMLANGLE 1223
#define IDC_HTMLDLG_HTMLEXT 1223 #define IDC_HTMLDLG_HTMLEXT 1223
#define IDC_MF_ARMRANGLE 1224 #define IDC_MF_ARMRANGLE 1224
@ -403,10 +402,9 @@
#define IDC_KEYDLG_CMDLIST 1230 #define IDC_KEYDLG_CMDLIST 1230
#define IDC_MF_SHOELANGLE 1231 #define IDC_MF_SHOELANGLE 1231
#define IDC_MF_SHOERANGLE 1232 #define IDC_MF_SHOERANGLE 1232
#define IDC_MF_HATSPIN 1233 #define IDC_MF_HATSPIN 1234
#define IDC_KEYDLG_REMOVE 1233 #define IDC_KEYDLG_REMOVE 1233
#define IDC_MF_HEADSPIN 1234 #define IDC_MF_HEADSPIN 1235
#define IDC_MF_NECKSPIN 1235
#define IDC_MF_ARMLSPIN 1236 #define IDC_MF_ARMLSPIN 1236
#define IDC_KEYDLG_RESET 1236 #define IDC_KEYDLG_RESET 1236
#define IDC_MF_ARMRSPIN 1237 #define IDC_MF_ARMRSPIN 1237