-
Notifications
You must be signed in to change notification settings - Fork 155
Integrate imgui #261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Integrate imgui #261
Conversation
…m filtering logic.
…nsole`, and `InputBlocker` into separate classes
…place standard output functions
… `MuItemEditor`.
…rrides` and rename `GetItemName` to `get_item_name`.
…equirement` helper function.
…to simplify and unify logic.
…tion and update related usage in `CalcDefense` and item tooltip rendering cap of lord calculation is not working yet
…cellent/armor bonuses and ensure consistent tooltip display wings of elf are not right yet
Summary of ChangesHello @Mosch0512, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a powerful, in-game editor built with ImGui, designed to streamline development and debugging by allowing real-time inspection and modification of game data. The editor provides a user-friendly interface with a toolbar, a comprehensive console for all game output, and a dedicated item editor for adjusting item attributes on the fly. A key architectural decision was to ensure the editor's presence only in debug builds through conditional compilation, maintaining a lean and performant release client. The integration also necessitated significant refactoring of item-related game logic to support dynamic updates and improve code maintainability. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces an in-game editor module, 'MU Editor', built with ImGui, primarily for debug builds. The editor includes a core system for initialization, updates, and rendering, a dual-panel console with logging to file and redirection of standard output/error streams, an item editor for real-time modification of item attributes (strength, dexterity, energy, vitality, charisma, damage, attack speed, defense, durability), and an input blocker to prevent game input from interfering with the editor UI. Project files (.gitignore, .vcxproj) were updated to include ImGui and editor-specific files, with conditional compilation (#ifdef _EDITOR) ensuring the editor is excluded from release builds. Several game logic files were refactored to use new helper functions for calculating item stat requirements (CalcStatRequirement), Dark Raven charisma requirements (CalcDarkRavenCharismaRequirement), and defense values (CalculateDefenseValue), and GetItemName was renamed to get_item_name. Input handling in Winmain.cpp and NewUICommon.cpp was adjusted to integrate ImGui's input processing and block game input when the editor is active or UI elements are hovered. Console output is now fully redirected to the ImGui console, and a new README.md file documents the editor's features and architecture.
4140a65 to
de5dc7b
Compare
Also fixes some tool tip calculation stat issues like defence for wings and armor and shield