@@ -97,6 +97,27 @@ void PyLoader::CheckUpdate()
9797 std::remove (path);
9898}
9999
100+ void PyLoader::LoadScripts ()
101+ {
102+ HANDLE dir;
103+ WIN32_FIND_DATA fileData;
104+ dir = FindFirstFileA ((LPCSTR)PLUGIN_PATH ((char *)" /PyLoader/*.py" ), &fileData);
105+
106+ // Loading .py scripts
107+ if (dir != INVALID_HANDLE_VALUE)
108+ {
109+ do
110+ {
111+ std::string* fileName = new std::string (" PyLoader." + std::string (fileData.cFileName ));
112+
113+ // remove the extension
114+ fileName->erase (fileName->end () - 3 , fileName->end ());
115+ CreateThread (NULL , NULL , (LPTHREAD_START_ROUTINE)&PyLoader::ExecuteScript, fileName, NULL , NULL );
116+ Sleep (50 );
117+ } while (FindNextFile (dir, &fileData));
118+ }
119+ }
120+
100121void PyLoader::PyMain (void * param)
101122{
102123 plugin::Events::processScriptsEvent += []
@@ -111,9 +132,6 @@ void PyLoader::PyMain(void* param)
111132
112133 gLog << " ------------------------------" << std::endl;
113134
114- HANDLE dir;
115- WIN32_FIND_DATA fileData;
116-
117135 /*
118136 Load all the .dll modules from lib and libstd folder
119137 libstd folder is reserved for first party modules only
@@ -122,8 +140,6 @@ void PyLoader::PyMain(void* param)
122140 LoadPlugins (" lib" );
123141 LoadPlugins (" libstd" );
124142
125- dir = FindFirstFileA (" ./PyLoader/*.py" , &fileData);
126-
127143 // Init our modules
128144 PyImport_AppendInittab (" _bass" , &PyBass::Init);
129145 PyImport_AppendInittab (" _common" , &PyCommon::Init);
@@ -142,20 +158,8 @@ void PyLoader::PyMain(void* param)
142158 SoundSystem.Inject ();
143159 SoundSystem.Init (RsGlobal.ps ->window );
144160
145- // Loading .py scripts
146- if (dir != INVALID_HANDLE_VALUE)
147- {
148- do
149- {
150- std::string* fileName = new std::string (" PyLoader." + std::string (fileData.cFileName ));
151-
152- // remove the extension
153- fileName->erase (fileName->end () - 3 , fileName->end ());
154- CreateThread (NULL , NULL , (LPTHREAD_START_ROUTINE)&PyLoader::ExecuteScript, fileName, NULL , NULL );
155- Sleep (100 );
156- } while (FindNextFile (dir, &fileData));
157- }
158-
161+ LoadScripts ();
162+
159163 while (true )
160164 {
161165 // Check for infinite looping scripts
0 commit comments