Lukas Werling
19b00b7862
Use backward-cpp on Linux for nicer stack traces
2017-03-21 20:17:55 +01:00
Lukas Werling
22161ae561
Client: Send netpuncher request as soon as possible
...
Previously, the SReq packet would only be sent after receiving an
ID from the netpuncher. Instead, we can send the request as soon as the
C4NetIOUDP connection setup finishes.
2017-03-21 17:14:33 +01:00
Lukas Werling
d4bb760b17
Move OnPuncherConnect to C4Network2
...
All the other puncher handling functions are there as well.
2017-03-21 17:14:33 +01:00
Julius Michaelis
70ad55ddf1
Add Windmill to farming knowledge in the Worlds folder.
...
Semantically, that makes sense, but I haven't taken a look at all the maps.
2017-03-19 14:03:11 +01:00
Nicolas Hake
379c5a5746
Tests: Add missing C4Include reference to UnicodeHandlingTest
...
All of our headers are designed to be included *after* C4Include.h,
which UnicodeHandlingTest.cpp didn't do, resulting in an ill-formed
program on some implementations.
2017-03-19 11:28:51 +01:00
Lukas Werling
9b61ba468d
Fix JSON serialization of proplists within arrays
2017-03-18 00:26:58 +01:00
Lukas Werling
8ca3801741
Do the initial client->host connection in stages
...
With the IPv6 support, hosts now often list around 20 addresses.
However, most of these are local only and thus rarely result in a
successful connection. With the introduction of address sorting in
7d5596220
("Sort addresses used for initial host connection",
2017-02-26), the connection succeeds with the first few addresses most
of the time.
This commit changes the initial connection process to start with only
the first four addresses. After 100 ms, it proceeds with the next four
addresses and so on. This should reduce the packet volume significantly
as the connection should be established after only one or two steps.
We may want to tweak the parameters if this turns out to make joining
slower in practise. In a "normal" setup, the first four addresses should
be the IPv6 privacy and stable addresses, and the next four addresses
should include the IPv4 addresses from masterserver and netpuncher.
100 ms are long enough to get an answer from the host and short enough
to not bother the player too much.
2017-03-17 23:02:45 +01:00
Nicolas Hake
7f2cce6f79
Fix WITH_AUTOMATIC_UPDATE, non-Windows platforms
2017-03-16 23:18:38 +01:00
Nicolas Hake
a151ac12de
C4Application: Remove StdStrBuf
2017-03-16 19:13:06 +01:00
Nicolas Hake
d6c9a11678
StdRegistry: Remove unused support for separated config values
...
The config read/write code never uses StdCompiler::Separator. Removing
support for it from StdRegistry makes the code simpler.
2017-03-16 18:51:16 +01:00
Nicolas Hake
22f42123e8
C4AbstractApp: Remove StdStrBuf
2017-03-16 18:51:16 +01:00
Nicolas Hake
c5ed6e7dc8
Move strprintf to Standard
...
strprintf works like asprintf, except it returns a std::string.
2017-03-16 18:51:16 +01:00
Nicolas Hake
f9d78b8629
Win32: Add LPCWSTR->std::string conversion helper
2017-03-16 18:51:16 +01:00
Nicolas Hake
ca62ee82bf
Test invalid_escape_sequence, invalid_hex_escape, arg_count_mismatch
2017-03-16 18:51:16 +01:00
Julius Michaelis
183c6e076f
silence 'could not connect to' spam in lobby
2017-03-14 22:49:35 +01:00
Nicolas Hake
ed193a0715
Aul: use %u instead of %zu for parameter indexes
...
MinGW uses an ancient version of the CRT, which doesn't support the z
modifier for integer types in printf. Use %u instead and cast to
unsigned.
2017-03-14 00:45:27 +01:00
Nicolas Hake
dc6804c12d
Aul: Fix invalid_escape_sequence warning message
...
The message used a %s where a %c was correct, and therefore tried to
access invalid memory.
2017-03-14 00:28:41 +01:00
David Dormagen
a561e15288
object interaction menu: made some comments clearer
...
They were introduced in c37bc586e9
2017-03-13 14:56:45 +01:00
Maikel de Vries
4211751f2f
reset shaders when ambience object is deleted
2017-03-12 14:31:07 +01:00
David Dormagen
599509295d
fixed some typos in German string tables
2017-03-12 11:18:35 +01:00
Maikel de Vries
a49c283d67
prevent division by zero in catapult AI by setting a minimum power
2017-03-11 22:45:49 +01:00
Sven Eberhardt
be66da2c7b
Fix editor network join on Windows
2017-03-11 15:10:25 -05:00
Sven Eberhardt
5dfd723708
New scenario dialogue: Redraw definition list after template changed
2017-03-11 14:30:46 -05:00
Nicolas Hake
41f4779d74
StdCompiler: Use terms "Serializer" and "Deserializer"
...
Instead of "Compiler" and "Decompiler", which make me look up what's
even going on each time I see them, use the standard terms "serializer"
and "deserializer".
2017-03-11 15:05:41 +01:00
Nicolas Hake
e3d6486f2a
Move GetRelativePath to C4Language
...
C4Language is the only consumer of GetRelativePath. It cannot handle
arbitrarily sized paths, so discourage new code from using it by moving
it to C4Language.cpp.
Also remove the buffer size parameter which was always defaulted anyway
and use template parameter deduction to always get the correct size.
2017-03-11 13:47:18 +01:00
Nicolas Hake
333cf9c4b6
Merge pull request GH #35 from Fulgen301:pullrequest
2017-03-11 12:31:39 +01:00
Nicolas Hake
d9f9d9ba38
C4MapCreator: Remove unused optional parameter
...
No code called C4MapCreator::Create with the fLayers parameter omitted
or set to false, so we can just remove it.
2017-03-11 11:35:33 +01:00
Nicolas Hake
6386621a4a
Mark an unchanged parameter as const
...
Fixes build on standards-compliant C++ compilers.
2017-03-11 11:35:32 +01:00
Sven Eberhardt
a73cc5c948
Add missing DoorUnlock sound
2017-03-11 00:13:50 -05:00
Sven Eberhardt
6937969175
Force pre-select definitions specified in [Definitions] section of editor template c4s ( #1898 )
2017-03-11 00:13:49 -05:00
Lukas Werling
2c3a770415
Fix crash on invalid Editor.geometry ( #1897 )
2017-03-10 22:02:32 +01:00
Sven Eberhardt
10ab981b6f
Add ambience editor props, user actions and scenario saving
2017-03-09 21:42:39 -05:00
Sven Eberhardt
3b90a0bf10
RoomDoor: Add editor props, user actions and scenario saving
2017-03-07 22:43:27 -05:00
Sven Eberhardt
7ffc1c5ffb
Fix scenario saving of spawn action property in enemy spawns
2017-03-07 22:43:26 -05:00
Sven Eberhardt
ae93236729
Fix typo in enemy spawn
2017-03-07 22:43:26 -05:00
Maikel de Vries
0d7c8aacca
adjust moveto command to make the clonk move while jumping
2017-03-07 20:20:59 +01:00
Maikel de Vries
ae31a1fa96
fix SetVelocity script function for zero angle or speed
2017-03-06 18:52:04 +01:00
Mark
c37bc586e9
ObjectInteractionMenu: Add parameter for entry callback #1896
2017-03-06 05:33:57 +01:00
Sven Eberhardt
8db32bb53a
Fix script error on player start object with multiple clonks and nil entries in start material list
2017-03-05 14:37:35 -05:00
Sven Eberhardt
fd09df4de4
Fix non-airship vehicle AI
2017-03-05 14:35:00 -05:00
Sven Eberhardt
d537617de4
Define general AI creature selection for vehicles in enemy spawn
2017-03-05 14:32:57 -05:00
Sven Eberhardt
41b2145494
Fix enemy spawns in rectangular region
2017-03-05 13:22:19 -05:00
Sven Eberhardt
48cb0df60f
Airship enemy spawn: Add hit point parameter
2017-03-05 13:17:41 -05:00
Sven Eberhardt
6184231cdc
Improve default template map
2017-03-05 13:00:00 -05:00
Sven Eberhardt
5330c53e38
Fix cloud scenario saving
2017-03-05 12:30:25 -05:00
Sven Eberhardt
3d3e51489c
Add user action on enemy spawn
2017-03-05 11:45:04 -05:00
Sven Eberhardt
b0b64de7de
Infinite ammo respawn for grenade launcher AI attack mode
2017-03-05 11:27:45 -05:00
Sven Eberhardt
366c2c4b83
Add shield option to enemy spawn clonks
2017-03-05 11:27:45 -05:00
Sven Eberhardt
d4b036b541
Add weapon speed setting to enemy spawn
2017-03-05 11:27:44 -05:00
Nicolas Hake
eee5a5d663
Win32: Link libmisc against Winsock
...
Some parts of libmisc call into Winsock, so we should link that instead
of just linking it into the final binaries.
2017-03-05 12:41:52 +01:00