Commit Graph

346 Commits (0c9e745213fd32a4a2f38948af474a4ecb20fc06)

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
Piotr Dziwinski a9a643eea4 Add virtual destructor to CScreen to fix memory corruption issue 2015-08-05 20:59:49 +02:00
krzys-h 47d79c9977 Added #Include support in level files 2015-08-05 19:27:26 +02:00
krzys-h 5e0cff29dc Removed GetChapPassed from maindialog.h 2015-08-04 23:32:44 +02:00
krzys-h 54254e2158 Split CMainDialog 2015-08-04 23:29:18 +02:00
krzys-h 3f48e4699d Moved window position and font size storage from CRobotMain to CSettings 2015-08-04 13:09:34 +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 522c54afc3 Possible fix for MXE builds 2015-08-03 22:12:41 +02:00
krzys-h 6ea98ed995 Fixed screenshot image lag on old GPUs that have problems with not power-of-2 textures (#546) 2015-08-03 22:06:27 +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
Piotr Dziwinski 3b585d9f51 Some style and whitespace fixes 2015-08-02 11:36:36 +02:00
krzys-h 119bc62a7c Fixed #542 2015-07-29 22:46:52 +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 59d5545eca Fixed code pause editor bug (#527) 2015-07-22 18:01:24 +02:00
krzys-h 0c54e1e8de Fixed public program save directory
Such a dumb mistake. AGAIN.
2015-07-22 12:23:26 +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 e821aa9cef Better scaling of shortcut buttons on widescreen resolutions 2015-07-20 21:07:20 +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 283676fea1 Fixed CEditValue crash
It happened after pressing slider buttons
2015-07-20 12:12:01 +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
krzys-h 8a72f0a849 Addressed commit comments on a0e0ee3631 2015-07-16 20:09:06 +02:00
krzys-h a0e0ee3631 Separate shortcut bars for teams 2015-07-16 13:46:40 +02:00
Piotr Dziwinski 83f3cfa6e0 Fix some memory problems reported by valgrind
Also remove some manual memory management
2015-07-15 20:23:21 +02:00