fixed bugs in the resource manager and removed the hardcoded textures
[laserbrain_demo] / src / app.cc
index 3426c99..6cb808c 100644 (file)
@@ -7,6 +7,7 @@
 #include "mesh.h"
 #include "meshgen.h"
 #include "scene.h"
+#include "datamap.h"
 
 static void draw_scene();
 
@@ -43,6 +44,11 @@ bool app_init()
        float ambient[] = {0.0, 0.0, 0.0, 0.0};
        glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient);
 
+       datamap_set_path("data");
+       if(!datamap_load_map("data.map")) {
+               fprintf(stderr, "failed to load datafile mappings\n");
+       }
+
        unsigned int sflags = SCNLOAD_FLIPTEX;
        scn = new Scene(&texman);
        if(!(scn->load("data/testscene/patoma.fbx", sflags)) ||
@@ -52,37 +58,28 @@ bool app_init()
        }
 
        // hardcoded texture assignment hack
-       Texture *tex_girogiromarmaro = texman.get("data/testscene/girogiromarmarodiffuse.jpg");
-       Texture *tex_kafemarble = texman.get("data/testscene/kafemarblediffuse.jpg");
-       Texture *tex_kentrikokafemarble = texman.get("data/testscene/kentrikokafemarblediffuse.jpg");
-       Texture *tex_paliomarmaro = texman.get("data/testscene/paliomarmarodiffuse.jpg");
-       Texture *tex_steelgreygranite = texman.get("data/testscene/steel-grey-granitediffuse.jpg");
-       Texture *tex_whitemarble = texman.get("data/testscene/whitemarblediffuse.jpg");
-       Texture *tex_kolones_lightmap = texman.get("data/testscene/kolones_lighmap.jpg");
-       Texture *tex_patoma_lightmap = texman.get("data/testscene/patomacorona_lightmap.jpg");
+       Texture *tex_kolones_lightmap = texman.get_texture("data/testscene/kolones_lighmap.jpg", TEX_2D);
+       Texture *tex_patoma_lightmap = texman.get_texture("data/testscene/patomacorona_lightmap.jpg", TEX_2D);
 
+       /*
        for(int i=0; i<(int)scn->objects.size(); i++) {
                Object *obj = scn->objects[i];
                if(obj->mtl.name == "WiteMarble") {
-                       obj->mtl.add_texture(tex_whitemarble, MTL_TEX_DIFFUSE);
                        obj->mtl.add_texture(tex_patoma_lightmap, MTL_TEX_LIGHTMAP);
                } else if(obj->mtl.name == "BrownMarble") {
-                       obj->mtl.add_texture(tex_kafemarble, MTL_TEX_DIFFUSE);
                        obj->mtl.add_texture(tex_patoma_lightmap, MTL_TEX_LIGHTMAP);
                } else if(obj->mtl.name == "GiroGiroMarmaro") {
-                       obj->mtl.add_texture(tex_girogiromarmaro, MTL_TEX_DIFFUSE);
                        obj->mtl.add_texture(tex_patoma_lightmap, MTL_TEX_LIGHTMAP);
                } else if(obj->mtl.name == "KentrikoKafeMarmaro") {
-                       obj->mtl.add_texture(tex_kentrikokafemarble, MTL_TEX_DIFFUSE);
                        obj->mtl.add_texture(tex_patoma_lightmap, MTL_TEX_LIGHTMAP);
+
                } else if(obj->mtl.name == "SkouroGrizoMarmaro") {
-                       obj->mtl.add_texture(tex_steelgreygranite, MTL_TEX_DIFFUSE);
                        obj->mtl.add_texture(tex_kolones_lightmap, MTL_TEX_LIGHTMAP);
                } else if(obj->mtl.name == "PalioMarmaro") {
-                       obj->mtl.add_texture(tex_paliomarmaro, MTL_TEX_DIFFUSE);
                        obj->mtl.add_texture(tex_kolones_lightmap, MTL_TEX_LIGHTMAP);
                }
        }
+       */
 
        if(!(sdr = create_program_load("sdr/test.v.glsl", "sdr/test.p.glsl"))) {
                fprintf(stderr, "failed to load test shaders\n");
@@ -106,7 +103,7 @@ static void update(float dt)
 
        scn->update(dt);
 
-       float walk_speed = 10.0 * dt;
+       float walk_speed = 2000.0 * dt;
        Vec3 dir;
 
        if(keystate[(int)'w']) {
@@ -199,7 +196,7 @@ void app_reshape(int x, int y)
 
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
-       gluPerspective(50.0, (float)x / (float)y, 0.5, 1000.0);
+       gluPerspective(50.0, (float)x / (float)y, 1.0, 10000.0);
 }
 
 void app_keyboard(int key, bool pressed)