Commit Graph

159 Commits (4531dc432e6990e67a7f3163d77f871f5679bdb6)

Author SHA1 Message Date
Fiftytwo 94aa76e7a1 Add auto object detection for takeoff, destroy, camerafocus 2017-11-30 20:41:44 +01:00
Fiftytwo 614dc5e591 Builder research 2017-11-23 00:11:29 +01:00
Fiftytwo 0b36bdf37f Quick fix for 9a33551 since I broke sth 2017-11-17 12:00:49 +01:00
Fiftytwo 9a33551a03 Reverted factory() to its original design; reworked syntax of other object.functions() accordingly; improved compatibility with CeeBot4 SCHOOL 2017-11-17 11:32:50 +01:00
Fiftytwo a024866fd3 Builder bots base implementation 2017-11-16 18:43:45 +01:00
krzys-h a95f736cbe Fix delete(this.id), closes #925 2017-06-03 20:05:54 +02:00
melex750 30210d0de7 Add searchall() and improve search() function 2017-05-25 02:01:42 -04:00
krzys-h 2d7911f155 Fix delete() in CBot not destroying PowerCells properly 2017-05-23 20:19:47 +02:00
krzys-h 108551c199 Fix @tomangelo2's code style
see 47a8f70f0f
2017-05-22 11:11:44 +02: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
tomangelo2 47a8f70f0f Display warning if there is not enough energy to shoot
Fix issue #949
2017-05-20 20:41:30 +02:00
tomangelo2 588bf30b94 Fixed some functions doesn't returning 0 if no error
Fix issue #917
2017-03-02 23:01:55 +01:00
krzys-h 1b074bd94d Fix crash on loading saves with produce()d objects (#765)
Thanks @melex750!
2016-11-11 13:38:43 +01:00
krzys-h a96835e35f Change CBot file log messages
Open mode is logged now. Additionally fixed incorrect file path in log when deleting files.
2016-09-30 17:08:37 +02:00
MatiRg d107605007 Add file append mode in CBot (#838) 2016-09-30 17:03:13 +02:00
krzys-h 4c8da2c503 LevelController improvements; minor EndMissionTake cleanup
* using LevelController script in the level doesn't forcefully disable EndMissionTake and AudioChange anymore
* cleaned up some code related to processing EndMissionTake commands
2016-04-08 20:56:09 +02:00
krzys-h 977607a934 Updated license headers 2016-02-13 14:11:30 +01:00
krzys-h 6bdebcf8e4 Fix delete() CBot command 2016-01-30 17:42:35 +01:00
krzys-h 048534e89d Fixed some errors reported by colobot-lint 2016-01-23 20:58:03 +01:00
krzys-h a70381e1c8 Refactored CBotVarClass instance list to std::set 2015-12-31 16:54:13 +01:00
krzys-h 07a4d6a16b CBot namespace 2015-12-26 14:29:10 +01:00
krzys-h 2519825104 CBotVar::ProtectionLevel enum 2015-12-21 23:07:40 +01:00
krzys-h 51644369cb Moved standard math and file functions into CBot library 2015-12-20 18:36:20 +01:00
krzys-h 9ec61d93e5 Refactored CBotString and const char* to std::string in CBot engine
A lot of changes, so it needs lots of testing
2015-12-20 16:19:10 +01:00
Grunaka ece0666954 Create new file CBot.h. Included only useful interfaces. 2015-12-01 23:25:36 +01:00
Grunaka 660f17454a Moving CBotVar class in its own header and source files. 2015-12-01 23:25:36 +01:00
Grunaka 77d738634c Moving CBotClass class in its own header and source files. 2015-12-01 23:25:35 +01:00
krzys-h 6492908cef Added radarall() (#624) 2015-11-22 14:10:45 +01:00
Piotr Dziwinski d11ebc891c Bring to zero some types of issues reported by colobot-lint 2015-10-04 00:09:10 +02:00
krzys-h 6711154762 Fixed produce() and NewScript not marking programs as loaded from level files (closes #613); refactored NewScript to std::vector and std::string 2015-08-29 16:52:07 +02:00
krzys-h 270c77da5b Fixed memory corruption in produce(), closes #600 2015-08-25 10:49:59 +02:00
krzys-h 07141f6d90 Fixed wrong energy level in CBot (mentioned in #601) 2015-08-24 21:14:19 +02:00
Piotr Dziwinski b93f610930 Fix license header in all files 2015-08-22 16:40:02 +02:00
Piotr Dziwinski a63a959dbe Apply clang-modernize -use-nullptr 2015-08-17 22:40:52 +02:00
krzys-h 1059ae37c1 Shielder subclass 2015-08-17 14:06:31 +02:00
krzys-h 63bee182d2 Moved SetFixed/GetFixed to CBaseAlien 2015-08-17 13:19:21 +02:00
krzys-h ad84478c71 Removed Get/SetInfoReturn 2015-08-17 11:44:05 +02:00
krzys-h 3f303ea824 Removed some unneccessary includes 2015-08-16 16:35:39 +02:00
Piotr Dziwinski 2289d69735 Replace NULL -> nullptr 2015-08-16 12:43:42 +02:00
krzys-h 0eaf0d6f65 Split Programmable and ProgramStorage 2015-08-15 21:29:08 +02:00
krzys-h 856c5baa0e Removed CTaskManager 2015-08-15 20:30:15 +02:00
krzys-h 9a15db1bea Split global.h 2015-08-15 14:02:07 +02:00
krzys-h 57646c0c7b Refactored object creation 2015-08-14 18:20:44 +02:00
krzys-h bfd3a5b23c Refactored ExplodeObject 2015-08-13 18:54:44 +02:00
krzys-h e5e1d4973f CDestroyableObject, CFragileObject, CShieldedObject and CShieldedAutoRegenObject 2015-08-13 13:41:25 +02:00
krzys-h ff957afefc Moved files not directly related to CObject into src/level/ directory 2015-08-13 11:47:32 +02:00
krzys-h e937db94c8 Moved GetPhysics() and GetMotion() to CMovableObject; moved trace drawing to CTraceDrawingObject 2015-08-13 10:49:45 +02:00
krzys-h f7d2f501bb Moved common interface implementations to separate classes
Additionaly, merged all "inappropariate bot" errors into one and renamed ERR_GENERIC -> ERR_UNKNOWN
2015-08-12 16:54:44 +02:00
krzys-h a9673d5f72 Moved StartDetectEffect to CRobotMain 2015-08-11 23:13:57 +02:00
krzys-h 7e18757d29 CScript user pointer cleanup; moved some functions from COldObjectInterface to main CObject
* moved (Get|Set)Clip [renamed to (Get|Set)Collisions], (Get|Set)Team, (Get|Set)Proxy(Activate|Distance) and GetBotVar to main CObject class
* refactored scripting to pass CScript* as the user pointer, removing the need for GetRunScript()
* changed accessing of "object" class in CBot to use ->GetUserPtr()
* refactored object limits to remove (Start|Stop)ShowLimit from COldObject
* added notes on possible interfaces for most of the other COldObjectInterface functions
2015-08-11 17:51:39 +02:00
krzys-h 15c1c7ee03 CMovableObject, CControllableObject 2015-08-10 23:21:15 +02:00
krzys-h abb272600e Merged CBrain into CProgrammableObject 2015-08-10 18:16:00 +02:00
krzys-h 3a5f618f65 CTaskExecutorObject interface; some general task and CBrain cleanup 2015-08-10 13:46:39 +02:00
krzys-h 73e0abc510 Fixed AlienQueen crash 2015-08-10 13:33:11 +02:00
krzys-h 47d79c9977 Added #Include support in level files 2015-08-05 19:27:26 +02:00
krzys-h 72210d523f Fixed this.orientation values outside of 0-360 range 2015-08-03 23:10:24 +02:00
krzys-h 4bdadc8cc8 Updated help file paths 2015-08-03 20:23:35 +02:00
Piotr Dziwinski 11b0398c03 Include refactoring
* reordered includes according to correct style
 * removed some unnecessary includes
2015-08-02 17:49:07 +02:00
krzys-h dfd73118a6 Added flatspace()
Works like space(), but makes sure there is enough flat space for building
2015-07-22 18:26:05 +02:00
krzys-h 393317fa48 Added researched(), canresearch() and buildingenabled()
closes #524
2015-07-22 17:08:51 +02:00
krzys-h d5d8c0b29f Removed the need for progfunc() in object.factory()
Changes to object.factory():
* The second argument will be automatically interpreted as public function name, file name or program code
* The program starts earlier (when the robot is ready, not when the doors open)
* Refactored to std::string
2015-07-22 16:16:16 +02:00
krzys-h 329393a65a Added object.velocity, closes #523 2015-07-22 13:46:13 +02:00
krzys-h abdb4e9782 Moved "object" class management to CScriptFunctions 2015-07-22 13:25:51 +02:00
krzys-h 347654db15 Refactored CBot class "file" to PHYSFS 2015-07-19 22:34:41 +02:00
krzys-h 0554a77813 Refactor reading "object" class in CBot 2015-07-19 21:53:08 +02:00
krzys-h 264f5dc278 Removed obsolete save directory configuration
This was used in one of the CeeBots probably for setting up networked installations in schools. This is now obsolete since now those are only paths relative to main PHYSFS save directory.
2015-07-19 16:05:09 +02:00
krzys-h c8f6e8124e Replaced CLogger::GetInstancePointer() calls with GetLogger() 2015-07-16 22:12:44 +02:00
Piotr Dziwinski d5da68d59a Refactor old Get/SetAngle/Zoom -> Get/SetPartRotation/Scale 2015-07-14 21:35:43 +02:00
krzys-h 4506a4b8bd TraceColor enum 2015-07-14 13:53:50 +02:00
krzys-h 78f4749134 Disallow controlling enemy objects from CBot 2015-07-13 18:53:56 +02:00
krzys-h 0e66104829 Hacked CBot engine to get pointers to CObject* in calls to class members 2015-07-13 18:40:13 +02:00
krzys-h 79c131394d Separate DoneResearch for teams 2015-07-13 18:13:28 +02:00
krzys-h 3479c51bb9 Refactored EnableBuild, EnableResearch and DoneResearch
* Moved from global variables to CRobotMain members
* Added functions for accessing the values
* Cleaned up some code related to building objects, BotFactory, ResearchCenter and AutoLab
2015-07-13 17:38:19 +02:00
Piotr Dziwinski e72936c240 Clean up more functions from COldObjectInterface 2015-07-12 20:05:12 +02:00
Piotr Dziwinski 9a7c1961a4 GetPostion(), GetRotation() and GetScale() in CObject interface
Also replace old calls like GetPosition(0) to GetPosition()
2015-07-12 11:05:50 +02:00
Piotr Dziwinski 5d30de0d09 CProgrammableObject interface 2015-07-10 20:46:33 +02:00
Piotr Dziwinski 9b232ee3f5 Sound enum refactoring
* rename Sound -> SoundType
 * add parsing string to SoundType
2015-07-09 21:32:25 +02:00
krzys-h 5da4adad41 Added Any constant in CBot 2015-07-07 19:01:18 +02:00
krzys-h 79c5fabfe6 Support for team filters in radar() 2015-07-07 18:54:36 +02:00
krzys-h 9a873c9bea Added object.team in CBot 2015-07-07 18:11:28 +02:00
krzys-h a32efc09a2 Refactored EndMissionTake and AudioChange 2015-07-07 16:17:19 +02:00
dreamer.dead 958ef43c1e Address review remarks, fix names and errors in code. 2015-07-06 22:00:33 +03:00
dreamer.dead b3c2d2c450 Set CBotVar::m_binit type to specific enum instead of plain int. 2015-07-05 23:39:55 +03:00
Piotr Dziwinski b00d62b9bb Further cleaning of CObject interface
* remove unused functions/members
 * delegate some functions to other objects
 * change some names to be more meaningful
2015-06-29 22:46:13 +02:00
Piotr Dziwinski f871ba4729 Create CExchangePost subclass 2015-06-27 23:22:55 +02:00
krzys-h 4fc8364136 Fixed Destroyer object destruction (fixes #308) 2015-06-26 19:20:16 +02:00
Piotr Dziwinski 67be6fca2a CObject interface cleanup
* remove unused functions and members
 * make protected functions used only locally or in factory
 * rename some functions to be more meaningful
 * refactor some enums to enum classes
2015-06-25 20:43:50 +02:00
Piotr Dziwinski 7814c0c7bd Remove unused field "material" from CObject class in CBot 2015-06-25 18:07:48 +02:00
Piotr Dziwinski 0c9a9bce98 Proper CObject lifetime management
CObjectManager is now the only class responsible for storing CObjects
2015-06-21 15:13:55 +02:00
Piotr Dziwinski fed67e6640 Rename objman.h/cpp -> object_manger.h/cpp 2015-06-20 20:02:40 +02:00
Piotr Dziwinski f9b09d08f0 Create CObjectFactory
* move functions creating objects to new class CObjectFactory
 * replace calls to CObject::Create*() with CObjectManager::Create()
 * move creation/deletion of some objects to better places
 * make CModelManager non-singleton
 * clean up some code in changed functions
2015-06-20 19:37:25 +02:00
Tomasz Kapuściński f69dfe3421 shield() rejects incorrect robots that try to invoke it (should fix #475) 2015-05-28 14:03:05 +02:00
Tomasz Kapuściński 361a8c4ddd Another fix to warning 2015-05-19 17:24:07 +02:00
Tomasz Kapuściński 3a1dffd8df Fixing some warnings 2015-05-19 17:15:08 +02:00
Tomasz Kapuściński c28e1f6150 Added CBot functions for rounding: floor(), ceil(), round(), and trunc() 2015-05-06 23:29:55 +02:00
Tomasz Kapuściński 1db9d8bdca Changed CBot file handling, potentially solved problems with 64-bit executables 2015-05-06 20:39:09 +02:00
Tomasz Kapuściński 05bf5be6f4 Added atan2() function to CBot 2015-05-06 13:02:44 +02:00
Piotr Dziwinski 544e513148 Minor MSVC compilation fixes 2015-04-27 18:17:03 +02:00
krzys-h 87ccb759e6 Allow Tech to use build(), closes #461 2015-04-18 11:40:42 +02:00
krzys-h a3ae7802a2 New scripts interface, removed script limit
This is a big change in game structure and requires more testing!
2015-03-29 14:21:02 +02:00