Prof-Butts / xwa_ddraw_d3d11

Direct3D 11 implementation of DDraw.dll for XWA with VR support and New Shaders
MIT License
6 stars 4 forks source link

Update master and include Hook_XWACockpitLook as submodule #29

Closed morallo closed 3 years ago

morallo commented 3 years ago

I propose some changes:

Prof-Butts commented 3 years ago

I've got essentially the same comment here: shouldn't I first do a PR from the Release_1_1_5 branch to master? Then I can add the CockpitLookHook as a project in a separate commit.

morallo commented 3 years ago

I already did it locally, trying to save you some time. I can change the PR target if you want :)

morallo commented 3 years ago

PR updated to the new master HEAD.

Prof-Butts commented 3 years ago

I just added a shared memory object to pass information between the CockpitLook hook and ddraw. We don't need to put both projects under the same solution anymore or do dynamic loading: since all DLLs share the heap, we can pass a void* between these two guys and share whatever we want.

morallo commented 3 years ago

I have removed the hook from the VS solution, but keeping the hook as submodule is interesting to maintain the versions in sync. The submodule changeset is included in the commit for the superproject, so any changes in the hook need to be commited to ddraw as a change.

But they still need to be built separately in Visual Studio.

What do you think @Prof-Butts ?

Prof-Butts commented 3 years ago

@morallo I had never heard of submodules before. How can I pull changes from, say, Jeremy's ddraw in the future? Is that going to change?

What happens when we modify something in the hook? Can I still push stuff into the hook's git repo separately?

morallo commented 3 years ago

A submodule is just a folder containing another git repository, and the .gitmodules file with the reference to the remote URL.

Since they don't exist in Jeremy's repo and don't touch any of his files, they should not generate conflicts when merging his changes into your version.

For him to merge any of your changes, he will probably cherry pick a commit. We just need to ensure that specific change does not touch the hook folder and .gitmodule file.

You still have to manage the submodule repo changes separately. It stays an independent repository that you need to commit on, pull or push, by entering the folder and using git.

If you change it, you will get an 'unstaged change' in the superproject, mentioning the new changeset for the hook.

You then git add Hook_XWACockpitLook to add the modified submodule folder to the staged files, and commit to record that the changeset/state for that submodule has been updated.

Prof-Butts commented 3 years ago

OK, let's do this. I'll learn more about submodules on the go :)