Commit Graph

288 Commits (7a521fbc905ea47375a46e57226a668388a03c27)

Author SHA1 Message Date
Piotr Dziwinski f95980456a Replace anonymous union in Event with pointer to appropriate struct 2015-08-06 19:11:50 +02:00
krzys-h 2b4210dcbc Separated CMainUserInterface from CMainDialog 2015-08-06 12:59:09 +02:00
Piotr Dziwinski 596bb49de0 Normalize static variables and functions
* get rid of some of them
 * put the rest into anonymous namespaces
2015-08-06 10:12:20 +02:00
Piotr Dziwinski bdeeaf690b Get rid of memsets 2015-08-06 09:37:25 +02:00
Piotr Dziwinski 18f9bfb575 Make saving screenshot thread- and exception-safe
* introduce ResourceOwningThread wrapper for safely passing resources
   to new threads
 * make CEventQueue thread-safe
 * start screenshot saving thread using ResourceOwningThread
 * change direct call at end of writing screenshot to thread-safe
   event communication
2015-08-04 20:37:15 +02:00
krzys-h ea7bfdefda Moved scene to load out of CMainDialog 2015-08-04 10:56:49 +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 3b585d9f51 Some style and whitespace fixes 2015-08-02 11:36:36 +02:00
krzys-h 59d5545eca Fixed code pause editor bug (#527) 2015-07-22 18:01:24 +02:00
krzys-h 083f216529 Team object recoloring (#514) 2015-07-22 12:45:50 +02:00
krzys-h a2f1aa195b Combined all level list phases into one, removed PHASE_TERM 2015-07-19 23:07:57 +02:00
krzys-h 02c24fbf27 CProfile -> CConfigFile 2015-07-19 16:05:09 +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
Tomasz Kapuściński 59a68892c6 Game displays an error message and uses default graphics device when unknown device is selected with -graphics switch 2015-07-18 12:03:33 +02:00
Piotr Dziwinski 25eaf8f72f Add MakeUniqueArray for array types 2015-07-17 20:57:12 +02:00
Piotr Dziwinski a872ea128b Add MakeUnique template to avoid use of naked new 2015-07-17 20:06:59 +02:00
krzys-h 2c0baeec35 Fixed potential error in locale logging
setlocale() result is valid only until next call to setlocale()
2015-07-17 19:55:02 +02:00
krzys-h c8f6e8124e Replaced CLogger::GetInstancePointer() calls with GetLogger() 2015-07-16 22:12:44 +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
krzys-h 24db675d3f Added x6 speed option 2015-07-10 20:17:00 +02:00
krzys-h d3c3a51ede Don't open joystick if it's not enabled in ChangeJoystick 2015-07-10 10:28:04 +02:00
krzys-h 20a367783b Added joystick settings in colobot.ini 2015-07-10 10:25:31 +02:00
krzys-h 7e41e9fe23 Refactored keybindings storage 2015-07-10 10:11:40 +02:00
krzys-h 5a68558f4c Implemented basic joystick selection
You can select joystick in the config file, there is still no GUI. By default, the first available joystick is used.
issue #171
2015-07-10 00:05:43 +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
Tomasz Kapuściński ac291f5bea Fix for issue #488 2015-06-28 21:05:12 +02:00
krzys-h 2509f99776 Fixed program arguments not being parsed on restart (#483) 2015-06-26 18:51:39 +02:00
Piotr Dziwinski 88ec9aaae3 Drop GCC 4.6 support 2015-06-26 00:24:32 +02:00
Piotr Dziwinski 7e21d3bd79 Get rid of some more manual memory management 2015-06-26 00:24:05 +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 5f1d3c21d4 Fix some more warnings reported by Clang 2015-06-21 19:46:01 +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 ff44637d49 Removed VBO override switch and some unnecessary code 2015-06-16 18:00:42 +02:00
Tomasz Kapuściński 012eb10e19 Added automatic graphics detection (-graphics auto) 2015-06-15 20:20:03 +02:00
Tomasz Kapuściński e1a0f5b1c7 Added OpenGL 2.1 engine 2015-05-27 22:12:02 +02:00
Tomasz Kapuściński 933609967a Added OpenGL 3.3 graphics implementation 2015-05-19 14:29:31 +02:00
Piotr Dziwinski 0ddfdebab3 Remove unused system utils functions 2015-05-13 20:52:19 +02:00
Piotr Dziwinski ccaac2c544 Rewrite unit tests to use HippoMocks 2015-05-13 00:52:18 +02:00
Tomasz Kapuściński 0b2f00530b Added experimental support for dynamic shadows (shadow mapping) 2015-05-11 15:21:17 +02:00
Piotr Dziwinski d003247120 Provide usleep() in CSystemUtils interface 2015-04-27 20:02:22 +02:00
Piotr Dziwinski 3dce58c0fa Replace override and noexcept with macros 2015-04-27 18:07:42 +02:00
tomangelo2 802aaad1a4 Should fix issue #456 2015-04-17 21:02:26 +02:00
krzys-h 78795c4b44 Alt+tab minimize to taskbar (#391, fixes #329) 2015-03-22 16:10:32 +01:00
krzys-h f9bdd32812 Fixed USERPROFILE encoding, final fix to #414 2015-03-22 14:07:38 +01:00
krzys-h 83599238d1 Added workaround for argv encoding on Windows
First part of fixing #414
2015-03-22 13:11:00 +01:00
krzys-h bb16c6d97c Fixed updating C locale after exception in C++ locale, should finish fixing #445 2015-03-21 20:14:41 +01:00
krzys-h 9c20f275a0 Fixed MXE builds after 87cf056158
On MXE, setlocale is a macro...
2015-03-21 17:34:18 +01:00
krzys-h 87cf056158 Modified locale setting code
I'm doing my best to fix #445. At least shouldn't crash anymore.
Needs more testing.
2015-03-21 17:12:05 +01:00
krzys-h f43acaa943 Store resolution as value instead of id on the list, closes #417
Also fixed a bug where after starting the game for the first time the "Apply changes" button would behave like you selected highest resolution possible (while the game is running at 800x600)
2015-03-19 19:46:37 +01:00
krzys-h e179847358 Fixed remapping virtual keys, closes #415 2015-03-18 21:29:33 +01:00
krzys-h 8f78dc81e7 Whoops, the file didn't save 2015-03-18 21:12:49 +01:00
krzys-h 92ea770121 Better fix for numerical enter (issue #427)
Should now work everywhere, not only in the editor.
2015-03-18 21:10:47 +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 0231c2359a Fixed #425 2015-01-08 19:01:56 +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 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 5948a9e9d8 Show game version in logs, closes #413 2014-12-11 19:59:24 +01:00
krzys-h eec6041104 Refactoring of input and input bindings, CInput class 2014-12-11 19:14:33 +01:00
krzys-h 3dade17f89 Level saving through CLevelParser 2014-11-10 14:27:42 +01:00
krzys-h 750f0f0810 COLOBOT: Gold Edition -> Colobot: Gold Edition 2014-11-01 19:46:06 +01:00
krzys-h f8841f96f2 Added -headless
For automated stuff on devices without GPU
2014-10-31 20:40:13 +01:00
krzys-h 487e43ff4e Changing resolution from commandline
Conflicts:
	src/app/app.cpp
2014-10-31 20:40:09 +01:00
krzys-h c1f931c8ee Added some debug stuff, possible fix for #348 and #335 2014-10-30 22:18:33 +01:00
krzys-h 26376c652d Nothing else works, so restart the game on resolution change
Fixes #339 for now, but we'll need alternative solution later
2014-10-25 18:34:29 +02:00
CoLoRaptor 1ab5746ca7 Disabled active window resizing that crashes in some software/hardware configurations 2014-10-21 22:22:32 +02:00
krzys-h 97b7c0cab1 Fixed map turning gray after resizing window 2014-10-20 21:54:52 +02:00
krzys-h 0245fdc6c3 Merge branch 'dev-physfs' into dev
Conflicts:
	src/app/app.cpp
2014-10-19 16:18:36 +02:00
krzys-h d7ef0a1a5f Implemented "Apply changes" button (issue #141) 2014-10-19 15:45:59 +02:00
krzys-h 7af92cc4ce Added portable build flag 2014-10-18 20:00:30 +02: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
Piotr Dziwinski 5274acd624 Merge with dev 2014-10-07 22:15:40 +02:00
krzys-h c2b8787453 On development builds store savegame data in current directory 2014-09-29 21:39:21 +02:00
Piotr Dziwinski 9f2d544b27 Fix zenity version checking problems 2014-09-21 21:28:59 +02:00
Piotr Dziwinski 6a1ceba8c0 Some cleaning up 2014-09-21 12:29:06 +02:00
krzys-h f0b38721e0 Loading all mods found in "mods" directory 2014-09-21 12:29:01 +02:00
Piotr Dziwinski e4d52d9afb CProfile refactoring 2014-08-12 21:24:33 +02:00
Piotr Dziwinski 9de086390b Remove some more delete checks (#318) 2014-08-10 17:51:47 +02:00
krzys-h 0b2f25a6e3 Restored -datadir and -langdir arguments, added -savedir
Also, fixed some crashes when unable to open file
2014-08-06 12:27:17 +02:00
krzys-h 9a3cd67c3b Saving colobot.ini through physfs 2014-07-24 23:38:13 +02:00
krzys-h 17041e718b Added -mod commandline argument to add additional locations to physfs 2014-07-24 22:46:47 +02:00
krzys-h 092e7cc68d Fixed tests 2014-06-26 22:14:30 +02:00
krzys-h fd8ea13cbb Fixed not destroying CGameData
This also fixed failing assertion in tests
2014-06-26 21:38:02 +02:00
Mohamed Waheed f5ba2a27d4 fixed savefile screenshot loading bug 2014-06-24 20:31:17 +03:00
Krzysztof Dermont 754154341d More work on PhysFS support
* added output stream
* fixed music loading
2014-06-22 15:01:06 +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
Piotr Dziwinski ba62e6f8be Remove dead code 2014-06-01 13:02:08 +02:00
krzys-h f0d97bfdb9 Better datadir mod support 2014-05-18 12:12:47 +02:00
MrSimbax a61da7404b Added fall damage
+ changed window title
2014-03-08 22:36:35 +01:00
krzys-h bb2a9bcfd3 Added option to set pause audio in Scene 2014-02-21 14:19:58 +01:00
Piotr Dziwinski 70b18cc4c0 Move engine frame update after game state update
This should finally fix #225
2014-01-18 21:35:32 +01:00
krzys-h 130c4fd941 Fixed log level in 8d30791595 2014-01-01 16:46:28 +01:00
krzys-h 8d30791595 Ability to set language via ini file
If language autodetection doesn't work, someone might want to manually force the game to use correct language without using -language parameter every time
2013-12-31 17:20:03 +01:00
krzys-h 999490e88b Code for changing music in pause mode
As requested by @Emxx52. Only code for now, we don't have the music yet. Temporairly in developements builds music will change to Prototype (in CBot editor) and Constructive Destruction (in SatCom)
2013-12-31 16:58:21 +01:00
krzys-h 4a237f5925 CPauseManager 2013-12-31 13:24:09 +01:00