Commit Graph

232 Commits (048393f448ee8f065f8291da1eba5ccd634b9e80)

Author SHA1 Message Date
krzys-h 0ecdee08cc Merge branch 'dev-async-music-load' (PR #801) 2016-08-09 19:20:46 +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
Tomasz Kapuściński 8922bb5e84 Renamed CGLDevice to CGL14Device 2016-05-11 14:50:18 +02:00
Mateusz Przybył 734e6e97c0 Group source files for IDE projects in CMake
Merge pull request #773 from MrSimbax/msvc-project-org-cmake
2016-05-02 12:14:18 +02:00
krzys-h 04d7c343ef Removed misc.cpp / misc.h 2016-04-09 18:46:12 +02:00
krzys-h c94ebb45e7 Moved pathman from common/ to app/ 2016-04-04 22:28:08 +02:00
krzys-h 4af02c86f8 Debug menu 2016-03-28 17:58:31 +02: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
krzys-h 40352be5cc Add language switcher to the settings UI, closes #506 2016-01-24 16:03:24 +01:00
krzys-h 2cb2782c9d Restored old Ceebot-Teen objects
In preparations for new programming course
2015-09-28 22:08:59 +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 377a331e2a Forgot to clean this up 2015-09-26 14:58:43 +02:00
krzys-h 53e4470dbf Started SDL2 migration 2015-09-24 21:09:46 +02:00
krzys-h 1059ae37c1 Shielder subclass 2015-08-17 14:06:31 +02:00
krzys-h 304b0b20d8 Created base classes for aliens, robots and buildings 2015-08-17 12:49:54 +02:00
krzys-h f21025b526 User-friendly abort error messages 2015-08-16 00:44:36 +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 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 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
krzys-h abb272600e Merged CBrain into CProgrammableObject 2015-08-10 18:16:00 +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 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
krzys-h 54254e2158 Split CMainDialog 2015-08-04 23:29:18 +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 90756f8b34 Added FilterMode, MipmapLevel and Anisotropy to settings screen 2015-07-20 13:56:45 +02:00
Piotr Dziwinski 73536290b2 Fix for incorrect compile flags in colobot-lint 2015-07-19 18:11:12 +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
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 ea9361fbb4 LevelCategory enum 2015-07-18 19:45:40 +02:00
Piotr Dziwinski 6dcf4dffa6 Refactor CSNDFile -> CSNDFileWrapper
This seems more consistent
2015-07-16 21:47:48 +02:00
Piotr Dziwinski 8ca77f27a1 Extracted CSDLFileHandler from CResourceManager
This also possibly fixes some rare error cases (e.g. #439)
2015-07-16 21:13:38 +02:00
krzys-h 4506a4b8bd TraceColor enum 2015-07-14 13:53:50 +02:00
Piotr Dziwinski 20dbb8320b Remove unused reset code 2015-07-13 22:46:51 +02:00
Piotr Dziwinski e8582d214c CStaticObject subclass using new model framework
* added reading/writing working version of new model format V3
 * added CStaticObject with minial interface intended for
   non-interactive static objects like trees
 * converted first model, tree0, to new format
2015-07-11 19:52:38 +02:00
krzys-h ad08d50bea Renamed some CAuto and CMotion classes 2015-07-10 12:18:21 +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
Piotr Dziwinski b0ac2f8326 Refactor CObject interface related to crash spheres 2015-07-10 09:38:53 +02:00
Piotr Dziwinski 93e950584a Refactor model-related code
* refactored model loading code based on code from dev-models
 * support new model format V2 (without LOD levels)
 * removed LOD levels support in CEngine and from model files
 * preparations for new model format V3:
   - support for multiple meshes in one model file
   - support for saving crash spheres and shadow spots
   - removed all direct dependencies on CEngine enum values
   - quantized model rendering states to new flags and enums
2015-07-09 21:37:04 +02:00
Piotr Dziwinski 9b232ee3f5 Sound enum refactoring
* rename Sound -> SoundType
 * add parsing string to SoundType
2015-07-09 21:32:25 +02:00
krzys-h a32efc09a2 Refactored EndMissionTake and AudioChange 2015-07-07 16:17:19 +02:00
Piotr Dziwinski f1684f85be Introduce new CObject base class and mixin class framework 2015-07-02 23:50:50 +02:00
Piotr Dziwinski f871ba4729 Create CExchangePost subclass 2015-06-27 23:22:55 +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
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
Tomasz Kapuściński dabfdf1ea0 Merge branch 'dev' of https://github.com/colobot/colobot into dev 2015-06-21 18:51:24 +02:00
Tomasz Kapuściński 7d57ec634e Refactored framebuffer implementations 2015-06-21 18:48:31 +02:00
Piotr Dziwinski fed67e6640 Rename objman.h/cpp -> object_manger.h/cpp 2015-06-20 20:02:40 +02:00
Piotr Dziwinski f9b09d08f0 Create CObjectFactory
* move functions creating objects to new class CObjectFactory
 * replace calls to CObject::Create*() with CObjectManager::Create()
 * move creation/deletion of some objects to better places
 * make CModelManager non-singleton
 * clean up some code in changed functions
2015-06-20 19:37:25 +02:00
Tomasz Kapuściński e1a0f5b1c7 Added OpenGL 2.1 engine 2015-05-27 22:12:02 +02:00
Piotr Dziwinski b1e8341475 Move OpenGL 3.3 shaders to main repository 2015-05-20 23:30:46 +02:00
Tomasz Kapuściński 933609967a Added OpenGL 3.3 graphics implementation 2015-05-19 14:29:31 +02:00
Piotr Dziwinski 6c87144ae8 Merge branch 'ManuelBlanc-dev-osx' into dev 2015-04-28 15:18:37 -07:00
Piotr Dziwinski dec12fb977 Use wingetopt library on MSVC 2015-04-27 18:17:03 +02:00
Piotr Walkusz bf55691e44 Issue #399 : Sniffer can delete mark and probe ground 2015-03-22 14:40:19 +01:00
krzys-h e179847358 Fixed remapping virtual keys, closes #415 2015-03-18 21:29:33 +01:00
krzys-h f54b46b61d CPathManager
* Moved path management from CApplication to CPathManager
* Moved %lvl% replacements from CParserParam to CPathManager
* Added %lvl% support in produce(), closes #426
2015-03-08 15:22:21 +01:00
krzys-h 986cf98aaf CController - entry point into CRobotMain and CMainDialog 2014-12-22 10:36:36 +01:00
krzys-h 07c651bd0a Moved all CBot functions into a separate class 2014-12-20 18:45:46 +01:00
MBlanc 56393f4278 Modified CMake to search the path for libintl headers
Conflicts:
	src/CMakeLists.txt
2014-12-12 01:17:10 +01:00
MBlanc 7bb12511d9 Implemented the OSX clipboard using the AppKit API
The X11 dependency is no longer needed on OSX, and has been removed
2014-12-11 23:31:41 +01:00
krzys-h eec6041104 Refactoring of input and input bindings, CInput class 2014-12-11 19:14:33 +01:00
krzys-h ccdbce8cd7 Fixed icon on Windows; updated properties in .rc file 2014-11-01 19:57:23 +01:00
krzys-h f8841f96f2 Added -headless
For automated stuff on devices without GPU
2014-10-31 20:40:13 +01:00
krzys-h 81062e5e87 Fixed linking convert_model (#332) 2014-10-25 12:44:52 +02:00
Piotr Dziwinski 5274acd624 Merge with dev 2014-10-07 22:15:40 +02:00
krzys-h 740036e430 New level parser
Known issues:
* TerrainLevel for some reason doesn't work
* %lvl% is not yet implemented everywhere because of hardcoded directories in functions
2014-09-24 22:56:19 +02:00
Piotr Dziwinski 74312b0405 Better CMake organization and unit test cleanups
* created a static library containing most source modules
  to avoid compiling source modules twice in code and unit tests
* moved profile_test to main unit tests executable
* removed image_test and edit_test as not really useful
2014-08-12 20:58:55 +02:00
Krzysztof Dermont 68d41d3b21 More work on streams 2014-06-23 23:19:55 +02:00
Krzysztof Dermont 754154341d More work on PhysFS support
* added output stream
* fixed music loading
2014-06-22 15:01:06 +02:00
Krzysztof Dermont 1630cf0ed2 Implemented libsndfile loader in PhysFS 2014-06-21 02:59:26 +02:00
Krzysztof Dermont 2260f6bf4f Big part of PhysFS support
* removed -mod argument
* removed -datadir argument
* removed -lang argument
* removed some dead ui code
* added resource manager and file loaders (stream and SDL)
* changed interface textures location to match new directory structure
* removed CGameData for mod support
* added PhysFS support
2014-06-20 23:51:28 +02:00
krzys-h f0d97bfdb9 Better datadir mod support 2014-05-18 12:12:47 +02:00
krzys-h 4a237f5925 CPauseManager 2013-12-31 13:24:09 +01:00
Didier Raboud 343fa8f0cb Add a PLATFORM_GNU global variable matching all GNU systems such as Debian's Linux, kFreeBSD and Hurd 2013-11-27 18:53:28 +01:00
Didier 'OdyX' Raboud 89e2855f95 Consolidate SYSTEM_CPP_MODULE in the main CMakeLists.txt 2013-11-20 10:39:06 +01:00
Didier 'OdyX' Raboud bea84f0af4 Don't set rpath if libCBot is compiled statically 2013-11-13 09:35:32 +01:00
Didier 'OdyX' Raboud 8f7f56f1ea On Mac OS X, write colobot.ini and savegames to Application Support directories 2013-11-13 09:35:31 +01:00
Didier 'OdyX' Raboud ee90f02bc4 Add an icon and executable information to the colobot.exe when build in MXE 2013-10-29 14:40:58 +01:00
Didier 'OdyX' Raboud b3b6a40d9e MacOSX: Add initial support in CMake build infra 2013-10-24 21:12:52 +02:00
Piotr Dziwinski 81a6de41a5 Some further changes in CMakeLists
* removed DEV_BUILD autodetection (could be confusing)
 * ignore desktop subdirectory on Windows
 * some refactoring
2013-06-24 14:17:28 +02:00
Piotr Dziwinski 3e989c96df Fixed auto-detecting locale on Windows
* localename library is now used to determine the actual locale used
 * added patched version of FindGettext.cmake to fix
   installation path of translation files
2013-06-24 14:16:39 +02:00
Piotr Dziwinski bfcce26f89 Changes in build organization
* targets are now created in top-level build directory
 * more things are now configured through CMake options
 * changed debug build detection from NDEBUG to DEV_BUILD
 * moved po and desktop directories
 * moved last unit test out of src directory
2013-06-22 01:17:19 +02:00
Piotr Dziwinski 7874aca10c Enhanced logging, option to auto-start mission
* added logging of application events
 * changed debug mode flag to independent debug modes
 * added option to auto-start mission (load a mission immediately
   after startup)
 * removed "enum value out of range" prints
 * some refactoring
2013-06-16 21:54:36 +02:00
Piotr Dziwinski 950a3474d5 Refactored sound code
* fixed formatting and naming to be uniform with rest of code
 * moved default implementation of CSound to cpp module
2013-05-27 10:19:16 +02:00
Piotr Dziwinski 8765d58b02 Fixed code formatting
* moved braces to new lines
 * fixed some function/variable names
 * fixed whitespace issues
2013-05-27 10:19:16 +02:00
krzys-h 5fd64624d3 Fix for game crashing sometimes when using MissionController 2013-04-28 20:24:46 +02:00
erihel 32fdf993ea * Changed order of libs in cmake for clipboard 2013-04-20 19:41:39 +02:00
erihel bc760e3513 * Added X11 to libs in CMakefiles for linux build 2013-04-11 21:55:49 +02:00
erihel 01309c8bd0 * Added clipboard support (issue #60)
* Fixed keyboard shortcuts while code editing in game
2013-04-11 13:37:15 +02:00
krzys-h 90301e24c0 Added field "item" to class "object" in CBot 2013-03-31 10:21:22 +02:00