Commit Graph

416 Commits (82e06bfd8e5da5e732c33c73ab6bb0c785862efd)

Author SHA1 Message Date
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
krzys-h ef35a3a2ef Custom path to SecondTexture, closes #370 2014-11-10 20:46:39 +01:00
MrSimbax 3ffc08a7f9 Fixed amount of fireball damage done to allies, close issue #356
In the original game the whole series did damage 0.02 (0.10 * 0.2) to human. In Gold, one particle do such damage, so 51 particles do 51 * 0.02 = 1.02 damage to human! I changed the multiplier for allies from 0.2 to 0.004 (approx. 0.2 / 51), but this problem probably occured somewhere else during rewriting the engine from DirectX to OpenGL and SDL.
2014-11-02 13:34:59 +01:00
krzys-h d0a2d66270 Removed duplicate license header 2014-10-31 21:10:55 +01:00
krzys-h f8841f96f2 Added -headless
For automated stuff on devices without GPU
2014-10-31 20:40:13 +01:00
krzys-h 6d2fd18b41 Implemented mission timer 2014-10-29 17:53:46 +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 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
Tomasz Kapuściński 990ecf7290 Corrected clamping mode in textures 2014-10-26 22:24:12 +01:00
krzys-h c9eb3ce5c5 Another possible (and more likely correct) fix for #339 2014-10-25 18:17:03 +02:00
krzys-h 9d68868f8e Possible fix for #339 (?) 2014-10-25 18:00:39 +02:00
krzys-h 81062e5e87 Fixed linking convert_model (#332) 2014-10-25 12:44:52 +02:00
Tomasz Kapuściński 1aebe8af03 Added support for VBO in OpenGL older than 1.5 if ARB extension is present 2014-10-24 00:29:26 +02:00
krzys-h 2d043d46bb Merge branch 'vieux-blood_mode' into dev
Conflicts:
	src/common/restext.cpp
	src/ui/maindialog.cpp
2014-10-22 17:52:17 +02:00
Victor Vieux d019a4990f add option to disable blood 2014-10-21 21:44:17 -07:00
Tomasz Kapuściński d3a722a0c5 Improved VBO support detection 2014-10-22 00:53:35 +02:00
krzys-h 97b7c0cab1 Fixed map turning gray after resizing window 2014-10-20 21:54:52 +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 b3fa72c007 Moved effect??.png textures and made pos= in GroundSpot optional 2014-09-27 18:26:29 +02:00
Piotr Dziwinski 4bdfa0aa4e Remove unused accessors from CDevice 2014-08-12 18:18:30 +02:00
krzys-h 4a202a086f Fixed #314 2014-08-06 17:18:52 +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 7131abd385 Fixed SatCom image loading
Now LoadTexture/SetTexture functions require full path with "textures/" directory
2014-07-24 22:17:49 +02:00
Mohamed Waheed 117a5289ea fixed issue #223 about disabling shadows/ground textures 2014-07-12 19:37:34 +00:00
krzys-h 96d49d84aa Merge branch 'dev' into dev-physfs
Conflicts:
	data
	src/app/gamedata.cpp
	src/ui/control.cpp
	src/ui/edit.cpp
	src/ui/maindialog.cpp
2014-07-11 15:24:44 +02:00
krzys-h 106ec014b8 Fixed texture and script loading 2014-07-10 16:25:40 +02:00
krzys-h 1835d2ae58 Removed old code based on #ifs (issue #55) 2014-06-27 19:52:09 +02:00
Piotr Dziwinski 0fbc05b96c Fix test compilation 2014-06-26 22:36:57 +02:00
Mohamed Waheed b7125a5b24 formatting and enhancements for savefile screenshot feature 2014-06-24 20:27:31 +03:00
Mohamed Waheed 613e1d74c4 implemented savefile screenshot feature 2014-06-24 01:35:05 +03:00
Krzysztof Dermont 3aca1de731 More work on levels 2014-06-22 21:30:23 +02:00
Krzysztof Dermont 0556b5dfbc Added Exist() to resource manager, updated model 2014-06-22 16:29:26 +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
krzys-h f0d97bfdb9 Better datadir mod support 2014-05-18 12:12:47 +02:00
krzys-h f71658e38d Random relief generator 2014-04-10 21:50:26 +02:00
Oleg Kosmakov a181ba9bbf Fixes #271 2014-03-25 22:56:40 +02:00
andreymal e9960f5373 GetStringWidth fix 2014-03-02 04:15:59 +04:00
krzys-h 4a237f5925 CPauseManager 2013-12-31 13:24:09 +01:00
Piotr Dziwinski cd97feabb0 Revert back "Merge pull request #243 from OdyX/dev-fix-textures-loading"
False alarm, was caused probably by faulty build bot.
This definately should work on all platforms.
2013-10-29 22:04:12 +01:00
Piotr Dziwinski 70af33e45d Revert "Merge pull request #243 from OdyX/dev-fix-textures-loading"
Looks like it doesn't work on all platforms
2013-10-28 19:36:43 +01:00
Didier Raboud c2a717d5c9 Let mouse.png's format be detected
Fixes the mouse cursor on Mac OS X
2013-10-28 15:25:14 +01:00
Didier 'OdyX' Raboud 9e439d88bf Fix the detection of alpha-channel in textures as created by IMG_Load
This fixes the textures loading under Mac OS X
2013-10-28 15:23:56 +01:00
Piotr Dziwinski 9017dbbbdb Fixed CTerrain-related memory leaks 2013-10-13 14:44:12 +02:00
Piotr Dziwinski ccb63bd29e Fixed memory leaks in CText 2013-10-12 21:14:33 +02:00
Piotr Dziwinski 5d0d9b5aa5 Fixed some CBot-related memory leaks
* fixed leaks in CScript::CheckToken()
 * fixed leaks in CInterface
 * commented out unused function in robotmain.cpp
2013-10-12 18:50:30 +02:00
Piotr Dziwinski f8a6c6750a Fix for #228
* "empty" objects were wrongly handled in CPyro
2013-06-26 20:44:17 +02:00
erihel 41fa8458c2 Some Ui refactoring 2013-06-24 22:09:39 +02:00
Piotr Dziwinski bfcce26f89 Changes in build organization
* targets are now created in top-level build directory
 * more things are now configured through CMake options
 * changed debug build detection from NDEBUG to DEV_BUILD
 * moved po and desktop directories
 * moved last unit test out of src directory
2013-06-22 01:17:19 +02:00
Piotr Dziwinski 1377e48910 Reverted enum values to fix UT regression 2013-06-22 01:17:19 +02:00
Piotr Dziwinski 28b4e9a634 Fixed terrain light priorities (fix for #139)
* lights illuminating the terrain specified in scene file are now
   always moved to front of light ordering
2013-06-20 23:14:37 +02:00
Piotr Dziwinski 4c33172e17 Fixed string formats in light debug prints 2013-06-17 20:52:56 +02:00
Piotr Dziwinski 366d3a551e Added debug aids for lighting
* displaying positions of current lights (F11)
 * dumping info to console (F10)
 * added assert() in suspicious place in CPyro
2013-06-17 18:17:21 +02:00
Piotr Dziwinski b4700e3bed Fix for #133
* objects are now copied and textures are updated correctly
 * also added function to debug objects
2013-06-17 11:48:57 +02:00
Piotr Dziwinski 7874aca10c Enhanced logging, option to auto-start mission
* added logging of application events
 * changed debug mode flag to independent debug modes
 * added option to auto-start mission (load a mission immediately
   after startup)
 * removed "enum value out of range" prints
 * some refactoring
2013-06-16 21:54:36 +02:00
krzys-h 18b27d258e Fixed bug with white map
I'm not sure when it was introduced, probably in 8f6fd2a131.
It was showing errors like "Couldn't load texture 'map.png'" and "Invalid texture data"
2013-06-10 15:38:55 +02:00
Piotr Dziwinski b22d852b4c Fixed variable shadowing warnings
* fixed -Wshadow warnings
 * refactored some constructors
2013-05-27 22:29:42 +02:00
Piotr Dziwinski 950a3474d5 Refactored sound code
* fixed formatting and naming to be uniform with rest of code
 * moved default implementation of CSound to cpp module
2013-05-27 10:19:16 +02:00
Piotr Dziwinski 8765d58b02 Fixed code formatting
* moved braces to new lines
 * fixed some function/variable names
 * fixed whitespace issues
2013-05-27 10:19:16 +02:00
Piotr Dziwinski 8f6fd2a131 Changes in texture code & refactoring
* refactored and altered slightly the texture pack code
 * added flushing of texture cache
 * some refactoring and const-correctness in CApplication methods
2013-05-26 14:50:23 +02:00
Piotr Dziwinski b41957f2f9 Corrected some valgrind issues
* fixed several uninitialized variable issues
 * fixed possible memory corruption in CEngine
2013-05-26 11:34:53 +02:00
adiblol 1cd0bc3152 Resizing is fully functional so it can be enabled by default. 2013-05-25 23:18:27 +02:00
Piotr Dziwinski 07839a561f Unicode symbols for special characters
* added support for special characters from original text bitmaps
2013-05-12 18:38:01 +02:00
krzys-h 04f747b00b Added simple texturepack support (#208) 2013-05-12 14:55:41 +02:00
Piotr Dziwinski cec406ea31 Non-power-of-2 padding for background images
* added padding options
 * removed old hardcoded image sizes
2013-05-11 23:12:13 +02:00
Piotr Dziwinski f7f6e10c70 Added check and warning about non-power-of-2 textures 2013-05-11 21:40:09 +02:00