summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo2010-07-11 22:19:43 +0000
committerLeo2010-07-11 22:19:43 +0000
commit742ef27f8be974985399e5ddaf155862d7da5ad2 (patch)
tree204acc87f2bd1a4aac8ee943aec85207aa23e65a
parent66b3f4b8d9f1b606eb4a6e893db9f293cbeb95a3 (diff)
Updated Minifig Wizard to read settings from ini file.
git-svn-id: http://svn.leocad.org/branches/leocad-0.75@954 c7d43263-9d01-0410-8a33-9dba5d9f93d6
-rw-r--r--common/algebra.h93
-rw-r--r--common/minifig.cpp1807
-rw-r--r--common/minifig.h102
-rw-r--r--common/project.cpp15
-rw-r--r--win/Figdlg.cpp32
-rw-r--r--win/LeoCAD.rc876
6 files changed, 1517 insertions, 1408 deletions
diff --git a/common/algebra.h b/common/algebra.h
index 6655d3a..0e2be09 100644
--- a/common/algebra.h
+++ b/common/algebra.h
@@ -594,6 +594,99 @@ public:
*this = Mat;
}
+ Vector4 ToAxisAngle()
+ {
+ Matrix33 tmp(Vector3(m_Rows[0]).Normalize(), Vector3(m_Rows[1]).Normalize(), Vector3(m_Rows[2]).Normalize());
+
+ // Determinant should be 1 for rotation matrices.
+ float Determinant = tmp.m_Rows[0][0] * tmp.m_Rows[1][1] * tmp.m_Rows[2][2] + tmp.m_Rows[0][1] * tmp.m_Rows[1][2] * tmp.m_Rows[2][0] +
+ tmp.m_Rows[0][2] * tmp.m_Rows[1][0] * tmp.m_Rows[2][1] - tmp.m_Rows[0][0] * tmp.m_Rows[1][2] * tmp.m_Rows[2][1] -
+ tmp.m_Rows[0][1] * tmp.m_Rows[1][0] * tmp.m_Rows[2][2] - tmp.m_Rows[0][2] * tmp.m_Rows[1][1] * tmp.m_Rows[2][0];
+
+ if (Determinant < 0.0f)
+ tmp.m_Rows[0] *= -1.0f;
+
+ float Trace = tmp.m_Rows[0][0] + tmp.m_Rows[1][1] + tmp.m_Rows[2][2];
+ float Cos = 0.5f * (Trace - 1.0f);
+ Vector4 rot;
+
+ if (Cos < -1.0f)
+ Cos = -1.0f;
+ else if (Cos > 1.0f)
+ Cos = 1.0f;
+ rot[3] = acosf(Cos); // in [0,PI]
+
+ if (rot[3] > 0.01f)
+ {
+ if (fabsf(3.141592f - rot[3]) > 0.01f)
+ {
+ rot[0] = tmp.m_Rows[1][2] - tmp.m_Rows[2][1];
+ rot[1] = tmp.m_Rows[2][0] - tmp.m_Rows[0][2];
+ rot[2] = tmp.m_Rows[0][1] - tmp.m_Rows[1][0];
+
+ float inv = 1.0f / sqrtf(rot[0]*rot[0] + rot[1]*rot[1] + rot[2]*rot[2]);
+
+ rot[0] *= inv;
+ rot[1] *= inv;
+ rot[2] *= inv;
+ }
+ else
+ {
+ // angle is PI
+ float HalfInverse;
+ if (tmp.m_Rows[0][0] >= tmp.m_Rows[1][1])
+ {
+ // r00 >= r11
+ if (tmp.m_Rows[0][0] >= tmp.m_Rows[2][2])
+ {
+ // r00 is maximum diagonal term
+ rot[0] = 0.5f * sqrtf(tmp.m_Rows[0][0] - tmp.m_Rows[1][1] - tmp.m_Rows[2][2] + 1.0f);
+ HalfInverse = 0.5f / rot[0];
+ rot[1] = HalfInverse * tmp.m_Rows[1][0];
+ rot[2] = HalfInverse * tmp.m_Rows[2][0];
+ }
+ else
+ {
+ // r22 is maximum diagonal term
+ rot[2] = 0.5f * sqrtf(tmp.m_Rows[2][2] - tmp.m_Rows[0][0] - tmp.m_Rows[1][1] + 1.0f);
+ HalfInverse = 0.5f / rot[2];
+ rot[0] = HalfInverse * tmp.m_Rows[2][0];
+ rot[1] = HalfInverse * tmp.m_Rows[2][1];
+ }
+ }
+ else
+ {
+ // r11 > r00
+ if (tmp.m_Rows[1][1] >= tmp.m_Rows[2][2])
+ {
+ // r11 is maximum diagonal term
+ rot[1] = 0.5f * sqrtf(tmp.m_Rows[1][1] - tmp.m_Rows[0][0] - tmp.m_Rows[2][2] + 1.0f);
+ HalfInverse = 0.5f / rot[1];
+ rot[0] = HalfInverse * tmp.m_Rows[1][0];
+ rot[2] = HalfInverse * tmp.m_Rows[2][1];
+ }
+ else
+ {
+ // r22 is maximum diagonal term
+ rot[2] = 0.5f * sqrtf(tmp.m_Rows[2][2] - tmp.m_Rows[0][0] - tmp.m_Rows[1][1] + 1.0f);
+ HalfInverse = 0.5f / rot[2];
+ rot[0] = HalfInverse * tmp.m_Rows[2][0];
+ rot[1] = HalfInverse * tmp.m_Rows[2][1];
+ }
+ }
+ }
+ }
+ else
+ {
+ // The angle is 0 and the matrix is the identity.
+ rot[0] = 0.0f;
+ rot[1] = 0.0f;
+ rot[2] = 1.0f;
+ }
+
+ return rot;
+ }
+
protected:
Vector4 m_Rows[4];
};
diff --git a/common/minifig.cpp b/common/minifig.cpp
index 9098e49..bed6968 100644
--- a/common/minifig.cpp
+++ b/common/minifig.cpp
@@ -18,414 +18,746 @@
// =============================================================================
// Static variables
-static LC_MFW_PIECEINFO mfw_pieceinfo[] =
-{
- // Helms
- { "193", "Helmet Classic", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "193A", "Helmet with Thin Chin Guard", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "193B", "Helmet with Thick Chin Guard", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "390", "Hair Female with Pigtails", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "524", "Darth Vader Helmet", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "526", "Samurai Helmet", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "526C01", "Samurai Helmet with Horn", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "527", "Helmet with Chinstrap and Wide Brim", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "530", "Knit Cap", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "775", "Forestman Cap", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "775C01", "Forestman Cap with Red Plume", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "2446", "Helmet Modern", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "2528", "Bicorne Hat", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "2544", "Tricorne Hat", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "2544C01", "Tricorne Hat with White Plume", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "2545", "Imperial Guard Shako", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3624", "Police Hat", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3629", "Cowboy Hat", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3833", "Construction Helmet", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3834", "Fire Helmet", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3844", "Castle Helmet with Neck Protect", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3878", "Top Hat", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3896", "Castle Helmet with Chin-Guard", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3901", "Hair Male", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "4485", "Baseball Cap", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "6093", "Hair Shoulder Length", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "6131", "Wizard Hat", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "30048", "Helmet Morion", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "30171", "Aviator Cap", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "71015", "Crown", LC_MFW_HAT, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
-
- // Faces
- { "3626B", "Plain Face", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP01", "Smiley Face", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP02", "Woman Face", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP03", "Pointed Moustache", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP04", "Sunglasses", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP05", "Grin and Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP06", "Grin, Eyebrows and Microphone", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP30", "Messy Hair and Moustache", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP31", "Messy Hair and Eye Patch", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP32", "Messy Hair, Moustache and Eye Patch", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP33", "Messy Hair, Moustache and Beard", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP34", "Messy Hair, Beard and Eye Patch", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP39", "Dark Grey Facial Hair", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP3E", "Wiry Moustache and Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP3J", "Islander White/Red Painted Face", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP3K", "Islander White/Blue Painted Face", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP3N", "Sideburns and Droopy Moustache Black", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP3Q", "Sideburns and Droopy Moustache Brown", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP40", "Messy Hair Female", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP61", "Ice Planet Moustache and Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP62", "Ice Planet Messy White Hair", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP63", "Silver Robot", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP65", "Ice Planet Female Red Hair", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP69", "Headset Over Brown Hair and Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP6F", "Red Lips and Black Upswept Eyelashes", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP7A", "Brown Hair Over Eye and Black Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP7B", "Blue Sunglasses", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BP7C", "Blue Wrap-Around Sunglasses", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPA1", "Glasses and White Muttonchops", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPA2", "Adventurers Mummy", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPA3", "Smirk and Black Moustache", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPA4", "Villan Black Facial Hair", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPA5", "Stubble Moustache and Smirk", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPA6", "Brown Hair, Eyelashes and Lipstick", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPA7", "Monacle, Scar and Moustache", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPA9", "Villainous Glasses & Black Facial Hair", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPAC", "Tribal Paint and Frown", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPS2", "SW Brown Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPS3", "SW Small Black Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPS4", "SW Grey Beard and Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPS5", "SW Smirk and Brown Eyebrows", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPS7", "SW Black Eyebrows and Scar", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPS8", "SW Darth Maul", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPS9", "SW Brown Eyebrows and Beard", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPSB", "SW Alien with Large Black Eyes", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPSC", "SW Grey Eyebrows and Implant", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPSE", "SW Scout Trooper Black Visor", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "3626BPST", "SW Tusken Raider", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
- { "82359", "Skeleton Skull", LC_MFW_HEAD, 0.0f, 0.0f, 3.84f, 0.0f, 0.0f, 0.0f },
-
- // Torsos
- { "973", "Plain Torso", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P01", "Vertical Strips Red/Blue", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P02", "Vertical Strips Blue/Red", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P03", "White Shirt and Jacket", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P04", "Six Button Suit and Airplane", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P05", "Six Button Suit and Anchor", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P09", "Anchor Motif", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P0A", "White Diagonal Zip and Pocket", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P0B", "Black Diagonal Zip and Pocket", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P11", "Dungarees", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P12", "Riding Jacket", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P13", "Straight Zipper Jacket", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P14", "'S' Logo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P15", "Horizontal Stripes", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P16", "Airplane Logo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P17", "Red V-Neck and Buttons", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P18", "Suit and Tie ", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P19", "Train Chevron", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1A", "Black Dungarees", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1B", "Blue Dungarees", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1C", "Red Dungarees", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1D", "Blue Horizontal Stripes", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1E", "Red Horizontal Stripes", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1H", "Racing Jacket and Two Stars", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1J", "Green Dungarees", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1M", "TV Logo Pattern Large", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P1Q", "Launch Command Logo and Equipment", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P20", "Waiter", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P21", "Five Button Fire Fighter", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P22", "Red Shirt and Suit", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P23", "'S' Logo Yellow / Blue Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P24", "Red Cross Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P25", "Red Cross & Stethoscope", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P26", "Patch Pocket", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P27", "Autoroute Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P28", "Leather Jacket", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P29", "Air Gauge and Pocket", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P2A", "Chef Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P2C", "Strapless Suntop", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P2E", "Blue and Mint Green Stripes", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P2F", "Spotted Singlet and Necklace", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P30", "Pirate Purple Vest and Anchor Tattoo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P31", "Pirate Strips (Red/Cream)", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P32", "Pirate Strips (Blue/Cream)", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P33", "Pirate Strips (Red/Black)", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P34", "Open Jacket over Striped Vest", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P35", "Imperial Guard", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P36", "Pirate Captain", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P37", "Imperial Guard Officer", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P38", "Female Pirate", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P39", "Pirate Open Jacket over Brown Shirt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P3A", "Pirate Ragged Shirt and Dagger", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P3B", "Brown Vest, Ascot and Belt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P3C", "Pirate Green Vest, Shirt and Belt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P3D", "Medallion, Belt, And Silver Buttons", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P3N", "Blue Imperial Guard", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P3Q", "Red Imperial Guard", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P3R", "Blue Imperial Guard Officer", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P3S", "Red Imperial Guard Officer", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P40", "Castle Breastplate", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P41", "Castle Chainmail", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P42", "Castle Crossed Pikes", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P43", "Black Falcon Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P44", "Wolfman Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P45", "Studded Armor", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P46", "Forestman and Purse", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P47", "Castle Red/Gray Symbol", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P48", "Forestman Maroon Collar", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P49", "Forestman Blue Collar", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4B", "Dragon Head", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4D", "Royal Knights Lion-Head Sheild", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4E", "Royal Knights Lion-Head & Neck-Chain", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4G", "Castle Female Armor", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4N", "Blue Castle Bodice", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4Q", "Green Castle Bodice", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4R", "Tri-Colored Shield", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4S", "Suzerain Goldcrest", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4T", "Red/Peach Quarters Shield", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P4U", "Maroon/Red Quarters Shield", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P50", "Forestman Black Collar", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P51", "Blacktron II", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P52", "Blacktron I Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P54", "UFO Alien Orange and Silver", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P55", "Explorien Logo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P60", "Shell Logo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P61", "Gold Ice Planet", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P62", "Silver Ice Planet", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P63", "Robot Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P64", "Unitron Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P65", "Futuron Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P66", "Spyrius Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P68", "Mtron Logo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P69", "Space Police II and Radio", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P6B", "Black Futuron", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P6C", "Blue Futuron", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P6D", "Red Fututon", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P6E", "Yellow Futuron", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P70", "Bomber Jacket and Black Shirt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P71", "Red Necklace and Blue Undershirt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P72", "Gold Necklace and Yellow Undershirt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P73", "Vest and Patch Pockets", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P74", "Vest, Patch Pockets and Police Badge", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P76", "Jacket, Tie and Police Badge", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P77", "Modern Firefighter Type 1", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P78", "Modern Firefighter Type 2", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P7A", "Arctic Parka A1", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P7B", "Arctic Parka A2", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P83", "Suit, Tie with Train Pattern", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P8A", "Extreme Team Jacket Logo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P8B", "RES-Q Orange Pockets and Logo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973P90", "Classic Space", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PA1", "Suspenders and Red Bowtie", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PA2", "Pharoah Breastplate", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PA3", "Safari Shirt, Gun & Red Bandana", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PA4", "White Suit, Brown Vest and Tie", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PA5", "Bomber Jacket, Belt and Black Shirt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PA6", "Safari Shirt, Blue Tee and Red Bandana", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PA7", "Safair Shirt, Black Tee and Holster", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PA8", "Jacket, White Shirt and Necklace", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PAB", "Tank Top, Stains, Wrench and Tattoo", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PAC", "Mayan Necklace, Tribal Shirt and Naval", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PAJ", "Rock Raiders Jet", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PDF", "Black Suit, Red Shirt, Gold Clasps", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PDG", "White Rope & Patched Collar", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PHB", "Purple Greatcoat", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PN0", "Samurai Dragon Robe", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PN1", "Samurai, Sash and Dagger", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PN5", "Ninja Wrap, Silver Shuriken & Dagger", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PN6", "Ninja Wrap, Gold Shuriken, and Armour", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PS0", "SW Rebel A-Wing Pilot", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PS1", "SW Rebel Pilot", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PS2", "SW Jedi Robes and Sash", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PS3", "SW Wrap-Around Tunic", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PS4", "SW Shirt (Open Collar, No Vest)", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PS5", "SW Black Vest and White Shirt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PS6", "SW Old Obi-Wan", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PS7", "SW Darth Vader", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSA", "SW Rebel Mechanic", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSB", "SW Blast Armour (Green Plates)", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSC", "SW Pocket-Vest and Techno-Buckle", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSE", "SW Scout Trooper", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSF", "SW Tunic and Belt", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSK", "SW Stormtrooper", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSM", "SW Camouflage Smock", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSN", "SW Imperial Shuttle Pilot", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSQ", "SW Imperial Officer", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "973PSR", "SW Protocol Droid", LC_MFW_TORSO, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
-
- // Neck
- { "522", "Cape Cloth", LC_MFW_NECK, 0.0f, 0.0f, 2.96f, 0.0f, 0.0f, 0.0f },
- { "2524", "Backpack Non-Opening", LC_MFW_NECK, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "2526", "Epaulette", LC_MFW_NECK, 0.0f, 0.0f, 2.96f, 0.0f, 0.0f, 0.0f },
- { "2587", "Armor Plate", LC_MFW_NECK, 0.0f, 0.0f, 2.96f, 0.0f, 0.0f, 0.0f },
- { "2610", "Lifevest", LC_MFW_NECK, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "3838", "Airtanks", LC_MFW_NECK, 0.0f, 0.0f, 2.96f, 0.0f, 0.0f, 0.0f },
- { "3840", "Vest", LC_MFW_NECK, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "4498", "Arrow Quiver", LC_MFW_NECK, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 180.0f },
- { "4523", "D-Basket", LC_MFW_NECK, 0.0f, 0.0f, 2.84f, 0.0f, 0.0f, 0.0f },
- { "4524", "Cape", LC_MFW_NECK, 0.0f, 0.0f, 2.96f, 0.0f, 0.0f, 0.0f },
- { "4736", "Jet-Pack with Stud On Front", LC_MFW_NECK, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "6132", "Hair Beard", LC_MFW_NECK, 0.0f, 0.0f, 2.96f, 0.0f, 0.0f, 0.0f },
- { "30091", "Scuba Tank", LC_MFW_NECK, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
- { "30174", "Armor Samurai", LC_MFW_NECK, 0.0f, 0.0f, 2.88f, 0.0f, 0.0f, 0.0f },
-
- // Arms
- { "976", "Left Arm", LC_MFW_LEFT_ARM, 0.0f, 0.0f, 2.56f, 0.0f, 0.0f, 0.0f },
- { "975", "Right Arm", LC_MFW_RIGHT_ARM, 0.0f, 0.0f, 2.56f, 0.0f, 0.0f, 0.0f },
-
- // Hands
- { "977", "Hand", LC_MFW_LEFT_HAND, 0.9f, -0.62f, 1.76f, 45.0f, 0.0f, 90.0f },
-
- // Accessories
- { "37", "Knife", LC_MFW_LEFT_TOOL, 0.72f, -0.64f, 1.58f, 45.0f, 0.0f, 0.0f },
- { "38", "Harpoon", LC_MFW_LEFT_TOOL, 0.72f, -0.64f, 1.0f, 45.0f, 0.0f, 0.0f },
- { "59", "Greatsword", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.72f, 45.0f, 0.0f, 0.0f },
- { "194", "Hose Nozzle", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.22f, 45.0f, 0.0f, 180.0f },
- { "375", "Ice Axe", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.32f, 45.0f, 0.0f, 0.0f },
- { "577", "Light Sabre Hilt", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.52f, 45.0f, 0.0f, 0.0f },
- { "577C01", "Light Sabre On", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.52f, 45.0f, 0.0f, 0.0f },
- { "774", "Handaxe", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.20f, 45.0f, 0.0f, 0.0f },
- { "2530", "Cutlass", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.72f, 45.0f, 0.0f, 0.0f },
- { "2542", "Oar", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 0.52f, 45.0f, 180.0f, 0.0f },
- { "2561", "Musket", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.34f, 45.0f, 0.0f, 0.0f },
- { "2562", "Flintlock Pistol", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.72f, 45.0f, 0.0f, 0.0f },
- { "2570", "Crossbow", LC_MFW_LEFT_TOOL, 0.72f, -0.64f, 1.82f, 45.0f, 0.0f, 0.0f },
- { "2614", "Fishing Rod", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.74f, 45.0f, 0.0f, 0.0f },
- { "3841", "Pickaxe", LC_MFW_LEFT_TOOL, 0.72f, -0.64f, 2.24f, 45.0f, 0.0f, 180.0f },
- { "3846", "Shield", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P43", "Shield Black Falcon", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P44", "Shield Wolfpack", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P45", "Shield Black Falcon Blue Border", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P46", "Shield Black Falcon Yellow Border", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P47", "Shield Red/Gray", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P48", "Shield Forestman", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P4C", "Shield Blue Dragon", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P4D", "Shield Royal Knights Lion", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P4E", "Shield Lion Head, Blue & Yellow", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P4G", "Shield Blue Lion on Yellow", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P4H", "Shield Yellow Lion on Blue", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P4T", "Shield Red/Peach Quarters", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3846P4U", "Shield Maroon/Red Quarters", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3847", "Shortsword", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.04f, 45.0f, 0.0f, 0.0f },
- { "3848", "Battleaxe", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.04f, 45.0f, 0.0f, 180.0f },
- { "3852", "Hairbrush", LC_MFW_LEFT_TOOL, 0.82f, -0.64f, 1.98f, 45.0f, 0.0f, -90.0f },
- { "3876", "Shield Round", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 0.0f },
- { "3899", "Cup", LC_MFW_LEFT_TOOL, -0.06f, -0.62f, 2.16f, 45.0f, 0.0f, 0.0f },
- { "3959", "Space Gun", LC_MFW_LEFT_TOOL, 0.74f, -0.62f, 2.1f, 45.0f, 0.0f, 0.0f },
- { "3962", "Radio", LC_MFW_LEFT_TOOL, 0.72f, -0.66f, 1.62f, 45.0f, 0.0f, 90.0f },
- { "4006", "Spanner/Screwdriver", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 2.18f, 45.0f, 0.0f, 180.0f },
- { "4349", "Loudhailer", LC_MFW_LEFT_TOOL, 0.72f, -0.64f, 2.28f, 45.0f, 0.0f, 0.0f },
- { "4360", "Space Laser Gun", LC_MFW_LEFT_TOOL, 0.96f, -0.62f, 2.64f, 45.0f, 0.0f, -90.0f },
- { "4479", "Metal Detector", LC_MFW_LEFT_TOOL, 0.74f, -0.64f, 2.64f, 45.0f, 0.0f, 90.0f },
- { "4497", "Spear", LC_MFW_LEFT_TOOL, 0.72f, -0.64f, 3.48f, 45.0f, 0.0f, 90.0f },
- { "4499", "Bow with Arrow", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.52f, 45.0f, 0.0f, -10.0f },
- { "4522", "Mallet", LC_MFW_LEFT_TOOL, 0.72f, -0.64f, 2.72f, 45.0f, 0.0f, 0.0f },
- { "4528", "Frypan", LC_MFW_LEFT_TOOL, 0.90f, -0.62f, 2.64f, -45.0f, 90.0f, 90.0f },
- { "4529", "Saucepan", LC_MFW_LEFT_TOOL, 0.96f, -0.62f, 2.56f, -45.0f, 90.0f, 90.0f },
- { "6124", "Magic Wand", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.32f, 45.0f, 0.0f, 0.0f },
- { "6246A", "Screwdriver", LC_MFW_LEFT_TOOL, 0.72f, -0.61f, 3.12f, 45.0f, 0.0f, 90.0f },
- { "6246B", "Hammer", LC_MFW_LEFT_TOOL, 0.72f, -0.61f, 3.12f, 45.0f, 0.0f, 90.0f },
- { "6246D", "Box Wrench", LC_MFW_LEFT_TOOL, 0.72f, -0.61f, 3.12f, 45.0f, 0.0f, 90.0f },
- { "6246E", "Open End Wrench", LC_MFW_LEFT_TOOL, 0.72f, -0.61f, 3.12f, 45.0f, 0.0f, 90.0f },
- { "6246C", "Power Drill", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.96f, 45.0f, 0.0f, 0.0f },
- { "30132", "Revolver", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.72f, 45.0f, 0.0f, 0.0f },
- { "30141", "Rifle", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.72f, 45.0f, 0.0f, -10.0f },
- { "30152", "Magnifying Glass", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 3.76f, 45.0f, 0.0f, 0.0f },
- { "30173", "Katana", LC_MFW_LEFT_TOOL, 0.72f, -0.62f, 1.72f, 45.0f, 0.0f, 0.0f },
-
- // Hips
- { "970", "Hips", LC_MFW_HIPS, 0.0f, 0.0f, 1.6f, 0.0f, 0.0f, 0.0f },
- { "970P4F", "Hips with Leather Belt (Red Studs)", LC_MFW_HIPS, 0.0f, 0.0f, 1.6f, 0.0f, 0.0f, 0.0f },
- { "970P63", "Hips with Robot Pattern", LC_MFW_HIPS, 0.0f, 0.0f, 1.6f, 0.0f, 0.0f, 0.0f },
- { "970PHB", "Purple Greatcoat Pattern", LC_MFW_HIPS, 0.0f, 0.0f, 1.6f, 0.0f, 0.0f, 0.0f },
- { "970PS5", "Hips with SW Gun Belt", LC_MFW_HIPS, 0.0f, 0.0f, 1.6f, 0.0f, 0.0f, 0.0f },
-
- // Left Legs
- { "773", "Wooden Leg", LC_MFW_LEFT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "972", "Left Leg", LC_MFW_LEFT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "972PHB", "Purple Greatcoat", LC_MFW_LEFT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "972P3J", "Grass Skirt", LC_MFW_LEFT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "972P4F", "Leather Straps (Red Studs)", LC_MFW_LEFT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "972P63", "Robot Pattern", LC_MFW_LEFT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "972PA2", "Green Kilt and Toes", LC_MFW_LEFT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
-
- // Right Legs
- { "971", "Right Leg", LC_MFW_RIGHT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "971P3J", "Grass Skirt", LC_MFW_RIGHT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "971P4F", "Leather Straps (Red Studs)", LC_MFW_RIGHT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "971P63", "Robot Pattern", LC_MFW_RIGHT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "971PA2", "Kilt and Toes", LC_MFW_RIGHT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "971PHB", "Purple Greatcoat", LC_MFW_RIGHT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
- { "971PS5", "SW Gunbelt", LC_MFW_RIGHT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
-
- // Footwear
- { "2599", "Flipper", LC_MFW_LEFT_SHOE, 0.42f, -0.12f, 0.0f, 0.0f, 0.0f, 0.0f },
- { "6120", "Ski", LC_MFW_LEFT_SHOE, 0.42f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }
-
-// 2447 Minifig Helmet Visor
-// 769 Minifig Helmet Visor Space
-// 30090 Minifig Diver Mask
-// { "30362", "Robot Leg", LC_MFW_LEFT_LEG, 0.0f, 0.0f, 1.12f, 0.0f, 0.0f, 0.0f },
-/*
-22 7 30304 Binoculars Space
-25 4 30162 Binoculars Town
-22 2 5 3836 Pushbroom
-*/
-};
-
-/*
-981.DAT Minifig Arm Left
-982.DAT Minifig Arm Right
-33009.DAT Minifig Book
-30148.DAT Minifig Camera Movie
-30089.DAT Minifig Camera Snapshot
-4360.DAT Minifig Camera with Side Sight
-30170.DAT Minifig Cap Aviator Goggles
-208C01.DAT Minifig Chain 17L (Complete)
-30090.DAT Minifig Diver Mask
-2343.DAT Minifig Goblet
-983.DAT Minifig Hand
-3849.DAT Minifig Lance
-30377.DAT Minifig Mechanical Arm
-30378.DAT Minifig Mechanical Head SW Battle Droid
-30378PS1.DAT Minifig Mechanical Head with Orange Insignia Pattern
-30378PS2.DAT Minifig Mechanical Head with Rust Insignia Pattern
-30376.DAT Minifig Mechanical Legs
-30375CS0.DAT Minifig Mechanical SW Battle Droid (Shortcut)
-30375CS1.DAT Minifig Mechanical SW Battle Droid Commander (Shortcut)
-30375CS3.DAT Minifig Mechanical SW Battle Droid Pilot (Shortcut)
-30375CS2.DAT Minifig Mechanical SW Battle Droid Security (Shortcut)
-30375.DAT Minifig Mechanical Torso
-30375PS3.DAT Minifig Mechanical Torso with Blue Insignia Pattern
-30375PS1.DAT Minifig Mechanical Torso with Orange Insignia Pattern
-30375PS2.DAT Minifig Mechanical Torso with Tan Insignia Pattern
-4502A.DAT Minifig Plume Small
-6123.DAT Minifig Polearm Halberd
-3962B.DAT Minifig Radio with Long Handle
-3962A.DAT Minifig Radio with Short Handle
-30362.DAT Minifig Robot Leg
-30154.DAT Minifig Sextant
-3837.DAT Minifig Shovel
-3900.DAT Minifig Signal Holder
-6260C01.DAT Minifig Skeleton (Shortcut)
-6265.DAT Minifig Skeleton Arm
-6266.DAT Minifig Skeleton Leg
-82359.DAT Minifig Skeleton Skull
-6260.DAT Minifig Skeleton Torso
-770.DAT Minifig Shield Ovoid
-770PW1.DAT Minifig Shield Ovoid with American Indian Pattern
-770P4C.DAT Minifig Shield Ovoid with Blue Dragon Pattern
-770PH1.DAT Minifig Shield Ovoid with Golden Lion
-770P4B.DAT Minifig Shield Ovoid with Green Dragon Pattern
-770P4D.DAT Minifig Shield Ovoid with Royal Knights Lion Pattern
-770PS1.DAT Minifig Shield Ovoid with SW Gungans Patrol Shield Pattern
-30088.DAT Minifig Speargun
-4449.DAT Minifig Suitcase
-3836.DAT Minifig Tool Pushbroom
-30092.DAT Minifig Underwater Scooter
-2488.DAT Minifig Whip
-*/
-
-static int mfw_pieces = sizeof (mfw_pieceinfo)/sizeof (LC_MFW_PIECEINFO);
+// Settings for the 2010.2 update.
+static const char* DefaultSettings =
+ "[HATS]\n"
+ "\"Cap\" \"4485.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Cap Aviator\" \"30171.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Castle Helmet with Chin-Guard\" \"3896.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Castle Helmet with Neck Protector\" \"3844.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Construction Helmet\" \"3833.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Cook's Hat\" \"3898.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Fire Helmet\" \"3834.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Forestman Cap\" \"775.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Forestman Cap with Small Plume (Shortcut)\" \"775c01.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Female with Pigtails\" \"390.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Male\" \"3901.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Long Straight\" \"40239.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Long with Headband\" \"30114.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Long with Headband and Feathers\" \"30114C01.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Ponytail\" \"6093a.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Shoulder Length\" \"4530.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Spiky Long\" \"53982.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hair Spiky Short\" \"53981.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Bicorne\" \"2528.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Cowboy\" \"3629.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Crown\" \"71015.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Imperial Guard Shako\" \"2545.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Fez\" \"85975.dat\" 0 1 0 0 0 1 0 0 0 1 0 -14 0\n"
+ "\"Hat Kepi\" \"30135.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Knit Cap\" \"41334.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Tricorne\" \"2544.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Tricorne with Plume\" \"2544C01.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hat Wide Brim Flat\" \"30167.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Helmet Classic with Thin Chin Guard\" \"3842a.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Helmet Classic with Thick Chin Guard\" \"3842b.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Helmet Darth Vader\" \"524.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Helmet Modern\" \"2446.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Helmet Morion\" \"30048.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Helmet Samurai\" \"526.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Helmet Samurai with Horn (Shortcut)\" \"526c01.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Helmet with Chinstrap and Wide Brim\" \"527.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Police Hat\" \"3624.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Top Hat\" \"3878.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Wizards Hat\" \"6131.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\n"
+ "[HEAD]\n"
+ "\"Stud Solid\" \"3626A.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Stud Solid with Standard Grin Pattern\" \"3626AP01.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Standard Grin Pattern\" \"3626BP01.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Adventurers Mummy Pattern\" \"3626BPA2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Sunglasses Pattern\" \"3626bp7b.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Wrap-Around Sunglasses Pattern\" \"3626bp7c.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Brown Hair over Eye and Black Eyebrows Pattern\" \"3626BP7A.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Brown Hair, Eyelashes, and Lipstick Pattern\" \"3626BPA6.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Dark Grey Facial Hair Pattern\" \"3626BP39.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Evil Skeleton Skull Pattern\" \"3626BPA8.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Glasses and White Muttonchops Pattern\" \"3626BPA1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Gold Robot Pattern\" \"3626BP64.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Half-Moon Glasses and Grey Eyebrows Pattern\" \"3626BPHA.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Headset Over Brown Hair & Eyebrows Pattern\" \"3626BP69.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Ice Planet Female Red Hair Pattern\" \"3626BP65.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Ice Planet Messy White Hair\" \"3626BP62.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Ice Planet Moustache and Eyebrows Pattern\" \"3626BP61.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Islander White/Blue Painted Face Pattern\" \"3626BP3K.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Islander White/Red Painted Face Pattern\" \"3626BP3J.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Messy Hair and Eye Patch Pattern\" \"3626BP31.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Messy Hair and Moustache Pattern\" \"3626BP30.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Messy Hair Female Pattern\" \"3626BP40.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Messy Hair, Beard and Eye Patch Pattern\" \"3626BP34.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Messy Hair, Moustache, and Beard Pattern\" \"3626BP33.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Messy Hair, Moustache, and Eye Patch Pattern\" \"3626BP32.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Monocle, Scar, and Moustache Pattern\" \"3626BPA7.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Ron Weasley Pattern\" \"3626bph3.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\"Pursed Lips and White Forehead Pattern\" \"3626BPB1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Lips and Black Upswept Eyelashes Pattern\" \"3626bp6f.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Severus Snape Pattern\" \"3626BPHB.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Sideburns and Droopy Moustache Black Pattern\" \"3626BP3N.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Sideburns and Droopy Moustache Brown Pattern\" \"3626BP3Q.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Silver Robot Pattern\" \"3626BP63.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Skull Type 1 (Happy) Pattern\" \"82359.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Smirk & Black Moustache Pattern\" \"3626BPA3.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Standard Grin and Eyebrows Pattern\" \"3626BP05.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Standard Grin and Pointed Moustache Pattern\" \"3626BP03.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Standard Grin and Sunglasses Pattern\" \"3626BP04.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Standard Grin, Eyebrows and Microphone Pattern\" \"3626BP06.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Standard Woman Pattern\" \"3626BP02.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Stubble, Moustache and Smirk Pattern\" \"3626BPA5.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Alien with Large Black Eyes Pattern\" \"3626BPSB.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Black Eyebrows and Scars Pattern\" \"3626BPS7.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Brown Eyebrows and Beard Pattern\" \"3626BPS9.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Brown Eyebrows Pattern\" \"3626BPS2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Darth Maul Pattern\" \"3626BPS8.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Grey Beard and Eyebrows Pattern\" \"3626BPS4.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Grey Eyebrows & Implant Pattern\" \"3626BPSC.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Scout Trooper Black Visor Pattern\" \"3626BPSE.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Small Black Eyebrows Pattern\" \"3626BPS3.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Smirk and Brown Eyebrows Pattern\" \"3626BPS5.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Tusken Raider Pattern\" \"3626BPST.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Tribal Paint and Frown Pattern\" \"3626BPAC.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Villian Black Facial Hair Pattern\" \"3626BPA4.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Villainous Glasses & Black Facial Hair Pattern\" \"3626bpa9.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Vincent Crabbe/Ron Weasley Pattern\" \"3626bph5.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\"White Hair, Eyebrows, and Moustache Pattern\" \"3626BPN1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Wiry Moustache, Goatee and Eyebrows Pattern\" \"3626bp3e.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Mechanical Head SW Battle Droid\" \"30378.DAT\" 0 1 0 0 0 1 0 0 0 1 0 32 0\n"
+ "\"Stud Hollow\" \"3626B.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\n"
+ "[BODY]\n"
+ "\"Plain\" \"973.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"'S' Logo Grey / Blue Pattern\" \"973P23.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"'S' Logo Red / Black Pattern\" \"973P14.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"2 Chinese Letters Yellow Stripe Pattern\" \"973PAQ.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"3-Piece Suit, White Shirt and Red Tie Pattern\" \"973PDB.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Air Gauge and Pocket Pattern\" \"973P29.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Airplane Logo and 'AIR' Badge Pattern\" \"973P85.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Airplane Logo Pattern\" \"973P16.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Anchor Motif Pattern\" \"973P09.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Arctic Parka A1 Pattern\" \"973P7A.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Arctic Parka A2 Pattern\" \"973P7B.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Astro Pattern\" \"973P6F.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Autoroute Pattern\" \"973P27.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Black Diagonal Zip and Pocket Pattern\" \"973p0b.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Black Dungaree Pattern\" \"973P1A.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Black Falcon Pattern\" \"973P43.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Black Futuron Pattern\" \"973P6B.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blacktron I Pattern\" \"973P52.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blacktron II Pattern\" \"973P51.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue and Mint Green Stripes Pattern\" \"973p2e.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Castle Bodice Pattern\" \"973P4N.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Dungaree Pattern\" \"973P1B.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Futuron Pattern\" \"973P6C.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Flowers on Tied Shirt Pattern\" \"973P2G.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Horizontal Stripes Pattern\" \"973p1d.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Imperial Guard Officer Pattern\" \"973P3R.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Imperial Guard Pattern\" \"973P3N.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Shirt and Safety Stripes Pattern\" \"973P8G.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Striped Dungarees Pattern\" \"973P1R.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Blue Undershirt Green Bow and Gun Pattern\" \"973PW5.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Bomber Jacket & Black Shirt Pattern\" \"973P70.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Bomber Jacket, Belt, & Black Shirt Pattern\" \"973PA5.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Brown Vest, Ascot and Belt Pattern\" \"973P3B.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Brown Vest, Buckle and String Bowtie Pattern\" \"973PW9.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Buttons and Old Police Badge Pattern\" \"973P1F.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Card, Suit, Vest, and Gold Fob Pattern\" \"973PW8.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Castle Breastplate Pattern\" \"973P40.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Castle Bodice and Cloak Pattern\" \"973P4H.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Castle Chainmail Pattern\" \"973P41.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Castle Crossed Pikes Pattern\" \"973P42.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Castle Female Armor Pattern\" \"973P4G.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Castle Red/Gray Pattern\" \"973P47.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Chef Pattern\" \"973p2a.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Classic Space Pattern\" \"973P90.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"DkGray, Black, and Yellow Batman Pattern\" \"973PB1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Dragon Head Pattern\" \"973P4B.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Explorien Logo Pattern\" \"973p55.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Extreme Team Jacket Logo Pattern\" \"973P8A.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Female Pirate Pattern\" \"973P38.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Five Button Fire Fighter Pattern\" \"973P21.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Forestman and Purse Pattern\" \"973P46.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Forestman Black Collar Pattern\" \"973P50.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Forestman Blue Collar Pattern\" \"973P49.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Forestman Maroon Collar Pattern\" \"973P48.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Four Button Suit and Train Logo Pattern\" \"973P84.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Gold Fob and 100 Dollar Bills Pattern\" \"973PWA.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Gold Ice Planet Pattern\" \"973P61.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Gold Necklace and Yellow Undershirt Pattern\" \"973P72.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Green Castle Bodice Pattern\" \"973P4Q.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Green Dungaree Pattern\" \"973P1J.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Gryffindor Uniform Pattern\" \"973PH1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hogwarts Uniform Pattern\" \"973PH0.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Jacket, Orange Vest, Green Neck-chief Pattern\" \"973PB3.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Jacket, Tie and Police Badge Pattern\" \"973p76.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Jacket, White Shirt, and Necklace Pattern\" \"973PA8.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Launch Command Logo and Equipment Pattern\" \"973p1q.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Leather Jacket Pattern\" \"973P28.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Leather Jacket and Light Gray Shirt Pattern\" \"973PA9.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Lifebelt Logo and ID Card Pattern\" \"973P79.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Maroon/Red Quarters Shield Pattern\" \"973P4U.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Mayan Necklace, Tribal Shirt, & Navel Pattern\" \"973PAC.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Medallion, Belt, And Silver Buttons Pattern\" \"973p3d.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Modern Firefighter Type 1 Pattern\" \"973p77.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Modern Firefighter Type 2 Pattern\" \"973p78.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"MTron Logo Pattern\" \"973P68.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Ninja Wrap, Gold Shuriken, and Armour Pattern\" \"973PN6.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Ninja Wrap, Silver Shuriken & Dagger Pattern\" \"973PN5.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Octan Logo Pattern\" \"973PT2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Old Obi-Wan Pattern\" \"973PS6.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Open Jacket over Striped Vest Pattern\" \"973P34.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Patch Pocket Pattern\" \"973P26.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pharaoh Breastplate Pattern\" \"973PA2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pirate Captain Pattern\" \"973P36.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pirate Green Vest, Shirt, and Belt Pattern\" \"973P3C.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pirate Open Jacket over Brown Vest Pattern\" \"973P39.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pirate Purple Vest and Anchor Tattoo Pattern\" \"973P30.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pirate Ragged Shirt and Dagger Pattern\" \"973P3A.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pirate Stripes Pattern\" (Blue/Cream) \"973P32.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pirate Stripes Pattern\" (Red/Black) \"973P33.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Pirate Stripes Pattern\" (Red/Cream) \"973P31.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Plain Shirt with Pockets Pattern\" \"973P7G.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Purple Greatcoat Pattern\" \"973phb.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Racing Jacket and Two Stars Pattern\" \"973P1H.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Racing Jacket and Two Stars Red Pattern\" \"973P1N.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Cross and Stethoscope Pattern\" \"973P25.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Cross Pattern\" \"973P24.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Dungaree Pattern\" \"973P1C.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Futuron Pattern\" \"973P6D.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Horizontal Stripes Pattern\" \"973p1E.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Imperial Guard Officer Pattern\" \"973P3S.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Imperial Guard Pattern\" \"973P3Q.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Necklace and Blue Undershirt Pattern\" \"973P71.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Shirt and Suit Pattern\" \"973P22.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Undershirt and Fringe Pattern\" \"973PW7.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red V-Neck and Buttons Pattern\" \"973P17.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red Vest and Train Logo Pattern\" \"973P82.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Red/Peach Quarters Shield Pattern\" \"973P4T.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"RES-Q Orange Pockets and Logo Pattern\" \"973P8B.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Riding Jacket Pattern\" \"973P12.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Robot Pattern\" \"973P63.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Rock Raiders Jet Pattern\" \"973PAJ.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Royal Knights Lion Head & Neck-Chain Pattern\" \"973P4E.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Royal Knights Lion-Head Shield Pattern\" \"973P4D.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Safari Shirt, Black Tee, and Holster Pattern\" \"973PA7.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Safari Shirt, Gun & Red Bandana Pattern\" \"973PA3.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Safari Shirt,Blue Tee & Red Bandana Pattern\" \"973PA6.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Samurai Dragon Robe Pattern\" \"973PN0.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Samurai Robe, Sash and Dagger Pattern\" \"973PN1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Shell Logo Pattern\" \"973P60.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Sheriff Pattern\" \"973PW4.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Silver Ice Planet Pattern\" \"973P62.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Six Button Suit and Airplane Pattern\" \"973p04.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Six Button Suit and Anchor Pattern\" \"973p05.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Slytherin Uniform Pattern\" \"973PH2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Space Police II and Radio Pattern\" \"973P69.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Spotted Singlet and Necklace Pattern\" \"973p2f.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Spyrius Pattern\" \"973P66.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Stethoscope and Pocket with Pens Pattern\" \"973P86.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Straight Zipper Jacket Pattern\" \"973P13.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Strapless Suntop Pattern\" \"973P2C.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Striped Shirt and Silver Buttons Pattern\" \"973P3F.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Studded Armor Pattern\" \"973P45.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Suit and Tie Pattern\" \"973P18.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Suit and Tie with Train Pattern\" \"973P83.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Suspenders and Red Bowtie Pattern\" \"973PA1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Black Vest & White Shirt Pattern\" \"973PS5.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Blast Armor (Green Plates) Pattern\" \"973PSB.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Blast Armor (Silver Plates) Pattern\" \"973PSJ.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Camouflage Smock Pattern\" \"973PSM.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Darth Vader Pattern\" \"973PS7.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Hoth Trooper Pattern\" \"973PSH.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Imperial Officer Pattern\" \"973PSQ.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Imperial Shuttle Pilot Pattern\" \"973PSN.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Jawa Pattern\" \"973PSS.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Jedi Robes and Sash Pattern\" \"973PS2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Moisture Farmer Pattern\" \"973PSV.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Pocket-Vest and Techno-Buckle Pattern\" \"973PSC.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Protocol Droid Pattern\" \"973psr.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Rebel A-Wing Pilot Pattern\" \"973PS0.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Rebel Mechanic Pattern\" \"973PSA.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Rebel Pilot Pattern\" \"973PS1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Scout Trooper Pattern\" \"973PSE.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Shirt (Open Collar, No Vest) Pattern\" \"973PS4.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Stormtrooper Pattern\" \"973PSK.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Tunic and Belt Pattern\" \"973psf.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Wrap-Around Tunic Pattern\" \"973PS3.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Tank Top, Stains, Wrench, and Tattoo Pattern\" \"973PAB.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Train Chevron Pattern\" \"973P19.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Tri-Coloured Shield and Gold Trim Pattern\" \"973p4s.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Tri-Coloured Shield Large Pattern\" \"973P4R.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"TV Logo Pattern Large\" \"973p1m.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"TV Logo Pattern Small\" \"973P1K.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"UFO Alien Orange and Silver Pattern\" \"973P54.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Unitron Pattern\" \"973P64.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"US Cavalry General Pattern\" \"973PW1.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"US Cavalry Officer Pattern\" \"973PW2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"US Cavalry Soldier Pattern\" \"973PW3.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vertical Striped Blue/Red Pattern\" \"973P02.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vertical Striped Red/Blue Pattern\" \"973P01.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with Patch Pockets Pattern\" \"973P73.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest, Patch Pockets and Police Badge Pattern\" \"973P74.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Waiter Pattern\" \"973P20.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"White Braces and Cartridge Belt Pattern\" \"973PW6.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"White Diagonal Zip and Pocket Pattern\" \"973p0a.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"White Rope & Patched Collar Pattern\" \"973pdg.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0 \n"
+ "\"White Shirt and Jacket Pattern\" \"973P03.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"White Suit, Brown Vest and Tie Pattern\" \"973PA4.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Windsurfboard Pattern\" \"973P2D.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Wolfpack Pattern\" \"973P44.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Yellow Futuron Pattern\" \"973P6E.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Zipper and Old Police Badge Pattern\" \"973P1G.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Mechanical Torso\" \"30375.DAT\" 0 1 0 0 0 1 0 0 0 1 0 40 0\n"
+ "\"Skeleton Torso\" \"6260.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Torso Old\" \"17.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\n"
+ "[BODY2]\n"
+ "\"Plain\" \"3815.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Leather Belt (Red Studs) Pattern\" \"970P4F.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Purple Greatcoat Pattern\" \"970phb.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Robot Pattern\" \"970P63.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Gunbelt Pattern\" \"970PS5.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hips and Legs Short\" \"41879.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Legs Old\" \"15.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Mechanical Legs\" \"30376.DAT\" 0 1 0 0 0 1 0 0 0 1 0 46 0\n"
+ "\"Slope Brick 65 2 x 2 x 2\" \"3678a.DAT\" 0 -1 0 0 0 1 0 0 0 -1 0 0 0\n"
+ "\"Slope Brick 65 2 x 2 x 2 with Queen's Dress Pattern\" \"3678p4h.DAT\" 0 -1 0 0 0 1 0 0 0 -1 0 0 0\n"
+ "\"Slope Brick 65 2 x 2 x 2 with Witch's Dress Pattern\" \"3678ap01.DAT\" 0 -1 0 0 0 1 0 0 0 -1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\n"
+ "[NECK]\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Armour Plate\" \"2587.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Armour Samurai\" \"30174.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Bracket 1 x 1 - 1 x 1\" \"42446.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Cape Cloth\" \"522.DAT\" 0 1 0 0 0 1 0 0 0 1 0 -2 0\n"
+ "\"Epaulette\" \"2526.DAT\" 0 1 0 0 0 1 0 0 0 1 0 -2 0\n"
+ "\"Airtanks\" \"3838.DAT\" 0 1 0 0 0 1 0 0 0 1 0 -2 0\n"
+ "\"Arrow Quiver\" \"4498.DAT\" 0 -1 0 0 0 1 0 0 0 -1 0 0 0\n"
+ "\"Backpack Non-Opening\" \"2524.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Cape\" \"4524.DAT\" 0 1 0 0 0 1 0 0 0 1 0 -2 0\n"
+ "\"Container D-Basket\" \"4523.DAT\" 0 1 0 0 0 1 0 0 0 1 0 1 0\n"
+ "\"Hair Beard\" \"6132.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Jet-Pack with Stud On Front\" \"4736.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Lifevest\" \"2610.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Scuba Tank\" \"30091.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest\" \"3840.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with Crown on Dark Pink Sticker\" \"3840D01.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with Crown on Violet Sticker\" \"3840D05.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with Green Chevrons on Yellow Sticker\" \"3840D03.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with Green Chevrons on Yellow/LtGrey Sticker\" \"3840D07.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with White Maltese Cross on Red Sticker\" \"3840D02.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with White Maltese Cross on Red/LtGrey Sticker\" \"3840D06.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with Yellow Trefoils on Blue Sticker\" \"3840D04.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Vest with Yellow Trefoils on DkBlue Sticker\" \"3840D08.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\n"
+ "[LARM]\n"
+ "\"Right\" \"3818.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Mechanical Arm\" \"30377.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Skeleton Arm\" \"6265.DAT\" 0 1 0 0 0 1 0 0 0 1 -6 0 0.5\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\n"
+ "[RARM]\n"
+ "\"Left\" \"3819.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Mechanical Arm\" \"30377.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Skeleton Arm\" \"6265.DAT\" 0 1 0 0 0 1 0 0 0 1 6 0 0.5\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "[LHAND]\n"
+ "\"Hand\" \"3820.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "[RHAND]\n"
+ "\"Hand\" \"3820.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "[LHANDA]\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\"Animal Snake\" \"30115.dat\" 0 0.469472 0 -0.882948 0.882948 0 0.469472 0 -1 0 0 -4 -4\n"
+ "\"Animal Starfish\" \"33122.dat\" 0 -1 0 0 0 0 1 0 1 0 0 -26 -6\n"
+ "\"Battleaxe\" \"3848.dat\" 0 -1 0 0 0 1 0 0 0 -1 0 0 0\n"
+ "\"Bar 4L Light Sabre Blade\" \"30374.dat\" 0 1 0 0 0 -1 0 0 0 -1 0 12 0\n"
+ "\"Bow with Arrow\" \"4499.dat\" 0 0 0 -1 0 1 0 1 0 0 0 1 0\n"
+ "\"Bugle\" \"71342.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Camera Movie\" \"30148.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Camera Snapshot\" \"30089.dat\" 0 0 0.5 0.866025 0 0.866025 -0.5 -1 0 0 -4.062 2.5 -18\n"
+ "\"Camera with Side Sight\" \"4360.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -24 6.5\n"
+ "\"Castle Lance\" \"3849.dat\" 0 1 0 0 0 0 1 0 -1 0 0 40 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Circular Blade Saw\" \"30194.dat\" 0 -1 0 0 0 -0.422618 0.906308 0 0.906308 0.422618 0 15 -17\n"
+ "\n"
+ "\"Coin with 10 Mark\" \"70501a.dat\" 0 0 1 0 0 0 -1 -1 0 0 -2 -4 -10\n"
+ "\"Coin with 20 Mark\" \"70501b.dat\" 0 0 1 0 0 0 -1 -1 0 0 -2 -4 -10\n"
+ "\"Coin with 30 Mark\" \"70501c.dat\" 0 0 1 0 0 0 -1 -1 0 0 -2 -4 -10\n"
+ "\"Coin with 40 Mark\" \"70501d.dat\" 0 0 1 0 0 0 -1 -1 0 0 -2 -4 -10\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Compass\" \"889c01.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\n"
+ "\"Crossbow\" \"2570.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\"Cup\" \"3899.dat\" 0 1 0 0 0 1 0 0 0 1 0 -15 -20\n"
+ "\"Dinner Plate\" \"6256.dat\" 0 0.0954045 -0.866025 -0.490814 0.981627 0 0.190809 -0.165245 -0.5 0.850114 7 -5 -26\n"
+ "\"Dynamite Sticks Bundle\" \"64728.dat\" 0 0.5 0 0.866025 0 1 0 -0.866025 0 0.5 0 -28 -9\n"
+ "\"Figur Club\" \"60659.dat\" 0 1 0 0 0 1 0 0 0 1 0 3 0\n"
+ "\"Food Banana\" \"33085.dat\" 0 0 -1 0 1 0 0 0 0 1 0 0 0\n"
+ "\"Food Carrot\" \"33172.dat\" 0 1 0 0 0 1 0 0 0 1 0 -50 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Food Carrot Top\" \"33183.dat\" 0 1 0 0 0 1 0 0 0 1 0 12 0\n"
+ "\n"
+ "\"Food Cherry\" \"22667.dat\" 0 1 0 0 0 1 0 0 0 1 0 -11 0\n"
+ "\"Food Croissant\" \"33125.dat\" 0 0 1 0 -0.819152 0 0.573576 0.573576 0 0.819152 4 -27 -9\n"
+ "\"Food French Bread\" \"4342.dat\" 0 0 -0.292372 0.956305 1 0 0 0 0.956305 0.292372 4.5 0 5\n"
+ "\"Food Popsicle\" \"30222.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\"Frypan\" \"4528.dat\" 0 0 1 0 0 0 1 1 0 0 -4 -24 0\n"
+ "\"Hairbrush\" \"3852.dat\" 0 -1 0 0 0 1 0 0 0 -1 2.7 -8 0\n"
+ "\"Harpoon\" \"57467.dat\" 0 1 0 0 0 1 0 0 0 1 0 28 0\n"
+ "\"Hose Nozzle with Side String Hole\" \"60849.dat\" 0 1 0 0 0 1 0 0 0 1 0 -2 0\n"
+ "\"Goblet\" \"2343.dat\" 0 1 0 0 0 1 0 0 0 1 0 -26 0\n"
+ "\"Gun Flintlock Pistol\" \"2562.dat\" 0 1 0 0 0 1 0 0 0 1 0 -1 0\n"
+ "\"Gun Musket\" \"2561.dat\" 0 0 0.707 0.707 0 0.707 -0.707 -1 0 0 -25.1 -33.7 0\n"
+ "\"Gun Revolver\" \"30132.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\"Gun Rifle\" \"30141.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -8 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Gun SW Small Blaster DC-17\" \"61190a.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\n"
+ "\"Ice Axe\" \"30193.dat\" 0 1 0 0 0 1 0 0 0 1 0 6 0\n"
+ "\"Jackhammer\" \"30228.dat\" 0 0.326 0 0.946 -0.899 -0.309 0.31 0.292 -0.951 0.101 2.5 -18.5 11\n"
+ "\"Knife\" \"37.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Ladle\" \"4337.dat\" 0 1 0 0 0 1 0 0 0 1 0 -36 0\n"
+ "\"Loudhailer\" \"4349.dat\" 0 1 0 0 0 1 0 0 0 1 0 -16 0\n"
+ "\"Magic Wand\" \"6124.dat\" 0 1 0 0 0 1 0 0 0 1 0 8 0\n"
+ "\"Metal Detector\" \"4479.dat\" 0 1 0 0 0 1 0 0 0 1 0 -24 0\n"
+ "\"Mug\" \"33054.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 -20\n"
+ "\"Polearm Halberd\" \"6123.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Radio with Long Handle\" \"3962b.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -1 0\n"
+ "\"Radio with Short Handle\" \"3962a.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -1 0\n"
+ "\"Rock 1 x 1 Gem Facetted\" \"30153.dat\" 0 1 0 0 0 1 0 0 0 1 0 -8 0\n"
+ "\"Saucepan\" \"4529.dat\" 0 0 1 0 0 0 1 1 0 0 -6 -24 0\n"
+ "\"Sextant\" \"30154.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -35 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Shield Octagonal with Stud\" \"48494.dat\" 0 0 0 1 -1 0 0 0 -1 0 0 -2 0\n"
+ "\n"
+ "\"Shield Octagonal without Stud\" \"61856.dat\" 0 0 0 1 -1 0 0 0 -1 0 0 -2 0\n"
+ "\"Shield Ovoid\" \"2586.dat\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with American Indian Pattern\" \"2586PW1.dat\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with Batlord Pattern\" \"2586P4F.dat\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with Blue Dragon Pattern\" \"2586P4C.dat\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with Bull Head Pattern\" \"2586P4G.DAT\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with Golden Lion Pattern\" \"2586PH1.DAT\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with Green Dragon Pattern\" \"2586P4B.dat\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with Royal Knights Lion Pattern\" \"2586P4D.dat\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with Silver Snake Pattern\" \"2586PH2.DAT\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Ovoid with SW Gungans Patrol Pattern\" \"2586PS1.DAT\" 0 0 0 1 -1 0 0 0 -1 0 -4 -1 0\n"
+ "\"Shield Round\" \"3876.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular\" \"3846.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Batlord Pattern\" \"3846p4f.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Black Falcon Pattern\" \"3846p43.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Black Falcon Blue Border Pattern\" \"3846p45.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Black Falcon Yellow Border Pattern\" \"3846p46.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Blue Dragon Pattern\" \"3846p4c.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Blue Lion on Yellow Background\" \"3846p4g.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Forestman Pattern\" \"3846p48.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Green Chevrons on Yellow Sticker\" \"3846d03.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Green Chevrons on Yellow/LtGray\" \"3846d06.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Shield Triangular with Crown on Dark-Pink Sticker\" \"3846d01.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Crown on Violet Sticker\" \"3846d05.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\n"
+ "\"Shield Triangular with Lion Head, Blue & Yellow Pattern\" \"3846p4e.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Maroon/Red Quarters Pattern\" \"3846p4u.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Red and Gray Pattern, Blue Frame\" \"3846p47.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Red/Peach Quarters Pattern\" \"3846p4t.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Royal Knights Lion Pattern\" \"3846p4d.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Shield Triangular with White Maltese Cross on Red Sticker\" \"3846d02.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\n"
+ "\"Shield Triangular with Wolfpack Pattern\" \"3846p44.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Yellow Lion on Blue Background\" \"3846p4h.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Yellow Trefoils on Blue Sticker\" \"3846d04.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Yellow Trefoils on DkBlue Sticker\" \"3846d07.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -12 0\n"
+ "\"Shovel\" \"3837.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 0\n"
+ "\"Signal Holder\" \"3900.dat\" 0 1 0 0 0 0 -1 0 1 0 0 -36 -2\n"
+ "\"Space Scanner Tool\" \"30035.dat\" 0 1 0 0 0 1 0 0 0 1 0 -19 -10\n"
+ "\"Spear\" \"4497.dat\" 0 1 0 0 0 1 0 0 0 1 0 -40 0\n"
+ "\"Spear with Four Side Blades\" \"43899.dat\" 0 1 0 0 0 1 0 0 0 1 0 -144 0\n"
+ "\"Speargun\" \"30088.dat\" 0 1 0 0 0 1 0 0 0 1 0 -13 0\n"
+ "\"Suitcase\" \"4449.dat\" 0 0 0 -1 1 0 0 0 -1 0 0 0 0\n"
+ "\"Sword Cutlass\" \"2530.dat\" 0 1 0 0 0 1 0 0 0 1 0 -2 0\n"
+ "\"Sword Greatsword\" \"59.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Sword Katana\" \"30173.dat\" 0 1 0 0 0 1 0 0 0 1 0 6 0\n"
+ "\"Sword Scimitar\" \"43887.dat\" 0 1 0 0 0 1 0 0 0 1 0 -18 0\n"
+ "\"Sword Shortsword\" \"3847.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 0\n"
+ "\"Telescope\" \"64644.dat\" 0 1 0 0 0 1 0 0 0 1 0 -11 0\n"
+ "\"Tool Binoculars Space\" \"30304.dat\" 0 1 0 0 0 0 -1 0 1 0 -5 -1 0\n"
+ "\"Tool Binoculars Town\" \"30162.dat\" 0 1 0 0 0 0 -1 0 1 0 -5 -1.6 0\n"
+ "\"Tool Box Wrench\" \"6246d.dat\" 0 1 0 0 0 1 0 0 0 1 0 -36 0\n"
+ "\"Tool Hammer\" \"6246b.dat\" 0 1 0 0 0 1 0 0 0 1 0 -36 0\n"
+ "\"Tool Handaxe\" \"3835.dat\" 0 1 0 0 0 1 0 0 0 1 0 -16 0\n"
+ "\"Tool Light Sabre Hilt\" \"577.dat\" 0 1 0 0 0 1 0 0 0 1 0 -20 0\n"
+ "\"Tool Light Sabre - On (Shortcut)\" \"577c01.dat\" 0 1 0 0 0 1 0 0 0 1 0 -20 0\n"
+ "\"Tool Light Sabre - Dual On (Shortcut)\" \"577c02.dat\" 0 1 0 0 0 1 0 0 0 1 0 -20 0\n"
+ "\"Tool Magnifying Glass\" \"30152.dat\" 0 1 0 0 0 1 0 0 0 1 0 -52 0\n"
+ "\"Tool Mallet\" \"4522.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -28 0\n"
+ "\"Tool Oar\" \"2542.dat\" 0 -1 0 0 0 -1 0 0 0 1 0 40 0\n"
+ "\"Tool Oilcan\" \"55296.DAT\" 0 1 0 0 0 1 0 0 0 1 0 -6 0\n"
+ "\"Tool Open End Wrench\" \"6246e.dat\" 0 1 0 0 0 1 0 0 0 1 0 -36 0\n"
+ "\"Tool Pickaxe\" \"3841.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 0\n"
+ "\"Tool Power Drill\" \"6246c.dat\" 0 1 0 0 0 1 0 0 0 1 0 -6 0\n"
+ "\"Tool Screwdriver\" \"6246a.dat\" 0 1 0 0 0 1 0 0 0 1 0 -34 0\n"
+ "\"Tool Spanner/Screwdriver\" \"4006.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -14 0\n"
+ "\"Tool Pushbroom\" \"3836.dat\" 0 0 0 -1 0 -1 0 -1 0 0 0 44 0\n"
+ "\"Tool Fishing Rod\" \"2614.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Tool Hose Nozzle with Handle\" \"4210a.dat\" 0 -1 0 0 0 1 0 0 0 -1 0 -12 0\n"
+ "\"Torch\" \"3959.dat\" 0 1 0 0 0 1 0 0 0 1 0 -13 0\n"
+ "\"Underwater Scooter\" \"30092.dat\" 0 -1 0 0 0 1 0 0 0 -1 20 -22 -8.5\n"
+ "\"Whip\" \"2488.dat\" 0 1 0 0 0 1 0 0 0 1 0 -8 0\n"
+ "\"Whip in Latched Position\" \"2488c01.dat\" 0 1 0 0 0 1 0 0 0 1 0 -8 0\n"
+ "\"Wine Glass\" \"33061.dat\" 0 1 0 0 0 1 0 0 0 1 0 -32 0\n"
+ "\"Minifig Zip Line Handle\" \"30229.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 0\n"
+ "\n"
+ "\n"
+ "\n"
+ "[RHANDA]\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\"Animal Snake\" \"30115.dat\" 0 -0.469472 0 0.882948 0.882948 0 0.469472 0 1 0 0 -4 4\n"
+ "\"Animal Starfish\" \"33122.dat\" 0 -1 0 0 0 0 1 0 1 0 0 -26 -6\n"
+ "\"Battleaxe\" \"3848.dat\" 0 -1 0 0 0 1 0 0 0 -1 0 0 0\n"
+ "\"Bar 4L Light Sabre Blade\" \"30374.dat\" 0 1 0 0 0 -1 0 0 0 -1 0 12 0\n"
+ "\"Bugle\" \"71342.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Bow with Arrow\" \"4499.dat\" 0 0 0 -1 0 1 0 1 0 0 0 1 0\n"
+ "\"Camera Movie\" \"30148.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Camera Snapshot\" \"30089.dat\" 0 0 0.5 0.866025 0 0.866025 -0.5 -1 0 0 -4.062 2.5 -18\n"
+ "\"Camera with Side Sight\" \"4360.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -24 6.5\n"
+ "\"Castle Lance\" \"3849.dat\" 0 1 0 0 0 0 1 0 -1 0 0 40 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Circular Blade Saw\" \"30194.dat\" 0 -1 0 0 0 -0.422618 0.906308 0 0.906308 0.422618 0 15 -17\n"
+ "\n"
+ "\"Coin with 10 Mark\" \"70501a.dat\" 0 0 1 0 0 0 -1 -1 0 0 -2 -4 -10\n"
+ "\"Coin with 20 Mark\" \"70501b.dat\" 0 0 1 0 0 0 -1 -1 0 0 -2 -4 -10\n"
+ "\"Coin with 30 Mark\" \"70501c.dat\" 0 0 1 0 0 0 -1 -1 0 0 -2 -4 -10\n"
+ "\"Coin with 40 Mark\" \"70501d.dat\" 0 0 1 0 0 0 -1 -1 0 0 -2 -4 -10\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Compass\" \"889c01.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\n"
+ "\"Crossbow\" \"2570.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\"Cup\" \"3899.dat\" 0 1 0 0 0 1 0 0 0 1 0 -15 -20\n"
+ "\"Dinner Plate\" \"6256.dat\" 0 -0.0954045 0.866025 0.490814 -0.981627 0 -0.190809 -0.165245 -0.5 0.850114 -7 -5 -26\n"
+ "\"Dynamite Sticks Bundle\" \"64728.dat\" 0 0.5 0 0.866025 0 1 0 -0.866025 0 0.5 0 -28 -9\n"
+ "\"Figur Club\" \"60659.dat\" 0 1 0 0 0 1 0 0 0 1 0 3 0\n"
+ "\"Food Banana\" \"33085.dat\" 0 0 -1 0 1 0 0 0 0 1 0 0 0\n"
+ "\"Food Carrot\" \"33172.dat\" 0 1 0 0 0 1 0 0 0 1 0 -50 0\n"
+ "\"Food Cherry\" \"22667.dat\" 0 1 0 0 0 1 0 0 0 1 0 -11 0\n"
+ "\"Food Croissant\" \"33125.dat\" 0 0 1 0 -0.819152 0 0.573576 0.573576 0 0.819152 4 -27 -9\n"
+ "\"Food French Bread\" \"4342.dat\" 0 0 0.292372 0.956305 1 0 0 0 0.956305 -0.292372 -4.5 0 5\n"
+ "\"Food Popsicle\" \"30222.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\"Frypan\" \"4528.dat\" 0 0 1 0 0 0 1 1 0 0 -4 -24 0\n"
+ "\"Hairbrush\" \"3852.dat\" 0 -1 0 0 0 1 0 0 0 -1 2.7 -8 0\n"
+ "\"Harpoon\" \"57467.dat\" 0 1 0 0 0 1 0 0 0 1 0 28 0\n"
+ "\"Hose Nozzle with Side String Hole\" \"60849.dat\" 0 1 0 0 0 1 0 0 0 1 0 -2 0\n"
+ "\"Goblet\" \"2343.dat\" 0 1 0 0 0 1 0 0 0 1 0 -26 0\n"
+ "\"Gun Flintlock Pistol\" \"2562.dat\" 0 1 0 0 0 1 0 0 0 1 0 -1 0\n"
+ "\"Gun Musket\" \"2561.dat\" 0 0 0.707 0.707 0 0.707 -0.707 -1 0 0 -25.1 -33.7 0\n"
+ "\"Gun Revolver\" \"30132.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\"Gun Rifle\" \"30141.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -8 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Gun SW Small Blaster DC-17\" \"61190a.dat\" 0 1 0 0 0 1 0 0 0 1 0 -3 0\n"
+ "\n"
+ "\"Ice Axe\" \"30193.dat\" 0 1 0 0 0 1 0 0 0 1 0 6 0\n"
+ "\"Jackhammer\" \"30228.dat\" 0 0.326 0 -0.946 0.899 -0.309 0.31 -0.292 -0.951 -0.101 -2.5 -18.5 11\n"
+ "\"Knife\" \"37.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Ladle\" \"4337.dat\" 0 1 0 0 0 1 0 0 0 1 0 -36 0\n"
+ "\"Loudhailer\" \"4349.dat\" 0 1 0 0 0 1 0 0 0 1 0 -16 0\n"
+ "\"Magic Wand\" \"6124.dat\" 0 1 0 0 0 1 0 0 0 1 0 8 0\n"
+ "\"Metal Detector\" \"4479.dat\" 0 1 0 0 0 1 0 0 0 1 0 -24 0\n"
+ "\"Mug\" \"33054.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 -20\n"
+ "\"Polearm Halberd\" \"6123.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Radio with Long Handle\" \"3962b.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -1 0\n"
+ "\"Radio with Short Handle\" \"3962a.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -1 0\n"
+ "\"Rock 1 x 1 Gem Facetted\" \"30153.dat\" 0 1 0 0 0 1 0 0 0 1 0 -8 0\n"
+ "\"Saucepan\" \"4529.dat\" 0 0 1 0 0 0 1 1 0 0 -6 -24 0\n"
+ "\"Sextant\" \"30154.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -35 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Shield Octagonal with Stud\" \"48494.dat\" 0 0 0 -1 1 0 0 0 -1 0 0 -2 0\n"
+ "\n"
+ "\"Shield Octagonal without Stud\" \"61856.dat\" 0 0 0 -1 1 0 0 0 -1 0 0 -2 0\n"
+ "\"Shield Ovoid\" \"2586.dat\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with American Indian Pattern\" \"2586pw1.dat\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with Batlord Pattern\" \"2586P4F.dat\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with Blue Dragon Pattern\" \"2586p4c.dat\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with Bull Head Pattern\" \"2586P4G.DAT\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with Golden Lion Pattern\" \"2586ph1.DAT\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with Green Dragon Pattern\" \"2586p4b.dat\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with Royal Knights Lion Pattern\" \"2586p4d.dat\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with Silver Snake Pattern\" \"2586PH2.DAT\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Ovoid with SW Gungans Patrol Pattern\" \"2586ps1.DAT\" 0 0 0 -1 1 0 0 0 -1 0 4 -1 0\n"
+ "\"Shield Round\" \"3876.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular\" \"3846.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Batlord Pattern\" \"3846p4f.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Black Falcon Pattern\" \"3846p43.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Black Falcon Blue Border Pattern\" \"3846p45.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Black Falcon Yellow Border Pattern\" \"3846p46.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Blue Dragon Pattern\" \"3846p4c.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Blue Lion on Yellow Background\" \"3846p4g.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Forestman Pattern\" \"3846p48.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Green Chevrons on Yellow Sticker\" \"3846d03.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Green Chevrons on Yellow/LtGray\" \"3846d06.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Shield Triangular with Crown on Dark-Pink Sticker\" \"3846d01.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Crown on Violet Sticker\" \"3846d05.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\n"
+ "\"Shield Triangular with Lion Head, Blue & Yellow Pattern\" \"3846p4e.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Maroon/Red Quarters Pattern\" \"3846p4u.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Red and Gray Pattern, Blue Frame\" \"3846p47.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Red/Peach Quarters Pattern\" \"3846p4t.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Royal Knights Lion Pattern\" \"3846p4d.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\n"
+ "; Update 2010-02\n"
+ "\"Shield Triangular with White Maltese Cross on Red Sticker\" \"3846d02.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\n"
+ "\"Shield Triangular with Wolfpack Pattern\" \"3846p44.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Yellow Lion on Blue Background\" \"3846p4h.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Yellow Trefoils on Blue Sticker\" \"3846d04.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shield Triangular with Yellow Trefoils on DkBlue Sticker\" \"3846d07.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -12 0\n"
+ "\"Shovel\" \"3837.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 0\n"
+ "\"Signal Holder\" \"3900.dat\" 0 1 0 0 0 0 -1 0 1 0 0 -36 -2\n"
+ "\"Space Scanner Tool\" \"30035.dat\" 0 1 0 0 0 1 0 0 0 1 0 -19 -10\n"
+ "\"Spear\" \"4497.dat\" 0 1 0 0 0 1 0 0 0 1 0 -40 0\n"
+ "\"Spear with Four Side Blades\" \"43899.dat\" 0 1 0 0 0 1 0 0 0 1 0 -144 0\n"
+ "\"Speargun\" \"30088.dat\" 0 1 0 0 0 1 0 0 0 1 0 -13 0\n"
+ "\"Suitcase\" \"4449.dat\" 0 0 0 -1 1 0 0 0 -1 0 0 0 0\n"
+ "\"Sword Cutlass\" \"2530.dat\" 0 1 0 0 0 1 0 0 0 1 0 -2 0\n"
+ "\"Sword Greatsword\" \"59.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Sword Katana\" \"30173.dat\" 0 1 0 0 0 1 0 0 0 1 0 6 0\n"
+ "\"Sword Scimitar\" \"43887.dat\" 0 1 0 0 0 1 0 0 0 1 0 -18 0\n"
+ "\"Sword Shortsword\" \"3847.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 0\n"
+ "\"Telescope\" \"64644.dat\" 0 1 0 0 0 1 0 0 0 1 0 -11 0\n"
+ "\"Tool Binoculars Space\" \"30304.dat\" 0 1 0 0 0 0 -1 0 1 0 -5 -1 0\n"
+ "\"Tool Binoculars Town\" \"30162.dat\" 0 1 0 0 0 0 -1 0 1 0 -5 -1.6 0\n"
+ "\"Tool Box Wrench\" \"6246d.dat\" 0 1 0 0 0 1 0 0 0 1 0 -36 0\n"
+ "\"Tool Hammer\" \"6246b.dat\" 0 1 0 0 0 1 0 0 0 1 0 -36 0\n"
+ "\"Tool Handaxe\" \"3835.dat\" 0 1 0 0 0 1 0 0 0 1 0 -16 0\n"
+ "\"Tool Light Sabre Hilt\" \"577.dat\" 0 1 0 0 0 1 0 0 0 1 0 -20 0\n"
+ "\"Tool Light Sabre - On (Shortcut)\" \"577c01.dat\" 0 1 0 0 0 1 0 0 0 1 0 -20 0\n"
+ "\"Tool Light Sabre - Dual On (Shortcut)\" \"577c02.dat\" 0 1 0 0 0 1 0 0 0 1 0 -20 0\n"
+ "\"Tool Magnifying Glass\" \"30152.dat\" 0 1 0 0 0 1 0 0 0 1 0 -52 0\n"
+ "\"Tool Mallet\" \"4522.dat\" 0 0 0 1 0 1 0 -1 0 0 0 -28 0\n"
+ "\"Tool Oar\" \"2542.dat\" 0 -1 0 0 0 -1 0 0 0 1 0 40 0\n"
+ "\"Tool Oilcan\" \"55296.DAT\" 0 1 0 0 0 1 0 0 0 1 0 -6 0\n"
+ "\"Tool Open End Wrench\" \"6246e.dat\" 0 1 0 0 0 1 0 0 0 1 0 -36 0\n"
+ "\"Tool Pickaxe\" \"3841.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 0\n"
+ "\"Tool Power Drill\" \"6246c.dat\" 0 1 0 0 0 1 0 0 0 1 0 -6 0\n"
+ "\"Tool Screwdriver\" \"6246a.dat\" 0 1 0 0 0 1 0 0 0 1 0 -34 0\n"
+ "\"Tool Spanner/Screwdriver\" \"4006.dat\" 0 0 0 -1 0 1 0 1 0 0 0 -14 0\n"
+ "\"Tool Pushbroom\" \"3836.dat\" 0 0 0 -1 0 -1 0 -1 0 0 0 44 0\n"
+ "\"Tool Fishing Rod\" \"2614.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Tool Hose Nozzle with Handle\" \"4210a.dat\" 0 -1 0 0 0 1 0 0 0 -1 0 -12 0\n"
+ "\"Torch\" \"3959.dat\" 0 1 0 0 0 1 0 0 0 1 0 -13 0\n"
+ "\"Underwater Scooter\" \"30092.dat\" 0 -1 0 0 0 1 0 0 0 -1 -20 -22 -8.5\n"
+ "\"Whip\" \"2488.dat\" 0 1 0 0 0 1 0 0 0 1 0 -8 0\n"
+ "\"Whip in Latched Position\" \"2488c01.dat\" 0 1 0 0 0 1 0 0 0 1 0 -8 0\n"
+ "\"Wine Glass\" \"33061.dat\" 0 1 0 0 0 1 0 0 0 1 0 -32 0\n"
+ "\"Minifig Zip Line Handle\" \"30229.dat\" 0 1 0 0 0 1 0 0 0 1 0 -12 0\n"
+ "\n"
+ "\n"
+ "[LLEG]\n"
+ "\"Plain Leg\" \"3816.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Astro Pattern\" \"3816P6F.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Buttoned Pocket Pattern\" \"3816PA3.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Grass Skirt Pattern\" \"971P3J.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Green Kilt and Toes Pattern\" \"971PA2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Laboratory Smock Pattern\" \"3816PDE.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Leather Straps (Red Studs) Pattern\" \"971P4F.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Legs Old under Hips:\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Purple Greatcoat Pattern\" \"971phb.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Robot Pattern\" \"971P63.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"SW Gunbelt Pattern\" \"971PS5.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Wooden Leg\" \"773.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hips and Legs Short under Hips:\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Mechanical Legs under Hips:\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Skeleton Leg\" \"6266.DAT\" 0 1 0 0 0 1 0 0 0 1 -10 0 0\n"
+ "\"Skirts (Slope Brick 65 2 x 2 x 2) under Hips:\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\n"
+ "[RLEG]\n"
+ "\"Plain Leg\" \"3817.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Astro Pattern\" \"3817P6F.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Buttoned Pocket Pattern\" \"3817PA3.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Grass Skirt Pattern\" \"972P3J.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Green Kilt and Toes Pattern\" \"972PA2.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Laboratory Smock Pattern\" \"3817PDE.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Leather Straps (Red Studs) Pattern\" \"972P4F.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Legs Old under Hips:\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Purple Greatcoat Pattern\" \"972phb.dat\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Robot Pattern\" \"972P63.DAT\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Wooden Leg\" \"773.DAT\" 0 -1 0 0 0 1 0 0 0 -1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Hips and Legs Short under Hips:\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Mechanical Legs under Hips:\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Skeleton Leg\" \"6266.DAT\" 0 1 0 0 0 1 0 0 0 1 10 0 0\n"
+ "\"Skirts (Slope Brick 65 2 x 2 x 2) under Hips:\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\n"
+ "\n"
+ "[LLEGA]\n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Flipper\" \"2599.DAT\" 0 0.996 0 0.087 0 1 0 -0.087 0 0.996 -10 28 -1\n"
+ "\"Snowshoe\" \"30284.DAT\" 0 1 0 0 0 1 0 0 0 1 -10 28 -1\n"
+ "\"Ski\" \"6120.DAT\" 0 1 0 0 0 1 0 0 0 1 -10 28 1\n"
+ "\n"
+ "\n"
+ "[RLEGA] \n"
+ "\"None\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"--------------------------------------------------------------------------------\" \"\" 0 1 0 0 0 1 0 0 0 1 0 0 0\n"
+ "\"Flipper\" \"2599.DAT\" 0 0.996 0 -0.087 0 1 0 0.087 0 0.996 10 28 -1\n"
+ "\"Snowshoe\" \"30284.DAT\" 0 1 0 0 0 1 0 0 0 1 10 28 -1\n"
+ "\"Ski\" \"6120.dat\" 0 1 0 0 0 1 0 0 0 1 10 28 1\n"
+ "\n";
// =============================================================================
// MinifigWizard class
@@ -433,9 +765,25 @@ static int mfw_pieces = sizeof (mfw_pieceinfo)/sizeof (LC_MFW_PIECEINFO);
MinifigWizard::MinifigWizard (GLWindow *share)
: GLWindow (share)
{
+ char Filename[LC_MAXPATH];
+ strcpy(Filename, lcGetPiecesLibrary()->GetLibraryPath());
+ strcat(Filename, "mlcad.ini");
+
+ FileDisk DiskSettings;
+ if (DiskSettings.Open(Filename, "rt"))
+ {
+ ParseSettings(DiskSettings);
+ }
+ else
+ {
+ FileMem MemSettings;
+ MemSettings.Write(DefaultSettings, strlen(DefaultSettings)+1);
+ ParseSettings(MemSettings);
+ }
+
const unsigned char colors[LC_MFW_NUMITEMS] = { 0, 6, 4, 22, 0, 0, 6, 6, 22, 22, 9, 9, 9, 22, 22 };
- const char *pieces[LC_MFW_NUMITEMS] = { "3624", "3626BP01", "973", "None", "976", "975", "977", "977",
- "None", "None", "970", "972", "971", "None", "None" };
+ const char *pieces[LC_MFW_NUMITEMS] = { "3624", "3626BP01", "973", "None", "3819", "3818", "3820", "3820",
+ "None", "None", "970", "3817", "3816", "None", "None" };
int i;
for (i = 0; i < LC_MFW_NUMITEMS; i++)
@@ -448,6 +796,8 @@ MinifigWizard::MinifigWizard (GLWindow *share)
m_Info[i]->AddRef();
}
+ Calculate();
+
m_MinifigCount = 0;
m_MinifigNames = NULL;
m_MinifigTemplates = NULL;
@@ -532,7 +882,126 @@ MinifigWizard::~MinifigWizard ()
}
free (m_MinifigNames);
free (m_MinifigTemplates);
+}
+
+void MinifigWizard::ParseSettings(File& Settings)
+{
+ const char* SectionNames[LC_MFW_NUMITEMS] =
+ {
+ "[HATS]", // LC_MFW_HAT
+ "[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
+ };
+
+ for (int SectionIndex = 0; SectionIndex < LC_MFW_NUMITEMS; SectionIndex++)
+ {
+ ObjArray<lcMinifigPieceInfo>& InfoArray = mSettings[SectionIndex];
+
+ InfoArray.RemoveAll();
+ Settings.Seek(0, SEEK_SET);
+
+ char Line[1024];
+ bool FoundSection = false;
+ const char* SectionName = SectionNames[SectionIndex];
+ int SectionNameLength = strlen(SectionName);
+
+ // Find start of section
+ while (Settings.ReadLine(Line, sizeof(Line)))
+ {
+ if (!strncmp(Line, SectionName, SectionNameLength))
+ {
+ FoundSection = true;
+ break;
+ }
+ }
+
+ if (!FoundSection)
+ continue;
+
+ // Parse section.
+ while (Settings.ReadLine(Line, sizeof(Line)))
+ {
+ if (Line[0] == '[')
+ break;
+
+ char* DescriptionStart = strchr(Line, '"');
+ if (!DescriptionStart)
+ continue;
+ DescriptionStart++;
+ char* DescriptionEnd = strchr(DescriptionStart, '"');
+ if (!DescriptionEnd)
+ continue;
+ *DescriptionEnd = 0;
+ DescriptionEnd++;
+
+ char* NameStart = strchr(DescriptionEnd, '"');
+ if (!NameStart)
+ continue;
+ NameStart++;
+ char* NameEnd = strchr(NameStart, '"');
+ if (!NameEnd)
+ continue;
+ *NameEnd = 0;
+ NameEnd++;
+
+ strupr(NameStart);
+ char* Ext = strrchr(NameStart, '.');
+ if (Ext != NULL)
+ {
+ if (!strcmp(Ext, ".DAT"))
+ *Ext = 0;
+ }
+
+ PieceInfo* Info = lcGetPiecesLibrary()->FindPieceInfo(NameStart);
+ if (!Info && *NameStart)
+ continue;
+
+ float Mat[12];
+ int Flags;
+
+ if (sscanf(NameEnd, "%d %g %g %g %g %g %g %g %g %g %g %g %g",
+ &Flags, &Mat[0], &Mat[1], &Mat[2], &Mat[3], &Mat[4], &Mat[5], &Mat[6],
+ &Mat[7], &Mat[8], &Mat[9], &Mat[10], &Mat[11]) != 13)
+ continue;
+
+ Matrix44 Offset;
+ Offset.LoadIdentity();
+ float* OffsetMatrix = &Offset[0][0];
+
+ OffsetMatrix[0] = Mat[0];
+ OffsetMatrix[8] = -Mat[1];
+ OffsetMatrix[4] = Mat[2];
+ OffsetMatrix[2] = -Mat[3];
+ OffsetMatrix[10] = Mat[4];
+ OffsetMatrix[6] = -Mat[5];
+ OffsetMatrix[1] = Mat[6];
+ OffsetMatrix[9] = -Mat[7];
+ OffsetMatrix[5] = Mat[8];
+ OffsetMatrix[12] = Mat[9] / 25.0f;
+ OffsetMatrix[14] = -Mat[10] / 25.0f;
+ OffsetMatrix[13] = Mat[11] / 25.0f;
+
+ lcMinifigPieceInfo MinifigInfo;
+ strcpy(MinifigInfo.Description, DescriptionStart);
+ MinifigInfo.Offset = Offset;
+ MinifigInfo.Info = Info;
+
+ InfoArray.Add(MinifigInfo);
+ }
}
+}
void MinifigWizard::OnDraw ()
{
@@ -567,11 +1036,10 @@ void MinifigWizard::OnDraw ()
if (m_Info[i] == NULL)
continue;
- glPushMatrix ();
- glTranslatef (m_Position[i][0], m_Position[i][1], m_Position[i][2]);
- glRotatef (m_Rotation[i][3], m_Rotation[i][0], m_Rotation[i][1], m_Rotation[i][2]);
+ glPushMatrix();
+ glMultMatrixf(m_Matrices[i]);
m_Info[i]->RenderPiece(m_Colors[i]);
- glPopMatrix ();
+ glPopMatrix();
}
glFinish();
@@ -579,428 +1047,181 @@ void MinifigWizard::OnDraw ()
SwapBuffers ();
}
-void MinifigWizard::Calculate ()
+void MinifigWizard::Calculate()
{
- float pos[LC_MFW_NUMITEMS][3];
- float rot[LC_MFW_NUMITEMS][3];
- Matrix mat, m2, m3;
+ float HeadOffset = 0.0f;
+ Matrix44 Mat, Mat2;
- // Get the pieces in the right place
- for (int type = 0; type < LC_MFW_NUMITEMS; type++)
- {
- PieceInfo* piece_info = m_Info[type];
- int j;
-
- if (piece_info == NULL)
- continue;
-
- for (j = 0; j < mfw_pieces; j++)
- if (strcmp (piece_info->m_strName, mfw_pieceinfo[j].name) == 0)
- break;
-
- pos[type][0] = mfw_pieceinfo[j].x;
- pos[type][1] = mfw_pieceinfo[j].y;
- pos[type][2] = mfw_pieceinfo[j].z;
- rot[type][0] = mfw_pieceinfo[j].rx;
- rot[type][1] = mfw_pieceinfo[j].ry;
- rot[type][2] = mfw_pieceinfo[j].rz;
-
- switch (type)
- {
- case LC_MFW_HAT:
- case LC_MFW_HEAD:
- if (m_Info[LC_MFW_NECK] != NULL)
- {
- if (strcmp (m_Info[LC_MFW_NECK]->m_strName, "522") == 0) // Cape Cloth
- pos[type][2] += 0.02f;
- else if (strcmp (m_Info[LC_MFW_NECK]->m_strName, "30174") == 0) // Armor Samurai
- pos[type][2] += 0.04f;
- else
- pos[type][2] += 0.08f;
- }
- break;
-
- case LC_MFW_RIGHT_HAND:
- case LC_MFW_RIGHT_SHOE:
- pos[type][0] = -pos[type][0];
- break;
+ Mat.LoadIdentity();
+ Mat.SetTranslation(Vector3(0, 0, 2.88f));
+ m_Matrices[LC_MFW_TORSO] = Mat;
- case LC_MFW_RIGHT_TOOL:
- if ((strcmp (piece_info->m_strName, "4499") == 0) || // Bow with Arrow
- (strcmp (piece_info->m_strName, "30141") == 0)) // Rifle
- rot[type][2] = -rot[type][2];
- break;
-
- case LC_MFW_LEFT_LEG:
- if (strcmp (piece_info->m_strName, "773") == 0) // Wooden Leg
- {
- rot[type][2] += 180;//= -pos[type][0];
-// pos[type][0] += 0.8f;
- }
- }
+ if (m_Info[LC_MFW_NECK])
+ {
+ m_Matrices[LC_MFW_NECK] = Mul(mSettings[LC_MFW_NECK][GetSelectionIndex(LC_MFW_NECK)].Offset, m_Matrices[LC_MFW_TORSO]);
+ HeadOffset = 0.08f;
}
- // hat
- m_Position[LC_MFW_HAT][0] = pos[LC_MFW_HAT][0];
- m_Position[LC_MFW_HAT][1] = pos[LC_MFW_HAT][1];
- m_Position[LC_MFW_HAT][2] = pos[LC_MFW_HAT][2];
- m_Rotation[LC_MFW_HAT][0] = 0.0f;
- m_Rotation[LC_MFW_HAT][1] = 0.0f;
- m_Rotation[LC_MFW_HAT][2] = -1.0f;
- m_Rotation[LC_MFW_HAT][3] = m_Angles[LC_MFW_HAT] + m_Angles[LC_MFW_HEAD];
-
- // head
- m_Position[LC_MFW_HEAD][0] = pos[LC_MFW_HEAD][0];
- m_Position[LC_MFW_HEAD][1] = pos[LC_MFW_HEAD][1];
- m_Position[LC_MFW_HEAD][2] = pos[LC_MFW_HEAD][2];
- m_Rotation[LC_MFW_HEAD][0] = 0.0f;
- m_Rotation[LC_MFW_HEAD][1] = 0.0f;
- m_Rotation[LC_MFW_HEAD][2] = -1.0f;
- m_Rotation[LC_MFW_HEAD][3] = m_Angles[LC_MFW_HEAD];
-
- // neck
- mat.LoadIdentity();
- mat.CreateOld(0,0,0,rot[LC_MFW_NECK][0], rot[LC_MFW_NECK][1], rot[LC_MFW_NECK][2]);
- mat.Rotate(m_Angles[LC_MFW_NECK], 0, 0, -1);
- mat.SetTranslation (pos[LC_MFW_NECK][0], pos[LC_MFW_NECK][1], pos[LC_MFW_NECK][2]);
- mat.ToAxisAngle(m_Rotation[LC_MFW_NECK]);
- mat.GetTranslation(m_Position[LC_MFW_NECK]);
-
- // torso
- m_Position[LC_MFW_TORSO][0] = pos[LC_MFW_TORSO][0];
- m_Position[LC_MFW_TORSO][1] = pos[LC_MFW_TORSO][1];
- m_Position[LC_MFW_TORSO][2] = pos[LC_MFW_TORSO][2];
- m_Rotation[LC_MFW_TORSO][0] = 0.0f;
- m_Rotation[LC_MFW_TORSO][1] = 0.0f;
- m_Rotation[LC_MFW_TORSO][2] = 1.0f;
- m_Rotation[LC_MFW_TORSO][3] = 0.0f;
-
- // left arm/hand/tool
- mat.LoadIdentity();
- mat.Rotate(m_Angles[LC_MFW_LEFT_ARM], -1, 0, 0);
- mat.SetTranslation(pos[LC_MFW_LEFT_ARM][0], pos[LC_MFW_LEFT_ARM][1], pos[LC_MFW_LEFT_ARM][2]);
- mat.ToAxisAngle(m_Rotation[LC_MFW_LEFT_ARM]);
- mat.GetTranslation(m_Position[LC_MFW_LEFT_ARM]);
-
- mat.Translate(pos[LC_MFW_LEFT_HAND][0]-pos[LC_MFW_LEFT_ARM][0],
- pos[LC_MFW_LEFT_HAND][1]-pos[LC_MFW_LEFT_ARM][1],
- pos[LC_MFW_LEFT_HAND][2]-pos[LC_MFW_LEFT_ARM][2]);
- m2.CreateOld(0,0,0,rot[LC_MFW_LEFT_HAND][0],rot[LC_MFW_LEFT_HAND][1],rot[LC_MFW_LEFT_HAND][2]);
- m3.Multiply(mat, m2);
- m3.Translate(0,0,-0.16f);
- mat.LoadIdentity();
- mat.Translate(0,0,0.16f);
- mat.Rotate(m_Angles[LC_MFW_LEFT_HAND], 1, 0, 0);
- m2.Multiply(m3, mat);
- m2.ToAxisAngle(m_Rotation[LC_MFW_LEFT_HAND]);
- m2.GetTranslation(m_Position[LC_MFW_LEFT_HAND]);
-
- if (m_Info[LC_MFW_LEFT_TOOL] != NULL)
+ if (m_Info[LC_MFW_HEAD])
{
- m2.Translate(pos[LC_MFW_LEFT_TOOL][0]-0.9f,
- pos[LC_MFW_LEFT_TOOL][1]-pos[LC_MFW_LEFT_HAND][1],
- pos[LC_MFW_LEFT_TOOL][2]-pos[LC_MFW_LEFT_HAND][2]);
- m3.CreateOld(0,0,0,rot[LC_MFW_LEFT_TOOL][0]-rot[LC_MFW_LEFT_HAND][0],
- rot[LC_MFW_LEFT_TOOL][1]-rot[LC_MFW_LEFT_HAND][1],
- rot[LC_MFW_LEFT_TOOL][2]-rot[LC_MFW_LEFT_HAND][2]);
- mat.Multiply (m2, m3);
- m2.LoadIdentity ();
-
- // Center the rotation points
- if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "3852") == 0) // Hairbrush
- mat.Translate (0.11f, 0, 0);
- else if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "3899") == 0) // Cup
- mat.Translate (0, 0.8f, 0);
- else if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "4360") == 0) // Space Laser Gun
- mat.Translate (0.26f, 0, 0);
- else if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "4528") == 0) // Frypan
- mat.Translate (0, 0, -0.16f);
- else if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "4529") == 0) // Saucepan
- mat.Translate (0, 0, -0.24f);
-
- // Saucepan and Frypan have a different rotation axis
- if ((strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "4528") == 0) ||
- (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "4529") == 0))
- m2.Rotate (m_Angles[LC_MFW_LEFT_TOOL], 0, -1, 0);
- else
- m2.Rotate (m_Angles[LC_MFW_LEFT_TOOL], 0, 0, 1);
-
- m3.Multiply (mat, m2);
-
- if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "3852") == 0) // Hairbrush
- m3.Translate (-0.11f, 0, 0);
- else if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "3899") == 0) // Cup
- m3.Translate (0, -0.8f, 0);
- else if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "4360") == 0) // Space Laser Gun
- m3.Translate (-0.26f, 0, 0);
- else if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "4528") == 0) // Frypan
- m3.Translate (0, 0, 0.16f);
- else if (strcmp (m_Info[LC_MFW_LEFT_TOOL]->m_strName, "4529") == 0) // Saucepan
- m3.Translate (0, 0, 0.24f);
-
- m3.ToAxisAngle (m_Rotation[LC_MFW_LEFT_TOOL]);
- m3.GetTranslation (m_Position[LC_MFW_LEFT_TOOL]);
+ Mat.CreateFromAxisAngle(Vector3(0, 0, 1), -LC_DTOR * m_Angles[LC_MFW_HEAD]);
+ Mat.SetTranslation(Vector3(0, 0, 0.96 + HeadOffset));
+ Mat = Mul(mSettings[LC_MFW_HEAD][GetSelectionIndex(LC_MFW_HEAD)].Offset, Mat);
+ m_Matrices[LC_MFW_HEAD] = Mul(Mat, m_Matrices[LC_MFW_TORSO]);
}
- // right arm/hand/tool
- mat.LoadIdentity (); m2.LoadIdentity (); m3.LoadIdentity ();
- mat.Rotate (m_Angles[LC_MFW_RIGHT_ARM], -1, 0, 0);
- mat.SetTranslation (pos[LC_MFW_RIGHT_ARM][0], pos[LC_MFW_RIGHT_ARM][1], pos[LC_MFW_RIGHT_ARM][2]);
- mat.ToAxisAngle (m_Rotation[LC_MFW_RIGHT_ARM]);
- mat.GetTranslation (m_Position[LC_MFW_RIGHT_ARM]);
-
- mat.Translate (pos[LC_MFW_RIGHT_HAND][0]-pos[LC_MFW_RIGHT_ARM][0],
- pos[LC_MFW_RIGHT_HAND][1]-pos[LC_MFW_RIGHT_ARM][1],
- pos[LC_MFW_RIGHT_HAND][2]-pos[LC_MFW_RIGHT_ARM][2]);
- m2.CreateOld (0,0,0,rot[LC_MFW_RIGHT_HAND][0],rot[LC_MFW_RIGHT_HAND][1],rot[LC_MFW_RIGHT_HAND][2]);
- m3.Multiply (mat, m2);
- m3.Translate (0,0,-0.16f);
- mat.LoadIdentity ();
- mat.Translate (0,0,0.16f);
- mat.Rotate (m_Angles[LC_MFW_RIGHT_HAND], 1, 0, 0);
- m2.Multiply (m3, mat);
- m2.ToAxisAngle (m_Rotation[LC_MFW_RIGHT_HAND]);
- m2.GetTranslation (m_Position[LC_MFW_RIGHT_HAND]);
-
- if (m_Info[LC_MFW_RIGHT_TOOL] != NULL)
+ if (m_Info[LC_MFW_HAT])
{
- m2.Translate (pos[LC_MFW_RIGHT_TOOL][0]-0.9f,
- pos[LC_MFW_RIGHT_TOOL][1]-pos[LC_MFW_RIGHT_HAND][1],
- pos[LC_MFW_RIGHT_TOOL][2]-pos[LC_MFW_RIGHT_HAND][2]);
- m3.CreateOld (0,0,0,rot[LC_MFW_RIGHT_TOOL][0]-rot[LC_MFW_RIGHT_HAND][0],
- rot[LC_MFW_RIGHT_TOOL][1]-rot[LC_MFW_RIGHT_HAND][1],
- rot[LC_MFW_RIGHT_TOOL][2]-rot[LC_MFW_RIGHT_HAND][2]);
- mat.Multiply (m2, m3);
- m2.LoadIdentity ();
-
- // Center the rotation points
- if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "3852") == 0) // Hairbrush
- mat.Translate (0.11f, 0, 0);
- else if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "3899") == 0) // Cup
- mat.Translate (0, 0.8f, 0);
- else if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "4360") == 0) // Space Laser Gun
- mat.Translate (0.26f, 0, 0);
- else if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "4528") == 0) // Frypan
- mat.Translate (0, 0, -0.16f);
- else if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "4529") == 0) // Saucepan
- mat.Translate (0, 0, -0.24f);
-
- // Saucepan and Frypan have a different rotation axis
- if ((strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "4528") == 0) ||
- (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "4529") == 0))
- m2.Rotate (m_Angles[LC_MFW_RIGHT_TOOL], 0, -1, 0);
- else
- m2.Rotate (m_Angles[LC_MFW_RIGHT_TOOL], 0, 0, 1);
-
- m3.Multiply (mat, m2);
-
- if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "3852") == 0) // Hairbrush
- m3.Translate (-0.11f, 0, 0);
- else if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "3899") == 0) // Cup
- m3.Translate (0, -0.8f, 0);
- else if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "4360") == 0) // Space Laser Gun
- m3.Translate (-0.26f, 0, 0);
- else if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "4528") == 0) // Frypan
- m3.Translate (0, 0, 0.16f);
- else if (strcmp (m_Info[LC_MFW_RIGHT_TOOL]->m_strName, "4529") == 0) // Saucepan
- m3.Translate (0, 0, 0.24f);
-
- m3.ToAxisAngle (m_Rotation[LC_MFW_RIGHT_TOOL]);
- m3.GetTranslation (m_Position[LC_MFW_RIGHT_TOOL]);
+ Mat.CreateFromAxisAngle(Vector3(0, 0, 1), -LC_DTOR * m_Angles[LC_MFW_HAT]);
+ Mat = Mul(mSettings[LC_MFW_HAT][GetSelectionIndex(LC_MFW_HAT)].Offset, Mat);
+ m_Matrices[LC_MFW_HAT] = Mul(Mat, m_Matrices[LC_MFW_HEAD]);
}
- // hips
- m_Position[LC_MFW_HIPS][0] = pos[LC_MFW_HIPS][0];
- m_Position[LC_MFW_HIPS][1] = pos[LC_MFW_HIPS][1];
- m_Position[LC_MFW_HIPS][2] = pos[LC_MFW_HIPS][2];
- m_Rotation[LC_MFW_HIPS][0] = 0.0f;
- m_Rotation[LC_MFW_HIPS][1] = 0.0f;
- m_Rotation[LC_MFW_HIPS][2] = 1.0f;
- m_Rotation[LC_MFW_HIPS][3] = 0.0f;
-
- // left leg/shoe
- mat.CreateOld (0,0,0,rot[LC_MFW_LEFT_LEG][0],rot[LC_MFW_LEFT_LEG][1],rot[LC_MFW_LEFT_LEG][2]);
- m2.LoadIdentity ();
- m2.Rotate (m_Angles[LC_MFW_LEFT_LEG], -1, 0, 0);
- m2.SetTranslation (pos[LC_MFW_LEFT_LEG][0], pos[LC_MFW_LEFT_LEG][1], pos[LC_MFW_LEFT_LEG][2]);
- m3.Multiply (m2, mat);
- m3.ToAxisAngle (m_Rotation[LC_MFW_LEFT_LEG]);
- m3.GetTranslation (m_Position[LC_MFW_LEFT_LEG]);
- m3.Translate (pos[LC_MFW_LEFT_SHOE][0]-pos[LC_MFW_LEFT_LEG][0],
- pos[LC_MFW_LEFT_SHOE][1]-pos[LC_MFW_LEFT_LEG][1],
- pos[LC_MFW_LEFT_SHOE][2]-pos[LC_MFW_LEFT_LEG][2]);
- if (strcmp (m_Info[LC_MFW_LEFT_LEG]->m_strName, "773") == 0)
- m3.Translate (-0.8f, 0, 0);
- mat.CreateOld (0,0,0,rot[LC_MFW_LEFT_SHOE][0]-rot[LC_MFW_LEFT_LEG][0],
- rot[LC_MFW_LEFT_SHOE][1]-rot[LC_MFW_LEFT_LEG][1],
- rot[LC_MFW_LEFT_SHOE][2]-rot[LC_MFW_LEFT_LEG][2]);
- m2.Multiply (m3, mat);
- m3.LoadIdentity ();
- m3.Rotate (m_Angles[LC_MFW_LEFT_SHOE], 0, 0, 1);
- mat.Multiply (m2, m3);
- mat.ToAxisAngle (m_Rotation[LC_MFW_LEFT_SHOE]);
- mat.GetTranslation (m_Position[LC_MFW_LEFT_SHOE]);
-
- // right leg/shoe
- mat.LoadIdentity ();
- mat.Rotate (m_Angles[LC_MFW_RIGHT_LEG], -1, 0, 0);
- mat.SetTranslation (pos[LC_MFW_RIGHT_LEG][0], pos[LC_MFW_RIGHT_LEG][1], pos[LC_MFW_RIGHT_LEG][2]);
- mat.ToAxisAngle (m_Rotation[LC_MFW_RIGHT_LEG]);
- mat.GetTranslation (m_Position[LC_MFW_RIGHT_LEG]);
- mat.Translate (pos[LC_MFW_RIGHT_SHOE][0]-pos[LC_MFW_RIGHT_LEG][0],
- pos[LC_MFW_RIGHT_SHOE][1]-pos[LC_MFW_RIGHT_LEG][1],
- pos[LC_MFW_RIGHT_SHOE][2]-pos[LC_MFW_RIGHT_LEG][2]);
- m2.CreateOld (0,0,0,rot[LC_MFW_RIGHT_SHOE][0],rot[LC_MFW_RIGHT_SHOE][1],rot[LC_MFW_RIGHT_SHOE][2]);
- m3.Multiply (mat, m2);
- mat.LoadIdentity ();
- mat.Rotate (m_Angles[LC_MFW_RIGHT_SHOE], 0, 0, 1);
- m2.Multiply (m3, mat);
- m2.ToAxisAngle (m_Rotation[LC_MFW_RIGHT_SHOE]);
- m2.GetTranslation (m_Position[LC_MFW_RIGHT_SHOE]);
-}
-
-void MinifigWizard::GetSelections (char **names)
-{
- for (int i = 0; i < LC_MFW_NUMITEMS; i++)
+ if (m_Info[LC_MFW_RIGHT_ARM])
{
- PieceInfo* piece_info = m_Info[i];
- names[i] = "None";
+ Mat.CreateFromAxisAngle(Vector3(1, 0, 0), -LC_DTOR * m_Angles[LC_MFW_RIGHT_ARM]);
- if (piece_info == NULL)
- continue;
+ if (!strcmp(m_Info[LC_MFW_TORSO]->m_strName, "30375"))
+ Mat2.LoadIdentity();
+ else
+ Mat2.CreateFromAxisAngle(Vector3(0, 1, 0), LC_DTOR * 9.791);
- for (int j = 0; j < mfw_pieces; j++)
- if (strcmp (piece_info->m_strName, mfw_pieceinfo[j].name) == 0)
- {
- names[i] = mfw_pieceinfo[j].description;
- break;
- }
+ Mat = Mul(mSettings[LC_MFW_RIGHT_ARM][GetSelectionIndex(LC_MFW_RIGHT_ARM)].Offset, Mat);
+ Mat = Mul(Mat, Mat2);
+ Mat.SetTranslation(Vector3(-0.62, 0, -0.32f));
+ m_Matrices[LC_MFW_RIGHT_ARM] = Mul(Mat, m_Matrices[LC_MFW_TORSO]);
}
-}
-void MinifigWizard::GetDescriptions (int type, char ***names, int *count)
-{
- char **list = (char**)malloc (sizeof (char*)*mfw_pieces);
- *names = list;
- *count = 0;
- int i, j;
-
- for (i = 0; i < mfw_pieces; i++)
+ if (m_Info[LC_MFW_RIGHT_HAND])
{
- PieceInfo* piece_info;
+ Mat.CreateFromAxisAngle(Vector3(0, 1, 0), -LC_DTOR * m_Angles[LC_MFW_RIGHT_HAND]);
+ Mat2.CreateFromAxisAngle(Vector3(1, 0, 0), LC_DTOR * 45);
+ Mat = Mul(mSettings[LC_MFW_RIGHT_HAND][GetSelectionIndex(LC_MFW_RIGHT_HAND)].Offset, Mat);
+ Mat = Mul(Mat, Mat2);
+ Mat.SetTranslation(Vector3(-0.2f, -0.4f, -0.76f));
+ m_Matrices[LC_MFW_RIGHT_HAND] = Mul(Mat, m_Matrices[LC_MFW_RIGHT_ARM]);
+ }
- piece_info = lcGetPiecesLibrary()->FindPieceInfo(mfw_pieceinfo[i].name);
- if (piece_info == NULL)
- continue;
+ if (m_Info[LC_MFW_RIGHT_TOOL])
+ {
+ Mat.CreateFromAxisAngle(Vector3(0, 0, 1), LC_DTOR * m_Angles[LC_MFW_RIGHT_TOOL]);
+ Mat.SetTranslation(Vector3(0, -0.4f, 0));
+ Mat = Mul(mSettings[LC_MFW_RIGHT_TOOL][GetSelectionIndex(LC_MFW_RIGHT_TOOL)].Offset, Mat);
+ m_Matrices[LC_MFW_RIGHT_TOOL] = Mul(Mat, m_Matrices[LC_MFW_RIGHT_HAND]);
+ }
- strcpy (mfw_pieceinfo[i].name, piece_info->m_strName);
+ if (m_Info[LC_MFW_LEFT_ARM])
+ {
+ Mat.CreateFromAxisAngle(Vector3(1, 0, 0), -LC_DTOR * m_Angles[LC_MFW_LEFT_ARM]);
- switch (type)
- {
- case LC_MFW_HAT:
- case LC_MFW_HEAD:
- case LC_MFW_TORSO:
- case LC_MFW_NECK:
- case LC_MFW_LEFT_ARM:
- case LC_MFW_RIGHT_ARM:
- case LC_MFW_HIPS:
- case LC_MFW_LEFT_LEG:
- case LC_MFW_LEFT_HAND:
- case LC_MFW_LEFT_TOOL:
- case LC_MFW_LEFT_SHOE:
- if (mfw_pieceinfo[i].type != type)
- continue;
- break;
+ if (!strcmp(m_Info[LC_MFW_TORSO]->m_strName, "30375"))
+ Mat2.LoadIdentity();
+ else
+ Mat2.CreateFromAxisAngle(Vector3(0, 1, 0), -LC_DTOR * 9.791);
- case LC_MFW_RIGHT_HAND:
- if (mfw_pieceinfo[i].type != LC_MFW_LEFT_HAND)
- continue;
- break;
+ Mat = Mul(mSettings[LC_MFW_LEFT_ARM][GetSelectionIndex(LC_MFW_LEFT_ARM)].Offset, Mat);
+ Mat = Mul(Mat, Mat2);
+ Mat.SetTranslation(Vector3(0.62, 0, -0.32f));
+ m_Matrices[LC_MFW_LEFT_ARM] = Mul(Mat, m_Matrices[LC_MFW_TORSO]);
+ }
- case LC_MFW_RIGHT_TOOL:
- if (mfw_pieceinfo[i].type != LC_MFW_LEFT_TOOL)
- continue;
- break;
+ if (m_Info[LC_MFW_LEFT_HAND])
+ {
+ Mat.CreateFromAxisAngle(Vector3(0, 1, 0), -LC_DTOR * m_Angles[LC_MFW_LEFT_HAND]);
+ Mat2.CreateFromAxisAngle(Vector3(1, 0, 0), LC_DTOR * 45);
+ Mat = Mul(mSettings[LC_MFW_LEFT_HAND][GetSelectionIndex(LC_MFW_LEFT_HAND)].Offset, Mat);
+ Mat = Mul(Mat, Mat2);
+ Mat.SetTranslation(Vector3(0.2f, -0.4f, -0.76f));
+ m_Matrices[LC_MFW_LEFT_HAND] = Mul(Mat, m_Matrices[LC_MFW_LEFT_ARM]);
+ }
- case LC_MFW_RIGHT_LEG:
- if ((mfw_pieceinfo[i].type != LC_MFW_RIGHT_LEG) &&
- ((mfw_pieceinfo[i].type != LC_MFW_LEFT_LEG) ||
- (strcmp (mfw_pieceinfo[i].name, "773") != 0))) // Wooden Leg
- continue;
- break;
+ if (m_Info[LC_MFW_LEFT_TOOL])
+ {
+ Mat.CreateFromAxisAngle(Vector3(0, 0, 1), LC_DTOR * m_Angles[LC_MFW_LEFT_TOOL]);
+ Mat.SetTranslation(Vector3(0, -0.4f, 0));
+ Mat = Mul(mSettings[LC_MFW_LEFT_TOOL][GetSelectionIndex(LC_MFW_LEFT_TOOL)].Offset, Mat);
+ m_Matrices[LC_MFW_LEFT_TOOL] = Mul(Mat, m_Matrices[LC_MFW_LEFT_HAND]);
+ }
- case LC_MFW_RIGHT_SHOE:
- if (mfw_pieceinfo[i].type != LC_MFW_LEFT_SHOE)
- continue;
- break;
+ if (m_Info[LC_MFW_HIPS])
+ {
+ Mat.LoadIdentity();
+ Mat.SetTranslation(Vector3(0, 0, -1.28f));
+ Mat = Mul(mSettings[LC_MFW_HIPS][GetSelectionIndex(LC_MFW_HIPS)].Offset, Mat);
+ m_Matrices[LC_MFW_HIPS] = Mul(Mat, m_Matrices[LC_MFW_TORSO]);
+ }
- default:
- continue;
- }
+ if (m_Info[LC_MFW_RIGHT_LEG])
+ {
+ Mat.CreateFromAxisAngle(Vector3(1, 0, 0), -LC_DTOR * m_Angles[LC_MFW_RIGHT_LEG]);
+ Mat.SetTranslation(Vector3(0, 0, -1.76f));
+ Mat = Mul(mSettings[LC_MFW_RIGHT_LEG][GetSelectionIndex(LC_MFW_RIGHT_LEG)].Offset, Mat);
+ m_Matrices[LC_MFW_RIGHT_LEG] = Mul(Mat, m_Matrices[LC_MFW_TORSO]);
+ }
- list[(*count)++] = mfw_pieceinfo[i].description;
+ if (m_Info[LC_MFW_RIGHT_SHOE])
+ {
+ Vector3 Center(-0.4f, -0.04f, -1.12f);
+ Mat.CreateFromAxisAngle(Vector3(0, 0, 1), LC_DTOR * m_Angles[LC_MFW_RIGHT_SHOE]);
+ Mat2 = mSettings[LC_MFW_RIGHT_SHOE][GetSelectionIndex(LC_MFW_RIGHT_SHOE)].Offset;
+ Mat2.SetTranslation(Mul31(-Center, Mat2));
+ Mat = Mul(Mat2, Mat);
+ Mat.SetTranslation(Mul31(Center, Mat2));
+ m_Matrices[LC_MFW_RIGHT_SHOE] = Mul(Mat, m_Matrices[LC_MFW_RIGHT_LEG]);
}
- // ugly sort
- for (i = 0; i < (*count) - 1; i++)
- for (j = 0; j < (*count) - 1; j++)
- {
- if (strcmp (list[j], list[j+1]) > 0)
- {
- char *tmp = list[j];
- list[j] = list[j+1];
- list[j+1] = tmp;
- }
- }
+ if (m_Info[LC_MFW_LEFT_LEG])
+ {
+ Mat.CreateFromAxisAngle(Vector3(1, 0, 0), -LC_DTOR * m_Angles[LC_MFW_LEFT_LEG]);
+ Mat.SetTranslation(Vector3(0, 0, -1.76f));
+ Mat = Mul(mSettings[LC_MFW_LEFT_LEG][GetSelectionIndex(LC_MFW_LEFT_LEG)].Offset, Mat);
+ m_Matrices[LC_MFW_LEFT_LEG] = Mul(Mat, m_Matrices[LC_MFW_TORSO]);
+ }
- if ((type == LC_MFW_HAT) || (type == LC_MFW_NECK) ||
- (type == LC_MFW_LEFT_TOOL) || (type == LC_MFW_RIGHT_TOOL) ||
- (type == LC_MFW_LEFT_SHOE) || (type == LC_MFW_RIGHT_SHOE))
+ if (m_Info[LC_MFW_LEFT_SHOE])
{
- memmove (list+1, list, *count*sizeof (char*));
- list[0] = "None";
- (*count)++;
+ Vector3 Center(0.4f, -0.04f, -1.12f);
+ Mat.CreateFromAxisAngle(Vector3(0, 0, 1), LC_DTOR * m_Angles[LC_MFW_LEFT_SHOE]);
+ Mat2 = mSettings[LC_MFW_LEFT_SHOE][GetSelectionIndex(LC_MFW_LEFT_SHOE)].Offset;
+ Mat2.SetTranslation(Mul31(-Center, Mat2));
+ Mat = Mul(Mat2, Mat);
+ Mat.SetTranslation(Mul31(Center, Mat2));
+ m_Matrices[LC_MFW_LEFT_SHOE] = Mul(Mat, m_Matrices[LC_MFW_LEFT_LEG]);
}
}
-void MinifigWizard::ChangePiece (int type, const char *desc)
+int MinifigWizard::GetSelectionIndex(int Type) const
{
- PieceInfo* piece_info = NULL;
- int j;
+ const ObjArray<lcMinifigPieceInfo>& InfoArray = mSettings[Type];
- for (j = 0; j < mfw_pieces; j++)
- {
- if (strcmp(desc, mfw_pieceinfo[j].description) == 0)
- {
- piece_info = lcGetPiecesLibrary()->FindPieceInfo(mfw_pieceinfo[j].name);
- if (piece_info == NULL)
- continue;
+ for (int Index = 0; Index < InfoArray.GetSize(); Index++)
+ if (InfoArray[Index].Info == m_Info[Type])
+ return Index;
- if (m_Info[type])
- m_Info[type]->DeRef();
- m_Info[type] = piece_info;
- piece_info->AddRef();
- break;
- }
- }
+ return 0;
+}
- // Piece not found ("None")
- if (j == mfw_pieces)
- {
- if (m_Info[type])
- m_Info[type]->DeRef();
- m_Info[type] = NULL;
- }
+void MinifigWizard::SetSelectionIndex(int Type, int Index)
+{
+ if (m_Info[Type])
+ m_Info[Type]->DeRef();
+
+ m_Info[Type] = mSettings[Type][Index].Info;
+
+ if (m_Info[Type])
+ m_Info[Type]->AddRef();
+
+ Calculate();
}
-void MinifigWizard::ChangeColor (int type, int color)
+void MinifigWizard::SetColor(int Type, int Color)
{
- m_Colors[type] = color;
+ m_Colors[Type] = Color;
}
-void MinifigWizard::ChangeAngle (int type, float angle)
+void MinifigWizard::SetAngle(int Type, float Angle)
{
- m_Angles[type] = angle;
+ m_Angles[Type] = Angle;
}
void MinifigWizard::GetMinifigNames (char ***names, int *count)
diff --git a/common/minifig.h b/common/minifig.h
index 270751f..9e8a3de 100644
--- a/common/minifig.h
+++ b/common/minifig.h
@@ -2,70 +2,72 @@
#define _MINIFIG_H_
#include "glwindow.h"
+#include "file.h"
+#include "algebra.h"
+#include "array.h"
class PieceInfo;
-typedef enum
+typedef enum LC_MFW_TYPES
{
- LC_MFW_HAT,
- 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_NUMITEMS
-} LC_MFW_TYPES;
+ LC_MFW_HAT,
+ 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_NUMITEMS
+};
-typedef struct
+struct lcMinifigPieceInfo
{
- char name[9];
- char description[65];
- int type;
- float x, y, z;
- float rx, ry, rz;
-} LC_MFW_PIECEINFO;
+ char Description[64];
+ PieceInfo* Info;
+ Matrix44 Offset;
+};
class MinifigWizard : public GLWindow
{
- public:
- MinifigWizard (GLWindow *share);
- ~MinifigWizard ();
+public:
+ MinifigWizard (GLWindow *share);
+ ~MinifigWizard ();
+
+ void OnDraw ();
+
+ void Calculate();
+ int GetSelectionIndex(int Type) const;
+ void SetSelectionIndex(int Type, int Index);
+ void SetColor(int Type, int Color);
+ void SetAngle(int Type, float Angle);
- void OnDraw ();
+ void GetMinifigNames (char ***names, int *count);
+ void SaveMinifig (const char* name);
+ bool LoadMinifig (const char* name);
+ void DeleteMinifig (const char* name);
- void Calculate ();
- void GetDescriptions (int type, char ***names, int *count);
- void GetSelections (char **names);
- void ChangePiece (int type, const char *description);
- void ChangeColor (int type, int color);
- void ChangeAngle (int type, float angle);
+ void ParseSettings(File& Settings);
- void GetMinifigNames (char ***names, int *count);
- void SaveMinifig (const char* name);
- bool LoadMinifig (const char* name);
- void DeleteMinifig (const char* name);
+ ObjArray<lcMinifigPieceInfo> mSettings[LC_MFW_NUMITEMS];
- public:
- PieceInfo* m_Info[LC_MFW_NUMITEMS];
- int m_Colors[LC_MFW_NUMITEMS];
- float m_Angles[LC_MFW_NUMITEMS];
- float m_Position[LC_MFW_NUMITEMS][3];
- float m_Rotation[LC_MFW_NUMITEMS][4];
+ PieceInfo* m_Info[LC_MFW_NUMITEMS];
+ int m_Colors[LC_MFW_NUMITEMS];
+ float m_Angles[LC_MFW_NUMITEMS];
+ Matrix44 m_Matrices[LC_MFW_NUMITEMS];
- protected:
- // saved minifig templates
- int m_MinifigCount;
- char **m_MinifigNames;
- char **m_MinifigTemplates;
+protected:
+ // saved minifig templates
+ int m_MinifigCount;
+ char **m_MinifigNames;
+ char **m_MinifigTemplates;
};
#endif // _MINIFIG_H_
diff --git a/common/project.cpp b/common/project.cpp
index 04ebc64..55c3417 100644
--- a/common/project.cpp
+++ b/common/project.cpp
@@ -5070,22 +5070,23 @@ void Project::HandleCommand(LC_COMMANDS id, unsigned long nParam)
for (i = 0; i < LC_MFW_NUMITEMS; i++)
{
if (wiz->m_Info[i] == NULL)
- continue;
+ continue;
Matrix mat;
Piece* pPiece = new Piece(wiz->m_Info[i]);
- pPiece->Initialize(wiz->m_Position[i][0], wiz->m_Position[i][1], wiz->m_Position[i][2],
- m_nCurStep, m_nCurFrame, wiz->m_Colors[i]);
+ Vector4& Position = wiz->m_Matrices[i][3];
+ Vector4 Rotation = wiz->m_Matrices[i].ToAxisAngle();
+ Rotation[3] *= LC_RTOD;
+ pPiece->Initialize(Position[0], Position[1], Position[2], m_nCurStep, m_nCurFrame, wiz->m_Colors[i]);
pPiece->CreateName(m_pPieces);
AddPiece(pPiece);
pPiece->Select(true, false, false);
- pPiece->ChangeKey(1, false, false, wiz->m_Rotation[i], LC_PK_ROTATION);
- pPiece->ChangeKey(1, true, false, wiz->m_Rotation[i], LC_PK_ROTATION);
+ pPiece->ChangeKey(1, false, false, Rotation, LC_PK_ROTATION);
+ pPiece->ChangeKey(1, true, false, Rotation, LC_PK_ROTATION);
pPiece->UpdatePosition(m_bAnimation ? m_nCurFrame : m_nCurStep, m_bAnimation);
- pPiece->CalculateConnections(m_pConnections, m_bAnimation ? m_nCurFrame : m_nCurStep,
- m_bAnimation, false, true);
+ pPiece->CalculateConnections(m_pConnections, m_bAnimation ? m_nCurFrame : m_nCurStep, m_bAnimation, false, true);
SystemPieceComboAdd(wiz->m_Info[i]->m_strDescription);
}
diff --git a/win/Figdlg.cpp b/win/Figdlg.cpp
index 6a41613..8ca391e 100644
--- a/win/Figdlg.cpp
+++ b/win/Figdlg.cpp
@@ -96,7 +96,7 @@ LRESULT CALLBACK GLWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPara
}
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);
for (int i = 0; i < LC_MFW_NUMITEMS; i++)
@@ -105,26 +105,19 @@ 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);
- char **names;
- int j, count;
+ ObjArray<lcMinifigPieceInfo>& Pieces = m_pMinifig->mSettings[i];
- m_pMinifig->GetDescriptions (i, &names, &count);
-
- for (j = 0; j < count; j++)
- pCombo->AddString (names[j]);
- free (names);
+ for (int j = 0; j < Pieces.GetSize(); j++)
+ pCombo->AddString(Pieces[j].Description);
}
- char *names[LC_MFW_NUMITEMS];
- m_pMinifig->GetSelections (names);
-
for (int i = 0; i < LC_MFW_NUMITEMS; i++)
{
CComboBox* pCombo = (CComboBox*)GetDlgItem(i+IDC_MF_HAT);
- pCombo->SetCurSel (pCombo->FindString (-1, names[i]));
- }
+ pCombo->SetCurSel(m_pMinifig->GetSelectionIndex(i));
+ }
- for (int i = IDC_MF_HATSPIN; i <= IDC_MF_SHOERSPIN; i++)
+ for (int i = IDC_MF_HATSPIN; i <= IDC_MF_SHOERSPIN; i++)
((CSpinButtonCtrl*)GetDlgItem(i))->SetRange(-360, 360);
return TRUE; // return TRUE unless you set the focus to a control
@@ -145,7 +138,7 @@ BOOL CMinifigDlg::DestroyWindow()
LONG CMinifigDlg::OnColorSelEndOK(UINT lParam, LONG wParam)
{
- m_pMinifig->ChangeColor (wParam-IDC_MF_HATCOLOR, lParam);
+ m_pMinifig->SetColor(wParam-IDC_MF_HATCOLOR, lParam);
m_pMinifig->Redraw ();
return TRUE;
@@ -153,10 +146,9 @@ LONG CMinifigDlg::OnColorSelEndOK(UINT lParam, LONG wParam)
void CMinifigDlg::OnPieceSelEndOK(UINT nID)
{
- char tmp[65];
- GetDlgItem(nID)->GetWindowText (tmp, 65);
- m_pMinifig->ChangePiece (nID-IDC_MF_HAT, tmp);
- m_pMinifig->Redraw ();
+ CComboBox* Combo = (CComboBox*)GetDlgItem(nID);
+ m_pMinifig->SetSelectionIndex(nID - IDC_MF_HAT, Combo->GetCurSel());
+ m_pMinifig->Redraw();
}
void CMinifigDlg::OnChangeAngle(UINT nID)
@@ -169,7 +161,7 @@ void CMinifigDlg::OnChangeAngle(UINT nID)
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 };
- m_pMinifig->ChangeAngle (index[nID-IDC_MF_HATANGLE], (float)strtod (tmp, NULL));
+ m_pMinifig->SetAngle (index[nID-IDC_MF_HATANGLE], (float)strtod (tmp, NULL));
m_pMinifig->Redraw ();
}
}
diff --git a/win/LeoCAD.rc b/win/LeoCAD.rc
index 5dcb077..698f51d 100644
--- a/win/LeoCAD.rc
+++ b/win/LeoCAD.rc
@@ -1,4 +1,4 @@
-//Microsoft Developer Studio generated resource script.
+// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
@@ -32,18 +32,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// TEXTINCLUDE
//
-1 TEXTINCLUDE DISCARDABLE
+1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
-2 TEXTINCLUDE DISCARDABLE
+2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
-3 TEXTINCLUDE DISCARDABLE
+3 TEXTINCLUDE
BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
@@ -69,48 +69,48 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
-IDR_MAINFRAME ICON DISCARDABLE "res\\idr_main.ico"
-IDR_PARTFRAME ICON DISCARDABLE "res\\idr_part.ico"
+IDR_MAINFRAME ICON "res\\idr_main.ico"
+IDR_PARTFRAME ICON "res\\idr_part.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
-IDR_MAINFRAME BITMAP MOVEABLE PURE "res\\Toolbar.bmp"
-IDB_VIEWPORTS BITMAP FIXED IMPURE "res\\views.bmp"
-IDR_TOOLSBAR BITMAP DISCARDABLE "res\\toolsbar.bmp"
-IDR_ANIMATORBAR BITMAP DISCARDABLE "res\\animator.bmp"
-IDB_PARTICONS BITMAP DISCARDABLE "res\\particon.bmp"
-IDB_AUTOPAN BITMAP DISCARDABLE "res\\autopan.bmp"
-IDB_HELP BITMAP DISCARDABLE "res\\help.bmp"
-IDB_HOME BITMAP DISCARDABLE "res\\home.bmp"
-IDB_MAIL BITMAP DISCARDABLE "res\\mail.bmp"
-IDB_INFO BITMAP DISCARDABLE "res\\info.bmp"
-IDB_PIECE BITMAP DISCARDABLE "res\\piece.bmp"
-IDB_CAMERA BITMAP DISCARDABLE "res\\camera.bmp"
-IDB_LIGHT BITMAP DISCARDABLE "res\\light.bmp"
-IDB_ZOOMIN BITMAP DISCARDABLE "res\\zoomin.bmp"
-IDB_ZOOMOUT BITMAP DISCARDABLE "res\\zoomout.bmp"
-IDB_GROUP BITMAP DISCARDABLE "res\\group.bmp"
-IDB_UNGROUP BITMAP DISCARDABLE "res\\ungroup.bmp"
-IDR_FULLSCREEN BITMAP DISCARDABLE "res\\fullscr.bmp"
-IDB_FULLSCREEN BITMAP DISCARDABLE "res\\fullscre.bmp"
-IDB_PHOTO BITMAP DISCARDABLE "res\\photo.bmp"
-IDB_DELETE BITMAP DISCARDABLE "res\\delete.bmp"
-IDB_PREFERENCES BITMAP DISCARDABLE "res\\preferen.bmp"
-IDR_PIECEEDITOR BITMAP DISCARDABLE "res\\pieceed.bmp"
-IDB_EDITOR_ICONS BITMAP DISCARDABLE "res\\editor.bmp"
-IDR_LIBRARY BITMAP DISCARDABLE "res\\library.bmp"
-IDR_TERRAIN BITMAP DISCARDABLE "res\\terrain.bmp"
-IDR_PREVIEW BITMAP DISCARDABLE "res\\preview.bmp"
+IDR_MAINFRAME BITMAP "res\\Toolbar.bmp"
+IDB_VIEWPORTS BITMAP "res\\views.bmp"
+IDR_TOOLSBAR BITMAP "res\\toolsbar.bmp"
+IDR_ANIMATORBAR BITMAP "res\\animator.bmp"
+IDB_PARTICONS BITMAP "res\\particon.bmp"
+IDB_AUTOPAN BITMAP "res\\autopan.bmp"
+IDB_HELP BITMAP "res\\help.bmp"
+IDB_HOME BITMAP "res\\home.bmp"
+IDB_MAIL BITMAP "res\\mail.bmp"
+IDB_INFO BITMAP "res\\info.bmp"
+IDB_PIECE BITMAP "res\\piece.bmp"
+IDB_CAMERA BITMAP "res\\camera.bmp"
+IDB_LIGHT BITMAP "res\\light.bmp"
+IDB_ZOOMIN BITMAP "res\\zoomin.bmp"
+IDB_ZOOMOUT BITMAP "res\\zoomout.bmp"
+IDB_GROUP BITMAP "res\\group.bmp"
+IDB_UNGROUP BITMAP "res\\ungroup.bmp"
+IDR_FULLSCREEN BITMAP "res\\fullscr.bmp"
+IDB_FULLSCREEN BITMAP "res\\fullscre.bmp"
+IDB_PHOTO BITMAP "res\\photo.bmp"
+IDB_DELETE BITMAP "res\\delete.bmp"
+IDB_PREFERENCES BITMAP "res\\preferen.bmp"
+IDR_PIECEEDITOR BITMAP "res\\pieceed.bmp"
+IDB_EDITOR_ICONS BITMAP "res\\editor.bmp"
+IDR_LIBRARY BITMAP "res\\library.bmp"
+IDR_TERRAIN BITMAP "res\\terrain.bmp"
+IDR_PREVIEW BITMAP "res\\preview.bmp"
/////////////////////////////////////////////////////////////////////////////
//
// Toolbar
//
-IDR_MAINFRAME TOOLBAR DISCARDABLE 16, 15
+IDR_MAINFRAME TOOLBAR 16, 15
BEGIN
BUTTON ID_FILE_NEW
BUTTON ID_FILE_OPEN
@@ -134,7 +134,7 @@ BEGIN
BUTTON ID_CONTEXT_HELP
END
-IDR_TOOLSBAR TOOLBAR DISCARDABLE 16, 15
+IDR_TOOLSBAR TOOLBAR 16, 15
BEGIN
BUTTON ID_ACTION_INSERT
BUTTON ID_ACTION_LIGHT
@@ -160,7 +160,7 @@ BEGIN
BUTTON ID_PIECE_ARRAY
END
-IDR_ANIMATORBAR TOOLBAR DISCARDABLE 16, 15
+IDR_ANIMATORBAR TOOLBAR 16, 15
BEGIN
BUTTON ID_VIEW_STEP_FIRST
BUTTON ID_VIEW_STEP_PREVIOUS
@@ -172,19 +172,19 @@ BEGIN
BUTTON ID_ANIMATOR_KEY
END
-IDR_FULLSCREEN TOOLBAR DISCARDABLE 16, 15
+IDR_FULLSCREEN TOOLBAR 16, 15
BEGIN
BUTTON ID_VIEW_FULLSCREEN
END
-IDR_PIECEEDITOR TOOLBAR DISCARDABLE 16, 15
+IDR_PIECEEDITOR TOOLBAR 16, 15
BEGIN
BUTTON ID_EDITOR_FILE_NEW
BUTTON ID_EDITOR_FILE_OPEN
BUTTON ID_EDITOR_FILE_SAVE
END
-IDR_LIBRARY TOOLBAR DISCARDABLE 16, 15
+IDR_LIBRARY TOOLBAR 16, 15
BEGIN
BUTTON ID_LIBDLG_FILE_OPEN
BUTTON ID_LIBDLG_FILE_SAVE
@@ -195,7 +195,7 @@ BEGIN
BUTTON ID_LIBDLG_CATEGORY_EDIT
END
-IDR_TERRAIN TOOLBAR DISCARDABLE 16, 15
+IDR_TERRAIN TOOLBAR 16, 15
BEGIN
BUTTON ID_TERDLG_FILE_OPEN
BUTTON ID_TERDLG_FILE_SAVE
@@ -206,7 +206,7 @@ BEGIN
BUTTON ID_TERDLG_EDIT_ROTATE
END
-IDR_PREVIEW TOOLBAR DISCARDABLE 16, 15
+IDR_PREVIEW TOOLBAR 16, 15
BEGIN
BUTTON ID_PREVIEW_PRINT
BUTTON ID_PREVIEW_PREV
@@ -224,7 +224,7 @@ END
// Menu
//
-IDR_MAINFRAME MENU PRELOAD DISCARDABLE
+IDR_MAINFRAME MENU
BEGIN
POPUP "&File"
BEGIN
@@ -294,8 +294,7 @@ BEGIN
MENUITEM "05", ID_VIEWPORT05
MENUITEM "06", ID_VIEWPORT06
MENUITEM "07", ID_VIEWPORT07
- MENUITEM "08", ID_VIEWPORT08
- , MENUBARBREAK
+ MENUITEM "08", ID_VIEWPORT08, MENUBARBREAK
MENUITEM "09", ID_VIEWPORT09
MENUITEM "10", ID_VIEWPORT10
MENUITEM "11", ID_VIEWPORT11
@@ -354,7 +353,7 @@ BEGIN
END
END
-IDR_POPUPS MENU DISCARDABLE
+IDR_POPUPS MENU
BEGIN
POPUP "0"
BEGIN
@@ -460,8 +459,7 @@ BEGIN
MENUITEM "3 Studs", ID_SNAP_7
MENUITEM "4 Studs", ID_SNAP_8
MENUITEM "8 Studs", ID_SNAP_9
- MENUITEM "Z Snap", ID_SNAP_Z
- , INACTIVE, MENUBARBREAK
+ MENUITEM "Z Snap", ID_SNAP_Z, INACTIVE, MENUBARBREAK
MENUITEM SEPARATOR
MENUITEM "None", ID_SNAP_10
MENUITEM "1/20 Stud", ID_SNAP_11
@@ -483,7 +481,7 @@ BEGIN
END
END
-IDR_PIECEEDITOR MENU DISCARDABLE
+IDR_PIECEEDITOR MENU
BEGIN
POPUP "File"
BEGIN
@@ -505,7 +503,7 @@ BEGIN
END
END
-IDR_LIBRARY MENU DISCARDABLE
+IDR_LIBRARY MENU
BEGIN
POPUP "&File"
BEGIN
@@ -536,14 +534,13 @@ BEGIN
END
END
-IDR_TERRAIN MENU DISCARDABLE
+IDR_TERRAIN MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&Open...", ID_TERDLG_FILE_OPEN, GRAYED
MENUITEM "&Save", ID_TERDLG_FILE_SAVE, GRAYED
- MENUITEM "Save &As...", ID_TERDLG_FILE_SAVEAS
- , GRAYED
+ MENUITEM "Save &As...", ID_TERDLG_FILE_SAVEAS, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Apply Changes", IDOK
MENUITEM "&Discard Changes", IDCANCEL
@@ -571,7 +568,7 @@ END
// Accelerator
//
-IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE
+IDR_MAINFRAME ACCELERATORS
BEGIN
"F", ID_VIEW_FULLSCREEN, VIRTKEY, CONTROL, NOINVERT
"P", ID_FILE_PRINT, VIRTKEY, CONTROL, NOINVERT
@@ -585,28 +582,23 @@ END
// Dialog
//
-IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 217, 142
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_ABOUTBOX DIALOG 0, 0, 217, 142
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About LeoCAD"
FONT 8, "MS Sans Serif"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
- LTEXT "LeoCAD Version x.xx",IDC_ABTDLG_VERSION,40,10,119,8,
- SS_NOPREFIX
- LTEXT "Copyright © 1996-2006, BT Software",IDC_STATIC,40,25,
- 119,8
+ LTEXT "LeoCAD Version x.xx",IDC_ABTDLG_VERSION,40,10,119,8,SS_NOPREFIX
+ LTEXT "Copyright © 1996-2006, BT Software",IDC_STATIC,40,25,119,8
DEFPUSHBUTTON "OK",IDOK,178,7,32,14,WS_GROUP
GROUPBOX "System Information",IDC_STATIC,7,85,203,50
- EDITTEXT IDC_ABTDLG_INFO,14,99,190,30,ES_MULTILINE |
- ES_AUTOHSCROLL | ES_READONLY
- LTEXT "This program is protected by copyright law and international treaties.",
- IDC_STATIC,40,40,151,19
- LTEXT "http://www.leocad.org",IDC_ABTDLG_HOMEPAGE,40,63,151,8,
- SS_NOTIFY
+ EDITTEXT IDC_ABTDLG_INFO,14,99,190,30,ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "This program is protected by copyright law and international treaties.",IDC_STATIC,40,40,151,19
+ LTEXT "http://www.leocad.org",IDC_ABTDLG_HOMEPAGE,40,63,151,8,SS_NOTIFY
END
-IDD_PROPGENERAL DIALOG DISCARDABLE 0, 0, 220, 105
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PROPGENERAL DIALOG 0, 0, 220, 105
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "General"
FONT 8, "MS Sans Serif"
BEGIN
@@ -624,8 +616,8 @@ BEGIN
LTEXT "",IDC_PROP_GEN_ACCESSED,77,79,136,8,NOT WS_GROUP
END
-IDD_PROPSUMMARY DIALOG DISCARDABLE 0, 0, 220, 105
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PROPSUMMARY DIALOG 0, 0, 220, 105
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Summary"
FONT 8, "MS Sans Serif"
BEGIN
@@ -634,35 +626,28 @@ BEGIN
LTEXT "Comments:",IDC_STATIC,13,49,50,8
EDITTEXT IDC_PROP_SUM_AUTHOR,71,14,136,10,ES_AUTOHSCROLL
EDITTEXT IDC_PROP_SUM_DESCRIPTION,71,31,136,10,ES_AUTOHSCROLL
- EDITTEXT IDC_PROP_SUM_COMMENTS,71,47,136,50,ES_MULTILINE |
- ES_WANTRETURN | WS_VSCROLL
+ EDITTEXT IDC_PROP_SUM_COMMENTS,71,47,136,50,ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL
END
-IDD_PROPPIECES DIALOG DISCARDABLE 0, 0, 220, 105
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PROPPIECES DIALOG 0, 0, 220, 105
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Pieces Used"
FONT 8, "MS Sans Serif"
BEGIN
- CONTROL "List1",IDC_PROP_PIECES_LIST,"SysListView32",LVS_REPORT |
- LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,7,7,206,90
+ CONTROL "List1",IDC_PROP_PIECES_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,7,7,206,90
END
-IDD_SELECT_OBJECTS DIALOG DISCARDABLE 0, 0, 246, 230
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_SELECT_OBJECTS DIALOG 0, 0, 246, 230
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Select Objects"
FONT 8, "MS Sans Serif"
BEGIN
- LISTBOX IDC_SELDLG_LIST,7,7,137,196,LBS_NOINTEGRALHEIGHT |
- LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP
+ LISTBOX IDC_SELDLG_LIST,7,7,137,196,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP
GROUPBOX "List Display",IDC_STATIC,157,7,80,66
- CONTROL "Pieces",IDC_SELDLG_PIECES,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,174,22,43,8
- CONTROL "Cameras",IDC_SELDLG_CAMERAS,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,174,34,43,8
- CONTROL "Lights",IDC_SELDLG_LIGHTS,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,174,46,43,8
- CONTROL "Groups",IDC_SELDLG_GROUPS,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,174,58,43,8
+ CONTROL "Pieces",IDC_SELDLG_PIECES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,22,43,8
+ CONTROL "Cameras",IDC_SELDLG_CAMERAS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,34,43,8
+ CONTROL "Lights",IDC_SELDLG_LIGHTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,46,43,8
+ CONTROL "Groups",IDC_SELDLG_GROUPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,58,43,8
PUSHBUTTON "All",IDC_SELDLG_ALL,14,210,38,11
PUSHBUTTON "None",IDC_SELDLG_NONE,57,210,38,11
PUSHBUTTON "Invert",IDC_SELDLG_INVERT,100,210,38,11
@@ -670,258 +655,156 @@ BEGIN
PUSHBUTTON "Cancel",IDCANCEL,198,209,41,14
END
-IDD_ARRAY DIALOG DISCARDABLE 0, 0, 224, 170
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_ARRAY DIALOG 0, 0, 224, 170
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Array"
FONT 8, "MS Sans Serif"
BEGIN
- GROUPBOX "Array Transformation (Incremental)",IDC_STATIC,7,7,155,
- 68
+ GROUPBOX "Array Transformation (Incremental)",IDC_STATIC,7,7,155,68
CTEXT "X",IDC_STATIC,44,20,20,8
CTEXT "Y",IDC_STATIC,84,20,20,8
CTEXT "Z",IDC_STATIC,124,20,20,8
LTEXT "Move",IDC_STATIC,13,36,26,8
EDITTEXT IDC_ARRAY_MOVE_X,44,35,20,10,ES_AUTOHSCROLL
- CONTROL "Spin1",IDC_ARRAY_MOVE_X_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,66,34,7,
- 12
+ CONTROL "Spin1",IDC_ARRAY_MOVE_X_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,66,34,7,12
EDITTEXT IDC_ARRAY_MOVE_Y,84,35,20,10,ES_AUTOHSCROLL
- CONTROL "Spin1",IDC_ARRAY_MOVE_Y_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,106,34,7,
- 12
+ CONTROL "Spin1",IDC_ARRAY_MOVE_Y_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,106,34,7,12
EDITTEXT IDC_ARRAY_MOVE_Z,124,35,20,10,ES_AUTOHSCROLL
- CONTROL "Spin1",IDC_ARRAY_MOVE_Z_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,146,34,7,
- 12
+ CONTROL "Spin1",IDC_ARRAY_MOVE_Z_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,146,34,7,12
LTEXT "Rotate",IDC_STATIC,13,52,23,8
EDITTEXT IDC_ARRAY_ROTATE_X,44,51,20,10,ES_AUTOHSCROLL
- CONTROL "Spin1",IDC_ARRAY_ROTATE_X_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,66,50,7,
- 12
+ CONTROL "Spin1",IDC_ARRAY_ROTATE_X_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,66,50,7,12
EDITTEXT IDC_ARRAY_ROTATE_Y,84,51,20,10,ES_AUTOHSCROLL
- CONTROL "Spin1",IDC_ARRAY_ROTATE_Y_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,106,50,7,
- 12
+ CONTROL "Spin1",IDC_ARRAY_ROTATE_Y_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,106,50,7,12
EDITTEXT IDC_ARRAY_ROTATE_Z,124,51,20,10,ES_AUTOHSCROLL
- CONTROL "Spin1",IDC_ARRAY_ROTATE_Z_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,146,50,7,
- 12
+ CONTROL "Spin1",IDC_ARRAY_ROTATE_Z_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,146,50,7,12
GROUPBOX "Array Dimensions",IDC_STATIC,7,86,210,77
CTEXT "Row Offsets",IDC_STATIC,90,98,100,8
CTEXT "X",IDC_STATIC,90,111,20,8
CTEXT "Y",IDC_STATIC,130,111,20,8
CTEXT "Z",IDC_STATIC,170,111,20,8
- CONTROL "1D",IDC_ARRAY_1D,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
- 16,112,23,8
- CONTROL "2D",IDC_ARRAY_2D,"Button",BS_AUTORADIOBUTTON,16,128,23,
- 8
- CONTROL "3D",IDC_ARRAY_3D,"Button",BS_AUTORADIOBUTTON,16,144,23,
- 8
- EDITTEXT IDC_ARRAY_1D_COUNT,47,111,20,10,ES_AUTOHSCROLL |
- ES_NUMBER | WS_GROUP
- CONTROL "Spin1",IDC_ARRAY_1D_COUNT_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,69,110,7,
- 12
- EDITTEXT IDC_ARRAY_2D_COUNT,47,127,20,10,ES_AUTOHSCROLL |
- ES_NUMBER | WS_DISABLED
- CONTROL "Spin1",IDC_ARRAY_2D_COUNT_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
- WS_DISABLED,69,126,7,12
+ CONTROL "1D",IDC_ARRAY_1D,"Button",BS_AUTORADIOBUTTON | WS_GROUP,16,112,23,8
+ CONTROL "2D",IDC_ARRAY_2D,"Button",BS_AUTORADIOBUTTON,16,128,23,8
+ CONTROL "3D",IDC_ARRAY_3D,"Button",BS_AUTORADIOBUTTON,16,144,23,8
+ EDITTEXT IDC_ARRAY_1D_COUNT,47,111,20,10,ES_AUTOHSCROLL | ES_NUMBER | WS_GROUP
+ CONTROL "Spin1",IDC_ARRAY_1D_COUNT_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,69,110,7,12
+ EDITTEXT IDC_ARRAY_2D_COUNT,47,127,20,10,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
+ CONTROL "Spin1",IDC_ARRAY_2D_COUNT_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_DISABLED,69,126,7,12
EDITTEXT IDC_ARRAY_2D_X,90,127,20,10,ES_AUTOHSCROLL | WS_DISABLED
- CONTROL "Spin1",IDC_ARRAY_2D_X_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
- WS_DISABLED,112,126,7,12
- EDITTEXT IDC_ARRAY_2D_Y,130,127,20,10,ES_AUTOHSCROLL |
- WS_DISABLED
- CONTROL "Spin1",IDC_ARRAY_2D_Y_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
- WS_DISABLED,152,126,7,12
- EDITTEXT IDC_ARRAY_2D_Z,170,127,20,10,ES_AUTOHSCROLL |
- WS_DISABLED
- CONTROL "Spin1",IDC_ARRAY_2D_Z_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
- WS_DISABLED,192,126,7,12
- EDITTEXT IDC_ARRAY_3D_COUNT,47,143,20,10,ES_AUTOHSCROLL |
- ES_NUMBER | WS_DISABLED
- CONTROL "Spin1",IDC_ARRAY_3D_COUNT_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
- WS_DISABLED,69,142,7,12
+ CONTROL "Spin1",IDC_ARRAY_2D_X_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_DISABLED,112,126,7,12
+ EDITTEXT IDC_ARRAY_2D_Y,130,127,20,10,ES_AUTOHSCROLL | WS_DISABLED
+ CONTROL "Spin1",IDC_ARRAY_2D_Y_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_DISABLED,152,126,7,12
+ EDITTEXT IDC_ARRAY_2D_Z,170,127,20,10,ES_AUTOHSCROLL | WS_DISABLED
+ CONTROL "Spin1",IDC_ARRAY_2D_Z_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_DISABLED,192,126,7,12
+ EDITTEXT IDC_ARRAY_3D_COUNT,47,143,20,10,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
+ CONTROL "Spin1",IDC_ARRAY_3D_COUNT_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_DISABLED,69,142,7,12
EDITTEXT IDC_ARRAY_3D_X,90,143,20,10,ES_AUTOHSCROLL | WS_DISABLED
- CONTROL "Spin1",IDC_ARRAY_3D_X_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
- WS_DISABLED,112,142,7,12
- EDITTEXT IDC_ARRAY_3D_Y,130,143,20,10,ES_AUTOHSCROLL |
- WS_DISABLED
- CONTROL "Spin1",IDC_ARRAY_3D_Y_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
- WS_DISABLED,152,142,7,12
- EDITTEXT IDC_ARRAY_3D_Z,170,143,20,10,ES_AUTOHSCROLL |
- WS_DISABLED
- CONTROL "Spin1",IDC_ARRAY_3D_Z_SPIN,"msctls_updown32",
- UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
- WS_DISABLED,192,142,7,12
+ CONTROL "Spin1",IDC_ARRAY_3D_X_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_DISABLED,112,142,7,12
+ EDITTEXT IDC_ARRAY_3D_Y,130,143,20,10,ES_AUTOHSCROLL | WS_DISABLED
+ CONTROL "Spin1",IDC_ARRAY_3D_Y_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_DISABLED,152,142,7,12
+ EDITTEXT IDC_ARRAY_3D_Z,170,143,20,10,ES_AUTOHSCROLL | WS_DISABLED
+ CONTROL "Spin1",IDC_ARRAY_3D_Z_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_DISABLED,192,142,7,12
DEFPUSHBUTTON "OK",IDOK,172,13,41,14
PUSHBUTTON "Cancel",IDCANCEL,172,30,41,14
LTEXT "Total:",IDC_STATIC,171,54,22,8
CTEXT "Count",IDC_STATIC,47,98,20,8
- EDITTEXT IDC_ARRAY_TOTAL,194,53,20,10,ES_CENTER | ES_AUTOHSCROLL |
- ES_READONLY
+ EDITTEXT IDC_ARRAY_TOTAL,194,53,20,10,ES_CENTER | ES_AUTOHSCROLL | ES_READONLY
END
IDD_STEP DIALOGEX 0, 0, 108, 41
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_TOOLWINDOW
CAPTION "Step"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
EDITTEXT IDC_STEP_EDIT,20,8,20,10,ES_AUTOHSCROLL | ES_NUMBER
- CONTROL "Spin1",IDC_STEP_SPIN,"msctls_updown32",UDS_SETBUDDYINT |
- UDS_AUTOBUDDY | UDS_ARROWKEYS,42,7,8,12
- CONTROL "Slider1",IDC_STEP_SLIDER,"msctls_trackbar32",TBS_BOTH |
- TBS_NOTICKS | WS_TABSTOP,4,24,60,10
+ CONTROL "Spin1",IDC_STEP_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,42,7,8,12
+ CONTROL "Slider1",IDC_STEP_SLIDER,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,4,24,60,10
DEFPUSHBUTTON "OK",IDOK,71,2,35,11
PUSHBUTTON "Close",IDCANCEL,71,15,35,11
PUSHBUTTON "Apply",IDAPPLY,71,28,35,11
END
-IDD_MINIFIG DIALOG DISCARDABLE 0, 0, 400, 186
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_MINIFIG DIALOGEX 0, 0, 400, 186
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Minifig Wizard"
-FONT 8, "MS Sans Serif"
+FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
DEFPUSHBUTTON "OK",IDOK,303,165,41,14
PUSHBUTTON "Cancel",IDCANCEL,352,165,41,14
- COMBOBOX IDC_MF_HAT,7,11,80,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
+ COMBOBOX IDC_MF_HAT,7,11,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HATCOLOR,91,11,22,12
EDITTEXT IDC_MF_HATANGLE,117,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
- COMBOBOX IDC_MF_NECK,7,30,80,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
+ CONTROL "Spin1",IDC_MF_HATSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,11,7,12
+ COMBOBOX IDC_MF_NECK,7,30,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_NECKCOLOR,91,30,22,12
EDITTEXT IDC_MF_NECKANGLE,117,31,28,12,ES_AUTOHSCROLL | ES_NUMBER
- CONTROL "Spin1",IDC_MF_NECKSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,139,30,8,12
- COMBOBOX IDC_MF_ARMR,7,49,80,66,CBS_DROPDOWNLIST | CBS_SORT |
- 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
+ COMBOBOX IDC_MF_ARMR,7,49,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_ARMRCOLOR,91,49,22,12
EDITTEXT IDC_MF_ARMRANGLE,117,50,28,12,ES_AUTOHSCROLL | ES_NUMBER
- CONTROL "Spin1",IDC_MF_ARMRSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,139,49,8,12
- COMBOBOX IDC_MF_HANDR,7,68,80,66,CBS_DROPDOWNLIST | CBS_SORT |
- 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
+ COMBOBOX IDC_MF_HANDR,7,68,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HANDRCOLOR,91,68,22,12
- EDITTEXT IDC_MF_HANDRANGLE,117,69,28,12,ES_AUTOHSCROLL |
- ES_NUMBER
- CONTROL "Spin1",IDC_MF_HANDRSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,139,68,8,12
- COMBOBOX IDC_MF_TOOLR,7,87,80,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_MF_HANDRANGLE,117,69,28,12,ES_AUTOHSCROLL | ES_NUMBER
+ CONTROL "Spin1",IDC_MF_HANDRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,68,8,12
+ COMBOBOX IDC_MF_TOOLR,7,87,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_TOOLRCOLOR,91,87,22,12
- EDITTEXT IDC_MF_TOOLRANGLE,117,88,28,12,ES_AUTOHSCROLL |
- ES_NUMBER
- CONTROL "Spin1",IDC_MF_TOOLRSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,139,87,8,12
- COMBOBOX IDC_MF_HIPS,7,106,80,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_MF_TOOLRANGLE,117,88,28,12,ES_AUTOHSCROLL | ES_NUMBER
+ CONTROL "Spin1",IDC_MF_TOOLRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,87,8,12
+ COMBOBOX IDC_MF_HIPS,7,106,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_HIPSCOLOR,91,106,22,12
- COMBOBOX IDC_MF_LEGR,7,125,80,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
+ COMBOBOX IDC_MF_LEGR,7,125,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_LEGRCOLOR,91,125,22,12
- EDITTEXT IDC_MF_LEGRANGLE,117,126,28,12,ES_AUTOHSCROLL |
- ES_NUMBER
- CONTROL "Spin1",IDC_MF_LEGRSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,139,125,8,12
- COMBOBOX IDC_MF_SHOER,7,144,80,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_MF_LEGRANGLE,117,126,28,12,ES_AUTOHSCROLL | ES_NUMBER
+ CONTROL "Spin1",IDC_MF_LEGRSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,139,125,8,12
+ COMBOBOX IDC_MF_SHOER,7,144,80,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_SHOERCOLOR,91,144,22,12
- EDITTEXT IDC_MF_SHOERANGLE,117,145,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
+ EDITTEXT IDC_MF_SHOERANGLE,117,145,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
EDITTEXT IDC_MF_HEADANGLE,250,12,28,12,ES_AUTOHSCROLL | ES_NUMBER
- CONTROL "Spin1",IDC_MF_HEADSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,272,12,7,12
+ CONTROL "Spin1",IDC_MF_HEADSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,12,7,12
PUSHBUTTON "",IDC_MF_HEADCOLOR,282,11,22,12
- COMBOBOX IDC_MF_HEAD,308,11,85,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
+ COMBOBOX IDC_MF_HEAD,308,11,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "",IDC_MF_TORSOCOLOR,282,30,22,12
- COMBOBOX IDC_MF_TORSO,308,30,85,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
+ COMBOBOX IDC_MF_TORSO,308,30,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_MF_ARMLANGLE,250,50,28,12,ES_AUTOHSCROLL | ES_NUMBER
- CONTROL "Spin1",IDC_MF_ARMLSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,272,50,7,12
+ CONTROL "Spin1",IDC_MF_ARMLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,50,7,12
PUSHBUTTON "",IDC_MF_ARMLCOLOR,282,49,22,12
- COMBOBOX IDC_MF_ARML,308,49,85,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
- EDITTEXT IDC_MF_HANDLANGLE,250,69,28,12,ES_AUTOHSCROLL |
- ES_NUMBER
- CONTROL "Spin1",IDC_MF_HANDLSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,272,69,7,12
+ COMBOBOX IDC_MF_ARML,308,49,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_MF_HANDLANGLE,250,69,28,12,ES_AUTOHSCROLL | ES_NUMBER
+ CONTROL "Spin1",IDC_MF_HANDLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,69,7,12
PUSHBUTTON "",IDC_MF_HANDLCOLOR,282,68,22,12
- COMBOBOX IDC_MF_HANDL,308,68,85,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
- EDITTEXT IDC_MF_TOOLLANGLE,250,88,28,12,ES_AUTOHSCROLL |
- ES_NUMBER
- CONTROL "Spin1",IDC_MF_TOOLLSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,272,88,7,12
+ COMBOBOX IDC_MF_HANDL,308,68,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_MF_TOOLLANGLE,250,88,28,12,ES_AUTOHSCROLL | ES_NUMBER
+ CONTROL "Spin1",IDC_MF_TOOLLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,88,7,12
PUSHBUTTON "",IDC_MF_TOOLLCOLOR,282,87,22,12
- COMBOBOX IDC_MF_TOOLL,308,87,85,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
- EDITTEXT IDC_MF_LEGLANGLE,250,126,28,12,ES_AUTOHSCROLL |
- ES_NUMBER
- CONTROL "Spin1",IDC_MF_LEGLSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,272,126,7,12
+ COMBOBOX IDC_MF_TOOLL,308,87,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_MF_LEGLANGLE,250,126,28,12,ES_AUTOHSCROLL | ES_NUMBER
+ CONTROL "Spin1",IDC_MF_LEGLSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,126,7,12
PUSHBUTTON "",IDC_MF_LEGLCOLOR,282,125,22,12
- COMBOBOX IDC_MF_LEGL,308,125,85,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
- EDITTEXT IDC_MF_SHOELANGLE,250,145,28,12,ES_AUTOHSCROLL |
- ES_NUMBER
- CONTROL "Spin1",IDC_MF_SHOELSPIN,"msctls_updown32",UDS_WRAP |
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
- UDS_ARROWKEYS,272,145,7,12
+ COMBOBOX IDC_MF_LEGL,308,125,85,66,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ EDITTEXT IDC_MF_SHOELANGLE,250,145,28,12,ES_AUTOHSCROLL | ES_NUMBER
+ CONTROL "Spin1",IDC_MF_SHOELSPIN,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,272,145,7,12
PUSHBUTTON "",IDC_MF_SHOELCOLOR,282,144,22,12
- COMBOBOX IDC_MF_SHOEL,308,144,85,66,CBS_DROPDOWNLIST | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
- LTEXT "",IDC_PREVIEWSTATIC,149,7,96,158,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
-IDD_HTML DIALOG DISCARDABLE 0, 0, 187, 172
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_HTML DIALOG 0, 0, 187, 172
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "HTML Options"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "Layout",IDC_STATIC,7,7,118,55
- CONTROL "Single page",IDC_HTMDLG_SINGLEPAGE,"Button",
- BS_AUTORADIOBUTTON | WS_GROUP,18,21,75,8
- CONTROL "One step per page",IDC_HTMDLG_ONESTEP,"Button",
- BS_AUTORADIOBUTTON,18,33,75,8
- CONTROL "Index page",IDC_HTMDLG_INDEX,"Button",BS_AUTOCHECKBOX |
- WS_DISABLED | WS_GROUP | WS_TABSTOP,27,45,62,8
+ CONTROL "Single page",IDC_HTMDLG_SINGLEPAGE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,18,21,75,8
+ CONTROL "One step per page",IDC_HTMDLG_ONESTEP,"Button",BS_AUTORADIOBUTTON,18,33,75,8
+ CONTROL "Index page",IDC_HTMDLG_INDEX,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_GROUP | WS_TABSTOP,27,45,62,8
GROUPBOX "Pieces list",IDC_STATIC,7,66,118,55
- CONTROL "After each step",IDC_HTMDLG_LIST_STEP,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,18,80,79,8
- CONTROL "At the end",IDC_HTMDLG_LIST_END,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,18,92,79,8
- CONTROL "Create images",IDC_HTMDLG_LISTIMAGES,"Button",
- BS_AUTOCHECKBOX | WS_DISABLED | WS_GROUP | WS_TABSTOP,27,
- 104,60,8
- CONTROL "Highlight new pieces",IDC_HTMDLG_HIGHLIGHT,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,128,154,8
+ CONTROL "After each step",IDC_HTMDLG_LIST_STEP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,80,79,8
+ CONTROL "At the end",IDC_HTMDLG_LIST_END,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,92,79,8
+ CONTROL "Create images",IDC_HTMDLG_LISTIMAGES,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_GROUP | WS_TABSTOP,27,104,60,8
+ CONTROL "Highlight new pieces",IDC_HTMDLG_HIGHLIGHT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,128,154,8
CONTROL "Save files with .html extension",IDC_HTMLDLG_HTMLEXT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,140,154,8
LTEXT "Output folder",IDC_STATIC,7,156,46,8
@@ -932,20 +815,19 @@ BEGIN
PUSHBUTTON "Images...",IDC_HTMDLG_IMAGEOPTIONS,139,45,41,14
END
-IDD_PROGRESS DIALOG DISCARDABLE 0, 0, 187, 57
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+IDD_PROGRESS DIALOG 0, 0, 187, 57
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "Progress"
FONT 8, "MS Sans Serif"
BEGIN
PUSHBUTTON "Cancel",IDCANCEL,139,36,41,14
LTEXT "",IDC_PRGDLG_TEXT,7,7,173,8
- CONTROL "Progress1",IDC_PRGDLG_PROGRESS,"msctls_progress32",
- WS_BORDER,7,36,123,12
+ CONTROL "Progress1",IDC_PRGDLG_PROGRESS,"msctls_progress32",WS_BORDER,7,36,123,12
LTEXT "",IDC_PRGDLG_TEXT2,7,19,173,8
END
-IDD_GROUP DIALOG DISCARDABLE 0, 0, 170, 45
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_GROUP DIALOG 0, 0, 170, 45
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Group Name"
FONT 8, "MS Sans Serif"
BEGIN
@@ -954,134 +836,99 @@ BEGIN
PUSHBUTTON "Cancel",IDCANCEL,122,24,41,14
END
-IDD_PREFGENERAL DIALOG DISCARDABLE 0, 0, 245, 132
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PREFGENERAL DIALOG 0, 0, 245, 132
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "General"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "Saving",IDC_STATIC,7,7,130,70
- CONTROL "Autosave every",IDC_GENDLG_AUTOSAVE,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,12,19,63,8
+ CONTROL "Autosave every",IDC_GENDLG_AUTOSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,19,63,8
EDITTEXT IDC_GENDLG_SAVETIME,77,18,20,12,ES_AUTOHSCROLL
LTEXT "minutes",IDC_STATIC,101,19,24,8
- CONTROL "Create backups",IDC_GENDLG_BACKUP,"Button",
- BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,12,35,65,8
+ CONTROL "Create backups",IDC_GENDLG_BACKUP,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,12,35,65,8
LTEXT "Default projects folder:",IDC_STATIC,12,47,72,8
EDITTEXT IDC_GENDLG_FOLDER,12,59,105,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_GENDLG_FOLDERBTN,121,59,8,10
LTEXT "Default user:",IDC_STATIC,11,85,44,8
EDITTEXT IDC_GENDLG_USER,57,83,75,12,ES_AUTOHSCROLL
LTEXT "Mouse sensitivity",IDC_STATIC,11,100,59,8
- CONTROL "Slider1",IDC_GENDLG_MOUSE,"msctls_trackbar32",TBS_BOTH |
- TBS_NOTICKS | WS_TABSTOP,76,99,31,10
+ CONTROL "Slider1",IDC_GENDLG_MOUSE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,76,99,31,10
GROUPBOX "Pieces Toolbar",IDC_STATIC,146,7,92,70
- CONTROL "Show sub-pieces",IDC_GENDLG_SUBPARTS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,152,19,81,8
- CONTROL "Show piece numbers",IDC_GENDLG_NUMBERS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,152,32,81,8
- CONTROL "Check for updates on startup",IDC_GENDLG_UPDATES,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,11,113,119,8
+ CONTROL "Show sub-pieces",IDC_GENDLG_SUBPARTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,19,81,8
+ CONTROL "Show piece numbers",IDC_GENDLG_NUMBERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,32,81,8
+ CONTROL "Check for updates on startup",IDC_GENDLG_UPDATES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,113,119,8
END
-IDD_PREFDRAWING DIALOG DISCARDABLE 0, 0, 240, 114
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PREFDRAWING DIALOG 0, 0, 240, 114
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Drawing Aids"
FONT 8, "MS Sans Serif"
BEGIN
- CONTROL "Base grid",IDC_AIDDLG_GRID,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,7,41,8
+ CONTROL "Base grid",IDC_AIDDLG_GRID,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,41,8
EDITTEXT IDC_AIDDLG_GRIDSIZE,52,6,20,10,ES_AUTOHSCROLL
LTEXT "units",IDC_STATIC,76,7,16,8
- CONTROL "Axis icon",IDC_AIDDLG_AXIS,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,20,42,8
- CONTROL "Centimeter units",IDC_AIDDLG_CENTIMETERS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,33,70,8
- CONTROL "Snap X",IDC_AIDDLG_SNAPX,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,46,42,8
- CONTROL "Snap Y",IDC_AIDDLG_SNAPY,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,59,42,8
- CONTROL "Snap Z",IDC_AIDDLG_SNAPZ,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,72,42,8
- CONTROL "Angle snap",IDC_AIDDLG_SNAPA,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,85,49,8
+ CONTROL "Axis icon",IDC_AIDDLG_AXIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,20,42,8
+ CONTROL "Centimeter units",IDC_AIDDLG_CENTIMETERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,33,70,8
+ CONTROL "Snap X",IDC_AIDDLG_SNAPX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,46,42,8
+ CONTROL "Snap Y",IDC_AIDDLG_SNAPY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,59,42,8
+ CONTROL "Snap Z",IDC_AIDDLG_SNAPZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,72,42,8
+ CONTROL "Angle snap",IDC_AIDDLG_SNAPA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,85,49,8
EDITTEXT IDC_AIDDLG_ANGLE,57,84,20,10,ES_AUTOHSCROLL
LTEXT "degrees",IDC_STATIC,79,85,27,8
- CONTROL "Don't allow relative snap",IDC_AIDDLG_GLOBAL,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,122,7,111,8
- CONTROL "Switch to move after inserting",IDC_AIDDLG_MOVE,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,122,20,111,8
- CONTROL "Fixed direction keys",IDC_AIDDLG_FIXEDKEYS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,122,33,111,8
- CONTROL "Lock X",IDC_AIDDLG_LOCKX,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,122,46,111,8
- CONTROL "Lock Y",IDC_AIDDLG_LOCKY,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,122,59,111,8
- CONTROL "Lock Z",IDC_AIDDLG_LOCKZ,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,122,72,111,8
-END
-
-IDD_PREFDETAIL DIALOG DISCARDABLE 0, 0, 240, 114
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+ CONTROL "Don't allow relative snap",IDC_AIDDLG_GLOBAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,7,111,8
+ CONTROL "Switch to move after inserting",IDC_AIDDLG_MOVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,20,111,8
+ CONTROL "Fixed direction keys",IDC_AIDDLG_FIXEDKEYS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,33,111,8
+ CONTROL "Lock X",IDC_AIDDLG_LOCKX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,46,111,8
+ CONTROL "Lock Y",IDC_AIDDLG_LOCKY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,59,111,8
+ CONTROL "Lock Z",IDC_AIDDLG_LOCKZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,72,111,8
+END
+
+IDD_PREFDETAIL DIALOG 0, 0, 240, 114
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Details"
FONT 8, "MS Sans Serif"
BEGIN
- CONTROL "Draw edges",IDC_DETDLG_EDGES,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,7,97,8
- CONTROL "Dithering",IDC_DETDLG_DITHER,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,20,97,8
- CONTROL "Lighting",IDC_DETDLG_LIGHTING,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,33,97,8
- CONTROL "Smooth shading",IDC_DETDLG_SMOOTH,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,46,97,8
- CONTROL "Anti-aliasing",IDC_DETDLG_ANTIALIAS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,59,97,8
- CONTROL "Linear filtering",IDC_DETDLG_LINEAR,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,72,97,8
- CONTROL "Fast rendering",IDC_DETDLG_FAST,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,120,7,96,8
- CONTROL "Draw solid boxes",IDC_DETDLG_SOLID,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,120,20,96,8
- CONTROL "Remove hidden lines",IDC_DETDLG_HIDDEN,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,120,33,96,8
- CONTROL "Background rendering",IDC_DETDLG_BACKGROUND,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,120,46,96,8
+ CONTROL "Draw edges",IDC_DETDLG_EDGES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,97,8
+ CONTROL "Dithering",IDC_DETDLG_DITHER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,20,97,8
+ CONTROL "Lighting",IDC_DETDLG_LIGHTING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,33,97,8
+ CONTROL "Smooth shading",IDC_DETDLG_SMOOTH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,46,97,8
+ CONTROL "Anti-aliasing",IDC_DETDLG_ANTIALIAS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,59,97,8
+ CONTROL "Linear filtering",IDC_DETDLG_LINEAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,72,97,8
+ CONTROL "Fast rendering",IDC_DETDLG_FAST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,7,96,8
+ CONTROL "Draw solid boxes",IDC_DETDLG_SOLID,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,20,96,8
+ CONTROL "Remove hidden lines",IDC_DETDLG_HIDDEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,33,96,8
+ CONTROL "Background rendering",IDC_DETDLG_BACKGROUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,46,96,8
LTEXT "Line width",IDC_STATIC,119,63,34,8
EDITTEXT IDC_DETDLG_LINE,157,62,20,10,ES_AUTOHSCROLL
END
-IDD_PREFSCENE DIALOG DISCARDABLE 0, 0, 240, 114
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PREFSCENE DIALOG 0, 0, 240, 114
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Scene"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "Background",IDC_STATIC,7,7,140,99
- CONTROL "Solid Color",IDC_SCNDLG_SOLID,"Button",
- BS_AUTORADIOBUTTON | WS_GROUP,18,20,49,8
- CONTROL "Gradient",IDC_SCNDLG_GRADIENT,"Button",
- BS_AUTORADIOBUTTON,18,36,42,8
- CONTROL "Image",IDC_SCNDLG_IMAGE,"Button",BS_AUTORADIOBUTTON,18,
- 52,42,8
+ CONTROL "Solid Color",IDC_SCNDLG_SOLID,"Button",BS_AUTORADIOBUTTON | WS_GROUP,18,20,49,8
+ CONTROL "Gradient",IDC_SCNDLG_GRADIENT,"Button",BS_AUTORADIOBUTTON,18,36,42,8
+ CONTROL "Image",IDC_SCNDLG_IMAGE,"Button",BS_AUTORADIOBUTTON,18,52,42,8
PUSHBUTTON "",IDC_SCNDLG_BGCOLOR,71,17,20,12,BS_BITMAP
PUSHBUTTON "",IDC_SCNDLG_GRAD1,71,34,20,12,BS_BITMAP
PUSHBUTTON "",IDC_SCNDLG_GRAD2,98,34,20,12,BS_BITMAP
- CONTROL "Tile",IDC_SCNDLG_BGTILE,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,25,68,27,8
+ CONTROL "Tile",IDC_SCNDLG_BGTILE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,68,27,8
EDITTEXT IDC_SCNDLG_BGIMAGE,24,84,107,10,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SCNDLG_BGIMAGE_BROWSE,134,84,8,10
GROUPBOX "Environment",IDC_STATIC,156,7,77,99
- CONTROL "Fog",IDC_SCNDLG_FOG,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,164,20,27,8
+ CONTROL "Fog",IDC_SCNDLG_FOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,164,20,27,8
PUSHBUTTON "",IDC_SCNDLG_FOGCOLOR,203,18,20,12,BS_BITMAP
LTEXT "Density",IDC_STATIC,173,36,25,8
EDITTEXT IDC_SCNDLG_FOGDENSITY,203,35,20,10,ES_AUTOHSCROLL
LTEXT "Ambient light",IDC_STATIC,160,53,42,8
PUSHBUTTON "",IDC_SCNDLG_AMBIENTLIGHT,203,51,20,12,BS_BITMAP
- CONTROL "Draw Floor",IDC_SCNDLG_TERRAIN,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,164,75,62,8
+ CONTROL "Draw Floor",IDC_SCNDLG_TERRAIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,164,75,62,8
END
-IDD_PREFPRINT DIALOG DISCARDABLE 0, 0, 240, 114
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PREFPRINT DIALOG 0, 0, 240, 114
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Print"
FONT 8, "MS Sans Serif"
BEGIN
@@ -1095,10 +942,8 @@ BEGIN
LTEXT "Footer",IDC_STATIC,74,36,24,8
EDITTEXT IDC_PRNDLG_FOOTER,100,35,67,10,ES_AUTOHSCROLL
PUSHBUTTON "",IDC_PRNDLG_FOOTERBTN,169,35,8,10,BS_BITMAP
- CONTROL "Numbers",IDC_PRNDLG_NUMBERS,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,187,19,40,8
- CONTROL "Border",IDC_PRNDLG_BORDER,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,187,36,40,8
+ CONTROL "Numbers",IDC_PRNDLG_NUMBERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,19,40,8
+ CONTROL "Border",IDC_PRNDLG_BORDER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,36,40,8
GROUPBOX "Instructions",IDC_STATIC,7,7,226,47
GROUPBOX "Catalog",IDC_STATIC,7,59,77,47
LTEXT "Rows",IDC_STATIC,16,71,27,8
@@ -1117,22 +962,20 @@ BEGIN
END
IDD_OPENDLG_TEMPLATE DIALOGEX 0, 0, 77, 99
-STYLE DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
+STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
- CONTROL "",IDC_OPENDLG_PREVIEW,"Static",SS_BITMAP,2,34,17,15,
- WS_EX_CLIENTEDGE
+ CONTROL "",IDC_OPENDLG_PREVIEW,"Static",SS_BITMAP,2,34,17,15,WS_EX_CLIENTEDGE
LTEXT "stc32",stc32,0,0,1,99,NOT WS_VISIBLE
CTEXT "Preview",IDC_OPENDLG_TEXT,2,20,60,8
END
-IDD_MODIFY DIALOG DISCARDABLE 0, 0, 106, 92
-STYLE WS_CHILD
+IDD_MODIFY DIALOG 0, 0, 106, 92
+STYLE DS_SETFONT | WS_CHILD
FONT 8, "MS Sans Serif"
BEGIN
PUSHBUTTON "",IDC_MODDLG_PIECE,4,4,12,12,BS_BITMAP
- COMBOBOX IDC_MODDLG_LIST,22,4,80,63,CBS_DROPDOWN |
- CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+ COMBOBOX IDC_MODDLG_LIST,22,4,80,63,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Position",IDC_STATIC,4,21,24,8
EDITTEXT IDC_MODDLG_POSX,34,20,20,10,ES_AUTOHSCROLL
EDITTEXT IDC_MODDLG_POSY,58,20,20,10,ES_AUTOHSCROLL
@@ -1148,11 +991,9 @@ BEGIN
EDITTEXT IDC_MODDLG_FROM,34,48,20,10,ES_AUTOHSCROLL
LTEXT "to",IDC_MODDLG_STEPTO,59,49,20,8
EDITTEXT IDC_MODDLG_TO,82,48,20,10,ES_AUTOHSCROLL
- CONTROL "Hidden",IDC_MODDLG_HIDDEN,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,4,64,34,8
+ CONTROL "Hidden",IDC_MODDLG_HIDDEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,64,34,8
LTEXT "FOV",IDC_MODDLG_FOVSTATIC,59,63,20,8,NOT WS_VISIBLE
- EDITTEXT IDC_MODDLG_FOV,82,62,20,10,ES_AUTOHSCROLL | NOT
- WS_VISIBLE
+ EDITTEXT IDC_MODDLG_FOV,82,62,20,10,ES_AUTOHSCROLL | NOT WS_VISIBLE
PUSHBUTTON "",IDC_MODDLG_COLOR,80,61,22,12
PUSHBUTTON "Apply",IDC_MODDLG_APPLY,4,76,30,12
EDITTEXT IDC_MODDLG_NEAR,58,76,20,10,ES_AUTOHSCROLL
@@ -1160,16 +1001,14 @@ BEGIN
LTEXT "Clip",IDC_MODDLG_PLANESSTATIC,40,77,15,8
END
-IDD_IMAGE DIALOG DISCARDABLE 0, 0, 212, 155
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_IMAGE DIALOG 0, 0, 212, 155
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Image Options"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "Pictures",IDC_STATIC,7,7,104,56
- CONTROL "Single",IDC_IMGDLG_SINGLE,"Button",BS_AUTORADIOBUTTON |
- WS_GROUP,18,21,35,8
- CONTROL "Multiple",IDC_IMGDLG_MULTIPLE,"Button",
- BS_AUTORADIOBUTTON,18,33,35,8
+ CONTROL "Single",IDC_IMGDLG_SINGLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,18,21,35,8
+ CONTROL "Multiple",IDC_IMGDLG_MULTIPLE,"Button",BS_AUTORADIOBUTTON,18,33,35,8
LTEXT "From",IDC_STATIC,27,45,19,8
EDITTEXT IDC_IMGDLG_FROM,46,44,20,10,ES_AUTOHSCROLL
LTEXT "To",IDC_STATIC,70,45,12,8
@@ -1180,22 +1019,14 @@ BEGIN
LTEXT "Height",IDC_STATIC,18,104,24,8
EDITTEXT IDC_IMGDLG_HEIGHT,49,103,20,10,ES_AUTOHSCROLL
GROUPBOX "Format",IDC_STATIC,124,7,81,141
- CONTROL "Bitmap",IDC_IMGDLG_BMP,"Button",BS_AUTORADIOBUTTON |
- WS_GROUP,135,21,41,8
- CONTROL "GIF",IDC_IMGDLG_GIF,"Button",BS_AUTORADIOBUTTON,135,45,
- 41,8
- CONTROL "JPEG",IDC_IMGDLG_JPG,"Button",BS_AUTORADIOBUTTON,135,69,
- 41,8
- CONTROL "PNG",IDC_IMGDLG_PNG,"Button",BS_AUTORADIOBUTTON,135,104,
- 41,8
- CONTROL "AVI",IDC_IMGDLG_AVI,"Button",BS_AUTORADIOBUTTON,135,117,
- 41,8
- CONTROL "High color",IDC_IMGDLG_HIGHCOLOR,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,144,33,49,8
- CONTROL "Transparent",IDC_IMGDLG_TRANSPARENT,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,144,57,50,8
- CONTROL "Progressive",IDC_IMGDLG_PROGRESSIVE,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,144,81,47,8
+ CONTROL "Bitmap",IDC_IMGDLG_BMP,"Button",BS_AUTORADIOBUTTON | WS_GROUP,135,21,41,8
+ CONTROL "GIF",IDC_IMGDLG_GIF,"Button",BS_AUTORADIOBUTTON,135,45,41,8
+ CONTROL "JPEG",IDC_IMGDLG_JPG,"Button",BS_AUTORADIOBUTTON,135,69,41,8
+ CONTROL "PNG",IDC_IMGDLG_PNG,"Button",BS_AUTORADIOBUTTON,135,104,41,8
+ CONTROL "AVI",IDC_IMGDLG_AVI,"Button",BS_AUTORADIOBUTTON,135,117,41,8
+ CONTROL "High color",IDC_IMGDLG_HIGHCOLOR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,144,33,49,8
+ CONTROL "Transparent",IDC_IMGDLG_TRANSPARENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,144,57,50,8
+ CONTROL "Progressive",IDC_IMGDLG_PROGRESSIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,144,81,47,8
LTEXT "Quality",IDC_STATIC,144,93,26,9
EDITTEXT IDC_IMGDLG_QUALITY,172,92,20,10,ES_AUTOHSCROLL
LTEXT "Pause",IDC_STATIC,144,129,26,9
@@ -1204,65 +1035,55 @@ BEGIN
PUSHBUTTON "Cancel",IDCANCEL,62,134,41,14
END
-IDD_SAVEDLG_TEMPLATE DIALOG DISCARDABLE 0, 0, 280, 22
-STYLE DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
+IDD_SAVEDLG_TEMPLATE DIALOG 0, 0, 280, 22
+STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "stc32",stc32,0,0,280,8,NOT WS_VISIBLE
- CONTROL "Save Preview",IDC_SAVEDLG_PREVIEW,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,97,10,64,8
+ CONTROL "Save Preview",IDC_SAVEDLG_PREVIEW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,97,10,64,8
END
IDD_EXPORTPOV DIALOGEX 0, 0, 195, 99
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_CONTEXTHELP
CAPTION "POV-Ray Export "
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
- EDITTEXT IDC_POVDLG_OUTPOV,13,75,97,10,ES_AUTOHSCROLL,0,
- HIDC_POVDLG_OUTPOV
+ EDITTEXT IDC_POVDLG_OUTPOV,13,75,97,10,ES_AUTOHSCROLL,0,HIDC_POVDLG_OUTPOV
PUSHBUTTON "...",IDC_POVDLG_POVOUTBROWSE,115,75,8,10
- CONTROL "Render Scene",IDC_POVDLG_RENDER,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,133,54,58,8,0,
- HIDC_POVDLG_RENDER
+ CONTROL "Render Scene",IDC_POVDLG_RENDER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,133,54,58,8,0,HIDC_POVDLG_RENDER
DEFPUSHBUTTON "OK",IDOK,138,13,50,14
PUSHBUTTON "Cancel",IDCANCEL,138,30,50,14
LTEXT "LGEO Path",IDC_STATIC,13,9,66,8
- EDITTEXT IDC_POVDLG_LGEO,13,19,97,10,ES_AUTOHSCROLL,0,
- HIDC_POVDLG_LGEO
+ EDITTEXT IDC_POVDLG_LGEO,13,19,97,10,ES_AUTOHSCROLL,0,HIDC_POVDLG_LGEO
PUSHBUTTON "...",IDC_POVDLG_LGEOBROWSE,115,19,8,10
LTEXT "POV-Ray Executable",IDC_STATIC,13,37,66,8
- EDITTEXT IDC_POVDLG_POVRAY,13,47,97,10,ES_AUTOHSCROLL,0,
- HIDC_POVDLG_POVRAY
+ EDITTEXT IDC_POVDLG_POVRAY,13,47,97,10,ES_AUTOHSCROLL,0,HIDC_POVDLG_POVRAY
PUSHBUTTON "...",IDC_POVDLG_POVBROWSE,115,47,8,10
LTEXT "Output File",IDC_STATIC,13,65,66,8
END
-IDD_SAVEPICTUREDLG_TEMPLATE DIALOG DISCARDABLE 0, 0, 280, 27
-STYLE DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
+IDD_SAVEPICTUREDLG_TEMPLATE DIALOG 0, 0, 280, 27
+STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "stc32",stc32,0,0,280,8,NOT WS_VISIBLE
PUSHBUTTON "Options...",IDC_SAVEPICTURE_OPTIONS,222,8,50,14
END
-IDD_PIECEEDITOR DIALOG DISCARDABLE 0, 0, 270, 186
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_PIECEEDITOR DIALOG 0, 0, 270, 186
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Piece Editor"
MENU IDR_PIECEEDITOR
FONT 8, "MS Sans Serif"
BEGIN
- LTEXT "",IDC_EDITORSTATIC,7,7,120,148,NOT WS_VISIBLE |
- WS_BORDER
- CONTROL "List1",IDC_EDTDLG_LIST,"SysListView32",LVS_REPORT |
- WS_BORDER | WS_TABSTOP,144,7,119,80
+ LTEXT "",IDC_EDITORSTATIC,7,7,120,148,NOT WS_VISIBLE | WS_BORDER
+ CONTROL "List1",IDC_EDTDLG_LIST,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,144,7,119,80
PUSHBUTTON "Add",ID_EDITOR_ADD,144,89,28,11
PUSHBUTTON "Delete",IDC_BUTTON2,174,89,28,11
EDITTEXT IDC_EDTDLG_CONNECTION,144,116,119,12,ES_AUTOHSCROLL
- CONTROL "Slider1",IDC_EDTDLG_VERT,"msctls_trackbar32",TBS_VERT |
- TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,128,7,10,148
- CONTROL "Slider2",IDC_EDTDLG_HORZ,"msctls_trackbar32",TBS_BOTH |
- TBS_NOTICKS | WS_TABSTOP,7,157,120,10
+ CONTROL "Slider1",IDC_EDTDLG_VERT,"msctls_trackbar32",TBS_VERT | TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,128,7,10,148
+ CONTROL "Slider2",IDC_EDTDLG_HORZ,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,7,157,120,10
LTEXT "Connection",IDC_STATIC,144,106,50,8
DEFPUSHBUTTON "Ok",IDOK,206,168,28,11,NOT WS_VISIBLE
PUSHBUTTON "Cancel",IDCANCEL,235,168,28,11,NOT WS_VISIBLE
@@ -1274,33 +1095,29 @@ BEGIN
PUSHBUTTON "->",ID_EDITOR_NEXT,85,168,28,11
END
-IDD_LIBRARY DIALOG DISCARDABLE 0, 0, 300, 200
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_LIBRARY DIALOG 0, 0, 300, 200
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Pieces Library Manager"
MENU IDR_LIBRARY
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,90,152,16,10,NOT WS_VISIBLE
PUSHBUTTON "Cancel",IDCANCEL,87,164,27,10,NOT WS_VISIBLE
- CONTROL "Tree1",IDC_LIBDLG_TREE,"SysTreeView32",TVS_HASLINES |
- TVS_EDITLABELS | WS_BORDER | WS_TABSTOP,7,7,89,186
- CONTROL "List1",IDC_LIBDLG_LIST,"SysListView32",LVS_REPORT |
- LVS_SORTASCENDING | LVS_AUTOARRANGE | WS_BORDER |
- WS_TABSTOP,102,7,191,186
+ CONTROL "Tree1",IDC_LIBDLG_TREE,"SysTreeView32",TVS_HASLINES | TVS_EDITLABELS | WS_BORDER | WS_TABSTOP,7,7,89,186
+ CONTROL "List1",IDC_LIBDLG_LIST,"SysListView32",LVS_REPORT | LVS_SORTASCENDING | LVS_AUTOARRANGE | WS_BORDER | WS_TABSTOP,102,7,191,186
END
-IDD_TERRAIN DIALOG DISCARDABLE 0, 0, 320, 201
-STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
+IDD_TERRAIN DIALOG 0, 0, 320, 201
+STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
CAPTION "Terrain Editor"
MENU IDR_TERRAIN
FONT 8, "MS Sans Serif"
BEGIN
- CONTROL "Terrain Grid",IDC_GRID,"TerrainCtrl",WS_BORDER |
- WS_TABSTOP,7,7,145,187
+ CONTROL "Terrain Grid",IDC_GRID,"TerrainCtrl",WS_BORDER | WS_TABSTOP,7,7,145,187
END
-IDD_TERRAIN_OPTIONS DIALOG DISCARDABLE 0, 0, 234, 126
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_TERRAIN_OPTIONS DIALOG 0, 0, 234, 126
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Terrain Options"
FONT 8, "MS Sans Serif"
BEGIN
@@ -1316,57 +1133,48 @@ BEGIN
GROUPBOX "Appearence",IDC_STATIC,106,7,121,112
LTEXT "Color",IDC_STATIC,115,22,26,8
PUSHBUTTON "",IDC_TEROPT_COLOR,144,20,20,12,BS_BITMAP
- CONTROL "Texture",IDC_TEROPT_TEXTURE,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,112,40,39,8
+ CONTROL "Texture",IDC_TEROPT_TEXTURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,112,40,39,8
EDITTEXT IDC_TEROPT_TEXTURENAME,123,52,90,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_TEROPT_TEXTUREBROWSE,215,52,8,12
DEFPUSHBUTTON "OK",IDOK,7,105,41,14
PUSHBUTTON "Cancel",IDCANCEL,50,105,41,14
- CONTROL "Smooth",IDC_TEROPT_SMOOTH,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,178,22,37,8
+ CONTROL "Smooth",IDC_TEROPT_SMOOTH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,178,22,37,8
EDITTEXT IDC_EDIT1,151,72,20,12,ES_AUTOHSCROLL | WS_DISABLED
LTEXT "Repeat",IDC_STATIC,115,74,28,8,WS_DISABLED
- CONTROL "Flat",IDC_TEROPT_FLAT,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,24,79,47,8
+ CONTROL "Flat",IDC_TEROPT_FLAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,79,47,8
EDITTEXT IDC_EDIT2,178,72,20,12,ES_AUTOHSCROLL | WS_DISABLED
END
-IDD_EDIT_GROUPS DIALOG DISCARDABLE 0, 0, 193, 157
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_EDIT_GROUPS DIALOG 0, 0, 193, 157
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Edit Groups"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,98,136,41,14
PUSHBUTTON "Cancel",IDCANCEL,145,136,41,14
- CONTROL "Tree1",IDC_TREE,"SysTreeView32",TVS_HASBUTTONS |
- TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS |
- WS_BORDER | WS_TABSTOP,7,7,179,122
+ CONTROL "Tree1",IDC_TREE,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS | WS_BORDER | WS_TABSTOP,7,7,179,122
PUSHBUTTON "New",IDC_EDITGRP_NEWGROUP,7,136,41,14
END
-IDD_LIBRARY_TEXTURES DIALOG DISCARDABLE 0, 0, 226, 201
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_LIBRARY_TEXTURES DIALOG 0, 0, 226, 201
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "LeoCAD Pieces Library Textures"
FONT 8, "MS Sans Serif"
BEGIN
- LISTBOX ID_LIBTEX_LIST,7,7,152,187,LBS_SORT |
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL |
- WS_TABSTOP
+ LISTBOX ID_LIBTEX_LIST,7,7,152,187,LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP
DEFPUSHBUTTON "Close",IDOK,169,7,50,14
PUSHBUTTON "Add...",ID_LIBTEX_ADD,169,24,50,14
PUSHBUTTON "Remove",ID_LIBTEX_REMOVE,169,41,50,14
END
-IDD_PREFKEYBOARD DIALOG DISCARDABLE 0, 0, 246, 132
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
+IDD_PREFKEYBOARD DIALOG 0, 0, 246, 132
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Keyboard"
FONT 8, "MS Sans Serif"
BEGIN
- LISTBOX IDC_KEYDLG_CMDLIST,7,7,85,113,LBS_NOINTEGRALHEIGHT |
- WS_VSCROLL | WS_TABSTOP
+ LISTBOX IDC_KEYDLG_CMDLIST,7,7,85,113,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
LTEXT "Current shortcuts:",IDC_STATIC,100,7,82,8
- COMBOBOX IDC_KEYDLG_COMBO,100,19,90,40,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
+ COMBOBOX IDC_KEYDLG_COMBO,100,19,90,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Remove",IDC_KEYDLG_REMOVE,197,18,42,14,WS_DISABLED
LTEXT "Press new shortcut:",IDC_STATIC,100,35,59,9
EDITTEXT IDC_KEYDLG_KEYEDIT,100,47,90,12,ES_AUTOHSCROLL
@@ -1378,8 +1186,8 @@ BEGIN
LTEXT "Shortcuts File:",IDC_STATIC,100,76,139,8
END
-IDD_TRANSFORM DIALOG DISCARDABLE 0, 0, 249, 84
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_TRANSFORM DIALOG 0, 0, 249, 84
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Transform"
FONT 8, "MS Sans Serif"
BEGIN
@@ -1401,22 +1209,20 @@ BEGIN
GROUPBOX "Offset",IDC_STATIC,105,7,80,68
END
-IDD_CATEGORY DIALOG DISCARDABLE 0, 0, 205, 67
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_CATEGORY DIALOG 0, 0, 205, 67
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Category"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "Name",IDC_STATIC,7,9,26,8
EDITTEXT IDC_CATDLG_NAME,45,7,100,12,ES_AUTOHSCROLL
LTEXT "Keywords",IDC_STATIC,7,26,33,8
- EDITTEXT IDC_CATDLG_KEYWORDS,45,24,100,36,ES_MULTILINE |
- ES_AUTOVSCROLL
+ EDITTEXT IDC_CATDLG_KEYWORDS,45,24,100,36,ES_MULTILINE | ES_AUTOVSCROLL
DEFPUSHBUTTON "OK",IDOK,157,7,41,14
PUSHBUTTON "Cancel",IDCANCEL,157,26,41,14
END
-#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
@@ -1439,18 +1245,14 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "Comments", "\0"
- VALUE "CompanyName", "BT Software\0"
- VALUE "FileDescription", "LeoCAD\0"
- VALUE "FileVersion", "1, 0, 0, 1\0"
- VALUE "InternalName", "LeoCAD\0"
- VALUE "LegalCopyright", "Copyright © 1996-2002, BT Software\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "LEOCAD.EXE\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "LeoCAD Application\0"
- VALUE "ProductVersion", "1, 0, 0, 1\0"
- VALUE "SpecialBuild", "\0"
+ VALUE "CompanyName", "BT Software"
+ VALUE "FileDescription", "LeoCAD"
+ VALUE "FileVersion", "1, 0, 0, 1"
+ VALUE "InternalName", "LeoCAD"
+ VALUE "LegalCopyright", "Copyright © 1996-2002, BT Software"
+ VALUE "OriginalFilename", "LEOCAD.EXE"
+ VALUE "ProductName", "LeoCAD Application"
+ VALUE "ProductVersion", "1, 0, 0, 1"
END
END
BLOCK "VarFileInfo"
@@ -1459,8 +1261,6 @@ BEGIN
END
END
-#endif // !_MAC
-
/////////////////////////////////////////////////////////////////////////////
//
@@ -1468,7 +1268,7 @@ END
//
#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
+GUIDELINES DESIGNINFO
BEGIN
IDD_ABOUTBOX, DIALOG
BEGIN
@@ -1702,40 +1502,40 @@ END
// Cursor
//
-IDC_VSPLITBAR CURSOR DISCARDABLE "res\\split.cur"
-IDC_ZOOM CURSOR DISCARDABLE "res\\Zoom.cur"
-IDC_BRICK CURSOR DISCARDABLE "res\\Brick.cur"
-IDC_CAMERA CURSOR DISCARDABLE "res\\Camera.cur"
-IDC_ERASER CURSOR DISCARDABLE "res\\Eraser.cur"
-IDC_SPOTLIGHT CURSOR DISCARDABLE "res\\Light.cur"
-IDC_MOVE CURSOR DISCARDABLE "res\\Move.cur"
-IDC_PAINT CURSOR DISCARDABLE "res\\Paint.cur"
-IDC_PAN CURSOR DISCARDABLE "res\\Pan.cur"
-IDC_ANGLE CURSOR DISCARDABLE "res\\Angle.cur"
-IDC_ROTATE CURSOR DISCARDABLE "res\\Rotate.cur"
-IDC_LIGHT CURSOR DISCARDABLE "res\\bulb.cur"
-IDC_ZOOM_REGION CURSOR DISCARDABLE "res\\Zoomrect.cur"
-IDC_SELECT_GROUP CURSOR DISCARDABLE "res\\SelctGrp.cur"
-IDC_SELECT CURSOR DISCARDABLE "res\\select.cur"
-IDC_ROLL CURSOR DISCARDABLE "res\\roll.cur"
-IDC_PAN_UP CURSOR DISCARDABLE "res\\panup.cur"
-IDC_PAN_LEFT CURSOR DISCARDABLE "res\\panleft.cur"
-IDC_PAN_DOWN CURSOR DISCARDABLE "res\\pandown.cur"
-IDC_PAN_RIGHT CURSOR DISCARDABLE "res\\panright.cur"
-IDC_PAN_ALL CURSOR DISCARDABLE "res\\panall.cur"
-IDC_PAN_NE CURSOR DISCARDABLE "res\\pan_ne.cur"
-IDC_PAN_NW CURSOR DISCARDABLE "res\\pan_nw.cur"
-IDC_PAN_SE CURSOR DISCARDABLE "res\\pan_se.cur"
-IDC_PAN_SW CURSOR DISCARDABLE "res\\pan_sw.cur"
-IDC_ROTX CURSOR DISCARDABLE "res\\rotx.cur"
-IDC_ROTY CURSOR DISCARDABLE "res\\roty.cur"
+IDC_VSPLITBAR CURSOR "res\\split.cur"
+IDC_ZOOM CURSOR "res\\Zoom.cur"
+IDC_BRICK CURSOR "res\\Brick.cur"
+IDC_CAMERA CURSOR "res\\Camera.cur"
+IDC_ERASER CURSOR "res\\Eraser.cur"
+IDC_SPOTLIGHT CURSOR "res\\Light.cur"
+IDC_MOVE CURSOR "res\\Move.cur"
+IDC_PAINT CURSOR "res\\Paint.cur"
+IDC_PAN CURSOR "res\\Pan.cur"
+IDC_ANGLE CURSOR "res\\Angle.cur"
+IDC_ROTATE CURSOR "res\\Rotate.cur"
+IDC_LIGHT CURSOR "res\\bulb.cur"
+IDC_ZOOM_REGION CURSOR "res\\Zoomrect.cur"
+IDC_SELECT_GROUP CURSOR "res\\SelctGrp.cur"
+IDC_SELECT CURSOR "res\\select.cur"
+IDC_ROLL CURSOR "res\\roll.cur"
+IDC_PAN_UP CURSOR "res\\panup.cur"
+IDC_PAN_LEFT CURSOR "res\\panleft.cur"
+IDC_PAN_DOWN CURSOR "res\\pandown.cur"
+IDC_PAN_RIGHT CURSOR "res\\panright.cur"
+IDC_PAN_ALL CURSOR "res\\panall.cur"
+IDC_PAN_NE CURSOR "res\\pan_ne.cur"
+IDC_PAN_NW CURSOR "res\\pan_nw.cur"
+IDC_PAN_SE CURSOR "res\\pan_se.cur"
+IDC_PAN_SW CURSOR "res\\pan_sw.cur"
+IDC_ROTX CURSOR "res\\rotx.cur"
+IDC_ROTY CURSOR "res\\roty.cur"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_INDICATOR_POSITION " X: 0.00 Y: 0.00 Z:0.00 "
ID_INDICATOR_STEP " Step 100 "
@@ -1749,19 +1549,19 @@ BEGIN
IDS_CANNOT_OPEN_CLIPBOARD "Failed to open Clipboard!"
END
-STRINGTABLE PRELOAD DISCARDABLE
+STRINGTABLE
BEGIN
IDR_MAINFRAME "LeoCAD\n\nLeoCAD\nLeoCAD Files (*.lcd)\n.lcd\nLeoCAD.Project\nLeoCAD Project"
END
-STRINGTABLE PRELOAD DISCARDABLE
+STRINGTABLE
BEGIN
AFX_IDS_APP_TITLE "LeoCAD"
AFX_IDS_IDLEMESSAGE "For Help, press F1"
AFX_IDS_HELPMODEMESSAGE "Select an object on which to get Help"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_FILE_NEW "Create a new project\nNew"
ID_FILE_OPEN "Open an existing project\nOpen"
@@ -1777,7 +1577,7 @@ BEGIN
ID_FILE_SEND_MAIL "Send the active project through electronic mail\nSend Mail"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_APP_ABOUT "Display program information, version number and copyright\nAbout"
ID_APP_EXIT "Quit the application; prompts to save documents\nExit"
@@ -1788,7 +1588,7 @@ BEGIN
ID_HELP "Display help for current task or command\nHelp"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_FILE_MRU_FILE1 "Open this document"
ID_FILE_MRU_FILE2 "Open this document"
@@ -1796,12 +1596,12 @@ BEGIN
ID_FILE_MRU_FILE4 "Open this document"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_WINDOW_SPLIT "Split the active window into panes\nSplit"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_EDIT_CLEAR "Erase the selection\nErase"
ID_EDIT_CLEAR_ALL "Erase everything\nErase All"
@@ -1816,13 +1616,13 @@ BEGIN
ID_EDIT_REDO "Redo the previously undone action\nRedo"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_VIEW_TOOLBAR "Show or hide the standard toolbar\nToggle ToolBar"
ID_VIEW_STATUS_BAR "Show or hide the status bar\nToggle StatusBar"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
AFX_IDS_SCSIZE "Change the window size"
AFX_IDS_SCMOVE "Change the window position"
@@ -1831,18 +1631,18 @@ BEGIN
AFX_IDS_SCCLOSE "Close the active window and prompts to save the documents"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
AFX_IDS_SCRESTORE "Restore the window to normal size"
AFX_IDS_SCTASKLIST "Activate Task List"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
AFX_IDS_PREVIEW_CLOSE "Close print preview mode\nCancel Preview"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_SNAP_ON "3D snap toggle\n3D Snap Toggle"
ID_SNAP_ANGLE "Angle snap toggle\nAngle Snap Toggle"
@@ -1854,7 +1654,7 @@ BEGIN
ID_VIEWPORT05 "View"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_VIEWPORT06 "View"
ID_VIEWPORT07 "View"
@@ -1868,7 +1668,7 @@ BEGIN
ID_PIECE_GROUP01 "Plates"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_SNAP_SNAPX "Snap X Toggle"
ID_SNAP_SNAPY "Snap Y Toggle"
@@ -1878,7 +1678,7 @@ BEGIN
ID_FILE_SAVEPICTURE "Save a picture"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
IDS_COLOR01 "Red"
IDS_COLOR02 "Orange"
@@ -1898,7 +1698,7 @@ BEGIN
IDS_COLOR16 "Clear Orange"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
IDS_COLOR17 "Clear Green"
IDS_COLOR18 "Clear Light Green"
@@ -1914,7 +1714,7 @@ BEGIN
IDS_COLOR28 "Silver"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_PIECE_GROUP02 "Bricks"
ID_PIECE_GROUP03 "Tiles"
@@ -1934,7 +1734,7 @@ BEGIN
ID_PIECE_GROUP17 "Group 17"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_PIECE_GROUP18 "Group 18"
ID_PIECE_GROUP19 "Group 19"
@@ -1953,7 +1753,7 @@ BEGIN
ID_PIECE_GROUP32 "Group 32"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_RENDER_BACKGROUND "Fully renders the scene in the background\nBackground Render"
ID_RENDER_BOX "Render pieces as boxes\nFast Rendering"
@@ -1966,7 +1766,7 @@ BEGIN
ID_ANIMATOR_KEY "Add new animation keys\nAdd Keys"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
IDS_CANNOT_GET_CLIPBOARD_DATA "Failed to get Clipboard data!"
IDS_CANCEL_PROMPT "Are you sure you want to stop ?"
@@ -1975,14 +1775,14 @@ BEGIN
IDS_OPENFILE_ERROR "Cannot open file !"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_PIECE_ARRAY "Make copies of the selected pieces\nArray"
ID_HELP_LEOCADHOMEPAGE "Go to the LeoCAD Home page on the internet"
ID_HELP_CHECKFORUPDATES "Check for a newer version of the program on the internet"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_EDIT_SELECTALL "Select all objects"
ID_EDIT_SELECTNONE "De-select everything"
@@ -1994,17 +1794,17 @@ BEGIN
ID_VIEW_STEP_PREVIOUS "Go back one step or frame\nGo Back"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
IDR_PARTFRAME "LeoCAD Piece Library Manager"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_HELP_SENDEMAIL "Send an e-mail message to the author of the program"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_VIEW_PIECES_BAR "Show or hide the pieces toolbar\nToggle PiecesBar"
ID_VIEW_TOOLS_BAR "Show or hide the drawing toolbar\nToggle DrawingBar"
@@ -2012,7 +1812,7 @@ BEGIN
ID_VIEW_MODIFY_BAR "Show or hide the modify dialog\nToggle Modify Dialog"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_FILE_EDITPIECELIBRARY "Configure the LeoCAD Pieces Library"
ID_VIEW_ZOOMIN "Zoom In"
@@ -2020,7 +1820,7 @@ BEGIN
ID_PIECE_EDITGROUPS "Edit groups"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_ACTION_PAN "Pan\nPan"
ID_ACTION_ROTATE_VIEW "Rotate view\nRotate View"
@@ -2030,7 +1830,7 @@ BEGIN
ID_ANIMATOR_STOP "Stop playing animation\nStop"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_ACTION_SELECT "Select objects (hold CTRL down or drag the mouse to select multiple objects)\nSelect"
ID_ACTION_INSERT "Add pieces to the project\nInsert"
@@ -2045,12 +1845,12 @@ BEGIN
ID_ACTION_ZOOM_REGION "Zoom region\nZoom Region"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_PIECE_COPYKEYS "Copy position and rotation"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_VIEW_CAMERAS_RESET "Reset cameras to their original positions"
ID_PREVIEW_ONEPAGE "Show only one page\nOne Page"
@@ -2059,7 +1859,7 @@ BEGIN
ID_PREVIEW_PREV "Preview the previous page\nPrevious Page"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_PREVIEW_NEXT "Preview the next page\nNext Page"
ID_PREVIEW_ZOOMIN "Zoom In\nZoom In"
@@ -2077,7 +1877,7 @@ BEGIN
ID_PIECE_MIRROR "Mirror pieces\nMirror"
END
-STRINGTABLE DISCARDABLE
+STRINGTABLE
BEGIN
ID_FILE_IMPORTPIECE "Import a piece from LDraw"
ID_VIEW_NEWVIEW "Creates a new view window"