Commit Graph

4301 Commits (168277abdb1ec4e07b8251b14cb3ca6368fc7ab4)

Author SHA1 Message Date
Nicolas Hake 3e0ed99c83 Add BLAKE2 library and expose its a CS hash algorithm to script
The crypto "library" only consists of a single function at the
moment because that's all that users have asked for so far. It is
also highly experimental. We will make an attempt to keep the public
interface (i.e. the interface provided by Library_Crypto.c) stable,
but it might still change if necessary. The internal interface
(provided via the global _Crypto proplist) is not for public
consumption and will probably change at some point.
2018-03-05 17:37:07 +01:00
Lukas Werling 03d05ff98f Add EvaluateOnAbort scenario flag for Tower of Despair
In Tower of Despair, the scenario saves per-room progress in the
player files. Players win individual rooms, but never the whole
scenario. Consequently, they currently have to give up to make sure
they don't lose their progress. This is not intuitive at all. With the
new flag enabled, players will be saved even if the scenario is aborted.
2018-03-05 17:37:07 +01:00
Lukas Werling 32df251d2e Fix editor keyboard input on FreeBSD (hopefully)
Assuming keyboard scancodes on FreeBSD are the same as on Linux.
2018-02-18 22:37:52 +01:00
Lukas Werling 2159895280 Fix IPv4 address serialization on FreeBSD (hopefully) 2018-02-18 22:37:52 +01:00
Lukas Werling 846ba60d46 Editor join: Serialize reference as INI
On FreeBSD, the binary serialization doesn't work for IPv4 addresses,
and we never serialize game references as binary anywhere else.
2018-02-18 22:37:52 +01:00
Lukas Werling e10d4b3bf5 Launch editor via argv[0] on Unix systems without /proc/self/exe (#1999) 2018-02-18 22:37:52 +01:00
Lukas Werling a091874546 Autodetect "/proc/self/exe"-equivalent on FreeBSD (#1999) 2018-02-18 22:37:52 +01:00
Lukas Werling cd1f540b1e Disable -Wformat-security in parts of C4AulCompiler (#1992, GH-64) 2018-02-18 22:37:52 +01:00
Kevin Zheng d57e0e08d2 Fix networking on FreeBSD (#1998) 2018-02-18 22:37:52 +01:00
Lukas Werling 1f20add428 Credits: Fix Kevin Zheng's name 2018-02-18 22:37:52 +01:00
Lukas Werling ff44b26d4c Enable -Wformat-security for gcc and fix one warning (GH-64)
Fedora has -Werror=format-security enabled per default, so enabling and
fixing these warnings is a good idea.
2018-02-15 13:03:57 +01:00
Lukas Werling 7a0c323099 Add KKenny to Credits for Miami Ice 2018-02-04 16:27:49 +01:00
Lukas Werling be31964c2e Fix Mac build error 2018-02-04 16:20:38 +01:00
Lukas Werling ce9245c55c Fix warnings in DirectExec crashing (#1990) 2018-02-04 12:35:33 +01:00
Lukas Werling 7694ae5020 Fix Mortimer missing in Credits 2018-01-31 21:18:53 +01:00
Lukas Werling 78833d10ee Implement Credits.txt export from StartupAboutDlg
Pressing Ctrl+S while on the Credits screen will save everything to
Credits.txt in the current working directory. This is only meant for
developers modifying the credits; the shortcut isn't mentioned anywhere.
2018-01-31 21:09:30 +01:00
Lukas Werling 44172576af Add NativeException to credits 2018-01-28 21:16:14 +01:00
Lukas Werling 0f78e63f02 Add warning for broken runtime join (#1109)
This also fixes the "no runtime join" error appearing for pre-lobby
games, where joining usually works anyways.
2018-01-28 17:34:45 +01:00
Lukas Werling 223ab6f77b Add warning about unfinished gamepad controls 2018-01-28 17:18:20 +01:00
Kanibal 4dd97d266e C4LoaderScreen: use const string reference
C4LoaderScreen: compare file extension case-insensitive
2018-01-28 11:07:05 +01:00
Kanibal 384472f183 Modernize loader loading code (#1748) 2018-01-28 11:07:05 +01:00
Julius Michaelis 1a5a60c39e Move warning about #1965 to a better place (see d175f776a) 2018-01-28 01:14:25 +01:00
Julius Michaelis d175f776ad Warning about #1965 so if we release 8.0 without fixing that bug, hopefully nobody will stumble over it. 2018-01-27 22:21:18 +01:00
David Dormagen 3acd4a22f2 take 'left' and 'player' (and more) out of global namespace
The values from the enums are converted to numbers a lot, so using an enum class would be counter-productive.
Having 'left' in the global namespace appeared to be an actual problem with some Qt headers, according to Fulgen.
2018-01-20 18:20:51 +01:00
Maikel de Vries dc7734e223 FnSimFlight: fix precision of velocity if not provided 2018-01-19 14:37:21 +01:00
Julius Michaelis 9d61cc9bc9 Fix Mac build broken in b11564168, attempt 2 2018-01-19 13:01:26 +01:00
Julius Michaelis 914d3798a4 Addedum to the control fixes in b11564168 (#1693, #1982):
- Allow configuring keyboard keys with modifier keys
 - Allow using Alt as a key in game on linux
   (I'm still puzzled why only Ctrl and Shift where implemented in so many places)
 - Adjust the deserializer and PlayerControls.txt to match the serializer for mouse keys
 - Refactor C4PlayerControl::DoMouseInput a little bit
 - Try to fix the Mac build (attempt 1)
 - Fix a bug in C4KeyCodeEx::CompileFunc where it set an incorrect KeyComboItem::sKeyName
 - Fix(?) StdCompilerConfigRead not doing anything on NoSeparator
2018-01-19 11:23:51 +01:00
Julius Michaelis b115641685 Allow using mouse keys and key combinations from the control assignment configuration dialogue (#1693, #1692) 2018-01-15 00:28:13 +01:00
Lukas Werling 5944146f2b Fix more broken entries in Scenario.txt (#1910) 2018-01-13 18:57:32 +01:00
David Dormagen 38d937fa58 GetProperties: fixed returning of duplicated property names & too high repair costs
var a = {B=1}; var b = new a {B=1}; would include "B" twice in the list of properties.
This lead to an actual issue when calculating component value for repairing buildings
2018-01-13 15:02:19 +01:00
Julius Michaelis f286682e3b Revert assert from 0027666c4 2018-01-13 13:54:38 +01:00
Julius Michaelis 0027666c4e Fix for #1813 / #1956 2018-01-13 12:29:27 +01:00
Lukas Werling 54e5c6de38 Fix Sky definition not working (#1910) 2018-01-11 22:44:33 +01:00
Lukas Werling 08393d2300 Credits: Batman is Foaly 2018-01-07 19:02:38 +01:00
Lukas Werling 64aabefe2d Credits: Add contributors who didn't commit themselves
Powered by `git log --pretty=oneline v7.0.. | grep -w by` - I hope this
covers everyone!
2018-01-07 18:11:10 +01:00
Lukas Werling 4325de2084 Fix MCHalfVehic pixels in saved landscape
While saving the landscape, solid masks are temporarily removed. This
did not work for half solid masks, resulting in permanent solid masks
after restoring the save game.
2018-01-05 22:53:41 +01:00
Lukas Werling 22c84edea7 Save HalfVehicleSolidMask object state
After saving and restoring an object with a half vehicle solid mask, the
solid mask was fully solid.
2018-01-05 22:41:14 +01:00
Lukas Werling 91ff13b81f Clamp y coordinate when looking up Left/RightColPix, part 2 2017-12-28 23:20:56 +01:00
Lukas Werling 2b3863a12c Show warning when attempting to load an old savegame (#1941) 2017-12-28 21:45:20 +01:00
Lukas Werling df979bb537 Fix restoring single-digit scancodes (#1944)
Most scancodes are two hex digits long, e.g. "$24" (J). However, there
are also a couple keys like Backspace ("$e") and Escape ("$1") with a
single-digit scancode. These previously weren't restored correctly.
2017-12-28 20:50:03 +01:00
Lukas Werling 86926377a5 Show error dialog if OpenGL initialization fails (#1890) 2017-12-28 17:32:59 +01:00
David Dormagen ca0e99e3ce C4FO_Exclude: explictly ignore non-valid objects
This does not change behavior at all, as nil-objects were later ignored in the check. Now the check is not even executed.
This does make it more likely that refactoring will keep the ignoring behaviour in place, though.

Loosely related to PR #61 - has nothing to do with the solution, though.
2017-12-27 14:00:43 +01:00
Lukas Werling 0167463c33 Change type of AutoScanSideOpen to int
This makes AutoScanSideOpen=2 actually possible.
2017-12-27 01:34:36 +01:00
Lukas Werling 75bd202ca9 Fix warnings in C4Landscape 2017-12-26 22:03:44 +01:00
Lukas Werling 2d7d7b86ae Clamp y coordinate when looking up Left/RightColPix 2017-12-26 14:31:43 +01:00
Lukas Werling 486c85ea76 Fix Left/RightColPix lookup 2017-12-26 14:14:17 +01:00
Lukas Werling c964fa1c84 /screenshot: Add error message when in editor (#1137) 2017-12-23 12:11:28 +01:00
Lukas Werling 7ff92179d5 /screenshot: Default to zoom = 2
Before, it would silently fail. As we already have a default for
Ctrl+F9, we can just use that instead.
2017-12-23 12:05:13 +01:00
Lukas Werling d42e23a503 Change AutoScanSideOpen to check fg as well per default
The previous behaviour of only checking the background broke existing
maps and triggered some (performance?) bug in the mass mover. It is
still available by setting AutoScanSideOpen=2, for symmetry with
Top/BottomOpen.
2017-12-22 23:14:54 +01:00
Lukas Werling 10dbc470df Fix infinite loop when encountering invalid <tags> 2017-12-22 21:44:22 +01:00