Commit Graph

186 Commits (073191d1eaaa0a82923ebf936e7ce2b388ebdf9c)

Author SHA1 Message Date
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 : Sniffer can delete mark and probe ground 2015-03-22 14:40:19 +01:00
krzys-h e179847358 Fixed remapping virtual keys, closes 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 
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 () 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 )
* 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 
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
Didier Raboud e062b74a3a Install libCBot to a private directory
closes 

- Make it configurable;
- Move stanzas above the src directory inclusion, otherwise the value
  doesn't propagate.
2012-12-17 10:15:14 +01:00
Piotr Dziwinski 56a170391f Split gtest and gmock, fixed using system packages
- split the bundled gtest and gmock libraries
- allowed the use of system gmock
- refactoring in CMakeLists
2012-12-16 13:22:58 +01:00
Piotr Dziwinski 72ce040054 Merge branch 'master' into dev 2012-12-15 20:23:58 +01:00
Didier Raboud 9b127fc0a3 Add FindLTDL cmake module
As mentionned in FindLTDL.cmake, this is code that is hereby relicensed
under GPLv3.

closes 
2012-12-14 15:50:11 +01:00
Didier Raboud 19b75e1743 Handle translations with CMakes.
closes 
2012-12-13 22:10:49 +01:00
Piotr Dziwinski 0305e0ba17 Restext rewrite to runtime initialized arrays 2012-10-17 23:16:19 +02:00
Zaba999 7575ffd49b Merge branch 'dev' of https://github.com/colobot/colobot into dev 2012-10-11 23:10:07 +02:00
Zaba999 8a932fed3e Added saving user scripts on game save. Fixed bug in writing script to file. 2012-10-11 23:09:29 +02:00
Michał Zieliński b7667cef35 Added "make install" target. 2012-10-05 22:07:58 +02:00
Piotr Dziwinski e7e8954384 MXE support and CMake files refactoring
- added support for cross-compiling with MXE (http://mxe.cc/)
 - refactored CMake files, adding some options and moving definitions
   to more suitable places
2012-09-29 17:19:23 +02:00
Zaba999 df4e3dfb6e Small fix in profile + profile_test rewritten to gtest. 2012-09-28 21:03:28 +02:00
Piotr Dziwinski 6cce7ec6fd Removed metafile editor and loader 2012-09-22 21:07:23 +02:00
erihel 15ff1d512b * Fixed audio problems
* Added colobot.ini to CApp in Create function
* Fixes to plugin manager
* Fixed CProfile segfault
2012-09-22 00:11:16 +02:00
Zaba999 34a11021da changed paths for models and levels. Now it's possible to load level. Merged with latest trunk 2012-09-20 23:04:37 +02:00
Zaba999 191fdc614e changed paths for models and levels. Now it's possible to load level. 2012-09-20 22:58:00 +02:00
Piotr Dziwinski 7b6bbf79c4 Namespace and styling fix 2012-09-19 23:50:28 +02:00
Zaba999 844e11db4f changes needeto to cimpile on windows. 2012-09-17 20:47:27 +02:00
Piotr Dziwinski af9af56bb0 Successful compilation & running
- temporarily mocked CSoundInterface and CPluginInterface
- added CRobotMain to application
- successfully compiles & runs, but doesn't display correctly at the
  moment
2012-09-15 22:19:32 +02:00
Piotr Dziwinski 8ad15c0ef7 CMainDialog rewrite
- rewritten CMainDialog and updated CRobotMain
2012-09-15 21:47:19 +02:00
Piotr Dziwinski ad6bc13dc2 Merge dev-common and various fixes to achieve compilation
- merged changes from dev-common
- fixed many compilation errors (CBrain, UI, ...)
- temporarily commented out some problematic code (e.g. input bindings)
- (partially) fixed #include styling
- everything compiles except for CRobotMain, CMainDialog and CStudio
2012-09-15 18:50:51 +02:00
Michał Konopacki 95d2f8da2c Merge branch 'dev-object' into dev
Conflicts:
	src/object/robotmain.cpp
	src/object/robotmain.h
2012-09-15 16:54:35 +02:00
Michał Konopacki d439f4fa93 Merge branch 'dev-ui' into dev
Conflicts:
	src/CMakeLists.txt
	src/common/misc.cpp
	src/common/misc.h
	src/object/robotmain.cpp
	src/object/robotmain.h
	src/script/cbottoken.cpp
	src/script/cbottoken.h
	src/ui/button.cpp
	src/ui/button.h
	src/ui/check.cpp
	src/ui/check.h
	src/ui/color.cpp
	src/ui/color.h
	src/ui/compass.cpp
	src/ui/compass.h
	src/ui/control.cpp
	src/ui/control.h
	src/ui/displayinfo.cpp
	src/ui/displayinfo.h
	src/ui/displaytext.cpp
	src/ui/displaytext.h
	src/ui/edit.cpp
	src/ui/edit.h
	src/ui/gauge.cpp
	src/ui/gauge.h
	src/ui/interface.cpp
	src/ui/interface.h
	src/ui/key.cpp
	src/ui/map.h
	src/ui/shortcut.h
	src/ui/slider.h
	src/ui/target.cpp
	src/ui/target.h
	src/ui/window.cpp
	src/ui/window.h
2012-09-15 16:35:48 +02:00
Michał Konopacki 9bfdcacc52 Fixes in [object/auto] 2012-09-13 18:28:50 +02:00
Michał Konopacki 8f285465e8 [object/motion] Folder compiles 2012-09-13 17:40:39 +02:00
Zaba999 8b223eb096 all tasks compile. 2012-09-12 22:34:40 +02:00
Zaba999 064fedb814 commented part of tasks that does not compile. 2012-09-11 23:14:55 +02:00
Zaba999 1bb1eb7b87 half of task compile. 2012-09-11 23:11:34 +02:00
Piotr Dziwinski 6c21dceb35 Tests rewrite and Doxygen in src/math
- rewritten tests to use new framework
- updated/reformatted Doxygen
- removed legacy conversions
2012-09-11 21:14:32 +02:00
Zaba999 e57be247c2 commented new part in cmakelist and reverted stubs in camera.cpp. Will be commited later after implementation is finished in dev-object branch. 2012-09-10 23:39:22 +02:00
Zaba999 479a67a731 Merge with changes from Zaba999 fork. 2012-09-10 23:29:38 +02:00
Piotr Dziwinski cf2295d08d Commenting out src/object/auto temporarily 2012-09-09 17:58:09 +02:00