Commit Graph

217 Commits (d06b7e14569e6fe34bbbc83ed5b089a07e910bbf)

Author SHA1 Message Date
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
Piotr Dziwinski 195d6cded0 Fixed timer functions on win32
* changed win32 implementation to QueryPerformaceTimer system function
 * refactored system utils code
 * proper tests for time utils and update event creation in application
 * should fix issue #134
2013-03-24 12:00:12 +01:00
Piotr Dziwinski 4a30800cf1 Fixes for compiling on MSYS
* fixed SDL_main() and putenv() issues
 * disabled desktop subdir for MSYS
 * disabled building CBot_console for now
2013-03-22 19:17:08 +01:00
Piotr Dziwinski 025bedecfb Refactored platform-specific code
Moved functions from .h to .cpp files
2013-03-19 23:07:39 +01:00
Piotr Dziwinski 209c6412ae Refactoring in tests infrastructure
* all tests are now in /test/ subdirectory
 * unit tests concatenated to one executable (TODO: ui, common)
 * preparation for test environments (OpenGL and others)
 * removed old TestCBot
2013-02-03 20:03:36 +01:00
erihel 9f75a29e88 * Fixed sound pitch causing segfault
* Sound support should now compile fine with MXE
* Added cache for 3 music files to speedup loading
* Updated howto
2013-01-16 01:45:38 +01:00
erihel 58f35e44ae * Removed alut
* Using libsndfile to load sounds and music
* Added support for playing music files
2013-01-14 22:55:16 +01:00
Piotr Dziwinski 1285712aa2 CMakeLists enhancements
- compiler detection (clang and gcc version check)
 - compile flags only for src/ subdir
 - system and local include paths
 - fix for clang compilation
2013-01-08 22:12:09 +01:00
Piotr Dziwinski 8818a8e5db Corrected OpenGL extension detection
- corrected multitexture and VBO detection
- GLEW is now a required library
- minor CMakeLists refactoring
2013-01-05 23:03:06 +01:00
Piotr Dziwinski 89a3f586a2 Merge branch 'dev' into dev-graphics 2013-01-04 00:05:28 +01:00
Didier Raboud a75f02089c Add translated freedesktop 'Desktop Entry' file
- Add po4a as build-dependency for travis
  (but it fallsback to english-only if not found)
- Add (easy) french translation
2012-12-27 09:56:38 +01:00
Piotr Dziwinski 5574eccebd Engine optimization - rewritten model management
- new class CModelManager
 - rewritten engine object structure in CEngine
 - created shared model data instead of separate objects per each
   model instance
 - minor refactoring
2012-12-26 20:58:02 +01:00
erihel f0e76ad446 sound fix 2012-12-20 21:57:57 +01:00
erihel a6ff654ae3 removing plugins for gold version (for mxe cross compiling) 2012-12-20 20:59:11 +01:00
Piotr Dziwinski f77734e01c Installation path fixes and CMakeLists refactoring
make && make install should now give a working installation.
2012-12-20 00:23:12 +01:00
Didier Raboud c6c57c0e99 Fix RPath in installed colobot 2012-12-19 08:50:46 +01:00