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.
60 lines
2.1 KiB
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
|
|
|