1
0
forked from 0ad/0ad
Commit Graph

173 Commits

Author SHA1 Message Date
e6a0c7ae77 Remove SendGetRatingList lobby function which is deprecated and ignored serverside since 1a15131d2d because it caused performance issues and therefore shouldn't be used anymore.
Fixes #4151
Patch by: sbirmi
This was SVN commit r19463.
2017-04-27 11:42:51 +00:00
39fcd1d031 Implement clientside kick/ban support for the lobby.
Displays a chat notification for all lobby clients if a client is kicked
or banned, pop up a message box for the affected one, including the kick
reason.
Clean the player- and gamelist upon disconnect and disable the control
elements.

Reviewed By: Imarok
Differential Revision: https://code.wildfiregames.com/D116
This was SVN commit r19250.
2017-02-28 11:16:46 +00:00
0e2d2610c9 Display a nice error message when trying to register too many lobby accounts
(This is a workaround that will be removed when gloox has fixed the
issue.)

Reviewed by: elexis
Refs #3771
Differential Revision: https://code.wildfiregames.com/D87
This was SVN commit r19205.
2017-02-07 15:05:26 +00:00
417c84870c Actually remove trailing tabs from source/.
This was SVN commit r18991.
2016-11-23 14:09:58 +00:00
6149dd3841 Actually remove trailing whitespace for non-header files as well.
This was SVN commit r18989.
2016-11-23 13:02:58 +00:00
e4000d11cf Display the gamestart time in the lobby. Patch by Imarok, combined with d7d0a7f869 fixes #3476.
XPartaMupp patch reviewed by scythetwirler.

This was SVN commit r18601.
2016-08-14 09:03:30 +00:00
d7d0a7f869 Submit and display more information about matches in the lobby. Patch by Imarok, refs #3476.
Includes team numbers, online/offline- and won/defeated state, AI type
and difficulty for running games and
only the playernames with observer-player distinction in the gamesetup.
Use JSON format inside the XML stanza and minimize traffic by packing
teams.

Use the observer distinction to correctly apply the "full games" trigger
in the lobby, fixes #3143.

XPartaMupp patch applied by scythetwirler.
unescapeText function by sanderd17, refs #3409.

This was SVN commit r18534.
2016-07-20 16:04:23 +00:00
7c21a0cf8e Header cleanup: profile.h is no longer unnecessarily included in scriptinterface.h but rather in the required .cpp files
This was SVN commit r18417.
2016-06-21 10:33:11 +00:00
a9426a3f26 Distinguish private and public room level messages in the lobby. Patch by scythetwirler, refs #3865.
This was SVN commit r18378.
2016-06-14 14:07:52 +00:00
62061557db Host on arbitrary UDP ports. Patch in cooperation with Imarok, fixes #3575.
This was SVN commit r18372.
2016-06-13 16:56:14 +00:00
572847ddd4 Revert 1f34a004e5.
It breaks the Windows build by using time_t and it changes too many
things to the way lobby messages are processed to be entirely safe to
commit now.
Refs #3832.

As a side effect it reverts e514aca599, refs #3350.

This was SVN commit r17941.
2016-03-23 21:58:23 +00:00
1f34a004e5 Add timestamps to the GUI/chat-notifications sent from XmppClient, even if it's not a historical message.
Correct spammonitor behavior for historical messages and when returning
to the lobby from a game.
Patch by Josh, fixes #3832.

This was SVN commit r17928.
2016-03-21 13:48:22 +00:00
1a66f510d0 Use const T& for parameters of some types in script-exposed native functions
Using references matches the C++ coding style better and should improve
performance a bit in theory. It avoids 2 copies of T in case of the
functions registered with RegisterFunction (mainy used in the GUI). It
should also avoid one or two copies in case of
DEFINE_INTERFACE_METHOD_X, which is used in the simulation, but I
haven't bothered to count it there exactly.
It is now predefined which types have to be passed by const reference
and which are passed by value. Note that references can't be used as
out-parameters (to return multiple values to JS). This hasn't worked
before either and probably never will.

This was SVN commit r17696.
2016-01-23 15:17:56 +00:00
ab4668ac79 Remove legacy error codes from strings.
This was SVN commit r17600.
2016-01-04 17:58:28 +00:00
7a3f011587 Fix a typo.
This was SVN commit r17599.
2016-01-04 17:05:43 +00:00
5033fd6cbf Some const and fix the indentation.
This was SVN commit r17598.
2016-01-04 17:05:39 +00:00
036f985017 Add missing semicolons.
Update timestamp.

This was SVN commit r17591.
2016-01-02 18:12:02 +00:00
9281aaf25e Map more specific messages from the Gloox documentation to registration results and stanza errors in the lobby code. Also, don't request translation of more arcane errors. Fixes #3047
This was SVN commit r17587.
2016-01-01 18:38:50 +00:00
9f9db45a03 Fix broken feedback display logic and broken error handling from ccb534259d. Additionally, streamline logic in prelobby.js and remove an unexplained check in lobby.js added by 76a1a84a58.
This was SVN commit r17584.
2016-01-01 17:18:17 +00:00
ccb534259d Major lobby cleanup.
Create an object holding the handling of all netmessage types.
Display private messages sent by moderators.

Details:
 Switch back the second and third argument of CreateSimpleMessage, so it
relates again to the switch/object.
 Reduce the dimension/nesting of the object/switch from three to two.
 Hence remove the useless "standard" and "internal" value send in the
text field.
 Rename CreateSimpleMessage to CreateGUIMessage
 Use the property "level" instead of "text" for "connect" and
"disconnect".
 Remove the handling of the "connect" event in lobby.js, since it is
never called.
 Translate the disconnect event.
 Add comments and explicit checks to handleMessage and handleMUCMessage
to make obvious where they differ.
 Remove the "message" property from those GUI messages, since it should
just use "text".
 Move the login-fail handling to JS.
 Remove useless sprintf calls from warning messages.
 Inline some variables.
 Add missing semicolons.

This was SVN commit r17581.
2015-12-31 17:08:23 +00:00
02c065e2c9 Removes the unused "gone" presence state from the lobby. Refs #3383.
This was SVN commit r17358.
2015-12-02 14:41:32 +00:00
7eefcbe8c5 Do not use non-static data member initializer.
GCC 4.6 does not support those and initializing it in the ctor is a lot
clearer in this case.

This was SVN commit r17022.
2015-09-15 00:55:03 +00:00
8b437a0b1c Fix #3386, patch by elexis.
This was SVN commit r16997.
2015-09-10 05:30:18 +00:00
45a39e7dfd Fix 3171 by moving some logic to C++. These changes do not optimize the presence buffer and only fix the state bug.
This was SVN commit r16961.
2015-08-30 12:56:48 +00:00
36c6b50944 Revert emplace for associative containers. Fixes #3366.
GCC < 4.8.0 does not support emplace for those.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44436.

This was SVN commit r16922.
2015-08-19 03:32:47 +00:00
94302a4149 Move engine version to common file. Patch by elexis. Fixes #3359.
This was SVN commit r16906.
2015-08-01 23:03:13 +00:00
bbafed7fbf Lobby code cleanup.
This was SVN commit r16796.
2015-06-19 17:25:28 +00:00
f2c76cc75d Fix a number of issues related to historical messages and initial join in the multiplayer lobby. Fixes #3156
This was SVN commit r16507.
2015-04-06 19:33:37 +00:00
3c093ef741 Update lobby room.
This was SVN commit r16412.
2015-03-15 04:15:45 +00:00
4c1903500b Switch to std::shared_ptr and std::weak_ptr.
This was SVN commit r16227.
2015-01-25 03:10:58 +00:00
c02a7e1a7b SpiderMonkey 31 upgrade
This upgrade also introduces exact stack rooting (see to the wiki:
JSRootingGuide) and fixes problems with moving GC. This allows us to
enable generational garbage collection (GGC).
Measurements a few months ago have shown a performance improvement of a
non-visual replay of around 13.5%. This probably varies quite a bit, but
it should be somewhere between 5-20%. Memory usage has also been
improved. Check the forum thread for details.

Thanks to everyone from the team who helped with this directly or
indirectly (review, finding and fixing issues, the required C++11
upgrade, the new autobuilder etc.)! Also thanks to the SpiderMonkey
developers who helped on the #jsapi channel or elsewhere!

Fixes #2462, #2415, #2428, #2684, #1374
Refs #2973, #2669

This was SVN commit r16214.
2015-01-24 14:46:52 +00:00
e02d7ad949 Automatically replace %hs/%ls with %s in CLogger format strings.
Everything is char* now, so we don't need to mess around with different
string types.

Done with:

  ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs perl
-pi -e'1 while
s/(LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR).*)%[hl]s/$1%s/g'

This was SVN commit r16187.
2015-01-22 20:36:24 +00:00
49e2ecea63 Automatically convert all CLogger format strings from wchar_t* to char*.
Done with:

  ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs sed
-i 's/LOG\(MESSAGE\|MESSAGERENDER\|WARNING\|ERROR\)(L/LOG\1(/g'

This was SVN commit r16183.
2015-01-22 20:31:30 +00:00
87d5d37488 Some source string fixes.
This was SVN commit r16002.
2014-11-22 22:21:54 +00:00
9407dbe45e Remove useless parameter from CFG_GET_VALUE.
This was SVN commit r15984.
2014-11-17 23:29:49 +00:00
d15e2f0cf6 Check for availability of XmppClient.
Move Lobby script function registration to the lobby JS interface.

This was SVN commit r15968.
2014-11-16 02:10:24 +00:00
1a0f9b086e GUI cleanup.
Remove toTitleCase(). Unify iColorToString() and rgbToGuiColor().
Translate XMPP errors (displayed when connecting).

This was SVN commit r15960.
2014-11-13 01:26:36 +00:00
3c8ef99007 Switch lobby room. Update mod version.
This was SVN commit r15850.
2014-10-12 19:27:42 +00:00
6b2677a3fd Adds profiles to the multiplayer lobby. Fixes #2504.
This was SVN commit r15768.
2014-09-20 15:35:26 +00:00
28bdd8540f Quite a lot of stack rooting related changes.
Changes GetProperty, SetProperty and HasProperty and a few other
functions to take handles. The conversions to CScriptVal or
CScriptValRooted at some places should be removed in the future. I've
done that to avoid an even larger patch.

Refs #2415
Refs #2462

This was SVN commit r15568.
2014-07-26 22:33:16 +00:00
072e4a614e Bump lobby version string.
This was SVN commit r15214.
2014-05-25 03:21:32 +00:00
2ad7187f92 Move XMPP polling to the mainloop. Should reduce lobby disconnects. Fixes #2491
This was SVN commit r15018.
2014-04-27 05:37:34 +00:00
9e2d0b9506 Fix #2404. Rating auto-configure TODO (eg 2v2 games do not automatically show as being unrated). See #2276.
This was SVN commit r14934.
2014-04-16 06:03:49 +00:00
180aa5c60d Makes the moderator prefix visible in the chatbox.
This was SVN commit r14922.
2014-04-12 23:40:36 +00:00
e9e05f4efc Second (main) commit for the SpiderMonkey upgrade.
This commit contains all the required changes to our source files and
build scripts (hopefully).
A next commit will remove the old stuff of SpiderMonkey 1.8.5.

Spcial thanks to:
 - H4writer who helped a lot mainly with the performance issues we
had/have, but also with other problems or questions.
 - Leper for the review.
 - Historic_bruno for implementing the build scripts on Mac OS X and
testing on the Mac.
 - The people from the #jsapi channel and from
mozilla.dev.tech.js-engine who answered a lot of questions and helped
solving problems.
 - All the other people who helped

Refs #1886
Fixes #2442
Fixes #2416

This was SVN commit r14877.
2014-03-28 20:26:32 +00:00
29f94a759c Fix an issue with lobby registration and a minor wording tweak.
This was SVN commit r14813.
2014-03-07 01:52:06 +00:00
0157e640cc Make my last commit C++98 compatible.
This was SVN commit r14709.
2014-01-31 01:26:08 +00:00
ff4ed09b6f Backend for special formatting of moderaters in the lobby userlist.
This was SVN commit r14706.
2014-01-30 15:46:19 +00:00
7bcdb9f46d Remove two un-needed string initilizations from my earlier changes.
This was SVN commit r14692.
2014-01-27 05:46:21 +00:00
c61badb04c Fix typo.
This was SVN commit r14688.
2014-01-26 19:29:21 +00:00
2a1240008c Make my previous changes < C++11 compatible.
This was SVN commit r14687.
2014-01-26 19:23:50 +00:00
5e70bd3628 Fix and cleanup my recent changes.
This was SVN commit r14686.
2014-01-26 19:01:21 +00:00
39fef5c299 Add the ability to display chat messages when joining the lobby and quickly mostly update the options window to the new UI style.
This was SVN commit r14679.
2014-01-26 05:39:55 +00:00
041c6ab1b3 More lobby cleanup.
This was SVN commit r14677.
2014-01-26 04:25:35 +00:00
41a7c78e62 Fix some stuff in XmppClient.cpp on leper's recommendation.
This was SVN commit r14670.
2014-01-25 20:49:48 +00:00
12a691edc2 Make my previous changes support < C++11 and Windows.
This was SVN commit r14661.
2014-01-24 20:31:39 +00:00
b46a6de335 Allow using the XMPP room subject to display lobby information to user, make the lobby GUI code more readable, and cleanup the modern styles.
This was SVN commit r14656.
2014-01-24 18:20:15 +00:00
e5e634f768 Displays ratings in the userlist. Fixes #2371.
This was SVN commit r14650.
2014-01-23 23:13:13 +00:00
32258b2ba3 Move lobby encryption code to third_party/encryption and add tests. Fixes #2308
This was SVN commit r14595.
2014-01-17 20:14:41 +00:00
4b1297b328 Removes g_ScriptingHost and implements global to compartment 1 to 1 relation.
Each GUI Page gets its own compartment and all ScriptInterfaces in the
same thread should now use the same JS Runtime.
This is required for the SpiderMonkey upgrade.
Check the ticket for details.

Closes #2241
Refs #1886
Refs #1966

This was SVN commit r14496.
2014-01-04 10:14:53 +00:00
f254478d1b Revert accidentily committed changes.
This was SVN commit r14415.
2013-12-28 03:34:40 +00:00
177a7cd99d Make uninitilized players not show in the lobby leaderboard.
This was SVN commit r14414.
2013-12-28 03:32:31 +00:00
ad0d81cb8a Various lobby changes and some optimizations in the lobby bot by scythetwirler.
This was SVN commit r14396.
2013-12-26 19:45:20 +00:00
62a10ab938 Fixes Windows build.
Fixes UPnP error handling to be more correct and conventional, refs
#2305

This was SVN commit r14352.
2013-12-15 01:02:26 +00:00
f890856c6d Seperate differently licenced portions of sha.cpp/h into pkcs5_pdkdf2.cpp/h and remove some extra std includes in sha.cpp. Refs #2308
This was SVN commit r14350.
2013-12-14 16:58:21 +00:00
bf97148ddc Add proper licence header and remove tyedefs in sha.cpp/h. Refs #2308
This was SVN commit r14349.
2013-12-14 16:22:48 +00:00
6fba293088 In #2241 I'm going to change the GUI to have one ScriptInterface for each GUI page because that will be required for the Spidermonkey upgrade (#1886).
The Multiplayer lobby needs some changes to avoid compartment
mismatches. Instead of initializing it with a ScriptInterface and
storing script values at different locations, it takes a ScriptInterface
argument in the functions that really need to read or write some script
values and avoids storing values as script values with an associated
compartment where possible.
The scripting interface of the lobby is also adjusted to use
JSInterface_Lobby.h/cpp files as other components instead of adding all
functions to ScriptFunctions.cpp. This makes it a bit more clearly
arranged IMO.

Fixes #2267
Refs #2241
Refs #1886

This was SVN commit r14199.
2013-11-16 18:38:40 +00:00
4915116ccc Fix glooxwrapper build on gcc 4.2 and warning on clang.
This was SVN commit r14167.
2013-11-14 00:32:28 +00:00
d7ec8c47a6 Fix Unicode support in lobby.
Fix EncryptPassword being called with the wrong argument order, and
encrypting username instead of password. (This will break all existing
lobby accounts.)

Fix EncryptPassword not using all of salt_base.

This was SVN commit r14123.
2013-11-09 23:26:17 +00:00
9cc172b164 Fixes --without-lobby for MSVC and clang, refs #2249.
Cleans up some whitespace.
Removes obsolete PCH files.

This was SVN commit r14117.
2013-11-09 02:57:10 +00:00
81cf02cc13 Fix building with --without-lobby. Fixes #2249.
This was SVN commit r14113.
2013-11-08 15:28:44 +00:00
bffe917914 Multiplayer lobby based on the XmPP protocol. Special thanks to Philip, alpha123, scythetwirler, and anyone else who has helped build, debug or test the lobby.
This was SVN commit r14098.
2013-11-07 20:07:24 +00:00
d7121f4f55 glooxwrapper by Philip to support building gloox on Windows.
This was SVN commit r14097.
2013-11-07 19:38:09 +00:00