Skip to content

Conversation

@Mosch0512
Copy link
Owner

No description provided.

…n = 1` for consistent wide character handling.
…e `_USE_32BIT_TIME_T`, and automate DLL copying post-build.
… paths, and streamline DLL copying logic in `CMakeLists.txt`.
…Lists.txt`. which get included in `Include.h`
…watch for C# changes, rebuild on updates, and link DLL to `Main`.
…o detect and respond to new/removed `.cs` files dynamically.
…th cross-platform build and run instructions
…ng, with locking to prevent parallel process issues.
@gemini-code-assist
Copy link

Summary of Changes

Hello @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 significant overhaul of the project's build infrastructure, transitioning from a legacy Visual Studio solution to a more robust and maintainable CMake-driven system. The changes streamline the development process by automating dependency management, integrating .NET components directly into the CMake build, and providing updated IDE configurations. This modernization effort aims to improve the overall developer experience and facilitate future development.

Highlights

  • Build System Migration: The project's build system has been migrated from a traditional Visual Studio solution (.sln, .vcxproj) to a modern CMake-based approach, enhancing flexibility and cross-platform compatibility.
  • Project Structure Refactoring: The main source code directory has been renamed from Source Main 5.2 to src, improving clarity and adhering to common project layout conventions.
  • Dependency Management with Git Submodules: The ImGui library is now managed as a Git submodule within src/ThirdParty/imgui, and the CMake configuration includes logic for its automatic initialization.
  • Automated .NET Client Library Build: The .NET Client Library (MUnique.Client.Library.csproj) is now automatically built by CMake using dotnet publish with Native AOT, eliminating the need for manual publishing steps.
  • IDE Configuration Updates: New configuration files (.idea/cmake.xml, .vs/launch.vs.json, CMakeSettings.json) have been added to provide seamless integration and build profiles for various IDEs like Visual Studio and CLion.
  • Documentation Refresh: The README.md file has been significantly updated with comprehensive build and setup instructions tailored for the new CMake-based workflow across different IDEs and command-line environments.
  • Cleanup of Obsolete Files: Numerous old Visual Studio project files and related data files (e.g., InGameShop scripts, NpcName files) have been removed as part of the build system overhaul.

🧠 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.

Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/mingw-build.yml
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a 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 is a major and welcome improvement to the project's structure and build system. Migrating to a modern CMake-based setup and cleaning up the old Visual Studio project files is a great step forward. The new build instructions in the README are also much clearer.

I've found a few issues, mostly related to hardcoded paths and documentation inconsistencies, which should be addressed to ensure the build works smoothly for all contributors. The most critical issue is a hardcoded absolute path in the CLion configuration. I've also suggested improvements for NuGet package handling in the .csproj and adding the documented run target to the CMake script.

Overall, excellent work on modernizing the project's foundation!

…, exclude `imgui` from all builds, and add `ConstantsReplacer` tool. Update `.vs/launch.vs.json` with a new configuration for `ConstantsReplacer`.
…uild output and dependencies for cleaner integration
…build settings for 32-bit and 64-bit platforms, and update .NET publishing process accordingly. Add x64 profiles to `.idea/cmake.xml` and `CMakeSettings.json`.
… architecture-specific settings, and configure `.idea/cmake.xml` to use the new toolchain.
…ed `x86` settings, improve automatic architecture inference in `CMakeLists.txt`, and update `toolchain-x64.cmake` for consistency. Update default server port.
…$(USERPROFILE) and adjust default folder path in ConstantsReplacer Form.
… builds with MSVC; improve asset and DLL copying in build setup.
…lds, making it consistent with all other build methods
…files, ensuring consistency with x64 configuration
@Mosch0512 Mosch0512 force-pushed the ide-and-toolchain-changes branch from 71989ab to bb6ac81 Compare January 18, 2026 17:02
…e reliability, handle incomplete directories, and add missing submodules to the git index automatically.
@Mosch0512 Mosch0512 merged commit 2509c41 into moschs-main Jan 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants