Commit Graph

171 Commits (6a0234edd5172f9eb3b2e241ef50584b92567fea)

Author SHA1 Message Date
krzys-h 9a15db1bea Split global.h 2015-08-15 14:02:07 +02:00
Piotr Dziwinski efedb44cce Add proper initializations and remove manual memory management in remaining classes
Except CBot-related stuff of course
2015-08-14 23:44:00 +02:00
krzys-h 57646c0c7b Refactored object creation 2015-08-14 18:20:44 +02:00
krzys-h 275e792a81 Removed old Scrap objects; cleaned up some more if()'s 2015-08-13 19:41:21 +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 5d52214737 CFlyingObject; CJetFlyingObject 2015-08-12 19:09:35 +02:00
krzys-h 60797f72d3 Removed some old, unused code 2015-08-12 17:25:41 +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 63d83185b5 Move GetTooltipText and Get/SetLock to CObject; remove Get/SetEnable 2015-08-12 00:16:57 +02:00
krzys-h 364f87c49b CPowerContainerObject interface 2015-08-11 22:51:16 +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
Piotr Dziwinski f95980456a Replace anonymous union in Event with pointer to appropriate struct 2015-08-06 19:11:50 +02:00
krzys-h dc85aa2138 Moved all UI controls to a subdirectory 2015-08-06 13:25:24 +02:00
Piotr Dziwinski 0c9e745213 Add proper initializations in remaining graphics classes 2015-08-06 09:33:27 +02:00
Piotr Dziwinski d7bc28a595 Add proper initializations in CPlanet and refactor planet mode 2015-08-06 08:22:11 +02:00
krzys-h 5e4a423bf0 Cleaned up "textures/"+something, fixed more possible occurences of #531 2015-08-03 20:55:33 +02:00
krzys-h 45d6091a74 Fixed program from object.factory() being kept in BotFactory for every next manual operation 2015-08-03 20:33:45 +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
Piotr Dziwinski 7d8b56d9ab More style fixes 2015-08-02 12:06:14 +02:00
Piotr Dziwinski a5ff361bcc Replace std::regex with boost::regex
std::regex doesn't work in older GCC version (#532)
2015-07-25 09:13:17 +02:00
Piotr Dziwinski 4e836fa1d8 Remove unneeded LoadTexture calls
This caused reading of directory instead of file and caused crash on MacOSX (#531)
2015-07-25 08:49:14 +02:00
krzys-h 8e02786dbc Fix #529 2015-07-22 17:42:02 +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 083f216529 Team object recoloring (#514) 2015-07-22 12:45:50 +02:00
Piotr Dziwinski b3b6435039 Use MakeUnique with level parser classes 2015-07-17 20:38:21 +02:00
Piotr Dziwinski d5da68d59a Refactor old Get/SetAngle/Zoom -> Get/SetPartRotation/Scale 2015-07-14 21:35:43 +02:00
Piotr Dziwinski 1183ed1980 Refactor old Get/SetPosition -> Get/SetPartPosition 2015-07-14 19:40:39 +02:00
Piotr Dziwinski 20dbb8320b Remove unused reset code 2015-07-13 22:46:51 +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 16883fcdc4 Make CAuto classes use COldObject 2015-07-12 14:01:07 +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 fcbbbcb83c Fix some more CObject interface issues
* fix mission 1.3
 * fix saving/loading missions
 * fix compile warnings
2015-07-12 00:03:57 +02:00
Piotr Dziwinski 6dcef71802 GlobalSphere -> CameraCollisionSphere refactoring 2015-07-11 13:52:04 +02:00
Piotr Dziwinski f4b2f3468d CPoweredObject interface 2015-07-11 13:38:27 +02:00
krzys-h 36d08e852c Better splashscreen scaling on widescreen resolutions 2015-07-11 12:57:18 +02:00
Piotr Dziwinski 4c10730f87 CCarrierObject interface 2015-07-10 23:16:55 +02:00
Piotr Dziwinski 5d30de0d09 CProgrammableObject interface 2015-07-10 20:46:33 +02:00
Piotr Dziwinski 93479af188 CTransportableObject interface 2015-07-10 19:51:49 +02:00
krzys-h ad08d50bea Renamed some CAuto and CMotion classes 2015-07-10 12:18:21 +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 b0ac2f8326 Refactor CObject interface related to crash spheres 2015-07-10 09:38:53 +02:00
Piotr Dziwinski 93e950584a Refactor model-related code
* refactored model loading code based on code from dev-models
 * support new model format V2 (without LOD levels)
 * removed LOD levels support in CEngine and from model files
 * preparations for new model format V3:
   - support for multiple meshes in one model file
   - support for saving crash spheres and shadow spots
   - removed all direct dependencies on CEngine enum values
   - quantized model rendering states to new flags and enums
2015-07-09 21:37:04 +02:00
Piotr Dziwinski f6bc8f94bf Rename fret/truck to cargo/transporter 2015-06-29 23:11:02 +02: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 78e09c757d Basic support for teams and code battle missions 2015-06-26 22:07:55 +02:00
krzys-h 2a672482a5 Vault now locks only objects created during level loading (fixed #164) 2015-06-26 20:19:16 +02:00
krzys-h 4fc8364136 Fixed Destroyer object destruction (fixes #308) 2015-06-26 19:20:16 +02:00
Piotr Dziwinski 88ec9aaae3 Drop GCC 4.6 support 2015-06-26 00:24:32 +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 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 02ffdcfe23 Refactor level parser code
* replace manual memory management with std::unique_ptr
 * remove unnecessary dynamic allocations
 * make coding style consistent
2015-06-21 20:59:23 +02:00
Piotr Dziwinski 304542afe2 Some syntax sugar for iterating through all objects 2015-06-21 16:22:09 +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
Piotr Dziwinski fcd904faf7 Fix non-integer expressions in #if 2015-04-27 18:17:03 +02:00
Piotr Dziwinski 3dce58c0fa Replace override and noexcept with macros 2015-04-27 18:07:42 +02:00
krzys-h be74b61ad3 Fixed Vault not unlocking vehicle (#459) 2015-04-17 21:28:30 +02:00
krzys-h 66ea5fd92b Fixed NewScript 2015-04-06 16:41:05 +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 6d85db5314 Fixed weird Converter behaviour, closes #431 2015-03-08 16:05:14 +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 c509bc1709 Fixed PowerCell/Tracked animations (closes #389) 2014-11-12 15:05:02 +01:00
krzys-h 5cd45fbe17 Fixed saving aParamString in CAutoEgg 2014-11-10 22:45:06 +01:00
krzys-h fca746fdb4 Merge branch 'dev-physfs-save' into dev 2014-11-10 19:39:56 +01:00
krzys-h a952e0ec54 Fixed DefenseTower empty cell detection (#378) 2014-11-10 19:38:49 +01:00
krzys-h 8c84f012c6 Level state loading via CLevelParser 2014-11-10 17:15:34 +01:00
krzys-h 3dade17f89 Level saving through CLevelParser 2014-11-10 14:27:42 +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 7131abd385 Fixed SatCom image loading
Now LoadTexture/SetTexture functions require full path with "textures/" directory
2014-07-24 22:17:49 +02:00
krzys-h 1835d2ae58 Removed old code based on #ifs (issue #55) 2014-06-27 19:52:09 +02:00
krzys-h 8b121910c1 Indentation fixes 2013-12-26 19:39:32 +01:00
krzys-h 0d31f59b12 .takeoff() for SpaceShip (#265) 2013-12-26 18:50:05 +01:00
Piotr Dziwinski 8deb130572 Changed char[] to std::string in restext
Experimental changes
2013-12-04 00:15:39 +01: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 b9d0ee034e Running program in robots created using object.factory() 2013-05-19 16:27:33 +02:00
krzys-h 796cb92ffc Added object.destroy() 2013-05-18 18:04:48 +02:00
krzys-h 47d7b80507 Added object.factory(cat) 2013-05-18 18:04:48 +02:00
Piotr Dziwinski cec406ea31 Non-power-of-2 padding for background images
* added padding options
 * removed old hardcoded image sizes
2013-05-11 23:12:13 +02:00
krzys-h 02b65fecd3 Fixed Destroyer button
* Commands were executed for all Destroyers on map
* Button can't be clicked when Destroyer is working
2013-05-02 19:17:17 +02:00
krzys-h 8a1e4b1e5f Added button for Destroyer
Issue #142
2013-05-02 17:55:53 +02:00
krzys-h 9e1870f6bd Removed some warnings
+ fix for previous commit
2013-05-01 13:19:10 +02:00
erihel 5669053de0 Some code refactoring
Changed vehicule (french) to vehicle (english) in enums and variables
2013-04-27 17:50:30 +02:00
Piotr Dziwiński 001d37b257 CInstanceManager refactoring
* removed classes managed by CInstanceManager
   except for CObject, CPyro, CBrain and CPhysics
   because of dependencies
 * refactored instance searching to use existing singleton instances of
   CApplication, CEngine and CRobotMain and calling their getter
   functions
2013-02-17 12:11:56 +01:00
krzys-h 8658d6da80 Added Destroyer from Ceebot-Teen.
We need a new icon for it.
2013-02-13 16:58:19 +01:00
Piotr Dziwinski a937a7b6ec Changed model min/max to LOD levels 2013-01-27 11:43:53 +01:00