aboutsummaryrefslogtreecommitdiffstats
path: root/src/UIClass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/UIClass.cpp')
-rw-r--r--src/UIClass.cpp169
1 files changed, 0 insertions, 169 deletions
diff --git a/src/UIClass.cpp b/src/UIClass.cpp
deleted file mode 100644
index eec7bec..0000000
--- a/src/UIClass.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-#include <UIClass.h>
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-extern Player player;
-extern World *currentWorld;
-
-static FT_Library ftl;
-static FT_Face ftf;
-static GLuint ftex;
-static unsigned int fontSize;
-
-namespace ui {
- int mousex, mousey;
- bool debug = false;
-
- void init(const char *ttf){
- if(FT_Init_FreeType(&ftl)){
- std::cout<<"Error! Couldn't initialize freetype."<<std::endl;
- abort();
- }
- if(FT_New_Face(ftl,ttf,0,&ftf)){
- std::cout<<"Error! Couldn't open "<<ttf<<"."<<std::endl;
- abort();
- }
- }
- void setFontSize(unsigned int fs){
- fontSize=fs;
- FT_Set_Pixel_Sizes(ftf,0,fontSize);
- }
- void putString(const float x,const float y,const char *s){
- unsigned int i=0,j;
- float xo=x,yo=y,w,h;
- char *buf;
- do{
- if(s[i]=='\n'){
- xo=x;
- yo-=fontSize*.0022;
- }else{
- if(FT_Load_Char(ftf,s[i],FT_LOAD_RENDER)){
- std::cout<<"Error! Invalid character."<<std::endl;
- return;
- }
- //glActiveTexture(GL_TEXTURE0);
- glGenTextures(1,&ftex);
- glBindTexture(GL_TEXTURE_2D,ftex);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- buf=(char *)malloc(ftf->glyph->bitmap.width*ftf->glyph->bitmap.rows*4);
- for(j=0;j<ftf->glyph->bitmap.width*ftf->glyph->bitmap.rows;j++){
- buf[j*4]=255;
- buf[j*4+1]=255;
- buf[j*4+2]=255;
- buf[j*4+3]=ftf->glyph->bitmap.buffer[j]?255:0;
- }
- glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,ftf->glyph->bitmap.width,ftf->glyph->bitmap.rows,0,GL_RGBA,GL_UNSIGNED_BYTE,buf);
- w=ftf->glyph->bitmap.width*(2.0/SCREEN_WIDTH);
- h=ftf->glyph->bitmap.rows *(2.0/SCREEN_HEIGHT);
- if(s[i]=='\''||
- s[i]=='\"'||
- s[i]=='-'||
- s[i]=='*'){
- yo+=fontSize*.001;
- }
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D,ftex);
- glBegin(GL_QUADS);
- glColor3ub(255,255,255);
- glTexCoord2f(0,1);glVertex2f(xo,yo);
- glTexCoord2f(1,1);glVertex2f(xo+w,yo);
- glTexCoord2f(1,0);glVertex2f(xo+w,yo+h);
- glTexCoord2f(0,0);glVertex2f(xo,yo+h);
- glEnd();
- glDisable(GL_TEXTURE_2D);
- if(s[i]=='\''||
- s[i]=='\"'||
- s[i]=='-'||
- s[i]=='*'){
- yo-=fontSize*.001;
- }
- xo+=w+(fontSize*.0002);
- free(buf);
- }
- }while(s[i++]);
- }
- void putText(const float x,const float y,const char *str,...){
- va_list args;
- char *buf;
- buf=(char *)calloc(128,sizeof(char));
- va_start(args,str);
- vsnprintf(buf,128,str,args);
- va_end(args);
- putString(x,y,buf);
- free(buf);
- }
- void msgBox(const char *str,...){
- va_list args;
- va_start(args,str);
- glColor3ub(0,0,0);
- glRectf(-1,.6,1,1);
- setFontSize(24);
- putText(-1,1-24*.0022,str,args);
- va_end(args);
- }
-
- void handleEvents(){
- static bool space=false;
- float thing;
- SDL_Event e;
- while(SDL_PollEvent(&e)){
- switch(e.type){
- case SDL_MOUSEMOTION:
- mousex=e.motion.x;
- mousey=e.motion.y;
- break;
- case SDL_WINDOWEVENT:
- switch(e.window.event){
- case SDL_WINDOWEVENT_CLOSE:
- gameRunning = false;
- break;
- }
- case SDL_KEYDOWN:
- if(e.key.keysym.sym == SDLK_d) player.right = true;
- if(e.key.keysym.sym == SDLK_a) player.left = true;
- if(e.key.keysym.sym == SDLK_LSHIFT) player.speed = 3;
- if(e.key.keysym.sym == SDLK_SPACE){
- if(!space&&player.vel.y<=0){
- space=true;
- player.loc.y += HLINE*1.2;
- player.vel.y += .003;
- }
- }
- if(e.key.keysym.sym == SDLK_i){
- if(currentWorld->behind){
- thing=(currentWorld->getWidth()-currentWorld->behind->getWidth())/2;
- if(player.loc.x>thing-1&&
- player.loc.x<thing-1+currentWorld->behind->getWidth()){
- player.loc.x-=thing;
- memset(&player.vel,0,sizeof(vec2));
- currentWorld=currentWorld->behind;
- }
- }
- }
- if(e.key.keysym.sym == SDLK_k){
- if(currentWorld->infront){
- player.loc.x+=(currentWorld->infront->getWidth()-currentWorld->getWidth())/2;
- memset(&player.vel,0,sizeof(vec2));
- currentWorld=currentWorld->infront;
- }
- }
- if(e.key.keysym.sym == SDLK_F3){
- debug = !debug;
- }
- break;
- case SDL_KEYUP:
- if(e.key.keysym.sym == SDLK_d) player.right = false;
- if(e.key.keysym.sym == SDLK_a) player.left = false;
- if(e.key.keysym.sym == SDLK_LSHIFT) player.speed = 1.0;
- if(e.key.keysym.sym == SDLK_SPACE)
- if(player.vel.y<=.001)space=false;
- if(e.key.keysym.sym == SDLK_ESCAPE) gameRunning = false;
- break;
- }
- }
- }
-} \ No newline at end of file