//float PS_PM_IN_DB; // playerstats_prematch_in_db // db for info COLLECTED at the beginning of a match
float PS_GR_OUT_DB; // playerstats_gamereport_out_db // db of info SENT at the end of a match
//float PS_GR_IN_DB; // playerstats_gamereport_in_db // db for info COLLECTED at the end of a match
-//float PS_B_IN_DB; // playerstats_playerbasic_in_db // db for info COLLECTED for basic player info (ELO)
-// http://stats.xonotic.org/player/GgXRw6piDtFIbMArMuiAi8JG4tiin8VLjZgsKB60Uds=/elo.txt -- this works,
-// http://stats.xonotic.org/player/ENkUjf83vKMVZcNm%2F6Ao1EmXEj1apQ6XvdQTxwELvmA%3D/elo.txt -- but this doesn't?!?
-// ENkUjf83vKMVZcNm/6Ao1EmXEj1apQ6XvdQTxwELvmA=
+float PS_B_IN_DB; // playerstats_playerbasic_in_db // db for info COLLECTED for basic player info (ELO)
#endif
#ifdef MENUQC
float PS_D_IN_DB; // playerstats_playerdetail_in_db // db for info COLLECTED for detailed player profile display
-// http://stats.xonotic.org/player/me
#endif
#ifdef SVQC
string autocvar_g_playerstats_gamereport_ladder;
var string autocvar_g_playerstats_gamereport_uri = "http://stats.xonotic.org/stats/submit";
+
+#define PS_B_STATUS_ERROR -2
+#define PS_B_STATUS_IDLE -1
+#define PS_B_STATUS_WAITING 0
+#define PS_B_STATUS_RECEIVED 1
+#define PS_B_STATUS_UPDATING 2
+.float playerstats_basicstatus;
var string autocvar_g_playerstats_playerbasic_uri = "http://stats.xonotic.org";
-void PlayerStats_PlayerBasic();
+void PlayerStats_PlayerBasic(entity joiningplayer, float newrequest);
+void PlayerStats_PlayerBasic_CheckUpdate(entity joiningplayer);
void PlayerStats_PlayerBasic_Handler(entity fh, entity p, float status);
#endif //SVQC
#ifdef MENUQC
+float PS_D_NEXTUPDATETIME;
+float PS_D_LASTGAMECOUNT;
+#define PS_D_STATUS_ERROR -2
+#define PS_D_STATUS_IDLE -1
+#define PS_D_STATUS_WAITING 0
+#define PS_D_STATUS_RECEIVED 1
+var float PlayerStats_PlayerDetail_Status = PS_D_STATUS_IDLE;
var string autocvar_g_playerstats_playerdetail_uri = "http://stats.xonotic.org/player/me";
-void PlayerStats_PlayerDetail();
+var float autocvar_g_playerstats_playerdetail_autoupdatetime = 1800; // automatically update every 30 minutes anyway
+void PlayerStats_PlayerDetail(void);
+void PlayerStats_PlayerDetail_CheckUpdate(void);
void PlayerStats_PlayerDetail_Handler(entity fh, entity p, float status);
#endif
-
-
-/*
-//// WIP -zykure /////////////////////////////////////////////////////
-
-
-//const string playerinfo_uri = "http://localhost:6543"; // FIXME
-
-string PlayerInfo_GetItem(entity e, string item_id);
-string PlayerInfo_GetItemLocal(string item_id);
-
-void PlayerInfo_Init();
-#ifdef SVQC
-string autocvar_g_playerinfo_uri;
-void PlayerInfo_Basic(entity p);
-#endif
-#ifdef MENUQC
-string autocvar_g_playerinfo_uri;
-void PlayerInfo_Details();
-#endif
-#ifdef CSQC
-
-//void PlayerInfo_Details();
-#endif
-*/