Commit Graph

416 Commits (82e06bfd8e5da5e732c33c73ab6bb0c785862efd)

Author SHA1 Message Date
Piotr Dziwinski e9e1c8d4dd Add proper initializations and remove manual memory management in app classes 2015-08-07 10:16:46 +02:00
krzys-h 22415e183d Remove unneeded empty map.png file 2015-08-06 23:06:36 +02:00
krzys-h 0d00952b10 Rename text.png to effect03.png 2015-08-06 22:41:54 +02:00
krzys-h 1e97d41a2d Fixed RedArrow and BlackArrow transparency (#545) 2015-08-06 22:39:06 +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 ec3ded75b8 Removed unused LOD level setting 2015-08-06 18:35:56 +02:00
Piotr Dziwinski f29a826ad2 Fix Clang warnings about use of abs() 2015-08-06 14:31:40 +02:00
Piotr Dziwinski 61ec101b11 Replace size_t with std::size_t
For some reason Clang's AST API doesn't like size_t
2015-08-06 14:31:40 +02:00
krzys-h b20d589c87 Check available texture units in shadow mapping settings 2015-08-06 13:47:42 +02:00
Piotr Dziwinski 4faeffa77d Fix for cursor particles in main menu 2015-08-06 13:25:56 +02:00
krzys-h dc85aa2138 Moved all UI controls to a subdirectory 2015-08-06 13:25:24 +02:00
krzys-h 2b4210dcbc Separated CMainUserInterface from CMainDialog 2015-08-06 12:59:09 +02:00
Piotr Dziwinski 0c9cf51d81 Address comments on commit d7bc28a 2015-08-06 11:17:54 +02:00
Piotr Dziwinski bdeeaf690b Get rid of memsets 2015-08-06 09:37:25 +02:00
Piotr Dziwinski 0c9e745213 Add proper initializations in remaining graphics classes 2015-08-06 09:33:27 +02:00
Piotr Dziwinski c339838cd2 Add proper initializations in CWater, CTerrain and CCloud
Also make associated structs private
2015-08-06 08:22:11 +02:00
Piotr Dziwinski d7bc28a595 Add proper initializations in CPlanet and refactor planet mode 2015-08-06 08:22:11 +02:00
Piotr Dziwinski 111d279de5 Add proper initializations in OpenGL classes 2015-08-06 08:22:11 +02:00
Piotr Dziwinski 91658c7df0 Add proper initializations in basic graphics structures 2015-08-06 08:22:11 +02:00
Piotr Dziwinski c38ecd67ea Fix crash in glDeleteTexture 2015-08-05 23:06:54 +02:00
Piotr Dziwinski c2387b4b56 Class naming fix 2015-08-04 20:58:03 +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 4b271cee2d Moved settings out of CMainDialog into a separate class
Also fixed some problems with resolution list selection after starting game
2015-08-04 12:46:54 +02:00
krzys-h 04960035c1 Save screenshot image in a separate background thread (#546) 2015-08-03 21:40:30 +02:00
krzys-h 5e4a423bf0 Cleaned up "textures/"+something, fixed more possible occurences of #531 2015-08-03 20:55:33 +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 6818e32150 Fixed shadow mapping disable when not supported (#522) 2015-07-29 22:30:44 +02:00
krzys-h 083f216529 Team object recoloring (#514) 2015-07-22 12:45:50 +02:00
krzys-h 72b9738eb9 Fixed possible problems when trying to use shadow maps in unsupported configuraions (#522) 2015-07-20 22:34:39 +02:00
krzys-h 52a3e0b24f Fixed minimap texture disappearing on texture settings change
Bug mentioned by @erihel in #505
2015-07-20 21:22:34 +02:00
krzys-h 4741118b61 Added new options to configuration presets 2015-07-20 20:47:44 +02:00
krzys-h 5593f427f6 Proper fix to #94 (finally!!!!)
It was so simple, wasn't it?
Additionaly:
* fixed texture recoloring after changing texture settings while simulation is running
* fixed annoying "could not open textures/shadow*.png" messages
* don't ChangeColor() if not in simulation to reduce lag in settings
2015-07-20 19:35:20 +02:00
krzys-h 7b3ae32626 Shadow mapping now disables old shadows 2015-07-20 18:56:15 +02:00
krzys-h f03734d17f Added shadow mapping to settings screen 2015-07-20 18:42:09 +02:00
krzys-h e2ebcb769e Added MSAA to settings screen 2015-07-20 16:29:09 +02:00
krzys-h 90756f8b34 Added FilterMode, MipmapLevel and Anisotropy to settings screen 2015-07-20 13:56:45 +02:00
krzys-h a879e496f5 Removed unused texture quality setting 2015-07-20 12:21:16 +02:00
krzys-h d3c3f47b19 Fixed particle rendering (#518)
Introduced in 5a1c6d19ff - I'm so dumb D:
I kinda recently noticed some of the SpaceShip particles were missing...
2015-07-19 21:17:58 +02:00
krzys-h 02c24fbf27 CProfile -> CConfigFile 2015-07-19 16:05:09 +02:00
Tomasz Kapuściński 644f5b4d7f Corrected some problems with dynamic shadows 2015-07-19 00:07:59 +02:00
Tomasz Kapuściński 1d69021e94 Potential fix to #511 2015-07-18 02:02:38 +02:00
Piotr Dziwinski b3b6435039 Use MakeUnique with level parser classes 2015-07-17 20:38:21 +02:00
Piotr Dziwinski a872ea128b Add MakeUnique template to avoid use of naked new 2015-07-17 20:06:59 +02:00
krzys-h 2b9811d225 Movie lock refactoring 2015-07-16 22:09:50 +02:00
Piotr Dziwinski 8ca77f27a1 Extracted CSDLFileHandler from CResourceManager
This also possibly fixes some rare error cases (e.g. #439)
2015-07-16 21:13:38 +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
Piotr Dziwinski 1183ed1980 Refactor old Get/SetPosition -> Get/SetPartPosition 2015-07-14 19:40:39 +02:00
Piotr Dziwinski 7c229b4e83 Fix reading new model format with CRLF line endings 2015-07-14 19:40:07 +02:00
Piotr Dziwinski 0d1b97510d Add exception handling when creating new objects on level loading 2015-07-14 18:28:42 +02:00
krzys-h 62fddd6d4f Made pendown() trace opaque 2015-07-14 17:38:29 +02:00
krzys-h 5a1c6d19ff Removed unused particle types 2015-07-14 14:16:19 +02:00
Piotr Dziwinski 20dbb8320b Remove unused reset code 2015-07-13 22:46:51 +02:00
krzys-h 6e404f5aa2 Better mouse scaling on widescreen resolutions 2015-07-13 11:58:52 +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 6dcef71802 GlobalSphere -> CameraCollisionSphere refactoring 2015-07-11 13:52:04 +02:00
Piotr Dziwinski f4b2f3468d CPoweredObject interface 2015-07-11 13:38:27 +02:00
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 93479af188 CTransportableObject interface 2015-07-10 19:51:49 +02:00
krzys-h ad08d50bea Renamed some CAuto and CMotion classes 2015-07-10 12:18:21 +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
Piotr Dziwinski b0ac2f8326 Refactor CObject interface related to crash spheres 2015-07-10 09:38:53 +02:00
Piotr Dziwinski c585922a45 Use boost::lexical_cast instead of std::to_string 2015-07-09 22:53:58 +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 c84ce92a86 Fixed F12 debug screen background 2015-07-09 18:50:11 +02:00
Piotr Dziwinski b0b313f707 Fix for issue #492 2015-07-07 21:36:37 +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
Tomasz Kapuściński 195667ab2c Potential fix for rendering problems in OpenGL 2.1 engine under Linux 2015-06-26 19:55:46 +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 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
Tomasz Kapuściński 37e2f24fbc Corrected small rendering problem 2015-06-25 11:47:42 +02:00
Tomasz Kapuściński 3cc2857372 Small corrections in MSAA implementation 2015-06-22 23:42:01 +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
Tomasz Kapuściński f2318803e5 Added Multisample anti-aliasing (MSAA) 2015-06-22 00:56:47 +02:00
Piotr Dziwinski 5f1d3c21d4 Fix some more warnings reported by Clang 2015-06-21 19:46:01 +02:00
Piotr Dziwinski 2d623b4427 Fix introduced compilation warnings 2015-06-21 19:38:07 +02:00
Tomasz Kapuściński dabfdf1ea0 Merge branch 'dev' of https://github.com/colobot/colobot into dev 2015-06-21 18:51:24 +02:00
Tomasz Kapuściński 7d57ec634e Refactored framebuffer implementations 2015-06-21 18:48:31 +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
Tomasz Kapuściński 94851c2694 Merge branch 'dev' of https://github.com/colobot/colobot into dev 2015-06-20 20:02:11 +02:00
Tomasz Kapuściński ec3069eea7 Defaulted shadow color value to 0.5 2015-06-20 20:02:06 +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 26ec927b37 Corrected compilation errors and warning 2015-06-15 20:27:44 +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 a880210b3d Added ShadowRange option 2015-06-15 18:41:31 +02:00
Tomasz Kapuściński ae29ebead3 Defaulted shadow color to 0.5 in OpenGL 2.1 engine 2015-06-05 19:48:28 +02:00
Tomasz Kapuściński 66d865942c Added OpenGL 2.1 shaders for per-pixel lighting 2015-06-02 16:55:03 +02:00
Tomasz Kapuściński d477caed3e Second attempt at correcting compilation error 2015-06-01 18:41:14 +02:00
Tomasz Kapuściński 7acca9feb8 Corrected compilation error and unsigned comparison warnings 2015-06-01 17:45:51 +02:00