diff --git a/LevelEditor.aps b/LevelEditor.aps
new file mode 100644
index 0000000..8a4d286
Binary files /dev/null and b/LevelEditor.aps differ
diff --git a/LevelEditor.ico b/LevelEditor.ico
new file mode 100644
index 0000000..9432338
Binary files /dev/null and b/LevelEditor.ico differ
diff --git a/LevelEditor.rc b/LevelEditor.rc
new file mode 100644
index 0000000..ab74102
--- /dev/null
+++ b/LevelEditor.rc
@@ -0,0 +1,71 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// ������� (������) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
+LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
+#pragma code_page(1251)
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""winres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+MAINICON ICON "F:\Personal\NewEra\LevelEditor\LevelEditor.ico"
+
+#endif // ������� (������) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/LevelEditor.sln b/LevelEditor.sln
new file mode 100644
index 0000000..025be0b
--- /dev/null
+++ b/LevelEditor.sln
@@ -0,0 +1,43 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32210.238
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LevelEditor", "LevelEditor.vcxproj", "{CF405046-C228-47E9-9405-60B0AB6E445D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug Dynamic|x64 = Debug Dynamic|x64
+ Debug Dynamic|x86 = Debug Dynamic|x86
+ Debug Static|x64 = Debug Static|x64
+ Debug Static|x86 = Debug Static|x86
+ Release Dynamic|x64 = Release Dynamic|x64
+ Release Dynamic|x86 = Release Dynamic|x86
+ Release Static|x64 = Release Static|x64
+ Release Static|x86 = Release Static|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Debug Dynamic|x64.ActiveCfg = Debug Dynamic|x64
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Debug Dynamic|x64.Build.0 = Debug Dynamic|x64
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Debug Dynamic|x86.ActiveCfg = Debug Dynamic|Win32
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Debug Dynamic|x86.Build.0 = Debug Dynamic|Win32
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Debug Static|x64.ActiveCfg = Debug Static|x64
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Debug Static|x64.Build.0 = Debug Static|x64
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Debug Static|x86.ActiveCfg = Debug Static|Win32
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Debug Static|x86.Build.0 = Debug Static|Win32
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Release Dynamic|x64.ActiveCfg = Release Dynamic|x64
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Release Dynamic|x64.Build.0 = Release Dynamic|x64
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Release Dynamic|x86.ActiveCfg = Release Dynamic|Win32
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Release Dynamic|x86.Build.0 = Release Dynamic|Win32
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Release Static|x64.ActiveCfg = Release Static|x64
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Release Static|x64.Build.0 = Release Static|x64
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Release Static|x86.ActiveCfg = Release Static|Win32
+ {CF405046-C228-47E9-9405-60B0AB6E445D}.Release Static|x86.Build.0 = Release Static|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {88258895-C6E8-43E3-B56D-40CC02B608E2}
+ EndGlobalSection
+EndGlobal
diff --git a/LevelEditor.vcxproj b/LevelEditor.vcxproj
new file mode 100644
index 0000000..ca0ab62
--- /dev/null
+++ b/LevelEditor.vcxproj
@@ -0,0 +1,667 @@
+
+
+
+
+ Debug Dynamic
+ Win32
+
+
+ Debug Dynamic
+ x64
+
+
+ Debug Static
+ Win32
+
+
+ Release Dynamic
+ Win32
+
+
+ Release Dynamic
+ x64
+
+
+ Release Static
+ Win32
+
+
+ Debug Static
+ x64
+
+
+ Release Static
+ x64
+
+
+
+ 16.0
+ Win32Proj
+ {cf405046-c228-47e9-9405-60b0ab6e445d}
+ LevelEditor
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(SolutionDir)$(PlatformTarget)\bin\$(Configuration)\
+ $(SolutionDir)$(PlatformTarget)\temp\$(Configuration)\
+ Level Editor
+
+
+ true
+ $(SolutionDir)$(PlatformTarget)\bin\$(Configuration)\
+ $(SolutionDir)$(PlatformTarget)\temp\$(Configuration)\
+ Level Editor
+
+
+ false
+ $(SolutionDir)$(PlatformTarget)\bin\$(Configuration)\
+ $(SolutionDir)$(PlatformTarget)\temp\$(Configuration)\
+ Level Editor
+
+
+ false
+ $(SolutionDir)$(PlatformTarget)\bin\$(Configuration)\
+ $(SolutionDir)$(PlatformTarget)\temp\$(Configuration)\
+ Level Editor
+
+
+ true
+ $(SolutionDir)$(PlatformTarget)\bin\$(Configuration)\
+ $(SolutionDir)$(PlatformTarget)\temp\$(Configuration)\
+ Level Editor
+
+
+ true
+ $(SolutionDir)$(PlatformTarget)\bin\$(Configuration)\
+ $(SolutionDir)$(PlatformTarget)\temp\$(Configuration)\
+ Level Editor
+
+
+ false
+ $(SolutionDir)$(PlatformTarget)\bin\$(Configuration)\
+ $(SolutionDir)$(PlatformTarget)\temp\$(Configuration)\
+ Level Editor
+
+
+ false
+ $(SolutionDir)$(PlatformTarget)\bin\$(Configuration)\
+ $(SolutionDir)$(PlatformTarget)\temp\$(Configuration)\
+ Level Editor
+
+
+
+ Level3
+ true
+ SFML_STATIC;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ extlibs\include;%(AdditionalIncludeDirectories)
+ stdcpplatest
+ stdc17
+
+
+ Console
+ true
+ extlibs\lib\$(PlatformTarget);%(AdditionalLibraryDirectories)
+ sfml-network-s-d.lib;ws2_32.lib;sfml-audio-s-d.lib;ogg.lib;vorbis.lib;vorbisfile.lib;vorbisenc.lib;flac.lib;openal32.lib;sfml-graphics-s-d.lib;freetype.lib;sfml-window-s-d.lib;gdi32.lib;opengl32.lib;sfml-system-s-d.lib;winmm.lib;kernel32.lib;user32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\openal32.dll" "$(TargetDir)openal32.dll"
+mkdir "$(TargetDir)Data"
+copy /Y "$(SolutionDir)data" "$(TargetDir)Data\"
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ extlibs\include;%(AdditionalIncludeDirectories)
+ stdcpplatest
+ stdc17
+
+
+ Console
+ true
+ extlibs\lib\$(PlatformTarget)
+ sfml-network-d.lib;sfml-audio-d.lib;openal32.lib;sfml-graphics-d.lib;sfml-window-d.lib;sfml-system-d.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib
+
+
+
+
+ xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-audio-d-2.dll" "$(TargetDir)sfml-audio-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-graphics-d-2.dll" "$(TargetDir)sfml-graphics-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-network-d-2.dll" "$(TargetDir)sfml-network-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-system-d-2.dll" "$(TargetDir)sfml-system-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-window-d-2.dll" "$(TargetDir)sfml-window-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\openal32.dll" "$(TargetDir)openal32.dll"
+mkdir "$(TargetDir)Data"
+xcopy /Y "$(SolutionDir)data" "$(TargetDir)Data\"
+
+
+
+
+ Level3
+ true
+ true
+ true
+ SFML_STATIC;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ extlibs\include;%(AdditionalIncludeDirectories)
+ stdcpplatest
+ stdc17
+
+
+ Console
+ true
+ true
+ true
+ extlibs\lib\$(PlatformTarget);%(AdditionalLibraryDirectories)
+ sfml-network-s.lib;ws2_32.lib;sfml-audio-s.lib;ogg.lib;vorbis.lib;vorbisfile.lib;vorbisenc.lib;flac.lib;openal32.lib;sfml-graphics-s.lib;freetype.lib;sfml-window-s.lib;gdi32.lib;opengl32.lib;sfml-system-s.lib;winmm.lib;kernel32.lib;user32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\openal32.dll" "$(TargetDir)openal32.dll"
+mkdir "$(TargetDir)resources"
+copy /Y "$(SolutionDir)resources" "$(TargetDir)resources\"
+
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ extlibs\include;%(AdditionalIncludeDirectories)
+ stdcpplatest
+ stdc17
+
+
+ Console
+ true
+ true
+ true
+ extlibs\lib\$(PlatformTarget)
+ sfml-network.lib;sfml-audio.lib;openal32.lib;sfml-graphics.lib;sfml-window.lib;sfml-system.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-audio-2.dll" "$(TargetDir)sfml-audio-2.dll"
+copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-graphics-2.dll" "$(TargetDir)sfml-graphics-2.dll"
+copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-network-2.dll" "$(TargetDir)sfml-network-2.dll"
+copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-system-2.dll" "$(TargetDir)sfml-system-2.dll"
+copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-window-2.dll" "$(TargetDir)sfml-window-2.dll"
+copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\openal32.dll" "$(TargetDir)openal32.dll"
+mkdir "$(TargetDir)resources"
+copy /Y "$(SolutionDir)resources" "$(TargetDir)resources\"
+
+
+
+
+ Level3
+ true
+ SFML_STATIC;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ extlibs\include;%(AdditionalIncludeDirectories)
+ stdcpplatest
+ stdc17
+
+
+ Console
+ true
+ extlibs\lib\$(PlatformTarget);%(AdditionalLibraryDirectories)
+ sfml-network-s-d.lib;ws2_32.lib;sfml-audio-s-d.lib;ogg.lib;vorbis.lib;vorbisfile.lib;vorbisenc.lib;flac.lib;openal32.lib;sfml-graphics-s-d.lib;freetype.lib;sfml-window-s-d.lib;gdi32.lib;opengl32.lib;sfml-system-s-d.lib;winmm.lib;kernel32.lib;user32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ copy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\openal32.dll" "$(TargetDir)openal32.dll"
+mkdir "$(TargetDir)data"
+copy /Y "$(SolutionDir)data" "$(TargetDir)Data\"
+
+
+
+
+
+ Level3
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ extlibs\include;%(AdditionalIncludeDirectories)
+ stdcpplatest
+ stdc17
+
+
+ Console
+ true
+ extlibs\lib\$(PlatformTarget)
+ sfml-network-d.lib;sfml-audio-d.lib;openal32.lib;sfml-graphics-d.lib;sfml-window-d.lib;sfml-system-d.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib
+
+
+ xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-audio-d-2.dll" "$(TargetDir)sfml-audio-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-graphics-d-2.dll" "$(TargetDir)sfml-graphics-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-network-d-2.dll" "$(TargetDir)sfml-network-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-system-d-2.dll" "$(TargetDir)sfml-system-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-window-d-2.dll" "$(TargetDir)sfml-window-d-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\openal32.dll" "$(TargetDir)openal32.dll"
+mkdir "$(TargetDir)Data"
+xcopy /Y "$(SolutionDir)data" "$(TargetDir)Data\"
+
+
+
+
+ Level3
+ true
+ true
+ true
+ SFML_STATIC;NDEBUG;%(PreprocessorDefinitions)
+ true
+ extlibs\include;%(AdditionalIncludeDirectories)
+ stdcpplatest
+ stdc17
+
+
+ Windows
+ true
+ true
+ true
+ extlibs\lib\$(PlatformTarget);%(AdditionalLibraryDirectories)
+ sfml-network-s.lib;ws2_32.lib;sfml-audio-s.lib;ogg.lib;vorbis.lib;vorbisfile.lib;vorbisenc.lib;flac.lib;openal32.lib;sfml-graphics-s.lib;freetype.lib;sfml-window-s.lib;gdi32.lib;opengl32.lib;sfml-system-s.lib;winmm.lib;kernel32.lib;user32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\openal32.dll" "$(TargetDir)openal32.dll"
+mkdir "$(TargetDir)data"
+xcopy /Y "$(SolutionDir)data" "$(TargetDir)Data\"
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+ extlibs\include;%(AdditionalIncludeDirectories)
+ stdcpplatest
+ stdc17
+
+
+ Console
+ true
+ true
+ true
+ extlibs\lib\$(PlatformTarget)
+ sfml-network.lib;sfml-audio.lib;openal32.lib;sfml-graphics.lib;sfml-window.lib;sfml-system.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-audio-2.dll" "$(TargetDir)sfml-audio-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-graphics-2.dll" "$(TargetDir)sfml-graphics-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-network-2.dll" "$(TargetDir)sfml-network-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-system-2.dll" "$(TargetDir)sfml-system-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\sfml-window-2.dll" "$(TargetDir)sfml-window-2.dll"
+xcopy /Y "$(SolutionDir)extlibs\bin\$(PlatformTarget)\openal32.dll" "$(TargetDir)openal32.dll"
+mkdir "$(TargetDir)data"
+xcopy /Y "$(SolutionDir)data" "$(TargetDir)Data\"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LevelEditor.vcxproj.filters b/LevelEditor.vcxproj.filters
new file mode 100644
index 0000000..8101ddf
--- /dev/null
+++ b/LevelEditor.vcxproj.filters
@@ -0,0 +1,817 @@
+
+
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {43f9ec9b-a1f5-4635-8e35-cb951207c1e7}
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {841d8283-a709-45e9-a349-e800855953f0}
+
+
+ {bcaa1fc7-242a-47e4-99be-6b8dc742c7cb}
+
+
+ {4cfdd2b6-63f8-402e-afc7-c56faffbfb99}
+
+
+ {1559f7b0-0a8f-4990-bdc5-0b5ad8f13fca}
+
+
+ {f2c73a20-375e-4d34-9d3e-c79f34ef4566}
+
+
+ {40fec82c-55c8-4107-92f3-0e35d5e9818b}
+
+
+ {879ed845-2bb1-4219-a24f-756ddfac61e6}
+
+
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Source\Controls
+
+
+ Source\Controls
+
+
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Libraries
+
+
+ Header Files\Utility
+
+
+ Header Files\Utility
+
+
+ Header Files\Utility
+
+
+ Header Files\Utility
+
+
+ Header Files\Utility
+
+
+ Header Files\Utility
+
+
+ Header Files\Main
+
+
+ Header Files\Main
+
+
+ Header Files\Main
+
+
+ Header Files\Themes
+
+
+ Header Files\Themes
+
+
+ Header Files\Themes
+
+
+ Header Files\Themes
+
+
+ Header Files\Controls
+
+
+ Header Files\Controls
+
+
+ Header Files\Controls
+
+
+ Header Files\Controls
+
+
+ Header Files\Controls
+
+
+ Header Files\Controls
+
+
+ Header Files\Controls
+
+
+ Header Files\Controls
+
+
+ Header Files\Utility
+
+
+ Header Files\Controls
+
+
+ Header Files\Utility
+
+
+ Header Files\Controls
+
+
+ Header Files\Main
+
+
+ Header Files
+
+
+
+
+ Source\Controls
+
+
+ Source\Controls
+
+
+ Source\Controls
+
+
+ Source\Controls
+
+
+ Source\Controls
+
+
+ Source\Controls
+
+
+ Source\Utility
+
+
+ Source\Utility
+
+
+ Source\Utility
+
+
+ Source\Main
+
+
+ Source\Main
+
+
+ Source\Main
+
+
+ Source\Utility
+
+
+ Source\Controls
+
+
+ Source\Controls
+
+
+ Source\Main
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LevelEditor.vcxproj.user b/LevelEditor.vcxproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/LevelEditor.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/data/Plugins/Layouts/Standard.json b/data/Plugins/Layouts/Standard.json
new file mode 100644
index 0000000..76746cc
--- /dev/null
+++ b/data/Plugins/Layouts/Standard.json
@@ -0,0 +1,5698 @@
+{
+ "intendedResolution": { "x": 1920, "y": 1080 },
+ "starterScene": "main_menu",
+ "scenes":
+ {
+ "main_menu":
+ {
+ "background": "title_screen",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": true, "min": { "x": -1318, "y": -1 }, "max": { "x": 0, "y": 1 }, "step": { "x": 1, "y": 0 } },
+ "music": "title_screen",
+ "controls":
+ {
+ "title_screen_static":
+ {
+ "controlType": "Control",
+ "theme": "title_screen_static",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 1080 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "title_screen_logo":
+ {
+ "controlType": "Control",
+ "theme": "logo",
+ "position": { "x": 300, "y": 41 },
+ "size": { "x": 1320, "y": 393 },
+ "bgRect": { "left": 0, "top": 0, "width": 1320, "height": 393 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "close":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1779, "y": 20 },
+ "size": { "x": 121, "y": 121 },
+ "bgRect": { "left": 0, "top": 728, "width": 121, "height": 121 },
+ "bgActiveRect": { "left": 121, "top": 728, "width": 121, "height": 121 },
+ "text": "",
+ "action": { "arguments": [ "" ], "actionType": "close" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "new_level":
+ {
+ "controlType": "Button",
+ "theme": "title_screen",
+ "textTheme": "new_level",
+ "position": { "x": 720, "y": 527 },
+ "size": { "x": 480, "y": 140 },
+ "bgRect": { "left": 0, "top": 0, "width": 480, "height": 140 },
+ "bgActiveRect": { "left": 480, "top": 0, "width": 480, "height": 140 },
+ "text": "newLevel",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor1", "new_level", "play_from_start" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "extra":
+ {
+ "controlType": "Button",
+ "theme": "title_screen",
+ "textTheme": "extra",
+ "position": { "x": 720, "y": 802 },
+ "size": { "x": 480, "y": 140 },
+ "bgRect": { "left": 0, "top": 280, "width": 480, "height": 140 },
+ "bgActiveRect": { "left": 480, "top": 280, "width": 480, "height": 140 },
+ "text": "extras",
+ "action": { "actionType": "changeScene", "arguments": [ "extra_menu" ] },
+ "visible": true,
+ "enabled": true
+ }
+ }
+ },
+
+ "main_editor1":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "name":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 330, "y": 200 },
+ "size": { "x": 320, "y": 60 },
+ "bgRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "bgActiveRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "buttonTheme": "default",
+ "text": "[EGYPT_LEVEL_NAME]",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "name_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 230 },
+ "size": { "x": 0, "y": 0 },
+ "text": "name",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "description":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 330, "y": 300 },
+ "size": { "x": 320, "y": 60 },
+ "bgRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "bgActiveRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "buttonTheme": "default",
+ "text": "[PLAYERS_TRIP_TO_EGYPT]",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "description_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 330 },
+ "size": { "x": 0, "y": 0 },
+ "text": "description",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "level_number":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 402 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 250,
+ "visible": true,
+ "enabled": true
+ },
+
+ "level_number_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 430 },
+ "size": { "x": 0, "y": 0 },
+ "text": "level_number",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "loot":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 330, "y": 500 },
+ "size": { "x": 320, "y": 60 },
+ "bgRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "bgActiveRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "buttonTheme": "default",
+ "text": "DefaultLoot",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "loot_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 530 },
+ "size": { "x": 0, "y": 0 },
+ "text": "loot",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "normal_present_table":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 425, "y": 600 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "egypt_normal_01",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "normal_present_table_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 630 },
+ "size": { "x": 0, "y": 0 },
+ "text": "normal_present_table",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "shiny_present_table":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 425, "y": 700 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "egypt_shiny_01",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "shiny_present_table_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 730 },
+ "size": { "x": 0, "y": 0 },
+ "text": "shiny_present_table",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "intro":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 330, "y": 800 },
+ "size": { "x": 320, "y": 60 },
+ "bgRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "bgActiveRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "buttonTheme": "default",
+ "text": "StandardIntro",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "intro_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 830 },
+ "size": { "x": 0, "y": 0 },
+ "text": "intro",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "outro":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 330, "y": 900 },
+ "size": { "x": 320, "y": 60 },
+ "bgRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "bgActiveRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "buttonTheme": "default",
+ "text": "VictoryOutro",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "outro_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 930 },
+ "size": { "x": 0, "y": 0 },
+ "text": "outro",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "completion_achievement":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 330, "y": 1000 },
+ "size": { "x": 320, "y": 60 },
+ "bgRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "bgActiveRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "buttonTheme": "default",
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "completion_achievement_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 1030 },
+ "size": { "x": 0, "y": 0 },
+ "text": "completion_achievement",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "first_intro":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 975, "y": 200 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "first_intro_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 230 },
+ "size": { "x": 0, "y": 0 },
+ "text": "first_intro",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "repeat_intro":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 975, "y": 300 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "repeat_intro_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 330 },
+ "size": { "x": 0, "y": 0 },
+ "text": "repeat_intro",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "first_outro":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 975, "y": 400 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "first_outro_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 430 },
+ "size": { "x": 0, "y": 0 },
+ "text": "first_outro",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "repeat_outro":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 975, "y": 500 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "repeat_outro_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 530 },
+ "size": { "x": 0, "y": 0 },
+ "text": "repeat_outro",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "force_world_map":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1109, "y": 586 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "checked": false,
+ "enabled": true
+ },
+
+ "force_world_map_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 630 },
+ "size": { "x": 0, "y": 0 },
+ "text": "force_world_map",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "repeat_force_world_map":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1109, "y": 686 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "checked": false,
+ "enabled": true
+ },
+
+ "repeat_force_world_map_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 730 },
+ "size": { "x": 0, "y": 0 },
+ "text": "repeat_force_world_map",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "force_next_level":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 975, "y": 800 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "force_next_level_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 830 },
+ "size": { "x": 0, "y": 0 },
+ "text": "force_next_level",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "force_warp":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1109, "y": 886 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "checked": false,
+ "enabled": true
+ },
+
+ "force_warp_tunnel":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 930 },
+ "size": { "x": 0, "y": 0 },
+ "text": "force_warp_tunnel",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "disable_restart":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1109, "y": 986 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "checked": false,
+ "enabled": true
+ },
+
+ "disable_restart_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 1030 },
+ "size": { "x": 0, "y": 0 },
+ "text": "disable_restart",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "first_reward_type":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1555, "y": 205 },
+ "size": { "x": 150, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "none", "collectable", "unlock_plant", "pinata", "upgrade", "note", "worldtrophy", "giftbox", "powerupgadget" ],
+ "scrollTime": 250,
+ "index": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "first_reward_type_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 230 },
+ "size": { "x": 0, "y": 0 },
+ "text": "first_reward_type",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "first_reward_param":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1527, "y": 300 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "first_reward_param_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 330 },
+ "size": { "x": 0, "y": 0 },
+ "text": "first_reward_param",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "repeat_reward_type":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1555, "y": 405 },
+ "size": { "x": 150, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "none", "collectable", "unlock_plant", "pinata", "upgrade", "note", "worldtrophy", "giftbox", "powerupgadget" ],
+ "scrollTime": 250,
+ "index": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "repeat_reward_type_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 430 },
+ "size": { "x": 0, "y": 0 },
+ "text": "repeat_reward_type",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "repeat_reward_param":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1527, "y": 500 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "repeat_reward_param_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 530 },
+ "size": { "x": 0, "y": 0 },
+ "text": "repeat_reward_param",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "game_features_to_unlock":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1525, "y": 600 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor12", "not_restart_music" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "game_features_to_unlock_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 630 },
+ "size": { "x": 0, "y": 0 },
+ "text": "game_features_to_unlock",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "music_type":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1555, "y": 700 },
+ "size": { "x": 150, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "Default", "MiniGame_A", "MiniGame_B", "Zomboss" ],
+ "scrollTime": 250,
+ "index": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "music_type_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 730 },
+ "size": { "x": 0, "y": 0 },
+ "text": "music_type",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "plant_level":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1510, "y": 800 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 240,
+ "step": 1,
+ "value": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 250,
+ "visible": true,
+ "enabled": true
+ },
+
+ "plant_level_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 830 },
+ "size": { "x": 0, "y": 0 },
+ "text": "plant_level",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "zombie_level":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1510, "y": 900 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 240,
+ "step": 1,
+ "value": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 250,
+ "visible": true,
+ "enabled": true
+ },
+
+ "zombie_level_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 930 },
+ "size": { "x": 0, "y": 0 },
+ "text": "zombie_level",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "grid_item_level":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1510, "y": 1000 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 240,
+ "step": 1,
+ "value": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 250,
+ "visible": true,
+ "enabled": true
+ },
+
+ "grid_item_level_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 1030 },
+ "size": { "x": 0, "y": 0 },
+ "text": "grid_item_level",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "border1":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 280 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border2":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 380 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border3":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 480 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border4":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 580 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border5":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 680 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border6":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 780 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border7":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 880 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border8":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 980 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_menu" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "filename":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1000, "y": 36 },
+ "size": { "x": 320, "y": 60 },
+ "bgRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "bgActiveRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "first1":
+ {
+ "controlType": "Control",
+ "theme": "title_close",
+ "position": { "x": 137, "y": 42 },
+ "size": { "x": 162, "y": 100 },
+ "bgRect": { "left": 1298, "top": 0, "width": 162, "height": 100 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "second1":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 299, "y": 42 },
+ "size": { "x": 162, "y": 75 },
+ "bgRect": { "left": 1136, "top": 100, "width": 162, "height": 75 },
+ "bgActiveRect": { "left": 1298, "top": 100, "width": 162, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "third1":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 461, "y": 42 },
+ "size": { "x": 162, "y": 75 },
+ "bgRect": { "left": 1136, "top": 200, "width": 162, "height": 75 },
+ "bgActiveRect": { "left": 1298, "top": 200, "width": 162, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor10", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "first_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 218, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "1",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "second_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 380, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "2",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "third_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 542, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "3",
+ "rotationAngle": 0,
+ "enabled": true
+ }
+ }
+ },
+
+ "main_editor2":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "seed_bank":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 519, "y": 186 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": {
+ "actionType": "setEnabled",
+ "arguments": [
+ "starting_sun", "add_bonus_starting_sun", "seed_selection_type", "preset_plants",
+ "starting_sun_label", "add_bonus_starting_sun_label", "seed_selection_type_label", "preset_plants_label"
+ ]
+ },
+ "visible": true,
+ "checked": true,
+ "enabled": true
+ },
+
+ "seed_bank_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 230 },
+ "size": { "x": 0, "y": 0 },
+ "text": "seed_bank",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "starting_sun":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 300 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 25,
+ "value": 50,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+
+ "starting_sun_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 330 },
+ "size": { "x": 0, "y": 0 },
+ "text": "starting_sun",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "add_bonus_starting_sun":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 519, "y": 386 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "checked": true,
+ "enabled": true
+ },
+
+ "add_bonus_starting_sun_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 430 },
+ "size": { "x": 0, "y": 0 },
+ "text": "add_bonus_starting_sun",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "seed_selection_type":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 455, "y": 505 },
+ "size": { "x": 150, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "chooser", "preset", "beghouled" ],
+ "scrollTime": 250,
+ "index": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "seed_selection_type_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 530 },
+ "size": { "x": 0, "y": 0 },
+ "text": "seed_selection_type",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "preset_plants":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 413, "y": 600 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor11", "not_restart_music" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "preset_plants_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 630 },
+ "size": { "x": 0, "y": 0 },
+ "text": "preset_plants",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "conveyor_belt":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 519, "y": 686 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": {
+ "actionType": "setEnabled",
+ "arguments":[
+ "conveyor_speed", "max_packets", "initial_plants_list", "drop_delay_conditions",
+ "conveyor_speed_label", "max_packets_label", "initial_plants_list_label", "drop_delay_conditions_label"
+ ]
+ },
+ "visible": true,
+ "checked": false,
+ "enabled": true
+ },
+
+ "conveyor_belt_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 730 },
+ "size": { "x": 0, "y": 0 },
+ "text": "conveyor_belt",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "conveyor_speed":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 800 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 100,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": false
+ },
+
+ "conveyor_speed_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 830 },
+ "size": { "x": 0, "y": 0 },
+ "text": "conveyor_speed",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "max_packets":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 900 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 10,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": false
+ },
+
+ "max_packets_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 930 },
+ "size": { "x": 0, "y": 0 },
+ "text": "max_packets",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "initial_plants_list":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 975, "y": 200 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor3", "not_restart_music" ] },
+ "visible": true,
+ "enabled": false
+ },
+
+ "initial_plants_list_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 230 },
+ "size": { "x": 0, "y": 0 },
+ "text": "initial_plants_list",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "drop_delay_conditions":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 975, "y": 300 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor4", "not_restart_music" ] },
+ "visible": true,
+ "enabled": false
+ },
+
+ "drop_delay_conditions_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 330 },
+ "size": { "x": 0, "y": 0 },
+ "text": "drop_delay_conditions",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "gravestones":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1081, "y": 386 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": {
+ "actionType": "setEnabled",
+ "arguments": [
+ "gravestone_count", "grave_spawn_column_start", "grave_spawn_column_end", "force_spawn",
+ "gravestone_count_label", "grave_spawn_column_start_label", "grave_spawn_column_end_label", "force_spawn_label"
+ ]
+ },
+ "visible": true,
+ "checked": false,
+ "enabled": true
+ },
+
+ "gravestones_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 430 },
+ "size": { "x": 0, "y": 0 },
+ "text": "gravestones",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "gravestone_count":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 975, "y": 500 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 10,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": false
+ },
+
+ "gravestone_count_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 530 },
+ "size": { "x": 0, "y": 0 },
+ "text": "gravestone_count",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "grave_spawn_column_start":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 975, "y": 600 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 8,
+ "step": 1,
+ "value": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": false
+ },
+
+ "grave_spawn_column_start_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 630 },
+ "size": { "x": 0, "y": 0 },
+ "text": "grave_spawn_column_start",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "grave_spawn_column_end":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 975, "y": 700 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 8,
+ "step": 1,
+ "value": 8,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": false
+ },
+
+ "grave_spawn_column_end_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 730 },
+ "size": { "x": 0, "y": 0 },
+ "text": "grave_spawn_column_end",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "force_spawn":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 975, "y": 800 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor5", "not_restart_music" ] },
+ "visible": true,
+ "enabled": false
+ },
+
+ "force_spawn_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 830 },
+ "size": { "x": 0, "y": 0 },
+ "text": "force_spawn",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "initial_plants":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 975, "y": 900 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor6", "not_restart_music" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "initial_plants_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 930 },
+ "size": { "x": 0, "y": 0 },
+ "text": "initial_plants",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "initial_zombies":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 975, "y": 1000 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor7", "not_restart_music" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "initial_zombies_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 700, "y": 1030 },
+ "size": { "x": 0, "y": 0 },
+ "text": "initial_zombies",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "initial_grid_items":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1525, "y": 200 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor8", "not_restart_music" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "initial_grid_items_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 230 },
+ "size": { "x": 0, "y": 0 },
+ "text": "initial_grid_items",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "power_tiles":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1525, "y": 300 },
+ "size": { "x": 200, "y": 63 },
+ "bgRect": { "left": 0, "top": 849, "width": 200, "height": 67 },
+ "bgActiveRect": { "left": 0, "top": 916, "width": 200, "height": 67 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "main_editor9", "not_restart_music" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "power_tiles_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 330 },
+ "size": { "x": 0, "y": 0 },
+ "text": "power_tiles",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "sun_dropper":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1633, "y": 386 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "setEnabled", "arguments": [ "sun_dropper_type", "sun_dropper_type_label" ] },
+ "visible": true,
+ "checked": true,
+ "enabled": true
+ },
+
+ "sun_dropper_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 430 },
+ "size": { "x": 0, "y": 0 },
+ "text": "sun_dropper",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "sun_dropper_type":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1555, "y": 505 },
+ "size": { "x": 150, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "Slowest", "Slow", "Default", "Fast", "Fastest" ],
+ "scrollTime": 250,
+ "index": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "sun_dropper_type_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 530 },
+ "size": { "x": 0, "y": 0 },
+ "text": "sun_dropper_type",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "last_stand":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1633, "y": 586 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": {
+ "actionType": "setEnabled",
+ "arguments": [
+ "starting_plantfood", "starting_laststand_sun",
+ "starting_plantfood_label", "starting_laststand_sun_label"
+ ]
+ },
+ "visible": true,
+ "checked": false,
+ "enabled": true
+ },
+
+ "last_stand_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 630 },
+ "size": { "x": 0, "y": 0 },
+ "text": "last_stand",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "starting_plantfood":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1510, "y": 700 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 240,
+ "step": 1,
+ "value": 1,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 250,
+ "visible": true,
+ "enabled": false
+ },
+
+ "starting_plantfood_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 730 },
+ "size": { "x": 0, "y": 0 },
+ "text": "starting_plantfood",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "starting_laststand_sun":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1510, "y": 800 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 25,
+ "value": 2000,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 250,
+ "visible": true,
+ "enabled": false
+ },
+
+ "starting_laststand_sun_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 830 },
+ "size": { "x": 0, "y": 0 },
+ "text": "starting_sun",
+ "rotationAngle": 0,
+ "enabled": false
+ },
+
+ "stage":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1555, "y": 905 },
+ "size": { "x": 150, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "TutorialStage", "FrontLawnStage", "EgyptStage", "PirateStage", "WestStage", "IceageStage", "LostCityStage", "FutureStage",
+ "DarkStage", "EightiesStage", "DinoStage", "BeachStage", "ModernStage", "JoustStage", "RiftStage" ],
+ "scrollTime": 250,
+ "index": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "stage_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 930 },
+ "size": { "x": 0, "y": 0 },
+ "text": "stage",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "lawnmowers":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1555, "y": 1005 },
+ "size": { "x": 150, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "None", "TutorialMowers", "EgyptMowers", "PirateMowers", "WestMowers", "IceageMowers", "LostCityMowers", "FutureMowers",
+ "DarkMowers", "EightiesMowers", "DinoMowers", "BeachMowers", "ModernMowers", "JoustMowers" ],
+ "scrollTime": 250,
+ "index": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "lawnmowers_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 1250, "y": 1030 },
+ "size": { "x": 0, "y": 0 },
+ "text": "lawnmowers",
+ "rotationAngle": 0,
+ "enabled": true
+ },
+
+ "border9":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 280 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border10":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 380 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border11":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 480 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border12":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 580 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border13":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 680 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border14":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 780 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border15":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 880 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border16":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 980 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top2":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button2":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_menu" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+
+ "first2":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 137, "y": 42 },
+ "size": { "x": 162, "y": 100 },
+ "bgRect": { "left": 1136, "top": 0, "width": 162, "height": 100 },
+ "bgActiveRect": { "left": 1298, "top": 0, "width": 162, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor1", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "second2":
+ {
+ "controlType": "Control",
+ "theme": "title_close",
+ "position": { "x": 299, "y": 42 },
+ "size": { "x": 162, "y": 100 },
+ "bgRect": { "left": 1298, "top": 100, "width": 162, "height": 100 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "third2":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 461, "y": 42 },
+ "size": { "x": 162, "y": 75 },
+ "bgRect": { "left": 1136, "top": 200, "width": 162, "height": 75 },
+ "bgActiveRect": { "left": 1298, "top": 200, "width": 162, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor10", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "first_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 218, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "1",
+ "rotationAngle": 0
+ },
+
+ "second_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 380, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "2",
+ "rotationAngle": 0
+ },
+
+ "third_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 542, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "3",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor3":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "initial_plant_list":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 0, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 10,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 175, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 5,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 350, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 100,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 525, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 10,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 700, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 10,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 875, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "text": "peashooter",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 1150, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 100,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1325, "y": 0 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "checked": false,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": -30, "y": 100 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top3":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button3":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label1_1":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 30 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table1_1",
+ "rotationAngle": 0
+ },
+
+ "label1_2":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 75 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table1_2",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor4":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "drop_delay_conditions_table":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 0, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 10,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 175, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 5,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top4":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button4":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label2":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 59 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table2",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor5":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "force_spawn_list":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 0, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 10,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 175, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 5,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 350, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "text": "gravestone_dark",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": -30, "y": 100 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top4":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button4":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label3":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 59 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table3",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor6":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "initial_plants_table":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 0, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 8,
+ "step": 1,
+ "value": 1,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 175, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 350, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "text": "peashooter",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 600, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": -30, "y": 100 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top5":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button5":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label4":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 59 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table4",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor7":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "initial_zombies_table":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 0, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 8,
+ "step": 1,
+ "value": 5,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 175, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 8,
+ "step": 1,
+ "value": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 350, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "text": "tutorial",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 600, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "text": "",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": -30, "y": 100 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top7":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button7":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label6":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 59 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table4",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor8":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "initial_grid_items_table":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 0, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 5,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 175, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 375, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "text": "lilypad",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 150
+ },
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": -30, "y": 100 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top8":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button8":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label7":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 59 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table3",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor9":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "initial_powertiles_list":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 25, "y": 16 },
+ "size": { "x": 150, "y": 60 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "alpha", "beta", "gamma", "delta", "epsilon" ],
+ "scrollTime": 250,
+ "index": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 300, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 5,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 475, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "FloatNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 650, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": -30, "y": 100 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top8":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button8":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label7":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 59 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table5",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor10":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "supress_flag_zombie":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 519, "y": 186 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "setEnabled", "arguments": [ "starting_sun", "add_bonus_starting_sun", "seed_selection_type", "preset_plants" ] },
+ "visible": true,
+ "checked": true,
+ "enabled": true
+ },
+
+ "supress_flag_zombie_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 230 },
+ "size": { "x": 0, "y": 0 },
+ "text": "supress_flag_zombie",
+ "rotationAngle": 0
+ },
+
+ "flag_wave_interval":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 300 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 2,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+
+ "flag_wave_interval_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 330 },
+ "size": { "x": 0, "y": 0 },
+ "text": "flag_wave_interval",
+ "rotationAngle": 0
+ },
+
+ "nwmihp":
+ {
+ "controlType": "FloatNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 400 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 1,
+ "step": 0.1,
+ "value": 0.3,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+
+ "nwmihp_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 430 },
+ "size": { "x": 0, "y": 0 },
+ "text": "nwmihp",
+ "rotationAngle": 0
+ },
+
+ "nwmahp":
+ {
+ "controlType": "FloatNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 500 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 0.6,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+
+ "nwmahp_type_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 530 },
+ "size": { "x": 0, "y": 0 },
+ "text": "nwmahp",
+ "rotationAngle": 0
+ },
+
+ "wave_spending_points":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 600 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 100,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+
+ "wave_spending_points_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 630 },
+ "size": { "x": 0, "y": 0 },
+ "text": "wave_spending_points",
+ "rotationAngle": 0
+ },
+
+ "wave_spending_points_increment":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 413, "y": 700 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 4294967295,
+ "step": 1,
+ "value": 75,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+
+ "wave_spending_points_increment_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 730 },
+ "size": { "x": 0, "y": 0 },
+ "text": "wave_spending_points_increment",
+ "rotationAngle": 0
+ },
+
+ "waves_always_randomized":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 519, "y": 786 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "checked": true,
+ "enabled": true
+ },
+
+ "waves_always_randomized_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 830 },
+ "size": { "x": 0, "y": 0 },
+ "text": "waves_always_randomized",
+ "rotationAngle": 0
+ },
+
+ "level_jam":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 455, "y": 905 },
+ "size": { "x": 150, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 10,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "none", "jam_punk", "jam_pop", "jam_rap", "jam_metal", "jam_8bit", "jam_ballad" ],
+ "scrollTime": 250,
+ "index": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "level_jam_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label",
+ "position": { "x": 150, "y": 930 },
+ "size": { "x": 0, "y": 0 },
+ "text": "level_jam",
+ "rotationAngle": 0
+ },
+
+ "waves":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 700, "y": 200 },
+ "size": { "x": 1920, "y": 1080 },
+
+ "createButtonPosition": { "x": 1155, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 764, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 400,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 597, "y": 120 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 535, "y": 20 },
+ "sliderSize": { "x": 42, "y": 360 },
+ "sliderBgRect": { "left": 1502, "top": 0, "width": 42, "height": 360 },
+ "sliderBgFocusedRect": { "left": 1502, "top": 0, "width": 42, "height": 360 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 10, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "text": "tutorial",
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "IntNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 275, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": -2147483647,
+ "max": 2147483647,
+ "step": 1,
+ "value": -1,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 250
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 450, "y": 20 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 250
+ },
+
+ "visible": true,
+ "enabled": true,
+ "minYPosition": 250
+ },
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 597, "y": 220 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 2147483647,
+ "step": 1,
+ "value": 0,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 0, "y": 400 },
+ "size": { "x": 1120, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1120, "height": 4 },
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 597, "y": 20 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border9":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 280 },
+ "size": { "x": 550, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 550, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border10":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 380 },
+ "size": { "x": 550, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 550, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border11":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 480 },
+ "size": { "x": 550, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 550, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border12":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 580 },
+ "size": { "x": 550, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 550, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border13":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 680 },
+ "size": { "x": 550, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 550, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border14":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 780 },
+ "size": { "x": 550, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 550, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border15":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 880 },
+ "size": { "x": 550, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 550, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "border16":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 980 },
+ "size": { "x": 550, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 550, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top2":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button2":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_menu" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "first3":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 137, "y": 42 },
+ "size": { "x": 162, "y": 100 },
+ "bgRect": { "left": 1136, "top": 0, "width": 162, "height": 100 },
+ "bgActiveRect": { "left": 1298, "top": 0, "width": 162, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor1", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "second3":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 299, "y": 42 },
+ "size": { "x": 162, "y": 75 },
+ "bgRect": { "left": 1136, "top": 100, "width": 162, "height": 75 },
+ "bgActiveRect": { "left": 1298, "top": 100, "width": 162, "height": 75 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "third3":
+ {
+ "controlType": "Control",
+ "theme": "title_close",
+ "position": { "x": 461, "y": 42 },
+ "size": { "x": 162, "y": 100 },
+ "bgRect": { "left": 1298, "top": 200, "width": 162, "height": 100 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "first_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 218, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "1",
+ "rotationAngle": 0
+ },
+
+ "second_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 380, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "2",
+ "rotationAngle": 0
+ },
+
+ "third_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 542, "y": 80 },
+ "size": { "x": 0, "y": 0 },
+ "text": "3",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor11":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "preset_plants_list":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 0, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "text": "",
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "IntNumeric",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 250, "y": 16 },
+ "size": { "x": 100, "y": 60 },
+ "bgRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "bgActiveRect": { "left": 768, "top": 420, "width": 103, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": -1,
+ "max": 2147483647,
+ "step": 1,
+ "value": -1,
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "scrollTime": 500,
+ "visible": true,
+ "enabled": true
+ },
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": -30, "y": 100 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top8":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button8":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor2", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label7":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 59 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table6",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "main_editor12":
+ {
+ "background": "main_editor",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "main_editor",
+ "controls":
+ {
+ "game_features_list":
+ {
+ "controlType": "Table",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 150, "y": 200 },
+ "size": { "x": 1700, "y": 900 },
+
+ "createButtonPosition": { "x": 1700, "y": 400 },
+ "createButtonSize": { "x": 50, "y": 50 },
+ "createButtonBgRect": { "left": 458, "top": 659, "width": 50, "height": 50 },
+ "createButtonBgFocusedRect": { "left": 508, "top": 659, "width": 50, "height": 50 },
+
+ "sliderPosition": { "x": 1465, "y": 10 },
+ "sliderSize": { "x": 42, "y": 832 },
+ "sliderBgRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderBgFocusedRect": { "left": 1460, "top": 0, "width": 42, "height": 832 },
+ "sliderThumbSize": { "x": 50, "y": 80 },
+ "sliderThumb": { "left": 294, "top": 420, "width": 50, "height": 80 },
+
+ "scrollMultiplier": 1.5,
+ "rowOffset": 100,
+
+ "rowConstructors":
+ [
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "inputControlTheme": "default",
+ "position": { "x": 0, "y": 16 },
+ "size": { "x": 225, "y": 60 },
+ "bgRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "bgActiveRect": { "left": 693, "top": 517, "width": 228, "height": 63 },
+ "action": { "actionType": "", "arguments": [ "" ] },
+ "text": "",
+ "visible": true,
+ "enabled": true
+ }
+ ],
+ "rowEraseButton":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1550, "y": 21 },
+ "size": { "x": 50, "y": 50 },
+ "bgRect": { "left": 910, "top": 469, "width": 50, "height": 50 },
+ "bgActiveRect": { "left": 871, "top": 420, "width": 50, "height": 50 },
+ "visible": true,
+ "enabled": true
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_editor_top8":
+ {
+ "controlType": "Control",
+ "theme": "main_editor_top",
+ "position": { "x": 0, "y": 0 },
+ "size": { "x": 1920, "y": 177 },
+ "bgRect": { "left": 0, "top": 0, "width": 1920, "height": 177 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "main_back_button8":
+ {
+ "controlType": "Button",
+ "theme": "title_close",
+ "textTheme": "empty",
+ "position": { "x": 1674, "y": 18 },
+ "size": { "x": 110, "y": 100 },
+ "bgRect": { "left": 238, "top": 609, "width": 110, "height": 100 },
+ "bgActiveRect": { "left": 348, "top": 609, "width": 110, "height": 100 },
+ "text": "",
+ "action": { "arguments": [ "main_editor1", "not_restart_music" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json":
+ {
+ "controlType": "Button",
+ "theme": "clickable_control",
+ "textTheme": "editor_input_field",
+ "position": { "x": 1378, "y": -5 },
+ "size": { "x": 286, "y": 118 },
+ "bgRect": { "left": 1136, "top": 300, "width": 286, "height": 118 },
+ "bgActiveRect": { "left": 1136, "top": 418, "width": 286, "height": 118 },
+ "action": { "actionType": "saveJson", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "export_json_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label2",
+ "position": { "x": 1521, "y": 66 },
+ "size": { "x": 0, "y": 0 },
+ "text": "save",
+ "rotationAngle": 0
+ },
+
+ "label8":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "main_editor_label3",
+ "position": { "x": 125, "y": 59 },
+ "size": { "x": 0, "y": 0 },
+ "text": "editor_table7",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "extra_menu":
+ {
+ "background": "extras",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "extras",
+ "controls":
+ {
+ "back_button":
+ {
+ "controlType": "Button",
+ "theme": "extras",
+ "textTheme": "empty",
+ "position": { "x": 182, "y": 505 },
+ "size": { "x": 147, "y": 97 },
+ "bgRect": { "left": 0, "top": 420, "width": 147, "height": 97 },
+ "bgActiveRect": { "left": 147, "top": 420, "width": 147, "height": 97 },
+ "text": "",
+ "action": { "arguments": [ "main_menu" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "back_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "extra_label",
+ "position": { "x": 182, "y": 425 },
+ "size": { "x": 147, "y": 97 },
+ "text": "back_menu",
+ "rotationAngle": 0
+ },
+
+ "settings_button":
+ {
+ "controlType": "Button",
+ "theme": "extras",
+ "textTheme": "empty",
+ "position": { "x": 688, "y": 505 },
+ "size": { "x": 147, "y": 97 },
+ "bgRect": { "left": 0, "top": 420, "width": 147, "height": 97 },
+ "bgActiveRect": { "left": 147, "top": 420, "width": 147, "height": 97 },
+ "text": "",
+ "action": {
+ "arguments": [
+ "settings_menu",
+ "load_settings",
+ "language",
+ "theme",
+ "color_window",
+ "layout",
+ "window_size",
+ "fullscreen",
+ "enable_vsync",
+ "fps_limit",
+ "color_window_size",
+ "color_window_enable_vsync",
+ "color_window_fps_limit",
+ "music_volume",
+ "sound_volume",
+ "use_pretty_printing",
+ "use_tabs",
+ "default_file_location"
+ ],
+ "actionType": "changeScene"
+ },
+ "visible": true,
+ "enabled": true
+ },
+
+ "settings_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "extra_label",
+ "position": { "x": 688, "y": 425 },
+ "size": { "x": 147, "y": 97 },
+ "text": "settings",
+ "rotationAngle": 0
+ },
+
+ "credits_button":
+ {
+ "controlType": "Button",
+ "theme": "extras",
+ "textTheme": "empty",
+ "position": { "x": 1151, "y": 505 },
+ "size": { "x": 147, "y": 97 },
+ "bgRect": { "left": 0, "top": 420, "width": 147, "height": 97 },
+ "bgActiveRect": { "left": 147, "top": 420, "width": 147, "height": 97 },
+ "text": "",
+ "action": { "arguments": [ "credits_menu" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "credits_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "extra_label",
+ "position": { "x": 1151, "y": 425 },
+ "size": { "x": 147, "y": 97 },
+ "text": "credits",
+ "rotationAngle": 0
+ },
+
+ "links_button":
+ {
+ "controlType": "Button",
+ "theme": "extras",
+ "textTheme": "empty",
+ "position": { "x": 1584, "y": 505 },
+ "size": { "x": 147, "y": 97 },
+ "bgRect": { "left": 0, "top": 420, "width": 147, "height": 97 },
+ "bgActiveRect": { "left": 147, "top": 420, "width": 147, "height": 97 },
+ "text": "",
+ "action": { "arguments": [ "https://linktr.ee/tenaciouskirikot" ], "actionType": "openUrl" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "links_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "extra_label",
+ "position": { "x": 1584, "y": 425 },
+ "size": { "x": 147, "y": 97 },
+ "text": "links",
+ "rotationAngle": 0
+ }
+ }
+ },
+
+ "settings_menu":
+ {
+ "background": "settings",
+ "backgroundRect": { "left": 127, "top": 128, "width": 1668, "height": 725 },
+ "backgroundMovement": { "enabled": false },
+ "music": "settings",
+ "controls":
+ {
+ "settings_header":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_header",
+ "position": { "x": 960, "y": 90 },
+ "size": { "x": 0, "y": 0 },
+ "text": "settings",
+ "rotationAngle": 0
+ },
+
+ "settings_back":
+ {
+ "controlType": "Button",
+ "theme": "credits_back",
+ "textTheme": "empty",
+ "position": { "x": 158, "y": 30 },
+ "size": { "x": 119, "y": 119 },
+ "bgRect": { "left": 0, "top": 609, "width": 119, "height": 119 },
+ "bgActiveRect": { "left": 119, "top": 609, "width": 119, "height": 119 },
+ "text": "",
+ "action": { "actionType": "changeScene", "arguments": [ "extra_menu", "update_window" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "window_size":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "clickable_control",
+ "position": { "x": 1421, "y": 173 },
+ "size": { "x": 200, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 30,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "640x360", "854x480", "1280x720", "1920x1080" ],
+ "scrollTime": 500,
+ "index": 2,
+ "action": { "actionType": "setWindowSize", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "window_size_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 200 },
+ "size": { "x": 0, "y": 0 },
+ "text": "window_size",
+ "rotationAngle": 0
+ },
+
+ "window_size_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 250 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "fullscreen":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1596, "y": 254 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "setFullscreen", "arguments": [ "" ] },
+ "visible": true,
+ "checked": false,
+ "enabled": true
+ },
+
+ "fullscreen_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 300 },
+ "size": { "x": 0, "y": 0 },
+ "text": "fullscreen",
+ "rotationAngle": 0
+ },
+
+ "fullscreen_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 350 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "enable_vsync":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1596, "y": 354 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "setVsync", "arguments": [ "" ] },
+ "visible": true,
+ "checked": true,
+ "enabled": true
+ },
+
+ "enable_vsync_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 400 },
+ "size": { "x": 0, "y": 0 },
+ "text": "enable_vsync",
+ "rotationAngle": 0
+ },
+
+ "enable_vsync_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 450 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "fps_limit":
+ {
+ "controlType": "UintNumeric",
+ "theme": "clickable_control",
+ "textTheme": "clickable_control",
+ "inputControlTheme": "default",
+ "position": { "x": 1451, "y": 472 },
+ "size": { "x": 200, "y": 60 },
+ "bgRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "bgActiveRect": { "left": 491, "top": 420, "width": 203, "height": 63 },
+ "buttonTheme": "default",
+ "buttonSize": { "x": 37, "y": 27 },
+ "firstButtonBgRect": { "left": 694, "top": 420, "width": 37, "height": 27 },
+ "firstButtonBgFocusedRect": { "left": 731, "top": 420, "width": 37, "height": 27 },
+ "secondButtonBgRect": { "left": 694, "top": 447, "width": 37, "height": 27 },
+ "secondButtonBgFocusedRect": { "left": 731, "top": 447, "width": 37, "height": 27 },
+ "min": 0,
+ "max": 240,
+ "step": 1,
+ "value": 0,
+ "action": { "actionType": "setFramerateLimit", "arguments": [ "" ] },
+ "scrollTime": 250,
+ "visible": true,
+ "enabled": true
+ },
+
+ "fps_limit_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 500 },
+ "size": { "x": 0, "y": 0 },
+ "text": "fps_limit",
+ "rotationAngle": 0
+ },
+
+ "fps_limit_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 550 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "language":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "clickable_control",
+ "position": { "x": 1421, "y": 573 },
+ "size": { "x": 200, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 30,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "" ],
+ "scrollTime": 500,
+ "index": 0,
+ "action": { "actionType": "setLanguage", "arguments": [ "language" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "language_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 600 },
+ "size": { "x": 0, "y": 0 },
+ "text": "language",
+ "rotationAngle": 0
+ },
+
+ "language_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 650 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "theme":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "clickable_control",
+ "position": { "x": 1421, "y": 673 },
+ "size": { "x": 200, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 30,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "" ],
+ "scrollTime": 500,
+ "index": 0,
+ "action": { "actionType": "setTheme", "arguments": [ "theme" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "theme_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 700 },
+ "size": { "x": 0, "y": 0 },
+ "text": "theme",
+ "rotationAngle": 0
+ },
+
+ "theme_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 750 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "layout":
+ {
+ "controlType": "ComboBox",
+ "theme": "clickable_control",
+ "textTheme": "clickable_control",
+ "position": { "x": 1421, "y": 773 },
+ "size": { "x": 200, "y": 52 },
+ "bgRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "bgActiveRect": { "left": 0, "top": 0, "width": 0, "height": 0 },
+ "buttonOffset": 30,
+ "buttonSize": { "x": 37, "y": 52 },
+ "firstButtonBgRect": { "left": 343, "top": 420, "width": 37, "height": 52 },
+ "firstButtonBgFocusedRect": { "left": 417, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgRect": { "left": 380, "top": 420, "width": 37, "height": 52 },
+ "secondButtonBgFocusedRect": { "left": 454, "top": 420, "width": 37, "height": 52 },
+ "items": [ "" ],
+ "scrollTime": 500,
+ "index": 0,
+ "action": { "actionType": "setLayout", "arguments": [ "layout" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "layout_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 800 },
+ "size": { "x": 0, "y": 0 },
+ "text": "layout",
+ "rotationAngle": 0
+ },
+
+ "layout_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 850 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "music_volume":
+ {
+ "controlType": "FloatSlider",
+ "theme": "slider",
+ "position": { "x": 687, "y": 866 },
+ "size": { "x": 1001, "y": 68 },
+ "bgRect": { "left": 0, "top": 1004, "width": 1001, "height": 68 },
+ "bgActiveRect": { "left": 0, "top": 1072, "width": 1001, "height": 68 },
+ "thumbSize": { "x": 94, "y": 92 },
+ "thumbRect": { "left": 0, "top": 517, "width": 94, "height": 92 },
+ "min": 0,
+ "max": 100,
+ "value": 50,
+ "scrollMultiplier": 1.5,
+ "action": { "arguments": [], "actionType": "setMusicVolume" },
+ "vertical": false,
+ "visible": true,
+ "enabled": true
+ },
+
+ "music_volume_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 900 },
+ "size": { "x": 0, "y": 0 },
+ "text": "music_volume",
+ "rotationAngle": 0
+ },
+
+ "music_volume_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 950 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "sound_volume":
+ {
+ "controlType": "FloatSlider",
+ "theme": "slider",
+ "position": { "x": 687, "y": 966 },
+ "size": { "x": 1001, "y": 68 },
+ "bgRect": { "left": 0, "top": 1004, "width": 1001, "height": 68 },
+ "bgActiveRect": { "left": 0, "top": 1072, "width": 1001, "height": 68 },
+ "thumbSize": { "x": 94, "y": 92 },
+ "thumbRect": { "left": 0, "top": 517, "width": 94, "height": 92 },
+ "min": 0,
+ "max": 100,
+ "value": 50,
+ "scrollMultiplier": 1.5,
+ "action": { "arguments": [], "actionType": "setSoundVolume" },
+ "vertical": false,
+ "visible": true,
+ "enabled": true
+ },
+
+ "sound_volume_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 1000 },
+ "size": { "x": 0, "y": 0 },
+ "text": "sound_volume",
+ "rotationAngle": 0
+ },
+
+ "sound_volume_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 1050 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "use_pretty_printing":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1596, "y": 1054 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "setPrettyPrinting", "arguments": [ "" ] },
+ "visible": true,
+ "checked": true,
+ "enabled": true
+ },
+
+ "use_pretty_printing_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 1100 },
+ "size": { "x": 0, "y": 0 },
+ "text": "use_pretty_printing",
+ "rotationAngle": 0
+ },
+
+ "use_pretty_printing_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 1150 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "use_tabs":
+ {
+ "controlType": "CheckBox",
+ "theme": "check_box",
+ "position": { "x": 1596, "y": 1154 },
+ "size": { "x": 92, "y": 92 },
+ "bgRect": { "left": 94, "top": 517, "width": 92, "height": 92 },
+ "bgActiveRect": { "left": 186, "top": 517, "width": 92, "height": 92 },
+ "action": { "actionType": "setTabs", "arguments": [ "" ] },
+ "visible": true,
+ "checked": true,
+ "enabled": true
+ },
+
+ "use_tabs_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 1200 },
+ "size": { "x": 0, "y": 0 },
+ "text": "use_tabs",
+ "rotationAngle": 0
+ },
+
+ "use_tabs_border":
+ {
+ "controlType": "Control",
+ "theme": "default_no_hover",
+ "position": { "x": 120, "y": 1250 },
+ "size": { "x": 1680, "y": 4 },
+ "bgRect": { "left": 0, "top": 1000, "width": 1680, "height": 4 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "default_file_location":
+ {
+ "controlType": "InputControl",
+ "theme": "clickable_control",
+ "textTheme": "clickable_control",
+ "inputControlTheme": "default",
+ "position": { "x": 1368, "y": 1272 },
+ "size": { "x": 320, "y": 60 },
+ "bgRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "bgActiveRect": { "left": 370, "top": 517, "width": 323, "height": 63 },
+ "action": { "actionType": "setDefaultFileLocation", "arguments": [ "" ] },
+ "visible": true,
+ "enabled": true
+ },
+
+ "default_file_location_label":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "settings_label",
+ "position": { "x": 175, "y": 1300 },
+ "size": { "x": 0, "y": 0 },
+ "text": "default_file_location",
+ "rotationAngle": 0
+ },
+
+ "settings_slider":
+ {
+ "controlType": "FloatSlider",
+ "theme": "slider",
+ "position": { "x": 1738, "y": 40 },
+ "size": { "x": 42, "y": 1000 },
+ "bgRect": { "left": 1094, "top": 0, "width": 42, "height": 1000 },
+ "bgActiveRect": { "left": 1094, "top": 0, "width": 42, "height": 1000 },
+ "thumbSize": { "x": 50, "y": 80 },
+ "thumbRect": { "left": 294, "top": 420, "width": 50, "height": 80 },
+ "min": 0,
+ "max": 300,
+ "value": 0,
+ "scrollMultiplier": 1.5,
+ "action": { "arguments": [ "37" ], "actionType": "moveControl" },
+ "vertical": true,
+ "visible": true,
+ "enabled": true
+ }
+ }
+ },
+
+ "credits_menu":
+ {
+ "background": "credits",
+ "backgroundRect": { "left": 0, "top": 0, "width": 1920, "height": 1080 },
+ "backgroundMovement": { "enabled": false },
+ "music": "credits",
+ "controls":
+ {
+ "credits_slider":
+ {
+ "controlType": "FloatSlider",
+ "theme": "slider",
+ "position": { "x": 1820, "y": 40 },
+ "size": { "x": 67, "y": 1000 },
+ "bgRect": { "left": 960, "top": 0, "width": 67, "height": 1000 },
+ "bgActiveRect": { "left": 1027, "top": 0, "width": 67, "height": 1000 },
+ "thumbSize": { "x": 94, "y": 92 },
+ "thumbRect": { "left": 0, "top": 517, "width": 94, "height": 92 },
+ "min": 0,
+ "max": 1275,
+ "value": 0,
+ "scrollMultiplier": 1.5,
+ "action": { "arguments": [ "0", "1" ], "actionType": "moveControl" },
+ "vertical": true,
+ "visible": true,
+ "enabled": true
+ },
+
+ "credits_back":
+ {
+ "controlType": "Button",
+ "theme": "credits_back",
+ "textTheme": "empty",
+ "position": { "x": 20, "y": 20 },
+ "size": { "x": 119, "y": 119 },
+ "bgRect": { "left": 0, "top": 609, "width": 119, "height": 119 },
+ "bgActiveRect": { "left": 119, "top": 609, "width": 119, "height": 119 },
+ "text": "",
+ "action": { "arguments": [ "extra_menu" ], "actionType": "changeScene" },
+ "visible": true,
+ "enabled": true
+ },
+
+ "credits_logo":
+ {
+ "controlType": "Control",
+ "theme": "logo",
+ "position": { "x": 300, "y": 41 },
+ "size": { "x": 1320, "y": 393 },
+ "bgRect": { "left": 0, "top": 0, "width": 1320, "height": 393 },
+ "visible": true,
+ "enabled": true
+ },
+
+ "coding":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_large_label",
+ "position": { "x": 960, "y": 500 },
+ "size": { "x": 0, "y": 0 },
+ "text": "coding",
+ "rotationAngle": 0
+ },
+
+ "lead_design":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_large_label",
+ "position": { "x": 960, "y": 575 },
+ "size": { "x": 0, "y": 0 },
+ "text": "lead_design",
+ "rotationAngle": 0
+ },
+
+ "tenacious_kirikot":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 650 },
+ "size": { "x": 0, "y": 0 },
+ "text": "tenacious_kirikot",
+ "rotationAngle": 0
+ },
+
+ "additional_design":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_large_label",
+ "position": { "x": 960, "y": 725 },
+ "size": { "x": 0, "y": 0 },
+ "text": "additional_design",
+ "rotationAngle": 0
+ },
+
+ "mysterious_persona_seferiso":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 800 },
+ "size": { "x": 0, "y": 0 },
+ "text": "mysterious_persona_seferiso",
+ "rotationAngle": 0
+ },
+
+ "music":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_large_label",
+ "position": { "x": 960, "y": 875 },
+ "size": { "x": 0, "y": 0 },
+ "text": "music",
+ "rotationAngle": 0
+ },
+
+ "score":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 950 },
+ "size": { "x": 0, "y": 0 },
+ "text": "score",
+ "rotationAngle": 0
+ },
+
+ "petermcconnell":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1000 },
+ "size": { "x": 0, "y": 0 },
+ "text": "petermcconnell",
+ "rotationAngle": 0
+ },
+
+ "additional_themes":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1075 },
+ "size": { "x": 0, "y": 0 },
+ "text": "additional_themes",
+ "rotationAngle": 0
+ },
+
+ "liledix4":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1125 },
+ "size": { "x": 0, "y": 0 },
+ "text": "liledix4",
+ "rotationAngle": 0
+ },
+
+ "special_stage_theme":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1200 },
+ "size": { "x": 0, "y": 0 },
+ "text": "special_stage_theme",
+ "rotationAngle": 0
+ },
+
+ "masafumi_ogata":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1250 },
+ "size": { "x": 0, "y": 0 },
+ "text": "masafumi_ogata",
+ "rotationAngle": 0
+ },
+
+ "bramble_blast":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1325 },
+ "size": { "x": 0, "y": 0 },
+ "text": "bramble_blast",
+ "rotationAngle": 0
+ },
+
+ "david_wise":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1375 },
+ "size": { "x": 0, "y": 0 },
+ "text": "david_wise",
+ "rotationAngle": 0
+ },
+
+ "lil_boulder":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1425 },
+ "size": { "x": 0, "y": 0 },
+ "text": "lil_boulder",
+ "rotationAngle": 0
+ },
+
+ "special_thanks":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_large_label",
+ "position": { "x": 960, "y": 1500 },
+ "size": { "x": 0, "y": 0 },
+ "text": "special_thanks",
+ "rotationAngle": 0
+ },
+
+ "special_thanks1":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1575 },
+ "size": { "x": 0, "y": 0 },
+ "text": "special_thanks1",
+ "rotationAngle": 0
+ },
+
+ "special_thanks2":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1625 },
+ "size": { "x": 0, "y": 0 },
+ "text": "special_thanks2",
+ "rotationAngle": 0
+ },
+
+ "special_thanks3":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1675 },
+ "size": { "x": 0, "y": 0 },
+ "text": "special_thanks3",
+ "rotationAngle": 0
+ },
+
+ "special_thanks4":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1725 },
+ "size": { "x": 0, "y": 0 },
+ "text": "special_thanks4",
+ "rotationAngle": 0
+ },
+
+ "assets":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_large_label",
+ "position": { "x": 960, "y": 1800 },
+ "size": { "x": 0, "y": 0 },
+ "text": "assets",
+ "rotationAngle": 0
+ },
+
+ "popcap_ea":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 1875 },
+ "size": { "x": 0, "y": 0 },
+ "text": "popcap_ea",
+ "rotationAngle": 0
+ },
+
+ "sfml_team":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_large_label",
+ "position": { "x": 960, "y": 1950 },
+ "size": { "x": 0, "y": 0 },
+ "text": "sfml_team",
+ "rotationAngle": 0
+ },
+
+ "sfml_team_members1":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 2025 },
+ "size": { "x": 0, "y": 0 },
+ "text": "sfml_team_members1",
+ "rotationAngle": 0
+ },
+
+ "sfml_team_members2":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 2075 },
+ "size": { "x": 0, "y": 0 },
+ "text": "sfml_team_members2",
+ "rotationAngle": 0
+ },
+
+ "sfml_team_members3":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 2125 },
+ "size": { "x": 0, "y": 0 },
+ "text": "sfml_team_members3",
+ "rotationAngle": 0
+ },
+
+ "minijson_contributors":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_large_label",
+ "position": { "x": 960, "y": 2200 },
+ "size": { "x": 0, "y": 0 },
+ "text": "minijson_contributors",
+ "rotationAngle": 0
+ },
+
+ "minijson_contributors1":
+ {
+ "controlType": "Label",
+ "theme": "default",
+ "textTheme": "credits_small_label",
+ "position": { "x": 960, "y": 2275 },
+ "size": { "x": 0, "y": 0 },
+ "text": "minijson_contributors1",
+ "rotationAngle": 0
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/data/Plugins/Settings.json b/data/Plugins/Settings.json
new file mode 100644
index 0000000..528e419
--- /dev/null
+++ b/data/Plugins/Settings.json
@@ -0,0 +1,14 @@
+{
+ "windowSize": 2,
+ "isFullscreen": false,
+ "enableVSync": true,
+ "fpsLimit": 0,
+ "language": "English",
+ "theme": "New",
+ "layout": "Standard",
+ "musicVolume": 49.3007,
+ "soundVolume": 50,
+ "usePrettyPrinting": true,
+ "useTabs": true,
+ "defaultFileLocation": "Saved"
+}
\ No newline at end of file
diff --git a/data/Plugins/Strings/English.json b/data/Plugins/Strings/English.json
new file mode 100644
index 0000000..d4f0653
--- /dev/null
+++ b/data/Plugins/Strings/English.json
@@ -0,0 +1,174 @@
+{
+ "1": "1",
+ "2": "2",
+ "3": "3",
+ "title": "TenaciousKirikot's PvZ 2 Level Editor",
+ "newLevel": "New Level",
+ "openLevel": "Open Level",
+ "extras": "Extras",
+ "Default": "Default",
+ "MiniGame_A": "UB",
+ "MiniGame_B": "DMG",
+ "Zomboss": "Zomboss",
+ "none": "None",
+ "collectable": "Collectable",
+ "unlock_plant": "Unlock Plant",
+ "pinata": "Pinata",
+ "upgrade": "Upgrade",
+ "note": "Note",
+ "worldtrophy": "Trophy",
+ "giftbox": "Gift",
+ "powerupgadget": "Power-Ups",
+ "name": "Name",
+ "description": "Description",
+ "level_number": "Level Number",
+ "loot": "Loot",
+ "normal_present_table": "Normal Present Table",
+ "shiny_present_table": "Shiny Present Table",
+ "intro": "Intro",
+ "outro": "Outro",
+ "chooser": "Chooser",
+ "preset": "Preset",
+ "beghouled": "Beghouled",
+ "completion_achievement": "Achievement",
+ "first_intro": "First Intro Narrative",
+ "repeat_intro": "Repeat Intro Narrative",
+ "first_outro": "First Outro Narrative",
+ "repeat_outro": "Repeat Outro Narrative",
+ "force_world_map": "Force Worldmap",
+ "repeat_force_world_map": "Repeat Force Worldmap",
+ "force_next_level": "Force Next Level",
+ "force_warp_tunnel": "Force Warp Tunnel",
+ "disable_restart": "Disable Restart",
+ "first_reward_type": "First Reward Type",
+ "first_reward_param": "First Reward Param",
+ "repeat_reward_type": "Repeat Reward Type",
+ "repeat_reward_param": "Repeat Reward Param",
+ "game_features_to_unlock": "Game Features",
+ "music_type": "Music Type",
+ "plant_level": "Plant Level",
+ "zombie_level": "Zombie Level",
+ "grid_item_level": "Grid Item Level",
+ "seed_bank": "Seed Bank",
+ "starting_sun": "Starting Sun",
+ "add_bonus_starting_sun": "Add Bonus Starting Sun",
+ "seed_selection_type": "Selection Type",
+ "preset_plants": "Preset Plants",
+ "conveyor_belt": "Conveyor Belt",
+ "conveyor_speed": "Conveyor Speed",
+ "initial_conveyor_plants": "Initial Conveyor List",
+ "max_packets": "Max Packets",
+ "editor_table1_1": "Max Count, Max Count Cooldown Settings, Max Weight Factor, Min Factor, Min Weight Factor, Plant Type, Weight, Boosted",
+ "editor_table1_2": "Max Count, Max Count Cooldown Settings, Max Weight Factor, Min Factor, Min Weight Factor, Plant Type, Weight, Boosted",
+ "editor_table2": "Drop Delay, Max Packets",
+ "editor_table3": "X, Y, Type",
+ "editor_table4": "X, Y, Type, Condition",
+ "editor_table5": "Group, X, Y, Propagation Delay",
+ "editor_table6": "Plant, Level",
+ "editor_table7": "Game Feature To Unlock",
+ "initial_plants_list": "Initial Plants List",
+ "drop_delay_conditions": "Drop Delay Conditions",
+ "gravestones": "Gravestones",
+ "gravestone_count": "Gravestone Count",
+ "grave_spawn_column_start": "Grave Spawn Start",
+ "grave_spawn_column_end": "Grave Spawn End",
+ "force_spawn": "Force Spawn Data",
+ "initial_plants": "Initial Plants",
+ "initial_zombies": "Initial Zombies",
+ "initial_grid_items": "Initial Grid Items",
+ "power_tiles": "Power Tiles",
+ "sun_dropper": "Sun Dropper",
+ "sun_dropper_type": "Sun Dropper Type",
+ "last_stand": "Last Stand",
+ "starting_plantfood": "Starting Plantfood",
+ "supress_flag_zombie": "Supress Flag Zombie",
+ "flag_wave_interval": "Flag Wave Interval",
+ "nwmihp": "NW Min HP%",
+ "nwmahp": "NW Max HP%",
+ "wave_spending_points": "Wave Spending Points",
+ "wave_spending_points_increment": "Wave SP Increment",
+ "waves_always_randomized": "Waves Always Randomized",
+ "level_jam": "Level Jam",
+ "jam_punk": "Punk",
+ "jam_pop": "Pop",
+ "jam_rap": "Rap",
+ "jam_metal": "Metal",
+ "jam_8bit": "8-Bit",
+ "jam_ballad": "Ballad",
+ "save": "Save",
+ "stage": "Stage",
+ "TutorialStage": "Tutorial",
+ "FrontLawnStage": "FrontLawn",
+ "EgyptStage": "Egypt",
+ "PirateStage": "Pirate",
+ "WestStage": "West",
+ "IceageStage": "Frostbite",
+ "LostCityStage": "LostCity",
+ "FutureStage": "Future",
+ "DarkStage": "DarkAges",
+ "EightiesStage": "NMT",
+ "DinoStage": "JM",
+ "BeachStage": "BWB",
+ "ModernStage": "Modern",
+ "JoustStage": "BattleZ",
+ "RiftStage": "PP",
+ "lawnmowers": "Lawnmowers",
+ "TutorialMowers": "Tutorial",
+ "EgyptMowers": "Egypt",
+ "PirateMowers": "Pirate",
+ "WestMowers": "West",
+ "IceageMowers": "Frostbite",
+ "LostCityMowers": "LostCity",
+ "FutureMowers": "Future",
+ "DarkMowers": "DarkAges",
+ "EightiesMowers": "NMT",
+ "DinoMowers": "JM",
+ "BeachMowers": "BWB",
+ "ModernMowers": "Modern",
+ "JoustMowers": "BattleZ",
+ "RiftMowers": "PP",
+ "back_menu": "Back",
+ "settings": "Settings",
+ "credits": "Credits",
+ "links": "Links",
+ "window_size": "Window Size",
+ "fullscreen": "Fullscreen Mode (Restart)",
+ "enable_vsync": "Enable VSync",
+ "fps_limit": "FPS Limit",
+ "language": "Language",
+ "theme": "Theme",
+ "layout": "Layout",
+ "music_volume": "Music",
+ "sound_volume": "Sound FX",
+ "use_pretty_printing": "Use \"Pretty-Printing\"",
+ "use_tabs": "Use Tabs",
+ "default_file_location": "Default File Location",
+ "coding": "Coding",
+ "lead_design": "Lead App and UI Design",
+ "tenacious_kirikot": "TenaciousKirikot",
+ "additional_design": "Additional UI Design",
+ "mysterious_persona_seferiso": "MysteriousPersona, Seferiso",
+ "music": "Music",
+ "score": "Plants vs. Zombies 2 Original Score",
+ "petermcconnell": "Written by Peter McConnell",
+ "additional_themes": "Additional Remixes and Original Score",
+ "liledix4": "Written by liledix4",
+ "special_stage_theme": "'Special Stage Theme' from Sonic The Hedgehog CD",
+ "masafumi_ogata": "Written by Masafumi Ogata",
+ "bramble_blast": "'Bramble Blast' from Donkey Kong Country 2 and Super Smash Bros. Brawl",
+ "david_wise": "Original Tracks by David Wise and Michiko Naruke",
+ "lil_boulder": "Remixed by Lil Boulder",
+ "special_thanks": "Special Thanks",
+ "special_thanks1": "BP and liledix4 for the additional UI design advice",
+ "special_thanks2": "Chara / Peridot and Moki Orion for the moral support",
+ "special_thanks3": "My tutor Igor Nekrashevich (Ignek) for all the massive help",
+ "special_thanks4": "My friends and family for supporting me",
+ "assets": "Assets and Original Game",
+ "popcap_ea": "PopCap and Electronic Arts",
+ "sfml_team": "SFML Development Team",
+ "sfml_team_members1": "binary1248, Jan Haller, Lukas Dürrenberger, Jonathan De Wachter, Jeremy Letang,",
+ "sfml_team_members2": "Laurent Gomila, Marco Antognini, Marco Antognini, Mario Liebisch,",
+ "sfml_team_members3": "SFML Integrator, Stefan Schindler, Vittorio Romeo, Zachariah Brown",
+ "minijson_contributors": "minijson_reader and minijson_writer Contributors",
+ "minijson_contributors1": "giacomodrago, michaelkourlas, ghewgill"
+}
\ No newline at end of file
diff --git a/data/Plugins/Strings/Russian.json b/data/Plugins/Strings/Russian.json
new file mode 100644
index 0000000..eb66953
--- /dev/null
+++ b/data/Plugins/Strings/Russian.json
@@ -0,0 +1,169 @@
+{
+ "1": "1",
+ "2": "2",
+ "3": "3",
+ "title": "Редактор Уровней PvZ 2 от TenaciousKirikot",
+ "colorWindowTitle": "Выбор цвета",
+ "newLevel": "Новый Уровень",
+ "openLevel": "Открыть Уровень",
+ "extras": "Дополнительно",
+ "Default": "Обычный",
+ "MiniGame_A": "Битва",
+ "MiniGame_B": "Мини-Игра",
+ "Zomboss": "Зомбосс",
+ "none": "Никакой",
+ "collectable": "Предмет",
+ "unlock_plant": "Растение",
+ "pinata": "Пиньята",
+ "upgrade": "Апгрейд",
+ "note": "Записка",
+ "worldtrophy": "Трофей",
+ "giftbox": "Подарок",
+ "powerupgadget": "Бонусы",
+ "name": "Название",
+ "description": "Описание",
+ "level_number": "Номер Уровня",
+ "loot": "Лут",
+ "normal_present_table": "Подарки [Обычные]",
+ "shiny_present_table": "Подарки [Редкие]",
+ "intro": "Инто",
+ "outro": "Аутро",
+ "chooser": "Выбор",
+ "preset": "Предуст.",
+ "beghouled": "Пугалка",
+ "completion_achievement": "Достижение",
+ "first_intro": "Интро [Перв.]",
+ "repeat_intro": "Интро [Пвтр.]",
+ "first_outro": "Аутро [Перв.]",
+ "repeat_outro": "Аутро [Пвтр.]",
+ "force_world_map": "Выход К Карте [Перв.]",
+ "repeat_force_world_map": "Выход К Карте [Пвтр.]",
+ "force_next_level": "Следующий Уровень",
+ "force_warp_tunnel": "Анимация Телепортации",
+ "disable_restart": "Отключить Перезапуск",
+ "first_reward_type": "Тип Награды [Перв.]",
+ "first_reward_param": "Награда [Перв.]",
+ "repeat_reward_type": "Тип Награды [Пвтр.]",
+ "repeat_reward_param": "Награда [Пвтр.]",
+ "game_features_to_unlock": "Фичи",
+ "music_type": "Тип Музыки",
+ "plant_level": "Ур. Растений",
+ "zombie_level": "Ур. Зомби",
+ "grid_item_level": "Ур. Грид Айтемов",
+ "seed_bank": "\"Копилка Солнца\"",
+ "starting_sun": "Начальное Солнце",
+ "add_bonus_starting_sun": "Добавить Бонусное Солнце",
+ "seed_selection_type": "Тип Выбора",
+ "preset_plants": "Заданные Растения",
+ "conveyor_belt": "Конвейерная Лента",
+ "conveyor_speed": "Скорость Конвейера",
+ "max_packets": "Макс. Пакеты",
+ "editor_table1": "Макс. Кол-во, Перезар. Макс. К-ва, Макс. Фактор Значения, Мин. Фактор, Мин. Фактор Значения, Тип Растения, Значение, Усилено",
+ "editor_table2": "Задержка Выдачи, Макс. Пакеты",
+ "editor_table3": "X, Y, Тип",
+ "editor_table4": "X, Y, Тип, Состояние",
+ "editor_table5": "Группа, X, Y, Задержка Распространения",
+ "editor_table6": "Растение, Уровень",
+ "editor_table7": "Фичи Игры",
+ "initial_plants_list": "Нач. Список Растений",
+ "drop_delay_conditions": "Задержка Выдачи",
+ "gravestones": "Надгробия",
+ "gravestone_count": "Кол-во Надгробий",
+ "grave_spawn_column_start": "Начало Спавна Надрг.",
+ "grave_spawn_column_end": "Конец Спавна Надрг.",
+ "force_spawn": "Данные Спавна",
+ "initial_plants": "Начальные Растения",
+ "initial_zombies": "Начальные Зомби",
+ "initial_grid_items": "Нач. Грид Айтемы",
+ "power_tiles": "Силовые Клетки",
+ "sun_dropper": "Падающее Солнце",
+ "sun_dropper_type": "Скорость Падения",
+ "last_stand": "Последняя Битва",
+ "starting_plantfood": "Начальная Еда",
+ "supress_flag_zombie": "Отключить Зомбаи с Флагом",
+ "flag_wave_interval": "Интервал Флага",
+ "nwmihp": "Сл. Волна Мин. ХП%",
+ "nwmahp": "Сл. Волна Макс. ХП%",
+ "wave_spending_points": "Очки Расхода Волны",
+ "wave_spending_points_increment": "Увеличение Очков Расхода",
+ "waves_always_randomized": "Волны Рандомизированы",
+ "level_jam": "Джем Уровня",
+ "jam_punk": "Панк",
+ "jam_pop": "Поп",
+ "jam_rap": "Рэп",
+ "jam_metal": "Метал",
+ "jam_8bit": "8-Bit",
+ "jam_ballad": "Баллада",
+ "save": "Сохранить",
+ "stage": "Сцена",
+ "TutorialStage": "Туториал",
+ "FrontLawnStage": "Лужайка",
+ "EgyptStage": "Египет",
+ "PirateStage": "Пираты",
+ "WestStage": "Запад",
+ "IceageStage": "Пещеры",
+ "LostCityStage": "Затр.Г",
+ "FutureStage": "Будущее",
+ "DarkStage": "Тёмн. Века",
+ "EightiesStage": "НМТ",
+ "DinoStage": "Болото",
+ "BeachStage": "Пляж",
+ "ModernStage": "Соврем.",
+ "JoustStage": "Битвы",
+ "RiftStage": "ПП",
+ "lawnmowers": "Газонокосилки",
+ "TutorialMowers": "Туториал",
+ "EgyptMowers": "Египет",
+ "PirateMowers": "Пираты",
+ "WestMowers": "Запад",
+ "IceageMowers": "Пещеры",
+ "LostCityMowers": "Затр.Г",
+ "FutureMowers": "Будущее",
+ "DarkMowers": "Тёмн. Века",
+ "EightiesMowers": "НМТ",
+ "DinoMowers": "Болото",
+ "BeachMowers": "Пляж",
+ "ModernMowers": "Соврем.",
+ "JoustMowers": "Битвы",
+ "back_menu": "Назад",
+ "settings": "Настройки",
+ "credits": "Титры",
+ "links": "Ссылки",
+ "window_size": "Размер Окна",
+ "fullscreen": "Полноэкранный Режим (Перезапуск)",
+ "enable_vsync": "Включить VSync",
+ "fps_limit": "FPS Лимит",
+ "language": "Язык",
+ "theme": "Тема",
+ "layout": "Оформление",
+ "music_volume": "Музыка",
+ "sound_volume": "Звуки",
+ "use_pretty_printing": "Использовать \"Симпатичную Запись\"",
+ "use_tabs": "Использовать Отступы",
+ "default_file_location": "Стандартное Расположение Файлов",
+ "coding": "Программирование",
+ "lead_design": "Основной UI-Дизайн",
+ "tenacious_kirikot": "TenaciousKirikot",
+ "additional_design": "Дополнительный UI-Дизайн",
+ "mysterious_persona_seferiso": "MysteriousPersona, Seferiso",
+ "music": "Музыка",
+ "score": "Оригинальный Саундтрек Plants vs. Zombies 2",
+ "petermcconnell": "Написал Питер Макконнелл",
+ "additional_themes": "Дополнительные Ремиксы и Оригинальный Саундтрек",
+ "liledix4": "Написал liledix4",
+ "special_stage_theme": "Тема Специального Эта Sonic The Hedgehog CD",
+ "masafumi_ogata": "Написал Масафуми Огата",
+ "special_thanks": "Особые Благодарности",
+ "special_thanks1": "BP и liledix4 за дополнительную помощь с дизайном",
+ "special_thanks2": "Чаре / Перидоту и Моки Ориону за их огромную моральную поддержку",
+ "special_thanks3": "Моему преподавателю Игорю Некрашевичу (Ignek) за всю помощь и знания",
+ "special_thanks4": "Моим друзьями и семье за поддержку",
+ "assets": "Ресурсы и Оригинальная Игра",
+ "popcap_ea": "PopCap и Electronic Arts",
+ "sfml_team": "Команда Разработки SFML",
+ "sfml_team_members1": "binary1248, Jan Haller, Lukas Dürrenberger, Jonathan De Wachter, Jeremy Letang,",
+ "sfml_team_members2": "Laurent Gomila, Marco Antognini, Marco Antognini, Mario Liebisch,",
+ "sfml_team_members3": "SFML Integrator, Stefan Schindler, Vittorio Romeo, Zachariah Brown",
+ "minijson_contributors": "Авторы minijson_reader и minijson_writer",
+ "minijson_contributors1": "giacomodrago, michaelkourlas, ghewgill"
+}
\ No newline at end of file
diff --git a/data/Plugins/Themes/New.json b/data/Plugins/Themes/New.json
new file mode 100644
index 0000000..b0ffaf1
--- /dev/null
+++ b/data/Plugins/Themes/New.json
@@ -0,0 +1,482 @@
+{
+ "loadingScreen": "Default/Default/Loading.png",
+ "icon": "Default/Shared/Icon.png",
+ "toggleAnimations": true,
+
+ "shaders":
+ {
+ "hovering": { "fragment": "Default/Shared/hsv_adjust.frag", "u_adjustmentFactor": [ 1.1, 1.1, 1.1 ] },
+ "disabled": { "fragment": "Default/Shared/grayscale.frag" },
+ "disabledHovering": { "fragment": "Default/Shared/grayscale_hsv_adjust.frag", "u_adjustmentFactor": [ 1.1, 1.1, 1.1 ] }
+ },
+
+ "fonts":
+ {
+ "menu_buttons": "Default/Shared/HouseOfTerror.ttf",
+ "main": "Default/Shared/BrianneTod.ttf",
+ "labels": "Default/Shared/AshleyScriptMtStd.ttf",
+ "credits": "Default/Shared/fbUsv8C5el.ttf"
+ },
+
+ "textures":
+ {
+ "title_screen": "Default/Default/Title_Screen.png",
+ "title_screen_static": "Default/Default/Title_Screen_Static.png",
+ "logo": "Default/Default/Logo.png",
+ "main_editor": "Default/Shared/Editor_Background.png",
+ "main_editor_top": "Default/Shared/Editor_Background_Top.png",
+ "extras": "Default/Default/Extras.png",
+ "settings": "Default/Shared/Settings.png",
+ "credits": "Default/Shared/Credits.png",
+ "ui": "Default/Default/UI.png"
+ },
+
+ "sounds":
+ {
+ "check_box": "Default/Shared/Tick.wav",
+ "menu_button_hover": "Default/Default/Menu_Bleep.wav",
+ "menu_button_click": "Default/Shared/Menu_Hold.wav",
+ "menu_button_release": "Default/Shared/Menu_Release.wav",
+ "title_close": "Default/Shared/Close.wav",
+ "credits_back": "Default/Shared/Back.wav",
+ "slider_release": "Default/Shared/Slider_Release.wav",
+ "combo_box_switch": "Default/Shared/Combo_Switch.wav",
+ "typing": "Default/Shared/Typing.wav"
+ },
+
+ "music":
+ {
+ "title_screen": "Default/Default/Title_Screen.ogg",
+ "main_editor": "Default/Shared/Main_Editor.wav",
+ "extras": "Default/Shared/Extras.wav",
+ "settings": "Default/Shared/Settings.flac",
+ "credits": "Default/Shared/Credits.ogg"
+ },
+
+ "controlThemes":
+ {
+ "logo":
+ {
+ "texture": "logo"
+ },
+
+ "title_screen_static":
+ {
+ "texture": "title_screen_static"
+ },
+
+ "main_editor_top":
+ {
+ "texture": "main_editor_top"
+ },
+
+ "title_screen":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "enterSound": "menu_button_hover",
+ "clickSound": "menu_button_click",
+ "releaseSound": "menu_button_release"
+ },
+
+ "title_close":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "clickSound": "title_close",
+ "releaseSound": "title_close"
+ },
+
+ "extras":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "releaseSound": "menu_button_release"
+ },
+
+ "credits_back":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "clickSound": "credits_back",
+ "releaseSound": "credits_back"
+ },
+
+ "slider":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "releaseSound": "slider_release"
+ },
+
+ "check_box":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "disabledShader": "disabled",
+ "disabledHoveringShader": "disabledHovering",
+ "clickSound": "check_box"
+ },
+
+ "clickable_control":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "disabledShader": "disabled",
+ "disabledHoveringShader": "disabledHovering",
+ "clickSound": "combo_box_switch"
+ },
+
+ "default":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering"
+ },
+
+ "default_no_hover":
+ {
+ "texture": "ui"
+ }
+ },
+
+ "textThemes":
+ {
+ "new_level":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "menu_buttons",
+
+ "fillDefaultColor": { "r": 143, "g": 123, "b": 255, "a": 255 },
+ "outlineDefaultColor": { "r": 9, "g": 14, "b": 69, "a": 255 },
+
+ "fillHoldingColor": { "r": 0, "g": 112, "b": 204, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 40, "b": 204, "a": 255 },
+
+ "fillHoveringColor": { "r": 0, "g": 140, "b": 255, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 47, "b": 255, "a": 255 },
+
+ "fillDisabledColor": { "r": 153, "g": 153, "b": 153, "a": 255 },
+ "outlineDisabledColor": { "r": 64, "g": 64, "b": 64, "a": 255 },
+
+ "characterSize": 65,
+ "letterSpacing": 1.5,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "open_level":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "menu_buttons",
+
+ "fillDefaultColor": { "r": 146, "g": 197, "b": 27, "a": 255 },
+ "outlineDefaultColor": { "r": 56, "g": 0, "b": 153, "a": 255 },
+
+ "fillHoveringColor": { "r": 0, "g": 255, "b": 93, "a": 255 },
+ "outlineHoveringColor": { "r": 95, "g": 0, "b": 255, "a": 255 },
+
+ "fillHoldingColor": { "r": 0, "g": 204, "b": 71, "a": 255 },
+ "outlineHoldingColor": { "r": 75, "g": 0, "b": 205, "a": 255 },
+
+ "fillDisabledColor": { "r": 153, "g": 153, "b": 153, "a": 255 },
+ "outlineDisabledColor": { "r": 64, "g": 64, "b": 64, "a": 255 },
+
+ "characterSize": 65,
+ "letterSpacing": 1.5,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "extra":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "menu_buttons",
+ "fillDefaultColor": { "r": 255, "g": 127, "b": 48, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 182, "b": 0, "a": 255 },
+ "fillHoldingColor": { "r": 204, "g": 142, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 153, "g": 153, "b": 153, "a": 255 },
+ "outlineDefaultColor": { "r": 98, "g": 28, "b": 25, "a": 255 },
+ "outlineHoveringColor": { "r": 255, "g": 115, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 175, "g": 70, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 64, "g": 64, "b": 64, "a": 255 },
+ "characterSize": 65,
+ "letterSpacing": 1.5,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "main_editor_label":
+ {
+ "horizontalAlignment": "Left",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 58, "g": 58, "b": 58, "a": 255 },
+ "fillHoldingColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoveringColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 58, "g": 58, "b": 58, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 35,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ },
+
+ "main_editor_label2":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillDisabledColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 45,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 2,
+ "style": 0
+ },
+
+ "main_editor_label3":
+ {
+ "horizontalAlignment": "Left",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillDisabledColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 40,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 2,
+ "style": 0
+ },
+
+ "editor_input_field":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 58, "g": 58, "b": 58, "a": 255 },
+ "fillHoldingColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoveringColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 35,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ },
+
+ "extra_label":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "main",
+
+ "fillDefaultColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "fillDisabledColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 65,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 1.5,
+ "style": 0
+ },
+
+ "settings_header":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 253, "g": 220, "b": 103, "a": 255 },
+ "fillDisabledColor": { "r": 253, "g": 220, "b": 103, "a": 255 },
+ "fillHoldingColor": { "r": 253, "g": 220, "b": 103, "a": 255 },
+ "fillHoveringColor": { "r": 253, "g": 220, "b": 103, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 85,
+ "letterSpacing": 1.5,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "settings_label":
+ {
+ "horizontalAlignment": "Left",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoldingColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoveringColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 50,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ },
+
+ "credits_large_label":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Top",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 145, "g": 220, "b": 50, "a": 255 },
+ "fillDisabledColor": { "r": 145, "g": 220, "b": 50, "a": 255 },
+ "fillHoldingColor":{ "r": 145, "g": 220, "b": 50, "a": 255 },
+ "fillHoveringColor": { "r": 145, "g": 220, "b": 50, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 70,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "credits_small_label":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Top",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "fillDisabledColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 40,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 2,
+ "style": 0
+ },
+
+ "clickable_control":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoldingColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoveringColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 50,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ },
+
+ "empty":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "main",
+
+ "fillDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "fillHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+ "fillHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+
+ "characterSize": 0,
+ "letterSpacing": 0,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ }
+ },
+
+ "inputControlThemes":
+ {
+ "default":
+ {
+ "mouseCursorDefault": "Arrow",
+ "mouseCursorText": "Text",
+ "cursorWidth": 3,
+ "cursorColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "selectionColor": { "r": 63, "g": 127, "b": 255, "a": 127 },
+ "inputSound": "typing"
+ }
+ }
+}
\ No newline at end of file
diff --git a/data/Plugins/Themes/Old.json b/data/Plugins/Themes/Old.json
new file mode 100644
index 0000000..6eb0b56
--- /dev/null
+++ b/data/Plugins/Themes/Old.json
@@ -0,0 +1,481 @@
+{
+ "loadingScreen": "Default/Default_Old/Loading.png",
+ "icon": "Default/Shared/Icon.png",
+ "toggleAnimations": false,
+
+ "shaders":
+ {
+ "hovering": { "fragment": "Default/Shared/hsv_adjust.frag", "u_adjustmentFactor": [ 1.1, 1.1, 1.1 ] },
+ "disabled": { "fragment": "Default/Shared/grayscale.frag" },
+ "disabledHovering": { "fragment": "Default/Shared/grayscale_hsv_adjust.frag", "u_adjustmentFactor": [ 1.1, 1.1, 1.1 ] }
+ },
+
+ "fonts":
+ {
+ "menu_buttons": "Default/Shared/HouseOfTerror.ttf",
+ "main": "Default/Shared/BrianneTod.ttf",
+ "labels": "Default/Shared/AshleyScriptMtStd.ttf",
+ "credits": "Default/Shared/fbUsv8C5el.ttf"
+ },
+
+ "textures":
+ {
+ "title_screen": "Default/Default_Old/Title_Screen.png",
+ "title_screen_static": "Default/Default_Old/Title_Screen_Static.png",
+ "logo": "Default/Default_Old/Logo.png",
+ "main_editor": "Default/Shared/Editor_Background.png",
+ "main_editor_top": "Default/Shared/Editor_Background_Top.png",
+ "extras": "Default/Default_Old/Extras.png",
+ "settings": "Default/Shared/Settings.png",
+ "credits": "Default/Shared/Credits.png",
+ "ui": "Default/Default_Old/UI.png"
+ },
+
+ "sounds":
+ {
+ "check_box": "Default/Shared/Tick.wav",
+ "menu_button_hover": "Default/Default/Menu_Bleep.wav",
+ "menu_button_click": "Default/Shared/Menu_Hold.wav",
+ "menu_button_release": "Default/Shared/Menu_Release.wav",
+ "title_close": "Default/Shared/Close.wav",
+ "credits_back": "Default/Shared/Back.wav",
+ "slider_release": "Default/Shared/Slider_Release.wav",
+ "combo_box_switch": "Default/Shared/Combo_Switch.wav",
+ "typing": "Default/Shared/Typing.wav"
+ },
+
+ "music":
+ {
+ "title_screen": "Default/Default_Old/Title_Screen.ogg",
+ "main_editor": "Default/Shared/Main_Editor.wav",
+ "extras": "Default/Shared/Extras.wav",
+ "settings": "Default/Shared/Settings.flac",
+ "credits": "Default/Shared/Credits.ogg"
+ },
+
+ "controlThemes":
+ {
+ "logo":
+ {
+ "texture": "logo"
+ },
+
+ "title_screen_static":
+ {
+ "texture": "title_screen_static"
+ },
+
+ "main_editor_top":
+ {
+ "texture": "main_editor_top"
+ },
+
+ "title_screen":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "enterSound": "check_box",
+ "clickSound": "menu_button_click",
+ "releaseSound": "menu_button_release"
+ },
+
+ "title_close":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "clickSound": "title_close",
+ "releaseSound": "title_close"
+ },
+
+ "extras":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "clickSound": "menu_button_click",
+ "releaseSound": "menu_button_release"
+ },
+
+ "credits_back":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "clickSound": "credits_back",
+ "releaseSound": "credits_back"
+ },
+
+ "slider":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "releaseSound": "slider_release"
+ },
+
+ "check_box":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "disabledShader": "disabled",
+ "disabledHoveringShader": "disabledHovering",
+ "clickSound": "check_box"
+ },
+
+ "clickable_control":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering",
+ "disabledShader": "disabled",
+ "disabledHoveringShader": "disabledHovering",
+ "clickSound": "combo_box_switch"
+ },
+
+ "default":
+ {
+ "texture": "ui",
+ "hoveringShader": "hovering"
+ },
+
+ "default_no_hover":
+ {
+ "texture": "ui"
+ }
+ },
+
+ "textThemes":
+ {
+ "new_level":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "menu_buttons",
+ "fillDefaultColor": { "r": 0, "g": 84, "b": 153, "a": 255 },
+ "fillHoveringColor": { "r": 0, "g": 112, "b": 204, "a": 255 },
+ "fillHoldingColor": { "r": 0, "g": 140, "b": 255, "a": 255 },
+ "fillDisabledColor": { "r": 153, "g": 153, "b": 153, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 12, "b": 63, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 40, "b": 204, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 47, "b": 255, "a": 255 },
+ "outlineDisabledColor": { "r": 64, "g": 64, "b": 64, "a": 255 },
+
+ "characterSize": 65,
+ "letterSpacing": 1.5,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "open_level":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "menu_buttons",
+
+ "fillDefaultColor": { "r": 0, "g": 153, "b": 53, "a": 255 },
+ "fillDisabledColor": { "r": 153, "g": 153, "b": 153, "a": 255 },
+ "fillHoveringColor": { "r": 0, "g": 204, "b": 71, "a": 255 },
+ "fillHoldingColor": { "r": 0, "g": 255, "b": 93, "a": 255 },
+
+ "outlineDefaultColor": { "r": 56, "g": 0, "b": 153, "a": 255 },
+ "outlineDisabledColor": { "r": 64, "g": 64, "b": 64, "a": 255 },
+ "outlineHoveringColor": { "r": 75, "g": 0, "b": 205, "a": 255 },
+ "outlineHoldingColor": { "r": 95, "g": 0, "b": 255, "a": 255 },
+
+ "characterSize": 65,
+ "letterSpacing": 1.5,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "extra":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "menu_buttons",
+
+ "fillDefaultColor": { "r": 153, "g": 104, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 153, "g": 153, "b": 153, "a": 255 },
+ "fillHoveringColor": { "r": 204, "g": 142, "b": 0, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 182, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 155, "g": 65, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 64, "g": 64, "b": 64, "a": 255 },
+ "outlineHoveringColor": { "r": 205, "g": 90, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 255, "g": 115, "b": 0, "a": 255 },
+
+ "characterSize": 65,
+ "letterSpacing": 1.5,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "editor_input_field":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 58, "g": 58, "b": 58, "a": 255 },
+ "fillHoldingColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoveringColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 35,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ },
+
+ "main_editor_label":
+ {
+ "horizontalAlignment": "Left",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 58, "g": 58, "b": 58, "a": 255 },
+ "fillHoldingColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoveringColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 58, "g": 58, "b": 58, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 35,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ },
+
+ "main_editor_label2":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillDisabledColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 45,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 2,
+ "style": 0
+ },
+
+ "main_editor_label3":
+ {
+ "horizontalAlignment": "Left",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillDisabledColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 40,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 2,
+ "style": 0
+ },
+
+ "extra_label":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "main",
+
+ "fillDefaultColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "fillDisabledColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 65,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 1.5,
+ "style": 0
+ },
+
+ "settings_header":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 253, "g": 220, "b": 103, "a": 255 },
+ "fillDisabledColor": { "r": 253, "g": 220, "b": 103, "a": 255 },
+ "fillHoldingColor": { "r": 253, "g": 220, "b": 103, "a": 255 },
+ "fillHoveringColor": { "r": 253, "g": 220, "b": 103, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 85,
+ "letterSpacing": 1.5,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "settings_label":
+ {
+ "horizontalAlignment": "Left",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoldingColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoveringColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 50,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ },
+
+ "credits_large_label":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Top",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 145, "g": 220, "b": 50, "a": 255 },
+ "fillDisabledColor": { "r": 145, "g": 220, "b": 50, "a": 255 },
+ "fillHoldingColor":{ "r": 145, "g": 220, "b": 50, "a": 255 },
+ "fillHoveringColor": { "r": 145, "g": 220, "b": 50, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 70,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 3,
+ "style": 0
+ },
+
+ "credits_small_label":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Top",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "fillDisabledColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoldingColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+ "fillHoveringColor": { "r": 255, "g": 255, "b": 255, "a": 255 },
+
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 40,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 2,
+ "style": 0
+ },
+
+ "clickable_control":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "credits",
+
+ "fillDefaultColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoldingColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+ "fillHoveringColor": { "r": 72, "g": 62, "b": 0, "a": 255 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+
+ "characterSize": 50,
+ "letterSpacing": 1,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ },
+
+ "empty":
+ {
+ "horizontalAlignment": "Center",
+ "verticalAlignment": "Center",
+ "font": "main",
+
+ "fillDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "fillDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "fillHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+ "fillHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+
+ "outlineDefaultColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+ "outlineDisabledColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+ "outlineHoldingColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+ "outlineHoveringColor": { "r": 0, "g": 0, "b": 0, "a": 0 },
+
+ "characterSize": 0,
+ "letterSpacing": 0,
+ "lineSpacing": 0,
+ "outlineThickness": 0,
+ "style": 0
+ }
+ },
+
+ "inputControlThemes":
+ {
+ "default":
+ {
+ "mouseCursorDefault": "Arrow",
+ "mouseCursorText": "Text",
+ "cursorWidth": 3,
+ "cursorColor": { "r": 0, "g": 0, "b": 0, "a": 255 },
+ "selectionColor": { "r": 63, "g": 127, "b": 255, "a": 127 },
+ "inputSound": "typing"
+ }
+ }
+}
\ No newline at end of file
diff --git a/data/Resources/Fonts/Default/Shared/AshleyScriptMtStd.ttf b/data/Resources/Fonts/Default/Shared/AshleyScriptMtStd.ttf
new file mode 100644
index 0000000..68f4478
Binary files /dev/null and b/data/Resources/Fonts/Default/Shared/AshleyScriptMtStd.ttf differ
diff --git a/data/Resources/Fonts/Default/Shared/BrianneTod.ttf b/data/Resources/Fonts/Default/Shared/BrianneTod.ttf
new file mode 100644
index 0000000..53f8787
Binary files /dev/null and b/data/Resources/Fonts/Default/Shared/BrianneTod.ttf differ
diff --git a/data/Resources/Fonts/Default/Shared/HouseOfTerror.ttf b/data/Resources/Fonts/Default/Shared/HouseOfTerror.ttf
new file mode 100644
index 0000000..c985b95
Binary files /dev/null and b/data/Resources/Fonts/Default/Shared/HouseOfTerror.ttf differ
diff --git a/data/Resources/Fonts/Default/Shared/Pico12.ttf b/data/Resources/Fonts/Default/Shared/Pico12.ttf
new file mode 100644
index 0000000..16c7e9f
Binary files /dev/null and b/data/Resources/Fonts/Default/Shared/Pico12.ttf differ
diff --git a/data/Resources/Fonts/Default/Shared/VoidPixel7.ttf b/data/Resources/Fonts/Default/Shared/VoidPixel7.ttf
new file mode 100644
index 0000000..d02e2eb
Binary files /dev/null and b/data/Resources/Fonts/Default/Shared/VoidPixel7.ttf differ
diff --git a/data/Resources/Fonts/Default/Shared/fbUsv8C5el.ttf b/data/Resources/Fonts/Default/Shared/fbUsv8C5el.ttf
new file mode 100644
index 0000000..660aa90
Binary files /dev/null and b/data/Resources/Fonts/Default/Shared/fbUsv8C5el.ttf differ
diff --git a/data/Resources/Music/Default/Default/Title_Screen.ogg b/data/Resources/Music/Default/Default/Title_Screen.ogg
new file mode 100644
index 0000000..dbdb9ac
Binary files /dev/null and b/data/Resources/Music/Default/Default/Title_Screen.ogg differ
diff --git a/data/Resources/Music/Default/Default_Old/Title_Screen.ogg b/data/Resources/Music/Default/Default_Old/Title_Screen.ogg
new file mode 100644
index 0000000..6201f59
Binary files /dev/null and b/data/Resources/Music/Default/Default_Old/Title_Screen.ogg differ
diff --git a/data/Resources/Music/Default/Shared/Credits.ogg b/data/Resources/Music/Default/Shared/Credits.ogg
new file mode 100644
index 0000000..57c3d6c
Binary files /dev/null and b/data/Resources/Music/Default/Shared/Credits.ogg differ
diff --git a/data/Resources/Music/Default/Shared/Extras.wav b/data/Resources/Music/Default/Shared/Extras.wav
new file mode 100644
index 0000000..feb369c
Binary files /dev/null and b/data/Resources/Music/Default/Shared/Extras.wav differ
diff --git a/data/Resources/Music/Default/Shared/Main_Editor.wav b/data/Resources/Music/Default/Shared/Main_Editor.wav
new file mode 100644
index 0000000..bb64e3a
Binary files /dev/null and b/data/Resources/Music/Default/Shared/Main_Editor.wav differ
diff --git a/data/Resources/Music/Default/Shared/Settings.flac b/data/Resources/Music/Default/Shared/Settings.flac
new file mode 100644
index 0000000..99f3bfe
Binary files /dev/null and b/data/Resources/Music/Default/Shared/Settings.flac differ
diff --git a/data/Resources/Shaders/Fragment/Default/Shared/grayscale.frag b/data/Resources/Shaders/Fragment/Default/Shared/grayscale.frag
new file mode 100644
index 0000000..16a4c56
--- /dev/null
+++ b/data/Resources/Shaders/Fragment/Default/Shared/grayscale.frag
@@ -0,0 +1,10 @@
+
+uniform sampler2D u_texture;
+
+void main(void)
+{
+ vec4 color = texture2D(u_texture, gl_TexCoord[0].xy);
+ float gray = dot(color.rgb, vec3(0.299, 0.587, 0.114));
+ vec3 grayscale = vec3(gray);
+ gl_FragColor = vec4(grayscale, color.a);
+}
\ No newline at end of file
diff --git a/data/Resources/Shaders/Fragment/Default/Shared/grayscale_hsv_adjust.frag b/data/Resources/Shaders/Fragment/Default/Shared/grayscale_hsv_adjust.frag
new file mode 100644
index 0000000..14495ac
--- /dev/null
+++ b/data/Resources/Shaders/Fragment/Default/Shared/grayscale_hsv_adjust.frag
@@ -0,0 +1,30 @@
+
+uniform float[] u_adjustmentFactor;
+uniform sampler2D u_texture;
+
+vec3 rgb2hsv(vec3 c)
+{
+ vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
+ vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
+ vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
+
+ float d = q.x - min(q.w, q.y);
+ float e = 1.0e-10;
+ return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
+}
+
+vec4 hsv2rgb(vec3 c, float a)
+{
+ vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
+ vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
+ return vec4(c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y), a);
+}
+
+void main(void)
+{
+ vec4 color = texture2D(u_texture, gl_TexCoord[0].xy);
+ float gray = dot(color.rgb, vec3(0.299, 0.587, 0.114));
+ vec3 grayscale = vec3(gray);
+ vec3 hsv = rgb2hsv(grayscale) * vec3(u_adjustmentFactor[0], u_adjustmentFactor[1], u_adjustmentFactor[2]);
+ gl_FragColor = hsv2rgb(hsv, color.a);
+}
\ No newline at end of file
diff --git a/data/Resources/Shaders/Fragment/Default/Shared/hsv_adjust.frag b/data/Resources/Shaders/Fragment/Default/Shared/hsv_adjust.frag
new file mode 100644
index 0000000..9e50296
--- /dev/null
+++ b/data/Resources/Shaders/Fragment/Default/Shared/hsv_adjust.frag
@@ -0,0 +1,28 @@
+
+uniform float[] u_adjustmentFactor;
+uniform sampler2D u_texture;
+
+vec3 rgb2hsv(vec4 c)
+{
+ vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
+ vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
+ vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
+
+ float d = q.x - min(q.w, q.y);
+ float e = 1.0e-10;
+ return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
+}
+
+vec4 hsv2rgb(vec3 c, float a)
+{
+ vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
+ vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
+ return vec4(c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y), a);
+}
+
+void main(void)
+{
+ vec4 color = texture2D(u_texture, gl_TexCoord[0].xy);
+ vec3 hsv = rgb2hsv(color) * vec3(u_adjustmentFactor[0], u_adjustmentFactor[1], u_adjustmentFactor[2]);
+ gl_FragColor = hsv2rgb(hsv, color.a);
+}
\ No newline at end of file
diff --git a/data/Resources/Sounds/Default/Default/Menu_Bleep.wav b/data/Resources/Sounds/Default/Default/Menu_Bleep.wav
new file mode 100644
index 0000000..6596be1
Binary files /dev/null and b/data/Resources/Sounds/Default/Default/Menu_Bleep.wav differ
diff --git a/data/Resources/Sounds/Default/Shared/Back.wav b/data/Resources/Sounds/Default/Shared/Back.wav
new file mode 100644
index 0000000..548a35b
Binary files /dev/null and b/data/Resources/Sounds/Default/Shared/Back.wav differ
diff --git a/data/Resources/Sounds/Default/Shared/Close.wav b/data/Resources/Sounds/Default/Shared/Close.wav
new file mode 100644
index 0000000..a1df426
Binary files /dev/null and b/data/Resources/Sounds/Default/Shared/Close.wav differ
diff --git a/data/Resources/Sounds/Default/Shared/Combo_Switch.wav b/data/Resources/Sounds/Default/Shared/Combo_Switch.wav
new file mode 100644
index 0000000..6087fe3
Binary files /dev/null and b/data/Resources/Sounds/Default/Shared/Combo_Switch.wav differ
diff --git a/data/Resources/Sounds/Default/Shared/Menu_Hold.wav b/data/Resources/Sounds/Default/Shared/Menu_Hold.wav
new file mode 100644
index 0000000..6b8a001
Binary files /dev/null and b/data/Resources/Sounds/Default/Shared/Menu_Hold.wav differ
diff --git a/data/Resources/Sounds/Default/Shared/Menu_Release.wav b/data/Resources/Sounds/Default/Shared/Menu_Release.wav
new file mode 100644
index 0000000..ba465a5
Binary files /dev/null and b/data/Resources/Sounds/Default/Shared/Menu_Release.wav differ
diff --git a/data/Resources/Sounds/Default/Shared/Slider_Release.wav b/data/Resources/Sounds/Default/Shared/Slider_Release.wav
new file mode 100644
index 0000000..6ffb2e1
Binary files /dev/null and b/data/Resources/Sounds/Default/Shared/Slider_Release.wav differ
diff --git a/data/Resources/Sounds/Default/Shared/Tick.wav b/data/Resources/Sounds/Default/Shared/Tick.wav
new file mode 100644
index 0000000..ff5907f
Binary files /dev/null and b/data/Resources/Sounds/Default/Shared/Tick.wav differ
diff --git a/data/Resources/Sounds/Default/Shared/Typing.wav b/data/Resources/Sounds/Default/Shared/Typing.wav
new file mode 100644
index 0000000..828b30c
Binary files /dev/null and b/data/Resources/Sounds/Default/Shared/Typing.wav differ
diff --git a/data/Resources/Textures/Default/Default/Extras.png b/data/Resources/Textures/Default/Default/Extras.png
new file mode 100644
index 0000000..6d620e2
Binary files /dev/null and b/data/Resources/Textures/Default/Default/Extras.png differ
diff --git a/data/Resources/Textures/Default/Default/Loading.png b/data/Resources/Textures/Default/Default/Loading.png
new file mode 100644
index 0000000..57f1123
Binary files /dev/null and b/data/Resources/Textures/Default/Default/Loading.png differ
diff --git a/data/Resources/Textures/Default/Default/Logo.png b/data/Resources/Textures/Default/Default/Logo.png
new file mode 100644
index 0000000..3a9668b
Binary files /dev/null and b/data/Resources/Textures/Default/Default/Logo.png differ
diff --git a/data/Resources/Textures/Default/Default/Title_Screen.png b/data/Resources/Textures/Default/Default/Title_Screen.png
new file mode 100644
index 0000000..145b83e
Binary files /dev/null and b/data/Resources/Textures/Default/Default/Title_Screen.png differ
diff --git a/data/Resources/Textures/Default/Default/Title_Screen_Static.png b/data/Resources/Textures/Default/Default/Title_Screen_Static.png
new file mode 100644
index 0000000..a71a468
Binary files /dev/null and b/data/Resources/Textures/Default/Default/Title_Screen_Static.png differ
diff --git a/data/Resources/Textures/Default/Default/UI.png b/data/Resources/Textures/Default/Default/UI.png
new file mode 100644
index 0000000..e3b6298
Binary files /dev/null and b/data/Resources/Textures/Default/Default/UI.png differ
diff --git a/data/Resources/Textures/Default/Default_Old/Extras.png b/data/Resources/Textures/Default/Default_Old/Extras.png
new file mode 100644
index 0000000..531e90b
Binary files /dev/null and b/data/Resources/Textures/Default/Default_Old/Extras.png differ
diff --git a/data/Resources/Textures/Default/Default_Old/Loading.png b/data/Resources/Textures/Default/Default_Old/Loading.png
new file mode 100644
index 0000000..325e6f9
Binary files /dev/null and b/data/Resources/Textures/Default/Default_Old/Loading.png differ
diff --git a/data/Resources/Textures/Default/Default_Old/Logo.png b/data/Resources/Textures/Default/Default_Old/Logo.png
new file mode 100644
index 0000000..14be45c
Binary files /dev/null and b/data/Resources/Textures/Default/Default_Old/Logo.png differ
diff --git a/data/Resources/Textures/Default/Default_Old/Title_Screen.png b/data/Resources/Textures/Default/Default_Old/Title_Screen.png
new file mode 100644
index 0000000..1d8802d
Binary files /dev/null and b/data/Resources/Textures/Default/Default_Old/Title_Screen.png differ
diff --git a/data/Resources/Textures/Default/Default_Old/Title_Screen_Static.png b/data/Resources/Textures/Default/Default_Old/Title_Screen_Static.png
new file mode 100644
index 0000000..d4536f7
Binary files /dev/null and b/data/Resources/Textures/Default/Default_Old/Title_Screen_Static.png differ
diff --git a/data/Resources/Textures/Default/Default_Old/UI.png b/data/Resources/Textures/Default/Default_Old/UI.png
new file mode 100644
index 0000000..7cf56ff
Binary files /dev/null and b/data/Resources/Textures/Default/Default_Old/UI.png differ
diff --git a/data/Resources/Textures/Default/Shared/Credits.png b/data/Resources/Textures/Default/Shared/Credits.png
new file mode 100644
index 0000000..f4e56ec
Binary files /dev/null and b/data/Resources/Textures/Default/Shared/Credits.png differ
diff --git a/data/Resources/Textures/Default/Shared/Editor_Background.png b/data/Resources/Textures/Default/Shared/Editor_Background.png
new file mode 100644
index 0000000..fb5364c
Binary files /dev/null and b/data/Resources/Textures/Default/Shared/Editor_Background.png differ
diff --git a/data/Resources/Textures/Default/Shared/Editor_Background_Top.png b/data/Resources/Textures/Default/Shared/Editor_Background_Top.png
new file mode 100644
index 0000000..a91ec3a
Binary files /dev/null and b/data/Resources/Textures/Default/Shared/Editor_Background_Top.png differ
diff --git a/data/Resources/Textures/Default/Shared/Icon.png b/data/Resources/Textures/Default/Shared/Icon.png
new file mode 100644
index 0000000..3a2dde5
Binary files /dev/null and b/data/Resources/Textures/Default/Shared/Icon.png differ
diff --git a/data/Resources/Textures/Default/Shared/Settings.png b/data/Resources/Textures/Default/Shared/Settings.png
new file mode 100644
index 0000000..087bf78
Binary files /dev/null and b/data/Resources/Textures/Default/Shared/Settings.png differ
diff --git a/extlibs/include/SFML/Audio.hpp b/extlibs/include/SFML/Audio.hpp
new file mode 100644
index 0000000..3167927
--- /dev/null
+++ b/extlibs/include/SFML/Audio.hpp
@@ -0,0 +1,56 @@
+////////////////////////////////////////////////////////////
+//
+// SFML - Simple and Fast Multimedia Library
+// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
+//
+// This software is provided 'as-is', without any express or implied warranty.
+// In no event will the authors be held liable for any damages arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it freely,
+// subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented;
+// you must not claim that you wrote the original software.
+// If you use this software in a product, an acknowledgment
+// in the product documentation would be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such,
+// and must not be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
+////////////////////////////////////////////////////////////
+
+#ifndef SFML_AUDIO_HPP
+#define SFML_AUDIO_HPP
+
+////////////////////////////////////////////////////////////
+// Headers
+////////////////////////////////////////////////////////////
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+#endif // SFML_AUDIO_HPP
+
+////////////////////////////////////////////////////////////
+/// \defgroup audio Audio module
+///
+/// Sounds, streaming (musics or custom sources), recording,
+/// spatialization.
+///
+////////////////////////////////////////////////////////////
diff --git a/extlibs/include/SFML/Audio/AlResource.hpp b/extlibs/include/SFML/Audio/AlResource.hpp
new file mode 100644
index 0000000..dd7d44c
--- /dev/null
+++ b/extlibs/include/SFML/Audio/AlResource.hpp
@@ -0,0 +1,70 @@
+////////////////////////////////////////////////////////////
+//
+// SFML - Simple and Fast Multimedia Library
+// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
+//
+// This software is provided 'as-is', without any express or implied warranty.
+// In no event will the authors be held liable for any damages arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it freely,
+// subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented;
+// you must not claim that you wrote the original software.
+// If you use this software in a product, an acknowledgment
+// in the product documentation would be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such,
+// and must not be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
+////////////////////////////////////////////////////////////
+
+#ifndef SFML_ALRESOURCE_HPP
+#define SFML_ALRESOURCE_HPP
+
+////////////////////////////////////////////////////////////
+// Headers
+////////////////////////////////////////////////////////////
+#include
+
+
+namespace sf
+{
+////////////////////////////////////////////////////////////
+/// \brief Base class for classes that require an OpenAL context
+///
+////////////////////////////////////////////////////////////
+class SFML_AUDIO_API AlResource
+{
+protected:
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Default constructor
+ ///
+ ////////////////////////////////////////////////////////////
+ AlResource();
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Destructor
+ ///
+ ////////////////////////////////////////////////////////////
+ ~AlResource();
+};
+
+} // namespace sf
+
+
+#endif // SFML_ALRESOURCE_HPP
+
+////////////////////////////////////////////////////////////
+/// \class sf::AlResource
+/// \ingroup audio
+///
+/// This class is for internal use only, it must be the base
+/// of every class that requires a valid OpenAL context in
+/// order to work.
+///
+////////////////////////////////////////////////////////////
diff --git a/extlibs/include/SFML/Audio/Export.hpp b/extlibs/include/SFML/Audio/Export.hpp
new file mode 100644
index 0000000..9e5e09c
--- /dev/null
+++ b/extlibs/include/SFML/Audio/Export.hpp
@@ -0,0 +1,48 @@
+////////////////////////////////////////////////////////////
+//
+// SFML - Simple and Fast Multimedia Library
+// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
+//
+// This software is provided 'as-is', without any express or implied warranty.
+// In no event will the authors be held liable for any damages arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it freely,
+// subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented;
+// you must not claim that you wrote the original software.
+// If you use this software in a product, an acknowledgment
+// in the product documentation would be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such,
+// and must not be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
+////////////////////////////////////////////////////////////
+
+#ifndef SFML_AUDIO_EXPORT_HPP
+#define SFML_AUDIO_EXPORT_HPP
+
+////////////////////////////////////////////////////////////
+// Headers
+////////////////////////////////////////////////////////////
+#include
+
+
+////////////////////////////////////////////////////////////
+// Define portable import / export macros
+////////////////////////////////////////////////////////////
+#if defined(SFML_AUDIO_EXPORTS)
+
+ #define SFML_AUDIO_API SFML_API_EXPORT
+
+#else
+
+ #define SFML_AUDIO_API SFML_API_IMPORT
+
+#endif
+
+
+#endif // SFML_AUDIO_EXPORT_HPP
diff --git a/extlibs/include/SFML/Audio/InputSoundFile.hpp b/extlibs/include/SFML/Audio/InputSoundFile.hpp
new file mode 100644
index 0000000..317b952
--- /dev/null
+++ b/extlibs/include/SFML/Audio/InputSoundFile.hpp
@@ -0,0 +1,263 @@
+////////////////////////////////////////////////////////////
+//
+// SFML - Simple and Fast Multimedia Library
+// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
+//
+// This software is provided 'as-is', without any express or implied warranty.
+// In no event will the authors be held liable for any damages arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it freely,
+// subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented;
+// you must not claim that you wrote the original software.
+// If you use this software in a product, an acknowledgment
+// in the product documentation would be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such,
+// and must not be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
+////////////////////////////////////////////////////////////
+
+#ifndef SFML_INPUTSOUNDFILE_HPP
+#define SFML_INPUTSOUNDFILE_HPP
+
+////////////////////////////////////////////////////////////
+// Headers
+////////////////////////////////////////////////////////////
+#include
+#include
+#include
+#include
+#include
+
+
+namespace sf
+{
+class InputStream;
+class SoundFileReader;
+
+////////////////////////////////////////////////////////////
+/// \brief Provide read access to sound files
+///
+////////////////////////////////////////////////////////////
+class SFML_AUDIO_API InputSoundFile : NonCopyable
+{
+public:
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Default constructor
+ ///
+ ////////////////////////////////////////////////////////////
+ InputSoundFile();
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Destructor
+ ///
+ ////////////////////////////////////////////////////////////
+ ~InputSoundFile();
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Open a sound file from the disk for reading
+ ///
+ /// The supported audio formats are: WAV (PCM only), OGG/Vorbis, FLAC.
+ /// The supported sample sizes for FLAC and WAV are 8, 16, 24 and 32 bit.
+ ///
+ /// \param filename Path of the sound file to load
+ ///
+ /// \return True if the file was successfully opened
+ ///
+ ////////////////////////////////////////////////////////////
+ bool openFromFile(const std::string& filename);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Open a sound file in memory for reading
+ ///
+ /// The supported audio formats are: WAV (PCM only), OGG/Vorbis, FLAC.
+ /// The supported sample sizes for FLAC and WAV are 8, 16, 24 and 32 bit.
+ ///
+ /// \param data Pointer to the file data in memory
+ /// \param sizeInBytes Size of the data to load, in bytes
+ ///
+ /// \return True if the file was successfully opened
+ ///
+ ////////////////////////////////////////////////////////////
+ bool openFromMemory(const void* data, std::size_t sizeInBytes);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Open a sound file from a custom stream for reading
+ ///
+ /// The supported audio formats are: WAV (PCM only), OGG/Vorbis, FLAC.
+ /// The supported sample sizes for FLAC and WAV are 8, 16, 24 and 32 bit.
+ ///
+ /// \param stream Source stream to read from
+ ///
+ /// \return True if the file was successfully opened
+ ///
+ ////////////////////////////////////////////////////////////
+ bool openFromStream(InputStream& stream);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the total number of audio samples in the file
+ ///
+ /// \return Number of samples
+ ///
+ ////////////////////////////////////////////////////////////
+ Uint64 getSampleCount() const;
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the number of channels used by the sound
+ ///
+ /// \return Number of channels (1 = mono, 2 = stereo)
+ ///
+ ////////////////////////////////////////////////////////////
+ unsigned int getChannelCount() const;
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the sample rate of the sound
+ ///
+ /// \return Sample rate, in samples per second
+ ///
+ ////////////////////////////////////////////////////////////
+ unsigned int getSampleRate() const;
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the total duration of the sound file
+ ///
+ /// This function is provided for convenience, the duration is
+ /// deduced from the other sound file attributes.
+ ///
+ /// \return Duration of the sound file
+ ///
+ ////////////////////////////////////////////////////////////
+ Time getDuration() const;
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the read offset of the file in time
+ ///
+ /// \return Time position
+ ///
+ ////////////////////////////////////////////////////////////
+ Time getTimeOffset() const;
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the read offset of the file in samples
+ ///
+ /// \return Sample position
+ ///
+ ////////////////////////////////////////////////////////////
+ Uint64 getSampleOffset() const;
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Change the current read position to the given sample offset
+ ///
+ /// This function takes a sample offset to provide maximum
+ /// precision. If you need to jump to a given time, use the
+ /// other overload.
+ ///
+ /// The sample offset takes the channels into account.
+ /// If you have a time offset instead, you can easily find
+ /// the corresponding sample offset with the following formula:
+ /// `timeInSeconds * sampleRate * channelCount`
+ /// If the given offset exceeds to total number of samples,
+ /// this function jumps to the end of the sound file.
+ ///
+ /// \param sampleOffset Index of the sample to jump to, relative to the beginning
+ ///
+ ////////////////////////////////////////////////////////////
+ void seek(Uint64 sampleOffset);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Change the current read position to the given time offset
+ ///
+ /// Using a time offset is handy but imprecise. If you need an accurate
+ /// result, consider using the overload which takes a sample offset.
+ ///
+ /// If the given time exceeds to total duration, this function jumps
+ /// to the end of the sound file.
+ ///
+ /// \param timeOffset Time to jump to, relative to the beginning
+ ///
+ ////////////////////////////////////////////////////////////
+ void seek(Time timeOffset);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Read audio samples from the open file
+ ///
+ /// \param samples Pointer to the sample array to fill
+ /// \param maxCount Maximum number of samples to read
+ ///
+ /// \return Number of samples actually read (may be less than \a maxCount)
+ ///
+ ////////////////////////////////////////////////////////////
+ Uint64 read(Int16* samples, Uint64 maxCount);
+
+private:
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Close the current file
+ ///
+ ////////////////////////////////////////////////////////////
+ void close();
+
+ ////////////////////////////////////////////////////////////
+ // Member data
+ ////////////////////////////////////////////////////////////
+ SoundFileReader* m_reader; ///< Reader that handles I/O on the file's format
+ InputStream* m_stream; ///< Input stream used to access the file's data
+ bool m_streamOwned; ///< Is the stream internal or external?
+ Uint64 m_sampleOffset; ///< Sample Read Position
+ Uint64 m_sampleCount; ///< Total number of samples in the file
+ unsigned int m_channelCount; ///< Number of channels of the sound
+ unsigned int m_sampleRate; ///< Number of samples per second
+};
+
+} // namespace sf
+
+
+#endif // SFML_INPUTSOUNDFILE_HPP
+
+
+////////////////////////////////////////////////////////////
+/// \class sf::InputSoundFile
+/// \ingroup audio
+///
+/// This class decodes audio samples from a sound file. It is
+/// used internally by higher-level classes such as sf::SoundBuffer
+/// and sf::Music, but can also be useful if you want to process
+/// or analyze audio files without playing them, or if you want to
+/// implement your own version of sf::Music with more specific
+/// features.
+///
+/// Usage example:
+/// \code
+/// // Open a sound file
+/// sf::InputSoundFile file;
+/// if (!file.openFromFile("music.ogg"))
+/// /* error */;
+///
+/// // Print the sound attributes
+/// std::cout << "duration: " << file.getDuration().asSeconds() << std::endl;
+/// std::cout << "channels: " << file.getChannelCount() << std::endl;
+/// std::cout << "sample rate: " << file.getSampleRate() << std::endl;
+/// std::cout << "sample count: " << file.getSampleCount() << std::endl;
+///
+/// // Read and process batches of samples until the end of file is reached
+/// sf::Int16 samples[1024];
+/// sf::Uint64 count;
+/// do
+/// {
+/// count = file.read(samples, 1024);
+///
+/// // process, analyze, play, convert, or whatever
+/// // you want to do with the samples...
+/// }
+/// while (count > 0);
+/// \endcode
+///
+/// \see sf::SoundFileReader, sf::OutputSoundFile
+///
+////////////////////////////////////////////////////////////
diff --git a/extlibs/include/SFML/Audio/Listener.hpp b/extlibs/include/SFML/Audio/Listener.hpp
new file mode 100644
index 0000000..9fb7fff
--- /dev/null
+++ b/extlibs/include/SFML/Audio/Listener.hpp
@@ -0,0 +1,234 @@
+////////////////////////////////////////////////////////////
+//
+// SFML - Simple and Fast Multimedia Library
+// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
+//
+// This software is provided 'as-is', without any express or implied warranty.
+// In no event will the authors be held liable for any damages arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it freely,
+// subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented;
+// you must not claim that you wrote the original software.
+// If you use this software in a product, an acknowledgment
+// in the product documentation would be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such,
+// and must not be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
+////////////////////////////////////////////////////////////
+
+#ifndef SFML_LISTENER_HPP
+#define SFML_LISTENER_HPP
+
+////////////////////////////////////////////////////////////
+// Headers
+////////////////////////////////////////////////////////////
+#include
+#include
+
+
+namespace sf
+{
+////////////////////////////////////////////////////////////
+/// \brief The audio listener is the point in the scene
+/// from where all the sounds are heard
+///
+////////////////////////////////////////////////////////////
+class SFML_AUDIO_API Listener
+{
+public:
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Change the global volume of all the sounds and musics
+ ///
+ /// The volume is a number between 0 and 100; it is combined with
+ /// the individual volume of each sound / music.
+ /// The default value for the volume is 100 (maximum).
+ ///
+ /// \param volume New global volume, in the range [0, 100]
+ ///
+ /// \see getGlobalVolume
+ ///
+ ////////////////////////////////////////////////////////////
+ static void setGlobalVolume(float volume);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the current value of the global volume
+ ///
+ /// \return Current global volume, in the range [0, 100]
+ ///
+ /// \see setGlobalVolume
+ ///
+ ////////////////////////////////////////////////////////////
+ static float getGlobalVolume();
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Set the position of the listener in the scene
+ ///
+ /// The default listener's position is (0, 0, 0).
+ ///
+ /// \param x X coordinate of the listener's position
+ /// \param y Y coordinate of the listener's position
+ /// \param z Z coordinate of the listener's position
+ ///
+ /// \see getPosition, setDirection
+ ///
+ ////////////////////////////////////////////////////////////
+ static void setPosition(float x, float y, float z);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Set the position of the listener in the scene
+ ///
+ /// The default listener's position is (0, 0, 0).
+ ///
+ /// \param position New listener's position
+ ///
+ /// \see getPosition, setDirection
+ ///
+ ////////////////////////////////////////////////////////////
+ static void setPosition(const Vector3f& position);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the current position of the listener in the scene
+ ///
+ /// \return Listener's position
+ ///
+ /// \see setPosition
+ ///
+ ////////////////////////////////////////////////////////////
+ static Vector3f getPosition();
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Set the forward vector of the listener in the scene
+ ///
+ /// The direction (also called "at vector") is the vector
+ /// pointing forward from the listener's perspective. Together
+ /// with the up vector, it defines the 3D orientation of the
+ /// listener in the scene. The direction vector doesn't
+ /// have to be normalized.
+ /// The default listener's direction is (0, 0, -1).
+ ///
+ /// \param x X coordinate of the listener's direction
+ /// \param y Y coordinate of the listener's direction
+ /// \param z Z coordinate of the listener's direction
+ ///
+ /// \see getDirection, setUpVector, setPosition
+ ///
+ ////////////////////////////////////////////////////////////
+ static void setDirection(float x, float y, float z);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Set the forward vector of the listener in the scene
+ ///
+ /// The direction (also called "at vector") is the vector
+ /// pointing forward from the listener's perspective. Together
+ /// with the up vector, it defines the 3D orientation of the
+ /// listener in the scene. The direction vector doesn't
+ /// have to be normalized.
+ /// The default listener's direction is (0, 0, -1).
+ ///
+ /// \param direction New listener's direction
+ ///
+ /// \see getDirection, setUpVector, setPosition
+ ///
+ ////////////////////////////////////////////////////////////
+ static void setDirection(const Vector3f& direction);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the current forward vector of the listener in the scene
+ ///
+ /// \return Listener's forward vector (not normalized)
+ ///
+ /// \see setDirection
+ ///
+ ////////////////////////////////////////////////////////////
+ static Vector3f getDirection();
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Set the upward vector of the listener in the scene
+ ///
+ /// The up vector is the vector that points upward from the
+ /// listener's perspective. Together with the direction, it
+ /// defines the 3D orientation of the listener in the scene.
+ /// The up vector doesn't have to be normalized.
+ /// The default listener's up vector is (0, 1, 0). It is usually
+ /// not necessary to change it, especially in 2D scenarios.
+ ///
+ /// \param x X coordinate of the listener's up vector
+ /// \param y Y coordinate of the listener's up vector
+ /// \param z Z coordinate of the listener's up vector
+ ///
+ /// \see getUpVector, setDirection, setPosition
+ ///
+ ////////////////////////////////////////////////////////////
+ static void setUpVector(float x, float y, float z);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Set the upward vector of the listener in the scene
+ ///
+ /// The up vector is the vector that points upward from the
+ /// listener's perspective. Together with the direction, it
+ /// defines the 3D orientation of the listener in the scene.
+ /// The up vector doesn't have to be normalized.
+ /// The default listener's up vector is (0, 1, 0). It is usually
+ /// not necessary to change it, especially in 2D scenarios.
+ ///
+ /// \param upVector New listener's up vector
+ ///
+ /// \see getUpVector, setDirection, setPosition
+ ///
+ ////////////////////////////////////////////////////////////
+ static void setUpVector(const Vector3f& upVector);
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Get the current upward vector of the listener in the scene
+ ///
+ /// \return Listener's upward vector (not normalized)
+ ///
+ /// \see setUpVector
+ ///
+ ////////////////////////////////////////////////////////////
+ static Vector3f getUpVector();
+};
+
+} // namespace sf
+
+
+#endif // SFML_LISTENER_HPP
+
+
+////////////////////////////////////////////////////////////
+/// \class sf::Listener
+/// \ingroup audio
+///
+/// The audio listener defines the global properties of the
+/// audio environment, it defines where and how sounds and musics
+/// are heard. If sf::View is the eyes of the user, then sf::Listener
+/// is his ears (by the way, they are often linked together --
+/// same position, orientation, etc.).
+///
+/// sf::Listener is a simple interface, which allows to setup the
+/// listener in the 3D audio environment (position, direction and
+/// up vector), and to adjust the global volume.
+///
+/// Because the listener is unique in the scene, sf::Listener only
+/// contains static functions and doesn't have to be instantiated.
+///
+/// Usage example:
+/// \code
+/// // Move the listener to the position (1, 0, -5)
+/// sf::Listener::setPosition(1, 0, -5);
+///
+/// // Make it face the right axis (1, 0, 0)
+/// sf::Listener::setDirection(1, 0, 0);
+///
+/// // Reduce the global volume
+/// sf::Listener::setGlobalVolume(50);
+/// \endcode
+///
+////////////////////////////////////////////////////////////
diff --git a/extlibs/include/SFML/Audio/Music.hpp b/extlibs/include/SFML/Audio/Music.hpp
new file mode 100644
index 0000000..5351905
--- /dev/null
+++ b/extlibs/include/SFML/Audio/Music.hpp
@@ -0,0 +1,337 @@
+////////////////////////////////////////////////////////////
+//
+// SFML - Simple and Fast Multimedia Library
+// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
+//
+// This software is provided 'as-is', without any express or implied warranty.
+// In no event will the authors be held liable for any damages arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it freely,
+// subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented;
+// you must not claim that you wrote the original software.
+// If you use this software in a product, an acknowledgment
+// in the product documentation would be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such,
+// and must not be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source distribution.
+//
+////////////////////////////////////////////////////////////
+
+#ifndef SFML_MUSIC_HPP
+#define SFML_MUSIC_HPP
+
+////////////////////////////////////////////////////////////
+// Headers
+////////////////////////////////////////////////////////////
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+namespace sf
+{
+class InputStream;
+
+////////////////////////////////////////////////////////////
+/// \brief Streamed music played from an audio file
+///
+////////////////////////////////////////////////////////////
+class SFML_AUDIO_API Music : public SoundStream
+{
+public:
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Structure defining a time range using the template type
+ ///
+ ////////////////////////////////////////////////////////////
+ template
+ struct Span
+ {
+ ////////////////////////////////////////////////////////////
+ /// \brief Default constructor
+ ///
+ ////////////////////////////////////////////////////////////
+ Span()
+ {
+
+ }
+
+ ////////////////////////////////////////////////////////////
+ /// \brief Initialization constructor
+ ///
+ /// \param off Initial Offset
+ /// \param len Initial Length
+ ///
+ ////////////////////////////////////////////////////////////
+ Span(T off, T len):
+ offset(off),
+ length(len)
+ {
+
+ }
+
+ T offset; ///< The beginning offset of the time range
+ T length; ///< The length of the time range
+ };
+
+ // Define the relevant Span types
+ typedef Span