@@ -152,6 +152,13 @@ void CLuaEngineDefs::LoadFunctions()
152152 {" enginePreloadWorldArea" , ArgumentParser<EnginePreloadWorldArea>},
153153 {" engineRestreamModel" , ArgumentParser<EngineRestreamModel>},
154154 {" engineRestream" , ArgumentParser<EngineRestream>},
155+ {" engineStreamingSetLimits" , ArgumentParser<EngineStreamingSetLimits>},
156+ {" engineStreamingGetLimits" , ArgumentParser<EngineStreamingGetLimits>},
157+ {" engineStreamingResetLimits" , ArgumentParser<EngineStreamingResetLimits>},
158+ {" engineStreamingSetMaxSwaps" , ArgumentParser<EngineStreamingSetMaxSwaps>},
159+ {" engineStreamingResetMaxSwaps" , ArgumentParser<EngineStreamingResetMaxSwaps>},
160+ {" engineStreamingSetFurthestInLimit" , ArgumentParser<EngineStreamingSetFurthestInLimit>},
161+ {" engineStreamingResetFurthestInLimit" , ArgumentParser<EngineStreamingResetFurthestInLimit>},
155162
156163
157164 // CLuaCFunctions::AddFunction ( "engineReplaceMatchingAtomics", EngineReplaceMatchingAtomics );
@@ -216,6 +223,13 @@ void CLuaEngineDefs::AddClass(lua_State* luaVM)
216223 lua_classfunction (luaVM, " getBufferSize" , " engineStreamingGetBufferSize" );
217224 lua_classfunction (luaVM, " setBufferSize" , " engineStreamingSetBufferSize" );
218225 lua_classfunction (luaVM, " restoreBufferSize" , " engineStreamingRestoreBufferSize" );
226+ lua_classfunction (luaVM, " setLimits" , " engineStreamingSetLimits" );
227+ lua_classfunction (luaVM, " getLimits" , " engineStreamingGetLimits" );
228+ lua_classfunction (luaVM, " resetLimits" , " engineStreamingResetLimits" );
229+ lua_classfunction (luaVM, " setMaxSwaps" , " engineStreamingSetMaxSwaps" );
230+ lua_classfunction (luaVM, " resetMaxSwaps" , " engineStreamingResetMaxSwaps" );
231+ lua_classfunction (luaVM, " setFurthestInLimit" , " engineStreamingSetFurthestInLimit" );
232+ lua_classfunction (luaVM, " resetFurthestInLimit" , " engineStreamingResetFurthestInLimit" );
219233
220234 lua_classvariable (luaVM, " memorySize" , " engineStreamingSetMemorySize" , " engineStreamingGetMemorySize" );
221235 lua_classvariable (luaVM, " bufferSize" , " engineStreamingSetBufferSize" , " engineStreamingGetBufferSize" );
@@ -2615,3 +2629,68 @@ void CLuaEngineDefs::EngineRestream(std::optional<RestreamOption> option)
26152629{
26162630 g_pClientGame->Restream (option);
26172631}
2632+
2633+ void CLuaEngineDefs::EngineStreamingSetLimits (int normalIn, int normalOut, int farIn, int farOut)
2634+ {
2635+ g_pClientGame->GetManager ()->GetObjectStreamer ()->SetStreamerLimits (normalIn, normalOut, farIn, farOut);
2636+ }
2637+
2638+ int CLuaEngineDefs::EngineStreamingGetLimits (lua_State* luaVM)
2639+ {
2640+ auto * pStreamer = g_pClientGame->GetManager ()->GetObjectStreamer ();
2641+ int normalIn, normalOut, farIn, farOut, maxSwaps, furthestInLimit;
2642+ pStreamer->GetStreamingLimits (normalIn, normalOut, farIn, farOut, maxSwaps, furthestInLimit);
2643+
2644+ lua_newtable (luaVM);
2645+
2646+ lua_pushstring (luaVM, " normalIn" );
2647+ lua_pushnumber (luaVM, normalIn);
2648+ lua_settable (luaVM, -3 );
2649+
2650+ lua_pushstring (luaVM, " normalOut" );
2651+ lua_pushnumber (luaVM, normalOut);
2652+ lua_settable (luaVM, -3 );
2653+
2654+ lua_pushstring (luaVM, " farIn" );
2655+ lua_pushnumber (luaVM, farIn);
2656+ lua_settable (luaVM, -3 );
2657+
2658+ lua_pushstring (luaVM, " farOut" );
2659+ lua_pushnumber (luaVM, farOut);
2660+ lua_settable (luaVM, -3 );
2661+
2662+ lua_pushstring (luaVM, " maxSwaps" );
2663+ lua_pushnumber (luaVM, maxSwaps);
2664+ lua_settable (luaVM, -3 );
2665+
2666+ lua_pushstring (luaVM, " furthestInLimit" );
2667+ lua_pushnumber (luaVM, furthestInLimit);
2668+ lua_settable (luaVM, -3 );
2669+
2670+ return 1 ;
2671+ }
2672+
2673+ void CLuaEngineDefs::EngineStreamingResetLimits ()
2674+ {
2675+ g_pClientGame->GetManager ()->GetObjectStreamer ()->ResetStreamerLimits ();
2676+ }
2677+
2678+ void CLuaEngineDefs::EngineStreamingSetMaxSwaps (int maxSwaps)
2679+ {
2680+ g_pClientGame->GetManager ()->GetObjectStreamer ()->SetStreamerMaxSwaps (maxSwaps);
2681+ }
2682+
2683+ void CLuaEngineDefs::EngineStreamingResetMaxSwaps ()
2684+ {
2685+ g_pClientGame->GetManager ()->GetObjectStreamer ()->ResetStreamerMaxSwaps ();
2686+ }
2687+
2688+ void CLuaEngineDefs::EngineStreamingSetFurthestInLimit (int limit)
2689+ {
2690+ g_pClientGame->GetManager ()->GetObjectStreamer ()->SetStreamerFurthestInLimit (limit);
2691+ }
2692+
2693+ void CLuaEngineDefs::EngineStreamingResetFurthestInLimit ()
2694+ {
2695+ g_pClientGame->GetManager ()->GetObjectStreamer ()->ResetStreamerFurthestInLimit ();
2696+ }
0 commit comments