Commit Graph

10322 Commits (a33d98ee718a573fc63d42daf8bfed3b0718dc6a)
 

Author SHA1 Message Date
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