diff --git a/modules/going/checkpoint.cpp b/modules/going/checkpoint.cpp index 0454a2a5..2a520f89 100644 --- a/modules/going/checkpoint.cpp +++ b/modules/going/checkpoint.cpp @@ -5,7 +5,8 @@ void Checkpoint::_bind_methods() { BIND_PROPERTY(Variant::VECTOR3, location); - BIND_PROPERTY(Variant::VECTOR3, camera_location); + BIND_PROPERTY(Variant::BOOL, can_jump); + BIND_PROPERTY(Variant::BOOL, can_bash); } void Checkpoint::set_location(Transform3D location) { @@ -16,22 +17,32 @@ Transform3D Checkpoint::get_location() const { return this->location; } -void Checkpoint::set_camera_location(Transform3D location) { - this->camera_location = location; +void Checkpoint::set_can_jump(bool can_jump) { + this->can_jump = can_jump; } -Transform3D Checkpoint::get_camera_location() const { - return this->camera_location; +bool Checkpoint::get_can_jump() const { + return this->can_jump; +} + +void Checkpoint::set_can_bash(bool can_bash) { + this->can_bash = can_bash; +} + +bool Checkpoint::get_can_bash() const { + return this->can_bash; } void Checkpoint::load(PlayerBody *body) const { body->set_global_transform(this->location); - body->get_camera()->set_global_transform(this->camera_location); + body->set_can_jump(this->can_jump); + // body->set_can_bash(this->can_bash); } void Checkpoint::save(PlayerBody *body) { this->set_location(body->get_global_transform_interpolated()); - this->set_camera_location(body->get_camera()->get_global_transform_interpolated()); + this->set_can_jump(body->get_can_jump()); + // self->set_can_bash(body->get_can_bash()); } Ref Checkpoint::save_new(PlayerBody *body) { diff --git a/modules/going/checkpoint.h b/modules/going/checkpoint.h index 5ffc58fa..53afddd9 100644 --- a/modules/going/checkpoint.h +++ b/modules/going/checkpoint.h @@ -13,15 +13,16 @@ class Checkpoint : public Resource { public: void set_location(Transform3D location); Transform3D get_location() const; - void set_camera_location(Transform3D camera_location); - Transform3D get_camera_location() const; + void set_can_jump(bool can_jump); + bool get_can_jump() const; + void set_can_bash(bool can_bash); + bool get_can_bash() const; void load(PlayerBody *body) const; void save(PlayerBody *body); static Ref save_new(PlayerBody *body); private: Transform3D location{}; - Transform3D camera_location{}; bool can_jump{false}, can_bash{false}; }; diff --git a/modules/going/player_body.cpp b/modules/going/player_body.cpp index 6c984563..8dca37ab 100644 --- a/modules/going/player_body.cpp +++ b/modules/going/player_body.cpp @@ -46,9 +46,6 @@ void PlayerBody::_notification(int what) { case NOTIFICATION_ENTER_TREE: this->enter_tree(); return; - case NOTIFICATION_READY: - this->ready(); - return; case NOTIFICATION_PROCESS: this->process(this->get_process_delta_time()); return; @@ -64,10 +61,6 @@ void PlayerBody::enter_tree() { this->model = Object::cast_to(this->get_node(NodePath("character"))); this->anim = Object::cast_to(this->get_node(NodePath("character/AnimationPlayer"))); this->camera = Object::cast_to(this->get_node(NodePath("Camera3D"))); - this->state = Object::cast_to(this->get_node(NodePath("%PlayerStateMachine"))); -} - -void PlayerBody::ready() { this->camera->set_fov(this->min_fov); this->last_checkpoint = Checkpoint::save_new(this); } @@ -92,8 +85,6 @@ void PlayerBody::save_checkpoint() { void PlayerBody::load_checkpoint() { this->last_checkpoint->load(this); - this->force_update_transform(); - this->set_velocity(Vector3{}); this->state->force_state(); } diff --git a/modules/going/player_body.h b/modules/going/player_body.h index c3b7016c..35426ef6 100644 --- a/modules/going/player_body.h +++ b/modules/going/player_body.h @@ -12,7 +12,6 @@ class PlayerBody : public CharacterBody3D { static void _bind_methods(); void _notification(int what); void enter_tree(); - void ready(); void process(double delta); void physics_process(double delta); diff --git a/project/models/player/character.blend b/project/models/player/character.blend index ee3167fb..bfe001e9 100644 Binary files a/project/models/player/character.blend and b/project/models/player/character.blend differ diff --git a/project/models/player/character.blend1 b/project/models/player/character.blend1 index a37078e1..835f2789 100644 Binary files a/project/models/player/character.blend1 and b/project/models/player/character.blend1 differ diff --git a/project/models/terrains/level.blend b/project/models/terrains/level.blend index f9c2c950..c0c940b0 100644 Binary files a/project/models/terrains/level.blend and b/project/models/terrains/level.blend differ diff --git a/project/models/terrains/level.blend1 b/project/models/terrains/level.blend1 index d3b71a23..0ea119ef 100644 Binary files a/project/models/terrains/level.blend1 and b/project/models/terrains/level.blend1 differ diff --git a/project/objects/player.tscn b/project/objects/player.tscn index 1c9f7104..71efd7f4 100644 --- a/project/objects/player.tscn +++ b/project/objects/player.tscn @@ -36,7 +36,6 @@ target_speed = 25.0 jump_impulse = Vector2(0.9, 5) [node name="PlayerStateMachine" type="PlayerStateMachine" parent="."] -unique_name_in_owner = true [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.05124, 0) diff --git a/project/project.godot b/project/project.godot index 334884bc..1f20dc33 100644 --- a/project/project.godot +++ b/project/project.godot @@ -27,37 +27,31 @@ window/vsync/vsync_mode=0 move_left={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) ] } move_right={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) ] } move_forward={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) ] } move_back={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) ] } split_step={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null) ] } jump={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] } diff --git a/project/scenes/valley.tscn b/project/scenes/valley.tscn index 55948b2f..0d21ef2a 100644 --- a/project/scenes/valley.tscn +++ b/project/scenes/valley.tscn @@ -150,70 +150,6 @@ transform = Transform3D(0.419484, 0.0507518, -0.906343, 1.17347e-07, 0.998436, 0 [node name="Node3D169" parent="level" instance=ExtResource("3_lj5yw")] transform = Transform3D(0.952997, 0.103831, -0.284635, -0.108312, 0.994117, 1.04308e-07, 0.282961, 0.0308292, 0.958637, 145.181, 0.286187, 130.351) -[node name="Node3D173" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.952997, 0.103831, -0.284635, -0.108312, 0.994117, 1.04308e-07, 0.282961, 0.0308292, 0.958637, 168.889, 12.9213, 158.179) -metadata/_edit_group_ = true - -[node name="Node3D234" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.952997, 0.103831, -0.284635, -0.108312, 0.994117, 1.04308e-07, 0.282961, 0.0308292, 0.958637, 162.185, 12.9213, 137.723) -metadata/_edit_group_ = true - -[node name="Node3D237" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.952997, 0.103831, -0.284635, -0.108312, 0.994117, 1.04308e-07, 0.282961, 0.0308292, 0.958637, 185.523, 12.9213, 134.48) -metadata/_edit_group_ = true - -[node name="Node3D255" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.952997, 0.103831, -0.284635, -0.108312, 0.994117, 1.04308e-07, 0.282961, 0.0308292, 0.958637, 169.521, 12.9213, 113.706) -metadata/_edit_group_ = true - -[node name="Node3D238" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.952997, 0.103831, -0.284635, -0.108312, 0.994117, 1.04308e-07, 0.282961, 0.0308292, 0.958637, 206.013, 12.9213, 115.293) -metadata/_edit_group_ = true - -[node name="Node3D244" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.952997, 0.103831, -0.284635, -0.108312, 0.994117, 1.04308e-07, 0.282961, 0.0308292, 0.958637, 228.596, 12.9213, 107.531) -metadata/_edit_group_ = true - -[node name="Node3D174" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 191.303, 12.9213, 156.299) -metadata/_edit_group_ = true - -[node name="Node3D177" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 210.785, 12.9213, 155.892) -metadata/_edit_group_ = true - -[node name="Node3D213" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 229.302, 12.9213, 145.232) -metadata/_edit_group_ = true - -[node name="Node3D218" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 229.302, 12.9213, 145.232) -metadata/_edit_group_ = true - -[node name="Node3D219" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 209.497, 12.9213, 140.626) -metadata/_edit_group_ = true - -[node name="Node3D258" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 156.069, 12.9213, 94.6004) -metadata/_edit_group_ = true - -[node name="Node3D226" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 249.623, 12.9213, 148.498) -metadata/_edit_group_ = true - -[node name="Node3D233" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 237.032, 12.9213, 130.943) -metadata/_edit_group_ = true - -[node name="Node3D179" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 198.203, 6.57293, 166.993) -metadata/_edit_group_ = true - -[node name="Node3D180" parent="level" instance=ExtResource("3_lj5yw")] -transform = Transform3D(0.725555, 0, 0.688165, 0, 1, 0, -0.688165, 0, 0.725555, 216.786, 6.57293, 165.119) -metadata/_edit_group_ = true - [node name="Node3D176" parent="level" instance=ExtResource("3_lj5yw")] transform = Transform3D(0.0886341, 0.0799352, 0.992852, -1.1595e-07, 0.996775, -0.0802511, -0.996065, 0.00711287, 0.0883483, 143.025, -0.200879, 148.057) @@ -1432,75 +1368,6 @@ transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561 [node name="Evertre14" parent="level" instance=ExtResource("8_l73gk")] transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -3.38254, 18.4091, 399.123) -[node name="Evertre33" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -17.2473, 11.2643, 443.769) - -[node name="Evertre34" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -32.4798, 11.2643, 454.614) - -[node name="Evertre35" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -12.378, 11.2643, 456.756) - -[node name="Evertre36" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, 4.30957, 11.2643, 453.546) - -[node name="Evertre37" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, 2.6091, 11.2643, 443.211) - -[node name="Evertre39" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, 10.0671, 11.2643, 420.669) - -[node name="Evertre38" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -8.8195, 11.2643, 447.976) - -[node name="Evertre40" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, 15.4028, 11.2643, 446.201) - -[node name="Evertre41" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, 22.8192, 11.2643, 428.729) - -[node name="Evertre42" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -35.9533, 11.2643, 441.454) - -[node name="Evertre43" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -45.0486, 11.2643, 457.168) - -[node name="Evertre44" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -80.4115, 11.2643, 407.324) - -[node name="Evertre51" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -60.7866, 11.2643, 414.031) - -[node name="Evertre52" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -17.5432, 11.2643, 415.655) - -[node name="Evertre53" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -36.6727, 11.2643, 415.34) - -[node name="Evertre54" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, 17.3577, 11.2643, 411.762) - -[node name="Evertre55" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -0.192945, 11.2643, 411.762) - -[node name="Evertre45" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -95.6595, 11.2643, 394.926) - -[node name="Evertre46" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -51.2812, 11.2643, 432.799) - -[node name="Evertre47" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -58.7669, 11.2643, 444.695) - -[node name="Evertre48" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -75.6998, 11.2643, 439.298) - -[node name="Evertre49" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -66.3773, 11.2643, 431.034) - -[node name="Evertre50" parent="level" instance=ExtResource("8_l73gk")] -transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -82.3773, 11.2643, 425.034) - [node name="Evertre28" parent="level" instance=ExtResource("8_l73gk")] transform = Transform3D(0.0847561, 0, 0.996402, 0, 1, 0, -0.996402, 0, 0.0847561, -19.7205, 18.4091, 397.907)