Commit Graph

3791 Commits (b98edec8f8f07aedd28e363c61e616ef588bfb08)

Author SHA1 Message Date
MrSimbax 193d105a3f Refactor CBotUT.TestSaveStateIoFunctions
Split the test into several parametrised tests for each data type.

Add more tests with different values.

Fix the ReadBinary() function in order to fix the ReadDouble() function
for negative values (the sign bit was being lost).
2021-12-09 20:44:31 +01:00
MrSimbax ea7837b4c6 Remove usage of a CMake 3.17 feature
We currently use CMake 3.16 for compatibility with Ubuntu 18.04 LTS.

The `NAME_MISMATCHED` argument which turns off a CMake warning
when using `FIND_PACKAGE_HANDLE_STANDARD_ARGS`, is not available
in CMake 3.16 and can prevent a successful build.

See
https://github.com/colobot/colobot/pull/1478#issuecomment-986204233
2021-12-08 19:35:30 +01:00
MrSimbax f9c275919e Fix CMake warning about empty GoogleTest version
The warning appeared when GoogleTest is used as a submodule.
2021-12-08 19:25:36 +01:00
MrSimbax 38b9b9be4c Update data, gtest and add options to .gitmodules
Update the `data` and `lib/googletest` submodules.

`git submodule update --remote` command should now
update the data submodule by rebasing on the remote branch named
the same as the current branch.

Changes in the `lib/googletest` submodule should now be ignored
in `git status`.
2021-12-08 19:15:16 +01:00
MrSimbax 9fd935770a Fix CBotUT.TestSaveStateIOFunctions
Fail occurred due to wrong read of min double.
`unsigned long` has been changed in Write/ReadDouble functions to
`uint64_t`.
`unsigned int` has been changed in Write/ReadFloat functions to
`uint32_t`.

According to the standard
`int` is at least 16-bit so it might be too small for 32-bit `float`,
`long` is at least 32-bit so it might be too small for 64-bit `double`,
and `long long` is at least 64-bit.
2021-12-05 16:51:51 +01:00
Tomasz Kapuściński d1489a1fb1 Removed ShadeModel 2021-12-05 13:01:12 +01:00
Tomasz Kapuściński 0568fcdb81 Refactored FillMode to enum class 2021-12-05 12:53:31 +01:00
Tomasz Kapuściński 39c837d323 Refactored PrimitiveType to enum class 2021-12-05 12:26:34 +01:00
tomangelo 3aa7c3c2e0
Stop handling compilation warnings as errors (#1477)
* Stop handling compilation warnings as errors

* Restore mistakenly removed flag
2021-12-05 11:51:28 +01:00
Tomasz Kapuściński 7a555e19c4 Fix in convert_model tool 2021-12-04 16:04:53 +01:00
Tomasz Kapuściński 26c0d85c66 Updated cache key 2021-12-04 16:02:17 +01:00
Tomasz Kapuściński 613efd7599 Added missing glm library to CI 2021-12-04 15:31:16 +01:00
Mateusz Przybył ae179d9005
Merge pull request #1440 from melex750/dev-insect-from-egg
Fix saving/loading programs for insects from AlienEgg
2021-12-04 10:04:49 +01:00
Mateusz Przybył 96fece4e6d
Merge pull request #1464 from nipsufn/master
fix SatCom content offset on screens with high resolution / small font size
2021-12-04 10:01:53 +01:00
Tomasz Kapuściński 9139239f9f Merge branch 'dev' into dev-graphics-overhaul
# Conflicts:
#	src/app/app.cpp
#	src/graphics/opengl/gl14device.cpp
#	src/graphics/opengl/gl14device.h
#	src/graphics/opengl/gl21device.cpp
#	src/graphics/opengl/gl21device.h
2021-12-01 17:27:54 +01:00
Tomasz Kapuściński 57502d2f54 Added object renderer (WIP)
Rewritten shadow rendering logic
Split some shaders into smaller parts
Shadow renderer now has its own framebuffer object
2021-12-01 17:05:20 +01:00
Tomasz Kapuściński ce71f25901 Removed unused shader files 2021-10-25 21:42:19 +02:00
Tomasz Kapuściński fea6b87139 Added fog to terrain renderer and renamed variables 2021-10-17 16:27:29 +02:00
Tomasz Kapuściński 4157604458 Added shadow renderer and removed rendering modes 2021-10-17 16:05:20 +02:00
nipsufn 117c72ba72 fix SatCom content offset on high resolution / small font size 2021-09-29 15:26:19 +02:00
Tomasz Kapuściński 79d4cd9060 Updated TerrainRenderer
* Engine will now use it to render terrain
* Added directional light source
* Added dynamic shadows
* Moved visibility computation to CEngine
* Removed uniform buffers
2021-09-19 20:08:31 +02:00
Mateusz Przybył 1438438937
Merge pull request #1462 from colobot/dev-update-license
Update license headers
2021-09-11 16:10:44 +02:00
MrSimbax 80f074e2ba Update license headers 2021-09-11 15:53:59 +02:00
MrSimbax 171bba1bcd Rewrite the update license script
The old script duplicated license headers for me, instead of
updating them.
2021-09-11 15:53:50 +02:00
Mateusz Przybył 95579bbf1d
Merge pull request #1461 from colobot/AbigailBuccaneer-platform-independent
Merge PR#1141 "Use C++11 threading and timing constructs"
2021-09-11 14:23:09 +02:00
MrSimbax c9dca4cebd Rename SystemDialogType::ERROR to ERROR_MSG
Unfortunately, the ERROR name collides with
a preprocessor definition in windows.h
2021-09-11 13:40:22 +02:00
MrSimbax 6aa83c93ac Update data submodule 2021-09-11 13:29:03 +02:00
MrSimbax a69b88e09a Move time related functions out of CSystemUtils
GetCurrentTimeStamp() has not been moved because of
CApplication unit tests.
2021-09-11 13:26:38 +02:00
MrSimbax 5daaba6e64 Fixes after merge
Fix mistakes after previous merge and make it compile.

Rewrite the function interpolating between time stamps as it was
written after the original pull request was created. Add unit tests
for it.

I couldn't help myself and also changed some enums to enum classes and
did some renames.
2021-09-11 12:44:26 +02:00
MrSimbax 2b107736e2 Merge branch 'platform-independent' of https://github.com/AbigailBuccaneer/colobot into AbigailBuccaneer-platform-independent 2021-09-11 10:47:39 +02:00
Tomasz Kapuściński 30d688c1ec Added and implemented terrain renderer 2021-09-05 16:32:19 +02:00
Tomasz Kapuściński 58c75ce61a Added implicit conversion between Math::Matrix and glm::mat4 2021-09-05 16:32:18 +02:00
Tomasz Kapuściński 100be95113 Added CVertexBuffer and reimplemented vertex buffer management 2021-09-05 16:32:18 +02:00
Tomasz Kapuściński 5c037837f5 Added Vertex3D 2021-09-05 16:32:17 +02:00
Tomasz Kapuściński 12e696bf1c Added color and moved uniform data to uniform buffer block 2021-09-05 16:32:17 +02:00
Tomasz Kapuściński 55513703b2 Removed unused static buffer types 2021-09-05 16:32:16 +02:00
Tomasz Kapuściński f2eafd563e Removed interface rendering mode 2021-09-05 16:32:16 +02:00
Tomasz Kapuściński 16200bbeac Removed all dependency on interface rendering mode 2021-09-05 16:32:16 +02:00
Tomasz Kapuściński 465fe59dfb Added Renderers
Added UI Renderer
Added OpenGL 3.3 UI Renderer
Reimplemented most of UI drawing functionality to use UI Renderer
TODO: fix OpenGL errors
2021-09-05 16:32:15 +02:00
Tomasz Kapuściński 704e3f2f0d Improved code for loading and linking shaders 2021-09-05 16:32:15 +02:00
Tomasz Kapuściński fe02cf3e4b Added Vertex2D 2021-09-05 16:32:14 +02:00
Tomasz Kapuściński 5e7fb5010f Temporarily removed CNullDevice 2021-09-05 16:32:14 +02:00
Tomasz Kapuściński b322ce064b Added dependency on glm
# Conflicts:
#	src/CMakeLists.txt
2021-09-05 16:31:57 +02:00
Tomasz Kapuściński ec21faf15c Removed gl14 and gl21 devices 2021-09-05 16:25:38 +02:00
Mateusz Przybył e0c5ca962f
Merge pull request #1327 from MrJohn10/vscode-instructions
Add instructions for compilation and installation using vscode
2021-09-05 15:17:04 +02:00
Mateusz Przybył 37f82acff0
Merge pull request #1457 from vieux/master
system_macosx.cpp: fix typo
2021-09-05 14:40:32 +02:00
Mateusz Przybył c04d3ef50d
Merge pull request #1341 from colobot/dev-modern
Merge dev-modern into dev
2021-09-05 14:32:13 +02:00
MrSimbax 62b14bcf62 Bump C++ version from 11 to 17 2021-09-04 22:27:06 +02:00
MrSimbax 005f5b5103 Replace ::add-path:: function with appending to $GITHUB_PATH
See https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2021-09-04 21:59:49 +02:00
MrSimbax bb6c32c897 Update run-vcpkg action from v3 to v7 2021-09-04 21:52:58 +02:00