Commit graph

81 commits

Author SHA1 Message Date
scythetwirler
e5e634f768 Displays ratings in the userlist. Fixes #2371.
This was SVN commit r14650.
2014-01-23 23:13:13 +00:00
mimo
41d3366f6a check version and mods before loading a file, fixes #2361 and #2385.
This was SVN commit r14630.
2014-01-21 22:49:42 +00:00
JoshuaJB
8226d75715 Make PickEntitiesAtPoint faster yielding 1-3% overall performance improvement. Fixes #2358. Also removes some trailing whitespace.
This was SVN commit r14532.
2014-01-07 04:05:10 +00:00
Yves
6ca6a5f779 The patch in 4b65f77438 seems to have fixed the crash, but the initData value doesn't match the JSContext's compartment, so it's theoretically wrong.
This should fix it correctly.

#Refs 2241

This was SVN commit r14508.
2014-01-04 21:49:36 +00:00
Yves
4b65f77438 Fixes an occasional crash introduced in #2241 (hopefully).
Refs #2241

This was SVN commit r14507.
2014-01-04 21:36:12 +00:00
Yves
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
leper
5e23445339 Make ConfigDB properly thread-safe.
Replace CreateValue with SetValueString so we don't pass pointers to
internal
 ConfigDB structures around. Refs #1810.
Remove some splash screen related functions since we can achieve the
same
 with the ConfigDB functions exposed to scripts.

This was SVN commit r14437.
2013-12-29 23:56:18 +00:00
Yves
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
Ykkrosh
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
historic_bruno
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
leper
81cf02cc13 Fix building with --without-lobby. Fixes #2249.
This was SVN commit r14113.
2013-11-08 15:28:44 +00:00
JoshuaJB
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
historic_bruno
7901ed51d4 Implements skirmish maps, based on patch by sanderd17, fixes #1198. Skirmish maps are like scenarios, except the player can choose their civ during match setup. To create a skirmish map: place some skirmish entities for each player in Atlas (see templates/skirmish/* for examples), uncheck the player's civ in Atlas' player panel if desired, and save in the maps/skirmishes directory. The map will appear in match setup under the "Skirmish" match type.
Implements custom, VFS-based map load/save dialogs for Atlas (replaces
broken native file dialogs), fixes #631, #889.
Fixes map loading/saving to handle arbitrary subdirectories for better
organization.
Adds default settings to Atlas player panel, fixes #1872. Each setting
now has a checkbox to choose whether it should be saved with the map
(avoids writing lots of useless default data for each map).
Adds map preview setting to Atlas, refs #1745.
Cleans up and simplifies some duplicate code.
Fixes optional serialization performance test.

This was SVN commit r13938.
2013-10-04 02:29:16 +00:00
Yves
238b7f84d8 Changes the ConfigDB to expose global functions to scripts instead of properties and custom objects.
Fixes #2172
Refs #1886

This was SVN commit r13914.
2013-09-29 18:56:50 +00:00
Yves
9781b67cf4 Changes the Console to expose global functions to scripts instead of properties.
Fixes #2140
Refs #1886

This was SVN commit r13884.
2013-09-21 14:48:19 +00:00
Yves
12e2428495 Changes the Renderer to expose global functions to scripts instead of using CJSObject.
Fixes #2137
Refs #1886

This was SVN commit r13877.
2013-09-21 08:24:45 +00:00
Yves
5304bc9d6a Changes GameView to expose global functions to scripts instead of using CJSObject.
Fixes #2126
Refs #1886

This was SVN commit r13826.
2013-09-12 12:40:05 +00:00
alpha123
20e7d2224a Implement a developer overlay command to change the current player ID (very useful for AI development).
This was SVN commit r13606.
2013-07-29 00:53:44 +00:00
historic_bruno
e0ea53a8ee Adds saved game descriptions and in-game save dialog, based on patch by Crynux, fixes #2030
This was SVN commit r13579.
2013-07-21 00:23:57 +00:00
alpha123
6f3a0e1378 Implement location hotkeys. Fix #1882.
This was SVN commit r13463.
2013-06-09 20:21:19 +00:00
historic_bruno
16de5c75ac Adds game speed option to match setup, adds in-game control for single player games, fixes #785.
Refactors some GUI utility functions.

This was SVN commit r13340.
2013-04-03 23:24:22 +00:00
leper
276f0a41a0 New Year's clean-up.
Throw a warning if a invalid (not present) AI is specified in a map.
Replace the last occurences of jubot with qbot.
Exclude the common siege templates from the Units Demo map.
Fix an error with flying units.
Replace CFG_GET_SYS_VAL with CFG_GET_USER_VAL and rename it to
CFG_GET_VAL to reflect its behaviour better.
Fix linker error with clang 3.2. Refs 1588.
Remove some useless includes.

This was SVN commit r13031.
2013-01-01 18:33:53 +00:00
leper
adc4012944 Save last multiplayer server. Based on patch by Aurium. Fixes #1778.
Fix bug in ConfigDB: Creating a value could result in changing a value
in a different namespace.

This was SVN commit r13021.
2012-12-25 22:49:18 +00:00
leper
9a2dfa3fc0 Read default multiplayer server name/IP address from config. Patch by Aurium. Refs #1778.
This was SVN commit r13003.
2012-12-20 21:44:56 +00:00
Yves
5ce5ef9286 Adds a splashscreen that appears on startup and informs the player about the status of the game (bugs, missing features). The splashscreen can be disabled for future startups by unckecking a checkbox on the splashscreen.
This was SVN commit r12735.
2012-10-07 12:43:08 +00:00
Deiz
f91111aec8 Load default MP player name from the config.
This was SVN commit r12673.
2012-09-14 05:38:29 +00:00
vts
490182ddd0 Wall placement. Closes #786.
This was SVN commit r11760.
2012-05-05 19:22:22 +00:00
historic_bruno
c8745ee41f Handle game ending in Atlas a bit more gracefully, it now continues until the user stops the simulation test. Fixes #641.
This was SVN commit r11575.
2012-04-20 01:41:54 +00:00
Ykkrosh
769350a3e7 Compute camera height and zoom limits based on smoothed terrain heightmap. Fixes #794, based on patch by Dietger.
This was SVN commit r11556.
2012-04-18 20:39:00 +00:00
historic_bruno
4eec2bf5d2 Fixes some bugs related to deleting saved games (in particular, load/delete was broken if the file was deleted externally while the game was running).
Adds saved game directory to the hotload watch list.
Logs error instead of crashing when saved game is not found.
Changes Atlas double-click selection to only pick units from the same
player.

This was SVN commit r11332.
2012-03-14 00:23:28 +00:00
Ykkrosh
98c8a47192 Fix crash on Clang
This was SVN commit r11269.
2012-03-07 20:40:38 +00:00
historic_bruno
d60df4b127 Adds saved game deletion. Refs #1090
Documents a few things related to saved games.

This was SVN commit r11233.
2012-03-04 05:27:17 +00:00
vts
649cb7ee7b Added PickFriendlyEntitiesOnScreen function to the JS side for #1187.
This was SVN commit r11230.
2012-03-03 21:42:23 +00:00
historic_bruno
7fa6afac37 Corrects some Doxygen comments and adds a few others of interest.
This was SVN commit r11209.
2012-03-01 03:55:05 +00:00
historic_bruno
7d9e98b00e Adds multiple entity selection to Atlas (including move/delete). Fixes #678.
Makes all actors selectable in Atlas and gives them selection rings (an
EditorOnly flag is used in the template for Atlas-only selectables).
Adds player colors to Atlas selection rings.
Fixes decal selection by falling back to old-style AABBs. Refs #1032.
Replaces UnitManager selections with EntitySelection helpers.
Adds DrawOverlays to Atlas views, for Atlas-specific rendering.
Fixes bug where selection rings conflicted with Move/rotate tool in
Atlas simulation test.

This was SVN commit r11177.
2012-02-27 05:32:35 +00:00
historic_bruno
08bd07ddd6 Adds safe bool operator to ICmpPtr, replacing the null() method, based on patch by leper. Also changes bool operator in AtSmartPtr to safe bool. Fixes #1077.
Changes some CmpPtr variable names for consistency.

This was SVN commit r11036.
2012-02-08 02:46:15 +00:00
vts
db864f10c3 Rendering marker lines between buildings and rally points
Added command button to focus on rally point
(implements #524)

This was SVN commit r10704.
2011-12-10 07:07:04 +00:00
vts
85186c98b2 Better selection boxes. Closes #914, #295, #810.
This was SVN commit r10593.
2011-11-25 06:36:13 +00:00
Ykkrosh
7064565ff6 # Allow saving and loading single-player games.
Support writing zip files based on in-memory data.
Fix menu sliding animations to be framerate independent.

This was SVN commit r10454.
2011-10-30 00:07:28 +00:00
Ykkrosh
a3c03815c0 Experimental quicksave/quickload feature
This was SVN commit r10427.
2011-10-24 14:55:45 +00:00
historic_bruno
1bc2db56ea Stops unit following when other object selected. Fixes #775
This was SVN commit r9764.
2011-07-05 21:29:11 +00:00
historic_bruno
26de01cdd1 Adjusts unit selection behavior to account for ranks. Triple-click now selects units regardless of their rank.
Adds modifier hotkey to select units offscreen.
Fixes #826.

This was SVN commit r9443.
2011-05-05 01:27:49 +00:00
janwas
4663ac0fe7 split debug_assert into ENSURE and ASSERT as discussed in a previous meeting.
the old debug_assert always ran and tested the expression, which slows
down release builds. wrapping them in #ifndef NDEBUG is clumsy. the new
ASSERT behaves like assert and ENSURE like the old debug_assert. Let's
change any time-critical but not-super-important ENSURE to ASSERT to
speed up release builds. (already done in bits.h and unique_range.h)

This was SVN commit r9362.
2011-04-30 13:01:45 +00:00
janwas
dcd192cb60 refactor path interface:
- use wrapper class instead of std::wstring (reduces mixing of
strings/paths; allows safe+easy join via operator/ and convenient
case-insensitive comparison via operator==, avoids NativePathFromString,
similar to boost::filesystem)
- NativePath -> OsPath
- add hash and To/FromJSVal for Path
- add TS_ASSERT_PATH_EQUALS
- replace _wfopen_s with sys_OpenFile
- remove obsolete SortFiles/Directories

This was SVN commit r9107.
2011-03-23 13:36:20 +00:00
janwas
c3405e6f50 path improvements/fixes:
- replace more std::wstring with Native or VfsPath; wstring_from_utf8 ->
NativePathFromString
- replace sequences of Join(Path(), Basename+extension) with
ChangeExtension in wsdl, CacheLoader
- add Path::IsDirectory to replace .empty() / path_is_dir_sep(.back()).
also changed behavior to reflect the fact that "" is the VFS root
_directory_
- Path::Join now allows 2 identical path types (e.g. VfsPath) or one
char* literal (prevents inadvertently introducing non-safe characters).
to convert from wstring or wchar_t, use an explicit ctor (e.g.
VfsPath(wchar_t_string))

This was SVN commit r9091.
2011-03-21 19:54:08 +00:00
janwas
6d25329412 # towards locale-independent pathnames on Linux
c.f.
http://www.wildfiregames.com/forum/index.php?showtopic=14541&st=0&p=217250&#entry217250
and 2011-03-19 meeting

This was SVN commit r9090.
2011-03-21 17:53:13 +00:00
Ykkrosh
f3372bf11d Add some rough performance reporting.
Make the profiler converge a bit faster.

This was SVN commit r8939.
2011-02-19 03:14:37 +00:00
Ykkrosh
0da7e822ff # Add opt-in automatic feedback system.
Add GL implementation limits to hwdetect.
Make the in-game manual support multiple text files.
Remove unnecessary instruction on how to close the manual window.
Make guitextobject.caption return the original value without stripping
formatting tags.
Remove unused non-VFS support from config system.
Support writing config files back to their original path.
Remove unnecessary user profile directory; use normal config directory.

This was SVN commit r8925.
2011-02-16 20:40:15 +00:00
Ykkrosh
dd501b2a5a # Add initial basic player AI framework.
Support direct access to serializer streams, so serializers can be
nested.
Make component script "this.template" read-only.
Stop globally-subscribed component scripts receiving messages posted to
local components, to reduce out-of-sync risks.
Move pathfinder data out of entity template directory.
Fix GuiInterface deserialization.

This was SVN commit r8865.
2011-01-12 12:29:00 +00:00
Ykkrosh
8ddef2fee0 Add fast-forward/rewind commands, to help with testing.
This was SVN commit r8803.
2010-12-06 19:58:06 +00:00