krzys-h
ceae617949
Fixed user programs disappearing after swapping them with level programs
2015-08-15 23:47:51 +02:00
krzys-h
bc7d0c1c51
Rewritten program storage, closes #534
2015-08-15 23:29:21 +02:00
krzys-h
0eaf0d6f65
Split Programmable and ProgramStorage
2015-08-15 21:29:08 +02:00
krzys-h
856c5baa0e
Removed CTaskManager
2015-08-15 20:30:15 +02:00
krzys-h
9a15db1bea
Split global.h
2015-08-15 14:02:07 +02:00
krzys-h
0ec3f29e68
Fixed win/lost scene music cached at startup not being ever used
2015-08-14 19:44:44 +02:00
krzys-h
78a279b479
Better shadow type selection UI
2015-08-14 13:37:27 +02:00
krzys-h
009b3abc03
Moved some interface controls
2015-08-14 13:14:57 +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
41c0ec0940
Fixed game save being always blocked
...
Also, prevent autosave if saving is blocked
2015-08-14 00:21:18 +02:00
krzys-h
02b76e5aba
Workaround for too fast calling of m_app->Render
2015-08-14 00:10:07 +02:00
Piotr Dziwinski
26e4ec0ae2
Add more missing includes and forward declarations
2015-08-13 22:49:05 +02:00
krzys-h
bc05cda0e7
Removed image, link and marker limits in SatCom, closes #554
2015-08-13 14:14:11 +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
krzys-h
60797f72d3
Removed some old, unused code
2015-08-12 17:25:41 +02:00
krzys-h
63d83185b5
Move GetTooltipText and Get/SetLock to CObject; remove Get/SetEnable
2015-08-12 00:16:57 +02:00
Piotr Dziwinski
571cc96523
Add proper initializers and remove manual memory management in ui classes
2015-08-11 23:15:32 +02:00
krzys-h
364f87c49b
CPowerContainerObject interface
2015-08-11 22:51:16 +02:00
krzys-h
15c1c7ee03
CMovableObject, CControllableObject
2015-08-10 23:21:15 +02:00
krzys-h
abb272600e
Merged CBrain into CProgrammableObject
2015-08-10 18:16:00 +02:00
krzys-h
726cfbda77
Removed manual memory management in CBrain and CObjectInterface
2015-08-10 17:17:02 +02:00
krzys-h
a3fa3487b2
Fixed editor being unavailable after starting the program
2015-08-10 17:06:26 +02:00
krzys-h
a754b2ad06
Fixed manual control overriding tasks
2015-08-10 17:02:31 +02:00
krzys-h
78a51f0acb
Moved all UI code out of CBrain into Ui::CObjectInterface
2015-08-10 16:37:03 +02:00
krzys-h
3a5f618f65
CTaskExecutorObject interface; some general task and CBrain cleanup
2015-08-10 13:46:39 +02:00
krzys-h
2f156f022e
Fixed screen_level_list.cpp warnings
2015-08-09 23:21:08 +02:00
krzys-h
115e18cc85
Fixed version display being invisible during loading
2015-08-09 22:53:59 +02:00
krzys-h
a8707e2568
Added Anisotropy to configuration presets
2015-08-09 22:41:43 +02:00
krzys-h
903f4f144f
Fixed apperance interface ( #551 )
2015-08-09 22:32:28 +02:00
krzys-h
bb3fc63e03
More details on terrain loading
2015-08-07 23:40:38 +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
6d363ba887
Fixed version being displayed during intro
2015-08-07 15:26:37 +02:00
krzys-h
d58d015edd
Fixed selection save when saving manually
2015-08-07 15:25:17 +02:00
krzys-h
0d00952b10
Rename text.png to effect03.png
2015-08-06 22:41:54 +02:00
krzys-h
69e6ae2c5e
Added "saving in progress" indicator
2015-08-06 20:15:17 +02:00
krzys-h
8d34286b1d
Added "No userlevels installed" message
2015-08-06 19:37:18 +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
e05fba22fd
Moved some interface controls around
2015-08-06 19:03:15 +02:00
krzys-h
ec3ded75b8
Removed unused LOD level setting
2015-08-06 18:35:56 +02:00
krzys-h
7649731b49
Reimplemented hiding mouse during loading
2015-08-06 18:28:28 +02:00
krzys-h
dc9e2d2e8b
GUI loading error popup
...
Also added fireParticles option
2015-08-06 18:19:01 +02:00
krzys-h
b9bd075903
Drop (now unused) m_phase from CMainDialog
2015-08-06 16:20:29 +02:00
krzys-h
711643b454
Refactored CMainDialog
2015-08-06 16:02:59 +02:00
Piotr Dziwinski
6ca0757fec
Fix for Clang compilation
2015-08-06 14:31:40 +02:00
krzys-h
0dbfa027b1
Fixed dialog opening animation and particles
2015-08-06 14:04:33 +02:00
krzys-h
02417363e4
Fixed version text disappearing during loading
2015-08-06 14:03:07 +02:00
krzys-h
f0cfc35356
Fixed mouse particles appearing in simulation
2015-08-06 13:54:59 +02:00
krzys-h
b20d589c87
Check available texture units in shadow mapping settings
2015-08-06 13:47:42 +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
krzys-h
a322f46f00
Split CScreenSetup
2015-08-06 12:16:38 +02:00
Piotr Dziwinski
596bb49de0
Normalize static variables and functions
...
* get rid of some of them
* put the rest into anonymous namespaces
2015-08-06 10:12:20 +02:00
Piotr Dziwinski
bdeeaf690b
Get rid of memsets
2015-08-06 09:37:25 +02:00
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
Piotr Dziwinski
31bc740f4b
Fix focusing issues with controls and cheat console
2015-07-15 19:11:48 +02:00
Piotr Dziwinski
d5da68d59a
Refactor old Get/SetAngle/Zoom -> Get/SetPartRotation/Scale
2015-07-14 21:35:43 +02:00
krzys-h
e1223ff881
Fixed shortcuts behavior
...
It was kinda broken after implementing code battles
Also, fixed overlap of shortcuts bar with cheat console
2015-07-14 21:32:08 +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
Piotr Dziwinski
394f911d7b
Remove unnecessary #include "object/object.h"
2015-07-12 14:23:18 +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
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
Piotr Dziwinski
93479af188
CTransportableObject interface
2015-07-10 19:51:49 +02:00
krzys-h
26619e3f88
Removed old level parser functions (cmdtoken.cpp)
2015-07-10 11:51:59 +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
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
9b232ee3f5
Sound enum refactoring
...
* rename Sound -> SoundType
* add parsing string to SoundType
2015-07-09 21:32:25 +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
krzys-h
78e09c757d
Basic support for teams and code battle missions
2015-06-26 22:07:55 +02:00
Piotr Dziwinski
88ec9aaae3
Drop GCC 4.6 support
2015-06-26 00:24:32 +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
90bf51ba54
Possible fix for #458
2015-06-22 22:53:55 +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
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
Piotr Dziwinski
5f1d3c21d4
Fix some more warnings reported by Clang
2015-06-21 19:46:01 +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
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
Piotr Dziwinski
6c87144ae8
Merge branch 'ManuelBlanc-dev-osx' into dev
2015-04-28 15:18:37 -07:00
Piotr Dziwinski
4c8127c6ec
Fix two bugs uncovered by MSVC
2015-04-27 20:04:01 +02:00
Piotr Dziwinski
3dce58c0fa
Replace override and noexcept with macros
2015-04-27 18:07:42 +02:00
krzys-h
d23170aaf1
Fixed monospace CBot editor font ( closes #464 )
2015-04-23 21:01:04 +02:00
krzys-h
df4cb110b5
Made example programs not directly runnable ( #450 )
2015-04-17 22:39:57 +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
krzys-h
efe04be1c2
Implemented button rendering in SatCom ( #232 )
...
Finally!
2015-04-07 12:06:43 +02:00
krzys-h
2f5d4e3b2f
Fixed cheat console in main menu
2015-04-06 17:23:18 +02:00
krzys-h
1dd3a4d57e
Fixed loading challenge solutions and made them read-only
2015-04-06 17:00:22 +02:00
krzys-h
58016c6c69
Made programs from SatCom read-only; added program cloning
2015-04-06 16:07:49 +02:00
krzys-h
a3ae7802a2
New scripts interface, removed script limit
...
This is a big change in game structure and requires more testing!
2015-03-29 14:21:02 +02:00