Commit Graph

383 Commits (3f57aab406bee0a7ee89c40dbc4101741936d294)

Author SHA1 Message Date
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
Tomasz Kapuściński d112971c3e Corrected shadow mapping and added experimental self-shadowing 2015-06-01 17:22:49 +02:00
Tomasz Kapuściński a0c56f54cb Shader and buffer optimizations 2015-06-01 17:21:10 +02:00
Tomasz Kapuściński d33ddae15a Added warnings and information what shader files are not available 2015-05-29 12:39:14 +02:00
Tomasz Kapuściński e1a0f5b1c7 Added OpenGL 2.1 engine 2015-05-27 22:12:02 +02:00
Tomasz Kapuściński 08bf066f78 Added shadow color setting 2015-05-27 21:58:32 +02:00
Tomasz Kapuściński fa67e815b8 Implemented per-vertex lighting and set it as default in OpenGL 3.3 engine 2015-05-22 18:53:51 +02:00
Tomasz Kapuściński 8abdd4b740 Improved shadow mapping 2015-05-21 18:18:46 +02:00
Tomasz Kapuściński f67c01e5e7 Added proper render to texture support 2015-05-21 18:03:17 +02:00
Tomasz Kapuściński a045bf3830 Added shadow ambient support 2015-05-21 16:47:24 +02:00
Piotr Dziwinski b1e8341475 Move OpenGL 3.3 shaders to main repository 2015-05-20 23:30:46 +02:00
Piotr Dziwinski 619ac3cf8d Fixed glew linking problem on MXE 2015-05-19 23:03:32 +02:00
Tomasz Kapuściński 3a1dffd8df Fixing some warnings 2015-05-19 17:15:08 +02:00
Tomasz Kapuściński df8223700b Corrected compilation error 2015-05-19 16:26:41 +02:00
Tomasz Kapuściński 933609967a Added OpenGL 3.3 graphics implementation 2015-05-19 14:29:31 +02:00
Tomasz Kapuściński d210dcf70e Implemented graceful degradation of shadow quality when not enough texture units are available 2015-05-15 10:12:35 +02:00
Tomasz Kapuściński e747443312 Increased quality of dynamic shadows 2015-05-14 15:31:57 +02:00
Tomasz Kapuściński 03244ecdfd Corrected assertion error when changing offscreen rendering 2015-05-12 20:20:57 +02:00
Tomasz Kapuściński 2665847c41 Added support for offscreen rendering and high resolution shadow maps 2015-05-12 13:09:31 +02:00
Tomasz Kapuściński b033e35385 Transparent textures no longer cast shadows in transparent parts 2015-05-11 18:00:02 +02:00
Tomasz Kapuściński 0b2f00530b Added experimental support for dynamic shadows (shadow mapping) 2015-05-11 15:21:17 +02:00
Tomasz Kapuściński 619b3f2e45 Fixes recent mistake (- instead of +) 2015-05-07 13:05:20 +02:00
Tomasz Kapuściński 3164e7256e Changed terrain UV mapping (fixes #306 for OpenGL engine, will cause similar problem on Direct3D) 2015-05-07 12:58:05 +02:00
Tomasz Kapuściński d3b052f19b Implemented trilinear filtering, mipmap level setting and anisotropic filtering 2015-05-06 17:55:10 +02:00
Piotr Dziwinski 3dce58c0fa Replace override and noexcept with macros 2015-04-27 18:07:42 +02:00
krzys-h c481906242 Added nullptr checks in CPyro, should fix #462 2015-04-18 11:33:39 +02:00
krzys-h ed0850ddb6 Fixed buttons "eating" other characters in SatCom 2015-04-07 12:27:31 +02:00
krzys-h efe04be1c2 Implemented button rendering in SatCom (#232)
Finally!
2015-04-07 12:06:43 +02: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 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 a50da4f5de Loading texturesfrom objects/ subdirectory
Closes #381
2014-11-11 15:52:08 +01:00
krzys-h dbdaecd1e8 Fixed texture recoloring reset
Partially fixes #218
2014-11-11 15:32:38 +01:00