Commit Graph

197 Commits (3f57aab406bee0a7ee89c40dbc4101741936d294)

Author SHA1 Message Date
Piotr Dziwinski 5d30de0d09 CProgrammableObject interface 2015-07-10 20:46:33 +02:00
krzys-h 26619e3f88 Removed old level parser functions (cmdtoken.cpp) 2015-07-10 11:51:59 +02:00
krzys-h e6c6b77be2 Removed old Teen objects
The models for them were removed a looong time ago, but the code was left for no reason
2015-07-10 11:37:32 +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 8806d1708d Proper CAuto, CBrain, CMotion, CPhysics, CPyro lifetime management
* change manual memory manament to std::unique_ptr
 * create CPyroManager
 * finally get rid of CInstanceManager
2015-06-22 21:58:58 +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
krzys-h 47ed73247b Use std::wstring in boost::filesystem calls on Windows, fixes #414 2015-03-22 13:36:23 +01:00
krzys-h 2b21f5f40c Fixed another Travis problem (#393) 2015-03-21 17:29:17 +01:00
krzys-h f582b58c2e Fixed "files" directory creation
Related to #444
2015-03-08 16:21:09 +01:00
krzys-h f54b46b61d CPathManager
* Moved path management from CApplication to CPathManager
* Moved %lvl% replacements from CParserParam to CPathManager
* Added %lvl% support in produce(), closes #426
2015-03-08 15:22:21 +01:00
Tomasz Kapuściński 03bb000e82 Revert "Potential fix to Travis build fails"
This reverts commit ed0e5dfef5.
2015-01-31 11:55:37 +01:00
Tomasz Kapuściński ed0e5dfef5 Potential fix to Travis build fails 2015-01-30 22:13:07 +01:00
krzys-h 0ee86c3d15 Fixed loading scripts in produce() (#418) 2015-01-08 19:21:02 +01:00
krzys-h 61b186343f Fixed #424, #423 and probably #421 2015-01-08 18:56:26 +01:00
krzys-h 4fef3af9ef Moved all CObject management from CInstanceManager to CObjectManager 2014-12-21 19:04:31 +01:00
krzys-h e8a0dc8ddb CObjectManager::Radar 2014-12-20 20:36:09 +01:00
krzys-h c5b6faea05 Refactored CObjectManager to std::map 2014-12-20 19:09:53 +01:00
krzys-h 58bc01c82c Removed unused script/dd.cpp 2014-12-20 18:48:44 +01:00
krzys-h 07c651bd0a Moved all CBot functions into a separate class 2014-12-20 18:45:46 +01:00
krzys-h af9960d41e Fixed saving files from CBot 2014-12-20 18:20:59 +01:00
krzys-h ce27a80caa Moved "file" CBot class (CRobotMain -> CScript) 2014-12-20 18:03:49 +01:00
tomangelo2 7b03479a85 Fixed #386 2014-11-12 10:07:25 +01:00
krzys-h abcbaa1902 Fixed running programs with long names (#379) 2014-11-10 22:42:05 +01:00
krzys-h f65b00089a Merge branch 'dev' into dev-physfs
Conflicts:
	data
2014-10-14 15:42:19 +02:00
krzys-h 9fd6cf5449 Changed all occurences of PPC in the code to TerranovaTeam 2014-10-14 15:26:18 +02:00
krzys-h 740036e430 New level parser
Known issues:
* TerrainLevel for some reason doesn't work
* %lvl% is not yet implemented everywhere because of hardcoded directories in functions
2014-09-24 22:56:19 +02:00
krzys-h 96d49d84aa Merge branch 'dev' into dev-physfs
Conflicts:
	data
	src/app/gamedata.cpp
	src/ui/control.cpp
	src/ui/edit.cpp
	src/ui/maindialog.cpp
2014-07-11 15:24:44 +02:00
krzys-h bc3b7ef283 Fixed negative parameter in fire() (issue #305)
Also fixed checking parameter count and type for ants, spiders and shooters
2014-06-26 21:06:53 +02:00
Krzysztof Dermont 3aca1de731 More work on levels 2014-06-22 21:30:23 +02:00
Krzysztof Dermont 2260f6bf4f Big part of PhysFS support
* removed -mod argument
* removed -datadir argument
* removed -lang argument
* removed some dead ui code
* added resource manager and file loaders (stream and SDL)
* changed interface textures location to match new directory structure
* removed CGameData for mod support
* added PhysFS support
2014-06-20 23:51:28 +02:00
krzys-h f0d97bfdb9 Better datadir mod support 2014-05-18 12:12:47 +02:00
Oleg Kosmakov a2a4eb75cb Whitespace 2014-03-21 13:22:02 +02:00
Oleg Kosmakov 119fce546a Issue #295 - continue
Renamed the method, fixed typo in comments
2014-03-21 13:18:28 +02:00
Oleg Kosmakov 7485ed790c Fixes #295
When cannon cannot turn at specified angle, it will still reach the edge angle, but return the error code
2014-03-21 13:08:36 +02:00
krzys-h fbe2bf8bc7 Added special mode in scene for bots to build more buildings than they usualy can
Will be used in "Leaving Earth" missions for making decorative bots building base
2014-03-03 21:55:28 +01:00
Piotr Dziwinski 181a404930 Fixed warnings about unknown commands in scene files 2014-01-18 19:24:08 +01:00
krzys-h 652dc6081d Removed some unused objects 2014-01-11 23:43:10 +01:00
krzys-h d855586674 Fixed a bug from 59935b4706
Cmd() now checks if length of token we're looking for is equal to token we've found
2014-01-11 18:22:37 +01:00
krzys-h 59935b4706 Changed comments in ObjectType to be object categories; removed unused SEAWEED 2014-01-01 17:33:19 +01:00
krzys-h 90437d1765 Fixed two bugs in dc81cda4b1
* win/end scene animations
* produce() was producing empty cells
2014-01-01 16:45:08 +01:00
krzys-h 3d7017525b Added camerafocus() for changing camera 2013-12-31 19:09:54 +01:00
krzys-h 4a237f5925 CPauseManager 2013-12-31 13:24:09 +01:00
krzys-h 12e17224b3 Added nullptr shecks to object.factory()
Trying to fix #275
2013-12-29 16:31:32 +01:00
krzys-h a36450a6da Added tool= i drive= 2013-12-29 15:03:21 +01:00
krzys-h dc81cda4b1 Cleaned up creating objects 2013-12-29 12:08:59 +01:00
krzys-h 0d31f59b12 .takeoff() for SpaceShip (#265) 2013-12-26 18:50:05 +01:00
krzys-h f1e267b18e Fixed bug #240 - CAuto in produce() 2013-12-25 19:13:15 +01:00
Piotr Dziwinski 8deb130572 Changed char[] to std::string in restext
Experimental changes
2013-12-04 00:15:39 +01:00
Piotr Dziwinski 5d0d9b5aa5 Fixed some CBot-related memory leaks
* fixed leaks in CScript::CheckToken()
 * fixed leaks in CInterface
 * commented out unused function in robotmain.cpp
2013-10-12 18:50:30 +02:00
erihel 41fa8458c2 Some Ui refactoring 2013-06-24 22:09:39 +02:00
Piotr Dziwinski 8765d58b02 Fixed code formatting
* moved braces to new lines
 * fixed some function/variable names
 * fixed whitespace issues
2013-05-27 10:19:16 +02:00
Piotr Dziwinski 538745a731 Fixed some compilation warnings
* fixed warnings about hiding virtual functions and several others
2013-05-27 10:19:04 +02:00
krzys-h f90a4b48f5 Added object.research(type) 2013-05-19 21:48:29 +02:00
krzys-h 6798641a71 Translated <erreur> and <sans nom> 2013-05-19 17:03:55 +02:00
krzys-h 6b25608e69 Added progfunc( funcname );
For simple creating of programs executing public functions :)

Example:

    public void object::SecondBot()
    {
        message("It works!");
    }
    extern void object::FirstBot()
    {
        object item = radar(BotFactory);
        item.factory(WheeledGrabber, progfunc("SecondBot"));
    }
2013-05-19 16:56:08 +02:00
krzys-h b9d0ee034e Running program in robots created using object.factory() 2013-05-19 16:27:33 +02:00
krzys-h 7662f312b3 Changed "Inappropariate bot"->"Inappropariate object" in newly added functions 2013-05-18 18:29:07 +02:00
krzys-h 58cc0603cc Fix for build() not being able to build Detroyer 2013-05-18 18:04:48 +02:00
krzys-h 796cb92ffc Added object.destroy() 2013-05-18 18:04:48 +02:00
krzys-h d0de6a88ba Renamed destroy() -> delete() 2013-05-18 18:04:48 +02:00
krzys-h 8004e68948 Added object.busy() 2013-05-18 18:04:48 +02:00
krzys-h 47d7b80507 Added object.factory(cat) 2013-05-18 18:04:48 +02:00
krzys-h 61841b3f40 Backwards combatibility for retobject() (#209) 2013-05-12 15:54:35 +02:00
krzys-h 1f77efb9cb Fixed bug with std::bad_alloc when using produce()
I'm not sure why it wasn't happening before, but it's fixed :)
2013-05-12 15:38:09 +02:00
krzys-h fcb052cc8d Added [set/get][build/research[done/enable]] ( ); function fo CBot
* setbuild ( );
* setresearchdone ( );
* setresearchenable ( );
* getbuild ( );
* getresearchdone ( );
* getresearchenable ( );
2013-05-05 14:44:51 +02:00
krzys-h fb5d14dddf Functions playmusic(filename, repeat) and stopmusic()
for MissionController
Parameter repeat can be 0 or 1
2013-05-01 22:11:08 +02:00
krzys-h 9e1870f6bd Removed some warnings
+ fix for previous commit
2013-05-01 13:19:10 +02:00
krzys-h 643153d64d Added function endmission()
Works only with MissionFile version=3
Created for MissionController, but works on any bot
- 1st parameter:
* ResultWin - win mission
* ResultLost - lost mission
* ResultLostQuick - lost mission (Me died)
- 2nd parameter: win/lost delay, like in mission file. Doesn't work for ResultLostQuick.
Please don't use for cheating =)
2013-04-30 21:43:59 +02:00
krzys-h 75950c55ba MissionController improved 2013-04-29 17:26:32 +02:00
XienDev 6a4ac9ce16 Added functions "canbuild(category)" and "buildinfo(category)"
Also fixed issue with undefined behaviour of build(category) function
2013-04-28 16:49:48 +03:00
XienDev 41fb814e99 Added build
Third patch
2013-04-27 18:11:26 +03:00
erihel a693e87293 * Patch for issue #167 2013-04-27 13:03:20 +02:00
krzys-h 69e52e5f24 Removed find() & repeat() functions
Issue #168
2013-04-12 23:28:44 +02:00
krzys-h 0d70b6e2f8 More parameters to destroy()
Also, removed some warnings in script.cpp
2013-03-31 12:04:12 +02:00
krzys-h 90301e24c0 Added field "item" to class "object" in CBot 2013-03-31 10:21:22 +02:00
krzys-h 040a7e8f24 Added function destroy(rank) 2013-03-30 15:43:09 +01:00
krzys-h 8777c126de Added SatCom translations 2013-03-29 10:03:35 +01:00
krzys-h c6d89f6210 Revert "Fix for #30"
This reverts commit bfdd52ade0.
That wasn't working. :(
2013-03-27 21:58:34 +01:00