Commit Graph

19083 Commits

Author SHA1 Message Date
elexis de1a73ba65 Lobby register/login dialog cleanup.
Move JS code from XML files to JS files.
Move all terms data to one JS object.
Unify duplicate Terms dialog opening code.
Update the checkbox enabled property only upon dialog close, not onTick.

This was SVN commit r21846.
2018-06-08 13:39:52 +00:00
elexis f51f78c999 Don't print lobby buddies to mainlog.html, refs D209 / dcf12abe8c.
Differential Revision: https://code.wildfiregames.com/D1563
Comments By: Vladislav
This was SVN commit r21844.
2018-06-06 22:37:20 +00:00
elexis ce64c57b8c Prevent calling the JS gamestart function twice when doubleclicking on the "Start Game" button.
It triggered an OOS on rejoin prior to ee9cf54149, refs #5199 and
resulted in the playernames of the current match persisting into new
gamesetups, fixes #5206.

Differential Revision: https://code.wildfiregames.com/D1558
Comments By: wraitii
This was SVN commit r21843.
2018-06-06 22:25:15 +00:00
elexis eda236522c Prevent players from disconnecting during the loading screen by increasing the timeout tolerance to 60 seconds for that period, fixes #5163.
The NetClient runs in the main thread, so any part of the loading screen
consuming several seconds makes that client timeout.
This is a workaround because threading the NetClient would have prevent
these timeouts, refs #3700.
Coutnerintuitively, since enet timeout tolerance is proportional to the
latency, the better the connection of the player, the more likely it was
to drop on gamestart.

This problem became very frequent in Alpha 23, at least due to the Aura
bugfix 583b6ec625, AIInterface being particularly slow and that not
having been disabled yet in the loading screen resulting in additional
10 second freezes during the loading screen, even on empty maps, refs
#5200, 8e168f85e6.

Differential Revision: https://code.wildfiregames.com/D1513
Based on patch by: causative
This was SVN commit r21842.
2018-06-06 22:09:38 +00:00
elexis 2588682c09 In preparation of D1513, allow the NetClientSession to find out if it's the "Local Client", refs #5163.
For good practice, mention all members in the affected member
initializer list:
Add booelan m_IsLocalClient and u32 m_HostID to the member initializer
list (to not have them undefined, even though they are not read from
until they are set).
Add the strings m_GUID and m_UserName for completeness (even though the
default constructor is already called for strings).
Use nullptr instead of NULL for pointers.

Comments By: Vladislav
This was SVN commit r21841.
2018-06-06 21:17:01 +00:00
elexis 8ae179aaae Support parsing config values as u32 in preparation of D1513, refs #5163.
Differential Revision: https://code.wildfiregames.com/D1566
Reviewed By: Vladislav
This was SVN commit r21840.
2018-06-06 17:55:08 +00:00
temple 8e168f85e6 Disable AIInterface earlier to remove unnecessary lag on gamestart
Differential Revision: https://code.wildfiregames.com/D1559
Reviewed by: wraitii
Comments by: elexis, Itms, Stan
Refs: #5200

This was SVN commit r21838.
2018-06-05 23:23:37 +00:00
elexis 43730f15f3 Fix network FSM errors when a client closes the game during the loading screen or rejoin synchronization stage, fixes #4594, refs 3199.
Fix comments claiming to ensure reliability when in reality there is
only a small likelihood of the message being received.

Broken by fa85527baf / refs #2420 which was a preparation for a3e1c68b9a
/ refs #2373, which hence didn't actually work and was circumvented by
9b136a45fc without clarification.
Might have caused #3643.
Differential Revision: https://code.wildfiregames.com/D1557
Reviewed By: Imarok
This was SVN commit r21837.
2018-06-05 14:52:41 +00:00
elexis ee9cf54149 Fix an OOS on rejoin after doubleclicking on the StartGame button, fixes #5199, refs #5162.
Prevents changes to the gamesettings after the game was started, so as
to use the correct map seed when generating the random map terrain for
rejoiners.
D1558 will prevent the UI bug #5206 and FSM error from doubleclicking on
StartGame.

Differential Revision: https://code.wildfiregames.com/D1562
Tested and accepted by: temple
This was SVN commit r21836.
2018-06-05 12:24:30 +00:00
temple 48e794e97d Always call SetPassabilityCircular -- Fix OOS after rejoin on square maps
Differential Revision: https://code.wildfiregames.com/D1555
Reviewed by: elexis
Fixes: #5186

This was SVN commit r21835.
2018-06-03 16:40:44 +00:00
elexis 1608202d4f Fix an OOS on rejoin on Danubius following 3d65bfe555, refs #4855, fixes #5198.
Vectors are still deserialized as objects without their prototype
functions, so doing math on these obejcts fails upon rejoin, refs #4698.
This patch doesn't add any version incompatibilities and players with
the patched version can successfully rejoin unpatched games.

Differential Revision: https://code.wildfiregames.com/D1548
Reviewed By: temple
This was SVN commit r21834.
2018-06-03 11:49:55 +00:00
elexis 06e2e77349 Report network timeouts and lag warnings to clients that finished the loading screen but are waiting for other clients to finish it.
This allows the host to distinguish clients that are just slower than
everyone else with the loading screen from clients who have most likely
disconnected or crashed already and may be considered to be kicked.
This is especially important for D1513, because that increases the
timeout tolerance to a minute or longer.

Fixes #5193
Differential Revision: https://code.wildfiregames.com/D1546
Reviewed By: causative
This was SVN commit r21832.
2018-06-01 17:35:00 +00:00
elexis 4fbe399e07 Save oos_dump.dat too when saving oos_dump.txt.
Saves time to reproduce the binary simstate or provides data that may be
otherwise irreproducible, refs #5162.

Differential Revision: https://code.wildfiregames.com/D1544
Reviewed By: temple
This was SVN commit r21830.
2018-05-29 02:50:33 +00:00
elexis 333766ef1b Test all full hashes in non-visual replaymode by default and keep skipping quick-hash by default.
The previous code only tested quick hashes every 100 turns and could not
be used to confirm replay hashes matching.
The option can become used for visual replays too.

Differential Revision: https://code.wildfiregames.com/D1538
Refs #5162
Reviewed By: temple
This was SVN commit r21829.
2018-05-29 02:14:38 +00:00
Stan 572b72fa7f Fix non-visual replay hash mismatch caused by CCmpSound condition in CCmpVisualActor
Differential Revision: ​https://code.wildfiregames.com/D1519
Reviewed by: temple, elexis, wraitii
refs: af2abb8cbf

This was SVN commit r21828.
2018-05-28 19:06:09 +00:00
elexis 4cefb286f4 Prevent the lobby gamelist from breaking entirely if a gamestanza contains an empty or invalid mod version JSON string (refs eca956a513).
Catch all JSON SyntaxError exceptions in JS (refs d7d0a7f869).
The C++ ParseJSON function already catches exceptions and the resulting
errors can't trigger a denial of service.

Differential Revision: https://code.wildfiregames.com/D1479
Based on patch by: Imarok
Reviewed by: Imarok
Comments By: Itms
This was SVN commit r21827.
2018-05-27 13:47:18 +00:00
Gallaecio 788ca1f69d Revert 51afc72886, it violates current freezes
This was SVN commit r21826.
2018-05-26 18:26:31 +00:00
Gallaecio 51afc72886 reaffect → reassign
Reported by GunChleoc on Transifex.

This was SVN commit r21825.
2018-05-26 18:22:12 +00:00
elexis 44ec2e324e Alpha 23 "lobby lag" release fix.
Caches the loaded mod versions, so that GetEngineInfo doesn't read the
zip and json files everytime and returns about 1000 times faster.
Adds two missing includes.

The lobby froze multiple times every few seconds on updateGameList().
The gamesetup page was slowed down with every stanza sent and the
load savegame selection page was slowed down per savegame selection,
proportional to the number of installed zipped mods.

Introduced by: d5807cd59f and eca956a513
Differential Revision: https://code.wildfiregames.com/D1518
Reviewed By: wraitii
Comments By: Imarok (in D1512, P121), leper (in the lobby)
This was SVN commit r21823.
2018-05-24 18:08:56 +00:00
wraitii 83d228fe7e Fix hosting games in the lobby.
Fixes #5164.

Reported by: HMS-Surprise
Reviewed By: Stan
Trac Tickets: #5164

Differential Revision: https://code.wildfiregames.com/D1498
This was SVN commit r21822.
2018-05-21 16:52:50 +00:00
elexis a5d1e0068b Fix OSX not starting matches following 8fbc095a88.
That commit illegaly polled SDL events from a different thread which for
an unknown reason did not error on Windows and GNU/linux.

Refs #4822 / D1304, similarly 8fec942e8a.

Differential Revision: https://code.wildfiregames.com/D1484
Previous iteration tested on OSX and some comments with regards to
letter case by Vladislav (refs 27da92e55f, 4c73614955).

This was SVN commit r21818.
a23
2018-05-08 10:03:46 +00:00
elexis 27da92e55f Main.cpp cleanup.
Use an enum to indicate the type of engine shutdown instead of three
bools.
State in the comments that the program is restarted within the same
process.

In preparation of introducing an IsQuitRequested function (which shall
not be named is_quit_requested as stressed by Vladislav):
Rename kill_mainloop to QuitEngine, restart_mainloop to RestartEngine,
restart_mainloop_in_atlas to StartAtlas to not break consistency.
Don't rename RestartInAtlas in JS just now.
Group declarations at the top of main.cpp.

This was SVN commit r21817.
2018-05-08 09:45:54 +00:00
elexis 4c73614955 In preparation of renaming and grouping main.cpp shutdown variables:
Declare the g_GameRestarted hack from 12f0720f31 in main.cpp, because it
is main.cpp and Game.cpp who provide it's value.
Move the comment so that the connotation becomes clear when reading
main.cpp.

Remove the extern declaration introduced to the Renderer in fb035d08e3
that became obsolete with ed7c66eb82.

This was SVN commit r21816.
2018-05-08 09:24:16 +00:00
elexis 16fbe90342 Fix 204b04f2d4 compatibility with zipped mods, refs #5018.
Differential Revision: https://code.wildfiregames.com/D1480
Reviewed By: Itms
This was SVN commit r21814.
2018-05-01 21:15:55 +00:00
elexis b0ca04b555 Revert a bit of the nerf from 5cbe187438.
Commit permitted by Itms.

This was SVN commit r21813.
2018-05-01 21:12:43 +00:00
Itms a89bcf837b Fix the window icon that cannot be loaded in release packages, refs 27d99765bb.
Discussed with Imarok and elexis.

This was SVN commit r21812.
2018-05-01 20:29:36 +00:00
Itms c647dcd330 Exclude a few files from the win32 installer.
This was SVN commit r21811.
2018-04-30 20:09:20 +00:00
elexis 0de26377a8 Fish should not block foundation construction.
Regression introduced by 8ace8034a2.
Tested by mimo, commit permitted by Itms.

This was SVN commit r21810.
2018-04-30 16:29:55 +00:00
Itms 54d2b13658 Update AppData, fixes #5006, refs #3734.
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D683
This was SVN commit r21809.
2018-04-29 20:49:52 +00:00
Itms 32686c2840 Build fixes for macOS and premake4.
Fixes issues with wxWidgets and curl reported by foxhack. Fixes premake4
build scripts after an oversight in 833c9f108c.

Reviewed By: vladislavbelov
Differential Revision: https://code.wildfiregames.com/D1468
This was SVN commit r21808.
2018-04-29 15:44:48 +00:00
Itms 2b564e7311 Enlarge elements of the AI configuration message box in order to display correctly the majority of strings for the bundled languages. Fixes #3084 at the same time.
This was SVN commit r21807.
2018-04-29 15:34:31 +00:00
Itms dae5a7f488 Update translator credits.
This was SVN commit r21806.
2018-04-29 14:58:18 +00:00
Itms 056affbfab Update the list of languages for the Windows installer.
This was SVN commit r21805.
2018-04-29 14:37:35 +00:00
Itms e84e712801 Enlarge some GUI elements in order to display correctly the majority of strings for the bundled languages.
This was SVN commit r21804.
2018-04-29 14:34:10 +00:00
elexis 54e0f9ec28 Add engine and mod version test before loading the persist-matchsettings file.
This should be unneeded if the settings were parsed rather than copied
directly.

Differential Revision: https://code.wildfiregames.com/D1475
Reviewed By: Itms
This was SVN commit r21802.
2018-04-29 13:18:05 +00:00
Itms 15bbd3b62b Update list of included languages in A23.
This was SVN commit r21801.
2018-04-29 13:05:45 +00:00
mimo ac149374fc few templates fixes
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D1477
This was SVN commit r21800.
2018-04-29 08:56:59 +00:00
elexis fce54167fd Place palisade walls around Napata when chosing the "easy" difficulty.
This was SVN commit r21798.
2018-04-28 20:34:31 +00:00
elexis 5cbe187438 30% less attackers on Jebel Barkal and leave more time between attacker waves in later stages of the game.
This was SVN commit r21797.
2018-04-28 16:22:27 +00:00
mimo f4f13f17b2 fix kush walls SelectionGroupname
This was SVN commit r21796.
2018-04-28 09:36:55 +00:00
mimo 28aa3d186f Ptol catapults should unpack to ptol catapults, not mace catapults
Patch by causative

Reviewed By: mimo
Differential Revision: https://code.wildfiregames.com/D1474
This was SVN commit r21795.
2018-04-28 09:30:53 +00:00
temple f90c4488ee Add missing kush formations
This was SVN commit r21793.
2018-04-27 23:55:07 +00:00
mimo 04fc83a231 fixes a few templates
This was SVN commit r21792.
2018-04-27 21:54:38 +00:00
vladislavbelov 661af35eb8 Fixes translations license year.
Reviewed By: Itms
Differential Revision: https://code.wildfiregames.com/D1471
This was SVN commit r21791.
2018-04-27 19:34:00 +00:00
temple 677165e205 Increase min range of catapults and bolt shooters
Differential Revision: https://code.wildfiregames.com/D1452
Reviewed by: elexis
This was SVN commit r21790.
2018-04-27 18:47:48 +00:00
elexis 13e1702777 Add missing ScriptInterface includes to
JSInterface_L10n.cpp from d6db5a466d,
JSInterface_Renderer.cpp and JSInterface_GUITypes.cpp from 4b1297b328,
JSInterface_VisualReplay.cpp from b830233498,
JSInterface_Game.cpp from 5f8be8e0c6,
JSInterface_Simulation.cpp from 921c5515a6,
JSInterface_Debug.cpp from d6cb9c845b,
JSInterface_Main.cpp from 486aec18d4, refs #4772,
JSInterface_Mod.cpp where it was incorrectly removed in af03c72f76.

Refs D1470.
Sort includes alphabetically, add recent Coding Convention macro
comments.

This was SVN commit r21789.
2018-04-27 16:48:44 +00:00
elexis 7ecd1d2c34 Clean some forward declarations.
Remove unused (wrong copy&paste) includes from 86fcf0de8c in
JSInterface_ModIo.*, initially hinted at by leper.
Remove a forward declaration in JSInterface_Console.h that should have
become an include with 4b1297b328, because CxPrivate must be declared
before its reference too.
Remove a forward declaration in JSInterface_Mod.h from 64bfa089af that
should have been the include added in af03c72f76 which in turn omitted
to remove this forward declaration.
Remove a forward declaration in Renderer.h that became unused with
1ddd24bb8c.

Differential Revision: https://code.wildfiregames.com/D1470
Reviewed By: Itms
This was SVN commit r21788.
2018-04-27 16:06:42 +00:00
mimo 440012961a really fix packing problems reported in 5acfa9921e
Differential Revision: https://code.wildfiregames.com/D1458
This was SVN commit r21786.
2018-04-26 16:49:18 +00:00
temple 583b6ec625 Stop some auras from being applied extra times, don't apply player auras to templates, and fix some linting errors
Differential Revision: https://code.wildfiregames.com/D1430
Comments by: fatherbushido, elexis
This was SVN commit r21785.
2018-04-26 00:35:24 +00:00
temple f7c2785400 Fix a couple of packing problems from 5acfa9921e
Packable units should pack in the attack order after the standground
check, and they should pack before chasing.
Reported by: bb
Comments by: mimo at D1458
This was SVN commit r21784.
2018-04-25 23:47:24 +00:00