Commit Graph

582 Commits (8b86a1f222e44060400602844dc607d7a82aa1c1)

Author SHA1 Message Date
Tomasz Kapuściński 78e877d9a8 Changes in framebuffer creation, framebuffer error detection and small other graphical things 2016-02-29 16:42:01 +01:00
Tomasz Kapuściński 0bb5f96d7a Changed depth of shadow map texture to 32 2016-02-28 23:17:25 +01:00
krzys-h b97070bbad stupid whitespace 2016-02-28 20:57:39 +01:00
krzys-h 282cd65a2d Fix reloading changed ground spot textures (closes #404) 2016-02-28 20:22:05 +01:00
krzys-h 643c40e778 Revert "Get rid of "blacklisting shadowXX.png" logs"
This disabled loading of those textures completly

This reverts commit 60f0a7b45c.

 #BlamePiotrdzAgain
2016-02-28 20:17:35 +01:00
Tomasz Kapuściński 14d6ee74a3 Removed dirt from water surface 2016-02-27 15:29:41 +01:00
krzys-h 9c32f705b6 FIXED ALL GOLD EDITION LIGHTING PROBLEMS!! Yay! 2016-02-21 15:35:52 +01:00
krzys-h 3de6794835 Allow both right and middle mouse button for camera movement 2016-02-19 17:27:55 +01:00
krzys-h 700f3ad448 Edge camera speed fix 2016-02-19 17:22:20 +01:00
krzys-h b15666f48e Restored old camera scroll as a config option 2016-02-19 17:14:08 +01:00
krzys-h 1efa4b132c Fixed mouse invert settings; removed camera scroll setting 2016-02-19 17:14:08 +01:00
krzys-h 47d39e5b22 Right click camera; minor CCamera cleanups 2016-02-19 17:14:08 +01:00
krzys-h d9ccd6edf3 Camera smoothness adjustment 2016-02-19 17:14:08 +01:00
Tomasz Kapuściński 739f90e38e Reverted changes to OpenGL version detection 2016-02-18 20:51:02 +01:00
krzys-h 0256b1aa39 Add logging in font loading 2016-02-18 18:07:29 +01:00
krzys-h 1b21c387bb Fixed colobot-lint warnings 2016-02-18 12:20:40 +01:00
Tomasz Kapuściński 0ad53cc0d8 Fix compilation error 2016-02-18 01:36:37 +01:00
Tomasz Kapuściński 0eaf3a9ac4 Added rendering modes and shaders to OpenGL 3.3 engine and fixed problem with detecting extensions in core profile 2016-02-18 00:57:37 +01:00
Tomasz Kapuściński 0154af39aa Corrected compilation problem (GL_MAX_FRAMEBUFFER_SAMPLES) 2016-02-15 20:59:09 +01:00
Tomasz Kapuściński 517d6f069a Reimplemented drawing primitives in OpenGL 3.3 engine 2016-02-15 20:31:32 +01:00
Tomasz Kapuściński 79c21f6676 Moved LightLocations to outside of UniformLocations 2016-02-15 20:05:25 +01:00
krzys-h 977607a934 Updated license headers 2016-02-13 14:11:30 +01:00
krzys-h 55412842df Fixed some code style warnings 2016-02-13 13:46:56 +01:00
Tomasz Kapuściński 6b7e6cbc75 Added rendering modes and implemented additional OpenGL 2.1 shaders 2016-02-13 03:54:49 +01:00
Tomasz Kapuściński bf8916b9eb Changes in detection of graphics hardware capabilities 2016-02-12 16:14:29 +01:00
Krzysztof Dermont c780148b77 Fix crash related to TTF and PHYSFS
TTF fonts will be loaded to memory instead of file pointers

Added new class CSDLMemoryWrapper that loads data from PHYSFS into memory block
and closes file after. This closes issues #519, #708 and #619
2016-02-11 16:12:16 +01:00
Tomasz Kapuściński b6faadca03 Rewritten OpenGL 2.1 engine's two-sided lighting 2016-02-11 15:04:07 +01:00
Tomasz Kapuściński 32b480b226 Rewritten lighting in OpenGL 2.1 engine 2016-02-10 23:38:49 +01:00
Tomasz Kapuściński 898001e065 Changed CGL33Device requirement to OpenGL 3.2 2016-02-10 22:50:40 +01:00
Tomasz Kapuściński 447b466d6e Optimizations in graphics engines 2016-02-10 21:40:41 +01:00
Tomasz Kapuściński a924cf6a75 Fix for fog distance 2016-01-31 00:38:24 +01:00
Tomasz Kapuściński 15c5e69199 Fix for visibility distance setting 2016-01-30 23:58:26 +01:00
Tomasz Kapuściński 12067c1b9f Optimized light updating in CGLDevice 2016-01-30 18:51:13 +01:00
Tomasz Kapuściński 9db943b820 Optimized matrix operations in CGLDevice 2016-01-30 17:41:11 +01:00
Tomasz Kapuściński 05e19f47c3 Corrected MSAA support detection 2016-01-29 12:02:36 +01:00
Tomasz Kapuściński 00221c9a3f Optimized DrawPrimitives() in CGL33Device 2015-12-24 00:21:57 +01:00
Tomasz Kapuściński d944a55905 Optimized DrawPrimitives() in CGL21Device 2015-12-24 00:06:58 +01:00
Tomasz Kapuściński f2a295348c Optimized DrawPrimitives() in CGLDevice 2015-12-23 23:49:00 +01:00
Tomasz Kapuściński d82b5ef746 Added DrawPrimitives() for drawing multiple primitives (not optimized for now) 2015-12-23 23:23:10 +01:00
Tomasz Kapuściński 22e963e2c4 Added information about graphics card to error message 2015-12-20 17:34:55 +01:00
Tomasz Kapuściński aa2e14219e Added warnings and error messages to graphics devices regarding unsupported OpenGL version 2015-12-18 21:04:16 +01:00
Piotr Dziwinski d11ebc891c Bring to zero some types of issues reported by colobot-lint 2015-10-04 00:09:10 +02:00
krzys-h 3815ef0bd6 Refactored CPauseManager (again) 2015-10-01 18:55:41 +02:00
krzys-h 58035f3cd1 Fixed rendering camera overlay color, closes #157 2015-09-30 21:41:00 +02:00
krzys-h 95f1e3f19a Fixed water/lava moving and waves (#659) 2015-09-30 20:31:09 +02:00
krzys-h 2f0ec3fe75 Fixed lava particle effects (#659) 2015-09-30 20:21:25 +02:00
Piotr Dziwinski 61a3ba2800 Fix undefined function colobot-lint issues 2015-09-29 21:44:24 +02:00
krzys-h 2cb2782c9d Restored old Ceebot-Teen objects
In preparations for new programming course
2015-09-28 22:08:59 +02:00
Piotr Dziwinski 66ce745be0 Introduce forward declarations as suggested by colobot-lint 2015-09-27 16:28:14 +02:00
krzys-h 6a6025f557 Implemented force feedback 2015-09-27 00:34:03 +02:00
krzys-h 07df35ca01 Refactored mouse wheel 2015-09-25 22:54:48 +02:00
krzys-h a0034f8000 Finalized SDL2 migration 2015-09-25 21:26:49 +02:00
krzys-h dfa06dafcf Refactored window resize 2015-09-25 11:11:35 +02:00
krzys-h 53e4470dbf Started SDL2 migration 2015-09-24 21:09:46 +02:00
krzys-h 389aaaf132 Fixed 'invui' disabling too much 2015-09-12 11:51:03 +02:00
krzys-h 2792fa2c6c Fixed mouse cursor scaling (again)
How could I even miss the fact that my previous fix is not working at all? :P
2015-09-11 17:54:55 +02:00
krzys-h b058a6986b Minor improvments to plane camera 2015-09-06 20:33:04 +02:00
krzys-h 582e3c865f Allow controlling plane camera with number keys 2015-09-06 20:15:56 +02:00
krzys-h f6fdec1479 Allow controlling free camera with arrows when no object is selected 2015-09-06 20:09:47 +02:00
krzys-h 5fd1735678 Added option to move camera lookat point in free cam 2015-09-05 20:59:11 +02:00
krzys-h fb03a497d7 Added command to hide the UI 2015-09-04 19:16:21 +02:00
krzys-h e956311626 Moved free camera controls to numpad; added 'camtype %d', 'camspeed %f', 'freecam' 2015-09-04 19:04:42 +02:00
Tomasz Kapuściński 658e2ff1be Possible fix for issue #520 2015-09-02 21:35:43 +02:00
krzys-h c3d7876a5c Made CPauseManager not a singleton 2015-08-31 22:05:21 +02:00
krzys-h ff17961584 Refactored CPauseManager 2015-08-31 21:47:55 +02:00
krzys-h 2ec5e07080 Possible fix to #608 2015-08-31 12:06:14 +02:00
Piotr Dziwinski 3335be42de Fix MSVC compilation
Forgot to push this the last time
2015-08-30 22:11:30 +02:00
krzys-h d4b431adaa Recalculate camera projection matrix after aspect ratio change 2015-08-25 16:18:01 +02:00
krzys-h 844e7343e0 Possible fix to #601 2015-08-24 23:19:02 +02:00
krzys-h 6ed83bb63f Fixed Shielder not being destructible by OrgaMatter even when the shield is not active, closes #597 2015-08-24 21:12:06 +02:00
krzys-h f78f4854b4 Fixed failing assertion when turning objects into ruins, closes #598 2015-08-24 20:22:08 +02:00
krzys-h b5bd1b2d74 Destroy static buffers after resolution change
Under windows, changing the video mode causes SDL to destroy and recreate the OpenGL context, which invalidates all current static buffers.
It works on Linux because the actual SDL implementation here differs.

See http://sdl.beuc.net/sdl.wiki/SDL_SetVideoMode for details:
> Also note that, in Windows, setting the video mode resets the current OpenGL context. You must execute again the OpenGL initialization code (set the clear color or the shade model, or reload textures, for example) after calling SDL_SetVideoMode. In Linux, however, it works fine, and the initialization code only needs to be executed after the first call to SDL_SetVideoMode (although there is no harm in executing the initialization code after each call to SDL_SetVideoMode, for example for a multiplatform application).
2015-08-24 19:43:06 +02:00
Piotr Dziwinski 60f0a7b45c Get rid of "blacklisting shadowXX.png" logs 2015-08-22 18:17:57 +02:00
Piotr Dziwinski b93f610930 Fix license header in all files 2015-08-22 16:40:02 +02:00
krzys-h 8421189716 Merge branch 'dev-cbot-syntax-highlighting' into dev (#575) 2015-08-18 23:01:02 +02:00
krzys-h e91ecbbb01 Removed unused references to effect03.png from the code 2015-08-18 22:59:31 +02:00
krzys-h 1c0fc21e2b Made all colors a bit darker 2015-08-18 22:12:00 +02:00
krzys-h c5da68d516 New CBot syntax highlighting 2015-08-18 22:12:00 +02:00
krzys-h 371621ced4 Render trace colors in the code instead of using texture 2015-08-18 22:11:04 +02:00
krzys-h a5c84b9a1e Removed unused OBJECT_FIX and OBJECT_FRET 2015-08-18 11:43:41 +02:00
Piotr Dziwinski a63a959dbe Apply clang-modernize -use-nullptr 2015-08-17 22:40:52 +02:00
Piotr Dziwinski ba3284b8b8 Apply clang-modernize -add-override 2015-08-17 22:12:09 +02:00
krzys-h 2dbacc28b5 Fixed too small AlienAnt damage 2015-08-17 22:05:26 +02:00
krzys-h 1185bd4c36 Fixed OrgaMatter destroying itself and the wasp 2015-08-17 19:12:58 +02:00
krzys-h 1059ae37c1 Shielder subclass 2015-08-17 14:06:31 +02:00
krzys-h 75de19f10e COldObjectInterface::SetViewFromHere -> CControllableObject::AdjustCamera 2015-08-17 11:53:34 +02:00
krzys-h e11d2ec33e Refactor object dying status and GetActive 2015-08-16 20:24:48 +02:00
krzys-h b2e7815001 Fixed AlienSpider explosion
#fail
2015-08-16 18:12:34 +02:00
Piotr Dziwinski 2289d69735 Replace NULL -> nullptr 2015-08-16 12:43:42 +02:00
Piotr Dziwinski d703eb7165 Compile fixes for MSVC2013 2015-08-16 00:39:08 +02:00
Piotr Dziwinski dd227f5fba Fix some stupid mistakes connected with implicit bool casts 2015-08-15 19:17:15 +02:00
krzys-h 9a15db1bea Split global.h 2015-08-15 14:02:07 +02:00
krzys-h 9d8bef877d Renamed old-style shadows to shadow spots in the code 2015-08-14 13:37:40 +02:00
krzys-h 78a279b479 Better shadow type selection UI 2015-08-14 13:37:27 +02:00
krzys-h eda7435eb6 Removed a lot of useless settings (#556) 2015-08-14 13:04:05 +02:00
krzys-h 1d6c3cc748 Fixed CEngine trying to use unsupported values as defaults, closes #552
Also fixed the settings buttons not being disabled properly
2015-08-14 12:03:53 +02:00
krzys-h 92591c23b6 When flushing texture cache, also remove device textures 2015-08-13 23:49:01 +02:00
krzys-h 1c461ce1c8 Prevent reloading background if not needed 2015-08-13 23:44:08 +02:00
Piotr Dziwinski 0258b63d39 Fix memory leak in creating textures 2015-08-13 23:42:27 +02:00
krzys-h c399e5e246 Somehow missed some more Scraps :/ 2015-08-13 19:53:03 +02:00
krzys-h 08afa4b134 Fixed falling OrgaMatter object destruction 2015-08-13 19:04:15 +02:00
krzys-h bfd3a5b23c Refactored ExplodeObject 2015-08-13 18:54:44 +02:00
krzys-h e5e1d4973f CDestroyableObject, CFragileObject, CShieldedObject and CShieldedAutoRegenObject 2015-08-13 13:41:25 +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 e937db94c8 Moved GetPhysics() and GetMotion() to CMovableObject; moved trace drawing to CTraceDrawingObject 2015-08-13 10:49:45 +02:00
Piotr Dziwinski 93a06c0c23 Remove manual memory management from graphics classes 2015-08-12 21:07:16 +02:00
krzys-h 63d83185b5 Move GetTooltipText and Get/SetLock to CObject; remove Get/SetEnable 2015-08-12 00:16:57 +02:00
krzys-h 15c1c7ee03 CMovableObject, CControllableObject 2015-08-10 23:21:15 +02:00
krzys-h 6b4610e808 Improved stats display 2015-08-09 15:20:38 +02:00
krzys-h 0ed11e0e7d Fixed "unable to open shadow??.png texture" errors again 2015-08-07 22:48:26 +02:00
krzys-h 0468c3efdb Fixed ULTRA LONG loading time bug introduced in 5593f427f6
Well... that escalated quickly :P
And it remained unnoticed for so long!
2015-08-07 22:36:50 +02:00
krzys-h 57469533b6 Implemented loading progress bar 2015-08-07 20:48:55 +02:00
krzys-h f90bb63520 Hide some things in save screenshots
Save indicator, mouse cursor, CDisplayText and interface particles
2015-08-07 15:59:05 +02:00
krzys-h 7da6f1b704 More random virus particles 2015-08-07 15:18:04 +02:00
krzys-h 9bf53e48e8 Changed TAB character rendering to be red, like in the original game 2015-08-07 14:16:10 +02:00
krzys-h 4d5b4c47a2 Use CText for virus particle rendering
As suggested by @RaptorParkowsky on Trello - https://trello.com/c/56MszsWA/66-texture-remastering-checklist
2015-08-07 13:29:29 +02:00
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