#include "game.h" void load_level(){ /* Level Loading Area */ g.player_position = vec3(0, 1, 10); FloorPanel *floor = (FloorPanel*)add_object(new FloorPanel, "The Floor", true); floor->texture_file = "textures/stones.png"; for(int i = -90; i < 90; i+= 5) for(int j = -90; j < 90; j+= 5) floor->add_location_size(vec3(i, -2, j), vec3(5, 1, 5)); /* New Way */ WaterTank *tank = (WaterTank*)add_object(new WaterTank, "Water Tank", true); tank->object_file = "objects/cylinder.obj"; tank->texture_file = "textures/metal.jpg"; tank->add_location_size(vec3(20, 3, 0), vec3(5, 5, 5)); tank->add_location_size(vec3(32, 3, 0), vec3(5, 5, 5)); tank->positions[1].speed = 10.0; tank->add_location_size(vec3(44, 3, 0), vec3(5, 5, 5)); tank->positions[2].speed = 100.0; FloorPanel *walls = (FloorPanel*)add_object(new FloorPanel, "Walls", true); walls->texture_file = "textures/brick.jpg"; walls->add_location_size(vec3(10, 2, 0), vec3(10, 10, 10)); walls->add_location_size(vec3(10, 2, 10), vec3(10, 10, 10)); walls->add_location_size(vec3(0, 2, 0), vec3(10, 10, 10)); for(float height = 5; height > -3; height -= 1){ floor->add_location_size(vec3( -16 + height * 2, height, 0), vec3(2, 2, 2)); } VanishBlock *bridge = (VanishBlock*)add_object(new VanishBlock, "Bridge", true); bridge->texture_file = "textures/brick.jpg"; for(float zpos = 6; zpos < 32; zpos += 2){ bridge->add_location_size(vec3(0, 6, zpos), vec3(2, 2, 2)); } SlipperyBlock *sliprock = (SlipperyBlock*)add_object(new SlipperyBlock, "Slide Area", true); sliprock->texture_file = "textures/rock.jpg"; for(float zpos = -6; zpos > -32; zpos -= 2){ sliprock->add_location_size(vec3(0, 6, zpos), vec3(20, 2, 2)); } } GameObject* add_object(GameObject *new_object, string name, bool solid){ game_objects.push_back(new_object); if(solid) solid_objects.push_back((SolidObject*)new_object); /* TODO: Make sure the name is unique */ new_object->name = name; return new_object; }