#ifndef SCENE_H #define SCENE_H #include "vector.h" #include "terrain.h" #include "gl.h" #include "shader.h" #include "gui.h" #include "tool.h" #include "scripting.h" #include class Scene { public: float pitch, yaw; Vector3 pos; float yvel; Terrain *terrain; FTFont *font; GUI *gui; Tool *tool; ConsoleWindow *console; Lua *lua; bool running; bool grid; bool normals; bool render_terrain; bool gravity; bool dialog; bool flying; bool underwater; Terrain::Node *last_node; unsigned int last_time; Vector3 selected; bool do_select, show_selection; int sx, sy; GLShaderProgram terrain_program; GLShaderProgram water_program; GLuint grass_texture, rock_texture, soil_texture, water_texture, marker_texture; Scene(); ~Scene(); void lookat(); void move(float forward, float right, int steps); bool select(int x, int y, float& px, float& py, float& pz); void update(); void events(); void render(); GLuint load_texture(const char *filename); }; #endif