Return-To-The-Roots / s25client

Return To The Roots (Settlers II(R) Clone)
http://www.rttr.info
GNU General Public License v2.0
476 stars 75 forks source link

Granular military control #1572

Closed ii8 closed 1 year ago

ii8 commented 1 year ago

This changes the military control addon to allow the player to send and order their little guys however they like.

The original button for sending max rank soldiers home is still there but it is now simply a shortcut to change the garrison of a building to just one private.

Spikeone commented 1 year ago

I'd be really happy if we could also keep the 'original' control addon. With that implementation you only got a bit control and that's it - now you can only decide to either have nothing or the big package.

Options could be: Original Enhanced Full

ii8 commented 1 year ago

As requested the old control addon is back now. This is ready I think if what I did with the replay version is right.

ii8 commented 1 year ago

~Somehow make test is not failing currently, I expect it should, does it not run these tests?~ Only runs them in release builds.

Flamefire commented 1 year ago

~Somehow make test is not failing currently, I expect it should, does it not run these tests?~ Only runs them in release builds.

Yes those 2 tests are so slow that we run them only in release IIRC.

ii8 commented 1 year ago

Do I have to make the auto-nitpicker happy or something? Can I automatically apply the changes it suggests somehow?

Flamefire commented 1 year ago

For the formatting: If you have clang-format-10 installed the CMake process will create a "clangFormat" target which you can "build". That will run the formatting over all files changed since the last format run so this is kinda automatic. Easiest is to get s astic clang-format from e.g. https://github.com/muttleyxd/clang-tools-static-binaries/releases. Download the corresponding file, e.g. clang-format-10_windows-amd64.exe (assuming Windows), rename it to clang-format-10.exe and put it somewhere that is in PATH then CMake will find it. Or put it anywhere and set ClangFormat_BINARY to the full path of it in CMake.

For clang-tidy we don't have anything like it but shouldn't be much to do there.

I know that static analysis stuff looks like nitpicking and often doesn't help much but it proved to be valuable and reduces maintenance effort, so we need it.

As for the GCC-12 job failure: Just ignore it, should be fixed once @Flow86 merges #1580

ii8 commented 1 year ago

@Flamefire I don't think that test failure is related to my changes. Locally the tests pass most of the time, only sometimes does the network test fail like this.

ii8 commented 1 year ago

@Flamefire Do I need to do something?

Flamefire commented 1 year ago

Not from my side. Failure on Jenkins seems to be a timeout. Restarted that and will merge as soon as that finished.