Add Shavit_GetStyleCount()

This commit is contained in:
shavitush 2016-09-10 16:53:50 +03:00
parent 4387e63baf
commit 311f5ba146
3 changed files with 25 additions and 1 deletions

View File

@ -671,6 +671,13 @@ native int Shavit_GetStyleSettings(BhopStyle style, any StyleSettings[STYLESETTI
*/
native int Shavit_GetStyleStrings(BhopStyle style, int stringtype, char[] StyleStrings, int size);
/**
* Retrieves the amount of styles in the server.
*
* @return Amount of styles or -1 if there's an error.
*/
native int Shavit_GetStyleCount();
/**
* Use this native when printing anything in chat if it's related to the timer.
* This native will auto-assign colors and a chat prefix.
@ -728,6 +735,7 @@ public void __pl_shavit_SetNTVOptional()
MarkNativeAsOptional("Shavit_GetReplayBotFirstFrame");
MarkNativeAsOptional("Shavit_GetReplayBotIndex");
MarkNativeAsOptional("Shavit_GetStrafeCount");
MarkNativeAsOptional("Shavit_GetStyleCount");
MarkNativeAsOptional("Shavit_GetStyleSettings");
MarkNativeAsOptional("Shavit_GetStyleStrings");
MarkNativeAsOptional("Shavit_GetSync");

View File

@ -144,6 +144,7 @@ public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max
CreateNative("Shavit_RestartTimer", Native_RestartTimer);
CreateNative("Shavit_GetStrafeCount", Native_GetStrafeCount);
CreateNative("Shavit_GetSync", Native_GetSync);
CreateNative("Shavit_GetStyleCount", Native_GetStyleCount);
CreateNative("Shavit_GetStyleSettings", Native_GetStyleSettings);
CreateNative("Shavit_GetStyleStrings", Native_GetStyleStrings);
@ -767,6 +768,11 @@ public int Native_GetSync(Handle handler, int numParams)
return view_as<int>((gA_StyleSettings[gBS_Style[client]][bSync])? (gI_GoodGains[client] == 0)? 0.0:(gI_GoodGains[client] / float(gI_TotalMeasures[client]) * 100.0):-1.0);
}
public int Native_GetStyleCount(Handle handler, int numParams)
{
return (gI_Styles > 0)? gI_Styles:-1;
}
public int Native_GetStyleSettings(Handle handler, int numParams)
{
return SetNativeArray(2, gA_StyleSettings[GetNativeCell(1)], STYLESETTINGS_SIZE);
@ -774,7 +780,7 @@ public int Native_GetStyleSettings(Handle handler, int numParams)
public int Native_GetStyleStrings(Handle handler, int numParams)
{
return SetNativeString(4, gS_StyleStrings[GetNativeCell(1)][GetNativeCell(2)], GetNativeCell(3));
return SetNativeString(3, gS_StyleStrings[GetNativeCell(1)][GetNativeCell(2)], GetNativeCell(4));
}
public void StartTimer(int client)

View File

@ -249,6 +249,11 @@ public void OnPluginStart()
public void Shavit_OnStyleConfigLoaded(int styles)
{
if(styles == -1)
{
styles = Shavit_GetStyleCount();
}
for(int i = 0; i < styles; i++)
{
Shavit_GetStyleSettings(view_as<BhopStyle>(i), gA_StyleSettings[i]);
@ -312,6 +317,11 @@ public void OnMapStart()
}
}
}
if(gB_Late)
{
Shavit_OnStyleConfigLoaded(-1);
}
}
public void OnLibraryAdded(const char[] name)