aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui.cpp
diff options
context:
space:
mode:
authorClyne Sullivan <tullivan99@gmail.com>2015-10-01 08:53:49 -0400
committerClyne Sullivan <tullivan99@gmail.com>2015-10-01 08:53:49 -0400
commit68ec0bf510fd16cf4e6d7aabd7998fe656c25444 (patch)
treefc269ebdb6f7c9c76037058e8b1b95caefc6ee59 /src/ui.cpp
parent9757c1c7e8704080c4e20cde442baf06960e98e7 (diff)
quest completion
Diffstat (limited to 'src/ui.cpp')
-rw-r--r--src/ui.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/ui.cpp b/src/ui.cpp
index de875b9..8b62aab 100644
--- a/src/ui.cpp
+++ b/src/ui.cpp
@@ -13,7 +13,7 @@ static FT_Face ftf;
static GLuint ftex;
static bool dialogBoxExists=false;
-static const char *dialogBoxText=NULL;
+static char *dialogBoxText;
namespace ui {
vec2 mouse;
@@ -134,17 +134,31 @@ namespace ui {
putString(x,y,buf);
free(buf);
}
- void dialogBox(const char *text){
- //while(dialogBoxExists);
+ void dialogBox(const char *name,const char *text,...){
+ unsigned int name_len;
+ va_list dialogArgs;
+ va_start(dialogArgs,text);
dialogBoxExists=true;
- dialogBoxText=text;
+ if(dialogBoxText){
+ free(dialogBoxText);
+ dialogBoxText=NULL;
+ }
+ dialogBoxText=(char *)calloc(512,sizeof(char));
+ name_len=strlen(name);
+ strcpy(dialogBoxText,name);
+ strcpy(dialogBoxText+strlen(name),": ");
+ vsnprintf(dialogBoxText+name_len+2,512-name_len-2,text,dialogArgs);
+ va_end(dialogArgs);
}
void draw(void){
+ float x,y;
if(dialogBoxExists){
glColor3ub(0,0,0);
- glRectf(player->loc.x-SCREEN_WIDTH/2,SCREEN_HEIGHT,player->loc.x+SCREEN_WIDTH/2,SCREEN_HEIGHT-SCREEN_HEIGHT/4);
+ x=player->loc.x-SCREEN_WIDTH/2+HLINE*8;
+ y=SCREEN_HEIGHT-HLINE*8;
+ glRectf(x,y,x+SCREEN_WIDTH-HLINE*16,y-SCREEN_HEIGHT/4);
setFontSize(16);
- putString(player->loc.x-SCREEN_WIDTH/2,SCREEN_HEIGHT-fontSize,dialogBoxText);
+ putString(x+HLINE,y-fontSize-HLINE,dialogBoxText);
}
}
void handleEvents(void){