Nicolas Hake
a33d98ee71
Aul: Warn on empty controlled statement
...
Aul will now emit a warning if you type something like
if (...); return true;
(note the semicolon right after the condition). It will also warn on an
empty 'else' branch. If you actually intended to have a no-op there, use
an empty block '{}'.
2017-02-05 14:17:37 +01:00
Nicolas Hake
9a201441d5
Mat insertion: Fix broken conditional
2017-02-05 13:51:04 +01:00
Nicolas Hake
9bddba53df
Improve CStdStream const correctness
2017-02-05 13:26:24 +01:00
Nicolas Hake
b0898f4e1a
C4Group: Pull most the data members out of the header
2017-02-05 13:26:23 +01:00
Nicolas Hake
bcbd368ffd
C4Group: Rename "Status" enum to "SourceType"
2017-02-05 13:20:18 +01:00
Nicolas Hake
71f8cb0699
C4Application: Remove unused flag IsInGameTick
2017-02-05 13:20:18 +01:00
David Dormagen
56fa6ca157
fish: fixed silent defect (usage of wrong variable)
...
This most likely does not change the behaviour, as VisionMaxRange was a higher value than VisionMaxAngle and probably capped during the fuzzyfication.
2017-02-04 15:07:41 +01:00
Maikel de Vries
2be444c297
defense goal: clean up wave control
...
Merge this into enemy control, which did handle most of the control stuff already.
2017-02-04 15:01:03 +01:00
Lukas Werling
487fcc362d
Linux: Read IPv6 addresses from /proc/net/if_inet6
...
In contrast to getifaddrs(), /proc/net/if_inet6 allows filtering
deprecated privacy addresses. As these addresses generally won't be
useful for new connections, there's no reason to include them and they
only cause unnecessary connection attempts.
2017-02-02 22:23:12 +01:00
Maikel de Vries
27fa2410f4
defense: only provide infinite grenade launcher ammo if homebase is active
2017-02-02 21:47:57 +01:00
Maikel de Vries
caca643c83
ai: add bomber and improve defense ai
2017-02-02 21:47:57 +01:00
Maikel de Vries
2807f36319
indicate which items are explosive
2017-02-02 21:47:57 +01:00
Maikel de Vries
0dbfa2dd91
ai: airship gets new pilot if old one is lost
2017-02-02 21:47:57 +01:00
Maikel de Vries
7b26e1fa13
ai: put a message when an intruder is spotted
2017-02-02 21:47:57 +01:00
Maikel de Vries
ac38e1d23a
ai: unify settings
2017-02-02 21:47:56 +01:00
Maikel de Vries
b3ace26ae3
put ai movement into a separate script
2017-02-02 21:47:56 +01:00
Maikel de Vries
b43ce3080a
ai: prohibit movement if ai has command and climb down ladders correctly
2017-02-02 21:47:56 +01:00
Maikel de Vries
a61743a4d5
improve movement of defense boom attack
2017-02-02 21:47:56 +01:00
Maikel de Vries
c02a76119a
ai: fix script runtime errors in target finding
2017-02-02 21:47:56 +01:00
Maikel de Vries
d221289886
defense goal: fix awarding bonus after game has finished
2017-02-02 21:47:56 +01:00
Maikel de Vries
957d74bbae
update king of the hill to new ai and small improvements
2017-02-02 21:47:56 +01:00
Maikel de Vries
21f82e6c41
update defense enemies to new ai
2017-02-02 21:47:56 +01:00
Maikel de Vries
7d3062277a
ai: attack messages, logging and better target finding
2017-02-02 21:47:56 +01:00
Maikel de Vries
8159d73be6
ai: implement airship
2017-02-02 21:47:56 +01:00
Maikel de Vries
4d6be35c32
allow script players to join in network rounds ( #1885 )
2017-02-02 21:47:56 +01:00
Maikel de Vries
c5078b269e
windmill: remove obsolete HitCheck.c
...
Done by friendly fire rule.
2017-02-02 21:47:56 +01:00
Maikel de Vries
da6ce3d5d6
ranged ai: use upper ballistic angle if lower is blocked
2017-02-02 21:47:56 +01:00
Maikel de Vries
706f4455d4
ai: add protection using the club
2017-02-02 21:47:55 +01:00
Maikel de Vries
4f420766b7
ai: implement healing
2017-02-02 21:47:55 +01:00
Maikel de Vries
ef69ee9d5f
move ai protection and target finding into separate definitions
2017-02-02 21:47:55 +01:00
Maikel de Vries
a6fd976a77
ai: fix saving & editor props, make public calls safe
2017-02-02 21:47:55 +01:00
Maikel de Vries
8d56434fc5
fix possible script runtime error in aim manager library
2017-02-02 21:47:55 +01:00
Maikel de Vries
a89af833c7
ai: fix ai getting and implement axe + club
2017-02-02 21:47:55 +01:00
Maikel de Vries
ff51f07eeb
fix double static declaration warnings in defense scenarios
2017-02-02 21:47:55 +01:00
Maikel de Vries
8ad872930b
rework AI: new effects, use effect target
...
This is a big change but does make it possible to separate the different scripts into different definitions.
2017-02-02 21:47:55 +01:00
Maikel de Vries
2aa1b961ea
AI: don't increase normal throw speed for javelin
...
Javelin uses ranged mechanism for using/throwing.
2017-02-02 21:47:55 +01:00
Maikel de Vries
3282806d7d
move AI ranged and melee control to separate files
2017-02-02 21:47:55 +01:00
Maikel de Vries
7fb300896a
fix AI SetGuardRange
2017-02-02 21:47:55 +01:00
Maikel de Vries
3fb539522d
clean up AI script
2017-02-02 21:47:55 +01:00
Julius Michaelis
80c07d34e4
Add [Landscape] Secret to Scenario.txt to default-disable black NO_OWNER viewports
...
Related to: c569036d1d
2017-01-24 18:50:30 +01:00
Maikel de Vries
8208a19c8f
delete interaction menu effect when menu is closed
...
This prevents a lot of effects without command target from floating around.
2017-01-22 10:49:58 +01:00
Sven Eberhardt
b51dbc3717
Fix duplicate static definitions in Hot Ice
2017-01-21 21:31:57 -05:00
Sven Eberhardt
3f06882a4c
Krakatoa: Add German translation of intro messages
2017-01-21 21:27:45 -05:00
Lukas Werling
459adbd199
Fix local network discovery on Windows ( #1886 )
...
On Windows, we cannot resolve addresses using getaddrinfo() before
initializing Winsock. By storing the address as string, the address
parsed later on.
2017-01-21 16:03:03 +01:00
Lukas Werling
ef4f1d9231
Merge branch 'ipv6'
2017-01-18 21:59:16 +01:00
Lukas Werling
e3a0f2f8b5
Implement Happy Eyeballs for C4Network2HTTPClient
...
This should make masterserver requests more reliable for users with a
bad IPv6 connection.
See RFC6555
2017-01-18 21:55:17 +01:00
Lukas Werling
894edfce5b
Allow adding connections from other addresses
...
Forcing a static address does not work for IPv6 where everyone has
multiple addresses that change over time. For example, adding a new
connection would fail if the preferred privacy address changes during
a game.
2017-01-18 21:55:17 +01:00
Lukas Werling
6677295bac
Serialize addresses in UDP connection packages
...
The previous approach of just embedding the raw struct fails miserably
when trying to transfer AF_INET6 across platforms.
2017-01-18 21:55:17 +01:00
Lukas Werling
6af32a7c46
Fix IPv6 sockets on Windows not being dual-stack
...
On Linux, all IPv6 sockets are dual-stack per default; on Windows, they
are not. It's still a good idea to set the option on Linux as well as
the default value can be changed.
When connecting via TCP, C4NetIO still creates IPv4 sockets, so no dual
stack option is required there.
2017-01-18 21:54:50 +01:00
Lukas Werling
a9ee16a287
Change C4NetIOUDP broadcast to IPv6
...
It's not actually used anywhere, but it's not broken now!
This also moves the low-level and OS-specific GetLocalAddresses code to
C4NetIO where it's fitting better than in C4Network2Client.
2017-01-18 21:54:50 +01:00