Skip to content

Commit c3269da

Browse files
committed
ImportanceLOD: Some cleanup of comments, old code, and variable names
1 parent e5bf0c8 commit c3269da

File tree

5 files changed

+48
-90
lines changed

5 files changed

+48
-90
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.godot/
2+
.vscode/
23
*.exp
34
*.lib
45
*.pdb

gdextension/importance-lod/src/importance_lod.cpp

+12-34
Original file line numberDiff line numberDiff line change
@@ -6,108 +6,86 @@ using namespace godot;
66

77
void LOD::_bind_methods() {
88
// Inspector properties
9-
10-
//register_property<LOD, bool>("enabled", &LOD::set_enabled, &LOD::get_enabled, true);
119
ClassDB::bind_method(D_METHOD("get_enabled"), &LOD::get_enabled);
1210
ClassDB::bind_method(D_METHOD("set_enabled", "p_enabled"), &LOD::set_enabled);
1311
ClassDB::add_property("LOD", PropertyInfo(Variant::BOOL, "enabled"), "set_enabled", "get_enabled");
1412

1513
// Whether to use distance multipliers from project settings
16-
//register_property<LOD, bool>("affectedByDistanceMultipliers", &LOD::set_affected_by_distance, &LOD::get_affected_by_distance, true);
1714
ClassDB::bind_method(D_METHOD("get_affected_by_distance_multipliers"), &LODBaseComponent::get_affected_by_distance_multipliers);
1815
ClassDB::bind_method(D_METHOD("set_affected_by_distance_multipliers", "p_affected_by_distance_multipliers"), &LODBaseComponent::set_affected_by_distance_multipliers);
1916
ClassDB::add_property("LODBaseComponent", PropertyInfo(Variant::BOOL, "affected_by_distance_multipliers"), "set_affected_by_distance_multipliers", "get_affected_by_distance_multipliers");
2017

2118
// Screen percentage ratios (and if applicable)
22-
//register_property<LOD, bool>("use_screen_percentage", &LOD::set_use_screen_percentage, &LOD::get_use_screen_percentage, true);
2319
ClassDB::bind_method(D_METHOD("get_use_screen_percentage"), &LOD::get_use_screen_percentage);
2420
ClassDB::bind_method(D_METHOD("set_use_screen_percentage", "p_use_screen_percentage"), &LOD::set_use_screen_percentage);
2521
ClassDB::add_property("LOD", PropertyInfo(Variant::BOOL, "use_screen_percentage"), "set_use_screen_percentage", "get_use_screen_percentage");
2622

2723
// Vars for distance-based (in metres)
2824
// These will be set by the ratios if use_screen_percentage is true
29-
// Distance and ratio exposed names and variable names do not match to avoid massive compatability breakage with an older version of the addon.
30-
//register_property<LOD, float>("lod1dist", &LOD::lod1_distance, 7.0f); // put any of these to -1 if you don't have the lod for it, don't want to hide/unload etc
3125
ClassDB::bind_method(D_METHOD("get_lod1_distance"), &LOD::get_enabled);
3226
ClassDB::bind_method(D_METHOD("set_lod1_distance", "p_lod1_distance"), &LOD::set_lod1_distance);
3327
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "lod1_distance"), "set_lod1_distance", "get_lod1_distance");
34-
//register_property<LOD, float>("lod2dist", &LOD::lod2_distance, 12.0f);
28+
3529
ClassDB::bind_method(D_METHOD("get_lod2_distance"), &LOD::get_enabled);
3630
ClassDB::bind_method(D_METHOD("set_lod2_distance", "p_lod2_distance"), &LOD::set_lod2_distance);
3731
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "lod2_distance"), "set_lod2_distance", "get_lod2_distance");
38-
//register_property<LOD, float>("lod3dist", &LOD::lod3_distance, 30.0f);
32+
3933
ClassDB::bind_method(D_METHOD("get_lod3_distance"), &LOD::get_enabled);
4034
ClassDB::bind_method(D_METHOD("set_lod3_distance", "p_lod3_distance"), &LOD::set_lod3_distance);
4135
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "lod3_distance"), "set_lod3_distance", "get_lod3_distance");
42-
//register_property<LOD, float>("hideDist", &LOD::hide_distance, 100.0f);
36+
4337
ClassDB::bind_method(D_METHOD("get_hide_distance"), &LOD::get_enabled);
4438
ClassDB::bind_method(D_METHOD("set_hide_distance", "p_hide_distance"), &LOD::set_hide_distance);
4539
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "hide_distance"), "set_hide_distance", "get_hide_distance");
46-
//register_property<LOD, float>("unloadDist", &LOD::unload_distance, -1.0f);
40+
4741
ClassDB::bind_method(D_METHOD("get_unload_distance"), &LOD::get_enabled);
4842
ClassDB::bind_method(D_METHOD("set_unload_distance", "p_unload_distance"), &LOD::set_unload_distance);
4943
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "unload_distance"), "set_unload_distance", "get_unload_distance");
5044

5145
// Screen percentage ratios (and if applicable)
52-
//register_property<LOD, float>("lod1ratio", &LOD::lod1_ratio, 25.0f); // put any of these to -1 if you don't have the lod for it, don't want to hide/unload etc
5346
ClassDB::bind_method(D_METHOD("get_lod1_ratio"), &LOD::get_enabled);
5447
ClassDB::bind_method(D_METHOD("set_lod1_ratio", "p_lod1_ratio"), &LOD::set_lod1_ratio);
5548
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "lod1_ratio"), "set_lod1_ratio", "get_lod1_ratio");
56-
//register_property<LOD, float>("lod2ratio", &LOD::lod2_ratio, 10.0f);
49+
5750
ClassDB::bind_method(D_METHOD("get_lod2_ratio"), &LOD::get_enabled);
5851
ClassDB::bind_method(D_METHOD("set_lod2_ratio", "p_lod2_ratio"), &LOD::set_lod2_ratio);
5952
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "lod2_ratio"), "set_lod2_ratio", "get_lod2_ratio");
60-
//register_property<LOD, float>("lod3ratio", &LOD::lod3_ratio, 5.5f);
53+
6154
ClassDB::bind_method(D_METHOD("get_lod3_ratio"), &LOD::get_enabled);
6255
ClassDB::bind_method(D_METHOD("set_lod3_ratio", "p_lod3_ratio"), &LOD::set_lod3_ratio);
6356
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "lod3_ratio"), "set_lod3_ratio", "get_lod3_ratio");
64-
//register_property<LOD, float>("hideRatio", &LOD::hide_ratio, 1.0f);
57+
6558
ClassDB::bind_method(D_METHOD("get_hide_ratio"), &LOD::get_enabled);
6659
ClassDB::bind_method(D_METHOD("set_hide_ratio", "p_hide_ratio"), &LOD::set_hide_ratio);
6760
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "hide_ratio"), "set_hide_ratio", "get_hide_ratio");
68-
//register_property<LOD, float>("unloadRatio", &LOD::unload_ratio, -1.0f);
61+
6962
ClassDB::bind_method(D_METHOD("get_unload_ratio"), &LOD::get_enabled);
7063
ClassDB::bind_method(D_METHOD("set_unload_ratio", "p_unload_ratio"), &LOD::set_unload_ratio);
7164
ClassDB::add_property("LOD", PropertyInfo(Variant::FLOAT, "unload_ratio"), "set_unload_ratio", "get_unload_ratio");
7265

73-
//register_property<LOD, NodePath>("lod0_path", &LOD::lod0_path, NodePath());
7466
ClassDB::bind_method(D_METHOD("get_lod0_path"), &LOD::get_lod0_path);
7567
ClassDB::bind_method(D_METHOD("set_lod0_path", "p_lod0_path"), &LOD::set_lod0_path);
7668
ClassDB::add_property("LOD", PropertyInfo(Variant::NODE_PATH, "lod0_path"), "set_lod0_path", "get_lod0_path");
77-
//register_property<LOD, NodePath>("lod1_path", &LOD::lod1_path, NodePath());
69+
7870
ClassDB::bind_method(D_METHOD("get_lod1_path"), &LOD::get_lod1_path);
7971
ClassDB::bind_method(D_METHOD("set_lod1_path", "p_lod1_path"), &LOD::set_lod1_path);
8072
ClassDB::add_property("LOD", PropertyInfo(Variant::NODE_PATH, "lod1_path"), "set_lod1_path", "get_lod1_path");
81-
//register_property<LOD, NodePath>("lod2_path", &LOD::lod2_path, NodePath());
73+
8274
ClassDB::bind_method(D_METHOD("get_lod2_path"), &LOD::get_lod2_path);
8375
ClassDB::bind_method(D_METHOD("set_lod2_path", "p_lod2_path"), &LOD::set_lod2_path);
8476
ClassDB::add_property("LOD", PropertyInfo(Variant::NODE_PATH, "lod2_path"), "set_lod2_path", "get_lod2_path");
85-
//register_property<LOD, NodePath>("lod3_path", &LOD::lod3_path, NodePath());
77+
8678
ClassDB::bind_method(D_METHOD("get_lod3_path"), &LOD::get_lod3_path);
8779
ClassDB::bind_method(D_METHOD("set_lod3_path", "p_lod3_path"), &LOD::set_lod3_path);
8880
ClassDB::add_property("LOD", PropertyInfo(Variant::NODE_PATH, "lod3_path"), "set_lod3_path", "get_lod3_path");
8981

9082
// Exposed methods
91-
//register_method("_process", &LOD::_process);
92-
//ClassDB::bind_method(D_METHOD("_process"), &LOD::_process);
93-
//register_method("_ready", &LOD::_ready);
94-
//ClassDB::bind_method(D_METHOD("_ready"), &LOD::_ready);
95-
//register_method("_enter_tree", &LOD::_enter_tree);
96-
//ClassDB::bind_method(D_METHOD("_enter_tree"), &LOD::_enter_tree);
97-
//register_method("_exit_tree", &LOD::_exit_tree);
98-
//ClassDB::bind_method(D_METHOD("_exit_tree"), &LOD::_exit_tree);
99-
100-
//register_method("update_lod_AABB", &LOD::update_lod_AABB);
10183
ClassDB::bind_method(D_METHOD("update_lod_AABB"), &LOD::update_lod_AABB);
102-
//register_method("update_lod_multipliers_from_manager", &LOD::update_lod_multipliers_from_manager);
10384
ClassDB::bind_method(D_METHOD("update_lod_multipliers_from_manager"), &LOD::update_lod_multipliers_from_manager);
104-
//register_method("get_current_lod", &LOD::get_current_lod);
10585
ClassDB::bind_method(D_METHOD("get_current_lod"), &LOD::get_current_lod);
10686

10787
// Signals
108-
//register_signal<LOD>("lod_changed", "lod", GODOT_VARIANT_TYPE_INT);
10988
ADD_SIGNAL(MethodInfo("lod_changed", PropertyInfo(Variant::INT, "new_lod")));
110-
//register_signal<LOD>("freed");
11189
ADD_SIGNAL(MethodInfo("freed"));
11290

11391
}
@@ -169,7 +147,7 @@ void LOD::_ready() {
169147
if (Engine::get_singleton()->is_editor_hint()) {
170148
return;
171149
}
172-
150+
173151
lod_component.setup(Object::cast_to<Node3D>(this));
174152
lod_component.lod_manager->debug_level_print(1, get_name() + String(": Initializing Mesh LOD."));
175153

gdextension/importance-lod/src/lodbasecomponent.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ using namespace godot;
55
void LODBaseComponent::setup(Node3D* p_object) {
66
if (p_object) {
77
lod_object = p_object;
8-
Node* lm = lod_object->get_node_or_null(NodePath("/root/LODManager"));
9-
if (lm) {
10-
lod_manager = Object::cast_to<LODManager>(lm);
8+
Node* lod_manager_node = lod_object->get_node_or_null(NodePath("/root/LODManager"));
9+
if (lod_manager_node) {
10+
lod_manager = Object::cast_to<LODManager>(lod_manager_node);
1111
}
1212
if (!lod_manager) {
1313
ERR_PRINT("Error, can't find /root/LODManager. Make sure plugin is enabled.");

0 commit comments

Comments
 (0)