ld33_umonster
diff src/game.cc @ 2:35349df5392d
wtf?
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 22 Aug 2015 23:55:21 +0300 |
parents | 4a6683050e29 |
children | 93ff21458a16 |
line diff
1.1 --- a/src/game.cc Sat Aug 22 23:17:57 2015 +0300 1.2 +++ b/src/game.cc Sat Aug 22 23:55:21 2015 +0300 1.3 @@ -7,6 +7,8 @@ 1.4 #include "shadow.h" 1.5 #include "opt.h" 1.6 1.7 +#include "room.h" 1.8 + 1.9 static void draw_scene(); 1.10 1.11 int win_width, win_height; 1.12 @@ -35,7 +37,7 @@ 1.13 glEnable(GL_LIGHTING); 1.14 glEnable(GL_LIGHT0); 1.15 1.16 - float amb[] = {0.3, 0.3, 0.3, 1.0}; 1.17 + float amb[] = {0.1, 0.1, 0.1, 1.0}; 1.18 glLightModelfv(GL_LIGHT_MODEL_AMBIENT, amb); 1.19 1.20 if(glcaps.sep_spec) { 1.21 @@ -58,6 +60,9 @@ 1.22 } 1.23 set_uniform_int(sdr_shadow_notex, "shadowmap", 1); 1.24 1.25 + if(!init_room()) { 1.26 + return false; 1.27 + } 1.28 1.29 assert(glGetError() == GL_NO_ERROR); 1.30 return true; 1.31 @@ -65,6 +70,7 @@ 1.32 1.33 void game_cleanup() 1.34 { 1.35 + cleanup_room(); 1.36 } 1.37 1.38 void game_update(unsigned long time_msec) 1.39 @@ -82,9 +88,10 @@ 1.40 glRotatef(cam_phi, 1, 0, 0); 1.41 glRotatef(cam_theta, 0, 1, 0); 1.42 1.43 - float lpos[] = {-10, 20, 10, 1}; 1.44 + float lpos[] = {-0, 0, 0, 1}; 1.45 glLightfv(GL_LIGHT0, GL_POSITION, lpos); 1.46 1.47 + opt.shadows = false; 1.48 if(opt.shadows && sdr_shadow) { 1.49 begin_shadow_pass(Vector3(lpos[0], lpos[1], lpos[2]), Vector3(0, 0, 0), 5); 1.50 draw_scene(); 1.51 @@ -100,7 +107,7 @@ 1.52 glActiveTexture(GL_TEXTURE0); 1.53 glMatrixMode(GL_MODELVIEW); 1.54 1.55 - set_shader(sdr_shadow_notex); 1.56 + override_shader(sdr_shadow_notex); 1.57 1.58 draw_scene(); 1.59 1.60 @@ -109,6 +116,7 @@ 1.61 glActiveTexture(GL_TEXTURE0); 1.62 glBindTexture(GL_TEXTURE_2D, 0); 1.63 } else { 1.64 + override_shader(sdr_shadow_notex); 1.65 draw_scene(); 1.66 } 1.67 } 1.68 @@ -124,23 +132,15 @@ 1.69 1.70 static void draw_scene() 1.71 { 1.72 + draw_room(); 1.73 + 1.74 glPushMatrix(); 1.75 - glTranslatef(0, -1, 0); 1.76 - 1.77 - glmaterial(0.5, 0.5, 0.5, 0.8, 40.0); 1.78 - 1.79 - glBegin(GL_QUADS); 1.80 - glNormal3f(0, 1, 0); 1.81 - glVertex3f(-10, 0, 10); 1.82 - glVertex3f(10, 0, 10); 1.83 - glVertex3f(10, 0, -10); 1.84 - glVertex3f(-10, 0, -10); 1.85 - glEnd(); 1.86 - 1.87 - glPopMatrix(); 1.88 + glTranslatef(0, 0.75, 0); 1.89 1.90 glmaterial(0.2, 0.3, 1.0, 0.8, 60.0); 1.91 draw_teapot(); 1.92 + 1.93 + glPopMatrix(); 1.94 } 1.95 1.96