Commit Graph

2888 Commits (8b86a1f222e44060400602844dc607d7a82aa1c1)

Author SHA1 Message Date
krzys_h 8b86a1f222
Merge pull request #1142 from AbigailBuccaneer/Wmissing-declarations
Compile with -Wmissing-declarations
2018-04-24 14:12:43 +02:00
krzys_h 6289ea91b1
Merge pull request #1140 from AbigailBuccaneer/Wsuggest-override
Compile with -Wsuggest-override under GCC
2018-04-24 14:12:31 +02:00
krzys_h 289b6577d5
Merge pull request #1139 from AbigailBuccaneer/clang-7
Fix building under clang-7
2018-04-24 14:12:15 +02:00
krzys_h 419c430f7e
Jenkinsfile: Make colobot-lint use Clang flags 2018-04-23 19:03:38 +02:00
AbigailBuccaneer ea64edaa0b Compile with -Wmissing-declarations
-Wmissing-declarations enforces that every function (except for static
functions) must be declared separately before it's defined. This
essentially enforces that every function must be either static, or
declared in a header elsewhere.

This helps the optimizer, as it can do a better job of inlining if it
knows that a function won't be used outside of a given file. It also
helps -Wunused-function (which is enabled by -Wall) find more unused
functions.

Note that Clang spells this option -Wmissing-prototypes, which
confusingly is the name of a related but different warning option under
GCC.
2018-04-21 16:49:27 +01:00
krzys-h e964d3e48c Fix colobot-lint warnings 2018-04-20 02:21:12 +02:00
krzys-h 1c2bdc9cab Update license headers 2018-04-20 02:08:50 +02:00
krzys-h 9f1bd2176f Jenkinsfile: Run colobot-lint 2018-04-20 02:08:50 +02:00
krzys_h 72417fc28b
Jenkinsfile: Switch to declarative syntax
* Switch to declarative syntax
* Test parallel Windows/Linux build
* Remove some hard drive restrictions as now I have more HDD space on the server
2018-04-19 22:11:29 +02:00
AbigailBuccaneer 6978c28ee0 Compile with -Wsuggest-override under GCC
Clang by default compiles with -Winconsistent-missing-override, which
warns when a class declares virtual functions that override those in the
base class, and some but not all of them are explicitly declared
`override`.

GCC doesn't support this option, but has a stronger version,
-Wsuggest-override. In combination with -Werror, this means that any
virtual function that overrides another *must* be explicitly declared as
`override`.

This commit enables -Wsuggest-override where available. This means that
GCC users can't break the Clang build with inconsistent overrides (see
 #1113 and #1114) and consequently that any build that passes the pull
request CI build on Jenkins won't break because of inconsistent
overrides.
2018-04-19 19:58:44 +01:00
AbigailBuccaneer 5cec29f4e6 Fix building under clang-7
Currently the build fails because of -Wdelete-non-virtual-dtor warnings.
This catches when an object is destructed, has a non-virtual destructor,
and is an abstract base class or a non-final class with virtual
functions. The warning happens inside unique_ptr<T>::~unique_ptr.

The warning is to prevent somebody writing code like this:

    class MySceneEndCondition : public CSceneEndCondition {
        ~MySceneEndCondition() { /* some complex logic */ }
    };
    // this won't call MySceneEndCondition's destructor, potentially
    // leading to leaks or segfaults:
    std::unique_ptr<CSceneEndCondition> p{new MySceneEndCondition()};
2018-04-19 10:19:05 +01:00
krzys_h 0391aaf773
Merge pull request #1114 from B-CE/dev
Fix#1113 - a missing override keyword
2018-04-05 10:24:19 +02:00
B-CE 0e6d22a549 Fix clang compilation, fixes #1113 2018-03-12 12:42:22 +01:00
krzys-h adda82819c Post-release 0.1.11-alpha 2017-11-10 11:01:25 +01:00
krzys-h b5cc7689d1 Release 0.1.11-alpha: Bump version 2017-11-10 11:01:25 +01:00
krzys-h b143aa38ac Release 0.1.11-alpha: Merge branch 'dev' 2017-11-10 11:01:24 +01:00
krzys-h 611c353060 Update release script 2017-11-10 11:01:09 +01:00
krzys-h f87aa15bb2 Update data submodule 2017-11-10 09:28:39 +01:00
krzys-h 5f5e5234fc Fix CEdit background margins, closes #1029
This mismatch happened after changes in 08d87fa975
2017-11-04 11:56:15 +01:00
krzys-h 5021a4091e Update data submodule 2017-11-04 11:42:27 +01:00
krzys-h b89b0d2703 Update data submodule 2017-11-04 11:35:40 +01:00
krzys-h 12dd96c3b2 Update data submodule 2017-11-04 11:28:24 +01:00
krzys_h d3b969fb4d
Merge pull request #992 from DavivaD/dev-dmgalarm-st2
Damage Alarm Implementation (2th Stage)
2017-11-04 11:27:14 +01:00
krzys_h 17d47e9b63
Merge pull request #1040 from melex750/dev
Saved game bug fix
2017-11-04 11:24:09 +01:00
krzys-h 387b7b5396 Fix non-scoreboard code battles, closes #1023 2017-11-04 11:23:17 +01:00
melex750 d357de1438 Save object lifetime and abstime
Fixes #1006
2017-10-24 05:12:19 -04:00
melex750 1eee06d9f9 Keep mission history after loading a crashsave
Fixes #812
2017-10-24 04:55:22 -04:00
melex750 a9e0874abc Fix 'this' for object:: functions
Fixes #672
Fixes #1026
2017-10-24 04:46:07 -04:00
krzys_h 6b1dd5dd8b Merge pull request #994 from DavivaD/dev-issue-658
Thumper & Recycler Enhancements.
2017-10-22 18:22:06 +02:00
krzys_h ee0f3ff5fd Merge pull request #1022 from immibis/dev
Fix horizontal scrolling of planets and background images
2017-10-22 18:21:49 +02:00
krzys_h 9448f6712f Merge pull request #1004 from melex750/dev-cbot
Escape codes for strings in CBOT
2017-10-22 18:20:50 +02:00
krzys_h 0a83508547 Merge pull request #985 from melex750/dev
Bug fix for CStudio
2017-10-22 18:20:35 +02:00
DavivaD 2a0c2c38f0 Make shortcut blink in red 2017-10-17 02:35:33 +02:00
melex750 bf69b86233 Fixed shortcut not changing to normal state 2017-10-17 02:33:05 +02:00
tomangelo2 dab223e6ce Clamp energy level to standard values for OrgaShooters
Fix issue #1009
2017-10-16 20:29:59 +02:00
tomangelo2 f40756bc46 Fix turn(1) doesn't draining energy
Fix using @Melex750 example, thanks!
Fix issue #136
2017-10-11 18:50:57 +02:00
immibis 8b0ccf6667 Fix horizontal scrolling of background images. 2017-08-05 20:08:00 +12:00
immibis 2e8798b33d Make planets stay in one place in the sky - at least in the X direction. 2017-08-05 20:08:00 +12:00
immibis 2751db3245 Add horizontal FoV to CEngine 2017-08-05 19:45:08 +12:00
DavivaD ee35d35db3 Correct Small Mistake 2017-07-27 02:02:46 +02:00
DavivaD 959854ec59 'Make Thumper Great Again' 2017-07-26 23:05:53 +02:00
tomangelo2 0de347d430 Fixed goto() behaviour on 32-bit binaries
Closes issue #844
2017-07-26 14:54:04 +02:00
DavivaD a4482f1a7c Decrease radius of squashing items. 2017-07-24 23:20:21 +02:00
melex750 e3c44e956f Add syntax highlighting for escape codes 2017-07-22 14:30:05 -04:00
melex750 c03dfc1284 Add escape codes for string literals 2017-07-22 14:29:05 -04:00
DavivaD b5e0f9966f Make Recycler Recycle small Building Ruins. 2017-07-21 20:37:18 +02:00
DavivaD bef6e9eceb Make Thumper Squash transportable/small objects. 2017-07-21 20:36:31 +02:00
melex750 86870167a6 Fix moving and resizing open/save dialog
* Fixed buffer overflow when resizing
* Stop hard drive thrashing when moving/resizing
2017-06-26 14:19:53 -04:00
melex750 2d2990ff91 Fix moving and resizing editor/debugger window
* Stop hard drive thrashing when moving/resizing
* Also fixed #691.
2017-06-26 14:11:47 -04:00
DavivaD a29a4f93ac Damage Alert Implementation (2th Stage) 2017-06-20 23:35:33 +02:00