Commit Graph

240 Commits (5eebe300fc3b5aef95ca8fa8f9cdf85bdd4d3795)

Author SHA1 Message Date
krzys-h 8ff6fadb75 Unlocked free window resolution change 2015-08-24 19:56:50 +02:00
krzys-h d9b680bdcf Removed Windows restart on resolution change workaround 2015-08-24 19:47:48 +02:00
Piotr Dziwinski b93f610930 Fix license header in all files 2015-08-22 16:40:02 +02:00
Piotr Dziwinski a63a959dbe Apply clang-modernize -use-nullptr 2015-08-17 22:40:52 +02:00
Piotr Dziwinski 2289d69735 Replace NULL -> nullptr 2015-08-16 12:43:42 +02:00
krzys-h 9a15db1bea Split global.h 2015-08-15 14:02:07 +02:00
krzys-h 02b76e5aba Workaround for too fast calling of m_app->Render 2015-08-14 00:10:07 +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 4964e35625 Fixed gun targetting with mouse 2015-08-09 23:04:24 +02:00
krzys-h 6b4610e808 Improved stats display 2015-08-09 15:20:38 +02:00
krzys-h 30589f3e79 Fixed -runscene 2015-08-07 22:37:56 +02:00
Piotr Dziwinski e9e1c8d4dd Add proper initializations and remove manual memory management in app classes 2015-08-07 10:16:46 +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 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
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
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 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 d3c3a51ede Don't open joystick if it's not enabled in ChangeJoystick 2015-07-10 10:28:04 +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 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 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 d003247120 Provide usleep() in CSystemUtils interface 2015-04-27 20:02:22 +02:00
krzys-h 78795c4b44 Alt+tab minimize to taskbar (#391, fixes #329) 2015-03-22 16:10:32 +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 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 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 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 17041e718b Added -mod commandline argument to add additional locations to physfs 2014-07-24 22:46:47 +02:00
krzys-h fd8ea13cbb Fixed not destroying CGameData
This also fixed failing assertion in tests
2014-06-26 21:38:02 +02: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
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 246b7e107e Removed prototypes support 2013-12-27 20:36:11 +01:00
krzys-h 01cbc4177e Whoops 2013-12-26 22:14:53 +01:00
krzys-h 0f57809f51 Added scene test mode
... and fixed a "small" bug in previous commit ;)
2013-12-26 22:13:04 +01:00
erihel fe3f9ea38c Sound support changes
* removed 2d sound
* fixed listener orientation (propably issue #235)
* removed unused code and minor refactoring
2013-12-19 22:46:29 +01:00
Didier 'OdyX' Raboud 114cbec8a9 Never cache Data, Sound and Music paths
Let them always be either auto-detected, defined on the command-line
or written in the configuration file
2013-12-09 17:39:39 +01:00
Piotr Dziwinski fdd7c22591 Updated README and INSTALL files 2013-11-26 00:38:32 +01:00
Didier 'OdyX' Raboud b32f87bac7 Abstract the definition of LangPath to CSystemUtils 2013-11-13 09:35:32 +01:00
Didier 'OdyX' Raboud 93727a3fdf On MacOSX, don't cache the Data, Sound and Music paths
As users can potentially move the bundle around, it doesn't make sense to cache these

(It would probably make sense to drop this caching on all architectures, but it's only on MacOSX where it hurts most)
2013-11-13 09:35:32 +01:00
Didier 'OdyX' Raboud 17ad3e5a90 Abstract the definition of DataPath to CSystemUtils 2013-11-13 09:35:31 +01:00
Didier 'OdyX' Raboud 8b65e9b56f Add russian language support 2013-11-07 14:44:12 +01:00
krzys-h 39866db502 Fixed @Emxx52 's fail :P
Merge branch 'master' into dev
Conflicts:
	src/app/app.cpp
2013-09-08 17:55:48 +02:00
Emxx52 2891c2ea4c Added '-game' launch option 2013-09-08 17:05:11 +02:00
erihel b5e87aa91f Datadir in command line didn't work with config.
Values from config file overwrote datadir
2013-07-16 16:00:06 +02:00
Piotr Dziwinski 3e989c96df Fixed auto-detecting locale on Windows
* localename library is now used to determine the actual locale used
 * added patched version of FindGettext.cmake to fix
   installation path of translation files
2013-06-24 14:16:39 +02:00
krzys-h 868b592706 Added -proto to options[] 2013-06-17 16:26:25 +02:00