Commit Graph

157 Commits (e5d994b9e27622518446b28b241b5e7578796b85)

Author SHA1 Message Date
suve fc2bd68876 Fix missing std includes 2020-02-09 00:36:05 +01:00
tomangelo 51cde3c868
Merge branch 'dev' into dev-savegame 2020-01-02 15:00:33 +01:00
B-CE 17d85eb434 Translate french comments + correct typo 2019-06-19 08:50:47 +02:00
melex750 17d0d2abb1
Fix compiling literal numbers 2019-05-12 08:33:53 -04:00
melex750 5f089f4a9b Fix and improve switch...case (#1008) 2019-04-11 05:34:00 -04:00
melex750 1058a326ad Add binary and character literals in CBOT 2019-04-11 05:14:11 -04:00
melex750 bc572aa52f Add sizeof() operator for numeric data types 2019-04-11 04:21:22 -04:00
melex750 c0cdd84e85 Add missing primitive data types in CBOT 2019-04-11 04:19:29 -04:00
melex750 250ea57e8b Fix arithmetic operations with integers (#993)
Also fixed unsigned right shift operator ">>>"
2019-04-11 04:15:27 -04:00
krzys_h 5283865a5c
Merge pull request #1136 from colobot/dev-cbot-optimizations
Some CBot code optimizations
2018-05-07 20:53:52 +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 1c2bdc9cab Update license headers 2018-04-20 02:08:50 +02:00
krzys-h 477dc0cae7 Some CBot code optimizations 2018-04-06 15:02:06 +02:00
melex750 a9e0874abc Fix 'this' for object:: functions
Fixes #672
Fixes #1026
2017-10-24 04:46:07 -04:00
melex750 c03dfc1284 Add escape codes for string literals 2017-07-22 14:29:05 -04:00
melex750 15b8cf7f78 Update object variable when concatenating strings 2017-05-25 02:09:44 -04:00
Abigail 11d950221b Fix all compiler warnings and enable -Werror (#955)
This removes all compilation warnings on:
* g++ 4.7.4, 4.8.5, 4.9.4, 5.4.1, 6.3.0, 7.0.1-svn246759
* clang++ 3.9.1, 4.0.0, 5.0.0-svn303007
2017-05-22 11:10:35 +02:00
melex750 f80db9e8fb Fix using negative numbers in default arguments
Issue #919
2017-03-03 02:11:10 -05:00
melex750 b032dad578 Fix execution of default arguments 2017-03-03 01:09:09 -05:00
melex750 92a8c48953 Add syntax for parameters with default values
Also fixes #642
2017-01-24 15:19:03 -05:00
melex750 baba6081b3 Add checking for return statements in functions
issue #30
2017-01-24 14:41:22 -05:00
melex750 2ff8251a81 Fix game crashing with syntax errors 2017-01-24 13:47:00 -05:00
melex750 8e54f7ca9c Fix memory leaks in CBOT engine 2017-01-16 21:16:59 +01:00
melex750 64bc1f1afb Fix constructor/destructor and field syntax 2017-01-16 21:16:59 +01:00
melex750 8fc0151444 Fix increment and decrement syntax 2017-01-16 21:16:59 +01:00
krzys-h e325efa447 Fix crash after precompiling a CBot class with errors (#881) 2016-12-27 13:23:41 +01:00
krzys-h 88c6818cfd Fix code style issues 2016-11-26 13:48:12 +01:00
krzys-h b49fbf0cd6 Another this==nullptr fix (#828) 2016-11-11 22:58:39 +01:00
krzys-h 48f703282e Refactor CBotCallMethode -> CBotExternalCall 2016-11-11 21:58:25 +01:00
krzys-h 6b7233c6ae Remove CBotLinkedList from CBotFunction
Fixup for 191151eb7b
No idea how I managed to forget that
2016-11-11 19:47:59 +01:00
krzys-h 191151eb7b Refactor CBotClass and CBotFunction list to std::list 2016-11-11 19:37:19 +01:00
krzys-h 266b34d578 Make CBotFunction implement CBotLinkedList 2016-11-11 18:16:12 +01:00
krzys-h 8764d28e9e Remove remaining "this != nullptr" checks in CBOT, closes #828 2016-11-11 18:03:46 +01:00
krzys-h ca548e2902 Update CBotFieldExpr::ProtectionError docs 2016-09-24 17:04:47 +02:00
melex750 9ab7f7d140 Fix access to protected and private variables 2016-09-17 08:00:34 -04:00
melex750 3debfb9182 Fix finding in-class methods when searching by ID 2016-09-17 07:59:34 -04:00
melex750 4a14a44f3f Add implicit cast and null for passing arguments 2016-09-17 07:58:39 -04:00
melex750 3146d4ef35 Add method chaining for class constructor calls 2016-08-14 16:56:17 -04:00
krzys-h b9d4d57e33 Syntax sugar: Accessing members of returned objects (#808)
Conflicts:
	src/CBot/CBotInstr/CBotInstrMethode.h
2016-08-09 20:28:37 +02:00
Jeremy Mickelson 6b8e240d26 Fix implicit downcast with variable initialization 2016-08-07 08:27:01 -04:00
melex750 a205eace38 Add missing license headers 2016-08-06 16:29:02 -04:00
melex750 e48188b429 Fix failed assert when literal null is returned 2016-08-06 04:56:57 -04:00
melex750 fad38cd0e9 Add accessing members to function calls 2016-08-04 03:16:59 -04:00
melex750 c9c02f5461 Fix assigning instance to pointer for inheritance 2016-08-04 01:06:37 -04:00
melex750 d0a8a32a57 Fix RestoreMethode when calling inherited methods 2016-08-03 18:34:39 -04:00
melex750 64157090e6 Fix crash when calling method on a null object 2016-06-24 17:18:11 -04:00
melex750 51665e8396 Fix "new" keyword syntax checking 2016-06-24 17:03:50 -04:00
melex750 66984a4bb3 Fix using compound-assignment with an array
...that was initialized in the definition
2016-06-24 17:00:41 -04:00
melex750 0d74b4f36b Fix initializing an array using variables
Resolves a conflict between CBotListArray and CBotExprVar
2016-06-24 16:56:17 -04:00
melex750 37ab015c8d Fix conversion to string with = operator 2016-05-29 06:55:28 -04:00