Use Math.round until the slider GUI object type supports fixed step
sizes, refs D406.
Differential Revision: https://code.wildfiregames.com/D2571
Comments By: Vladislav (irc), nani (PM), bb (irc), Stan
This was SVN commit r23430.
→ sets a generic icon (the golden laurel wreath) in
template_unit_hero.xml
→ removes icons from hero templates that used one belonging to another
hero
→ corrects hero icons, generic names, and specific names where necessary
Patch by: @Nescio
Differential Revision: https://code.wildfiregames.com/D2582
This was SVN commit r23421.
This establishes a code architecture where only one class and only one
page is responsible per AI setting,
removes the hardcodings from the XML and JS file,
allowing future patches and mods to insert, remove and edit independent
AI settings without having to overwrite the existing code.
Differential Revision: https://code.wildfiregames.com/D2577
See also 0550315161/D2581 and comments linked there.
This was SVN commit r23419.
Split SetupWindow from GameSetupPage class.
Create Gamesetup/Pages subfolder, starting with the existing
GameSetupPage and LoadingPage.
Run the subpage in the same GUI script context instead of separate
pages.
Planned subpages are AIConfigPage (refs D2577), MapBrowser (D1703), hero
selection dialog, civ selection (refs #3987), starting resources,
population capacity (refs #4379, #812...).
This allows:
- subpages to benefit from direct access and reuse of the gamesetup
controlers, (f.e. gameSettingsControl, playerAssignmentsControl,
mapCache, netMessages, ...), deduplication.
- subpages to handle events and control gamesettings even if the
according subpage is closed (for example deleting AIBehavior if there is
no AI assigned).
- to keep gamesettings decoupled, i.e. exactly one class per setting
(for this example avoiding that both GameSetupPage/AIConfigButton and
AIConfigPage/AIBehavior control the AIBehavior setting value.).
Differential Revision: https://code.wildfiregames.com/D2581
Comments By: Vladislav
(http://irclogs.wildfiregames.com/2020-01/2020-01-18-QuakeNet-%230ad-dev.log),
nani (PM)
This was SVN commit r23413.
a8f48ff7e0 introduced XeroXMB lowercasing of element and attribute names
as a feature.
cf9d8b9797, 4d390f501c, dda6268466 added bugfixes and TODOs because of
that.
f76d0ffdc6, 44fe226dd2 removed the XeroXMB lowercase feature.
This patch removes the lowercasing GUI bugfixes that don't fix any bug
anymore while increasing code complexity and lowering performance
(string copies).
Do not send mouse coordinates objects for events that do not relate to
the mouse.
Store event names in static const members to:
(1) improve performance, ensuring that the CStr is not reconstructed
every call,
(2) obtain compile errors when misspelling event names,
(3) allow reuse of the strings in inherited and friend classes.
Differential Revision: https://code.wildfiregames.com/D2445
Comments by Matei, Philip on 2006-03-11-QuakeNet-#wfg-Meeting-0126.log
and 2006-06-24-QuakeNet-#wfg-Meeting-0139.log
This was SVN commit r23403.
If there was a player rejoining, a "start" and a "playerassignments"
message pending for that player, the playerassignments message would not
update the assignments of the session page, but the one of the obsolete
gamesetup_mp page, thus triggering "unknown player" messages for that
player during the session.
This seems to only happen when two players rejoin simultaneously and
with very rare timing / race condition, and thus was not reproducible
without modifying the code.
Issue since b454ccca79.
Differential Revision: https://code.wildfiregames.com/D2559
Should fix#5660.
This was SVN commit r23401.
* Relic count setting didn't work at all, reported by gameboy.
* GameSettingsPanel columnWidth wasn't lowered when using 1024*768,
necessary when all victory conditions are enabled (two columns),
reported by bb.
* Landscape setting didn't work with the random random map, reported by
bb.
* SavegameDetails used an obsolete function name.
This was SVN commit r23398.
This patch is split from D2305. It does the following:
* replace programmer's quotes () in text with proper opening and closing
quotation marks ()
* start sentences with a capital
* →
* remove an incorrect colon ()
* use imperative
Author: Nescio
Reviewed By: Gallaecio, Freagarach
Differential Revision: https://code.wildfiregames.com/D2560
This was SVN commit r23397.
Allow gamesetup options other than biome to determine the map peview
image, refs #4962, 8adc6d8e93.
Add previews for the 12 Unknown, 2 Danubius and 2 Polar Sea variations.
Concludes deduplication of the Unknown (0d0bc32736), Unknown Land
(25682da568) and Unknown Nomad (7f8adcf8cb), refs #4317.
Differential Revision: https://code.wildfiregames.com/D2564
This was SVN commit r23392.
* Decouples settings logically which in turn allows fixing many problems
arising from previous coupling.
* Fixes the persist-match-settings feature, refs #2963, refs #3049.
* Improves performance of the matchsetup by rebuilding GUI objects only
when necessary.
Provides groundwork for:
* UI to control per-player handicap, such as StartingResources,
PopulationCap, StartingTechnologies, DisabledTechnologies,
DisabledTemplates, ..., refs #812.
* Map specific settings (onMapChange event), refs #4838.
* Chat notifications announcing which settings changed, refs D1195,
* Multiple controllers setting up the game (since setting types can
check for permissions in onUpdateGameAttributes without the need for a
new data model or a second gamesetup data network message type), refs
#3806, subsequently dedicated server, refs #3556.
* MapBrowser (MapCache, MapTypes, onUpdateGameAttributes interface),
refs D1703 and D1777,
* Multiplayer saved games (decoupling and setting dependent unique
logic), refs #1088.
Refs
https://wildfiregames.com/forum/index.php?/topic/20787-paid-development-2016/https://wildfiregames.com/forum/index.php?/topic/20789-paid-development-2016/
Enable maps to restrict setting values:
* If a map specifies an AI or Civs for a playerslot, the controller
can't assign a player/other AI or Civ to that slot, refs #3049, #3013.
Fix per player StartingResources, PopulationCap, StartingTechnologies,
DisabledTechnologies, DisabledTemplates following 9177683653, refs #812,
fixes#4504. Use this for DisabledTechnologies on Polar Sea.
Persist user settings for Skirmish maps:
* All user chosen settings are persisted when changing the selected map
or maptype,
except where the selected map overwrites the setting value and
except for Scenario maps which still use the default value where the
map doesn't specify the setting value.
* Tickets relating to that Skirmish mapchange user setting persistance:
- Selecting a map doesn't change the selected civilizations, fixes
#3120 (together with 7cf83f19fd removing map specified Civs).
- Selecting a map type doesn't reset the selected settings, fixes
#5372.
- Selecting a map doesn't change the selected victory conditions,
unless the map specifies those, refs #4661, #3209. (Atlas still writes
VictoryConditions to every map.)
- Consume the player color palette from Skirmish maps, refs 4996d28110
/ #1580. Preserve the selected playercolors when switching the
Skirmish/Random map by chosing the most similar colors if the map comes
with a different palette.
Rated games:
* Hide and disable Rated game setting unless there are exactly two
players, fixes#3950, supersedes D2117.
* Display conspicuous warning if the game is rated, so players are
perfectly aware.
Autostarted games:
* Allow using the gamesetup page to autostart matches with arbitrary
maps, not only this one tutorial, as reported in D194 and 15e2b42525,
refs D11.
Networking:
* Keep gamesetup page open after disconnect, allowing players to read
chat messages indicating why the host stopped the server, fixes#4114.
* The message subscription system allows new and mod settings to run
custom logic on arbitrary setting changes (most importantly on map
change).
This removes hardcoded logic restrictions from the gamesetup option
unification rewrite in b4e5858f6d/D322, refs #3994,
such as the hardcoding of setting references in selectMap to biomes
from f2550705d3/D852 and the difficulty from 9daa7520ef/D1189,
RelicDuration, WonderDuration, LastManStanding, RegicideGarrison,
TriggerScripts, CircularMap, Garrison, DisabledTemplates.
Checkboxes:
* Display values of disabled checkboxes with Yes/No labels, fixes D2349,
reviewed by nani.
Clean g_GameAttributes of invalid values and gamesetup GUI temporaries,
refs #3049, #3883:
* Delete useless values:
- VictoryScripts, because they are redundant with TriggerScripts,
introduced in 8915037631.
- mapType which was written twice to g_GameAttributes following
9177683653
- Description, Keywords, Preview since that doesn't impact simulation
and can be loaded from the MapCache
- mapFilter, mapPath, SupportedBiomes, SupportedTriggerDifficulties
since they are only used in the gamesetup
* Delete conditional values if the condition is not met:
- AIDiff, AIBehavior if there is no AI in that slot
- Nomad and Size if the maptype is not Random
- Biome, TriggerDifficulty if the map doesn't support that
- WonderDuration, RegicideGarrison, RelicCount, RelicDuration if the
according VictoryConditions are not enabled
- LastManStanding if TeamsLocked
- Rating if there are more than 2 players
MapCache:
* Refactor to MapCache class, store maps of all types and use it in the
replaymenu, lobby and session as well.
SettingTabsPanel:
* Remove hardcodings and coupling of the SettingTabsPanel with
biomes/difficulties/chat UI from D1027/ac7b5ce861.
GamesetupPage.xml:
* Restructure the page to use hierarchical object organization
(topPanel, centerPanel, centerLeftPanel, bottomPanel, centerCenterPanel,
centerRightPanel, bottomLeftPanel, bottomRightPanel), allowing to
deduplicate object position margins and size math and ease navigation.
New defaults:
* Check LockedTeams default in multiplayer (not only rated games).
* Persist the rated game setting instead of defaulting to true when
restarting a match, which often lead to unintentional rated games when
rehosting.
* 60 FPS in menus since they are animated
Autocomplete sorting fixed (playernames should be completed first).
Refactoring encompasses the one proposed in Polakrity and bb D1651.
Differential Revision: https://code.wildfiregames.com/D2483
Tested by: nani
Discussed with:
* nani for blackbox testing, code architecture, performance and
MapBrowser in PMs on 2019-12-19, 2019-12-31, 2020-01-06
* Angen for the simulation diff on
http://irclogs.wildfiregames.com/2020-01/2020-01-03-QuakeNet-%230ad-dev.log
* bb on SettingsTabPanel on
http://irclogs.wildfiregames.com/2020-01/2020-01-05-QuakeNet-%230ad-dev.log
* Imarok on data model and revised multi-controller plans for #3806 on
http://irclogs.wildfiregames.com/2020-01/2020-01-07-QuakeNet-%230ad-dev.log
Emojis by: asterix, Imarok, fpre, nani, Krinkle, Stan, Angen, Freagarach
This was SVN commit r23374.
Title case is meant for titles, headers, entity names, classes, keys,
and button captions (see
https://trac.wildfiregames.com/wiki/EnglishStyleGuide#Capitalization ).
In the game options about every entry (two exceptions) in the lists is
capitalized, which is both unnecessary and excessive. This patch removes
title case from the listed items, reserving it for the section headers.
Before: {F1154299}
After: {F1154298}
Patch By: Nescio
Reviewed By: Gallaecio
Differential Revision: https://code.wildfiregames.com/D2437
This was SVN commit r23368.
Minor corrections to several tooltips in the pre-game main menu.
Patch By: Nescio
Reviewed By: Gallaecio
Differential Revision: https://code.wildfiregames.com/D2428
This was SVN commit r23367.
This patch corrects occurrences of “building” into “structure”.
Whilst “constructing a building” is proper English, it is important to
refer to one and the same thing with a single term, to avoid potential
misunderstandings (see
https://trac.wildfiregames.com/wiki/EnglishStyleGuide ), thence
“building a structure”, because the unit action is “build” and the
entity is a “structure” (see `simulation/templates/`).
Patch By: Nescio
Reviewed By: Gallaecio
Differential Revision: https://code.wildfiregames.com/D2429
This was SVN commit r23366.
Fixing oversight from e7ab2c9b3f. Switching to columnar formation,
adding or removing formation members does not reset animation variant
passed by last order.
Also adding remaining combat variants for formationwalk.
Differential Revision: https://code.wildfiregames.com/D2556
This was SVN commit r23359.
In 4ca448a686 : Make sure that formation members that end up in
INDIVIDUAL.IDLE go back to FORMATION.IDLE for sanity and for better
housekeeping
Differential Revision: https://code.wildfiregames.com/D2558
This was SVN commit r23357.
The front step or the quick "close-up" the infantry does while attacking
was a guide i've used while animating following the old attacking
animations, however this doesn't feel natural before and neither does
now. This animations follows the same attacking animation whitout
getting closer to attack in order to keep the visual mesh in the root of
the actor or the selection circle.
This avoid unnecesary clipping when attacking buildings.
This was SVN commit r23355.
Reduced shoulders height to make them look more femenine.
Adjusted Female_Dress mesh UV for have a proper Texture alingment in the
lower dress.
This was SVN commit r23354.
Set last carried resource when transforming gatherer as that information
is needed to set correct animation variant.
Missing since 7499b23991 (was still relevant in that time for
"RETURNRESOURCE.APPROACHING")
Differential revision: https://code.wildfiregames.com/D2471
This was SVN commit r23353.