summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-05-16 11:46:08 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-05-16 11:46:08 (GMT)
commit9d70d60ee98be344010c2234cdb67e121a0d38f5 (patch)
tree18c0d97c250a29cef4f9ed3a8e5f68dc69b31f2a /src
parent1ddff1ad3be164da64f578d8fb27294e9926dba3 (diff)
downloadpowder-9d70d60ee98be344010c2234cdb67e121a0d38f5.zip
powder-9d70d60ee98be344010c2234cdb67e121a0d38f5.tar.gz
New message notification on session check TODO: Clickable link to conversations on website
Diffstat (limited to 'src')
-rw-r--r--src/interface.c1
-rw-r--r--src/main.c23
2 files changed, 22 insertions, 2 deletions
diff --git a/src/interface.c b/src/interface.c
index 3bef348..267a460 100644
--- a/src/interface.c
+++ b/src/interface.c
@@ -22,6 +22,7 @@ int sdl_key, sdl_wheel, sdl_caps=0, sdl_ascii, sdl_zoom_trig=0;
char *shift_0="`1234567890-=[]\\;',./";
char *shift_1="~!@#$%^&*()_+{}|:\"<>?";
+int svf_messages = 0;
int svf_login = 0;
int svf_admin = 0;
int svf_mod = 0;
diff --git a/src/main.c b/src/main.c
index fcaf65b..23bc54a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -165,6 +165,7 @@ typedef struct
static const char *old_ver_msg_beta = "A new beta is available - click here!";
#endif
static const char *old_ver_msg = "A new version is available - click here!";
+char new_message_msg[255];
float mheat = 0.0f;
int do_open = 0;
@@ -1373,7 +1374,7 @@ int main(int argc, char *argv[])
void *http_ver_check, *http_session_check = NULL;
char *ver_data=NULL, *check_data=NULL, *tmp;
//char console_error[255] = "";
- int result, i, j, bq, fire_fc=0, do_check=0, do_s_check=0, old_version=0, http_ret=0,http_s_ret=0, major, minor, old_ver_len;
+ int result, i, j, bq, fire_fc=0, do_check=0, do_s_check=0, old_version=0, http_ret=0,http_s_ret=0, major, minor, old_ver_len, new_message_len;
#ifdef INTERNAL
int vs = 0;
#endif
@@ -1700,6 +1701,7 @@ int main(int argc, char *argv[])
svf_own = 0;
svf_admin = 0;
svf_mod = 0;
+ svf_messages = 0;
}
else if (!strncmp(check_data, "BANNED", 6))
{
@@ -1712,6 +1714,7 @@ int main(int argc, char *argv[])
svf_own = 0;
svf_admin = 0;
svf_mod = 0;
+ svf_messages = 0;
error_ui(vid_buf, 0, "Unable to log in\nYour account has been suspended, consider reading the rules.");
}
else if (!strncmp(check_data, "OK", 2))
@@ -1719,7 +1722,7 @@ int main(int argc, char *argv[])
//Session valid
if (strlen(check_data)>2) {
//User is elevated
- if (!strncmp(check_data+3, "ADMIN", 5))
+ if (!strncmp(check_data+3, "ADM", 5))
{
svf_admin = 1;
svf_mod = 0;
@@ -1729,7 +1732,11 @@ int main(int argc, char *argv[])
svf_admin = 0;
svf_mod = 1;
}
+ //Check for messages
+ svf_messages = atoi(check_data+7);
+ printf("%d\n", svf_messages);
}
+ printf("%s\n", check_data);
}
else
{
@@ -1742,6 +1749,7 @@ int main(int argc, char *argv[])
svf_own = 0;
svf_admin = 0;
svf_mod = 0;
+ svf_messages = 0;
}
save_presets(0);
free(check_data);
@@ -1755,6 +1763,7 @@ int main(int argc, char *argv[])
svf_own = 0;
svf_admin = 0;
svf_mod = 0;
+ svf_messages = 0;
}
http_session_check = NULL;
} else {
@@ -3020,6 +3029,16 @@ int main(int argc, char *argv[])
#endif
drawrect(vid_buf, XRES-19-old_ver_len, YRES-22, old_ver_len+5, 13, 255, 216, 32, 255);
}
+
+ if (svf_messages)
+ {
+ sprintf(new_message_msg, "You have %d new message%s", svf_messages, (svf_messages>1)?"s":"");
+ new_message_len = textwidth(new_message_msg);
+
+ clearrect(vid_buf, XRES-21-new_message_len, YRES-24, new_message_len+9, 17);
+ drawtext(vid_buf, XRES-16-new_message_len, YRES-19, new_message_msg, 255, 216, 32, 255);
+ drawrect(vid_buf, XRES-19-new_message_len, YRES-22, new_message_len+5, 13, 255, 216, 32, 255);
+ }
FPS++;
currentTime = SDL_GetTicks();