New Voiceline in NodeSentence#17
Conversation
Reviewer's Guide by SourceryThis pull request introduces support for voiceline paths in sentence nodes and enhances error handling and type safety in node processing. The changes are implemented through the following key modifications:
These changes aim to improve the robustness and functionality of the dialogue system, particularly in handling audio files and providing better user feedback. File-Level Changes
Tips
|
There was a problem hiding this comment.
Hey @atomic-junky - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider adding more robust error handling and user feedback, particularly in the FilePickerLineEdit class and when dealing with file operations.
- Improve type safety by adding more explicit type annotations, especially for function parameters and return values.
- Add more comprehensive documentation for new functions and classes, including detailed comments for complex algorithms like absolute_to_relative in Path.gd.
Here's what I looked at during the review
- 🟡 General issues: 3 issues found
- 🟡 Security: 2 issues found
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.
|
So, I've written a function that converts an absolute path to a relative path, normally it works but I'd like to be sure. Also, in Godot 4.3 there's a MusicPlayer I think (not an AudioPlayer), and I think it would be a good idea to separate Sfx and Music, but when I tried to do it with the 1st Release Candidate, there were some weird bugs, so I think I'll have to wait for an official release. Otherwise, I've tried to make the code and nodes easily reusable for implementation in other nodes. I also think there are some big conflicts with the main branch, so I'll have to see how to adapt the code. |
RailKill
left a comment
There was a problem hiding this comment.
Let me know if you need help merging main into this branch.
maybe it doesn't really belong in this branch 😅
|
I think I've made all the changes you mentioned. I redid the notification system but I'm not sure it's very clean/practical but it probably deserves its own branch. |
|
Looks good! Now you just have to merge
|
|
Extra notes: You have to merge main into this branch first because this branch is outdated, i.e. the history is messed up. So we're taking the new UndoRedo stuff from main into here to fix that. Once we're up to date, main still doesn't have the FilePicker stuff from this branch yet, so the PR is to merge this branch back to main, then everything will be in sync. Merging conflicts are a common source for bugs. That's why there is automated testing in software development. If in future we start to encounter regression bugs (bugs that reoccur in newer versions even after they were previously fixed), we might wanna consider a unit test framework like gdUnit4 to prevent PRs that break old features. Happy merging! |
|
Normally everything is good, but I'd like you to test it to be sure |
There was a problem hiding this comment.
Hey @atomic-junky - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider breaking this PR into smaller, more focused changes. The current scope, touching multiple files with both functional and organizational changes, makes it challenging to review effectively.
- The path handling functions in Path.gd look useful, but ensure thorough testing across different operating systems and file systems to catch potential edge cases.
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.
Summary by Sourcery
Add a new voiceline feature to NodeSentence, allowing nodes to specify and handle voiceline paths. Introduce new components for file path selection and validation, and implement a global file dialog system. Refactor the notification system for consistent logging and enhance the SfxLoader for better error handling. Improve path management by adding functions to convert between absolute and relative paths.
New Features:
Enhancements: