A 3d fps game made in OpenGL
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Symmetry/src/game/editor.h

60 lines
2.1 KiB

#ifndef EDITOR_H
#define EDITOR_H
#include <stdbool.h>
#include "../common/linmath.h"
struct Camera;
struct Entity;
struct Hashmap;
struct Editor
{
int window_settings_renderer;
int window_settings_editor;
int window_scene_heirarchy;
int window_property_inspector;
int window_debug_variables;
int camera_looking_around;
struct Entity* selected_entity;
int top_panel_height;
float camera_turn_speed;
float camera_move_speed;
float camera_sprint_multiplier;
vec4 selected_entity_colour;
int current_mode;
int current_axis;
int previous_axis;
int grid_enabled;
int grid_relative;
vec4 grid_color;
int grid_num_lines;
float grid_scale;
int tool_snap_enabled;
vec3 tool_mesh_position;
vec4 tool_mesh_color;
int tool_mesh_draw_enabled;
float tool_rotate_arc_radius;
int tool_rotate_arc_segments;
float axis_line_length;
vec4 axis_color_x;
vec4 axis_color_y;
vec4 axis_color_z;
};
void editor_init(struct Editor* editor_state);
void editor_init_camera(struct Editor* editor_state, struct Hashmap* cvars);
void editor_render(struct Editor* editor_state, struct Camera* active_camera);
void editor_update(struct Editor* editor_state, float dt);
void editor_cleanup(struct Editor* editor_state);
int editor_debugvar_slot_create(const char* name, int value_type);
void editor_debugvar_slot_remove(int index);
void editor_debugvar_slot_set_float(int index, float value);
void editor_debugvar_slot_set_int(int index, int value);
void editor_debugvar_slot_set_double(int index, double value);
void editor_debugvar_slot_set_vec2(int index, vec2* value);
void editor_debugvar_slot_set_vec3(int index, vec3* value);
void editor_debugvar_slot_set_vec4(int index, vec4* value);
void editor_debugvar_slot_set_quat(int index, quat* value);
#endif