diff --git a/build/vs2010/Lol.sln b/build/vs2010/Lol.sln index bbc7a86c..5e8247d4 100644 --- a/build/vs2010/Lol.sln +++ b/build/vs2010/Lol.sln @@ -168,6 +168,7 @@ Global {EF1A4E80-63FA-4EB0-B834-12B6C500F31C}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|Any CPU.ActiveCfg = Debug|Win32 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|PS3.ActiveCfg = Debug|PS3 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|PS3.Build.0 = Debug|PS3 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -179,6 +180,7 @@ Global {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|Any CPU.ActiveCfg = Release|Win32 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|Mixed Platforms.Build.0 = Release|Win32 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|PS3.ActiveCfg = Release|PS3 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|PS3.Build.0 = Release|PS3 {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|Win32.ActiveCfg = Release|Win32 @@ -204,6 +206,7 @@ Global {9C66B179-0737-4BDA-AB42-2ADE478A9008}.Release|Xbox 360.ActiveCfg = Release|Xbox 360 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|Any CPU.ActiveCfg = Debug|Win32 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|PS3.ActiveCfg = Debug|PS3 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|PS3.Build.0 = Debug|PS3 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -215,6 +218,7 @@ Global {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|Any CPU.ActiveCfg = Release|Win32 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|Mixed Platforms.Build.0 = Release|Win32 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|PS3.ActiveCfg = Release|PS3 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|PS3.Build.0 = Release|PS3 {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|Win32.ActiveCfg = Release|Win32 @@ -226,6 +230,7 @@ Global {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|Any CPU.ActiveCfg = Debug|Win32 {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|PS3.ActiveCfg = Debug|PS3 {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|PS3.Build.0 = Debug|PS3 {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -237,6 +242,7 @@ Global {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {83D3B207-C601-4025-8F41-01DEDC354661}.Release|Any CPU.ActiveCfg = Release|Win32 {83D3B207-C601-4025-8F41-01DEDC354661}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {83D3B207-C601-4025-8F41-01DEDC354661}.Release|Mixed Platforms.Build.0 = Release|Win32 {83D3B207-C601-4025-8F41-01DEDC354661}.Release|PS3.ActiveCfg = Release|PS3 {83D3B207-C601-4025-8F41-01DEDC354661}.Release|PS3.Build.0 = Release|PS3 {83D3B207-C601-4025-8F41-01DEDC354661}.Release|Win32.ActiveCfg = Release|Win32 @@ -248,6 +254,7 @@ Global {83D3B207-C601-4025-8F41-01DEDC354661}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|Any CPU.ActiveCfg = Debug|Win32 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|PS3.ActiveCfg = Debug|PS3 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|PS3.Build.0 = Debug|PS3 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -259,6 +266,7 @@ Global {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|Any CPU.ActiveCfg = Release|Win32 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|Mixed Platforms.Build.0 = Release|Win32 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|PS3.ActiveCfg = Release|PS3 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|PS3.Build.0 = Release|PS3 {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|Win32.ActiveCfg = Release|Win32 @@ -270,6 +278,7 @@ Global {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|Any CPU.ActiveCfg = Debug|Win32 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|PS3.ActiveCfg = Debug|PS3 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|PS3.Build.0 = Debug|PS3 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -281,6 +290,7 @@ Global {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|Any CPU.ActiveCfg = Release|Win32 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|Mixed Platforms.Build.0 = Release|Win32 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|PS3.ActiveCfg = Release|PS3 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|PS3.Build.0 = Release|PS3 {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|Win32.ActiveCfg = Release|Win32 @@ -292,6 +302,7 @@ Global {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|Any CPU.ActiveCfg = Debug|Win32 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|PS3.ActiveCfg = Debug|PS3 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|PS3.Build.0 = Debug|PS3 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -303,6 +314,7 @@ Global {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Any CPU.ActiveCfg = Release|Win32 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Mixed Platforms.Build.0 = Release|Win32 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Mixed Platforms.Deploy.0 = Release|Win32 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|PS3.ActiveCfg = Release|PS3 {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|PS3.Build.0 = Release|PS3 @@ -315,6 +327,7 @@ Global {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|Any CPU.ActiveCfg = Debug|Win32 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|PS3.ActiveCfg = Debug|PS3 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|PS3.Build.0 = Debug|PS3 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -326,6 +339,7 @@ Global {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|Any CPU.ActiveCfg = Release|Win32 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|Mixed Platforms.Build.0 = Release|Win32 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|PS3.ActiveCfg = Release|PS3 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|PS3.Build.0 = Release|PS3 {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|Win32.ActiveCfg = Release|Win32 @@ -337,6 +351,7 @@ Global {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|Any CPU.ActiveCfg = Debug|Win32 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|PS3.ActiveCfg = Debug|PS3 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|PS3.Build.0 = Debug|PS3 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -348,6 +363,7 @@ Global {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|Any CPU.ActiveCfg = Release|Win32 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|Mixed Platforms.Build.0 = Release|Win32 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|PS3.ActiveCfg = Release|PS3 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|PS3.Build.0 = Release|PS3 {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|Win32.ActiveCfg = Release|Win32 @@ -359,6 +375,7 @@ Global {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|Any CPU.ActiveCfg = Debug|Win32 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|PS3.ActiveCfg = Debug|PS3 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|PS3.Build.0 = Debug|PS3 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -370,6 +387,7 @@ Global {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|Any CPU.ActiveCfg = Release|Win32 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|Mixed Platforms.Build.0 = Release|Win32 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|PS3.ActiveCfg = Release|PS3 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|PS3.Build.0 = Release|PS3 {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|Win32.ActiveCfg = Release|Win32 @@ -381,6 +399,7 @@ Global {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|Any CPU.ActiveCfg = Debug|Win32 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|PS3.ActiveCfg = Debug|PS3 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|PS3.Build.0 = Debug|PS3 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -392,6 +411,7 @@ Global {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|Any CPU.ActiveCfg = Release|Win32 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|Mixed Platforms.Build.0 = Release|Win32 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|PS3.ActiveCfg = Release|PS3 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|PS3.Build.0 = Release|PS3 {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|Win32.ActiveCfg = Release|Win32 @@ -403,6 +423,7 @@ Global {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|Any CPU.ActiveCfg = Debug|Win32 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|PS3.ActiveCfg = Debug|PS3 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|PS3.Build.0 = Debug|PS3 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -414,6 +435,7 @@ Global {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|Any CPU.ActiveCfg = Release|Win32 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|Mixed Platforms.Build.0 = Release|Win32 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|PS3.ActiveCfg = Release|PS3 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|PS3.Build.0 = Release|PS3 {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|Win32.ActiveCfg = Release|Win32 @@ -425,6 +447,7 @@ Global {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Any CPU.ActiveCfg = Debug|Win32 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|PS3.ActiveCfg = Debug|PS3 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Win32.ActiveCfg = Debug|Win32 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Win32.Build.0 = Debug|Win32 @@ -433,6 +456,7 @@ Global {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Xbox 360.ActiveCfg = Debug|Xbox 360 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Any CPU.ActiveCfg = Release|Win32 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Mixed Platforms.Build.0 = Release|Win32 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|PS3.ActiveCfg = Release|PS3 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Win32.ActiveCfg = Release|Win32 {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Win32.Build.0 = Release|Win32 @@ -441,6 +465,7 @@ Global {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Xbox 360.ActiveCfg = Release|Xbox 360 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|Any CPU.ActiveCfg = Debug|Win32 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|PS3.ActiveCfg = Debug|PS3 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|PS3.Build.0 = Debug|PS3 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -452,6 +477,7 @@ Global {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|Any CPU.ActiveCfg = Release|Win32 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|Mixed Platforms.Build.0 = Release|Win32 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|PS3.ActiveCfg = Release|PS3 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|PS3.Build.0 = Release|PS3 {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|Win32.ActiveCfg = Release|Win32 @@ -463,6 +489,7 @@ Global {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|Any CPU.ActiveCfg = Debug|Win32 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|PS3.ActiveCfg = Debug|PS3 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|PS3.Build.0 = Debug|PS3 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -474,6 +501,7 @@ Global {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|Any CPU.ActiveCfg = Release|Win32 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|Mixed Platforms.Build.0 = Release|Win32 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|PS3.ActiveCfg = Release|PS3 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|PS3.Build.0 = Release|PS3 {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|Win32.ActiveCfg = Release|Win32 @@ -485,6 +513,7 @@ Global {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|Any CPU.ActiveCfg = Debug|Win32 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|PS3.ActiveCfg = Debug|PS3 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|PS3.Build.0 = Debug|PS3 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -496,6 +525,7 @@ Global {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|Any CPU.ActiveCfg = Release|Win32 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|Mixed Platforms.Build.0 = Release|Win32 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|PS3.ActiveCfg = Release|PS3 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|PS3.Build.0 = Release|PS3 {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|Win32.ActiveCfg = Release|Win32 @@ -507,6 +537,7 @@ Global {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|Any CPU.ActiveCfg = Debug|Win32 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|PS3.ActiveCfg = Debug|PS3 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|PS3.Build.0 = Debug|PS3 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -518,6 +549,7 @@ Global {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|Any CPU.ActiveCfg = Release|Win32 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|Mixed Platforms.Build.0 = Release|Win32 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|PS3.ActiveCfg = Release|PS3 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|PS3.Build.0 = Release|PS3 {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|Win32.ActiveCfg = Release|Win32 @@ -529,6 +561,7 @@ Global {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|Any CPU.ActiveCfg = Debug|Win32 {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|PS3.ActiveCfg = Debug|PS3 {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|PS3.Build.0 = Debug|PS3 {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -540,6 +573,7 @@ Global {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|Any CPU.ActiveCfg = Release|Win32 {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|Mixed Platforms.Build.0 = Release|Win32 {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|PS3.ActiveCfg = Release|PS3 {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|PS3.Build.0 = Release|PS3 {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|Win32.ActiveCfg = Release|Win32 @@ -551,6 +585,7 @@ Global {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|Any CPU.ActiveCfg = Debug|Win32 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|PS3.ActiveCfg = Debug|PS3 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|PS3.Build.0 = Debug|PS3 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -562,6 +597,7 @@ Global {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|Any CPU.ActiveCfg = Release|Win32 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|Mixed Platforms.Build.0 = Release|Win32 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|PS3.ActiveCfg = Release|PS3 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|PS3.Build.0 = Release|PS3 {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|Win32.ActiveCfg = Release|Win32 @@ -573,6 +609,7 @@ Global {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|Any CPU.ActiveCfg = Debug|Win32 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|PS3.ActiveCfg = Debug|PS3 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|PS3.Build.0 = Debug|PS3 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -584,6 +621,7 @@ Global {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|Xbox 360.Deploy.0 = Debug|Xbox 360 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|Any CPU.ActiveCfg = Release|Win32 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|Mixed Platforms.Build.0 = Release|Win32 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|PS3.ActiveCfg = Release|PS3 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|PS3.Build.0 = Release|PS3 {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|Win32.ActiveCfg = Release|Win32 @@ -636,8 +674,8 @@ Global {834852DB-EDB6-4FD0-BCF9-45CD01126962}.Release|Xbox 360.Build.0 = Release|Xbox 360 {834852DB-EDB6-4FD0-BCF9-45CD01126962}.Release|Xbox 360.Deploy.0 = Release|Xbox 360 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Any CPU.ActiveCfg = Debug|x64 - {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Mixed Platforms.ActiveCfg = Debug|x64 - {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Mixed Platforms.Build.0 = Debug|x64 + {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|PS3.ActiveCfg = Debug|x64 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Win32.ActiveCfg = Debug|Win32 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Win32.Build.0 = Debug|Win32 @@ -645,8 +683,8 @@ Global {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|x64.Build.0 = Debug|x64 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Xbox 360.ActiveCfg = Debug|x64 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Any CPU.ActiveCfg = Release|x64 - {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Mixed Platforms.ActiveCfg = Release|x64 - {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Mixed Platforms.Build.0 = Release|x64 + {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Mixed Platforms.Build.0 = Release|Win32 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|PS3.ActiveCfg = Release|x64 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Win32.ActiveCfg = Release|Win32 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Win32.Build.0 = Release|Win32 @@ -654,8 +692,8 @@ Global {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|x64.Build.0 = Release|x64 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Xbox 360.ActiveCfg = Release|x64 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Any CPU.ActiveCfg = Debug|x64 - {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Mixed Platforms.ActiveCfg = Debug|x64 - {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Mixed Platforms.Build.0 = Debug|x64 + {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|PS3.ActiveCfg = Debug|x64 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Win32.ActiveCfg = Debug|Win32 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Win32.Build.0 = Debug|Win32 @@ -663,8 +701,8 @@ Global {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|x64.Build.0 = Debug|x64 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Xbox 360.ActiveCfg = Debug|x64 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Any CPU.ActiveCfg = Release|x64 - {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Mixed Platforms.ActiveCfg = Release|x64 - {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Mixed Platforms.Build.0 = Release|x64 + {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Mixed Platforms.Build.0 = Release|Win32 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|PS3.ActiveCfg = Release|x64 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Win32.ActiveCfg = Release|Win32 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Win32.Build.0 = Release|Win32 @@ -688,8 +726,8 @@ Global {9C66B179-0737-4BDA-AB42-2ADE478A9008} = {08C6A854-533D-4A1E-924E-C4A62281869F} {EF1A4E80-63FA-4EB0-B834-12B6C500F31C} = {08C6A854-533D-4A1E-924E-C4A62281869F} {17F0F184-4436-4D08-B8AA-16572EA238DB} = {2F87CEAB-4818-443C-A5E3-6C34E7D967EC} - {9E62F2FE-3408-4EAE-8238-FD84238CEEDA} = {1AFD580B-98B8-4689-B661-38C41132C60E} {83D3B207-C601-4025-8F41-01DEDC354661} = {1AFD580B-98B8-4689-B661-38C41132C60E} + {9E62F2FE-3408-4EAE-8238-FD84238CEEDA} = {1AFD580B-98B8-4689-B661-38C41132C60E} {B1E10086-A1DA-401A-834D-969C9DBB5CC1} = {E0491194-35E3-4513-9D31-608EA3165ECF} {80F81C11-8DA2-4990-91CB-9807783BA46E} = {E0491194-35E3-4513-9D31-608EA3165ECF} {EE203B88-44CF-4859-9D42-7A1F43FECB52} = {E0491194-35E3-4513-9D31-608EA3165ECF} diff --git a/src/easymesh/easymesh-parser.y b/src/easymesh/easymesh-parser.y index 6878f1a3..a41c5396 100644 --- a/src/easymesh/easymesh-parser.y +++ b/src/easymesh/easymesh-parser.y @@ -44,9 +44,9 @@ %token T_COLOR T_BGCOLOR -%token T_TRANSLATEX T_ROTATEX T_TAPERX T_SCALEX T_MIRRORX -%token T_TRANSLATEY T_ROTATEY T_TAPERY T_SCALEY T_MIRRORY -%token T_TRANSLATEZ T_ROTATEZ T_TAPERZ T_SCALEZ T_MIRRORZ +%token T_TRANSLATEX T_ROTATEX T_TAPERX T_TWISTX T_SHEARX T_STRETCHX T_BENDXY T_BENDXZ T_SCALEX T_MIRRORX +%token T_TRANSLATEY T_ROTATEY T_TAPERY T_TWISTY T_SHEARY T_STRETCHY T_BENDYX T_BENDYZ T_SCALEY T_MIRRORY +%token T_TRANSLATEZ T_ROTATEZ T_TAPERZ T_TWISTZ T_SHEARZ T_STRETCHZ T_BENDZX T_BENDZY T_SCALEZ T_MIRRORZ %token T_TRANSLATE T_SCALE T_TOGGLESCALEWINDING T_RADIALJITTER %token T_CSGUNION T_CSGSUBSTRACT T_CSGSUBSTRACTLOSS T_CSGAND T_CSGXOR %token T_CHAMFER @@ -126,8 +126,29 @@ transform_command: | T_ROTATEY args1 { mc.m_mesh.RotateY($2.f0); } | T_ROTATEZ args1 { mc.m_mesh.RotateZ($2.f0); } | T_TAPERX args3 { mc.m_mesh.TaperX($2.f0, $2.f1, $2.f2); } + | T_TAPERX args4 { mc.m_mesh.TaperX($2.f0, $2.f1, $2.f2, $2.f3); } | T_TAPERY args3 { mc.m_mesh.TaperY($2.f0, $2.f1, $2.f2); } + | T_TAPERY args4 { mc.m_mesh.TaperY($2.f0, $2.f1, $2.f2, $2.f3); } | T_TAPERZ args3 { mc.m_mesh.TaperZ($2.f0, $2.f1, $2.f2); } + | T_TAPERZ args4 { mc.m_mesh.TaperZ($2.f0, $2.f1, $2.f2, $2.f3); } + | T_TWISTX args2 { mc.m_mesh.TwistX($2.f0, $2.f1); } + | T_TWISTY args2 { mc.m_mesh.TwistY($2.f0, $2.f1); } + | T_TWISTZ args2 { mc.m_mesh.TwistZ($2.f0, $2.f1); } + | T_SHEARX args3 { mc.m_mesh.ShearX($2.f0, $2.f1, $2.f2); } + | T_SHEARX args4 { mc.m_mesh.ShearX($2.f0, $2.f1, $2.f2, $2.f3); } + | T_SHEARY args3 { mc.m_mesh.ShearY($2.f0, $2.f1, $2.f2); } + | T_SHEARY args4 { mc.m_mesh.ShearY($2.f0, $2.f1, $2.f2, $2.f3); } + | T_SHEARZ args3 { mc.m_mesh.ShearZ($2.f0, $2.f1, $2.f2); } + | T_SHEARZ args4 { mc.m_mesh.ShearZ($2.f0, $2.f1, $2.f2, $2.f3); } + | T_STRETCHX args3 { mc.m_mesh.StretchX($2.f0, $2.f1, $2.f2); } + | T_STRETCHY args3 { mc.m_mesh.StretchY($2.f0, $2.f1, $2.f2); } + | T_STRETCHZ args3 { mc.m_mesh.StretchZ($2.f0, $2.f1, $2.f2); } + | T_BENDXY args2 { mc.m_mesh.BendXY($2.f0, $2.f1); } + | T_BENDXZ args2 { mc.m_mesh.BendXZ($2.f0, $2.f1); } + | T_BENDYX args2 { mc.m_mesh.BendYX($2.f0, $2.f1); } + | T_BENDYZ args2 { mc.m_mesh.BendYZ($2.f0, $2.f1); } + | T_BENDZX args2 { mc.m_mesh.BendZX($2.f0, $2.f1); } + | T_BENDZY args2 { mc.m_mesh.BendZY($2.f0, $2.f1); } | T_SCALEX args1 { mc.m_mesh.Scale(vec3($2.f0, 1.0, 1.0)); } | T_SCALEY args1 { mc.m_mesh.Scale(vec3(1.0, $2.f0, 1.0)); } | T_SCALEZ args1 { mc.m_mesh.Scale(vec3(1.0, 1.0, $2.f0)); } diff --git a/src/easymesh/easymesh-scanner.l b/src/easymesh/easymesh-scanner.l index 104a66a0..d47230e7 100644 --- a/src/easymesh/easymesh-scanner.l +++ b/src/easymesh/easymesh-scanner.l @@ -62,6 +62,21 @@ rz { return token::T_ROTATEZ; } tax { return token::T_TAPERX; } tay { return token::T_TAPERY; } taz { return token::T_TAPERZ; } +twx { return token::T_TWISTX; } +twy { return token::T_TWISTY; } +twz { return token::T_TWISTZ; } +shx { return token::T_SHEARX; } +shy { return token::T_SHEARY; } +shz { return token::T_SHEARZ; } +stx { return token::T_STRETCHX; } +sty { return token::T_STRETCHY; } +stz { return token::T_STRETCHZ; } +bdxy { return token::T_BENDXY; } +bdxz { return token::T_BENDXZ; } +bdyx { return token::T_BENDYX; } +bdyz { return token::T_BENDYZ; } +bdzx { return token::T_BENDZX; } +bdzy { return token::T_BENDZY; } sx { return token::T_SCALEX; } sy { return token::T_SCALEY; } sz { return token::T_SCALEZ; } diff --git a/src/easymesh/easymesh.cpp b/src/easymesh/easymesh.cpp index af794032..e0f8a491 100644 --- a/src/easymesh/easymesh.cpp +++ b/src/easymesh/easymesh.cpp @@ -929,34 +929,78 @@ void EasyMesh::RadialJitter(float r) } //----------------------------------------------------------------------------- -void EasyMesh::TaperX(float y, float z, float xoff) -{ - /* FIXME: this code breaks normals! */ - for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) - { - m_vert[i].m1.y *= 1.f + (y * abs(m_vert[i].m1.x) + xoff); - m_vert[i].m1.z *= 1.f + (z * abs(m_vert[i].m1.x) + xoff); - } -} +void EasyMesh::TaperX(float ny, float nz, float xoff, int absolute) { DoMeshTransform(MeshTransform::Taper, Axis::X, Axis::X, ny, nz, xoff, absolute); } +void EasyMesh::TaperY(float nx, float nz, float yoff, int absolute) { DoMeshTransform(MeshTransform::Taper, Axis::Y, Axis::Y, nz, nx, yoff, absolute); } +void EasyMesh::TaperZ(float nx, float ny, float zoff, int absolute) { DoMeshTransform(MeshTransform::Taper, Axis::Z, Axis::Z, nx, ny, zoff, absolute); } //----------------------------------------------------------------------------- -void EasyMesh::TaperY(float x, float z, float yoff) -{ - for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) - { - m_vert[i].m1.x *= 1.f + (x * abs(m_vert[i].m1.y) + yoff); - m_vert[i].m1.z *= 1.f + (z * abs(m_vert[i].m1.y) + yoff); - } -} +void EasyMesh::TwistX(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::X, Axis::X, t, t, toff, 0); } +void EasyMesh::TwistY(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::Y, Axis::Y, t, t, toff, 0); } +void EasyMesh::TwistZ(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::Z, Axis::Z, t, t, toff, 0); } + +//----------------------------------------------------------------------------- +void EasyMesh::ShearX(float ny, float nz, float xoff, int absolute) { DoMeshTransform(MeshTransform::Shear, Axis::X, Axis::X, ny, nz, xoff, absolute); } +void EasyMesh::ShearY(float nx, float nz, float yoff, int absolute) { DoMeshTransform(MeshTransform::Shear, Axis::Y, Axis::Y, nz, nx, yoff, absolute); } +void EasyMesh::ShearZ(float nx, float ny, float zoff, int absolute) { DoMeshTransform(MeshTransform::Shear, Axis::Z, Axis::Z, nx, ny, zoff, absolute); } + +//----------------------------------------------------------------------------- +void EasyMesh::StretchX(float ny, float nz, float xoff) { DoMeshTransform(MeshTransform::Stretch, Axis::X, Axis::X, ny, nz, xoff, 0); } +void EasyMesh::StretchY(float nx, float nz, float yoff) { DoMeshTransform(MeshTransform::Stretch, Axis::Y, Axis::Y, nz, nx, yoff, 0); } +void EasyMesh::StretchZ(float nx, float ny, float zoff) { DoMeshTransform(MeshTransform::Stretch, Axis::Z, Axis::Z, nx, ny, zoff, 0); } + +//----------------------------------------------------------------------------- +void EasyMesh::BendXY(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::X, Axis::Y, t, t, toff, 0); } +void EasyMesh::BendXZ(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::X, Axis::Z, t, t, toff, 0); } +void EasyMesh::BendYX(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Y, Axis::X, t, t, toff, 0); } +void EasyMesh::BendYZ(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Y, Axis::Z, t, t, toff, 0); } +void EasyMesh::BendZX(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Z, Axis::X, t, t, toff, 0); } +void EasyMesh::BendZY(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Z, Axis::Y, t, t, toff, 0); } //----------------------------------------------------------------------------- -void EasyMesh::TaperZ(float x, float y, float zoff) +void EasyMesh::DoMeshTransform(MeshTransform ct, Axis axis0, Axis axis1, float n0, float n1, float noff, int absolute) { for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) { - m_vert[i].m1.x *= 1.f + (x * abs(m_vert[i].m1.z) + zoff); - m_vert[i].m1.y *= 1.f + (y * abs(m_vert[i].m1.z) + zoff); + switch (ct) + { + case MeshTransform::Taper: + { + float value = m_vert[i].m1[axis0]; + if (absolute) value = abs(value); + m_vert[i].m1[(axis0 + 1) % 3] *= max(0.f, 1.f + (n0 * value + noff)); + m_vert[i].m1[(axis0 + 2) % 3] *= max(0.f, 1.f + (n1 * value + noff)); + break; + } + case MeshTransform::Twist: + { + vec3 rotaxis = vec3(1.f); rotaxis[(axis0 + 1) % 3] = .0f; rotaxis[(axis0 + 2) % 3] = .0f; + m_vert[i].m1 = mat3::rotate(m_vert[i].m1[axis0] * n0 + noff, rotaxis) * m_vert[i].m1; + break; + } + case MeshTransform::Shear: + { + float value = m_vert[i].m1[axis0]; + if (absolute) value = abs(value); + m_vert[i].m1[(axis0 + 1) % 3] += (n0 * value + noff); + m_vert[i].m1[(axis0 + 2) % 3] += (n1 * value + noff); + break; + } + case MeshTransform::Stretch: + { + //float value = abs(m_vert[i].m1[axis0]); + //m_vert[i].m1[(axis0 + 1) % 3] += (lol::pow(value, n0) + noff); + //m_vert[i].m1[(axis0 + 2) % 3] += (lol::pow(value, n1) + noff); + break; + } + case MeshTransform::Bend: + { + vec3 rotaxis = vec3(1.f); rotaxis[(axis1 + 1) % 3] = .0f; rotaxis[(axis1 + 2) % 3] = .0f; + m_vert[i].m1 = mat3::rotate(m_vert[i].m1[axis0] * n0 + noff, rotaxis) * m_vert[i].m1; + break; + } + } } + ComputeNormals(m_cursors.Last().m2, m_indices.Count() - m_cursors.Last().m2); } //----------------------------------------------------------------------------- diff --git a/src/easymesh/easymesh.h b/src/easymesh/easymesh.h index f8db5ee1..75a72d9e 100644 --- a/src/easymesh/easymesh.h +++ b/src/easymesh/easymesh.h @@ -78,6 +78,20 @@ private: Array<int> master_list; }; +struct Axis +{ + enum Value + { + X, + Y, + Z + } + m_value; + + inline Axis(Value v) : m_value(v) {} + inline operator Value() { return m_value; } +}; + struct MeshBuildOperation { enum Value @@ -184,28 +198,81 @@ public: - r : jitter maximum value. */ void RadialJitter(float r); - //TODO : twist - //TODO : bend - //TODO : stretch - //TODO : shear - /* [cmd:tax] multiply y&z by (1.0 + (n * x + xoff)) - - y : value of n for y. - - z : value of n for z. + /* [cmd:tax] multiply axis y&z by x as y *= (1.0 + (ny * x + xoff)) + - ny : value of n for y. + - nz : value of n for z. - xoff : value of xoff. + - absolute (def:1) : if (1) Multiply will use an absolute x. + */ + void TaperX(float ny, float nz, float xoff, int absolute=1); + /* [cmd:tay] Same as TaperX, with Y */ + void TaperY(float nx, float nz, float yoff, int absolute=1); + /* [cmd:taz] Same as TaperX, with Z */ + void TaperZ(float nx, float ny, float zoff, int absolute=1); + /* [cmd:twx] Twist vertices around x axis with x as rotation value as p = (RotateX(x * t + toff) * p) + - t : Angle multiplier. + - toff : Applied offset. + */ + void TwistX(float t, float toff); + /* [cmd:twy] Same as TwistX, with Y */ + void TwistY(float t, float toff); + /* [cmd:twz] Same as TwistX, with Z */ + void TwistZ(float t, float toff); + /* [cmd:shx] Shear vertices using x value as shear quantity as y += (ny * x + xoff) + - ny : Value of n for y. + - nz : Value of n for z. + - xoff : Value of xoff. + - absolute (def:1) : if (1) Multiply will use an absolute x. */ - void TaperX(float y, float z, float xoff); - /* [cmd:tay] multiply x&z by (1.0 + (n * y + yoff)) - - x : value of n for x. - - z : value of n for z. - - yoff : value of yoff. + void ShearX(float ny, float nz, float xoff, int absolute=1); + /* [cmd:shy] Same as ShearX, with Y */ + void ShearY(float nx, float nz, float yoff, int absolute=1); + /* [cmd:shz] Same as ShearX, with Z */ + void ShearZ(float nx, float ny, float zoff, int absolute=1); + /* [cmd:stx] Stretch vertices using x value as stretch quantity as y += (pow(x, ny) + xoff) + - ny : Value of n for y. + - nz : Value of n for z. + - xoff : Value of xoff. */ - void TaperY(float x, float z, float yoff); - /* [cmd:taz] multiply x&y by (1.0 + (n * z + zoff)) - - x : value of n for x. - - y : value of n for y. - - zoff : value of zoff. + void StretchX(float ny, float nz, float xoff); + /* [cmd:sty] Same as StretchX, with Y */ + void StretchY(float nx, float nz, float yoff); + /* [cmd:stz] Same as StretchX, with Z */ + void StretchZ(float nx, float ny, float zoff); + /* [cmd:bdxy] Bend vertices using x as bend quantity along y axis using p = (RotateY(x * t + toff) * p) + - t : Angle multiplier. + - xoff : Applied offset. */ - void TaperZ(float x, float y, float zoff); + void BendXY(float t, float toff); + /* [cmd:bdxz] Same as BendXY, with X & Z */ + void BendXZ(float t, float toff); + /* [cmd:bdyx] Same as BendXY, with Y & X */ + void BendYX(float t, float toff); + /* [cmd:bdyz] Same as BendXY, with Y & Z */ + void BendYZ(float t, float toff); + /* [cmd:bdzx] Same as BendXY, with Z & X */ + void BendZX(float t, float toff); + /* [cmd:bdzy] Same as BendXY, with Z & Y */ + void BendZY(float t, float toff); +private: + struct MeshTransform + { + enum Value + { + Taper, + Twist, + Bend, + Stretch, + Shear + } + m_value; + + inline MeshTransform(Value v) : m_value(v) {} + inline operator Value() { return m_value; } + }; + + void DoMeshTransform(MeshTransform ct, Axis axis0, Axis axis1, float n0, float n1, float noff, int absolute); +public: /* [cmd:s/sx/sy/sz] Scale vertices - s : scale quantity. */ diff --git a/src/generated/easymesh-parser.cpp b/src/generated/easymesh-parser.cpp index 7f536458..87aadac4 100644 --- a/src/generated/easymesh-parser.cpp +++ b/src/generated/easymesh-parser.cpp @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 2.5. */ +/* A Bison parser, made by GNU Bison 2.4.2. */ /* Skeleton implementation for Bison LALR(1) parsers in C++ - Copyright (C) 2002-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -546,310 +546,457 @@ namespace lol { /* Line 677 of lalr1.cc */ #line 129 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } + { mc.m_mesh.TaperX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } break; case 28: /* Line 677 of lalr1.cc */ #line 130 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } + { mc.m_mesh.TaperY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; case 29: /* Line 677 of lalr1.cc */ #line 131 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, 1.0, 1.0)); } + { mc.m_mesh.TaperY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } break; case 30: /* Line 677 of lalr1.cc */ #line 132 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3(1.0, (yysemantic_stack_[(2) - (2)].args).f0, 1.0)); } + { mc.m_mesh.TaperZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; case 31: /* Line 677 of lalr1.cc */ #line 133 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3(1.0, 1.0, (yysemantic_stack_[(2) - (2)].args).f0)); } + { mc.m_mesh.TaperZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } break; case 32: /* Line 677 of lalr1.cc */ #line 134 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); } + { mc.m_mesh.TwistX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } break; case 33: /* Line 677 of lalr1.cc */ #line 135 "easymesh/easymesh-parser.y" - { mc.m_mesh.MirrorX(); } + { mc.m_mesh.TwistY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } break; case 34: /* Line 677 of lalr1.cc */ #line 136 "easymesh/easymesh-parser.y" - { mc.m_mesh.MirrorY(); } + { mc.m_mesh.TwistZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } break; case 35: /* Line 677 of lalr1.cc */ #line 137 "easymesh/easymesh-parser.y" - { mc.m_mesh.MirrorZ(); } + { mc.m_mesh.ShearX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; case 36: /* Line 677 of lalr1.cc */ #line 138 "easymesh/easymesh-parser.y" - { mc.m_mesh.RadialJitter((yysemantic_stack_[(2) - (2)].args).f0); } + { mc.m_mesh.ShearX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } break; case 37: /* Line 677 of lalr1.cc */ #line 139 "easymesh/easymesh-parser.y" - { mc.m_mesh.ToggleScaleWinding(); } + { mc.m_mesh.ShearY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; case 38: /* Line 677 of lalr1.cc */ #line 140 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgUnion(); } + { mc.m_mesh.ShearY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } break; case 39: /* Line 677 of lalr1.cc */ #line 141 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgSubstract(); } + { mc.m_mesh.ShearZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; case 40: /* Line 677 of lalr1.cc */ #line 142 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgSubstractLoss(); } + { mc.m_mesh.ShearZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } break; case 41: /* Line 677 of lalr1.cc */ #line 143 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgAnd(); } + { mc.m_mesh.StretchX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; case 42: /* Line 677 of lalr1.cc */ #line 144 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgXor(); } + { mc.m_mesh.StretchY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; case 43: +/* Line 677 of lalr1.cc */ +#line 145 "easymesh/easymesh-parser.y" + { mc.m_mesh.StretchZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } + break; + + case 44: + +/* Line 677 of lalr1.cc */ +#line 146 "easymesh/easymesh-parser.y" + { mc.m_mesh.BendXY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } + break; + + case 45: + +/* Line 677 of lalr1.cc */ +#line 147 "easymesh/easymesh-parser.y" + { mc.m_mesh.BendXZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } + break; + + case 46: + /* Line 677 of lalr1.cc */ #line 148 "easymesh/easymesh-parser.y" + { mc.m_mesh.BendYX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } + break; + + case 47: + +/* Line 677 of lalr1.cc */ +#line 149 "easymesh/easymesh-parser.y" + { mc.m_mesh.BendYZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } + break; + + case 48: + +/* Line 677 of lalr1.cc */ +#line 150 "easymesh/easymesh-parser.y" + { mc.m_mesh.BendZX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } + break; + + case 49: + +/* Line 677 of lalr1.cc */ +#line 151 "easymesh/easymesh-parser.y" + { mc.m_mesh.BendZY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } + break; + + case 50: + +/* Line 677 of lalr1.cc */ +#line 152 "easymesh/easymesh-parser.y" + { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, 1.0, 1.0)); } + break; + + case 51: + +/* Line 677 of lalr1.cc */ +#line 153 "easymesh/easymesh-parser.y" + { mc.m_mesh.Scale(vec3(1.0, (yysemantic_stack_[(2) - (2)].args).f0, 1.0)); } + break; + + case 52: + +/* Line 677 of lalr1.cc */ +#line 154 "easymesh/easymesh-parser.y" + { mc.m_mesh.Scale(vec3(1.0, 1.0, (yysemantic_stack_[(2) - (2)].args).f0)); } + break; + + case 53: + +/* Line 677 of lalr1.cc */ +#line 155 "easymesh/easymesh-parser.y" + { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); } + break; + + case 54: + +/* Line 677 of lalr1.cc */ +#line 156 "easymesh/easymesh-parser.y" + { mc.m_mesh.MirrorX(); } + break; + + case 55: + +/* Line 677 of lalr1.cc */ +#line 157 "easymesh/easymesh-parser.y" + { mc.m_mesh.MirrorY(); } + break; + + case 56: + +/* Line 677 of lalr1.cc */ +#line 158 "easymesh/easymesh-parser.y" + { mc.m_mesh.MirrorZ(); } + break; + + case 57: + +/* Line 677 of lalr1.cc */ +#line 159 "easymesh/easymesh-parser.y" + { mc.m_mesh.RadialJitter((yysemantic_stack_[(2) - (2)].args).f0); } + break; + + case 58: + +/* Line 677 of lalr1.cc */ +#line 160 "easymesh/easymesh-parser.y" + { mc.m_mesh.ToggleScaleWinding(); } + break; + + case 59: + +/* Line 677 of lalr1.cc */ +#line 161 "easymesh/easymesh-parser.y" + { mc.m_mesh.CsgUnion(); } + break; + + case 60: + +/* Line 677 of lalr1.cc */ +#line 162 "easymesh/easymesh-parser.y" + { mc.m_mesh.CsgSubstract(); } + break; + + case 61: + +/* Line 677 of lalr1.cc */ +#line 163 "easymesh/easymesh-parser.y" + { mc.m_mesh.CsgSubstractLoss(); } + break; + + case 62: + +/* Line 677 of lalr1.cc */ +#line 164 "easymesh/easymesh-parser.y" + { mc.m_mesh.CsgAnd(); } + break; + + case 63: + +/* Line 677 of lalr1.cc */ +#line 165 "easymesh/easymesh-parser.y" + { mc.m_mesh.CsgXor(); } + break; + + case 64: + +/* Line 677 of lalr1.cc */ +#line 169 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendCylinder((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3, (int)(yysemantic_stack_[(2) - (2)].args).f4, (int)(yysemantic_stack_[(2) - (2)].args).f5, 0); } break; - case 44: + case 65: /* Line 677 of lalr1.cc */ -#line 151 "easymesh/easymesh-parser.y" +#line 172 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendCylinder((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3, (int)(yysemantic_stack_[(2) - (2)].args).f4, (int)(yysemantic_stack_[(2) - (2)].args).f5, (int)(yysemantic_stack_[(2) - (2)].args).f6); } break; - case 45: + case 66: /* Line 677 of lalr1.cc */ -#line 154 "easymesh/easymesh-parser.y" +#line 175 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); } break; - case 46: + case 67: /* Line 677 of lalr1.cc */ -#line 155 "easymesh/easymesh-parser.y" +#line 176 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendSmoothChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2), (yysemantic_stack_[(2) - (2)].args).f3); } break; - case 47: + case 68: /* Line 677 of lalr1.cc */ -#line 157 "easymesh/easymesh-parser.y" +#line 178 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendFlatChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2), (yysemantic_stack_[(2) - (2)].args).f3); } break; - case 48: + case 69: /* Line 677 of lalr1.cc */ -#line 159 "easymesh/easymesh-parser.y" +#line 180 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendSphere((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); } break; - case 49: + case 70: /* Line 677 of lalr1.cc */ -#line 160 "easymesh/easymesh-parser.y" +#line 181 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendCapsule((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; - case 50: + case 71: /* Line 677 of lalr1.cc */ -#line 161 "easymesh/easymesh-parser.y" +#line 182 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendTorus((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } break; - case 51: + case 72: /* Line 677 of lalr1.cc */ -#line 162 "easymesh/easymesh-parser.y" +#line 183 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (int)(yysemantic_stack_[(2) - (2)].args).f3, (int)(yysemantic_stack_[(2) - (2)].args).f4); } break; - case 52: + case 73: /* Line 677 of lalr1.cc */ -#line 164 "easymesh/easymesh-parser.y" +#line 185 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendExpandedStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } break; - case 53: + case 74: /* Line 677 of lalr1.cc */ -#line 166 "easymesh/easymesh-parser.y" +#line 187 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendDisc((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (int)(yysemantic_stack_[(2) - (2)].args).f2); } break; - case 54: + case 75: /* Line 677 of lalr1.cc */ -#line 167 "easymesh/easymesh-parser.y" +#line 188 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendSimpleTriangle((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); } break; - case 55: + case 76: /* Line 677 of lalr1.cc */ -#line 168 "easymesh/easymesh-parser.y" +#line 189 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendSimpleQuad((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); } break; - case 56: + case 77: /* Line 677 of lalr1.cc */ -#line 169 "easymesh/easymesh-parser.y" +#line 190 "easymesh/easymesh-parser.y" { mc.m_mesh.AppendCog((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3, (yysemantic_stack_[(2) - (2)].args).f4, (yysemantic_stack_[(2) - (2)].args).f5, (yysemantic_stack_[(2) - (2)].args).f6, (yysemantic_stack_[(2) - (2)].args).f7, (yysemantic_stack_[(2) - (2)].args).f8, (int)(yysemantic_stack_[(2) - (2)].args).f9); } break; - case 57: + case 78: /* Line 677 of lalr1.cc */ -#line 174 "easymesh/easymesh-parser.y" +#line 195 "easymesh/easymesh-parser.y" { (yyval.args).f0 = (yysemantic_stack_[(1) - (1)].fval); } break; - case 58: + case 79: /* Line 677 of lalr1.cc */ -#line 175 "easymesh/easymesh-parser.y" +#line 196 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f1 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 59: + case 80: /* Line 677 of lalr1.cc */ -#line 176 "easymesh/easymesh-parser.y" +#line 197 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f2 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 60: + case 81: /* Line 677 of lalr1.cc */ -#line 177 "easymesh/easymesh-parser.y" +#line 198 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f3 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 61: + case 82: /* Line 677 of lalr1.cc */ -#line 178 "easymesh/easymesh-parser.y" +#line 199 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f4 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 62: + case 83: /* Line 677 of lalr1.cc */ -#line 179 "easymesh/easymesh-parser.y" +#line 200 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f5 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 63: + case 84: /* Line 677 of lalr1.cc */ -#line 180 "easymesh/easymesh-parser.y" +#line 201 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f6 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 64: + case 85: /* Line 677 of lalr1.cc */ -#line 181 "easymesh/easymesh-parser.y" +#line 202 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f7 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 65: + case 86: /* Line 677 of lalr1.cc */ -#line 182 "easymesh/easymesh-parser.y" +#line 203 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f8 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 66: + case 87: /* Line 677 of lalr1.cc */ -#line 183 "easymesh/easymesh-parser.y" +#line 204 "easymesh/easymesh-parser.y" { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f9 = (yysemantic_stack_[(2) - (2)].fval); } break; - case 67: + case 88: /* Line 677 of lalr1.cc */ -#line 186 "easymesh/easymesh-parser.y" +#line 207 "easymesh/easymesh-parser.y" { (yyval.fval) = (yysemantic_stack_[(1) - (1)].fval); } break; - case 68: + case 89: /* Line 677 of lalr1.cc */ -#line 187 "easymesh/easymesh-parser.y" +#line 208 "easymesh/easymesh-parser.y" { (yyval.fval) = -(yysemantic_stack_[(2) - (2)].fval); } break; /* Line 677 of lalr1.cc */ -#line 853 "generated/easymesh-parser.cpp" +#line 1000 "generated/easymesh-parser.cpp" default: break; } @@ -1054,22 +1201,25 @@ namespace lol { /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ - const signed char EasyMeshParser::yypact_ninf_ = -10; + const signed char EasyMeshParser::yypact_ninf_ = -69; const signed char EasyMeshParser::yypact_[] = { - -3, 29, 31, 16, 16, 16, 16, -10, 16, 16, - 16, 16, -10, 16, 16, 16, 16, -10, 16, 16, - -10, 16, -10, -10, -10, -10, -10, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, -10, 42, 50, -3, -3, 83, -10, -10, -10, - -10, -10, -10, 16, 16, 16, 16, -10, -10, -10, - -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, - -10, -10, -10, -10, -10, -10, -10, 16, 16, 16, - -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, - -10, 16, 16, 16, 16, -10, -10, -10, -10, -10, - 5, -10, -10, -10, -10, -10, -10, -10, -10, -10, - -10, -10, -10, -10 + 60, -40, -23, -47, -47, -47, -47, -47, -47, -47, + -47, -47, -69, -47, -47, -47, -47, -47, -47, -47, + -47, -47, -69, -47, -47, -47, -47, -47, -47, -47, + -47, -47, -69, -47, -47, -69, -47, -69, -69, -69, + -69, -69, -47, -47, -47, -47, -47, -47, -47, -47, + -47, -47, -47, -47, -47, -47, -69, 4, 6, 60, + 60, 119, -69, -69, -69, -69, -69, -69, -47, -47, + -47, -47, -69, -69, -69, -69, -69, -69, -47, -69, + -69, -47, -69, -69, -69, -69, -69, -69, -69, -47, + -69, -69, -47, -69, -69, -69, -69, -69, -69, -69, + -47, -69, -69, -47, -69, -69, -69, -69, -69, -69, + -69, -69, -69, -47, -47, -47, -69, -69, -69, -69, + -69, -69, -69, -69, -69, -69, -69, -47, -47, -47, + -47, -69, -69, -69, -69, -69, -53, -69, -69, -69, + -69, -69, -69, -69, -69, -69, -69, -69, -69, -69 }; /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE @@ -1078,36 +1228,39 @@ namespace lol { const unsigned char EasyMeshParser::yydefact_[] = { - 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, - 0, 0, 34, 0, 0, 0, 0, 35, 0, 0, - 37, 0, 38, 39, 40, 41, 42, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 0, 3, 0, 5, 9, 11, 12, - 13, 67, 15, 0, 0, 0, 0, 14, 57, 17, - 16, 19, 23, 26, 29, 20, 24, 27, 30, 21, - 25, 28, 31, 22, 32, 36, 18, 0, 0, 43, - 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, - 55, 0, 0, 0, 0, 56, 50, 1, 2, 4, - 0, 10, 68, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 8, 6 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 58, 0, 59, 60, 61, + 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 7, 0, 0, 3, + 0, 5, 9, 11, 12, 13, 88, 15, 0, 0, + 0, 0, 14, 78, 17, 16, 19, 23, 26, 27, + 32, 35, 36, 41, 44, 45, 50, 20, 24, 28, + 29, 33, 37, 38, 42, 46, 47, 51, 21, 25, + 30, 31, 34, 39, 40, 43, 48, 49, 52, 22, + 53, 57, 18, 0, 0, 64, 65, 66, 67, 68, + 69, 70, 72, 73, 74, 75, 76, 0, 0, 0, + 0, 77, 71, 1, 2, 4, 0, 10, 89, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 8, 6 }; /* YYPGOTO[NTERM-NUM]. */ const short int EasyMeshParser::yypgoto_[] = { - -10, -10, -4, -10, -10, -10, -10, 9, -10, -10, - -10, 45, 25, 121, 128, 33, 26, 32, -10, -10, - -10, -9 + -69, -69, -30, -69, -69, -69, -69, -50, -69, -69, + -69, 224, 178, 0, 176, -35, -32, -28, -69, -69, + -69, -68 }; /* YYDEFGOTO[NTERM-NUM]. */ - const signed char + const short int EasyMeshParser::yydefgoto_[] = { - -1, 42, 43, 44, 45, 113, 46, 47, 48, 49, - 50, 54, 55, 56, 77, 78, 79, 80, 93, 94, - 95, 58 + -1, 57, 58, 59, 60, 149, 61, 62, 63, 64, + 65, 69, 70, 71, 113, 114, 115, 116, 129, 130, + 131, 73 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1117,46 +1270,66 @@ namespace lol { const unsigned char EasyMeshParser::yytable_[] = { - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 99, 100, 97, 41, 102, 103, 104, 105, 61, 62, - 98, 64, 112, 65, 66, 101, 68, 84, 69, 70, - 51, 72, 89, 90, 53, 91, 75, 86, 106, 107, - 108, 92, 76, 51, 52, 51, 59, 53, 0, 53, - 0, 0, 108, 109, 110, 111, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 63, 0, 0, 57, - 60, 67, 0, 0, 0, 0, 71, 0, 0, 73, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 0, 0, 85, 0, 0, 88, 82, 83, - 0, 96, 0, 87 + 138, 139, 140, 141, 133, 78, 134, 81, 83, 148, + 141, 137, 66, 141, 122, 89, 68, 92, 94, 66, + 67, 141, 127, 68, 141, 100, 128, 103, 105, 135, + 136, 0, 141, 109, 110, 141, 66, 74, 0, 0, + 68, 0, 0, 0, 117, 142, 143, 144, 121, 0, + 0, 124, 0, 0, 0, 132, 0, 0, 0, 144, + 145, 146, 147, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 0, 0, + 0, 56, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 72, 75, 0, + 0, 79, 0, 82, 80, 0, 0, 84, 85, 0, + 0, 90, 0, 93, 91, 0, 0, 95, 96, 0, + 0, 101, 0, 104, 102, 0, 0, 106, 107, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 118, 119, 0, 0, 120, 123, 76, 77, 0, + 125, 126, 0, 0, 0, 86, 0, 87, 88, 0, + 0, 0, 0, 0, 0, 97, 0, 98, 99, 0, + 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, + 111, 0, 0, 0, 0, 0, 112 }; /* YYCHECK. */ - const signed char + const short int EasyMeshParser::yycheck_[] = { - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 44, 45, 0, 46, 53, 54, 55, 56, 3, 4, - 0, 6, 47, 8, 9, 46, 11, 32, 13, 14, - 44, 16, 37, 38, 48, 39, 21, 34, 77, 78, - 79, 39, 27, 44, 45, 44, 45, 48, -1, 48, - -1, -1, 91, 92, 93, 94, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 5, -1, -1, 1, - 2, 10, -1, -1, -1, -1, 15, -1, -1, 18, - 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 29, -1, -1, -1, 33, -1, -1, 36, 30, 31, - -1, 40, -1, 35 + 68, 69, 70, 71, 0, 5, 0, 7, 8, 62, + 78, 61, 59, 81, 49, 15, 63, 17, 18, 59, + 60, 89, 54, 63, 92, 25, 54, 27, 28, 59, + 60, -1, 100, 33, 34, 103, 59, 60, -1, -1, + 63, -1, -1, -1, 44, 113, 114, 115, 48, -1, + -1, 51, -1, -1, -1, 55, -1, -1, -1, 127, + 128, 129, 130, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, -1, -1, + -1, 61, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 1, 2, -1, + -1, 5, -1, 7, 6, -1, -1, 9, 10, -1, + -1, 15, -1, 17, 16, -1, -1, 19, 20, -1, + -1, 25, -1, 27, 26, -1, -1, 29, 30, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 45, 46, -1, -1, 47, 50, 3, 4, -1, + 52, 53, -1, -1, -1, 11, -1, 13, 14, -1, + -1, -1, -1, -1, -1, 21, -1, 23, 24, -1, + -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, + 36, -1, -1, -1, -1, -1, 42 }; /* STOS_[STATE-NUM] -- The (internal number of the) accessing @@ -1168,14 +1341,17 @@ namespace lol { 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 46, 50, 51, 52, 53, 55, 56, 57, 58, - 59, 44, 45, 48, 60, 61, 62, 63, 70, 45, - 63, 60, 60, 62, 60, 60, 60, 62, 60, 60, - 60, 62, 60, 62, 62, 60, 60, 63, 64, 65, - 66, 62, 63, 63, 61, 62, 64, 63, 62, 61, - 61, 65, 66, 67, 68, 69, 62, 0, 0, 51, - 51, 56, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 47, 54 + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 61, 65, 66, 67, + 68, 70, 71, 72, 73, 74, 59, 60, 63, 75, + 76, 77, 78, 85, 60, 78, 75, 75, 77, 78, + 76, 77, 78, 77, 76, 76, 75, 75, 75, 77, + 78, 76, 77, 78, 77, 76, 76, 75, 75, 75, + 77, 78, 76, 77, 78, 77, 76, 76, 75, 77, + 77, 75, 75, 78, 79, 80, 81, 77, 78, 78, + 76, 77, 79, 78, 77, 76, 76, 80, 81, 82, + 83, 84, 77, 0, 0, 66, 66, 71, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 62, 69 }; #if YYDEBUG @@ -1188,7 +1364,9 @@ namespace lol { 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 91, 93, 45 + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 91, 93, 45 }; #endif @@ -1196,13 +1374,15 @@ namespace lol { const unsigned char EasyMeshParser::yyr1_[] = { - 0, 49, 50, 51, 51, 52, 52, 53, 54, 55, - 55, 56, 56, 56, 57, 57, 57, 57, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 70 + 0, 64, 65, 66, 66, 67, 67, 68, 69, 70, + 70, 71, 71, 71, 72, 72, 72, 72, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 85 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1212,10 +1392,12 @@ namespace lol { 0, 2, 2, 1, 2, 1, 3, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 1, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 2 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 1, 2 }; #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE @@ -1225,9 +1407,12 @@ namespace lol { const EasyMeshParser::yytname_[] = { "T_END", "error", "$undefined", "T_COLOR", "T_BGCOLOR", "T_TRANSLATEX", - "T_ROTATEX", "T_TAPERX", "T_SCALEX", "T_MIRRORX", "T_TRANSLATEY", - "T_ROTATEY", "T_TAPERY", "T_SCALEY", "T_MIRRORY", "T_TRANSLATEZ", - "T_ROTATEZ", "T_TAPERZ", "T_SCALEZ", "T_MIRRORZ", "T_TRANSLATE", + "T_ROTATEX", "T_TAPERX", "T_TWISTX", "T_SHEARX", "T_STRETCHX", + "T_BENDXY", "T_BENDXZ", "T_SCALEX", "T_MIRRORX", "T_TRANSLATEY", + "T_ROTATEY", "T_TAPERY", "T_TWISTY", "T_SHEARY", "T_STRETCHY", + "T_BENDYX", "T_BENDYZ", "T_SCALEY", "T_MIRRORY", "T_TRANSLATEZ", + "T_ROTATEZ", "T_TAPERZ", "T_TWISTZ", "T_SHEARZ", "T_STRETCHZ", + "T_BENDZX", "T_BENDZY", "T_SCALEZ", "T_MIRRORZ", "T_TRANSLATE", "T_SCALE", "T_TOGGLESCALEWINDING", "T_RADIALJITTER", "T_CSGUNION", "T_CSGSUBSTRACT", "T_CSGSUBSTRACTLOSS", "T_CSGAND", "T_CSGXOR", "T_CHAMFER", "T_CYLINDER", "T_BOX", "T_SMOOTHCHAMFBOX", "T_FLATCHAMFBOX", @@ -1246,25 +1431,31 @@ namespace lol { const EasyMeshParser::rhs_number_type EasyMeshParser::yyrhs_[] = { - 50, 0, -1, 51, 0, -1, 52, -1, 52, 51, - -1, 55, -1, 53, 51, 54, -1, 46, -1, 47, - -1, 56, -1, 55, 56, -1, 57, -1, 58, -1, - 59, -1, 3, 63, -1, 3, 45, -1, 4, 63, - -1, 4, 45, -1, 29, 60, -1, 5, 60, -1, - 10, 60, -1, 15, 60, -1, 20, 62, -1, 6, - 60, -1, 11, 60, -1, 16, 60, -1, 7, 62, - -1, 12, 62, -1, 17, 62, -1, 8, 60, -1, - 13, 60, -1, 18, 60, -1, 21, 62, -1, 9, - -1, 14, -1, 19, -1, 23, 60, -1, 22, -1, - 24, -1, 25, -1, 26, -1, 27, -1, 28, -1, - 30, 65, -1, 30, 66, -1, 31, 62, -1, 32, - 63, -1, 33, 63, -1, 34, 61, -1, 35, 62, - -1, 42, 62, -1, 36, 64, -1, 37, 63, -1, - 38, 62, -1, 39, 61, -1, 40, 61, -1, 41, - 69, -1, 70, -1, 60, 70, -1, 61, 70, -1, - 62, 70, -1, 63, 70, -1, 64, 70, -1, 65, - 70, -1, 66, 70, -1, 67, 70, -1, 68, 70, - -1, 44, -1, 48, 70, -1 + 65, 0, -1, 66, 0, -1, 67, -1, 67, 66, + -1, 70, -1, 68, 66, 69, -1, 61, -1, 62, + -1, 71, -1, 70, 71, -1, 72, -1, 73, -1, + 74, -1, 3, 78, -1, 3, 60, -1, 4, 78, + -1, 4, 60, -1, 44, 75, -1, 5, 75, -1, + 15, 75, -1, 25, 75, -1, 35, 77, -1, 6, + 75, -1, 16, 75, -1, 26, 75, -1, 7, 77, + -1, 7, 78, -1, 17, 77, -1, 17, 78, -1, + 27, 77, -1, 27, 78, -1, 8, 76, -1, 18, + 76, -1, 28, 76, -1, 9, 77, -1, 9, 78, + -1, 19, 77, -1, 19, 78, -1, 29, 77, -1, + 29, 78, -1, 10, 77, -1, 20, 77, -1, 30, + 77, -1, 11, 76, -1, 12, 76, -1, 21, 76, + -1, 22, 76, -1, 31, 76, -1, 32, 76, -1, + 13, 75, -1, 23, 75, -1, 33, 75, -1, 36, + 77, -1, 14, -1, 24, -1, 34, -1, 38, 75, + -1, 37, -1, 39, -1, 40, -1, 41, -1, 42, + -1, 43, -1, 45, 80, -1, 45, 81, -1, 46, + 77, -1, 47, 78, -1, 48, 78, -1, 49, 76, + -1, 50, 77, -1, 57, 77, -1, 51, 79, -1, + 52, 78, -1, 53, 77, -1, 54, 76, -1, 55, + 76, -1, 56, 84, -1, 85, -1, 75, 85, -1, + 76, 85, -1, 77, 85, -1, 78, 85, -1, 79, + 85, -1, 80, 85, -1, 81, 85, -1, 82, 85, + -1, 83, 85, -1, 59, -1, 63, 85, -1 }; /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in @@ -1275,10 +1466,12 @@ namespace lol { 0, 0, 3, 6, 8, 11, 13, 17, 19, 21, 23, 26, 28, 30, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, - 80, 83, 86, 89, 91, 93, 95, 98, 100, 102, - 104, 106, 108, 110, 113, 116, 119, 122, 125, 128, - 131, 134, 137, 140, 143, 146, 149, 152, 154, 157, - 160, 163, 166, 169, 172, 175, 178, 181, 183 + 80, 83, 86, 89, 92, 95, 98, 101, 104, 107, + 110, 113, 116, 119, 122, 125, 128, 131, 134, 137, + 140, 143, 146, 149, 152, 154, 156, 158, 161, 163, + 165, 167, 169, 171, 173, 176, 179, 182, 185, 188, + 191, 194, 197, 200, 203, 206, 209, 212, 215, 217, + 220, 223, 226, 229, 232, 235, 238, 241, 244, 246 }; /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ @@ -1289,9 +1482,11 @@ namespace lol { 99, 103, 104, 105, 109, 110, 113, 114, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 148, 151, 154, 155, 157, 159, 160, - 161, 162, 164, 166, 167, 168, 169, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 186, 187 + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 169, 172, 175, 176, 178, 180, + 181, 182, 183, 185, 187, 188, 189, 190, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 207, 208 }; // Print the state stack on the debug stream. @@ -1335,12 +1530,12 @@ namespace lol { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 48, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 63, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 46, 2, 47, 2, 2, 2, 2, 2, 2, + 2, 61, 2, 62, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1361,7 +1556,8 @@ namespace lol { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45 + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60 }; if ((unsigned int) t <= yyuser_token_number_max_) return translate_table[t]; @@ -1370,26 +1566,26 @@ namespace lol { } const int EasyMeshParser::yyeof_ = 0; - const int EasyMeshParser::yylast_ = 163; + const int EasyMeshParser::yylast_ = 266; const int EasyMeshParser::yynnts_ = 22; const int EasyMeshParser::yyempty_ = -2; - const int EasyMeshParser::yyfinal_ = 97; + const int EasyMeshParser::yyfinal_ = 133; const int EasyMeshParser::yyterror_ = 1; const int EasyMeshParser::yyerrcode_ = 256; - const int EasyMeshParser::yyntokens_ = 49; + const int EasyMeshParser::yyntokens_ = 64; - const unsigned int EasyMeshParser::yyuser_token_number_max_ = 300; + const unsigned int EasyMeshParser::yyuser_token_number_max_ = 315; const EasyMeshParser::token_number_type EasyMeshParser::yyundef_token_ = 2; } // lol /* Line 1053 of lalr1.cc */ -#line 1389 "generated/easymesh-parser.cpp" +#line 1585 "generated/easymesh-parser.cpp" /* Line 1055 of lalr1.cc */ -#line 190 "easymesh/easymesh-parser.y" +#line 211 "easymesh/easymesh-parser.y" void lol::EasyMeshParser::error(const EasyMeshParser::location_type& l, diff --git a/src/generated/easymesh-parser.h b/src/generated/easymesh-parser.h index 2884e2cf..75a83e9b 100644 --- a/src/generated/easymesh-parser.h +++ b/src/generated/easymesh-parser.h @@ -2,7 +2,7 @@ /* Skeleton interface for Bison LALR(1) parsers in C++ - Copyright (C) 2002-2011 Free Software Foundation, Inc. + Copyright (C) 2002-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -137,44 +137,59 @@ namespace lol { T_TRANSLATEX = 260, T_ROTATEX = 261, T_TAPERX = 262, - T_SCALEX = 263, - T_MIRRORX = 264, - T_TRANSLATEY = 265, - T_ROTATEY = 266, - T_TAPERY = 267, - T_SCALEY = 268, - T_MIRRORY = 269, - T_TRANSLATEZ = 270, - T_ROTATEZ = 271, - T_TAPERZ = 272, - T_SCALEZ = 273, - T_MIRRORZ = 274, - T_TRANSLATE = 275, - T_SCALE = 276, - T_TOGGLESCALEWINDING = 277, - T_RADIALJITTER = 278, - T_CSGUNION = 279, - T_CSGSUBSTRACT = 280, - T_CSGSUBSTRACTLOSS = 281, - T_CSGAND = 282, - T_CSGXOR = 283, - T_CHAMFER = 284, - T_CYLINDER = 285, - T_BOX = 286, - T_SMOOTHCHAMFBOX = 287, - T_FLATCHAMFBOX = 288, - T_SPHERE = 289, - T_CAPSULE = 290, - T_STAR = 291, - T_EXPANDEDSTAR = 292, - T_DISC = 293, - T_TRIANGLE = 294, - T_QUAD = 295, - T_COG = 296, - T_TORUS = 297, - T_ERROR = 298, - NUMBER = 299, - COLOR = 300 + T_TWISTX = 263, + T_SHEARX = 264, + T_STRETCHX = 265, + T_BENDXY = 266, + T_BENDXZ = 267, + T_SCALEX = 268, + T_MIRRORX = 269, + T_TRANSLATEY = 270, + T_ROTATEY = 271, + T_TAPERY = 272, + T_TWISTY = 273, + T_SHEARY = 274, + T_STRETCHY = 275, + T_BENDYX = 276, + T_BENDYZ = 277, + T_SCALEY = 278, + T_MIRRORY = 279, + T_TRANSLATEZ = 280, + T_ROTATEZ = 281, + T_TAPERZ = 282, + T_TWISTZ = 283, + T_SHEARZ = 284, + T_STRETCHZ = 285, + T_BENDZX = 286, + T_BENDZY = 287, + T_SCALEZ = 288, + T_MIRRORZ = 289, + T_TRANSLATE = 290, + T_SCALE = 291, + T_TOGGLESCALEWINDING = 292, + T_RADIALJITTER = 293, + T_CSGUNION = 294, + T_CSGSUBSTRACT = 295, + T_CSGSUBSTRACTLOSS = 296, + T_CSGAND = 297, + T_CSGXOR = 298, + T_CHAMFER = 299, + T_CYLINDER = 300, + T_BOX = 301, + T_SMOOTHCHAMFBOX = 302, + T_FLATCHAMFBOX = 303, + T_SPHERE = 304, + T_CAPSULE = 305, + T_STAR = 306, + T_EXPANDEDSTAR = 307, + T_DISC = 308, + T_TRIANGLE = 309, + T_QUAD = 310, + T_COG = 311, + T_TORUS = 312, + T_ERROR = 313, + NUMBER = 314, + COLOR = 315 }; }; @@ -261,7 +276,7 @@ namespace lol { static const unsigned char yydefact_[]; static const short int yypgoto_[]; - static const signed char yydefgoto_[]; + static const short int yydefgoto_[]; /// What to do in a state. /// \a yytable_[yypact_[s]]: what to do in state \a s. @@ -271,7 +286,7 @@ namespace lol { static const unsigned char yytable_[]; static const signed char yytable_ninf_; - static const signed char yycheck_[]; + static const short int yycheck_[]; /// For a state, its accessing symbol. static const unsigned char yystos_[]; @@ -348,7 +363,7 @@ namespace lol { } // lol /* Line 34 of lalr1.cc */ -#line 352 "generated/easymesh-parser.h" +#line 367 "generated/easymesh-parser.h" diff --git a/src/generated/easymesh-scanner.cpp b/src/generated/easymesh-scanner.cpp index e7526e6f..e8c859a8 100644 --- a/src/generated/easymesh-scanner.cpp +++ b/src/generated/easymesh-scanner.cpp @@ -330,8 +330,8 @@ typedef unsigned char YY_CHAR; *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 52 -#define YY_END_OF_BUFFER 53 +#define YY_NUM_RULES 67 +#define YY_END_OF_BUFFER 68 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -339,17 +339,20 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[83] = +static yyconst flex_int16_t yy_accept[106] = { 0, - 0, 0, 53, 51, 50, 49, 51, 51, 46, 51, - 45, 47, 48, 51, 51, 51, 51, 17, 7, 0, - 0, 45, 45, 0, 28, 29, 32, 0, 0, 35, - 36, 39, 3, 0, 19, 20, 21, 22, 8, 9, - 10, 1, 14, 15, 16, 0, 0, 4, 5, 6, - 0, 0, 45, 0, 31, 33, 0, 0, 0, 40, - 0, 2, 11, 12, 13, 18, 41, 30, 34, 37, - 38, 26, 24, 23, 27, 42, 25, 0, 43, 0, - 44, 0 + 0, 0, 68, 66, 65, 64, 66, 66, 61, 66, + 60, 62, 63, 66, 66, 66, 66, 66, 32, 7, + 0, 0, 60, 60, 0, 43, 44, 47, 0, 0, + 50, 51, 54, 0, 3, 0, 34, 35, 36, 37, + 8, 9, 10, 1, 0, 0, 29, 30, 31, 0, + 0, 0, 4, 5, 6, 0, 0, 60, 0, 46, + 48, 0, 0, 0, 55, 0, 0, 0, 0, 2, + 17, 18, 19, 20, 21, 22, 11, 12, 13, 33, + 14, 15, 16, 56, 45, 49, 52, 53, 23, 24, + 25, 26, 27, 28, 41, 39, 38, 42, 57, 40, + + 0, 58, 0, 59, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -392,70 +395,82 @@ static yyconst flex_int32_t yy_meta[35] = 1, 1, 1, 1 } ; -static yyconst flex_int16_t yy_base[91] = +static yyconst flex_int16_t yy_base[114] = { 0, - 0, 0, 113, 114, 114, 114, 0, 28, 30, 104, - 32, 114, 114, 36, 27, 11, 25, 41, 35, 0, - 103, 69, 70, 76, 114, 47, 114, 82, 94, 114, - 46, 84, 114, 88, 114, 114, 114, 114, 114, 114, - 114, 92, 114, 114, 114, 56, 74, 114, 114, 114, - 0, 96, 95, 76, 114, 114, 85, 83, 76, 114, - 70, 114, 114, 114, 114, 114, 0, 114, 114, 114, - 114, 114, 73, 114, 114, 0, 114, 0, 0, 0, - 114, 114, 92, 91, 90, 89, 83, 70, 68, 39 + 0, 0, 135, 136, 136, 136, 0, 28, 30, 126, + 32, 136, 136, 36, 117, 27, 11, 25, 51, 73, + 0, 124, 53, 59, 67, 136, 55, 136, 103, 115, + 136, 62, 105, 56, 136, 109, 136, 136, 136, 136, + 136, 136, 136, 113, 59, 62, 136, 136, 136, 65, + 95, 76, 136, 136, 136, 0, 117, 116, 98, 136, + 136, 107, 105, 97, 136, 45, 68, 49, 90, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 0, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 94, 136, 136, 0, 136, + + 0, 0, 0, 136, 136, 113, 112, 111, 110, 109, + 54, 46, 39 } ; -static yyconst flex_int16_t yy_def[91] = +static yyconst flex_int16_t yy_def[114] = { 0, - 82, 1, 82, 82, 82, 82, 83, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 84, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 85, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 86, 82, 82, 82, - 82, 82, 82, 82, 82, 87, 82, 88, 89, 90, - 82, 0, 82, 82, 82, 82, 82, 82, 82, 82 + 105, 1, 105, 105, 105, 105, 106, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 107, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 108, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 109, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 110, 105, + + 111, 112, 113, 105, 0, 105, 105, 105, 105, 105, + 105, 105, 105 } ; -static yyconst flex_int16_t yy_nxt[149] = +static yyconst flex_int16_t yy_nxt[171] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 4, 4, - 12, 13, 14, 4, 15, 4, 4, 4, 4, 4, - 4, 4, 16, 4, 4, 4, 17, 18, 19, 4, - 4, 4, 4, 4, 21, 22, 21, 22, 21, 22, - 81, 24, 35, 36, 37, 38, 33, 46, 24, 25, - 26, 27, 28, 29, 34, 42, 39, 40, 41, 54, - 58, 30, 47, 31, 32, 55, 48, 49, 50, 80, - 59, 79, 43, 44, 45, 21, 22, 23, 24, 24, - 52, 52, 72, 53, 78, 24, 24, 63, 64, 65, - 76, 67, 51, 20, 77, 71, 70, 73, 69, 74, - - 68, 75, 53, 53, 66, 62, 61, 60, 57, 56, - 23, 23, 82, 3, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82 + 12, 13, 14, 15, 16, 4, 4, 4, 4, 4, + 4, 4, 17, 4, 4, 4, 18, 19, 20, 4, + 4, 4, 4, 4, 22, 23, 22, 23, 22, 23, + 104, 25, 37, 38, 39, 40, 35, 103, 25, 26, + 27, 28, 29, 30, 36, 102, 41, 42, 43, 22, + 23, 31, 25, 32, 33, 44, 24, 59, 25, 25, + 45, 57, 57, 60, 58, 25, 63, 89, 90, 46, + 93, 94, 47, 48, 49, 50, 64, 66, 67, 68, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 91, + + 51, 92, 95, 52, 53, 54, 55, 81, 82, 83, + 101, 99, 84, 56, 21, 100, 88, 96, 87, 97, + 86, 98, 85, 58, 58, 80, 70, 69, 65, 62, + 61, 24, 34, 24, 105, 3, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105 } ; -static yyconst flex_int16_t yy_chk[149] = +static yyconst flex_int16_t yy_chk[171] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, 9, 9, 11, 11, - 90, 11, 16, 16, 16, 17, 15, 19, 11, 14, - 14, 14, 14, 14, 15, 18, 17, 17, 17, 26, - 31, 14, 19, 14, 14, 26, 19, 19, 19, 89, - 31, 88, 18, 18, 18, 22, 22, 23, 22, 23, - 24, 24, 61, 24, 87, 22, 23, 46, 46, 46, - 86, 85, 84, 83, 73, 59, 58, 61, 57, 61, - - 54, 61, 53, 52, 47, 42, 34, 32, 29, 28, - 21, 10, 3, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82 + 113, 11, 17, 17, 17, 18, 16, 112, 11, 14, + 14, 14, 14, 14, 16, 111, 18, 18, 18, 23, + 23, 14, 23, 14, 14, 19, 24, 27, 24, 23, + 19, 25, 25, 27, 25, 24, 32, 66, 66, 19, + 68, 68, 19, 19, 19, 20, 32, 34, 34, 34, + 45, 45, 45, 46, 46, 46, 50, 50, 50, 67, + + 20, 67, 69, 20, 20, 20, 20, 52, 52, 52, + 110, 109, 108, 107, 106, 96, 64, 69, 63, 69, + 62, 69, 59, 58, 57, 51, 44, 36, 33, 30, + 29, 22, 15, 10, 3, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105 } ; /* The intent behind this definition is that it'll catch @@ -504,7 +519,7 @@ typedef lol::EasyMeshParser::token_type token_type; #define yyterminate() return token::T_END #define YY_NO_UNISTD_H #define YY_USER_ACTION yylloc->columns(yyleng); -#line 508 "generated/easymesh-scanner.cpp" +#line 523 "generated/easymesh-scanner.cpp" #define INITIAL 0 @@ -617,7 +632,7 @@ YY_DECL yylloc->step(); -#line 621 "generated/easymesh-scanner.cpp" +#line 636 "generated/easymesh-scanner.cpp" if ( !(yy_init) ) { @@ -670,13 +685,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 83 ) + if ( yy_current_state >= 106 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 82 ); + while ( yy_current_state != 105 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -764,141 +779,216 @@ YY_RULE_SETUP case 14: YY_RULE_SETUP #line 65 "easymesh/easymesh-scanner.l" -{ return token::T_SCALEX; } +{ return token::T_TWISTX; } YY_BREAK case 15: YY_RULE_SETUP #line 66 "easymesh/easymesh-scanner.l" -{ return token::T_SCALEY; } +{ return token::T_TWISTY; } YY_BREAK case 16: YY_RULE_SETUP #line 67 "easymesh/easymesh-scanner.l" -{ return token::T_SCALEZ; } +{ return token::T_TWISTZ; } YY_BREAK case 17: YY_RULE_SETUP #line 68 "easymesh/easymesh-scanner.l" -{ return token::T_SCALE; } +{ return token::T_SHEARX; } YY_BREAK case 18: YY_RULE_SETUP #line 69 "easymesh/easymesh-scanner.l" -{ return token::T_TOGGLESCALEWINDING; } +{ return token::T_SHEARY; } YY_BREAK case 19: YY_RULE_SETUP #line 70 "easymesh/easymesh-scanner.l" -{ return token::T_MIRRORX; } +{ return token::T_SHEARZ; } YY_BREAK case 20: YY_RULE_SETUP #line 71 "easymesh/easymesh-scanner.l" -{ return token::T_MIRRORY; } +{ return token::T_STRETCHX; } YY_BREAK case 21: YY_RULE_SETUP #line 72 "easymesh/easymesh-scanner.l" -{ return token::T_MIRRORZ; } +{ return token::T_STRETCHY; } YY_BREAK case 22: YY_RULE_SETUP #line 73 "easymesh/easymesh-scanner.l" -{ return token::T_RADIALJITTER; } +{ return token::T_STRETCHZ; } YY_BREAK case 23: YY_RULE_SETUP -#line 75 "easymesh/easymesh-scanner.l" -{ return token::T_CSGUNION; } +#line 74 "easymesh/easymesh-scanner.l" +{ return token::T_BENDXY; } YY_BREAK case 24: YY_RULE_SETUP -#line 76 "easymesh/easymesh-scanner.l" -{ return token::T_CSGSUBSTRACT; } +#line 75 "easymesh/easymesh-scanner.l" +{ return token::T_BENDXZ; } YY_BREAK case 25: YY_RULE_SETUP -#line 77 "easymesh/easymesh-scanner.l" -{ return token::T_CSGSUBSTRACTLOSS; } +#line 76 "easymesh/easymesh-scanner.l" +{ return token::T_BENDYX; } YY_BREAK case 26: YY_RULE_SETUP -#line 78 "easymesh/easymesh-scanner.l" -{ return token::T_CSGAND; } +#line 77 "easymesh/easymesh-scanner.l" +{ return token::T_BENDYZ; } YY_BREAK case 27: YY_RULE_SETUP -#line 79 "easymesh/easymesh-scanner.l" -{ return token::T_CSGXOR; } +#line 78 "easymesh/easymesh-scanner.l" +{ return token::T_BENDZX; } YY_BREAK case 28: YY_RULE_SETUP -#line 81 "easymesh/easymesh-scanner.l" -{ return token::T_BOX; } +#line 79 "easymesh/easymesh-scanner.l" +{ return token::T_BENDZY; } YY_BREAK case 29: YY_RULE_SETUP -#line 82 "easymesh/easymesh-scanner.l" -{ return token::T_CYLINDER; } +#line 80 "easymesh/easymesh-scanner.l" +{ return token::T_SCALEX; } YY_BREAK case 30: YY_RULE_SETUP -#line 83 "easymesh/easymesh-scanner.l" -{ return token::T_CAPSULE; } +#line 81 "easymesh/easymesh-scanner.l" +{ return token::T_SCALEY; } YY_BREAK case 31: YY_RULE_SETUP -#line 84 "easymesh/easymesh-scanner.l" -{ return token::T_COG; } +#line 82 "easymesh/easymesh-scanner.l" +{ return token::T_SCALEZ; } YY_BREAK case 32: YY_RULE_SETUP -#line 85 "easymesh/easymesh-scanner.l" -{ return token::T_DISC; } +#line 83 "easymesh/easymesh-scanner.l" +{ return token::T_SCALE; } YY_BREAK case 33: YY_RULE_SETUP -#line 86 "easymesh/easymesh-scanner.l" -{ return token::T_EXPANDEDSTAR; } +#line 84 "easymesh/easymesh-scanner.l" +{ return token::T_TOGGLESCALEWINDING; } YY_BREAK case 34: YY_RULE_SETUP -#line 87 "easymesh/easymesh-scanner.l" -{ return token::T_FLATCHAMFBOX; } +#line 85 "easymesh/easymesh-scanner.l" +{ return token::T_MIRRORX; } YY_BREAK case 35: YY_RULE_SETUP -#line 88 "easymesh/easymesh-scanner.l" -{ return token::T_QUAD; } +#line 86 "easymesh/easymesh-scanner.l" +{ return token::T_MIRRORY; } YY_BREAK case 36: YY_RULE_SETUP -#line 89 "easymesh/easymesh-scanner.l" -{ return token::T_STAR; } +#line 87 "easymesh/easymesh-scanner.l" +{ return token::T_MIRRORZ; } YY_BREAK case 37: YY_RULE_SETUP -#line 90 "easymesh/easymesh-scanner.l" -{ return token::T_SMOOTHCHAMFBOX; } +#line 88 "easymesh/easymesh-scanner.l" +{ return token::T_RADIALJITTER; } YY_BREAK case 38: YY_RULE_SETUP -#line 91 "easymesh/easymesh-scanner.l" -{ return token::T_SPHERE; } +#line 90 "easymesh/easymesh-scanner.l" +{ return token::T_CSGUNION; } YY_BREAK case 39: YY_RULE_SETUP -#line 92 "easymesh/easymesh-scanner.l" -{ return token::T_TRIANGLE; } +#line 91 "easymesh/easymesh-scanner.l" +{ return token::T_CSGSUBSTRACT; } YY_BREAK case 40: YY_RULE_SETUP +#line 92 "easymesh/easymesh-scanner.l" +{ return token::T_CSGSUBSTRACTLOSS; } + YY_BREAK +case 41: +YY_RULE_SETUP #line 93 "easymesh/easymesh-scanner.l" +{ return token::T_CSGAND; } + YY_BREAK +case 42: +YY_RULE_SETUP +#line 94 "easymesh/easymesh-scanner.l" +{ return token::T_CSGXOR; } + YY_BREAK +case 43: +YY_RULE_SETUP +#line 96 "easymesh/easymesh-scanner.l" +{ return token::T_BOX; } + YY_BREAK +case 44: +YY_RULE_SETUP +#line 97 "easymesh/easymesh-scanner.l" +{ return token::T_CYLINDER; } + YY_BREAK +case 45: +YY_RULE_SETUP +#line 98 "easymesh/easymesh-scanner.l" +{ return token::T_CAPSULE; } + YY_BREAK +case 46: +YY_RULE_SETUP +#line 99 "easymesh/easymesh-scanner.l" +{ return token::T_COG; } + YY_BREAK +case 47: +YY_RULE_SETUP +#line 100 "easymesh/easymesh-scanner.l" +{ return token::T_DISC; } + YY_BREAK +case 48: +YY_RULE_SETUP +#line 101 "easymesh/easymesh-scanner.l" +{ return token::T_EXPANDEDSTAR; } + YY_BREAK +case 49: +YY_RULE_SETUP +#line 102 "easymesh/easymesh-scanner.l" +{ return token::T_FLATCHAMFBOX; } + YY_BREAK +case 50: +YY_RULE_SETUP +#line 103 "easymesh/easymesh-scanner.l" +{ return token::T_QUAD; } + YY_BREAK +case 51: +YY_RULE_SETUP +#line 104 "easymesh/easymesh-scanner.l" +{ return token::T_STAR; } + YY_BREAK +case 52: +YY_RULE_SETUP +#line 105 "easymesh/easymesh-scanner.l" +{ return token::T_SMOOTHCHAMFBOX; } + YY_BREAK +case 53: +YY_RULE_SETUP +#line 106 "easymesh/easymesh-scanner.l" +{ return token::T_SPHERE; } + YY_BREAK +case 54: +YY_RULE_SETUP +#line 107 "easymesh/easymesh-scanner.l" +{ return token::T_TRIANGLE; } + YY_BREAK +case 55: +YY_RULE_SETUP +#line 108 "easymesh/easymesh-scanner.l" { return token::T_TORUS; } YY_BREAK -case 41: +case 56: YY_RULE_SETUP -#line 95 "easymesh/easymesh-scanner.l" +#line 110 "easymesh/easymesh-scanner.l" { uint32_t tmp = std::strtol(yytext + 1, NULL, 16); yylval->u32val = 0x11000000u * (tmp >> 8) @@ -907,9 +997,9 @@ YY_RULE_SETUP | 0x000000ffu; return token::COLOR; } YY_BREAK -case 42: +case 57: YY_RULE_SETUP -#line 102 "easymesh/easymesh-scanner.l" +#line 117 "easymesh/easymesh-scanner.l" { uint32_t tmp = std::strtol(yytext + 1, NULL, 16); yylval->u32val = 0x11000000u * (tmp >> 12) @@ -918,64 +1008,64 @@ YY_RULE_SETUP | 0x00000011u * (tmp & 0xf); return token::COLOR; } YY_BREAK -case 43: +case 58: YY_RULE_SETUP -#line 109 "easymesh/easymesh-scanner.l" +#line 124 "easymesh/easymesh-scanner.l" { yylval->u32val = 0xffu | 0x100u * (uint32_t)std::strtol(yytext + 1, NULL, 16); return token::COLOR; } YY_BREAK -case 44: +case 59: YY_RULE_SETUP -#line 113 "easymesh/easymesh-scanner.l" +#line 128 "easymesh/easymesh-scanner.l" { yylval->u32val = (uint32_t)std::strtol(yytext + 1, NULL, 16); return token::COLOR; } YY_BREAK -case 45: +case 60: YY_RULE_SETUP -#line 116 "easymesh/easymesh-scanner.l" +#line 131 "easymesh/easymesh-scanner.l" { yylval->fval = std::atof(yytext); return token::NUMBER; } YY_BREAK -case 46: +case 61: YY_RULE_SETUP -#line 118 "easymesh/easymesh-scanner.l" +#line 133 "easymesh/easymesh-scanner.l" { return token_type('-'); } YY_BREAK -case 47: +case 62: YY_RULE_SETUP -#line 119 "easymesh/easymesh-scanner.l" +#line 134 "easymesh/easymesh-scanner.l" { return token_type('['); } YY_BREAK -case 48: +case 63: YY_RULE_SETUP -#line 120 "easymesh/easymesh-scanner.l" +#line 135 "easymesh/easymesh-scanner.l" { return token_type(']'); } YY_BREAK -case 49: +case 64: YY_RULE_SETUP -#line 121 "easymesh/easymesh-scanner.l" +#line 136 "easymesh/easymesh-scanner.l" { /* ignore this */ } YY_BREAK -case 50: -/* rule 50 can match eol */ +case 65: +/* rule 65 can match eol */ YY_RULE_SETUP -#line 122 "easymesh/easymesh-scanner.l" +#line 137 "easymesh/easymesh-scanner.l" { /* ignore this */ } YY_BREAK -case 51: +case 66: YY_RULE_SETUP -#line 123 "easymesh/easymesh-scanner.l" +#line 138 "easymesh/easymesh-scanner.l" { return token::T_ERROR; } YY_BREAK -case 52: +case 67: YY_RULE_SETUP -#line 125 "easymesh/easymesh-scanner.l" +#line 140 "easymesh/easymesh-scanner.l" ECHO; YY_BREAK -#line 979 "generated/easymesh-scanner.cpp" +#line 1069 "generated/easymesh-scanner.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1357,7 +1447,7 @@ int yyFlexLexer::yy_get_next_buffer() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 83 ) + if ( yy_current_state >= 106 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1385,11 +1475,11 @@ int yyFlexLexer::yy_get_next_buffer() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 83 ) + if ( yy_current_state >= 106 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 82); + yy_is_jam = (yy_current_state == 105); return yy_is_jam ? 0 : yy_current_state; } @@ -1876,7 +1966,7 @@ void EasyMeshfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 125 "easymesh/easymesh-scanner.l" +#line 140 "easymesh/easymesh-scanner.l" diff --git a/test/MeshViewerBuffer.txt b/test/MeshViewerBuffer.txt index 863b803b..3d24da80 100644 --- a/test/MeshViewerBuffer.txt +++ b/test/MeshViewerBuffer.txt @@ -1,7 +1,11 @@ //[sc#88f ab 4 4 4 tx 4 ab 4 4 4 tx -2 tax .4 .4 0] //[sc#88f ab 4 4 4] -//[sc#ff2 asph 2 4 tx 4 tax 1 1 0] -[sc#ff2 asph 2 4] +//[sc#88f ab .25 1 1 tx .25 ab .25 1 1 tx .25 ab .25 1 1 tx .25 ab .25 1 1 tx .125 stx 10 0 0] +[sc#ff2 scb#2ff acg 13 2 1 1 8 8 4 4 0 1 tax -2 0 0 0] +//[sc#88f ab 4 4 4 tx 4 ab 4 4 4 tx -2 shz 1 0 0 0] +//[sc#ff2 asph 4 4 shx 0 0 0 0] +//[sc#ff2 asph 4 4 tax .4 .4 0] +//[sc#ff2 asph 2 4] //[sc#ff2 acap 1 4 4] //[sc#ff2 scb#ff2 ac 10 4 4 4 0 0 1] //[sc#ff2 scb#ff2 ad 10 4 0]