Commit Graph

200 Commits (0c9cf51d81a460d7f06cd74cf25b050680aa82e3)

Author SHA1 Message Date
Piotr Dziwinski 7097ec38e3 Fix very subtle memory access bug
Some CScreen classes have functions which call ChangePhase() on
CRobotMain, which in turn calls ChangePhase() on CMainDialog, which in
turn deletes current CScreen object :(.

So the fix is to keep all CScreen objects created all the time and only
keep pointer to the currently active object.

This also makes it easy to clean up dependencies between CScreen classes
and get rid of all these ugly static variables and functions.
2015-08-06 08:18:22 +02:00
krzys-h 95a438bcc6 Fixed cheat console and particles during loading 2015-08-05 22:54:13 +02:00
krzys-h 54254e2158 Split CMainDialog 2015-08-04 23:29:18 +02:00
krzys-h a4f12f1b11 Removed unused m_access* variables 2015-08-04 12:50:49 +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 ea7bfdefda Moved scene to load out of CMainDialog 2015-08-04 10:56:49 +02:00
krzys-h fc8d8cb9d4 Moved saved scene loading to CPlayerProfile 2015-08-04 09:55:39 +02:00
krzys-h 5e4a423bf0 Cleaned up "textures/"+something, fixed more possible occurences of #531 2015-08-03 20:55:33 +02:00
krzys-h 1e38edcec7 Fixed InterfaceGlint and InterfaceRain using the same config value name 2015-08-03 20:40:27 +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
krzys-h 1bc0c891b0 Fixed early profile creation (#538) 2015-07-29 18:17:28 +02:00
krzys-h ab6a8eba2b Possible fix to #482 2015-07-29 09:41:25 +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 4741118b61 Added new options to configuration presets 2015-07-20 20:47:44 +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 fce1539888 Made settings unavailable during in simulation setup visible but not editable 2015-07-20 17:19:49 +02:00
krzys-h 572b8ea566 Fixed a crash on exiting from win scene to level list 2015-07-20 17:06:28 +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 1c947f9a80 Renamed some phases to more meaningful names 2015-07-19 23:11:41 +02:00
krzys-h a2f1aa195b Combined all level list phases into one, removed PHASE_TERM 2015-07-19 23:07:57 +02:00
krzys-h 8c87eedd28 Fixed huge lag on closing settings
Introduced in 02c24fbf27, this was supposed to make it more resistant to crashes but turned out to generate huge lag on closing settings
Instead, I added manual .Save() after every value change
2015-07-19 21:35:55 +02:00
krzys-h 264f5dc278 Removed obsolete save directory configuration
This was used in one of the CeeBots probably for setting up networked installations in schools. This is now obsolete since now those are only paths relative to main PHYSFS save directory.
2015-07-19 16:05:09 +02:00
krzys-h ffb387f8af Changed scene loading to use CPlayerProfile for paths 2015-07-19 16:05:09 +02:00
krzys-h 7dc3e90e41 CPlayerProgress -> CPlayerProfile 2015-07-19 16:05:09 +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
krzys-h 3e1fc06d6c CPlayerProgress
Extracted most operations on user profile from CRobotMain and CMainDialog to a dedicated class
2015-07-18 23:14:20 +02:00
krzys-h 86f473ac16 Finished support for up to 999 chapters and levels 2015-07-18 19:48:25 +02:00
krzys-h ea9361fbb4 LevelCategory enum 2015-07-18 19:45:40 +02:00
Piotr Dziwinski b3b6435039 Use MakeUnique with level parser classes 2015-07-17 20:38:21 +02:00
krzys-h c8f6e8124e Replaced CLogger::GetInstancePointer() calls with GetLogger() 2015-07-16 22:12:44 +02:00
Piotr Dziwinski 31bc740f4b Fix focusing issues with controls and cheat console 2015-07-15 19:11:48 +02:00
Piotr Dziwinski 20dbb8320b Remove unused reset code 2015-07-13 22:46:51 +02:00
krzys-h 38a0849e10 Added system mouse option
This reverts commit e21853d632.
2015-07-13 12:11:11 +02:00
krzys-h 03717e11d4 Added aspect ratio in resolution list (#501) 2015-07-11 23:53:25 +02:00
krzys-h 36d08e852c Better splashscreen scaling on widescreen resolutions 2015-07-11 12:57:18 +02:00
krzys-h 26619e3f88 Removed old level parser functions (cmdtoken.cpp) 2015-07-10 11:51:59 +02:00
krzys-h 7e41e9fe23 Refactored keybindings storage 2015-07-10 10:11:40 +02:00
krzys-h 5a68558f4c Implemented basic joystick selection
You can select joystick in the config file, there is still no GUI. By default, the first available joystick is used.
issue #171
2015-07-10 00:05:43 +02:00
Piotr Dziwinski 02ffdcfe23 Refactor level parser code
* replace manual memory management with std::unique_ptr
 * remove unnecessary dynamic allocations
 * make coding style consistent
2015-06-21 20:59:23 +02:00
Tomasz Kapuściński 74a31c9fb4 Corrected compilation errors on Linux builds 2015-06-16 19:30:35 +02:00
Tomasz Kapuściński a880210b3d Added ShadowRange option 2015-06-15 18:41:31 +02:00
Tomasz Kapuściński 1e3c2cc2df Increased the height of text area for displaying authors.txt (should fix #465) 2015-05-09 20:36:32 +02:00
krzys-h 45edb29de4 Fixed event management in settings, again 2015-04-17 22:02:10 +02:00
krzys-h e21853d632 Removed old, unused mouse shadow option 2015-04-17 21:54:03 +02:00
krzys-h c32e552368 Fixed event management in settings phases, fixes #452 2015-04-17 21:47:03 +02:00