NodotProject / nodot

A video game node library for Godot 4
https://nodotproject.github.io/nodot/
MIT License
329 stars 11 forks source link

Various updates #156

Closed krazyjakee closed 5 months ago

krazyjakee commented 6 months ago

Includes various updates across different files in the project. The changes focus on improving the code structure and functionality of specific components.

In addons/nodot/Nodot.gd, a check for the validity of the parent node has been added to prevent potential issues.

In addons/nodot/detection/ViewCone3D.gd, the logic for managing detected bodies has been optimized to enhance performance.

In addons/nodot/hud/CrossHair.gd, additional functionality has been introduced to handle the crosshair sprite and its scaling more efficiently.

In addons/nodot/interaction/Interaction3D.gd, improvements have been made to the interaction and carrying mechanisms, including the handling of carried bodies and interactions with colliders.

These updates aim to enhance the project's functionality, maintainability, and performance. Each change contributes to a more robust and efficient codebase, ultimately improving the overall quality of the project.

Summary by CodeRabbit

github-actions[bot] commented 6 months ago

Image description CodeRabbit

Walkthrough

This pull request introduces significant enhancements across various modules of the project. It includes improvements in character movement, interaction, weapon mechanics, and visual effects. The changes also optimize performance, improve code clarity, and introduce new features like mesh slicing, charging weapons, and customizable bullet holes.

Changes

Files Summary
addons/nodot/Nodot.gd, addons/nodot/hud/CrossHair.gd Introduced checks for null parent nodes and added a new variable for crosshair scaling.
addons/nodot/detection/ViewCone3D.gd, addons/nodot/kits/Locomotion3D/*.gd Refactored physics functions, improved handling of removed bodies, and introduced a new class for zero gravity character movement.
addons/nodot/interaction/Interaction3D.gd, addons/nodot/kits/FirstPerson/*.gd, addons/nodot/weapons/*.gd Enhanced item interactions, added weapon charging functionality, and introduced customizable bullet hole decals.
addons/nodot/kits/FirstPerson/FirstPersonCharacter.gd, addons/nodot/kits/Locomotion3D/CharacterClimb3D.gd, addons/nodot/kits/NodotCharacter3D.gd Improved floor detection and viewport camera toggling.
addons/nodot/mesh/MeshShatter.gd, addons/nodot/shaders/lava.gdshader Added a new class for mesh slicing and a new shader for lava visual effect.
addons/nodot/physics/Mover3D.gd, addons/nodot/utility/WindowSizeConnector.gd Introduced easing types for tweens and optimized window size updates using deferred setting.
addons/nodot/scenes/menus/main_menu.tscn, addons/nodot/textures/spotlight_2.png.import Updated game start button layout and optimized texture import settings.
addons/nodot/utility/UniqueSet.gd Added a new function to check item existence in the collection.
addons/nodot/sound/*.gd Improved warning messages, player initialization, and volume handling.

"With each pull request, we grow, 🐇 hopping forward, coding flow. New features shine, bugs lay low, In our code garden, watch us sow! 🌱🌟"


Uplevel your code reviews with CodeRabbit Pro ### CodeRabbit Pro If you like this project, please support us by purchasing the [Pro version](https://coderabbit.ai). The Pro version has advanced context, superior noise reduction and several proprietary improvements compared to the open source version. Moreover, CodeRabbit Pro is free for open source projects.