Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Code maintenance #165
Describe the issue (if no issue has been made)
Code maintenance of things Cherno did start but not finish or mensioned before but did not do in the code maintenance video.
PR impact (Make sure to add closing keywords)
List of related issues/PRs this will solve:
Proposed fix (Make sure you've read on how to contribute to Hazel)
A more detailed list can be found in #140 (comment)
Tested in debug and release, the rest of the code maintenace can be found in #140 (comment).
The reason I did it lije this, only Window.cpp includes the WindowsWindow, so in that file we can add/remove the obsolete classes when they are not required. This could even work for the different renderAPI's, for example exclude DirectX in macOS...
Any particular reason why you're against it @CleverSource ? I can see how it might require a seperate PR instead...
It's a good PR, but it doesn't feel very maintenance like and seeing as this PR is meant for maintenance I don't see why a PR unrelated should be merged with this.
While I do think the other PR should be implemented in some way, I don't think it should be added with this PR.
Puddlestomper left a comment
Seems mostly good to merge. Only some minor things that we should clear up.
One other thing that I can think of that we might want to include, seeing as we have the platform detection now, is the include guards for the API-specific files depending on platform. The
That is exactly what I asked some days ago: #165 (comment).
The only place Windows* files are included are within the
I agree with the reply from CleverSource #165 (comment) on the matter: It is a good PR, but not really maintenance, it should have its own PR into Hazel instead.
So I think this is indeed a nice suggestion, but also outside the scope of this PR?
- Convert smart pointers to Hazel wrappers: (Create)Scope and (Create)Ref - Removing all DLL traces (removing all HAZEL_API macros) - Fixing include statements: -> All includes relative to `Hazel/src` -> All external includes use `<>` instead of `""` - Use default (de)constructor instead of an empty one - Removed the dedicated (duplicate) `BIND_EVENT_FN` in application - Removed obsolete logging messages in glfw - Removed obsolete YAML keys in PR template - Call Renderer2D::Shutdown() to free memory from allocated Renderer2DStorage - Removed traces of OpenGL in the main Renderer and in Sandbox/ExampleLayer