Commit Graph

502 Commits (d25d6124a9633a2535a20abc358c99ac44d384e1)

Author SHA1 Message Date
tomangelo2 cf46c2457a Moved file font.ini to /fonts/ directory
Separated SatCom font from Colobot font
2017-10-11 17:02:09 +02:00
tomangelo2 250c934b9e Added fonts configurability by a separate file 2017-10-09 00:36:31 +02:00
melex750 c03dfc1284 Add escape codes for string literals 2017-07-22 14:29:05 -04:00
melex750 2d2990ff91 Fix moving and resizing editor/debugger window
* Stop hard drive thrashing when moving/resizing
* Also fixed #691.
2017-06-26 14:11:47 -04:00
tomangelo2 75d9f8573b Display warning if no quicksave slot is found 2017-06-11 23:29:50 +02:00
tomangelo2 d63ed865f4 Added QuickSave/QuickLoad feature #929
Also rearranged a bit speed control buttons to make some space for it
F5 - QuickSave
F6 - lower speed (current/2)
F7 - reset speed
F8 - higher speed (current*2)
F9 - QuickLoad
2017-06-11 17:50:21 +02:00
Abigail f4614658cf Fix -Wundefined-var-template warning (#963)
This avoids specializing CSingleton<T>::m_instance for each type, and
instead just defines it once in the header. This is allowed by the
standard, multiple definitions are merged in the same way that inline
functions are.
2017-05-29 20:46:11 +02:00
krzys-h 02aa281d30 Remove unnecessary m_instance declarations
They don't do anything at all in gcc and clang, but cause compile errors in MSVC
see #955
2017-05-24 14:00:34 +02:00
Abigail 11d950221b Fix all compiler warnings and enable -Werror (#955)
This removes all compilation warnings on:
* g++ 4.7.4, 4.8.5, 4.9.4, 5.4.1, 6.3.0, 7.0.1-svn246759
* clang++ 3.9.1, 4.0.0, 5.0.0-svn303007
2017-05-22 11:10:35 +02:00
krzys-h 681d5203e5 Make code battle start button header translatable 2017-05-19 21:23:14 +02:00
krzys-h c68f5e276f Add live scoreboard display 2017-05-19 21:11:43 +02:00
krzys-h b3ea687d32 Minor documentation fixes 2017-05-19 20:15:13 +02:00
krzys-h cf7c19ef62 Make teams and scoreboard translatable 2017-05-17 19:00:40 +02:00
melex750 92a8c48953 Add syntax for parameters with default values
Also fixes #642
2017-01-24 15:19:03 -05:00
melex750 baba6081b3 Add checking for return statements in functions
issue #30
2017-01-24 14:41:22 -05:00
melex750 2ff8251a81 Fix game crashing with syntax errors 2017-01-24 13:47:00 -05:00
melex750 64bc1f1afb Fix constructor/destructor and field syntax 2017-01-16 21:16:59 +01:00
krzys-h 46aa6fc907 Some CRobotMain cleanup
* improved documentation
* renamed cheat variables to include the word "cheat" to make it clearer what they do
* removed some useless members
2016-12-27 23:38:57 +01:00
krzys-h 8d52e27c2b Add coordinates under cursor overlay and copy function (#868) 2016-12-27 14:58:41 +01:00
krzys-h b6cda6cd4c Add error when object is busy (#871) 2016-12-27 13:36:46 +01:00
krzys-h 88c6818cfd Fix code style issues 2016-11-26 13:48:12 +01:00
MatiRg d107605007 Add file append mode in CBot (#838) 2016-09-30 17:03:13 +02:00
melex750 4a14a44f3f Add implicit cast and null for passing arguments 2016-09-17 07:58:39 -04:00
krzys-h 0ecdee08cc Merge branch 'dev-async-music-load' (PR #801) 2016-08-09 19:20:46 +02:00
krzys-h 210b5c295d Fix memory leak related to performance counters
This commit actually fixes two problems causing the leak:
* DestroyTimeStamp not being called in CProfiler (my stupid mistake in 5fea22ff03)
* DestroyTimeStamp leaving null pointers in CSystemUtils::m_timeStamps (this was introduced by @piotrdz long ago when introducing smart pointers)
2016-07-24 22:51:41 +02:00
krzys-h dbe7fd6ef0 Added performance counter for UI particles 2016-07-24 18:19:37 +02:00
krzys-h 716218aa37 Fixed compile error on Windows 2016-07-24 18:19:34 +02:00
krzys-h 2c3e90b126 Added CBot performance counter 2016-07-24 16:36:13 +02:00
krzys-h 5fea22ff03 Moved performance counters to a separate class 2016-07-24 16:18:25 +02:00
krzys-h 81b7bcc5bc Moved system modules from app/ to common/system/ 2016-07-24 14:38:49 +02:00
krzys-h 29f0631a2c Asynchronous sound/music loading
This improves the loading time a lot. Time from starting the app to opening game window decreased by almost 5 seconds (it's almost instant now). Mission loading times are significantly better too. As a bonus, the playmusic() CBot function doesn't hang the game if you don't preload the files with CacheAudio in scene file.
2016-07-10 14:56:34 +02:00
krzys-h 8a17bc901c Added pause blur config setting, enabled by default 2016-07-09 12:13:51 +02:00
Krzysztof Dermont 32629a2f2a Refactor autosave rotation.
In order to remove boost:filesystem from CResourceManager Move()
function has to be removed or rewrited. Since Move is only used in
autosave rotation it's simpler to change autosave rotation and remove
Move().

Now oldest autosaves (with lowest timestamp) will be removed in rotation.
2016-06-09 19:30:08 +02:00
Krzysztof Dermont 2168b57cac Remove part of boost::filesystem usage. 2016-06-09 19:30:08 +02:00
krzys-h 646e5104f6 Some CCamera cleanup and docs 2016-05-28 18:44:38 +02:00
krzys-h 89b495c667 Cleaned up whitespace in translation strings 2016-05-28 16:03:02 +02:00
krzys-h 2dd7ba7e9b Added camera keybindings (#653) 2016-05-28 15:41:01 +02:00
krzys-h ebc2e6e26c Added camera joystick bindings (#653) 2016-05-28 13:50:41 +02:00
krzys-h bd72086704 Unified all camera inputs
Until now each camera type had separate code for handling camera input, and some new features were missing in some of them.

The camera controls are as follows:
* RMB+mouse and numpad keys - horizontal/vertical rotation
* mouse wheel and +/- keys - zoom (in free camera - move eye up/down)
* CTRL or MMB + horizontal controls - pan left/right
* CTRL or MMB + zoom controls - move lookat up/down (free camera only)
2016-05-27 22:38:44 +02:00
Tomasz Kapuściński 213fd6b203 Added blur effect when the game is paused (issue #656)
Might be unstable, needs more testing. To enable, add PauseBlur=1 to [Experimental] section in colobot.ini
2016-05-21 14:27:35 +02:00
krzys-h 04d7c343ef Removed misc.cpp / misc.h 2016-04-09 18:46:12 +02:00
krzys-h 139592bc00 Proper l10n for date/time 2016-04-09 18:23:57 +02:00
krzys-h 14e2910f83 Proper plural form translations for ObligatoryToken 2016-04-09 16:28:11 +02:00
krzys-h 7f38aca766 Improvements to ObligatoryToken/ProhibitedToken
Now you can specify exactly how many times given instruction can occur
2016-04-08 22:15:58 +02:00
krzys-h c94ebb45e7 Moved pathman from common/ to app/ 2016-04-04 22:28:08 +02:00
krzys-h 14721001e5 Merged PR #737: Fix for various issues with initializing variables in CBOT 2016-04-03 21:08:52 +02:00
Smok94 831276f378 Appearance customization face butons fix
*face buttons 2 and 4 swaped.
*default hair colors now fit to buttons look
*changing face changes hair color do default

Fixes two first issues mentioned in the #724
2016-04-02 13:13:42 +02:00
krzys-h d38ddcbc41 goto() path debugger 2016-03-28 20:25:07 +02:00
krzys-h e4f9360e63 Resources debug mode 2016-03-28 17:58:31 +02:00
krzys-h 4af02c86f8 Debug menu 2016-03-28 17:58:31 +02:00
krzys-h 6585ee9ae8 Refactor some references to CRobotMain from CEngine 2016-03-26 18:55:39 +01:00
krzys-h 640c0297ef Replaced CConfigFile::GetInstancePointer() with GetConfigFile() 2016-03-26 18:34:26 +01:00
krzys-h c831cd8637 Updated Polish translations 2016-03-25 11:31:04 +01:00
melex750 6be1f56288 Add error code no expression, remove some bad code 2016-03-20 20:55:22 -04:00
krzys-h cbdda57288 Merge branch 'dev-right-click-camera' into dev 2016-03-13 14:52:17 +01:00
Tomasz Kapuściński 8deeddffe0 Corrected OpenGL 2.1 engine's error spam and added experimental terrain shadowing 2016-03-10 10:50:54 +01:00
krzys-h 9ceaa0055d Updated quality shadows option 2016-03-07 18:49:24 +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 0256b1aa39 Add logging in font loading 2016-02-18 18:07:29 +01:00
krzys-h 5e19f598b9 Fix newline at end of file... 2016-02-13 21:37:31 +01:00
krzys-h a3477edc8e Pause game when in background, closes #609 2016-02-13 21:35:01 +01:00
krzys-h 254891d8f1 Save log to file, closes #696 2016-02-13 20:32:26 +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
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
Krzysztof Dermont 8a0cda1c2a Fix issue #648
Should be proper fix
2016-02-10 17:06:02 +01:00
Krzysztof Dermont 12e3724319 Implement issue #606
Add button to open SatCom in main menu
2016-02-10 17:04:26 +01:00
krzys-h 7a521fbc90 Joystick configuration, closes #499
Not yet tested as I don't have a joystick currently with me, but should work fine
2016-01-24 17:36:25 +01:00
krzys-h 40352be5cc Add language switcher to the settings UI, closes #506 2016-01-24 16:03:24 +01:00
krzys-h 6d8a5bab31 Removed system mouse option
Not really needed, as it is an SDL cursor not system cursor, which is no better than ours
2016-01-24 15:24:59 +01:00
krzys-h 07a4d6a16b CBot namespace 2015-12-26 14:29:10 +01:00
krzys-h 5db1254dd8 Unified CBot error naming 2015-12-20 19:01:03 +01:00
krzys-h 51644369cb Moved standard math and file functions into CBot library 2015-12-20 18:36:20 +01:00
krzys-h 2e17712b5d Added official build info in crash screen 2015-12-19 22:10:15 +01:00
Grunaka ece0666954 Create new file CBot.h. Included only useful interfaces. 2015-12-01 23:25:36 +01:00
krzys-h 6f91442db1 Removed some more unused strings 2015-11-21 17:10:14 +01:00
krzys-h 9bea0355f0 Removed some unused strings 2015-11-21 16:54:21 +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 6e1504d7a5 Further cleanup USE_SDL_MAIN 2015-09-29 22:39:34 +02:00
Victor Vieux 49ee00d90d fix MacOSX install instruction and compilation
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2015-09-29 22:39:33 +02:00
Piotr Dziwinski 61a3ba2800 Fix undefined function colobot-lint issues 2015-09-29 21:44:24 +02:00
krzys-h fd07589ebb Separated config.h and version.h
This prevents unnecessary recompilation of some files when version number changes
2015-09-26 21:12:12 +02:00
krzys-h f6823389cc Fixed displaying joystick button 0 name, closes #646 2015-09-25 23:24:29 +02:00
krzys-h 07df35ca01 Refactored mouse wheel 2015-09-25 22:54:48 +02:00
krzys-h 0c64e62979 Fixed a minor error in event logging 2015-09-25 22:18:44 +02:00
krzys-h a0034f8000 Finalized SDL2 migration 2015-09-25 21:26:49 +02:00
krzys-h e965414d34 Rewritten text input to SDL2 2015-09-25 19:49:50 +02:00
krzys-h 53e4470dbf Started SDL2 migration 2015-09-24 21:09:46 +02:00
krzys-h 7500ab4988 Added code battle spectator mode switch 2015-09-13 15:59:42 +02:00
krzys-h 20105d09ec Added code battles button to the main menu 2015-09-10 20:20:24 +02:00
krzys-h 51330dde5e Added code battle start button; fixed bug with starting code battle 2015-09-06 19:12:00 +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
krzys-h 78e4e440b5 Removed cancel button from player selection screen
Not really needed, and it had a bug with removing players (it would still go back to the deleted player)
2015-09-01 16:30:05 +02:00
krzys-h ff17961584 Refactored CPauseManager 2015-08-31 21:47:55 +02:00
Piotr Dziwinski a47da3fd3f Whitespace fixes 2015-08-30 22:18:49 +02:00
Piotr Dziwinski a1d2ca50a8 Fix #619
This fixes handling of status codes from PHYSFS functions and seems to
solve crashes like in #619
2015-08-30 22:14:14 +02:00
krzys-h d9c8a7ed9b Fixed MXE builds, 2nd try 2015-08-25 12:18:15 +02:00
Piotr Dziwinski c3d4d46583 Fix missing empty line after license header 2015-08-22 17:52:07 +02:00
Piotr Dziwinski b93f610930 Fix license header in all files 2015-08-22 16:40:02 +02:00
krzys-h 14396847d6 Added missing license headers again 2015-08-19 20:27:29 +02:00
krzys-h d723295aad Revert "Backported some thread classes cleanup from dev-threads (1ad8ff6e47fb9e249e6bcbc2f4a3a94933a1168a)"
This reverts commit 7cf73c94c4.

I wanted to make this better but failed so badly ;) The memory holding the thread function pointer may be freed before the thread is started, so the whole resource passing thing is needed anyway.

This probably fixes #584
2015-08-19 20:25:17 +02:00
Piotr Dziwinski a63a959dbe Apply clang-modernize -use-nullptr 2015-08-17 22:40:52 +02:00
Piotr Dziwinski 2289d69735 Replace NULL -> nullptr 2015-08-16 12:43:42 +02:00
krzys-h f21025b526 User-friendly abort error messages 2015-08-16 00:44:36 +02:00
Piotr Dziwinski d703eb7165 Compile fixes for MSVC2013 2015-08-16 00:39:08 +02:00
krzys-h fe5a8c4629 Updated progress bar values 2015-08-15 23:37:30 +02:00
Piotr Dziwinski 7fe8199c96 Compile fix 2015-08-15 19:54:06 +02:00
Piotr Dziwinski bd10f424ec Better parsing of bool properties 2015-08-15 19:45:49 +02:00
Piotr Dziwinski f773d5714d Fix implicit bool casts in CSettings 2015-08-15 19:17:15 +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
Piotr Dziwinski efedb44cce Add proper initializations and remove manual memory management in remaining classes
Except CBot-related stuff of course
2015-08-14 23:44:00 +02:00
Piotr Dziwinski 870f89ac4a Further fixes for GCC 4.7 build 2015-08-14 19:34:17 +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 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
Piotr Dziwinski 93a06c0c23 Remove manual memory management from graphics classes 2015-08-12 21:07:16 +02:00
krzys-h 60797f72d3 Removed some old, unused code 2015-08-12 17:25:41 +02:00
krzys-h f7d2f501bb Moved common interface implementations to separate classes
Additionaly, merged all "inappropariate bot" errors into one and renamed ERR_GENERIC -> ERR_UNKNOWN
2015-08-12 16:54:44 +02:00
Piotr Dziwinski 513a1129fa Add proper initializers and remove manual memory management from common classes 2015-08-10 22:33:22 +02:00
krzys-h 7cf73c94c4 Backported some thread classes cleanup from dev-threads (1ad8ff6e47fb9e249e6bcbc2f4a3a94933a1168a) 2015-08-09 13:52:15 +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
Piotr Dziwinski e9e1c8d4dd Add proper initializations and remove manual memory management in app classes 2015-08-07 10:16:46 +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 711643b454 Refactored CMainDialog 2015-08-06 16:02:59 +02:00
Piotr Dziwinski 654ef7ba59 Add proper initializers to common classes 2015-08-06 14:31:40 +02:00
Piotr Dziwinski 2906451d06 Indent style fix 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
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 9ccb39ce66 Fix Clang compilation 2015-08-05 22:02:59 +02:00
krzys-h 47d79c9977 Added #Include support in level files 2015-08-05 19:27:26 +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 3f48e4699d Moved window position and font size storage from CRobotMain to CSettings 2015-08-04 13:09:34 +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
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 9e7cc0bab5 Renamed original shadows to simple shadows 2015-07-20 18:51:01 +02:00