Commit Graph

245 Commits (daa94195570c336641890bd5669cb97ef9035190)

Author SHA1 Message Date
fernape 44083053ce Add FreeBSD support.
Add a new PLATFORM_FREEBSD variable. We can compile like MacOS with just an
extra linker flag.
2019-03-09 19:04:00 +01:00
Tomasz Kapuściński 16a1dc7b9d Removed unnecessary dependency on libwebp which causes compilation problems with static builds. 2019-03-04 21:40:59 +01:00
DavivaD 1b47cf76d3 Implement Mod Manager 2018-08-02 07:38:32 +02:00
tomangelo 5080cb46b1
Merge pull request #1031 from tomangelo2/dev
Added fonts configurability by a separate file
2018-07-25 19:51:55 +02:00
tomangelo2 3383532752 Changed font_config to font_loader
Apparently linter doesn't like files with `config` in its name
2018-07-25 00:44:06 +02:00
Mateusz Przybył abb7d54ef5 Add support for VS CMake/vcpkg compilation (#1174)
* Add support for VS CMake/vcpkg compilation

* Fix system_windows.cpp compilation

* Add optimization and hidden console to MSVC release builds
2018-06-04 09:17:51 +02:00
AbigailBuccaneer 2a003a27b1 Use C++11 threads, mutexes and condition variables 2018-04-20 09:56:57 +01:00
tomangelo2 dd9439aed2 Renamed font_file to font_config 2017-10-15 22:47:32 +02:00
tomangelo2 250c934b9e Added fonts configurability by a separate file 2017-10-09 00:36:31 +02:00
krzys-h 880f31a7c6 Add basics of scoreboard implementation; better support for multiple teams 2017-05-17 18:22:58 +02:00
Tomasz Kapuściński 993d9e9ed6 Added rendering with generic vertex formats 2016-11-04 14:13:16 +01:00
Tomasz Kapuściński ae3b2b8572 Added types and vertex format specification 2016-11-04 11:59:57 +01:00
Tomasz Kapuściński c5b5435b4a Added half-precision floating-point format implementation 2016-11-04 11:35:55 +01:00
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