Commit Graph

344 Commits (726cfbda77a7a1e6d676cbb855fff371ed8f2a48)

Author SHA1 Message Date
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
krzys-h eec6041104 Refactoring of input and input bindings, CInput class 2014-12-11 19:14:33 +01:00
Piotr Dziwinski f30592bf56 Better fix for #94 2014-11-22 13:30:50 +01:00
krzys-h fd28dfd9bb Fixed Apperance textures
Issue #94
I beleive there is a better fix, I just can't find it because I don't fully understand the graphics engine.
I'll leave this issue open for @piotrdz to take a look at when he comes back
2014-11-12 16:47:40 +01:00
krzys-h a50da4f5de Loading texturesfrom objects/ subdirectory
Closes #381
2014-11-11 15:52:08 +01:00
krzys-h fa4c70d1fe Resetting fields in scene to defaults
Fixes #218
2014-11-11 15:38:11 +01:00
krzys-h fa2bd7901a Translations for autosave 2014-11-11 14:56:19 +01:00
krzys-h a1fe9c8d7f Implemented autosave (#292) 2014-11-11 14:50:44 +01:00
krzys-h b8103963c3 Sorting saved games list (#380) 2014-11-11 12:08:19 +01:00
krzys-h afa0061364 Reset save filename if exception is thrown while loading 2014-11-10 22:50:00 +01:00
krzys-h 462f0ce9d7 Removed unused PHYSFS conversions 2014-11-10 22:19:52 +01:00