Commit Graph

490 Commits (dc85aa21388b122723b4d50fb7112a39fe8acd6e)

Author SHA1 Message Date
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 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
Piotr Dziwinski b84130e067 Fix not updating track texture mapping 2015-07-10 12:22:00 +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
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
Piotr Dziwinski 9b232ee3f5 Sound enum refactoring
* rename Sound -> SoundType
 * add parsing string to SoundType
2015-07-09 21:32:25 +02:00
krzys-h dae7cdf229 Fixed build() particles 2015-07-09 18:45:52 +02:00
krzys-h 7c20bb4bf6 Fixed counting of nautral objects in EndMissionTake 2015-07-09 18:28:09 +02:00
krzys-h ce760aa9a3 Added All back to ObjectType parser
I throught this was unused, but it's actually used in NewScript
2015-07-08 20:21:30 +02:00
krzys-h 1361473358 Renamed Mission -> Level, MissionController -> LevelController
As suggested by @CoLoRaptor
2015-07-08 20:20:46 +02:00
krzys-h c18b5daf57 Don't use binary literals in radar filters
@tomaszkax86 noticed that this syntax is valid only in C++14 and Visual Studio 2013 doesn't support that
2015-07-08 19:05:11 +02:00
krzys-h b75ab7d8f6 Fixed radar() detecting neutral objects as enemies 2015-07-07 22:27:44 +02:00
krzys-h a6ccd7f270 Added TeamName 2015-07-07 21:25:44 +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 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
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 f1684f85be Introduce new CObject base class and mixin class framework 2015-07-02 23:50:50 +02:00
Piotr Dziwinski 80d93c0fea Fix comment changed by mistake 2015-06-30 18:47:35 +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
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
Tomasz Kapuściński efd0b2b28f Corrected energy cell's angle when created with robot 2015-06-26 18:07:54 +02:00
Tomasz Kapuściński ba3c049077 Corrected problem with loading level background images 2015-06-26 14:32:44 +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 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 7ae308cc75 Fix saving addresses instead of data in user profile 2015-06-22 21:25:00 +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 2513052260 Fix setting position of power cells 2015-06-21 16:29:46 +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
Tomasz Kapuściński 3a1dffd8df Fixing some warnings 2015-05-19 17:15:08 +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 df4cb110b5 Made example programs not directly runnable (#450) 2015-04-17 22:39:57 +02:00
krzys-h be74b61ad3 Fixed Vault not unlocking vehicle (#459) 2015-04-17 21:28:30 +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 fa13d2bb72 Fixed compilation on old versions of GCC
It's the first time I saw gcc complain about something being not implemented IN THE COMPILER ITSELF o.O

In file included from /home/travis/build/colobot/colobot/src/object/auto/autoegg.cpp:25:0:
/home/travis/build/colobot/colobot/src/object/brain.h:81:28: sorry, unimplemented: non-static data member initializers
/home/travis/build/colobot/colobot/src/object/brain.h:81:28: error: ISO C++ forbids in-class initialization of non-const static member ‘readOnly’
2015-04-06 19:22:26 +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 1a8bb9c0fb Marked programs from SatCom with a star 2015-04-06 16:21:19 +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 30f7075f4e Fixed program selection shortcuts 2015-03-29 14:31:43 +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 23c734c3c1 Implemented shortcuts for starting programs (#391) 2015-03-22 15:49:33 +01:00
krzys-h 7e3e1c00d2 Made sniffer flatground button available only with EnableBuild 2015-03-22 14:56:35 +01:00
krzys-h 7578f3c118 Made bf55691e44 work with new CObjectManager 2015-03-22 14:50:54 +01:00
Piotr Walkusz bf55691e44 Issue #399 : Sniffer can delete mark and probe ground 2015-03-22 14:40:19 +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 c3b9c3ce4d Changed std::vector default value, should fix compilation errors on GCC 4.6
Fixes #393
2015-03-21 17:21:26 +01:00
krzys-h 3c2b0a8206 Probably fixed null CObject* instances in object list, should fix #440, #441, #442 and #443 2015-03-08 16:14:45 +01:00
krzys-h 6d85db5314 Fixed weird Converter behaviour, closes #431 2015-03-08 16:05:14 +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
krzys-h 61b186343f Fixed #424, #423 and probably #421 2015-01-08 18:56:26 +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 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 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 e0448825a8 Fixed reading cmdline=, closes #388 2014-11-12 17:01:31 +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 c509bc1709 Fixed PowerCell/Tracked animations (closes #389) 2014-11-12 15:05:02 +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 5cd45fbe17 Fixed saving aParamString in CAutoEgg 2014-11-10 22:45:06 +01:00
krzys-h 462f0ce9d7 Removed unused PHYSFS conversions 2014-11-10 22:19:52 +01:00
krzys-h 76ca4fc6ae Fixed isnan() on MXE 2014-11-10 22:17:41 +01:00
krzys-h b698c40abf Fixed saving Shielder's shield (#365) 2014-11-10 21:26:02 +01:00
krzys-h ef35a3a2ef Custom path to SecondTexture, closes #370 2014-11-10 20:46:39 +01:00
krzys-h 643d1ec46a Fixed scenetest mode 2014-11-10 20:23:18 +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 759b9871bb Removed CMainDialog::GetPHYSFSSavegameDir()
CMainDialog is also finished.
This is last commit for saving with PHYSFS, closes issue #334
2014-11-10 19:26:36 +01:00
krzys-h aeaea87d0d Saving/loading list of finished missions via PHYSFS 2014-11-10 19:23:51 +01:00
krzys-h 4994965201 Removed CRobotMain::GetPHYSFSSavegameDir()
Everything in CRobotMain uses PHYSFS now
2014-11-10 19:02:07 +01:00
krzys-h 025419324b Research saving (for free game) in PHYSFS 2014-11-10 18:49:00 +01:00
krzys-h 169e860240 Removed PHYSFS hacks from Load/SaveFileScript as they are no longer necessary 2014-11-10 18:36:16 +01:00
krzys-h ebf92e98c9 Removed CBOT_STACK switch
It was just making it harder to look for cause of #119
2014-11-10 18:22:48 +01:00
krzys-h c861e67cc0 Fixed proxyDistance saving 2014-11-10 17:50:50 +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 1477e72ab4 Saving code for CLevelParser 2014-11-10 12:05:57 +01:00
krzys-h 1ae66d39f3 Don't require user to launch the SpaceShip before ending the mission, if it has selectable=0
Closes #376
2014-11-09 19:26:36 +01:00
krzys-h bfdc577547 Removed m_checkEndTime
It was disabled some time ago
2014-11-09 19:19:14 +01:00
krzys-h 894d4173f6 Activate console by "~", closes #366 2014-11-09 18:58:13 +01:00
krzys-h 11a8742079 #335, #348, #352
I don't know what I'm doing anymore :/
I should set up dev envrioment on Windows so I don't have to commit every time I want somebody on Windows to test if my changes work
2014-11-01 14:02:39 +01:00
krzys-h 25d5d105fd Fallback to English files if translated ones are not available 2014-10-31 21:23:10 +01:00
krzys-h 501cd7026b Fixed m_exitAfterMission 2014-10-31 20:49:40 +01:00
krzys-h 71577b7b0a Fixed #335 and #348 2014-10-31 20:40:19 +01:00
krzys-h d0383ae09b -runscene for userlevels
You need to know which ID is assigned to te userlevel category (by order in "User" menu)
-runscene custom101 = first userlevel from first chapter
2014-10-31 15:32:24 +01:00
krzys-h 601ea0ec87 Increased mission end accuracy
It whould now detect mission end immediately. We need somebody with an older computer than mine to make sure it doesn't cause FPS drop.
2014-10-30 22:26:14 +01:00
krzys-h 6d2fd18b41 Implemented mission timer 2014-10-29 17:53:46 +01:00
krzys-h 61e06149c6 Fixed position updating 2014-10-29 16:08:55 +01:00
krzys-h d91569e165 Showing coordinates in stats menu (F12/showstat); removed "showpos" cheat
Issue #277

Conflicts:
	src/object/cheat.cpp
	src/object/robotmain.cpp
	src/object/robotmain.h
2014-10-29 16:08:55 +01:00
krzys-h 11854dc89e Fixed script saving (issue #348) 2014-10-27 21:49:03 +01:00
krzys-h d6e88a07b0 Support for %lvl% in TerrainInitTextures + cleanup
cleanup:
* Removed CProfile::SetUserPath (unused)
* Removed CProfile::GetUserBasedPath (unused)
* Removed CProfile::CopyFileToTemp (i have no idea why it even existed)
* Removed CopyFileListToTemp (it did the same as CopyFileToTemp but for multiple files, wasn't even fully implemented)
2014-10-27 21:15:14 +01:00
krzys-h ca4f1e85d2 Support for %lvl% in all commands
Except for TerrainInitTextures (I'm not sure what it does but it does something weird)
2014-10-26 18:35:13 +01:00
krzys-h c12ebb1c7b Fixed NewScript (#341) 2014-10-25 17:17:59 +02:00
krzys-h 7d28b9a6da Fixed #340 2014-10-25 12:01:21 +02:00
krzys-h 4c865322f0 Fixed #341 2014-10-25 11:30:38 +02:00
krzys-h 97b7c0cab1 Fixed map turning gray after resizing window 2014-10-20 21:54:52 +02:00