dev
Commits on Mar 30, 2021
-
Merge pull request #1406 from colobot/dev-gameplus
Add Missions+ gamemode, add new CBOT categories and functions, update Sniffers
-
Commits on Mar 21, 2021
-
-
-
Merge pull request #1405 from colobot/dev-missing-library
Add missing library in MSYS2 instruction
-
Commits on Feb 22, 2021
-
Merge pull request #1371 from jaladreips/dev-cmake
Fix MSVC building issues by correcting CMakeLists.txt
-
Merge pull request #1391 from colobot/dev-gh-actions
Fix uploading linter results from forks to GitHub
-
-
Safely upload linter results from forks to GitHub
This makes lint results from pull requests appear as GitHub checks similarly to how pull requests from branches are able to work Based on https://securitylab.github.com/research/github-actions-preventing-pwn-requests
Commits on Feb 7, 2021
-
Merge pull request #1387 from colobot/dev-fix-vsync
Remove vsync loop and improve vsync UI
-
I moved m_engine creation to the constructor. However, it is not complete until after calling m_engine->Create(). The UT segfault because the pointer is not null and destructor calls m_engine->Destroy() on an incomplete object. (Yes, UTs test incomplete SUT.) So I moved back the m_engine creation to CApp::Create() but before the SDL initialization as m_engine holds the flag for vsync.
-
-
Update vsync list after user interaction
The vsync may immediately fallback to another option after change from the user so the UI should reflect that. Todo: show a popup in UI informing the user why their desired vsync option couldn't be set. Right now the error message is visible only from the logs.
-
Remove vsync disable/enable loop (fix #1383)
Also a small refactor due to repeated code. The vsync flag in m_engine is now synchronized with the SDL state during initial configuration of CApp.
Commits on Jan 3, 2021
Commits on Dec 31, 2020
Commits on Sep 21, 2020
-
Merge pull request #1357 from colobot/dev-fix-satcom-crash-again
Fix crashes in SatCom on some \button characters
Commits on Sep 20, 2020
-
Fix crashes in SatCom on some \button characters
The issue is that the \button fragments in SatCom are replaced with invalid UTF-8 bytes, hence those bytes need to be handled as a special case when checking for UTF-8 character length. When the text is processed e.g. in `Gfx::CText::Justify`, there are generally two arrays: `text` and `format`. The second one is interpreted as a font for a given character, e.g. `text[i]` has font `format[i]`. Now, in the loops the index for `text` is increased by the length of the character, e.g. 1 to 4 bytes, whereas index for `format` is only incremented. It seems there's an assumption that `format` treats multibyte characters as one byte, which doesn't seem to be true by looking at the process of filling up the `format` array. This can result in using wrong font e.g. FONT_SATCOM for the \button character which should be FONT_BUTTON, hence the `StrUtils::Utf8CharSizeAt` method complains about unexpected continuation byte via exception, causing the crash. Incrementing the index by the UTF-8 length seems to have fixed the issue. However, I am not sure if I haven't broken anything else by this and if I analyzed the intended behaviour correctly. Gfx::CText needs a major refactor IMHO.
Commits on Sep 15, 2020
-
Merge pull request #1354 from suve/gcc11-diagnostics-fix
GCC11 diagnostics fix (round 2)
-
Fix more dynamic casts for gcc-11
Signed-off-by: suve <veg@svgames.pl> Jeff's patch was written for the 0.1.12 stable release. Adapted to work with the "dev" branch (as of commit 13098ee).
Commits on Sep 11, 2020
-
Merge pull request #1351 from suve/gcc11-diagnostics-fix
GCC11 diagnostics fix
-
Merge branch 'master' of https://github.com/ccao001/colobot into dev-…
…add-guix Fixed merge conflict
Commits on Sep 4, 2020
Commits on Aug 31, 2020
Commits on Aug 30, 2020
-
GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines. In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.
Commits on Aug 26, 2020
-
Merge pull request #1349 from colobot/dev-fix-abs
Fix warning regarding mismatched parameter types
-
Commits on Aug 21, 2020
Commits on Aug 20, 2020
-
Merge pull request #1346 from melex750/dev-cbot-fix-delete
Fix CBOT script hanging at delete()
Commits on Aug 17, 2020
-
Merge pull request #1345 from melex750/dev-cbot-fix-abs
Fix abs() only working on floats
-
Merge pull request #1344 from colobot/dev-suppress-fonts-warning
Remove unnecessary warning if there is no fonts.ini file