Page MenuHomeWildfire Games

Clean up the data structures in RangeManager
ClosedPublic

Authored by wraitii on May 29 2020, 6:37 PM.

Details

Summary

This is a D2667 prep. I have a few further commits upstream at https://github.com/wraitii/0ad/tree/30PlayerLimit.


Range manager has several std::vector for fixed-size arrays and 2D grids. By using proper data structures, the code readability is improved.

This also moves around the LosVisibility enum.


Under the "if it ain't broken, don't fix it" mantra, this is a rather suspect change, however the readability improvement is rather high to me. Further, Grid effectively behaves like a vector right now, so this should be completely transparent on the performance side.


Profiling showed no significant difference with SVN.

Test Plan

While the change should be transparent, there are opportunities for mistakes. Check that behaviour hasn't changed and performance not regressed.

Save a game, reload a few times, check things still work.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

wraitii created this revision.May 29 2020, 6:37 PM
Owners added a subscriber: Restricted Owners Package.May 29 2020, 6:37 PM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2257/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/859/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/1726/display/redirect

wraitii updated this revision to Diff 12054.May 30 2020, 8:18 AM

Had left an ASSERT (instead of an ENSURE) which didn't compile.
This should fix that and gcc warnings.

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/graphics/tests/test_LOSTexture.h
|   1| /*·Copyright·(C)·2012·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2012"

source/graphics/tests/test_LOSTexture.h
|  25| class·TestLOSTexture·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestLOSTexture:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpRangeManager.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/helpers/Selection.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/serialization/SerializeTemplates.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/serialization/SerializeTemplates.h
|  33| template<typename·ELEM>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/CCmpSoundManager.cpp
|   1| /*·Copyright·(C)·2018·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2018"

source/simulation2/components/ICmpVisibility.h
|   1| /*·Copyright·(C)·2015·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2015"

source/simulation2/components/ICmpVisibility.h
|  35| class·ICmpVisibility·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpVisibility:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpVisibility.cpp
|   1| /*·Copyright·(C)·2015·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2015"

source/simulation2/helpers/Grid.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/helpers/Grid.h
|  33| template<typename·T>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/gui/ObjectTypes/CMiniMap.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/components/ICmpRangeManager.h
|  91| class·ICmpRangeManager·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpRangeManager:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/CCmpUnitRenderer.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2263/display/redirect

Stan added a subscriber: Stan.May 30 2020, 9:21 AM
Stan added inline comments.
source/graphics/tests/test_LOSTexture.h
46 ↗(On Diff #12054)

Why u8?

source/simulation2/components/CCmpRangeManager.cpp
798 ↗(On Diff #12054)

range loops?

838 ↗(On Diff #12054)

range loop?

68 ↗(On Diff #12043)

static_cast? + ternary?

I've ran a 1vAI and the quick-hashes matched, as expected (full hashes don't match as serialisation is different).
Profiling on the following test map, no obvious difference in LOS computation despite LOS taking time.
A debug-hash rejoin test passed.

Last remaining issue:
There is something funky with serialization, I get semi-random memory-related crashes when loading saved game. Doesn't always happen though, and grid serialization appears to work. I'll debug that with fresher eyes.

source/graphics/tests/test_LOSTexture.h
46 ↗(On Diff #12054)

it's less than 256 wide :p

source/simulation2/components/CCmpRangeManager.cpp
798 ↗(On Diff #12054)

wouldn't work, need the index

wraitii edited the summary of this revision. (Show Details)Jun 3 2020, 9:57 PM
wraitii edited the test plan for this revision. (Show Details)


What I've used for profiling

nani added a subscriber: nani.Jun 3 2020, 10:41 PM
nani added inline comments.
source/simulation2/serialization/SerializeTemplates.h
74 ↗(On Diff #12054)

emplace_back

Stan added a comment.Jun 4 2020, 7:48 AM

This triggers a msvc warning :

https://jenkins.wildfiregames.com/blue/rest/organizations/jenkins/pipelines/vs2015-differential/runs/1732/nodes/36/log/?start=0
wraitii updated this revision to Diff 12124.Jun 4 2020, 9:01 AM
wraitii retitled this revision from Clean up the data structures in RangeManager to Clean up the data structures in RangeManager.

Fix the serialization mistake, found by adding some tests.
Touchup a few remaining issues.

Haven't been able to find the source of the MSVC warning because there is no line indication -_-

Stan added a comment.Jun 4 2020, 9:12 AM

Gonna build it on my end to see what's up :)

Stan added a comment.Jun 4 2020, 9:17 AM
15>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xutility(2766): warning C4800: 'const int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file ..\..\..\source\simulation2\components\CCmpRangeManager.cpp) [C:\Dev\trunk\build\workspaces\vc2015\simulation2.vcxproj]
     C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xutility(2780): note: see reference to function template instantiation 'void std::_Fill_unchecked1<_FwdIt,_Ty>(_FwdIt,_FwdIt,const _Ty &,std::false_type)' being compiled
             with
             [
                 _FwdIt=bool *,
                 _Ty=int
             ] (compiling source file ..\..\..\source\simulation2\components\CCmpRangeManager.cpp)
     C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xutility(2788): note: see reference to function template instantiation 'void std::_Fill_unchecked<bool*,_Ty>(_FwdIt,_FwdIt,const _Ty &)' being compiled
             with
             [
                 _Ty=int,
                 _FwdIt=bool *
             ] (compiling source file ..\..\..\source\simulation2\components\CCmpRangeManager.cpp)
     ..\..\..\source\simulation2\components\CCmpRangeManager.cpp(1798): note: see reference to function template instantiation 'void std::fill<std::_Array_iterator<_Ty,16>,int>(_FwdIt,_FwdIt,const int &)' being compiled
             with
             [
                 _Ty=bool,
                 _FwdIt=std::_Array_iterator<bool,16>
             ]
wraitii updated this revision to Diff 12125.Jun 4 2020, 9:22 AM

This should fix the MSVC warning, thanks Stan for debugging

Vulcan added a comment.Jun 4 2020, 9:27 AM

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/ICmpRangeManager.h
|  91| class·ICmpRangeManager·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpRangeManager:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpVisibility.cpp
|   1| /*·Copyright·(C)·2015·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2015"

source/simulation2/components/CCmpSoundManager.cpp
|   1| /*·Copyright·(C)·2018·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2018"

source/simulation2/helpers/Selection.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/graphics/tests/test_LOSTexture.h
|   1| /*·Copyright·(C)·2012·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2012"

source/graphics/tests/test_LOSTexture.h
|  25| class·TestLOSTexture·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestLOSTexture:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpRangeManager.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/serialization/SerializeTemplates.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/serialization/SerializeTemplates.h
|  33| template<typename·ELEM>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/simulation2/tests/test_SerializeTemplates.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/tests/test_SerializeTemplates.h
|  29| class·TestSerializeTemplates·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestSerializeTemplates:' is invalid C code. Use --std or --language to configure the language.

source/gui/ObjectTypes/CMiniMap.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/components/ICmpVisibility.h
|   1| /*·Copyright·(C)·2015·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2015"

source/simulation2/components/ICmpVisibility.h
|  35| class·ICmpVisibility·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpVisibility:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/CCmpUnitRenderer.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/helpers/Grid.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/helpers/Grid.h
|  33| template<typename·T>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2308/display/redirect

Silier added a subscriber: Silier.Jun 4 2020, 9:33 AM

static casts and years pls :)

In D2770#118273, @Angen wrote:

static casts and years pls :)

The casts are entirely removed upstream (in 2 diffs) and they're completely unreadable imo, so I'd prefer to leave them in as-is. I do need to check bump years.

Vulcan added a comment.Jun 4 2020, 9:46 AM

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/ICmpVisibility.cpp
|   1| /*·Copyright·(C)·2015·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2015"

source/simulation2/helpers/Grid.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/helpers/Grid.h
|  33| template<typename·T>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/simulation2/serialization/SerializeTemplates.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/serialization/SerializeTemplates.h
|  33| template<typename·ELEM>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpVisibility.h
|   1| /*·Copyright·(C)·2015·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2015"

source/simulation2/components/ICmpVisibility.h
|  35| class·ICmpVisibility·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpVisibility:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/CCmpSoundManager.cpp
|   1| /*·Copyright·(C)·2018·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2018"

source/simulation2/tests/test_SerializeTemplates.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/tests/test_SerializeTemplates.h
|  29| class·TestSerializeTemplates·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestSerializeTemplates:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpRangeManager.h
|  91| class·ICmpRangeManager·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpRangeManager:' is invalid C code. Use --std or --language to configure the language.

source/graphics/tests/test_LOSTexture.h
|   1| /*·Copyright·(C)·2012·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2012"

source/graphics/tests/test_LOSTexture.h
|  25| class·TestLOSTexture·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestLOSTexture:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/helpers/Selection.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/gui/ObjectTypes/CMiniMap.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/components/CCmpUnitRenderer.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/components/ICmpRangeManager.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2309/display/redirect

wraitii updated this revision to Diff 12269.Jun 12 2020, 5:49 PM

Check'em years.

Tried saving, loading, quicksaving, quickloading, rejointests, serialization tests, and a local MP game and ran into no issues. I'll commit this shortly.

For posterity, here are the profiling graphs on the LOS test map (see above) of SVN and this patch. i'm showing all message processing in the range manager, which overs position changes and the regular Update messages.

Stan added inline comments.Jun 12 2020, 6:04 PM
source/simulation2/components/CCmpRangeManager.cpp
884 ↗(On Diff #12269)

No LosVisibility::HIDDEN; ?

1609 ↗(On Diff #12269)

ternary here and below? or remove else

1767 ↗(On Diff #12269)
1792 ↗(On Diff #12269)

Useless const & for int see D14 for why

1834 ↗(On Diff #12269)

static_cast

1962 ↗(On Diff #12269)

& ?

1963 ↗(On Diff #12269)

static_cast here and below

2448 ↗(On Diff #12269)

static_cast

68 ↗(On Diff #12043)

Still accurate.

source/simulation2/helpers/Grid.h
119 ↗(On Diff #12269)

no std::function for that?

186 ↗(On Diff #12269)

&& ? else it creates an empty array no?

wraitii added inline comments.Jun 12 2020, 6:10 PM
source/simulation2/components/CCmpRangeManager.cpp
884 ↗(On Diff #12269)

Changed downstream.

1962 ↗(On Diff #12269)

we need mutability here.

68 ↗(On Diff #12043)

Still removed downstream so I'm not changing it now.

source/simulation2/helpers/Grid.h
119 ↗(On Diff #12269)

mmh, there actually probably is.

186 ↗(On Diff #12269)

It was like that in the constructor before, I think we take that as a feature.

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/ICmpVisibility.h
|  35| class·ICmpVisibility·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpVisibility:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpRangeManager.h
|  91| class·ICmpRangeManager·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpRangeManager:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/helpers/Grid.h
|  33| template<typename·T>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/simulation2/tests/test_SerializeTemplates.h
|  29| class·TestSerializeTemplates·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestSerializeTemplates:' is invalid C code. Use --std or --language to configure the language.

source/graphics/tests/test_LOSTexture.h
|  25| class·TestLOSTexture·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestLOSTexture:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/serialization/SerializeTemplates.h
|  33| template<typename·ELEM>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2409/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/tests/test_SerializeTemplates.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/tests/test_SerializeTemplates.h
|  29| class·TestSerializeTemplates·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestSerializeTemplates:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpVisibility.h
|   1| /*·Copyright·(C)·2015·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2015"

source/simulation2/components/ICmpVisibility.h
|  35| class·ICmpVisibility·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpVisibility:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpRangeManager.h
|  91| class·ICmpRangeManager·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpRangeManager:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/helpers/Grid.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/helpers/Grid.h
|  33| template<typename·T>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/simulation2/helpers/Selection.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/serialization/SerializeTemplates.h
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/serialization/SerializeTemplates.h
|  33| template<typename·ELEM>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpVisibility.cpp
|   1| /*·Copyright·(C)·2015·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2015"

source/graphics/tests/test_LOSTexture.h
|   1| /*·Copyright·(C)·2012·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2012"

source/graphics/tests/test_LOSTexture.h
|  25| class·TestLOSTexture·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestLOSTexture:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpRangeManager.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/components/CCmpSoundManager.cpp
|   1| /*·Copyright·(C)·2018·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2018"

source/gui/ObjectTypes/CMiniMap.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/simulation2/components/CCmpUnitRenderer.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2410/display/redirect

wraitii updated this revision to Diff 12277.Jun 13 2020, 10:34 AM

Accidentally undone the years change. Committing once CI is green.

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/ICmpRangeManager.h
|  91| class·ICmpRangeManager·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpRangeManager:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/tests/test_SerializeTemplates.h
|  29| class·TestSerializeTemplates·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestSerializeTemplates:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpVisibility.h
|  35| class·ICmpVisibility·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpVisibility:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/serialization/SerializeTemplates.h
|  33| template<typename·ELEM>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.

source/graphics/tests/test_LOSTexture.h
|  25| class·TestLOSTexture·:·public·CxxTest::TestSuite
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classTestLOSTexture:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/helpers/Grid.h
|  33| template<typename·T>
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'template<...' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2416/display/redirect

This revision was not accepted when it landed; it landed in state Needs Review.Jun 13 2020, 11:05 AM
This revision was automatically updated to reflect the committed changes.