mirror of
https://github.com/shavitush/bhoptimer.git
synced 2025-12-07 18:38:26 +00:00
Dropped workshop map names.
Added table migrations so tables get the workshop/xxxxx/ prefix removed.
This commit is contained in:
parent
9ac71c3a08
commit
d5d4ee487f
@ -1686,12 +1686,30 @@ public void SQL_CreateTable_Callback(Database db, DBResultSet results, const cha
|
||||
return;
|
||||
}
|
||||
|
||||
char[] sQuery = new char[64];
|
||||
FormatEx(sQuery, 64, "SELECT lastlogin FROM %susers LIMIT 1;", gS_MySQLPrefix);
|
||||
char[] sQuery = new char[192];
|
||||
FormatEx(sQuery, 192, "SELECT lastlogin FROM %susers LIMIT 1;", gS_MySQLPrefix);
|
||||
gH_SQL.Query(SQL_TableMigration1_Callback, sQuery, 0, DBPrio_High);
|
||||
|
||||
FormatEx(sQuery, 64, "SELECT points FROM %susers LIMIT 1;", gS_MySQLPrefix);
|
||||
FormatEx(sQuery, 192, "SELECT points FROM %susers LIMIT 1;", gS_MySQLPrefix);
|
||||
gH_SQL.Query(SQL_TableMigration2_Callback, sQuery, 0, DBPrio_High);
|
||||
|
||||
// TODO: table migration to all tables here, to remove workshop/xxxxxx/ from names
|
||||
|
||||
char sTables[][] =
|
||||
{
|
||||
"maptiers",
|
||||
"mapzones",
|
||||
"playertimes"
|
||||
};
|
||||
|
||||
for(int i = 0; i < sizeof(sTables); i++)
|
||||
{
|
||||
DataPack dp = new DataPack();
|
||||
dp.WriteString(sTables[i]);
|
||||
|
||||
FormatEx(sQuery, 192, "SELECT map FROM %s%s WHERE map LIKE 'workshop%%' GROUP BY map;", gS_MySQLPrefix, sTables[i]);
|
||||
gH_SQL.Query(SQL_TableMigration3_Callback, sQuery, dp, DBPrio_Low);
|
||||
}
|
||||
}
|
||||
|
||||
public void SQL_TableMigration1_Callback(Database db, DBResultSet results, const char[] error, any data)
|
||||
@ -1699,7 +1717,7 @@ public void SQL_TableMigration1_Callback(Database db, DBResultSet results, const
|
||||
if(results == null)
|
||||
{
|
||||
char[] sQuery = new char[128];
|
||||
FormatEx(sQuery, 128, "ALTER TABLE `%susers` ADD %s;", gS_MySQLPrefix, gB_MySQL? "(`lastlogin` INT NOT NULL DEFAULT -1)":"COLUMN `lastlogin` INTEGER NOT NULL DEFAULT -1");
|
||||
FormatEx(sQuery, 128, "ALTER TABLE `%susers` ADD %s;", gS_MySQLPrefix, (gB_MySQL)? "(`lastlogin` INT NOT NULL DEFAULT -1)":"COLUMN `lastlogin` INTEGER NOT NULL DEFAULT -1");
|
||||
gH_SQL.Query(SQL_AlterTable1_Callback, sQuery);
|
||||
}
|
||||
}
|
||||
@ -1719,7 +1737,7 @@ public void SQL_TableMigration2_Callback(Database db, DBResultSet results, const
|
||||
if(results == null)
|
||||
{
|
||||
char[] sQuery = new char[128];
|
||||
FormatEx(sQuery, 128, "ALTER TABLE `%susers` ADD %s;", gS_MySQLPrefix, gB_MySQL? "(`points` FLOAT NOT NULL DEFAULT 0)":"COLUMN `points` FLOAT NOT NULL DEFAULT 0");
|
||||
FormatEx(sQuery, 128, "ALTER TABLE `%susers` ADD %s;", gS_MySQLPrefix, (gB_MySQL)? "(`points` FLOAT NOT NULL DEFAULT 0)":"COLUMN `points` FLOAT NOT NULL DEFAULT 0");
|
||||
gH_SQL.Query(SQL_AlterTable2_Callback, sQuery);
|
||||
}
|
||||
}
|
||||
@ -1734,6 +1752,44 @@ public void SQL_AlterTable2_Callback(Database db, DBResultSet results, const cha
|
||||
}
|
||||
}
|
||||
|
||||
public void SQL_TableMigration3_Callback(Database db, DBResultSet results, const char[] error, DataPack data)
|
||||
{
|
||||
char[] sTable = new char[16];
|
||||
|
||||
data.Reset();
|
||||
data.ReadString(sTable, 16);
|
||||
delete data;
|
||||
|
||||
if(results == null || results.RowCount == 0)
|
||||
{
|
||||
// no error logging here because not everyone runs the rankings/wr modules
|
||||
return;
|
||||
}
|
||||
|
||||
while(results.FetchRow())
|
||||
{
|
||||
char[] sMap = new char[160];
|
||||
results.FetchString(0, sMap, 160);
|
||||
|
||||
char[] sDisplayMap = new char[160];
|
||||
GetMapDisplayName(sMap, sDisplayMap, 160);
|
||||
|
||||
char[] sQuery = new char[256];
|
||||
FormatEx(sQuery, 256, "UPDATE %s%s SET map = '%s' WHERE map = '%s';", gS_MySQLPrefix, sTable, sDisplayMap, sMap);
|
||||
gH_SQL.Query(SQL_AlterTable3_Callback, sQuery, 0, DBPrio_High);
|
||||
}
|
||||
}
|
||||
|
||||
public void SQL_AlterTable3_Callback(Database db, DBResultSet results, const char[] error, any data)
|
||||
{
|
||||
if(results == null)
|
||||
{
|
||||
LogError("Timer error! Table alteration 3 (core) failed. Reason: %s", error);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public void PreThinkPost(int client)
|
||||
{
|
||||
if(IsPlayerAlive(client))
|
||||
|
||||
@ -59,7 +59,6 @@ bool gB_Late = false;
|
||||
int gI_Tier = 1; // No floating numbers for tiers, sorry.
|
||||
|
||||
char gS_Map[160];
|
||||
char gS_DisplayMap[128];
|
||||
|
||||
int gI_ValidMaps = 0;
|
||||
ArrayList gA_ValidMaps = null;
|
||||
@ -309,7 +308,7 @@ public void OnMapStart()
|
||||
}
|
||||
|
||||
GetCurrentMap(gS_Map, 160);
|
||||
GetMapDisplayName(gS_Map, gS_DisplayMap, 128);
|
||||
GetMapDisplayName(gS_Map, gS_Map, 160);
|
||||
|
||||
// Default tier.
|
||||
// I won't repeat the same mistake blacky has done with tier 3 being default..
|
||||
@ -377,11 +376,8 @@ public void SQL_FillTierCache_Callback(Database db, DBResultSet results, const c
|
||||
char[] sMap = new char[160];
|
||||
results.FetchString(0, sMap, 160);
|
||||
|
||||
char[] sDisplayMap = new char[128];
|
||||
GetMapDisplayName(sMap, sDisplayMap, 128);
|
||||
|
||||
gA_MapTiers.SetValue(sDisplayMap, results.FetchInt(1));
|
||||
gA_ValidMaps.PushString(sDisplayMap);
|
||||
gA_MapTiers.SetValue(sMap, results.FetchInt(1));
|
||||
gA_ValidMaps.PushString(sMap);
|
||||
}
|
||||
|
||||
gI_ValidMaps = gA_ValidMaps.Length;
|
||||
@ -422,7 +418,7 @@ public Action Command_Tier(int client, int args)
|
||||
int tier = gI_Tier;
|
||||
|
||||
char[] sMap = new char[128];
|
||||
strcopy(sMap, 128, gS_DisplayMap);
|
||||
strcopy(sMap, 128, gS_Map);
|
||||
|
||||
if(args > 0)
|
||||
{
|
||||
@ -431,7 +427,7 @@ public Action Command_Tier(int client, int args)
|
||||
|
||||
if(!gA_MapTiers.GetValue(sMap, tier))
|
||||
{
|
||||
strcopy(sMap, 128, gS_DisplayMap);
|
||||
strcopy(sMap, 128, gS_Map);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -629,7 +629,6 @@ public void ShowMapsCallback(Database db, DBResultSet results, const char[] erro
|
||||
{
|
||||
char[] sMap = new char[192];
|
||||
results.FetchString(0, sMap, 192);
|
||||
GetMapDisplayName(sMap, sMap, 192);
|
||||
|
||||
char[] sRecordID = new char[16];
|
||||
char[] sDisplay = new char[256];
|
||||
@ -732,7 +731,7 @@ public void SQL_SubMenu_Callback(Database db, DBResultSet results, const char[]
|
||||
|
||||
char[] sName = new char[MAX_NAME_LENGTH];
|
||||
char[] sAuthID = new char[32];
|
||||
char[] sMap = new char[256];
|
||||
char[] sMap = new char[192];
|
||||
|
||||
if(results.FetchRow())
|
||||
{
|
||||
@ -762,7 +761,7 @@ public void SQL_SubMenu_Callback(Database db, DBResultSet results, const char[]
|
||||
results.FetchString(4, sAuthID, 32);
|
||||
|
||||
// 6 - map
|
||||
results.FetchString(6, sMap, 256);
|
||||
results.FetchString(6, sMap, 192);
|
||||
|
||||
float points = results.FetchFloat(9);
|
||||
|
||||
@ -792,8 +791,6 @@ public void SQL_SubMenu_Callback(Database db, DBResultSet results, const char[]
|
||||
FormatEx(sDisplay, 128, (sync > 0.0)? "%T: %d (%.02f%%)":"%T: %d", "Strafes", client, strafes, sync, "Strafes", client, strafes);
|
||||
menu.AddItem("-1", sDisplay);
|
||||
}
|
||||
|
||||
GetMapDisplayName(sMap, sMap, 256);
|
||||
}
|
||||
|
||||
char[] sFormattedTitle = new char[256];
|
||||
|
||||
@ -160,8 +160,9 @@ void StartCalculating()
|
||||
{
|
||||
if(gH_SQL != null)
|
||||
{
|
||||
char sMap[256];
|
||||
GetCurrentMap(sMap, 256);
|
||||
char sMap[160];
|
||||
GetCurrentMap(sMap, 160);
|
||||
GetMapDisplayName(sMap, sMap, 160);
|
||||
|
||||
char sQuery[512];
|
||||
FormatEx(sQuery, 512, "SELECT COUNT(*), SUM(t.time) FROM (SELECT r.time, r.style FROM %splayertimes r WHERE r.map = '%s' AND r.track = 0 %sORDER BY r.time LIMIT %d) t;", gS_MySQLPrefix, sMap, (gB_Style)? "AND style = 0 ":"", gI_PlayerAmount);
|
||||
|
||||
@ -49,7 +49,7 @@ bool gB_MySQL = false;
|
||||
int gBS_LastWR[MAXPLAYERS+1];
|
||||
char gS_ClientMap[MAXPLAYERS+1][128];
|
||||
int gI_LastTrack[MAXPLAYERS+1];
|
||||
char gS_Map[192]; // blame workshop paths being so fucking long
|
||||
char gS_Map[160]; // blame workshop paths being so fucking long
|
||||
ArrayList gA_ValidMaps = null;
|
||||
int gI_ValidMaps = 1;
|
||||
|
||||
@ -314,18 +314,15 @@ public void OnLibraryRemoved(const char[] name)
|
||||
|
||||
public void OnMapStart()
|
||||
{
|
||||
GetCurrentMap(gS_Map, 128);
|
||||
GetCurrentMap(gS_Map, 160);
|
||||
GetMapDisplayName(gS_Map, gS_Map, 160);
|
||||
|
||||
if(gH_SQL != null)
|
||||
{
|
||||
UpdateWRCache();
|
||||
|
||||
int size = (strlen(gS_Map) + 1);
|
||||
char[] sDisplayMap = new char[size];
|
||||
GetMapDisplayName(gS_Map, sDisplayMap, size);
|
||||
|
||||
char[] sLowerCase = new char[128];
|
||||
strcopy(sLowerCase, 128, sDisplayMap);
|
||||
char[] sLowerCase = new char[160];
|
||||
strcopy(sLowerCase, 160, gS_Map);
|
||||
|
||||
for(int i = 0; i < strlen(sLowerCase); i++)
|
||||
{
|
||||
@ -365,12 +362,8 @@ public void SQL_UpdateMaps_Callback(Database db, DBResultSet results, const char
|
||||
char[] sMap = new char[192];
|
||||
results.FetchString(0, sMap, 192);
|
||||
|
||||
int size = (strlen(sMap) + 1);
|
||||
char[] sDisplayMap = new char[size];
|
||||
GetMapDisplayName(sMap, sDisplayMap, size);
|
||||
|
||||
char[] sLowerCase = new char[128];
|
||||
strcopy(sLowerCase, 128, sDisplayMap);
|
||||
strcopy(sLowerCase, 128, sMap);
|
||||
|
||||
for(int i = 0; i < strlen(sLowerCase); i++)
|
||||
{
|
||||
@ -754,14 +747,11 @@ public int MenuHandler_DeleteAll_First(Menu menu, MenuAction action, int param1,
|
||||
|
||||
void DeleteAllSubmenu(int client)
|
||||
{
|
||||
char[] sDisplayMap = new char[strlen(gS_Map) + 1];
|
||||
GetMapDisplayName(gS_Map, sDisplayMap, strlen(gS_Map) + 1);
|
||||
|
||||
char[] sTrack = new char[32];
|
||||
GetTrackName(client, gI_LastTrack[client], sTrack, 32);
|
||||
|
||||
Menu menu = new Menu(MenuHandler_DeleteAll);
|
||||
menu.SetTitle("%T\n ", "DeleteAllRecordsMenuTitle", client, sDisplayMap, sTrack);
|
||||
menu.SetTitle("%T\n ", "DeleteAllRecordsMenuTitle", client, gS_Map, sTrack);
|
||||
|
||||
char[] sMenuItem = new char[64];
|
||||
|
||||
@ -819,11 +809,8 @@ public Action Command_DeleteStyleRecords(int client, int args)
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
char[] sDisplayMap = new char[strlen(gS_Map) + 1];
|
||||
GetMapDisplayName(gS_Map, sDisplayMap, strlen(gS_Map) + 1);
|
||||
|
||||
Menu menu = new Menu(MenuHandler_DeleteStyleRecords);
|
||||
menu.SetTitle("%T\n ", "DeleteStyleRecordsRecordsMenuTitle", client, sDisplayMap);
|
||||
menu.SetTitle("%T\n ", "DeleteStyleRecordsRecordsMenuTitle", client, gS_Map);
|
||||
|
||||
for(int i = 0; i < gI_Styles; i++)
|
||||
{
|
||||
@ -1031,11 +1018,8 @@ public void SQL_OpenDelete_Callback(Database db, DBResultSet results, const char
|
||||
return;
|
||||
}
|
||||
|
||||
char[] sDisplayMap = new char[strlen(gS_Map) + 1];
|
||||
GetMapDisplayName(gS_Map, sDisplayMap, strlen(gS_Map) + 1);
|
||||
|
||||
Menu menu = new Menu(OpenDelete_Handler);
|
||||
menu.SetTitle("%t", "ListClientRecords", sDisplayMap, gS_StyleStrings[style][sStyleName]);
|
||||
menu.SetTitle("%t", "ListClientRecords", gS_Map, gS_StyleStrings[style][sStyleName]);
|
||||
|
||||
int iCount = 0;
|
||||
|
||||
@ -1461,15 +1445,11 @@ public void SQL_WR_Callback(Database db, DBResultSet results, const char[] error
|
||||
}
|
||||
}
|
||||
|
||||
int size = (strlen(sMap) + 1);
|
||||
char[] sDisplayMap = new char[size];
|
||||
GetMapDisplayName(sMap, sDisplayMap, size + 1);
|
||||
|
||||
char[] sFormattedTitle = new char[256];
|
||||
|
||||
if(menu.ItemCount == 0)
|
||||
{
|
||||
menu.SetTitle("%T", "WRMap", client, sDisplayMap);
|
||||
menu.SetTitle("%T", "WRMap", client, sMap);
|
||||
char[] sNoRecords = new char[64];
|
||||
FormatEx(sNoRecords, 64, "%T", "WRMapNoRecords", client);
|
||||
|
||||
@ -1496,7 +1476,7 @@ public void SQL_WR_Callback(Database db, DBResultSet results, const char[] error
|
||||
char[] sTrack = new char[32];
|
||||
GetTrackName(client, track, sTrack, 32);
|
||||
|
||||
FormatEx(sFormattedTitle, 192, "%T %s: [%s]\n%s", "WRRecordFor", client, sDisplayMap, sTrack, sRanks);
|
||||
FormatEx(sFormattedTitle, 192, "%T %s: [%s]\n%s", "WRRecordFor", client, sMap, sTrack, sRanks);
|
||||
menu.SetTitle(sFormattedTitle);
|
||||
}
|
||||
|
||||
@ -1574,10 +1554,7 @@ public void SQL_RR_Callback(Database db, DBResultSet results, const char[] error
|
||||
{
|
||||
char[] sMap = new char[192];
|
||||
results.FetchString(1, sMap, 192);
|
||||
|
||||
char[] sDisplayMap = new char[64];
|
||||
GetMapDisplayName(sMap, sDisplayMap, 64);
|
||||
|
||||
|
||||
char[] sName = new char[MAX_NAME_LENGTH];
|
||||
results.FetchString(2, sName, MAX_NAME_LENGTH);
|
||||
|
||||
@ -1596,12 +1573,12 @@ public void SQL_RR_Callback(Database db, DBResultSet results, const char[] error
|
||||
|
||||
if(gB_Rankings && fPoints > 0.0)
|
||||
{
|
||||
FormatEx(sDisplay, 192, "[%s] [%s] %s - %s @ %s (%.03f %T)", gS_StyleStrings[style][sShortName], sTrack, sDisplayMap, sName, sTime, fPoints, "WRPoints", client);
|
||||
FormatEx(sDisplay, 192, "[%s] [%s] %s - %s @ %s (%.03f %T)", gS_StyleStrings[style][sShortName], sTrack, sMap, sName, sTime, fPoints, "WRPoints", client);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
FormatEx(sDisplay, 192, "[%s] [%s] %s - %s @ %s (%d %T)", gS_StyleStrings[style][sShortName], sTrack, sDisplayMap, sName, sTime, jumps, "WRJumps", client);
|
||||
FormatEx(sDisplay, 192, "[%s] [%s] %s - %s @ %s (%d %T)", gS_StyleStrings[style][sShortName], sTrack, sMap, sName, sTime, jumps, "WRJumps", client);
|
||||
}
|
||||
|
||||
char[] sInfo = new char[192];
|
||||
@ -1693,8 +1670,8 @@ public void SQL_SubMenu_Callback(Database db, DBResultSet results, const char[]
|
||||
char[] sFormattedTitle = new char[256];
|
||||
char[] sName = new char[MAX_NAME_LENGTH];
|
||||
char[] sAuthID = new char[32];
|
||||
char[] sDisplayMap = new char[192];
|
||||
char[] sTrack = new char[32];
|
||||
char[] sMap = new char[192];
|
||||
|
||||
if(results.FetchRow())
|
||||
{
|
||||
@ -1721,10 +1698,8 @@ public void SQL_SubMenu_Callback(Database db, DBResultSet results, const char[]
|
||||
menu.AddItem("-1", sDisplay);
|
||||
|
||||
// 6 - map
|
||||
char[] sMap = new char[192];
|
||||
results.FetchString(6, sMap, 192);
|
||||
GetMapDisplayName(sMap, sDisplayMap, 192);
|
||||
|
||||
|
||||
float fPoints = results.FetchFloat(9);
|
||||
|
||||
if(gB_Rankings && fPoints > 0.0)
|
||||
@ -1787,7 +1762,7 @@ public void SQL_SubMenu_Callback(Database db, DBResultSet results, const char[]
|
||||
|
||||
if(strlen(sName) > 0)
|
||||
{
|
||||
FormatEx(sFormattedTitle, 256, "%s %s\n--- %s: [%s]", sName, sAuthID, sDisplayMap, sTrack);
|
||||
FormatEx(sFormattedTitle, 256, "%s %s\n--- %s: [%s]", sName, sAuthID, sMap, sTrack);
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
@ -37,7 +37,7 @@ Database gH_SQL = null;
|
||||
bool gB_MySQL = false;
|
||||
bool gB_DBReady = false;
|
||||
|
||||
char gS_Map[128];
|
||||
char gS_Map[160];
|
||||
|
||||
char gS_ZoneNames[][] =
|
||||
{
|
||||
@ -532,7 +532,8 @@ void LoadZoneSettings()
|
||||
|
||||
public void OnMapStart()
|
||||
{
|
||||
GetCurrentMap(gS_Map, 128);
|
||||
GetCurrentMap(gS_Map, 160);
|
||||
GetMapDisplayName(gS_Map, gS_Map, 160);
|
||||
|
||||
gI_MapZones = 0;
|
||||
UnloadZones(0);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user