Commit Graph

225 Commits (8b0ccf6667e0ddaba0fae6ad6f2ddc5a1d6bc680)

Author SHA1 Message Date
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 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
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
krzys-h 6e404f5aa2 Better mouse scaling on widescreen resolutions 2015-07-13 11:58:52 +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 36d08e852c Better splashscreen scaling on widescreen resolutions 2015-07-11 12:57:18 +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
krzys-h c84ce92a86 Fixed F12 debug screen background 2015-07-09 18:50:11 +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
Tomasz Kapuściński 7d57ec634e Refactored framebuffer implementations 2015-06-21 18:48:31 +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 a880210b3d Added ShadowRange option 2015-06-15 18:41:31 +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 e1a0f5b1c7 Added OpenGL 2.1 engine 2015-05-27 22:12:02 +02:00
Tomasz Kapuściński 8abdd4b740 Improved shadow mapping 2015-05-21 18:18:46 +02:00
Tomasz Kapuściński 3a1dffd8df Fixing some warnings 2015-05-19 17:15:08 +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 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 d3b052f19b Implemented trilinear filtering, mipmap level setting and anisotropic filtering 2015-05-06 17:55:10 +02: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 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
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 9d68868f8e Possible fix for #339 (?) 2014-10-25 18:00:39 +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
krzys-h 4a202a086f Fixed #314 2014-08-06 17:18:52 +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
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 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 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
Piotr Dziwinski 9017dbbbdb Fixed CTerrain-related memory leaks 2013-10-13 14:44:12 +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
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 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
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
XienDev 658ebe015f Fix for shadows (bugs #176 and #132) 2013-04-29 13:51:37 +03:00
Piotr Dziwinski ff97de5477 Fixed graphics objects after reset
Should fix #120 and perhaps some other bugs as well
2013-03-31 13:06:38 +02:00
Piotr Dziwinski 195d6cded0 Fixed timer functions on win32
* changed win32 implementation to QueryPerformaceTimer system function
 * refactored system utils code
 * proper tests for time utils and update event creation in application
 * should fix issue #134
2013-03-24 12:00:12 +01:00
Piotr Dziwiński 001d37b257 CInstanceManager refactoring
* removed classes managed by CInstanceManager
   except for CObject, CPyro, CBrain and CPhysics
   because of dependencies
 * refactored instance searching to use existing singleton instances of
   CApplication, CEngine and CRobotMain and calling their getter
   functions
2013-02-17 12:11:56 +01:00
Piotr Dziwinski a937a7b6ec Changed model min/max to LOD levels 2013-01-27 11:43:53 +01:00
Piotr Dziwinski d1942e1216 Correct font scaling with resolution 2013-01-04 00:29:19 +01:00
Piotr Dziwinski 2ebe1fbcb6 Fixed spider and worm model loading 2012-12-28 13:23:49 +01:00
Piotr Dziwinski 3582f107a5 Fixes and refactoring 2012-12-27 14:18:16 +01:00
Piotr Dziwinski 5574eccebd Engine optimization - rewritten model management
- new class CModelManager
 - rewritten engine object structure in CEngine
 - created shared model data instead of separate objects per each
   model instance
 - minor refactoring
2012-12-26 20:58:02 +01:00
Piotr Dziwinski 4811defca2 Static objects using OpenGL VBOs and display lists 2012-12-14 21:30:35 +01:00
Piotr Dziwinski 3ce488307f Performance counters 2012-10-25 23:29:49 +02:00
Piotr Dziwinski 688315ab76 ComputeSphereVisibility and fixes in CEngine TODOs
- view frustum culling with ComputeSphereVisibility - game should run
  faster now
- resolved/removed most TODOs from CEngine
- fixed OpenGL tests
2012-10-20 23:06:56 +02:00
Piotr Dziwinski 40e065aea9 Ground spot texture drawing 2012-10-20 16:34:22 +02:00
Piotr Dziwinski 6d06c9f722 Flare textures should work now 2012-10-19 23:05:41 +02:00
Piotr Dziwinski be4654c63b Fix track mapping and sphere particle position 2012-10-19 22:43:18 +02:00
Piotr Dziwinski a90cd304ba Track texture mapping 2012-10-19 22:37:11 +02:00
Piotr Dziwinski 6fdaf5de46 CParticle rewrite 2012-10-05 18:59:49 +02:00
Piotr Dziwinski 85d253b094 Fixed bugs in texture coloring 2012-09-30 11:26:59 +02:00
Piotr Dziwinski 8ea4736a46 Font coloring; fix for resize hack
- added font coloring and changed default color to black
- fixed resize hack incorrectly changing video config,
  but font resizing will not work for now
2012-09-30 10:56:35 +02:00
Piotr Dziwinski b46dc3850f Map texture painting 2012-09-30 00:23:26 +02:00
Piotr Dziwinski a8554cfae3 Texture coloring 2012-09-29 23:37:38 +02:00
Piotr Dziwinski 4193f8a3a9 Fix for transparent objects and fadeouts 2012-09-29 22:44:05 +02:00
Piotr Dziwinski 5a751d9c0d Fixed texture regression
There was a bug in texture modesetting but only visible after certain
mode changes.
2012-09-29 19:35:14 +02:00
Piotr Dziwinski 677ce3960c Some fixes and optimizations
- fixed 2nd texture setting
- added padding to some structs for faster access
- changed rendering primitives to glDrawArrays()
- optimized texture modesetting calls
- fixed some valgrind errors
2012-09-29 10:40:11 +02:00
Piotr Dziwinski 6d0ed0d26a Completely fixed light issues
Directional and spot lights are now set properly
2012-09-27 23:18:12 +02:00
Piotr Dziwinski 80d3a9bff1 Lighting fix (experimental)
- changed fixed light allocation to prioritized per-use basis
- minor refactoring in CPlanet and CWater
2012-09-26 23:18:57 +02:00
Piotr Dziwinski 45fd8aad33 Fog color fix; refactoring
- fixed fog color setting
- removed unused glSecondaryColor and altered struct VertexCol
- minor refactoring in CText
2012-09-26 16:31:04 +02:00
Piotr Dziwinski b1edcc822f Various fixes
- disabled UserDir() in path lookup
 - fixed crashes on loading missions in CObject
 - fixed texture bug in CTerrain
 - changed mouse move event handling to avoid flooding event queue
 - enabled all missions for testing
2012-09-22 17:36:10 +02:00
Piotr Dziwinski fd09071c29 Data dir paths
- changed access to paths in data directory in CApplication
- models now load from data directory
2012-09-22 14:40:13 +02:00
Piotr Dziwinski 0ff419560d Event fixes & refactoring
- added new state tracking to Event
- removed old fields from Event
- fixed some issues with Events and fps counter
2012-09-22 00:38:17 +02:00
Piotr Dziwinski 60c37aac3a robotmain, restext and engine fixes 2012-09-21 00:01:03 +02:00
Piotr Dziwinski bd36d76b31 Mouse pos setting, low cpu mode, stats display 2012-09-20 20:37:37 +02:00
Piotr Dziwinski 7b6bbf79c4 Namespace and styling fix 2012-09-19 23:50:28 +02:00
Piotr Dziwinski 4b67386a69 Change of background image handling
- removed old 4 quarter backgrounds
- fixes in texture loading
- other minor fixes
2012-09-17 23:41:53 +02:00
Piotr Dziwinski 6a0d150539 Interface works
- removed mock of CInterface and fixed event passing to CRobotMain
- changed texture names from tga and bmp to png
- UI now works but interaction is still broken
2012-09-16 10:38:08 +02:00
Piotr Dziwinski 34d7dcf3be Simulation timestamps and input bindings
- added new simulation time calculations in CApplication
- added simulation frame updates
- rewritten old input binding code and input state tracking
2012-09-12 23:43:04 +02:00
Piotr Dziwinski c6673b9aee Texture format detection; minor fixes
- detection of texture format
- fixed depth mask bug
- minor refactoring
2012-09-09 12:56:09 +02:00
Piotr Dziwinski c2c1294ec9 CTerrain refactoring & fixes
- refactored CTerrain code
- fixed some minor bugs
2012-09-08 23:44:14 +02:00
Piotr Dziwinski 3e52ae4ca9 Fixes in terrain rendering 2012-08-27 01:02:25 +02:00
Piotr Dziwinski 5b45911856 Improved error messages
Added some logging and improved error messages displayed to user
2012-08-13 23:09:30 +02:00
Piotr Dziwinski 712154bc4f Rendering functions, documentation
- rewrote the render functions for CEngine, CCloud and CWater
- added documentation
2012-08-13 00:14:42 +02:00
Piotr Dziwinski 45a5e1e865 Object handling in CEngine
- finished rewriting CEngine object, shadow, etc. handling
- refactored texture code
- added new log levels
2012-08-12 19:28:22 +02:00
Piotr Dziwinski b4b74c30e9 Fixes & testing in CEngine
- fixed bugs in settings modes, etc.
- some additions and minor refactoring
2012-08-12 10:45:04 +02:00
Piotr Dziwinski 7f80ca2971 Render mode setting, refactoring
- finished SetState in CEngine
- refactored Size and IntSize back to Point and IntPoint
- other minor changes in CEngine
2012-08-11 17:17:04 +02:00
Piotr Dziwinski 63257034c9 Partial CEngine implementation
- added rewritten implementation for basic modesetting in CEngine
- started rewriting proper rendering and object handling in CEngine
2012-08-10 23:31:42 +02:00
Piotr Dziwinski c3ab23ac9d Graphics stubs
- added stubs for functions in CLightning, CParticle and CPyro
- cleaned object.h and physics.h headers
- created temporary stubs to compile CCamera
- other necessary changes to compile successfully
2012-08-09 22:50:04 +02:00
Piotr Dziwinski 878eec8eea CTerrain implementation
Added rewritten CTerrain implementation
Compiles OK, but functions are missing from other classes
Also needs testing
2012-08-08 21:32:44 +02:00
Piotr Dziwinski f7e78b21e9 Font rendering
- implemented rest of CText interface excluding some minor features
2012-08-06 20:20:50 +02:00
Piotr Dziwinski 61bfb22f27 Basic font rendering
- added basic font rendering
- minor refactoring & fixes
2012-08-03 23:23:13 +02:00
Piotr Dziwinski 7c5a3514dd Video mode changing
- added video mode querying & changing
- added joystick querying & changing
- cleaned up CApplication interface
2012-07-29 15:09:53 +02:00
Piotr Dziwinski 4ddcd9f810 Change of paths in src/graphics
- moved abstract core to src/graphics/core
- moved proper graphics engine to src/graphics/engine
2012-07-26 22:26:19 +02:00