You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-12 13:20:55 +00:00
Bring that Whole New World to the Old Continent too
Applies the clang-format style to the 2.1 branch as done for master in
5dbf1809c6.
This commit is contained in:
@@ -29,26 +29,23 @@
|
||||
#ifndef GRID_MAP_H
|
||||
#define GRID_MAP_H
|
||||
|
||||
|
||||
#include "scene/resources/mesh_library.h"
|
||||
#include "scene/3d/spatial.h"
|
||||
#include "scene/3d/navigation.h"
|
||||
#include "scene/3d/spatial.h"
|
||||
#include "scene/resources/mesh_library.h"
|
||||
#include "scene/resources/multimesh.h"
|
||||
|
||||
//heh heh, godotsphir!! this shares no code and the design is completely different with previous projects i've done..
|
||||
//should scale better with hardware that supports instancing
|
||||
|
||||
|
||||
class BakedLightInstance;
|
||||
|
||||
class GridMap : public Spatial {
|
||||
|
||||
|
||||
OBJ_TYPE( GridMap, Spatial );
|
||||
OBJ_TYPE(GridMap, Spatial);
|
||||
|
||||
enum {
|
||||
MAP_DIRTY_TRANSFORMS=1,
|
||||
MAP_DIRTY_INSTANCES=2,
|
||||
MAP_DIRTY_TRANSFORMS = 1,
|
||||
MAP_DIRTY_INSTANCES = 2,
|
||||
};
|
||||
|
||||
union IndexKey {
|
||||
@@ -60,12 +57,12 @@ class GridMap : public Spatial {
|
||||
};
|
||||
uint64_t key;
|
||||
|
||||
_FORCE_INLINE_ bool operator<(const IndexKey& p_key) const {
|
||||
_FORCE_INLINE_ bool operator<(const IndexKey &p_key) const {
|
||||
|
||||
return key < p_key.key;
|
||||
}
|
||||
|
||||
IndexKey() { key=0; }
|
||||
IndexKey() { key = 0; }
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -75,12 +72,16 @@ class GridMap : public Spatial {
|
||||
|
||||
struct {
|
||||
unsigned int item : 16;
|
||||
unsigned int rot:5;
|
||||
unsigned int layer:8;
|
||||
unsigned int rot : 5;
|
||||
unsigned int layer : 8;
|
||||
};
|
||||
uint32_t cell;
|
||||
|
||||
Cell() { item=0; rot=0; layer=0; }
|
||||
Cell() {
|
||||
item = 0;
|
||||
rot = 0;
|
||||
layer = 0;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -110,8 +111,8 @@ class GridMap : public Spatial {
|
||||
|
||||
bool dirty;
|
||||
RID static_body;
|
||||
Map<int,ItemInstances> items;
|
||||
Map<IndexKey,NavMesh> navmesh_ids;
|
||||
Map<int, ItemInstances> items;
|
||||
Map<IndexKey, NavMesh> navmesh_ids;
|
||||
};
|
||||
|
||||
union OctantKey {
|
||||
@@ -125,13 +126,13 @@ class GridMap : public Spatial {
|
||||
|
||||
uint64_t key;
|
||||
|
||||
_FORCE_INLINE_ bool operator<(const OctantKey& p_key) const {
|
||||
_FORCE_INLINE_ bool operator<(const OctantKey &p_key) const {
|
||||
|
||||
return key < p_key.key;
|
||||
}
|
||||
|
||||
//OctantKey(const IndexKey& p_k, int p_item) { indexkey=p_k.key; item=p_item; }
|
||||
OctantKey() { key=0; }
|
||||
OctantKey() { key = 0; }
|
||||
};
|
||||
|
||||
Transform last_transform;
|
||||
@@ -139,7 +140,7 @@ class GridMap : public Spatial {
|
||||
bool _in_tree;
|
||||
float cell_size;
|
||||
int octant_size;
|
||||
bool center_x,center_y,center_z;
|
||||
bool center_x, center_y, center_z;
|
||||
bool bake;
|
||||
float cell_scale;
|
||||
Navigation *navigation;
|
||||
@@ -150,7 +151,6 @@ class GridMap : public Spatial {
|
||||
bool baked_lock;
|
||||
Vector3::Axis clip_axis;
|
||||
|
||||
|
||||
/**
|
||||
* @brief An Area is something like a room: it has doors, and Octants can choose to belong to it.
|
||||
*/
|
||||
@@ -177,11 +177,9 @@ class GridMap : public Spatial {
|
||||
|
||||
Ref<MeshLibrary> theme;
|
||||
|
||||
Map<OctantKey,Octant*> octant_map;
|
||||
Map<IndexKey,Cell> cell_map;
|
||||
Map<int,Area*> area_map;
|
||||
|
||||
|
||||
Map<OctantKey, Octant *> octant_map;
|
||||
Map<IndexKey, Cell> cell_map;
|
||||
Map<int, Area *> area_map;
|
||||
|
||||
void _recreate_octant_data();
|
||||
|
||||
@@ -193,11 +191,11 @@ class GridMap : public Spatial {
|
||||
float param[VS::LIGHT_PARAM_MAX];
|
||||
};
|
||||
|
||||
_FORCE_INLINE_ int _find_area(const IndexKey& p_pos) const;
|
||||
_FORCE_INLINE_ int _find_area(const IndexKey &p_pos) const;
|
||||
|
||||
_FORCE_INLINE_ Vector3 _octant_get_offset(const OctantKey &p_key) const {
|
||||
|
||||
return Vector3(p_key.x,p_key.y,p_key.z)*cell_size*octant_size;
|
||||
return Vector3(p_key.x, p_key.y, p_key.z) * cell_size * octant_size;
|
||||
}
|
||||
|
||||
void _octant_enter_world(const OctantKey &p_key);
|
||||
@@ -206,46 +204,41 @@ class GridMap : public Spatial {
|
||||
void _octant_update(const OctantKey &p_key);
|
||||
void _octant_transform(const OctantKey &p_key);
|
||||
void _octant_clear_baked(const OctantKey &p_key);
|
||||
void _octant_clear_navmesh(const GridMap::OctantKey&);
|
||||
void _octant_bake(const OctantKey &p_key,const Ref<TriangleMesh>& p_tmesh=RES(),const Vector<BakeLight> &p_lights=Vector<BakeLight>(),List<Vector3> *r_prebake=NULL);
|
||||
void _octant_clear_navmesh(const GridMap::OctantKey &);
|
||||
void _octant_bake(const OctantKey &p_key, const Ref<TriangleMesh> &p_tmesh = RES(), const Vector<BakeLight> &p_lights = Vector<BakeLight>(), List<Vector3> *r_prebake = NULL);
|
||||
bool awaiting_update;
|
||||
|
||||
void _queue_dirty_map();
|
||||
void _update_dirty_map_callback();
|
||||
|
||||
void resource_changed(const RES& p_res);
|
||||
|
||||
void resource_changed(const RES &p_res);
|
||||
|
||||
void _update_areas();
|
||||
void _update_area_instances();
|
||||
|
||||
void _clear_internal(bool p_keep_areas=false);
|
||||
void _clear_internal(bool p_keep_areas = false);
|
||||
|
||||
BakedLightInstance *baked_light_instance;
|
||||
bool use_baked_light;
|
||||
void _find_baked_light();
|
||||
void _baked_light_changed();
|
||||
|
||||
|
||||
Array _get_baked_light_meshes();
|
||||
|
||||
protected:
|
||||
|
||||
bool _set(const StringName& p_name, const Variant& p_value);
|
||||
bool _get(const StringName& p_name,Variant &r_ret) const;
|
||||
void _get_property_list( List<PropertyInfo> *p_list) const;
|
||||
bool _set(const StringName &p_name, const Variant &p_value);
|
||||
bool _get(const StringName &p_name, Variant &r_ret) const;
|
||||
void _get_property_list(List<PropertyInfo> *p_list) const;
|
||||
|
||||
void _notification(int p_what);
|
||||
static void _bind_methods();
|
||||
|
||||
|
||||
public:
|
||||
|
||||
enum {
|
||||
INVALID_CELL_ITEM=-1
|
||||
INVALID_CELL_ITEM = -1
|
||||
};
|
||||
|
||||
void set_theme(const Ref<MeshLibrary>& p_theme);
|
||||
void set_theme(const Ref<MeshLibrary> &p_theme);
|
||||
Ref<MeshLibrary> get_theme() const;
|
||||
|
||||
void set_cell_size(float p_size);
|
||||
@@ -254,7 +247,6 @@ public:
|
||||
void set_octant_size(int p_size);
|
||||
int get_octant_size() const;
|
||||
|
||||
|
||||
void set_center_x(bool p_enable);
|
||||
bool get_center_x() const;
|
||||
void set_center_y(bool p_enable);
|
||||
@@ -262,16 +254,16 @@ public:
|
||||
void set_center_z(bool p_enable);
|
||||
bool get_center_z() const;
|
||||
|
||||
void set_cell_item(int p_x,int p_y,int p_z, int p_item,int p_orientation=0);
|
||||
int get_cell_item(int p_x,int p_y,int p_z) const;
|
||||
int get_cell_item_orientation(int p_x,int p_y,int p_z) const;
|
||||
void set_cell_item(int p_x, int p_y, int p_z, int p_item, int p_orientation = 0);
|
||||
int get_cell_item(int p_x, int p_y, int p_z) const;
|
||||
int get_cell_item_orientation(int p_x, int p_y, int p_z) const;
|
||||
|
||||
void set_clip(bool p_enabled, bool p_clip_above=true, int p_floor=0, Vector3::Axis p_axis=Vector3::AXIS_X);
|
||||
void set_clip(bool p_enabled, bool p_clip_above = true, int p_floor = 0, Vector3::Axis p_axis = Vector3::AXIS_X);
|
||||
|
||||
Error create_area(int p_id,const AABB& p_area);
|
||||
Error create_area(int p_id, const AABB &p_area);
|
||||
AABB area_get_bounds(int p_area) const;
|
||||
void area_set_exterior_portal(int p_area,bool p_enable);
|
||||
void area_set_name(int p_area,const String& p_name);
|
||||
void area_set_exterior_portal(int p_area, bool p_enable);
|
||||
void area_set_name(int p_area, const String &p_name);
|
||||
String area_get_name(int p_area) const;
|
||||
bool area_is_exterior_portal(int p_area) const;
|
||||
void area_set_portal_disable_distance(int p_area, float p_distance);
|
||||
|
||||
Reference in New Issue
Block a user