Commit Graph

354 Commits (1b73830f286b73b846d168db1ac0a12ba2ac6ee6)

Author SHA1 Message Date
krzys-h 8c87eedd28 Fixed huge lag on closing settings
Introduced in 02c24fbf27, this was supposed to make it more resistant to crashes but turned out to generate huge lag on closing settings
Instead, I added manual .Save() after every value change
2015-07-19 21:35:55 +02:00
krzys-h 8ce3a783bb Fixed EndMissionTake processing order with immediat=1
immediat=1 is supposed to work only if this condition AND all conditions above are true
2015-07-19 19:20:55 +02:00
Piotr Dziwinski 963fa15a1c Fix for #516 2015-07-19 16:43:03 +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 7dc3e90e41 CPlayerProgress -> CPlayerProfile 2015-07-19 16:05:09 +02:00
krzys-h 02c24fbf27 CProfile -> CConfigFile 2015-07-19 16:05:09 +02:00
krzys-h e2691d943c Fixed #346
Thanks @erihel
2015-07-18 23:16:14 +02:00
krzys-h 3e1fc06d6c CPlayerProgress
Extracted most operations on user profile from CRobotMain and CMainDialog to a dedicated class
2015-07-18 23:14:20 +02:00
krzys-h 86f473ac16 Finished support for up to 999 chapters and levels 2015-07-18 19:48:25 +02:00
krzys-h ea9361fbb4 LevelCategory enum 2015-07-18 19:45:40 +02:00
Piotr Dziwinski b3b6435039 Use MakeUnique with level parser classes 2015-07-17 20:38:21 +02:00
krzys-h 35043e04de Addressed commit comments on a872ea128b 2015-07-17 20:29:53 +02:00
Piotr Dziwinski a872ea128b Add MakeUnique template to avoid use of naked new 2015-07-17 20:06:59 +02:00
krzys-h dffeff929e Removed manual memory management in CBrain in program list 2015-07-17 19:53:17 +02:00
krzys-h c8f6e8124e Replaced CLogger::GetInstancePointer() calls with GetLogger() 2015-07-16 22:12:44 +02:00
krzys-h 2b9811d225 Movie lock refactoring 2015-07-16 22:09:50 +02:00
krzys-h a0e0ee3631 Separate shortcut bars for teams 2015-07-16 13:46:40 +02:00
Piotr Dziwinski 31bc740f4b Fix focusing issues with controls and cheat console 2015-07-15 19:11:48 +02:00
krzys-h 80963f1a2b Added global magnifyDamage setting 2015-07-15 18:15:26 +02:00
Piotr Dziwinski 94ea1ff106 DeselList refactoring
Make CRobotMain hold selected object history instead of
every object holding some part of it
2015-07-15 18:09:23 +02:00
Piotr Dziwinski d5da68d59a Refactor old Get/SetAngle/Zoom -> Get/SetPartRotation/Scale 2015-07-14 21:35:43 +02:00
krzys-h e1223ff881 Fixed shortcuts behavior
It was kinda broken after implementing code battles
Also, fixed overlap of shortcuts bar with cheat console
2015-07-14 21:32:08 +02:00
krzys-h a1a96c62ab Fixed system mouse setting 2015-07-14 21:03:40 +02:00
Piotr Dziwinski 1183ed1980 Refactor old Get/SetPosition -> Get/SetPartPosition 2015-07-14 19:40:39 +02:00
Piotr Dziwinski 3f41555a61 Better exception handling in CRobotMain 2015-07-14 18:46:22 +02:00
Piotr Dziwinski 0d1b97510d Add exception handling when creating new objects on level loading 2015-07-14 18:28:42 +02:00
Piotr Dziwinski 62fdfc9f92 Refactor ResetCap -> AnimateOnReset 2015-07-13 22:47:11 +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 3ed8980c46 Make CTask classes use COldObject 2015-07-12 14:22: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 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 e8582d214c CStaticObject subclass using new model framework
* added reading/writing working version of new model format V3
 * added CStaticObject with minial interface intended for
   non-interactive static objects like trees
 * converted first model, tree0, to new format
2015-07-11 19:52:38 +02:00
Piotr Dziwinski f4b2f3468d CPoweredObject interface 2015-07-11 13:38:27 +02:00
Piotr Dziwinski 4c10730f87 CCarrierObject interface 2015-07-10 23:16:55 +02:00
Piotr Dziwinski 8d5ddd848d CJostleableObject interface 2015-07-10 23:04:30 +02:00
Piotr Dziwinski 5d30de0d09 CProgrammableObject interface 2015-07-10 20:46:33 +02:00
Tomasz Kapuściński 17ae31e639 Added 'speed ###' cheat for changing simulation speed to arbitrary value 2015-07-10 20:45:50 +02:00
krzys-h 24db675d3f Added x6 speed option 2015-07-10 20:17:00 +02:00
Piotr Dziwinski 0dfbb00491 Remove unused variable 2015-07-10 19:55:18 +02:00
Piotr Dziwinski 93479af188 CTransportableObject interface 2015-07-10 19:51:49 +02:00
krzys-h 52f809b8bb Removed cmdline limit 2015-07-10 13:40:29 +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
krzys-h c63efeca46 Fixed EndMissionTake conditions (again) 2015-07-10 10:45:30 +02:00
krzys-h 3d5bc5c563 Fixed unused variable warnings 2015-07-10 10:11:40 +02:00
Piotr Dziwinski b0ac2f8326 Refactor CObject interface related to crash spheres 2015-07-10 09:38:53 +02:00
krzys-h bd4a661a06 Made autosave timer independent from simulation speed, closes #485 2015-07-09 23:23:38 +02:00
krzys-h b7c3a8a30b Don't hardcode script4Runnable=in exercises, closes #493 2015-07-09 23:09:08 +02:00
krzys-h 978fc8f1fb Remove program limit in scene files, closes #494 2015-07-09 23:01:18 +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
krzys-h 1361473358 Renamed Mission -> Level, MissionController -> LevelController
As suggested by @CoLoRaptor
2015-07-08 20:20:46 +02:00
krzys-h a6ccd7f270 Added TeamName 2015-07-07 21:25:44 +02:00
krzys-h f94519b240 Don't finish mission if there are no win conditions
This replaces the old EndMissionNever hack
2015-07-07 18:04:17 +02:00
krzys-h a3726799c4 Added support for teams in EndMissionTake
Also fixed a bug in previous commit that caused lost= conditions to be skipped if previous min= max= condition was not met
2015-07-07 17:48:49 +02:00
krzys-h a32efc09a2 Refactored EndMissionTake and AudioChange 2015-07-07 16:17:19 +02:00
Piotr Dziwinski f1684f85be Introduce new CObject base class and mixin class framework 2015-07-02 23:50:50 +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
Tomasz Kapuściński 1ccb807091 Fix for issues #486 and #487 2015-06-27 18:06:49 +02:00
krzys-h 78e09c757d Basic support for teams and code battle missions 2015-06-26 22:07:55 +02:00
Tomasz Kapuściński ba3c049077 Corrected problem with loading level background images 2015-06-26 14:32:44 +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
krzys-h df4cb110b5 Made example programs not directly runnable (#450) 2015-04-17 22:39:57 +02:00
krzys-h 6d88dd5957 Allow autosave only in missions, free game and userlevels (fixes #457) 2015-04-17 21:11:07 +02:00
krzys-h 9bc7c47d77 Fixed saving readonly attribute (#454) 2015-04-07 13:27:11 +02:00
krzys-h a4bf622053 Fixed starting programs from saved games (#455) 2015-04-07 13:18:34 +02:00
krzys-h 73a12ea7db Changed default autosave interval from 15 to 5 minutes (#451) 2015-04-06 22:04:23 +02:00
krzys-h 2f5d4e3b2f Fixed cheat console in main menu 2015-04-06 17:23:18 +02:00
krzys-h 1dd3a4d57e Fixed loading challenge solutions and made them read-only 2015-04-06 17:00:22 +02:00
krzys-h 66ea5fd92b Fixed NewScript 2015-04-06 16:41:05 +02:00
krzys-h 58016c6c69 Made programs from SatCom read-only; added program cloning 2015-04-06 16:07:49 +02:00
krzys-h 0ce72bdce0 ovf's OCD
> ovf: krzys_h: i'm sorry, your last commit triggered a random ocd fit. http://vpaste.net/S6u62
> ovf: (you don't need to apply this, i already feel better now)
2015-03-29 20:30:29 +02:00
krzys-h 6844b2170f Fixed occasional crash in CRobotMain::DeleteAllObjects 2015-03-29 15:50:47 +02:00
krzys-h 1b18b145cc Changed default of countTransported to true
This causes failure conditions to trigger in some exercises
 #412
2015-03-29 15:38:50 +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 72196b252c Made powermin and powermax work with cells that are not in bot's power slot 2015-03-28 12:21:56 +01:00
krzys-h 14068ce54b Don't count transported items by default (#412) 2015-03-28 12:19:40 +01:00
krzys-h fd17e104ed Removed mission file versioning
We've decided there is no need to keep combatibility with original Colobot.
Closes #206
2015-03-28 11:23:32 +01:00
krzys-h 498a5ca4cd Reapplied temporary fix for #94 2015-03-22 17:40:08 +01:00
krzys-h a0097a0e53 Copying info about selected object to clipboard (#391) 2015-03-22 16:32:21 +01:00
krzys-h 56d66b3417 Added bots/buildings switch shortcut (#391) 2015-03-22 16:02:05 +01:00
krzys-h 33fcdbbef5 Removed unused CRobotMain::BuildScenePath 2015-03-22 14:12:41 +01:00
krzys-h d2d0886b76 Implemented %cat%
and renamed BuildSceneName to BuildScenePath
2015-03-22 13:51:14 +01:00
krzys-h 986cf98aaf CController - entry point into CRobotMain and CMainDialog 2014-12-22 10:36:36 +01:00
krzys-h 4fef3af9ef Moved all CObject management from CInstanceManager to CObjectManager 2014-12-21 19:04:31 +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
krzys-h fb07691790 New speed keybindings 2014-12-14 17:05:28 +01:00
krzys-h be0f4c2ffe Refactored keybindings UI and added some keybindings 2014-12-14 16:54:32 +01:00