You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
This commit is contained in:
@@ -39,22 +39,18 @@
|
||||
#include "servers/visual_server.h"
|
||||
|
||||
bool GridMap::_set(const StringName &p_name, const Variant &p_value) {
|
||||
|
||||
String name = p_name;
|
||||
|
||||
if (name == "data") {
|
||||
|
||||
Dictionary d = p_value;
|
||||
|
||||
if (d.has("cells")) {
|
||||
|
||||
PoolVector<int> cells = d["cells"];
|
||||
int amount = cells.size();
|
||||
PoolVector<int>::Read r = cells.read();
|
||||
ERR_FAIL_COND_V(amount % 3, false); // not even
|
||||
cell_map.clear();
|
||||
for (int i = 0; i < amount / 3; i++) {
|
||||
|
||||
IndexKey ik;
|
||||
ik.key = decode_uint64((const uint8_t *)&r[i * 3]);
|
||||
Cell cell;
|
||||
@@ -66,7 +62,6 @@ bool GridMap::_set(const StringName &p_name, const Variant &p_value) {
|
||||
_recreate_octant_data();
|
||||
|
||||
} else if (name == "baked_meshes") {
|
||||
|
||||
clear_baked_meshes();
|
||||
|
||||
Array meshes = p_value;
|
||||
@@ -95,11 +90,9 @@ bool GridMap::_set(const StringName &p_name, const Variant &p_value) {
|
||||
}
|
||||
|
||||
bool GridMap::_get(const StringName &p_name, Variant &r_ret) const {
|
||||
|
||||
String name = p_name;
|
||||
|
||||
if (name == "data") {
|
||||
|
||||
Dictionary d;
|
||||
|
||||
PoolVector<int> cells;
|
||||
@@ -108,7 +101,6 @@ bool GridMap::_get(const StringName &p_name, Variant &r_ret) const {
|
||||
PoolVector<int>::Write w = cells.write();
|
||||
int i = 0;
|
||||
for (Map<IndexKey, Cell>::Element *E = cell_map.front(); E; E = E->next(), i++) {
|
||||
|
||||
encode_uint64(E->key().key, (uint8_t *)&w[i * 3]);
|
||||
encode_uint32(E->get().cell, (uint8_t *)&w[i * 3 + 2]);
|
||||
}
|
||||
@@ -118,7 +110,6 @@ bool GridMap::_get(const StringName &p_name, Variant &r_ret) const {
|
||||
|
||||
r_ret = d;
|
||||
} else if (name == "baked_meshes") {
|
||||
|
||||
Array ret;
|
||||
ret.resize(baked_meshes.size());
|
||||
for (int i = 0; i < baked_meshes.size(); i++) {
|
||||
@@ -133,7 +124,6 @@ bool GridMap::_get(const StringName &p_name, Variant &r_ret) const {
|
||||
}
|
||||
|
||||
void GridMap::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
|
||||
if (baked_meshes.size()) {
|
||||
p_list->push_back(PropertyInfo(Variant::ARRAY, "baked_meshes", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE));
|
||||
}
|
||||
@@ -142,29 +132,24 @@ void GridMap::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
}
|
||||
|
||||
void GridMap::set_collision_layer(uint32_t p_layer) {
|
||||
|
||||
collision_layer = p_layer;
|
||||
_reset_physic_bodies_collision_filters();
|
||||
}
|
||||
|
||||
uint32_t GridMap::get_collision_layer() const {
|
||||
|
||||
return collision_layer;
|
||||
}
|
||||
|
||||
void GridMap::set_collision_mask(uint32_t p_mask) {
|
||||
|
||||
collision_mask = p_mask;
|
||||
_reset_physic_bodies_collision_filters();
|
||||
}
|
||||
|
||||
uint32_t GridMap::get_collision_mask() const {
|
||||
|
||||
return collision_mask;
|
||||
}
|
||||
|
||||
void GridMap::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
|
||||
uint32_t mask = get_collision_mask();
|
||||
if (p_value)
|
||||
mask |= 1 << p_bit;
|
||||
@@ -174,12 +159,10 @@ void GridMap::set_collision_mask_bit(int p_bit, bool p_value) {
|
||||
}
|
||||
|
||||
bool GridMap::get_collision_mask_bit(int p_bit) const {
|
||||
|
||||
return get_collision_mask() & (1 << p_bit);
|
||||
}
|
||||
|
||||
void GridMap::set_collision_layer_bit(int p_bit, bool p_value) {
|
||||
|
||||
uint32_t mask = get_collision_layer();
|
||||
if (p_value)
|
||||
mask |= 1 << p_bit;
|
||||
@@ -189,12 +172,10 @@ void GridMap::set_collision_layer_bit(int p_bit, bool p_value) {
|
||||
}
|
||||
|
||||
bool GridMap::get_collision_layer_bit(int p_bit) const {
|
||||
|
||||
return get_collision_layer() & (1 << p_bit);
|
||||
}
|
||||
|
||||
void GridMap::set_mesh_library(const Ref<MeshLibrary> &p_mesh_library) {
|
||||
|
||||
if (!mesh_library.is_null())
|
||||
mesh_library->unregister_owner(this);
|
||||
mesh_library = p_mesh_library;
|
||||
@@ -206,7 +187,6 @@ void GridMap::set_mesh_library(const Ref<MeshLibrary> &p_mesh_library) {
|
||||
}
|
||||
|
||||
Ref<MeshLibrary> GridMap::get_mesh_library() const {
|
||||
|
||||
return mesh_library;
|
||||
}
|
||||
|
||||
@@ -225,23 +205,19 @@ void GridMap::set_cell_size(const Vector3 &p_size) {
|
||||
emit_signal("cell_size_changed", cell_size);
|
||||
}
|
||||
Vector3 GridMap::get_cell_size() const {
|
||||
|
||||
return cell_size;
|
||||
}
|
||||
|
||||
void GridMap::set_octant_size(int p_size) {
|
||||
|
||||
ERR_FAIL_COND(p_size == 0);
|
||||
octant_size = p_size;
|
||||
_recreate_octant_data();
|
||||
}
|
||||
int GridMap::get_octant_size() const {
|
||||
|
||||
return octant_size;
|
||||
}
|
||||
|
||||
void GridMap::set_center_x(bool p_enable) {
|
||||
|
||||
center_x = p_enable;
|
||||
_recreate_octant_data();
|
||||
}
|
||||
@@ -251,7 +227,6 @@ bool GridMap::get_center_x() const {
|
||||
}
|
||||
|
||||
void GridMap::set_center_y(bool p_enable) {
|
||||
|
||||
center_y = p_enable;
|
||||
_recreate_octant_data();
|
||||
}
|
||||
@@ -261,7 +236,6 @@ bool GridMap::get_center_y() const {
|
||||
}
|
||||
|
||||
void GridMap::set_center_z(bool p_enable) {
|
||||
|
||||
center_z = p_enable;
|
||||
_recreate_octant_data();
|
||||
}
|
||||
@@ -271,7 +245,6 @@ bool GridMap::get_center_z() const {
|
||||
}
|
||||
|
||||
void GridMap::set_cell_item(int p_x, int p_y, int p_z, int p_item, int p_rot) {
|
||||
|
||||
if (baked_meshes.size() && !recreating_octants) {
|
||||
//if you set a cell item, baked meshes go good bye
|
||||
clear_baked_meshes();
|
||||
@@ -320,7 +293,6 @@ void GridMap::set_cell_item(int p_x, int p_y, int p_z, int p_item, int p_rot) {
|
||||
SceneTree *st = SceneTree::get_singleton();
|
||||
|
||||
if (st && st->is_debugging_collisions_hint()) {
|
||||
|
||||
g->collision_debug = VisualServer::get_singleton()->mesh_create();
|
||||
g->collision_debug_instance = VisualServer::get_singleton()->instance_create();
|
||||
VisualServer::get_singleton()->instance_set_base(g->collision_debug_instance, g->collision_debug);
|
||||
@@ -347,7 +319,6 @@ void GridMap::set_cell_item(int p_x, int p_y, int p_z, int p_item, int p_rot) {
|
||||
}
|
||||
|
||||
int GridMap::get_cell_item(int p_x, int p_y, int p_z) const {
|
||||
|
||||
ERR_FAIL_INDEX_V(ABS(p_x), 1 << 20, INVALID_CELL_ITEM);
|
||||
ERR_FAIL_INDEX_V(ABS(p_y), 1 << 20, INVALID_CELL_ITEM);
|
||||
ERR_FAIL_INDEX_V(ABS(p_z), 1 << 20, INVALID_CELL_ITEM);
|
||||
@@ -363,7 +334,6 @@ int GridMap::get_cell_item(int p_x, int p_y, int p_z) const {
|
||||
}
|
||||
|
||||
int GridMap::get_cell_item_orientation(int p_x, int p_y, int p_z) const {
|
||||
|
||||
ERR_FAIL_INDEX_V(ABS(p_x), 1 << 20, -1);
|
||||
ERR_FAIL_INDEX_V(ABS(p_y), 1 << 20, -1);
|
||||
ERR_FAIL_INDEX_V(ABS(p_z), 1 << 20, -1);
|
||||
@@ -396,7 +366,6 @@ Vector3 GridMap::map_to_world(int p_x, int p_y, int p_z) const {
|
||||
}
|
||||
|
||||
void GridMap::_octant_transform(const OctantKey &p_key) {
|
||||
|
||||
ERR_FAIL_COND(!octant_map.has(p_key));
|
||||
Octant &g = *octant_map[p_key];
|
||||
PhysicsServer::get_singleton()->body_set_state(g.static_body, PhysicsServer::BODY_STATE_TRANSFORM, get_global_transform());
|
||||
@@ -421,7 +390,6 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
|
||||
|
||||
//erase body shapes debug
|
||||
if (g.collision_debug.is_valid()) {
|
||||
|
||||
VS::get_singleton()->mesh_clear(g.collision_debug);
|
||||
}
|
||||
|
||||
@@ -436,7 +404,6 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
|
||||
//erase multimeshes
|
||||
|
||||
for (int i = 0; i < g.multimesh_instances.size(); i++) {
|
||||
|
||||
VS::get_singleton()->free(g.multimesh_instances[i].instance);
|
||||
VS::get_singleton()->free(g.multimesh_instances[i].multimesh);
|
||||
}
|
||||
@@ -459,7 +426,6 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
|
||||
Map<int, List<Pair<Transform, IndexKey>>> multimesh_items;
|
||||
|
||||
for (Set<IndexKey>::Element *E = g.cells.front(); E; E = E->next()) {
|
||||
|
||||
ERR_CONTINUE(!cell_map.has(E->get()));
|
||||
const Cell &c = cell_map[E->get()];
|
||||
|
||||
@@ -516,7 +482,6 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
|
||||
|
||||
//update multimeshes, only if not baked
|
||||
if (baked_meshes.size() == 0) {
|
||||
|
||||
for (Map<int, List<Pair<Transform, IndexKey>>>::Element *E = multimesh_items.front(); E; E = E->next()) {
|
||||
Octant::MultimeshInstance mmi;
|
||||
|
||||
@@ -555,7 +520,6 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
|
||||
}
|
||||
|
||||
if (col_debug.size()) {
|
||||
|
||||
Array arr;
|
||||
arr.resize(VS::ARRAY_MAX);
|
||||
arr[VS::ARRAY_VERTEX] = col_debug;
|
||||
@@ -580,7 +544,6 @@ void GridMap::_reset_physic_bodies_collision_filters() {
|
||||
}
|
||||
|
||||
void GridMap::_octant_enter_world(const OctantKey &p_key) {
|
||||
|
||||
ERR_FAIL_COND(!octant_map.has(p_key));
|
||||
Octant &g = *octant_map[p_key];
|
||||
PhysicsServer::get_singleton()->body_set_state(g.static_body, PhysicsServer::BODY_STATE_TRANSFORM, get_global_transform());
|
||||
@@ -598,7 +561,6 @@ void GridMap::_octant_enter_world(const OctantKey &p_key) {
|
||||
|
||||
if (navigation && mesh_library.is_valid()) {
|
||||
for (Map<IndexKey, Octant::NavMesh>::Element *F = g.navmesh_ids.front(); F; F = F->next()) {
|
||||
|
||||
if (cell_map.has(F->key()) && F->get().id < 0) {
|
||||
Ref<NavigationMesh> nm = mesh_library->get_item_navmesh(cell_map[F->key()].item);
|
||||
if (nm.is_valid()) {
|
||||
@@ -610,14 +572,12 @@ void GridMap::_octant_enter_world(const OctantKey &p_key) {
|
||||
}
|
||||
|
||||
void GridMap::_octant_exit_world(const OctantKey &p_key) {
|
||||
|
||||
ERR_FAIL_COND(!octant_map.has(p_key));
|
||||
Octant &g = *octant_map[p_key];
|
||||
PhysicsServer::get_singleton()->body_set_state(g.static_body, PhysicsServer::BODY_STATE_TRANSFORM, get_global_transform());
|
||||
PhysicsServer::get_singleton()->body_set_space(g.static_body, RID());
|
||||
|
||||
if (g.collision_debug_instance.is_valid()) {
|
||||
|
||||
VS::get_singleton()->instance_set_scenario(g.collision_debug_instance, RID());
|
||||
}
|
||||
|
||||
@@ -627,7 +587,6 @@ void GridMap::_octant_exit_world(const OctantKey &p_key) {
|
||||
|
||||
if (navigation) {
|
||||
for (Map<IndexKey, Octant::NavMesh>::Element *F = g.navmesh_ids.front(); F; F = F->next()) {
|
||||
|
||||
if (F->get().id >= 0) {
|
||||
navigation->navmesh_remove(F->get().id);
|
||||
F->get().id = -1;
|
||||
@@ -637,7 +596,6 @@ void GridMap::_octant_exit_world(const OctantKey &p_key) {
|
||||
}
|
||||
|
||||
void GridMap::_octant_clean_up(const OctantKey &p_key) {
|
||||
|
||||
ERR_FAIL_COND(!octant_map.has(p_key));
|
||||
Octant &g = *octant_map[p_key];
|
||||
|
||||
@@ -659,7 +617,6 @@ void GridMap::_octant_clean_up(const OctantKey &p_key) {
|
||||
//erase multimeshes
|
||||
|
||||
for (int i = 0; i < g.multimesh_instances.size(); i++) {
|
||||
|
||||
VS::get_singleton()->free(g.multimesh_instances[i].instance);
|
||||
VS::get_singleton()->free(g.multimesh_instances[i].multimesh);
|
||||
}
|
||||
@@ -667,11 +624,8 @@ void GridMap::_octant_clean_up(const OctantKey &p_key) {
|
||||
}
|
||||
|
||||
void GridMap::_notification(int p_what) {
|
||||
|
||||
switch (p_what) {
|
||||
|
||||
case NOTIFICATION_ENTER_WORLD: {
|
||||
|
||||
Spatial *c = this;
|
||||
while (c) {
|
||||
navigation = Object::cast_to<Navigation>(c);
|
||||
@@ -695,7 +649,6 @@ void GridMap::_notification(int p_what) {
|
||||
|
||||
} break;
|
||||
case NOTIFICATION_TRANSFORM_CHANGED: {
|
||||
|
||||
Transform new_xform = get_global_transform();
|
||||
if (new_xform == last_transform)
|
||||
break;
|
||||
@@ -712,7 +665,6 @@ void GridMap::_notification(int p_what) {
|
||||
|
||||
} break;
|
||||
case NOTIFICATION_EXIT_WORLD: {
|
||||
|
||||
for (Map<OctantKey, Octant *>::Element *E = octant_map.front(); E; E = E->next()) {
|
||||
_octant_exit_world(E->key());
|
||||
}
|
||||
@@ -753,7 +705,6 @@ void GridMap::_update_visibility() {
|
||||
}
|
||||
|
||||
void GridMap::_queue_octants_dirty() {
|
||||
|
||||
if (awaiting_update)
|
||||
return;
|
||||
|
||||
@@ -762,19 +713,16 @@ void GridMap::_queue_octants_dirty() {
|
||||
}
|
||||
|
||||
void GridMap::_recreate_octant_data() {
|
||||
|
||||
recreating_octants = true;
|
||||
Map<IndexKey, Cell> cell_copy = cell_map;
|
||||
_clear_internal();
|
||||
for (Map<IndexKey, Cell>::Element *E = cell_copy.front(); E; E = E->next()) {
|
||||
|
||||
set_cell_item(E->key().x, E->key().y, E->key().z, E->get().item, E->get().rot);
|
||||
}
|
||||
recreating_octants = false;
|
||||
}
|
||||
|
||||
void GridMap::_clear_internal() {
|
||||
|
||||
for (Map<OctantKey, Octant *>::Element *E = octant_map.front(); E; E = E->next()) {
|
||||
if (is_inside_world())
|
||||
_octant_exit_world(E->key());
|
||||
@@ -788,24 +736,20 @@ void GridMap::_clear_internal() {
|
||||
}
|
||||
|
||||
void GridMap::clear() {
|
||||
|
||||
_clear_internal();
|
||||
clear_baked_meshes();
|
||||
}
|
||||
|
||||
void GridMap::resource_changed(const RES &p_res) {
|
||||
|
||||
_recreate_octant_data();
|
||||
}
|
||||
|
||||
void GridMap::_update_octants_callback() {
|
||||
|
||||
if (!awaiting_update)
|
||||
return;
|
||||
|
||||
List<OctantKey> to_delete;
|
||||
for (Map<OctantKey, Octant *>::Element *E = octant_map.front(); E; E = E->next()) {
|
||||
|
||||
if (_octant_update(E->key())) {
|
||||
to_delete.push_back(E->key());
|
||||
}
|
||||
@@ -821,7 +765,6 @@ void GridMap::_update_octants_callback() {
|
||||
}
|
||||
|
||||
void GridMap::_bind_methods() {
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_collision_layer", "layer"), &GridMap::set_collision_layer);
|
||||
ClassDB::bind_method(D_METHOD("get_collision_layer"), &GridMap::get_collision_layer);
|
||||
|
||||
@@ -898,7 +841,6 @@ void GridMap::_bind_methods() {
|
||||
}
|
||||
|
||||
void GridMap::set_clip(bool p_enabled, bool p_clip_above, int p_floor, Vector3::Axis p_axis) {
|
||||
|
||||
if (!p_enabled && !clip)
|
||||
return;
|
||||
if (clip && p_enabled && clip_floor == p_floor && p_clip_above == clip_above && p_axis == clip_axis)
|
||||
@@ -911,7 +853,6 @@ void GridMap::set_clip(bool p_enabled, bool p_clip_above, int p_floor, Vector3::
|
||||
|
||||
//make it all update
|
||||
for (Map<OctantKey, Octant *>::Element *E = octant_map.front(); E; E = E->next()) {
|
||||
|
||||
Octant *g = E->get();
|
||||
g->dirty = true;
|
||||
}
|
||||
@@ -920,18 +861,15 @@ void GridMap::set_clip(bool p_enabled, bool p_clip_above, int p_floor, Vector3::
|
||||
}
|
||||
|
||||
void GridMap::set_cell_scale(float p_scale) {
|
||||
|
||||
cell_scale = p_scale;
|
||||
_recreate_octant_data();
|
||||
}
|
||||
|
||||
float GridMap::get_cell_scale() const {
|
||||
|
||||
return cell_scale;
|
||||
}
|
||||
|
||||
Array GridMap::get_used_cells() const {
|
||||
|
||||
Array a;
|
||||
a.resize(cell_map.size());
|
||||
int i = 0;
|
||||
@@ -944,7 +882,6 @@ Array GridMap::get_used_cells() const {
|
||||
}
|
||||
|
||||
Array GridMap::get_meshes() {
|
||||
|
||||
if (mesh_library.is_null())
|
||||
return Array();
|
||||
|
||||
@@ -952,7 +889,6 @@ Array GridMap::get_meshes() {
|
||||
Array meshes;
|
||||
|
||||
for (Map<IndexKey, Cell>::Element *E = cell_map.front(); E; E = E->next()) {
|
||||
|
||||
int id = E->get().item;
|
||||
if (!mesh_library->has_item(id))
|
||||
continue;
|
||||
@@ -986,7 +922,6 @@ Vector3 GridMap::_get_offset() const {
|
||||
}
|
||||
|
||||
void GridMap::clear_baked_meshes() {
|
||||
|
||||
for (int i = 0; i < baked_meshes.size(); i++) {
|
||||
VS::get_singleton()->free(baked_meshes[i].instance);
|
||||
}
|
||||
@@ -996,7 +931,6 @@ void GridMap::clear_baked_meshes() {
|
||||
}
|
||||
|
||||
void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texel_size) {
|
||||
|
||||
if (!mesh_library.is_valid())
|
||||
return;
|
||||
|
||||
@@ -1004,7 +938,6 @@ void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texe
|
||||
Map<OctantKey, Map<Ref<Material>, Ref<SurfaceTool>>> surface_map;
|
||||
|
||||
for (Map<IndexKey, Cell>::Element *E = cell_map.front(); E; E = E->next()) {
|
||||
|
||||
IndexKey key = E->key();
|
||||
|
||||
int item = E->get().item;
|
||||
@@ -1036,7 +969,6 @@ void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texe
|
||||
Map<Ref<Material>, Ref<SurfaceTool>> &mat_map = surface_map[ok];
|
||||
|
||||
for (int i = 0; i < mesh->get_surface_count(); i++) {
|
||||
|
||||
if (mesh->surface_get_primitive_type(i) != Mesh::PRIMITIVE_TRIANGLES)
|
||||
continue;
|
||||
|
||||
@@ -1054,7 +986,6 @@ void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texe
|
||||
}
|
||||
|
||||
for (Map<OctantKey, Map<Ref<Material>, Ref<SurfaceTool>>>::Element *E = surface_map.front(); E; E = E->next()) {
|
||||
|
||||
Ref<ArrayMesh> mesh;
|
||||
mesh.instance();
|
||||
for (Map<Ref<Material>, Ref<SurfaceTool>>::Element *F = E->get().front(); F; F = F->next()) {
|
||||
@@ -1081,7 +1012,6 @@ void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texe
|
||||
}
|
||||
|
||||
Array GridMap::get_bake_meshes() {
|
||||
|
||||
if (!use_in_baked_light) {
|
||||
return Array();
|
||||
}
|
||||
@@ -1100,13 +1030,11 @@ Array GridMap::get_bake_meshes() {
|
||||
}
|
||||
|
||||
RID GridMap::get_bake_mesh_instance(int p_idx) {
|
||||
|
||||
ERR_FAIL_INDEX_V(p_idx, baked_meshes.size(), RID());
|
||||
return baked_meshes[p_idx].instance;
|
||||
}
|
||||
|
||||
GridMap::GridMap() {
|
||||
|
||||
collision_layer = 1;
|
||||
collision_mask = 1;
|
||||
|
||||
@@ -1132,7 +1060,6 @@ GridMap::GridMap() {
|
||||
}
|
||||
|
||||
GridMap::~GridMap() {
|
||||
|
||||
if (!mesh_library.is_null())
|
||||
mesh_library->unregister_owner(this);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user