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.
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.
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.
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.
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.
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.
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.
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.
Remove unneeded, slightly different sinkrate from the hellenic epic
temple.
Differential Revision: https://code.wildfiregames.com/D1467
Baed on patch by: Nescio
This was SVN commit r21783.
The check should have been in there for mods (garrisonable CCs) since
the first version, but it was needed the hard way by units becoming
targets in 76d648349d.
This was SVN commit r21782.
Also avoids some unneded player entity aura cleans.
Differential Revision: https://code.wildfiregames.com/D1453
Reported and comments by: fatherbushido
Reviewed By: temple
refs #5099
This was SVN commit r21779.
As demonstrated by Dizaka, it allowed players to win a game by deleting
all buildings, sending one unit across the map and having the enemy get
defeated by the double gaia count.
It also means that players that still have buildings but no CCs/Wonders
are targetted by elephants.
This was SVN commit r21777.
At most send an attack order for one target before patroling
(targetCount),
because adding further targets can end in the gaia unit being blocked
and slaughtered by the player without difficulty and
because the mechanism isn't as relevant for ships as it was envisioned
to be (since most ofen the 3 closest ships already are in the same
location).
Patch By: (-_-) aka smiley
Differential Revision: https://code.wildfiregames.com/D1449
This was SVN commit r21767.
mod.io is a new platform for sharing mods, that 0 A.D. can make use of
in order to download mods and install them.
Based on patch by leper, numerous changes from s0600204, vladislavbelov,
Imarok, elexis, temple and myself.
Differential Revision: https://code.wildfiregames.com/D1029
This was SVN commit r21759.
Place more mines on nomad in the fertile land.
Chose better fitting templates for the fertile land.
Alternate passage locations, so the gameplay purpose of the irrigation
canals is met (increasing the distance between opponents).
Increase the size of the city on larger maps.
Don't have bumps near gates.
This was SVN commit r21743.
because they can open the lobby as a dialog while replaying the game in
this release.
Differential Revision: https://code.wildfiregames.com/D1237
Patch By: fpre / ffffffff
This was SVN commit r21742.
Discovered by Undying Nephalim.
Investigated by s0600204
Reviewed by: s0600204
Differential Revision: https://code.wildfiregames.com/D1455
This was SVN commit r21736.
Have strongly garrisoned buildings in the city capturable to incentivize
players to break the walls.
Use "probabilistic rounding" for unit counts, so that on a 1v1 with a
normal mapsize on medium difficulty,
don't round to 0 elephants per stable in the first wave as it is too few
and
don't round to 1, because that were too many.
Place Sentry towers in easy difficulty instead of none.
This was SVN commit r21735.
Make their decaying faster too so they do not stay too long under the
ground for no reason.
Leave it some time still so players can still have an idea on how many
dead units are there.
This was SVN commit r21732.
This also reduces the attackercount slightly, because gaia is now
excluded when counting players.
PlayerManager.GetActivePlayers helper function.
This was SVN commit r21730.
pyrogenesis can now take a zip file (rename it to .pyromod for direct
file association following 943a61e4ea) and install it. It then starts
the mod selector.
Patch by vladislavbelov, with contributions from Imarok, elexis and
myself.
Differential Revision: https://code.wildfiregames.com/D1142
This was SVN commit r21726.
The new pyrogenesis.xml file should go under
`$XDG_DATA_DIRS/mime/packages/` before running update-mime-database (see
https://www.freedesktop.org/wiki/Specifications/AddingMIMETutor/ for
more information).
Patch by s0600204 and myself.
This was SVN commit r21723.
Based on patch by scythetwirler, fix and improvements by user1, Dunedan
and myself.
Differential Revision: https://code.wildfiregames.com/D206
This was SVN commit r21718.
Besides the performance improvement for that hypothetical case,
it also means OnGlobalPlayerDefeated is used consistently and
an oversight like the one fixed by 2651caa885 might become easier to
notice.
From Differential_Revision: https://code.wildfiregames.com/D1426
Reviewed By: temple
Refs #5099
This was SVN commit r21712.
The next diff changes this to a global message subscription, so that it
is easier to recognize.
Fixes#5099.
From Differential_Revision: https://code.wildfiregames.com/D1426
Pointed out by: fatherbushido
Reviewed By: temple
This was SVN commit r21711.
always displaying the follow-player option for gaia.
Differential Revision: https://code.wildfiregames.com/D1443
Reviewed By: bb
This was SVN commit r21693.
They were never captured before as there is no reason to, while with
this patch, it becomes easy enough and the little local attack and
gather bonus as well as the possibility to hide are interesting enough.
This was SVN commit r21671.
Add an autostart-player option, so that one can start as an observer too
and watch some knockout bots.
Precise the "Needed for autostart loading option" comment from
d5bd374586 which
become increasingly incomprehensible with each a68d5dae0d, 506350d6fa,
9f796068f8 and 6c5a8269f3.
This was SVN commit r21659.
These three dialogs assume to be able to read the gameSettings, but
Atlas doesn't provide them yet following the commits in #3143 and #3263.
Refs #4199.
This was SVN commit r21658.
Move all GUI init calls from init to initGUIObjects.
Move all GUI logic from init and initGUIObjects to functions called from
the latter.
This was SVN commit r21657.
Fix redundant props in horse props
Add a new floor gathering anims for cavalry
Move cavalry anim file to a subfolder
Add reins for cavalry
Add trot animation replacing the new and now old ones
This was SVN commit r21653.
Just test if a NetClient is present rather than passing a state boolean
from GUI page to GUI page (since 1c0536bf08 or sooner).
This was SVN commit r21650.
Let every elephant attack a different target, yielding a more uniform
attacker distribution.
Spawn elephants at the Wonder too, preventing a deadlock when players
have no more units while the buildings are still ignored by soldiers.
Reported by mapkoc at
https://wildfiregames.com/forum/index.php?/topic/24153-is-this-fixed/
Increase time until the first attacker wave on nomad slightly.
Make it depend on the difficulty, as suggested by nani.
This was SVN commit r21644.
Add EOL properties to fixed files
Rename some AO textures to fit the convention,
Remove copy pasta mess, hence fixing the errors spam when deleting
buildings
Fixes#5105
This was SVN commit r21636.
Replace deprecated createObjectGroups on River Archipelago to ensure
mine placement, refs #4695.
As request by Hannibal Barca, remove the arctic fox on Scythian Rivulet.
As reported by (-_-) / smiley, place tilapia instead of tuna fish at the
nile river.
This was SVN commit r21635.
Remove iberian starting walls but keep the towers as requested by lobby
players.
Update mappreview to include the walls from 7e207e1f4c.
Use Basic rank, since Gaia doesn't have a TechnologyManager and since
the rank bonuses are autoresearched-techs
(noted by temple recently and FeldFeld in a match before the first
version of D204).
This was SVN commit r21631.
Fixes two bugs with unresponsive units on walls because they weren't
recognized as turrets.
Differential Revision: https://code.wildfiregames.com/D1403
Reviewed by: mimo
Comments by: elexis
This was SVN commit r21627.
Clean the code by removing the animal hardcoding in the Foundation
component and adding a flag DeleteUponConstruction to the Obstruction
component.
Have locked gates and upgraded entities equally delete entities when
transforming.
Add a workaround for trees inside walls on random maps.
Reviewed by: temple
Differential Revision: https://code.wildfiregames.com/D1415
Refs #4268
This was SVN commit r21624.
If there are less spawn points, the groups of spawned units is increased
proportionally.
The new balancing should yield the same results as a 1v1 on medium
mapsize or a 4v4 on a normal mapsize in the previous balancing.
Notice that the number of elephant stables (and hence elephants) can
still vary.
This was SVN commit r21613.
Preferably, the buildings should be rotated so that they face the path,
refs #5090.
Start attacks again in case a player dared to rebuild a CC.
Fix missing negation in 0b0fb8838a.
Variable naming consistency.
This was SVN commit r21611.
Order half of all elephants to attack any structure while the other half
still focuses Defensive buildings.
Add 50% more elephants to compensate the existing elephants not being as
effective militarily anymore.
This was SVN commit r21605.
Support multiple graphs with different scales, units, rounding and
descriptions and use it for memory allocation and number of garbage
collections.
Have the X axis in number of turns (instead of that divided by 20).
Don't have the legend hide part of the graph.
Add references to that hardcoded 20.
Move graph JS to a separate JS file.
Use JSON instead of JS.
Add legal html structure.
Comments By: Vladislav in irc yesterday
This was SVN commit r21602.
so that units don't try to gather forever while not being able to reach
it and
so that the sheep corpse can't be selected and seen anymore.
Differential Revision: https://code.wildfiregames.com/D21Fixes#4268
Based On Patch By: wraitii
Reviewed By: temple
Previously Reviewed By: Itms
This was SVN commit r21597.
Paint a path texture at the city gates to indicate it's passability.
Increase palm distances in the city to lessen the likelihood of units
spawned in formation being trapped at the spawnpoint.
This was SVN commit r21589.
Move a color to a global so that mods can change it.
Proposed by Vladislav in eee8217b45
Reviewed by Vladislav in irc today
This was SVN commit r21586.
All maps should now have correct team placement in terms of
sortAllPlayers vs primeSortAllPlayers.
Differential Revision: https://code.wildfiregames.com/D1392
Reviewed by: elexis
This was SVN commit r21574.
The other maps had never read this playerID, so it wasn't noticed until
Jebel Barkal read it.
Paste: https://code.wildfiregames.com/P115
Reviewed By: temple
This was SVN commit r21568.
Allow random map scripts to read the difficulty setting.
Very Easy: Only temples and civil buildings
Easy: CivicCenter, Stables, Barracks, Embassy
Medium: Walls, Fortress, ElephantStables, Tower
Hard: Garrisoned wall turrets and one citizen archer on the walls
Very Hard: 3 Archer champions per wall segment
This was SVN commit r21565.
Display "Napata will attack in %(time)s!" to observers, string addition
permitted by Itms.
Mapgen:
Use the EntitiesObstructionPlacer from 04679a8e2b, the wall constraints
and return values from 8b2a7f26e0,
so that there are no walls at the hill and to keep gates free.
Add palms to the city blocks and guardians at the central path.
Carve out temple areas using the EntitiesObstructionPlacer, rather than
having half the temple submerged by the mountain.
More treasures on the hill and in the city and allow mines on top of the
hill.
Triggerscript:
Make units always patrol, since the attack-walk order runs out and then
units accumulated after eradicating a player.
This also fixes the inconsistency that units captured after that order
ran out, but not before.
Don't use the violent stance since this also allows capturing.
Move attacker targetClasses to attacker balancing composition object, so
that it can be fine-tuned for every attackergroup.
Balancing:
Place Stables which only spawns melee cavalry which only attack traders,
women and siege engines.
Nerf fortresses by not exclusively spawning champions (temples still
do).
This was SVN commit r21556.
Return the placed entities, so that one can parse and elegantly avoid
them afterwards, in particular determine gate positions.
placeCircularWall uses the startAngle as orientation, since that is much
easier to pass than the opposite vector of the center of the wall.
This was SVN commit r21554.
This is especially relevant for triggerscript maps with spawned gaia
units, such as Jebel Barkal, Danubius, Survival Of The Fittest.
Differential Revision: https://code.wildfiregames.com/D1384
Reviewed By: temple
Cheering By: bb, fpre, Imarok
This was SVN commit r21548.
Prevent crash of the map when an odd playercount was chosen due to
primeSortPlayers returning a wrong number of elements as reported by
temple.
Remove some TODOs that likely won't be done soon and don't seem crucial.
Fix missing atlas biome rename in Aethiopia / Fields of Meroe.
This was SVN commit r21531.
Update the RangeOverlay config option only when the options dialog was
closed, not each turn, refs ee5bb1fd61.
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1291
This was SVN commit r21527.
Features:
* a mountain created in atlas, refs #4816
* a procedurally generated city, refs #5061
* scripted city guards and reoccuring gaia attackers
* attacker composition depend on the remaining buildings of the city
* random irrigation canals that indirectly increase the distance between
the two teams
Needs map description and player feedback to become complete.
Hill based on the Napata Reconstruction hill created by Skhorn of
8615acb2fc.
Consulting By: Sundiata, Skhorn
This was SVN commit r21488.
Add an anti-champ/hero bonus to Meriotic Temple Guards.
Make the Temple of Amun a unique building available in the City phase.
Adjust some auras and add one for cheaper triremes.
Nerf clubman attack, remove spearmen tweaks.
Change barracks cost.
Fix some icons.
Differential Revision: https://code.wildfiregames.com/D1343
Patch by: Hannibal_Barca
Comments by: Nescio, Grugnas, elexis, Sundiata, mimo
This was SVN commit r21477.
Excluding the changes to scenario and skirmisch maps
Transform gameType string to victoryCondition array in load/replaymenu
Adapt the gamesetup to use checkboxes for every victory condition and an
array for storing them
Allow multiple queries in conquestCommon
Remove conquest from regicide, wonder and capture the relic
Move the endless gamedescription from settings to gamedescription
Fixing wrong tabulation from a8a29271ce
This commit will break all scenario and skirmisch maps, their "Gametype"
string needs to be transformed in a "VictoryCondition" array as is done
in the tutorial map (counting endless as an empty array). This counts
for mods too!
Old svn replays and savegame will throw warnings/errors as they are
incompatible after this commit. So svn users will need to delete all
those.
Comments on ai and autostart games By: mimo
Comments on Atlas By: Vladislav
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D1240fixes: #4014
This was SVN commit r21474.
Since healers can't attack enemies, they have left the gaia attacker
group immediately to start patroling.
To fix that, change healers to guard random soldiers of that group,
preferably heroes or champions.
Use absolute formation template paths.
This was SVN commit r21465.
Removes repetitive RangeManager and Identity component querying from
triggerscripts.
It means that mostly map specific logic remains in the triggerscript.
This should bring TriggerScript coding a bit closer to map authors who
aren't exactly software developers.
Call the RangeManager entity getters on Danubius and Survival multiple
times on init to further simplify code, as these microseconds on init
are irrelevant.
This was SVN commit r21459.
Simplify that function by tracking entities using Sets instead of
Arrays, even though it costs two Set-to-Array conversions.
This was SVN commit r21457.
Those heroes were introduced in 097c19a6a0
The new convention from now on will be civ_hero_name(_type(_weapontype))
where parenthesis are optionnal.
However it would be nice to when a infantry hero is added for instance,
than the other one specify it's cavalry
Since it requires map changes, it will be up to the person introducing
it.
This was SVN commit r21449.
Eases implementation of new maps with diverse scripted attackers, refs
#5040, D11 and map difficulties, refs #4963, D1189.
Replaces hardcoded templatenames with calls to a new TriggerHelper
function to query template names, given Classes, Civ, Rank or Packed
state.
Removes the duplicated template counting logic, that was intertwined
with map specific unit classes balancing logic, refs #4805.
Use mimos garrison function from e29dfb7000 / D1146 to support
doubleclicking on garrisoned gaia heroes on Danubius, fixing the bug
described in comment:10 of #4291.
Fix wrong (Trigger) prototype reference in ce65af8dcb.
This was SVN commit r21445.
Use inheritance for both files, as they are the same. Eventually we
should have different anims for heavy skirmishers.
EOL Properties and EOF for all fix inconsistent indent.
Noticed by: elexis
Introduced by: 83680b0dee
This was SVN commit r21442.
Create a getNonGaia function
Reset counters on playerDefeat
MarkPlayersAsWon function
Rename MarkPlayerAsWon to MarkPlayerAndAlliesAsWon
Stop letting winningplayers in relic depend on PlayerID
Comments By and Discussion With: elexis
Reviewed By: temple
Differential Revision: https://code.wildfiregames.com/D972fixes#4648
This was SVN commit r21441.
Extend it to only place docks where the according body of water has a
minimum size, fixes#5065.
Compute the dock angle similar to GetDockAngle from Commands.js (as the
previous angle computation is wrong if the large body of water doesn't
lie in that direction).
This was SVN commit r21433.
Place the Ptolemian wonder as recommended by Sundiata, refs #5040.
Use StaticConstraint from 99797313fe to save some seconds when placing
soldiers.
This was SVN commit r21407.
Inline some variables and return the heightmap in the heightmap library
functions, so that one can apply multiple transformations within the
same statement.
This was SVN commit r21403.
This allows random map scripts to evaluate a set of slow constraints
once and then only access a cache of the results later,
rather than reevaluating the constraints for every randomized
coordinate.
Remove an unused comment following d35d6cc9f9.
This was SVN commit r21401.
For the record and the future I guess as much possible try to avoid
dexlaring events in props.
when nearly everything will use variants that wont be much of a
probleme.
Reported in a stzff match by elexis
This was SVN commit r21398.
Increase passage size so that elephants and siege engines can pass with
higher likelihood.
Use the ElevationBlendingPainter from c1904a725a, so that the mountain
elevation near the river is taken into account.
Smooth the passages even more using the SmoothingPainter, refs #5027.
Add missing SetProgress calls.
This was SVN commit r21384.
Composes the NASA heightmap with the NASA composite photography to
reduce the ahistorical Lake Nasser and avoid having huge lakes in the
valleys to the west of the Nile,
as the heightmap does not correlate with water distribution in this arid
climate at all.
I.e. places riverbed elevation where composite and heightmap intersect,
elsewhere uses the elevation model by NASA.
Bounding box chosen by Hannibal Barca
Geographic and biome consulting by Sundiata
This was SVN commit r21377.
This currently disabled by variants, and will be reenabled when sounds
have been chosen.
Reviewed by: Vladislav,
Comments by: Itms, elexis
Differential Revision: https://code.wildfiregames.com/1257
This was SVN commit r21359.
Further increasing the size for mods was neglected in d6c028923e / D527
and
Delenda Est had a copy of gamesetup.xml to extend the size already.
This was SVN commit r21353.
Replace the alert level with matching classes.
Women respond to bells at the civic center, farmstead, and storehouse.
Trade carts respond to the bell at the market.
Allow garrisoning in allied buildings.
Adapt the GUI to the new behavior.
Differential Revision: https://code.wildfiregames.com/D937
Reviewed by: causative
This was SVN commit r21343.
Change the angles of civic centers and convert tree actors into trees.
Differential Revision: https://code.wildfiregames.com/D1328
Reviewed by: elexis
This was SVN commit r21342.
Reported By: leper
Reviewed By: Vladislav
Alternatively one might consider mod label and description translations
contained in the mod.json.
This was SVN commit r21341.
Use correct variants in animations form UnitAI.
Patch By: wraitii
Reviewed By: temple
Differential Revision: https://code.wildfiregames.com/D1239fixes#4932
This was SVN commit r21337.
The elephantine map from 4c979d8e38 used it already, reported by Angen.
Use these berries for the desert and savanna random biomes and Sahel.
This was SVN commit r21334.
Right-click on icons of units, structures, technologies, flora, fauna,
etc. and view additional details.
Reviewed By: elexis
Fixes: #3212
Differential Revision: https://code.wildfiregames.com/D297
This was SVN commit r21310.
Remove ugly large circle patterns around the playerbase on Ambush, fixes
#4993.
To ensure passability, create ramps from the playerbase to the bluffs.
Change the circular player avoidance to a ChainPlacer generating more
heterogenous pattern.
Use vectors in rmgen2 bluffs creation and simplify equations, refs
#4992.
Don't turn inaccessible bluffs to plateaus but don't place them until it
is certain they are passable.
Increase minimum distance from the playerbase to the mapcenter by
picking different distance values per playerbase pattern in
g_PlayerbaseTypes.
Attempt to improve bluffs performance by avoiding bluffIgnore by 0
instead of bluff by 12, refs #5011.
Implement AdjacentToAreaConstraint and deleteTerrainEntity.
Delete createBoundingBox and use getBoundingBox, refs #4947, #4805.
Delete fadeToGround and nextToFeature and use conventional createArea
calls with the SmoothingPainter of 02fe3ef3e3, refs #5027.
Paint bluff cliffs slightly more accurately using the SlopeConstraint
from 24388f781e, refs #5004.
This was SVN commit r21300.
Delete areaID and just identify the Area object by the actual JS object
reference.
Delete all references from Areas in the RandomMap object,
especially the area property of the RandomMap object became invalid
after creating a new area.
This was replaced with a cache in the Area object and a contains
function.
Add getPoints getter, so that the Area property is not accessed
directly.
Deepfreeze points to prevent accidental overwrites.
Implement StayAreasConstraint and extend currently unused
AvoidAreaConstraint to accept multiple areas.
This was SVN commit r21296.
Fixes unreachable small stone mines inside large stone mines.
Fixes#4338.
Differential Revision: https://code.wildfiregames.com/D189
Credit rapidelectron for working out the two main issues (refs
63e77de94e) and providing a similar patch.
This was SVN commit r21283.
Fixes#5041 nomad units on the map border not being placed.
Make SimpleObject detect if it's an actor and place accordingly.
Rename maxFailCount to maxRetries, since its function differs
intrinsically from the failFraction of Placers.
This was SVN commit r21278.
Fix one progress bar update reverting the progress.
Reported in some benefitial svn testgames with temple, Imarok, bb,
(-_-), nani, Hannibal_Barca, PrincipalityOfZeon, ValihrAnt and Stan
This was SVN commit r21262.
Use the bag on the back for male as well for now. In the end women
should carry baskets, and not backpacks
and make can still have the one on the back.
Add XML headers
Fix Indent (Noticed by Temple)
Add EOL properties.
This was SVN commit r21236.
Picks a random area of a digital elevation model of Greece that has a
certain amount of land.
Comes with different biomes depending on height, athenian artifacts,
docks, a temple and oxybeles.
Smoothens the map iteratively until the maximum amount of cliffs is
reached.
Uses mushrooms from dccbfe0fcd.
Map-description by Hannibal Barca
This was SVN commit r21228.
Could become superseded by the C++ counterpart returning a 2D array
instead, refs #5018, #4816.
One more DiskPlacer from dc18ea1973.
This was SVN commit r21227.
Especially useful if the center position doesn't meet the constraint or
is outside of the map boundary.
Removing the preliminary boundary check from the centered placers seems
to come with a too high performance penalty, for instance when creating
forests.
This was SVN commit r21225.
Delete rmgen2 placeRadial which is equal to playerPlacementCircle from
635e608776, refs #4805.
Remove createBase calls from rmgen2 player playerbase location
functions, so that they can be called without placing the bases.
Let them return the same data that rmgen/ functions return, refs #4947.
Delete placeRandom as it remains empty.
Rename sortPlayersByLocation to groupPlayersCycle,
groupPlayersByLocations to groupPlayersByArea,
randomPlayerLocations to playerPlacementRandom and addBases to
createBasesByPattern.
This was SVN commit r21206.
Make more space for the dropdowns so longstring language doesn't
complain
Reviewed By: Imarok
Differential Revision: https://code.wildfiregames.com/D1260fixes: #5015
This was SVN commit r21204.
New idle carry anims states for persians + capes
Use the new convention discussed with wowgetoffyourcellphone
Nuke some old unused units as they have better equivalents
This was SVN commit r21197.
New idle carry anims states for mauryans + capes
Use the new convention discussed with wowgetoffyourcellphone
Nuke some old unused units as they have better equivalents
This was SVN commit r21196.
New idle carry anims states for gauls and britons + capes
Use the new convention discussed with wowgetoffyourcellphone
move them to their own folders for differentiations.
This was SVN commit r21191.
New idle carry anims states for macedonians and athenians
Use the new convention discussed with wowgetoffyourcellphone
Update Capes + nuke redundant useless units
This allow easier search, a faster way to see what type of units are
there and
the suffix defines the actors
M -> Mount
C -> Champion
A -> Advanced
E -> Elite
B -> Base
Templates will come afterwards
This was SVN commit r21190.
Delete unused variants as they were superseeded when using the new carry
idle animation by wraitii.
Add different variant anims per civ. Hele civs use mainly the same ones
This was SVN commit r21188.
Move capes to another folder so it's easier to find them.
Remove props that will be come unused in the coming commits.
Tweak the cape anims for the idle carry animations.
Add a new gladius for cav gathering animation
This was SVN commit r21187.
Primary use case, as represented on Caledonian Meadows, is creating a
path through impassable area, mountains or water, refs #4952.
Supersedes placeRandomPathToHeight from the heightmap library, refs
#3764.
The painter has the advantage that it can be applied to arbitrary areas
with arbitrary forms of smoothing (or no smoothing).
Replace the rectangularSmoothToHeight calls that only smooth an area
with a SmoothElevationPainter call.
Replace placeRandomPathToHeight which is a copy of the the
RandomPathPlacer from cbcbd19e0b, refs #4805.
This was SVN commit r21182.
Fix Island Stronghold tiny map starting islands since 875a774da9.
Fix berries inside CC on Schwarzwald since 921850cdef.
Prevent starting mines on mountains on Pompeii and other rmgen2 maps,
refs 5acd064cb9.
This was SVN commit r21177.
The only current use-case is Belgian Uplands that has to smooth the map
for 15-45 seconds to transform that noise into an acceptable map.
The general use-case of this painter is questionable.
This was SVN commit r21176.
This allows only specific regions of the map to be smoothened,
especially important on imported digital elevation models.
It uses the Inverse Distance Weighting / Shepard's method as mentioned
by Imarok and formerly implemented in the Pyrenean Sierra map by wraitii
in a796800bb1.
Supersedes the globalSmoothHeightmap function in FeXoRs heightmap
library, refs #3764.
Drop the heightmap argument to be consistent with the other painters.
If painting on arbitrary heightmaps is wished, the createArea mechanism,
all Placers, Painters, Constraints and Areas can and should support
that.
Update the HeightmapPainter from 6319647795 to not break if
TILE_CENTERED_HEIGHT_MAP is enabled (i.e. numVertices = numTiles), refs
#5018.
Use that mode on Mediterranean and Red Sea.
Drop the disabling of bicubic interpolation in the HeightmapPainter
instead of extending it to this feature.
Inevitable smoothing performance improvement for Belgian Uplands (from
45 to 15 seconds per call), even if it implies a somewhat different
outcome, refs #5011.
This was SVN commit r21175.
Replace needlessly complicated code with a call to HeightConstraint,
stayClasses and randomPlayerLocations, refs #4805.
Do texture painting and actor placement at the impassable map border
too.
Replace another occurrence of the number of impassable tiles at the map
border, refs #4034.
Delete useless clone from 7471a0db63 since setRandomHeightmap replaces
the result.
Remove unneeded setReliefmap and operate on the target heightmap
directly.
This was SVN commit r21171.
The balancing problem of too much maparea being covered by impassable
mountains is worsened by the unaltered heightmap.
Players have to fight for straggler trees now.
Can be improved with a pathplacer and the custom elevationpainter used
on Caledonian Meadows.
This was SVN commit r21164.
Visually more appealing and more authentic heightmap, better fitting
water effect, random shallows, better playerbase alignment, circular
map.
This was SVN commit r21161.
Add rubble to royal stoas, use 5x5 size for Sparta's foundation and
rubble.
Differential Revision: https://code.wildfiregames.com/D1290
Reviewed by: Stan
This was SVN commit r21154.
Cavalry needs some more variants so it will come afterwards.
Fix trader and healer blood.
Remove useless anims for heroes.
Remove gather praise for champions.
We do not use it anyway, but DE does.
This was SVN commit r21147.
Uses an unadulterated, easily exchangeable, well compressed topography
image of the NASA Blue Marble series in the public domain,
instead of a heavily tuned and not so well licensed NASA SRTM v4.1 image
encoded in JSON.
Circular intead of a square map shape.
Randomized, height- and slope-based terrain texture painting, refs
#5004.
This was SVN commit r21135.
Decrease the minimum distance between players progressively to find
suitable locations.
Assume that constraint to be constant and compute possible locations in
advance, improving performance drastically, refs #5011.
This was SVN commit r21134.
Refactors the heightmap and terrainmap copying code from 33e3e6c2ab and
the bicubic interpolation code from 64b1da0ddf / 93aefe0787 which were
unused since f5375cbcb9.
This was SVN commit r21133.
Fix typo in b5b384da48 reported by mimo.
Replace magic trigonometric equation from 17fd4fab94 with a createArea
call to the polygon placer from 906c23c54b to draw the fortress texture
on an arbitrarily rotated square.
Fix wrong treasure distance in 442c9848b8.
Remove treasure self-avoidance in 208e642089, since it can result in the
treasure not being placed.
This was SVN commit r21115.
Add a button to toggle between normal and "diplomacy" colors.
Reviewed by: elexis
Comments by: leper, ffffffff, Stan
Fixes: #4747
This was SVN commit r21107.
Implement StayTextureConstraint for the same reason.
getTexture should function on the entire square tilegrid, even on
circular maps.
This was SVN commit r21104.
Differential Revision: https://code.wildfiregames.com/D991
Based on patch by: Nescio
Refs #4770, D989
Comments By: fatherbushido, leper
This was SVN commit r21094.
Remove the "special" prefix since they are not special in any way.
Delete special_ruins.xml from 40b9fc8c1e as it is identical to
special_ruins_column_doric.xml from ff3c7b46f4.
Differential Revision: https://code.wildfiregames.com/D990
Based on patch by: Nescio
Refs #4770, D989
Comments By: fatherbushido, leper
This was SVN commit r21093.
Use the non-deprecated createObjectGroups variants, so that one doesn't
have to do 10 million placement attempts...
Mark the area (land, water, island) and only chose random locations from
these areas using createObjectGroupsByAreas.
Don't ignore the map border for siege engine patrol points, because
AvoidClassesConstraint is very slow for large radiuses.
This was SVN commit r21088.
Add NearTileClassesConstraint that is satisfied when there is a tile
marked with the given class in the given range.
Use it for the grass and mountain terrain painting on Pyrenean Sierra.
This was SVN commit r21085.
Implements the Gift-Wrapping algorithm to compute the convex hull.
Replace the latter half of the pathplacer with this new placer, refs
#892.
Improves the performance a bit, refs #5011.
Use the new placer on Kerala and Hyrcanian Shores to replace the
workaround from 903e094f62, refs #4855
(the area is not supposed to be parallel to the meandering river).
This was SVN commit r21082.
Removes the according duplication in placers and makes the loops over
these points onedimensional, refs #4805.
JSdoc for centric placers, refs #4831.
This was SVN commit r21080.
This used to build so the include of CStr.h disappeared from the include
chain at some point. PCH builds kept working because this file is
included in precompiled.h for the engine project.
Differential Revision: https://code.wildfiregames.com/D1273
Reviewed By: Imarok
This was SVN commit r21075.
Change the time to completion to a countdown and remove the tooltip on
the health bar.
Move the number of builders to the time speed-up tooltip.
Remove the build rate tooltip.
Differential Revision: https://code.wildfiregames.com/D572
Early review by: wraitii
Comments by: bb
This was SVN commit r21072.
ChainPlacer, ClumpPlacer, SimpleObject receive the vectors that are in
place everywhere already, refs #4845.
Add public setCenterPosition to CenteredPlacer and Group rather than
writing private properties of the prototypes.
ChainPlacer and ClumpPlacer simplifications, deduplication and renames,
refs #4805.
Replace placeObject global with RandomMap placeEntity members, refs
#4804.
Split to placeEntityPassable / placeEntityAnywhere, as well as
validTilePassable / validTileAnywhere to more cleanly distinguish actor
and casual entity placement.
No more does SimpleObject create Entity instances and register entityIDs
if they are never placed.
Removes the map global reference from the Entity constructor, refs
#4964.
By definition of what is passed to the engine, an Entity has an ID and
position, so keep it impossible to create Entities without IDs.
Implement randomPositionOnTile so that there aren't different
implementations thereof, including unintented ones as in
ardennes_forest.js in 2f7610160f.
On Caledonian Meadows, remove unused pathplacing code, to be superseded
by #4368.
On Schwarzwald, delete unused startLocations following b180ad3e5d.
On Latium, replace complicated duplicated hardcoded fish location
computation with a simple HeightConstraint, refs #4960.
This was SVN commit r21069.
Delete clPath there altogether because it's never written to, nor
terrain textures painted.
Replace other inclusionCount references with common avoidClasses
constraints.
Remove now unneeded undefined checks.
Make nomad units on Wild Lake avoid gaia camps.
This was SVN commit r21063.
TS_ASSERT_EQUALS_APPROX must not silently pass if epsilon wasn't given.
Sort Vector2D.rotate summands by component rather than saving one
character.
This was SVN commit r21062.
Those chinese were added at the time were terra magna could have been
part of the mod, I'm keeping a copy but they should probably be deleted.
This was SVN commit r21052.
Delete hence unneeded validClass, getTileClass, addToClass and
removeFromClass.
Use vectors for the TileClass add and remove function, refs #4992.
Use createArea call for addCivicCenterAreaToClass.
This was SVN commit r21025.
The AuraManager serialized the affects array of the aura JSON files,
while the Auras components create new affects arrays upon
deserialization.
So the AuraManager of rejoined clients failed to identify and remove the
according aura effects of units who received the aura effect before the
rejoin.
Fix it by not serializing the array but only the strings inside the
array.
It were preferable to rebuild the modification cache and remove the
serialization altogether, refs #3834.
f24523dc8f introduced the same OOS on rejoin, refs #3909, #4239, but it
wasn't noticed due to the revert in d7e51f2a4f.
Differential Revision: https://code.wildfiregames.com/D1201
Reviewed By: bb
Comments By: gameboy
Fixes#4924
This was SVN commit r21014.
Reviewed by : Stan
Add a new mastiff dog version without spikes (the collar is part of the
mesh so I can't remove it completely)
Tweak the templates to be more like the wolves, hence inheriting the
roaming stuff
This was SVN commit r21013.
Don't clone, change and overwrite the gaul stone wallstyle but create
two custom ones from scratch, refs 026dcf10eb / D204.
Move houses away from the gates following ddf868cfdc, so that gaia units
can easily move in and out.
Replace spike template name copies from ddf868cfdc with references.
Try to find a more transparent data structure, at least for the spikes.
Some whitespace changes.
This was SVN commit r21007.
The reference to the global should not be hidden behind a proxy function
and
object orientation is preferable over procedural code in general.
This was SVN commit r20996.
Simplify duplicate Caledonian Meadows and Wild Lake height-based texture
painting by using for-of loops, texture setter and vectors, refs #4845,
#4998.
Allow setTexture to write to impassable tiles as reported by FeXoR some
time ago, refs #4245.
This was SVN commit r20988.
Create the vectors sooner, so that the conditions can use them
eventually too and since the loops might be replaced with vector
getters.
Fix missing comma in Deep Forest de2f30c7b9.
No measurable performance decline was noticed.
This was SVN commit r20977.
On India,
remove another mysterious lake size area factor on India, refs #4958,
increase the lakesize on small maps and
simplify constraints.
This was SVN commit r20973.
It is ineffective because the first action of createAreas is to
overwrite the carefully chosen location with a random location.
The code was evidently copied to Island Stronghold, Polar Sea and
African Plains, refs #4805.
This was SVN commit r20972.
Support non-integer values and remove some unneeded floor / rounds.
Use more vector math in Caledonian Meadows, Oasis and Wild Lake, refs
#4845.
This was SVN commit r20971.
Every PathPlacer constructor already has the two vectors in place, refs
#4845.
The code becomes shorter (operations not copied once per dimension) and
more readable (normalize, perpendicular).
Performance can improve even.
This was SVN commit r20970.
It unintentionally used the dist variable of the inner loop, not the
dist variable reflecting the path length.
It was never noticeable since the few PathPlacers called with
Constraints either had failCount 0 or
exceeded the allowed failures by a factor of thousands.
All PathPlacer calls were intended to succeed or fail completely.
Hence set the default failFraction to 0.
This was SVN commit r20969.
Since the component initialization order is the alphabetic filename
order and
since the RangeOverlayRenderer < Player < Selectable, the new file in
that commit introduced the issue.
Similar to 36b315ca32, refs #4632.
UpdateColor function taken from temple's D754
This was SVN commit r20963.
Patch By: fpre / ffffffff
Fixes#4987, refs #4254
This allows the replay menu and lobby to focus the selected element if,
but only if it is expected by the user.
Replaces 3f5648767d which scrolled the selected player into view every
single time a new playerlist was received by the lobby server.
This was SVN commit r20958.
The commit had removed the fallback color as there is no traceable use
case.
Copy the Player color from the old to the new player entity in
ReplacePlayer before the ownership changes occur, so that it is always
initialized before read.
Refs 9329506e0d
Reported By: temple
This was SVN commit r20951.
Use the distance to the nearest point on the dropsite's obstruction
rather than the center of the dropsite.
Differential Revision: https://code.wildfiregames.com/D1160
Reviewed by: wraitii
Comments by: bb, elexis
Fixes: #4592
This was SVN commit r20950.
Nuke the more options window
Create 3 tabs containing all options from more options and map options,
giving more space for new options
Rename options => settings in gamesetup
Reviewed By: elexis
Comments By: ffffffff and gentz
Differential Revision: https://code.wildfiregames.com/D1027
This was SVN commit r20945.
Use vector algebra and remove duplication, refs #4845, #4805.
Unify the first createTerrain call with InitMap.
Move mountain constants and the information which height receives which
texture to the top.
This was SVN commit r20914.
The gamesetup will never be able to do something useful with it,
especially change it as an option, so it shouldn't be in the JSON file.
Fixes#4973.
This was SVN commit r20912.
Areas proportional to the map radius are easier to comprehend than areas
proportional to the square with the map diameter for sides.
This was SVN commit r20905.
The height is only a concern to the random map script, not the rmgen
library, nor the gamesetup, nor the simulation.
Reveals the actual initial elevation to the random map script author
without looking up the JSON file.
Group and rename all height constants of random maps below the template
names.
Rename waterHeight to heightSeaGround to prevent confusion with the
actual waterlevel.
Remove useless paintTerrainBasedOnHeight calls on African Plains and
Polar Sea.
This was SVN commit r20904.
Lets the random map script decide which baseTerrain and baseHeight it
wants to use before initializing the map,
rather than painting what is in the JSON file, then changing ones mind
and painting something else on top of it.
This cleaner heightmap initialization incidentally addresses the
uninitialized border of the heightmap in that commit (excluding the
Unknown).
This was SVN commit r20900.
Summary: Improve binary security by enabling a hardening linker flag.
Test Plan:
Patch already used on Debian.
Tested locally by @Gallaecio as well.
Reviewed By: LudovicRousseau
Trac Tickets: #4894
Differential Revision: https://code.wildfiregames.com/D1123
This was SVN commit r20896.
Use it to replace the hacky resetTerrain rmgen2 function from 6d52a71d4a
and initHeight from 280a797620.
Highlights that createArea is the primary tool of rmgen, rather than
nested for-loops over the mapsize.
Neglect that the heightmap grid is one tile larger than the tilemap grid
for now.
This was SVN commit r20894.
Since it is the only map with stronghold placement where the mines are
placed facing away from the team center, this code should be moved to a
library eventually, refs #3851.
This was SVN commit r20891.
This way random map scripts can do vector math and pass the result to
library functions that do further vector math on them and leave shorter
code, refs #4845.
Pass tilegrid coordinates rather than percent numbers to the playerbase
functions too, refs #4939.
Some more mapCenter calls, refs #4854.
This was SVN commit r20882.
This allows creation of paths that are not linear nor sine-shaped like
the PathPlacer, refs #892.
To mimic the per-tile path elevation randomization on Deep Forest, use a
SmoothElevationPainter and it's randomization argument from 77f28c5a56.
Use vector algebra and the mapCenter getter, refs #4845, #4854.
This was SVN commit r20879.
Summary:
{F316877}
Often we'll have a large group of units that we want to move to a new
location, but if we do that by having them building a dropsite, then if
the building's finished before everyone gets there, units still en route
will start gathering near their current position instead of near the new
location.
Test Plan: Agree.
Reviewers: wraitii
Reviewed By: wraitii
Subscribers: wraitii, Vulcan
Differential Revision: https://code.wildfiregames.com/D1162
This was SVN commit r20876.
Pass vectors, refs #4845.
Pass tile sizes rather than percent numbers of the map, refs #4939.
Replace some water- and land-functions with more common
createArea+RectPlacer and paintTerrainBasedOnHeight calls.
Implement getMapBounds to make references easier to read, refs #4854
(and thus less error-prone, refs db9a52b94a).
Move height constants to the top of the files.
Fix Aegean Sea, English Channel and Danubius fadeWidth off by factor of
2 in 7d0cc59136.
Fix forgotton clWater in unknown_common of c74bd3425f and move that
createUnknownObjects call to common.
This was SVN commit r20871.
Move some capes to more explicit names of their functions
Correct some inversions inside the inheritance
Fix capes for chariots and elephants, it wouldn't work because the death
variants were not specified,
and instead of keeping the order like Parent : None Child 1 : Death 1
Child1Prop : Death1 it would randomly
select the animations hereby breaking the chain, and therefore the anim.
Differential Revision: https://code.wildfiregames.com/D1213
Patch By : s0600204
Completition by : Stan
Reviewed by : Stan
This was SVN commit r20870.
The abs caused a compiler error in that environment, because wchar_t is
unsigned on armhf, subtracting signed from unsigned results in unsigned
and std::abs does not define an unsigned variant.
Differential Revision: https://code.wildfiregames.com/D1122
Patch By: Peter Michael Green
Uploaded By: Ludovic
This was SVN commit r20869.
Fine-tune random map scripts if nomad mode is enabled by omitting gaia
attackers and vast voids.
Fix nomad units on the Unknown sometimes being stuck on mountains or
tiny islands, refs #3140.
Discussed with: bb
This was SVN commit r20866.
Should resolve current concern raised with 7aae697bc5.
(Until something better is done wrt default args and/or not having them,
or whatever.)
Refs D900, 7aae697bc5, #2944
This was SVN commit r20865.
Fix collisions of mines with trees and berries on Schwarzwald.
It can't achieve anything that a createArea or createObjectGroups call
with a HeightConstraint (6278f75a1f) or HeightPlacer (49194819f6,
24f02d97eb) can't achieve too,
while it can't perform many crucial tasks like testing for arbitrary
Constraints, using custom shapes determined by a Placer or limiting the
amount of entities,
thus the unconventional code is redundant, refs #4805, #3764.
This was SVN commit r20864.
Have some workarounds to mark tileclasses get rekt by this Placer.
Fix Hyrcanian Shores clHighlands class being painted on the entire
landarea rather than only the bottom 25% following 7d0cc59136.
This was SVN commit r20863.
Use a separate tileclass for the oasis.
Use the mapCenter getter, refs #4854 and move important height and
radius constants to the top.
This was SVN commit r20859.
Use constants instead of convoluting magic numbers
Use vector algebra and distributePointsOnCircle to determine the
locations of animals in the oasis, refs #4845.
This was SVN commit r20858.
i.e. tileclasses that are never painted, thus always avoided.
Equally remove some checks for tileclasses before they are painted and
placement code that always failed on Flood.
This was SVN commit r20854.
The mechanism should work for all random map script log entries, if the
timestamps are not added to the CLogger directly, refs #4950.
This was SVN commit r20853.
Fix heroes and pikemen attacking when on elephants
They will only display the capturing and death animations
Fix various indent issues.
This was SVN commit r20850.
Also move the textures to a new folder as they are not helmets
and remove some of the duplication by creating variants.
Reviewed by: Stan
Tweaks by: Stan
Advices by: Sundiata
This was SVN commit r20849.
Adding/removing distanceLess/heardBy/omnipresent tags to/from the
actors.
Not adding missing sounds (lots of animals miss sounds), not renaming
files to something consistent, not making the files itself consistent.
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D944
This was SVN commit r20842.
Slightly tweaked alpha by me,
Source files,
Update the credits.json using the files provided in the license
and the respective WikiCommons accounts of the people, for legal
issues.
Add leyto to the credits.
This was SVN commit r20840.
Was partially fixed by 2d0e996725 but never disclosed.
Fixes#2292
Move the helmet to the new helmets folder,
Update the actors using this, apparently none used the other two
variants.
This was SVN commit r20839.
Update Theatron and Stonehenge foundations making them with more props
Make Stonehenge foundation slightly bigger allowing one to select it
without having to place the cursor in the middle.
This was SVN commit r20836.
Use the hele_flag for the hele_siege_tower, as it's now used only by
macedonians
and they do not have their own.
Update the template to use the new actor
This was SVN commit r20835.
It will be easier for modders to find them and make templates for those
if they want.
Add the other textures that now exist, fix the actors, reindent them,
add svn eol properties.
This was SVN commit r20833.
Unifies 54 variants of the rmgen playerbase code, fixes#4805.
Add retry loops to prevent collisions of starting resources, fixes#4600
and
resources placed outside of the map area, fixes#4796.
Lays the foundation to test for collisions with Iberian walls, refs
#2192 and
allows to rearrange the starting resources on all random maps without
being confronted with code.
Delete remains of misc.js, leaving the rmgen files sorted by logic,
fixes#4804.
Concludes what was started in 5f1736cbd4, f98100bdaf, specifically the
82 rmgen commits starting f2550705d3, 376d8b3d1e.
Uses vector algebra, refs #4845.
Removes many Math proxy calls, refs #4933.
Removes 35 unused elevation and 24 unused cliffRadius variables,
demonstrating the copy&paste antipattern.
Reduce iberian-wall hardcoding to one line, refs #4940.
This was SVN commit r20815.
Summary: I have replaced Unicode ellipsis characters in files of the
maps/ folder of the public mod by ASCII characters (periods and commas).
Test Plan: I have successfully generated a random map on Atlas from the
Unknown map template on x86_64 Linux.
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D1210
This was SVN commit r20809.
Describe the algorithm using graph theory vocabulary.
Split code into small functions, making it easier to digest and remove
duplication, refs #4805.
Use a prototype to avoid any possible naming conflicts.
Add helper variables to reduce array lookup nesting.
Remove non-functional unneeded max-distance check, refs c438a1eb82.
Use mapCenter getter, refs #4854.
This was SVN commit r20788.
This makes it consistent (all stacked pages are dialogs) and
the player is kept aware of the game being still active in the
background for the time the page is open.
Differential Revision: https://code.wildfiregames.com/D1058
Patch By: fpre / ffffffff
This was SVN commit r20782.
Place shallows at every tributary river rather than leaving out the last
35 percent of the mapsize.
Use vector algebra to do the horizontal/vertical rotation, refs #4845.
This was SVN commit r20780.
Remove hardcoded default batch training size and GUI row count hint
(which could have become invalidated too easily).
Differential Revision: https://code.wildfiregames.com/D1199
Reviewed By: mimo
This was SVN commit r20778.
Use vector algebra to simplify it and the according maps, refs #4845.
Remove stepSize parameter as long as the non-interpolated heightmap grid
is tested.
This was SVN commit r20775.
Change the material to use parallax were possible.
Add an empty normal texture 2x2 to allow other helmets to have theirs.
Use fully inheritance, only repeating frequency and names where needed
as they
are also inherited.
This was SVN commit r20757.
Load technologies through the globalscript from D1108 / c90d72deb5
rather than querying the simulation for that.
Same can be done for auras afterwards.
This was SVN commit r20756.
Music by Omri Lahav.
Coded with oggenc -q -2 (32kbps) using aoTuV Beta6.03 from the wav in
[[SVN:19890]].
Fixes: #4677
Differential Revision: https://code.wildfiregames.com/D1097
This was SVN commit r20751.
(Instead of non-phase techs which is what it was using up to now.)
Reviewed/accepted by: mimo
Changes agreed (but not tested/formally proven) by: elexis
Differential Revision: https://code.wildfiregames.com/D1181
This was SVN commit r20749.
and fix a bug due to inheritance that would make them appear more than
they should
because the frequency tag was not correctly overrode by the files using
them as they
were before and not after the variant file.
Patch by wowgetoffyourcellphone
Discussion here
:https://wildfiregames.com/forum/index.php?/topic/21546-enhancement-macedonian-helmets/&page=3
This was SVN commit r20743.
Removes the serialization of JSON files, shrinking savegame files and
rejoin states sent across the network, refs #3834, #4239, #3909,
f24523dc8f.
Removes the AI C++ code to read JSON files from e33d4a52e9 since the AI
can now use the globalscript.
Allows the AI to read Aura templates and removal of GUIInterface code to
improve performance.
Serialization of the JSON objects in other simulation components was
removed in 9c0e37f2c0 / D1109, a6f14f5631 / D1130.
Serialization removal planned by sanderd17
AI part proofread by mimo
Simulation part proofread by bb
Discussed with Itms on irc
Differential Revision: https://code.wildfiregames.com/D1108
This was SVN commit r20737.
Use vector algebra instead of adding one equation for each dimension
everywhere, refs #4845.
Add common createPassage terrain helper function to unify
straightPassageMaker and the modified copy PassMaker, refs #4805.
On Corsica vs Sardinia:
Comfort island shaping by
not hardcoding and not hiding magic numbers behind magic equations,
not specifying areas and deriving the radius from the disk area,
but always refer to newly introduced radius globals and compute the area
using diskArea from 1a896f531a.
Don't give some players 10% more map area and place all circular island
parts at the same center location in the map corner.
Don't place trees and mines into passages.
Simplify and order numbers, increase fail fractions from 4 to 10.
Use mapCenter getter from refs #4854.
This was SVN commit r20732.
Adapt the cataphract helmet to the new heads and move its position to
the helmet prop point
Move it to the new helmet folder
This was SVN commit r20730.
It is unneeded because we won't add backwards compatibility for previous
formats and
because the engine version check from 94302a4149 is sufficient and more
accurate in testing compatibility of savegames of different releases.
The simpler code allows unifying the savegame version check with the
check used by the replay menu (to be used in multiplayer gamesetups).
Differential Revision: https://code.wildfiregames.com/D1131
Reviewed By: wraitii
Agreed with: Imarok
Discussed with: Philip
This was SVN commit r20729.
This addresses the Simulation2 warning about a gamesetup mechanism not
having decided explicitly about the RNG.
Differential Revision: https://code.wildfiregames.com/D1187
Reviewed By: mimo
Refs #4917, 7e05d7edc9 / D1178
This was SVN commit r20726.
For instance useful when working with location vectors on arrays, such
as terrain generation in random map scripts, refs #4845.
This was SVN commit r20723.
Improve some of the comments mentioned by fatherbushido in b3dbcc457b.
Rename avg to average and test it.
Inline constructor defaults.
Don't use array functions nor for...of loops here to maximize the
performance, refs c751500907.
This was SVN commit r20706.
Remove ocean duplication on Pyrenean Sierra, fix sign of the removed
lololo variable and simplify the player angle equation, refs #4805,
a796800bb1.
Use mapCenter getter from #4854 on Gulf Of Bothnia, Pyrenean Sierra and
the Unknown gulf variant.
This was SVN commit r20703.
which cannot be fixed without hacks such as models with only props and a
small triangle
Move all the modified helmets to their new folder, so it's easier to
look for them in atlas
Add a new tin texture with and without laurels to fit the new uvmap Move
the boeotian helmet
from the head prop point to the helmet prop point based on a patch
from WowGetOffYourCellPhone
Make the boeotian helmet more modular using props so variants are easier
to make for modders,
nuke the remaining models.
This was SVN commit r20702.
This avoids the caller having to duplicate the GUI tag format over and
over again (equal to 54904b1750),
detects syntax errors at compile time and
applies the separation-of-concerns pattern (callers only have to specify
the tag value agnosticly of the tag format).
Differential Revision: https://code.wildfiregames.com/D1167
Patch By: fpre / ffffffff
Comments By: bb
Refs e1b13dead9
This was SVN commit r20697.
gpuskinning was set to true in the game options. That experimental
features apparently requires that all meshes vertices be weighted
else it stretches it badly.
Add the fixed blendfile.
This was SVN commit r20696.
Add global filelisting helper.
Remove getXMLFileList and getJSONFileList from the unsorted
gui/common/functions_utility.js.
Make hidden maps prefix more transparent.
Remove hardcoded magic numbers that are string lengths.
Shorten loading screen code and separate pathnames from code.
Differential Revision: https://code.wildfiregames.com/D1107
Reviewed By: bb
This was SVN commit r20692.
Macemans and swordsman are different, and more civs than just maur might
get them (maybe in mods), so a parent template for them is good to have.
Updating the tech so it keeps affecting the same (but notice it doesn't
do anything with macemans).
Patch By: Nescio
Differential Revision: https://code.wildfiregames.com/D1036
This was SVN commit r20682.
Use correct names (e.g. cart)
Specify civs when possible, also instead of culture
Patch By: Nescio
Differential Revision: https://code.wildfiregames.com/D985
This was SVN commit r20677.
This will enable us in the future to have technologies that change
projectiles.
This is also somewhat of a refactoring.
Patch By: Mate-86
Reviewed By: wraitii
Trac Tickets: #1909
Differential Revision: https://code.wildfiregames.com/D945
This was SVN commit r20676.
Original patch from Sandarac, reworked by elexis and finalized by mimo
Discussed with elexis
Differential Revision: https://code.wildfiregames.com/D1159
This was SVN commit r20671.
Animations by AlexanderMB
Textures by myself + some fixes to the armature not to break when
exporting from the blend
Remove old texture and mesh.
This was SVN commit r20666.
Do not check for system components,
Do not inline in loops for performance
Use QueryPlayerIDInterface instead of querying the playerEnt
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1137
This was SVN commit r20652.
Save the latest page and graph in the summary screen
Implement a hotkey to open and close the summary screen for the
replaymenu and ingame.
Patch By: ffffffff
Comments By: elexis
Differential Revision: https://code.wildfiregames.com/D810
This was SVN commit r20644.
Spotted By: s0600402
Noticed in review by fatherbushido, but didn't came into patch by
Grugnas, and later forgotten to yell about again by bb when accepting.
This was SVN commit r20643.
The mod "name" may only consist of alphanumeric characters, underscore
and dash, because it should be used for mod dependency checks.
Drop two special characters from the "version" property.
Differential Revision: https://code.wildfiregames.com/D1093
Res #4427, d3ce5289b6
Reviewed By: Itms
This was SVN commit r20637.
Remove ACCEPT_DIAGONAL_GAPS as it was unused and will not be used in the
future.
Use PASSABLE macro everywhere.
Simplify considerable OnTheWay as MakeGoalReachable returns a point
goal.
This doubles as a very slight optimisation, on the order of microseconds
per call.
Reviewed By: temple
Differential Revision: https://code.wildfiregames.com/D80
This was SVN commit r20634.
Properly fix the current issues with pre-build commands, improve the
documentation of known issues and re-design the module so it is easy to
extend it into a fully-fledged CxxTest module supporting all features of
the tool.
Reviewed By: wraitii
Tested By: elexis, bb, Imarok
Differential Revision: https://code.wildfiregames.com/D1092
This was SVN commit r20633.
By refactoring unitAI slightly, we can easily improve our support for
running/walking/idle animations.
Other gatherer entities (and other entities with custom walking
animations for certain variants) will need to be updated individually at
a later point to support this feature.
Reviewed By: bb, fatherbushido (a while ago)
Differential Revision: https://code.wildfiregames.com/D311
This was SVN commit r20631.
By adding a custom function in Grid, the code gets vectorised on both
gcc and clang, resulting in much faster code and faster update times,
sometimes substantially (on giant maps or when few chunks must be
updated).
Reviewed By: mimo
Differential Revision: https://code.wildfiregames.com/D73
This was SVN commit r20630.
Removes data.playerEnt and data.cmpPlayerManager.
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1138
This was SVN commit r20629.
Move default Heal range visualization texture properties to the template
and only display Heal ranges if the template was given.
Differential Revision: https://code.wildfiregames.com/D1128
Refs #3915, #4349, D238, D432, D568
This was SVN commit r20624.
This also allows non-selectable entities like building previews to cast
range visualizations.
Patch By: Sandarac
Differential Revision: https://code.wildfiregames.com/D555
Refs #3915, #4349, ee5bb1fd61 / D238.
Comments By: Vladislav
This was SVN commit r20622.
This abstraction allows calling that code again from other simulation
components, like the RangeOverlayRenderer in D555.
Differential Revision: https://code.wildfiregames.com/D1139
Refs #3915, D555
Comments By: Vladislav, echotangoecho
This was SVN commit r20621.
fb65288463 mimicked the sprite_over button functionality which exists as
a proper property since 5cc814759f.
0e48b7df75 mimicked the sprite_disable and enabled button functionality.
The button now shows the proper highlight sprite if the button became
enabled without one of the prior mouseover events being sent.
Removes duplicate hardcoded filenames and unneeded globals, functions
and conditions.
Refs #2414, #3736
Differential Revision:
Patch By: temple
This was SVN commit r20601.
Removes the workaround copy of the resources JSON each turn in
GetSimulationState.
Refs #3934, #4868
Differential Revision: https://code.wildfiregames.com/D1119
Reviewed By: mimo
This was SVN commit r20600.
Removes the workaround and limitations of globalscripts Resources
(52f311da2b) and loadCivFiles (89055ef858), allowing them to actually
become actually global.
Rename to ListDirectoryFiles as proposed by wraitii.
Differential Revision: https://code.wildfiregames.com/D1103
Reviewed By: s0600204
Proofread by: echotangoecho
Comments by: wraitii
Relevant discussions with leper in #4868, D1062
This was SVN commit r20586.
This way globalscripts/ can use the same code in all contexts, all paths
are absolute and only one function name is needed.
Remove ReadCivJSONFile which is redundant with this function as well.
Restrict read access of rmgen/ to rmgen/ and simulation/, refs
4275a8a33c, 89055ef858.
Refs #4868
Differential Revision: https://code.wildfiregames.com/D1085
Reviewed By: wraitii
Partial agreement with leper
This was SVN commit r20576.
Such a property should be well defined, but currently it contains
arbitrary text and is redundant with the description.
Differential Revision: https://code.wildfiregames.com/D1082
Refs #4890
Discussed with: leper
Reviewed By: wraitii
This was SVN commit r20575.
Complete documentation and validation of loaded mods proposed in D1093.
Differential Revision: https://code.wildfiregames.com/D1081
Reviewed By: wraitii, Itms
This was SVN commit r20574.
Optimizing the memory footprint requires likely different functions
following the new SM versions and a lot of testing,
so having these doesn't lower the effort to achieve optimization while
confusing the reader.
Differential Revision: https://code.wildfiregames.com/D1073
Reviewed By: Yves
This was SVN commit r20572.
This makes rallypoint flags nicer and is generally more efficient for
unitAI too.
The behaviour falls back to gathering near position for any entity with
a "speed" component, which is set by GuiInterface depending on having
UnitMotion. This thus assumes entities without UnitMotion do not move.
However, Gather falls back to gather near position in case of failure,
so it ought to be fine in general.
Reviewed By: wraitii
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1014
This was SVN commit r20571.
This change ahead of D965, where fauna become silhouette casters, and
several fauna animals are transparent models.
Reviewed By: wraitii
Patch By: temple
This was SVN commit r20569.
The filter command does only filter out premake commands, and does not
act on Lua instructions like this one. Some code refactoring would be
needed in order to take advantage of the powerful filter syntax.
Refs #3439.
This was SVN commit r20563.
This change drops MBCS encoding (which was the default for premake4)
except in the Collada project which is entirely written assuming MBCS.
Tested By: wraitii
Differential Revision: https://code.wildfiregames.com/D1069
This was SVN commit r20561.
This fixes an issue where tests wouldn't build without precompiled
headers.
Tested By: leper
Differential Revision: https://code.wildfiregames.com/D1068
This was SVN commit r20560.
Refactor functions and unify sort dropdown choices.
Move colors to globals so that they are easily modifiable, even from
external files, refs fd034c9bcd / D911.
Fix broken "Dependency not met" translation and wrong equal comparison
operator description (== vs =), refs 64bfa089af.
Use localeCompare, simpler loops and array functions, JSdoc syntax,
ternaries, deepfreeze, let keyword and prefix increment operator.
Renames to increase descriptiveness and consistency.
Remove duplication, tautologic and unsatisfiable conditions, dead code,
unused variables and GUI object names, example within example,
unneeded variables, parentheses, TODOs, strict checks and keep XML
element, misleading linebreaks, pointless comments and "Mods Loaded"
string and the switch fall-through.
This was SVN commit r20552.
This throws reference errors at JS compile time when attempting to
translate strings in the simulation.
Differential Revision: https://code.wildfiregames.com/D1075
Refs D619
Reviewed By: bb
This was SVN commit r20549.
First fill all global helper variables before pushing the data to the
GUI (IPO model).
init should always be the first function declaration in a file.
Split and rename init functions.
Fill g_ScorePanelsData from init so that it becomes independent from the
file include order.
Include all files of the summary directory instead of each file
individually, as in D619.
This was SVN commit r20538.
This allows mods to add new JS files without introducing a hardly
maintainable copy of the XML file.
Differential Revision: https://code.wildfiregames.com/D619
Proofread By: bb
This was SVN commit r20535.
A check for OSX version that seemed useless broke compilation on Xcode
9.
Reviewed By: Itms
Differential Revision: https://code.wildfiregames.com/D986
This was SVN commit r20530.
Unify civ file loading from gui/common/functions_civinfo.js and
rmgen/library.js in globalscripts/Templates.js.
Delete the two forgotton headers in 4275a8a33c.
Refs #4868, #4804, D900.
Differential Revision: https://code.wildfiregames.com/D1062
Discussed with: leper
This was SVN commit r20528.
Also fix confusion of playerID and playerEntityID in that test following
c14a7a0b0b.
Differential Revision: https://code.wildfiregames.com/D1067
Reviewed By: bb, Itms
Comments By: Stan
This was SVN commit r20527.
This fixes a bug with premake5 happening when using
--with-system-mozjs38.
Tested By: temple
Differential Revision: https://code.wildfiregames.com/D1028
This was SVN commit r20523.
The bug came from inlining the copy constructor of Grid, which ended up
reading from un-initialized variables.
Discussed with leper who had a similar fix for a test failure locally.
Fixes#4859
Differential Revision: https://code.wildfiregames.com/D1048
This was SVN commit r20520.
(Don't replace the starting base code of that map to a call to
placeStronghold because the code in this variant is the only one that
doesn't have resource collisions on tiny maps currently, refs #3851.)
This was SVN commit r20516.
The code intended to group players per team on a single island (even if
more than 4 players in one team).
But since it used sortAllPlayers playerIDs instead of onIsland, the
players were not actually grouped per team.
Drop the additional, slightly redundant complexity and just place at
most 4 players per side like the other naval maps do too.
If greater groups per side are wished, it can be changed later
consistently for all maps.
This was SVN commit r20515.
It was only triggered if a civ wasn't set in Atlas.
Because civs are expected to be well-defined everywhere, alwas set the
property in Atlas too, fixing the non-GUI part of #4869.
Use the existing player defaults value then instead of hardcoding a
fallback civ string.
This was SVN commit r20512.
Revert the introduction of the exact copies of FileExists ReadJSONFile
functions in MapGenerator.cpp introduced by 871ed04521.
Include JSInterface_VFS.cpp from MapGenerator.cpp to remove that code
while gaining the other missing VFS file loading functions in rmgen/.
Split RegisterScriptFunctions of JSInterface_VFS.cpp from eb4e66aab3
into RegisterReadOnlyScriptFunctions and RegisterWriteScriptFunctions to
prevent unintentional write access.
This was SVN commit r20507.
Fix resource collisions on that island.
Incrase the radius, not the area of the island proportionally to the map
radius.
Prevent the island from becoming passable without ships.
Use the non-deprecated createObjectGroups variant.
This was SVN commit r20503.
While at it also nuking some duplicate template entries
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1038
This was SVN commit r20498.
Use it to illustrate the building placement preview rotation and
focusing of attacked units.
Split from D1037
Patch By: temple
This was SVN commit r20496.
This allows replacing the common code with a library call in only one or
two hunks each.
On Archipelago move the random resources closer to the playerbase to
make the map more enjoyable.
Use default/skirmish templates for the docks on Islands/Migration and
the market on Polar Sea while at it.
Abort map generation if the dock placement failed.
Remove clForest dummy variable on Polar Sea following the removal of
references to map defined tileclasses in the library following
822e37f70c.
This was SVN commit r20476.
Stop listening to OnTrainingFinished and OnStructureBuild messages but
use OnOwnershipChanged messages. This fixes the defeat when only
promoted/upgrades/regi-hero units remain.
Add foundations to the conquest lists and make them visible on the
minimap.
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1022
This was SVN commit r20471.
Use the rotateAround function from eb96b61954, refs #4845.
Freely randomize the river angle on Corinthian Isthmus following
4256744e26 and eb96b61954, refs #4855.
This was SVN commit r20469.
Remove the rmgen rotateCoordinates helper function from 4256744e26 and
clean the implementation of that commit, refs #4845, #4804.
Deepfreeze mapCenter vector from 5256d8497e used here to prevent
accidental overwrites with the mutating Vector2D functions, refs #4854.
This was SVN commit r20468.
In the Edge Seas variant, fix a wrong horizontal/vertical negation and
the direction of the riversize randomization.
Fix the wrong river location translation in that variant in e596ef6011,
refs #4851.
Prevent resource collisions on Unknown maps by adding back the large
territory marking (after the small territory marking prior to the
terrain generation).
Slightly improve river painting performance by not generating the
meandering of the second shoreline if that is outside of the map
boundary.
This was SVN commit r20465.
Replace complicated starting unit code with a call to
placeStartingEntities equal to df14c914e6.
Use distributePointsOnCircle to remove sin/cos/distance computations.
Add map center getter for rmgen code, refs #4854.
This was SVN commit r20463.
Rename tower techs to tower_{tech}
Remove duplication in tower templates
Create tower parent, with sentry, stone and outpost as childs
Move all outpost as child of tower
Add a sentry tower default building
refs #4849
Patch By: Nescio
Differential Revision: https://code.wildfiregames.com/D914
This was SVN commit r20459.
Change wrong civs in ptol and sele walls
Let Persian trireme units depend on there land counterparts
Make the buildtime consistent with the land counterparts by decreasing
with 3
Nuke duplication for rome infantry champ
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1033
This was SVN commit r20451.
* Move selection_panels.js helper functions into a separate file
* Move unit_action helper functions from input.js into unit_actions.js
* Rearrange some functions, to better represent the execution flow
* Make batch training use `g_NumberOfBatches` instead of
`g_BatchTrainingCount` so remember the number of batches instead of the
number of units to train (needed for finishing P60)
* Simplify the batch training code a bit
* Also cleanup the moved functions a bit
Reviewed by: bb, Commented by elexis
Differential Revision: https://code.wildfiregames.com/D753
This was SVN commit r20447.
This new hotkey, by default assigned to alt, makes it so that only one
unit receives the order.
This can be used to easily order a group of units to build different
buildings at the same time, or attack different enemies.
It's intended to make the usual "select a unit, order, select another
unit, order" micro much faster.
Reviewed By: Imarok
Differential Revision: https://code.wildfiregames.com/D308
This was SVN commit r20441.
Remove retryPlacing args helperobject by making use of the hoisting
effect.
Remove the deprecation warning in retryPlacing and equally and the
unused behaveDeprecated argument from createAreas and
createAreasInAreas, refs #4294, a639050a41, D249.
Rename randomizePlacerCoordinates to randomizeCoordinates and placer to
group in the four createObjectGroups functions following 6052716a78,
because Groups aren't Placers (as established in f6c2ea6b0e), just share
the randomizable x/z properties.
Fix randomizeCoordinates on square maps offering entity locations
outside of the passable map area that are only rejected later in the
codeflow, missed first in ca0575e422, but also d30ee0292b and
3a1c5669f8, refs #4012, #4814.
Clarify randomizeCoordinates by passing a boolean stating whether to
include the impassable map border instead of a varying halfMapSize.
Remove the unused halfMapSize argument from the
randomizePlacerCoordinatesFromAreas call in createAreasInAreas.
This was SVN commit r20439.
Completes an existing TODO. This is a large speedup in some cases for
those test functions, particularly the "sunken ship lag" issue.
Patch By: temple
Reviewed By: elexis, mimo, bb, wraitii
Accepted By: bb, wraitii
Trac Tickets: #4713
Differential Revision: https://code.wildfiregames.com/D850
This was SVN commit r20438.
Create global constants for the elevation modes and make that Placer
more versatile by adding the mode argument.
Improves the performance of these functions by not repeating the mode,
createTerrain and getTileClass lookups every tile.
Move the functions to library.js, refs #4804.
This was SVN commit r20437.
Refer to the normalized river vector instead of the river vector divided
by the length of the river.
Rename mag to magnitude.
This was SVN commit r20435.
and so making that function much more general by using MatchesClassList.
Some suggestion and checking by leper
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1020
This was SVN commit r20432.
Reverse engineer and cleanup obfuscated Rivers map code, refs
a9b963c3a5.
Use vector algebra to replace magic equations and express geometric
intend.
Fix seed typo by removing river curve duplicate.
On the Rivers map, use areAllies directly instead of copying the
diplomacies to a 2D array called isRiver.
Use modulo operator instead of an if-statement with duplication to
determine the neighbor of the last player, refs 9272153ee7.
This was SVN commit r20429.
Refactor by moving from procedural programming to functional
programming.
Fix the horrendous shoreline performance bug on "Continent" of Unknown
as in 49721cff33 by dropping the historic differences between the maps.
Remove misleading player coordinate computation when generating the
terrain on Unknown Nomad, because the players are spawned elsewhere
then.
Remove names like md, mdd1 and mdd2 with different connotations in every
landscape type.
Remove six more paintRiver copies in the "Edge Seas" variant as in
7d0cc59136.
Remove createShoreJaggedness and createExtensionsOrIslands duplication
within this triplication.
Remove heightmap initialization octuplication by adding initHeight.
Remove horizontal/vertical duplication by using logical operators.
Remove Painters redundant with the paintTerrainBasedOnHeight calls,
pointless comments and cleanup createArea calls as in 376d8b3d1e.
Remove some forest helper duplication as in ac8f4f49fc.
Remove references to Math proxies and use the prototype functions
directly.
Remove whitespace issues.
Describe remaining calls with human-readable log messages.
Always spawn enough treasures for a CC (instead of sometimes only giving
enough for a dock), refs 5dd3cbb254.
Generate "Mainland" variant with the same probability as the other
landscape types.
Generate "Central Sea" variant on Unknown Land too by forcing an Isthmus
then.
Don't split players on Unknown Nomad on the "Rivers And Lake" variation,
because the resource imbalance is too drastic.
Consistently call markPlayerArea before terrain generation on non-Nomad
maps.
Differential Revision: https://code.wildfiregames.com/D252
This was SVN commit r20420.
Doesn't change the code besides abstracting distributePointsOnCircle and
attempting to improve the documentation, refs #4831.
This was SVN commit r20416.
Remove two duplicates of the starting entity placement code in the
Fortress map of 208e642089 and placeCivDefaultEntities of 9c3e94acfd by
just making the distance an argument, refs #4805.
Equally to the starting cavalry, don't spawn special units like dogs or
worker elephants on Fortress twice, but only the women and Infantry.
Consider the weird kwargs iberWalls argument of placeCivDefaultEntities
from 9c3e94acfd deprecated and just make the orientation a regular
optional argument.
Rename createStartingPlayerEntities to placeStartingEntities.
This was SVN commit r20415.
Differential Revision: https://code.wildfiregames.com/D1004
Patch By: temple
Remove any unneeded complexity to compute the button states.
The entity state of selected gates was changed, so fix the read-only
errors following 9cb0a60d73, refs #4257.
This was SVN commit r20412.
Rename passageMaker to createShallowsPassage to avoid confusion with
straightPassageMaker aka PassMaker from Corsica & Sardinia and Pyrenean
Sierra.
Remove TILE_CENTERED_HEIGHT_MAP operations in that function from
3c6bce057e that don't do anything.
Add infinite loop protection to getTIPIADBON.
Remove unneeded parentheses, braces, redundancy, whitespace issues, use
early return and merge consecutive if-statements with a logical or in
these functions.
This was SVN commit r20410.
cleaning up the createForests function.
Remove g_numStragglerTrees and clForest references from the rmgen
library.
Compute the number of forest- and straggler trees in a new function
instead of hiding it and obstructing the placement code.
Remove unused numMultiplier argument.
Replace duplication of these three functions with calls to them, refs
#4805.
Remove duplicate random biome JSON constants of the Islands, Migration
and Snowflake Searocks map.
There is significant partial createForests duplication that should be
unified eventually.
This was SVN commit r20406.
Maps should not be required to define all these globals and use them
with the connotation implied by these utilities.
Split utilityfunctions.js to gaia_entities.js and gaia_terrain.js to
make it more transparent what files contain, refs #4804.
Document these functions #4831.
Refactor stoneMine placing and use for...of loops.
Fix Extinct Volcano call.
Forest utilities will be handled separately.
This was SVN commit r20405.
Thereby fix the distance check of the SimpleObject, refs #4338, D189 and
remove the CELL_SIZE engine constant magic number, refs #4034.
Differential Revision: https://code.wildfiregames.com/D996
Thanks a lot to rapidelectron and temple who independently discovered
this!
This was SVN commit r20396.
Keep the Catmull-Rom spline comment as ambiguous as the definitions we
found.
Differential Revision: https://code.wildfiregames.com/D1003
Reviewed By: fatherbushido
This was SVN commit r20394.
Remove PointXZ class which is essentially a subset of Vector2D, refs
#4834, #4804.
Remove Point3D which is unused and the same as Vector3D without the math
features, refs #4805.
This was SVN commit r20388.
Remove placeTerrain, and createObjectGroup from Map, because that class
should only have getters and setters, refs #4804.
Unify it with the global functions of the same name.
Let Map.createArea only construct and register the Area object with the
Map, but do the place and painter logic in the global function.
This was SVN commit r20387.
Remove initTerrain from Map, because that class should only have getters
and setters, refs #4804.
Unify it with the global initTerrain function.
Remove some redundant calls to that.
This was SVN commit r20386.
Thereby unify the chordal Catmull-Rom spline interpolation of the
ClumpPlacer (C++ bd53b14f58, JS 0e0ed94926),
the copy of that in the PathPlacer (bc805bd357, refs #892) and
the centripetal Catmull-Rom spline of the bicubicInterpolation function
from 93aefe0787, refs #4218
and don't claim the latter to be a uniform Catmull-Rom spline.
Reviewed in part by fatherbushido, discussed in 93aefe0787.
This was SVN commit r20383.
Make pyrogenesis and tests depend on Collada, fixes#404.
This commit includes custom modules for CxxTest and pkg-config support
that can be improved upon in the future. It also includes all necessary
changes to the build scripts, but the new premake5 features are not
fully exploited yet.
With this change, premake5 becomes the default, but CI scripts on Unix
will continue using premake4 for a while, in order to avoid regressions.
Includes code by zsol.
Reviewed by: wraitii, leper
Differential Revision: https://code.wildfiregames.com/D72
This was SVN commit r20381.
Remove camera centering in that function because it contradicts the
modifiability of the camera global (besides being broken and only coming
into play if there are no player entities).
This was SVN commit r20370.
The removed values were in fact arbitrary GUI numbers no map script
should confuse with engine limits.
To not make it my words, quoting FeXoR from #4034:
"I agree removing MIN_MAP_SIZE and MAX_MAP_SIZE and make the parameters
of scaleByMapSize optional with the default being 128 to 512."
This was SVN commit r20368.
Add "melee", "ranged" etc. to the template tag name,
Allow and use specific sounds for slaughter,
Rearrange the templates a bit, and so add missing sounds.
Reviewed By: fatherbushido
Differential Revision: https://code.wildfiregames.com/D757
This was SVN commit r20367.
This new script and the associated configuration files lint our source
code (JS and C++). This will be extended in the future, refs #4833.
Reviewed By: Imarok
Differential Revision: https://code.wildfiregames.com/D213
This was SVN commit r20364.
Keep now unused, yet unalteredly useful paintHeightmap JS function
(until CMapReader::LoadRandomMap can load PMP files, refs #4816),
bicubicInterpolation and randomPlayerPlacementAt.
This was SVN commit r20362.
Document the difference between the two types of classes, refs #4831.
Move RectPlacer (as of 7d0cc59136 unreferenced but possibly useful)to
placer_noncentered.js and remove three redundant checks there.
This was SVN commit r20360.
Define what an Object is, refs #4831.
Remove RandomObject duplication from c02818ceea by just calling the
SimpleObject with a random template, refs #4805.
Remove the tautologous (!fail) check and replace needless multilevel
fail-check nesting with two && operators.
Move default parameters from the function body to the function header
and rename resultObjs to entities.
Throw errors instead of printing something if min > max.
This was SVN commit r20357.
Document what a Group is, refs #4831.
Remove duplicate place function by calling the SimpleGroup from the
RandomGroup, refs #4805.
Move the default parameters from the function body to the function
header, remove duplicate CELL_SIZE division, pointless comment and use
let instead of var.
This was SVN commit r20355.
It should have been added to the painters file instead of to the map if
a copy was acceptable.
Add the only simple capability it added (an unnoticeable random
elevation difference to each vertex) to the SmoothElevationPainter to
make it universally accessible.
That painter also had a bug, because it replaced the roughness with 5 if
0 was given.
This was SVN commit r20354.
Doesn't change the result perceptibly while removing otherwise
incomprehensible magic numbers from 61387e95b2.
The equations are so similar that one might expect that the averaging
was the intended algorithm.
This was SVN commit r20353.
(The spread operator is not faster in sm45 according to my test.)
Differential Revision: https://code.wildfiregames.com/D980
Refs 6590f301c2.
Not accepted by anyone.
This was SVN commit r20351.
Document the two classes, the new function and every step of their
execution, refs #4831.
Unify SmoothElevationPainter height computation duplication, remove
pointless comments, use array functions and the prefix increment
operator.
This was SVN commit r20350.
Remove two unneeded variables and reduce the performance by some
milliseconds by using for...of loops, the destructing assignment and
inlining the unified DX/DZ array.
Fix a wrong comment in the BorderTileClassConstraint of 86d3cdf2d5.
Differential Revision: https://code.wildfiregames.com/D984
Not accepted by anyone
This was SVN commit r20349.
Move the least complex rmgen painters (TileClassPainter,
TileClassPainter, MultiPainter, TerrainPainter) to the top of the
painters file, refs #4804.
Group the TerrainPainter with the LayeredPainter which both draw a
texture on the terrain contrary to the others.
Use for-of loops and remove unneeded variables.
(Diff split for auditability.)
This was SVN commit r20347.
It didn't add a benefit, hid a bug (see 0c9205e5b8), required the
inheriting classes to use terrainObjects, added confusing indirection
and none of the other classes (painters, placers, constraints) use that
inheritance.
Define what the Terrain classes do, refs #4831.
Rename treeType to templateName.
Remove unneeded round in the validT condition.
This was SVN commit r20338.
Start unifying the euclidian distance functions instead of adding yet
another helper function to the random map script library after this
diff.
Differential Revision: https://code.wildfiregames.com/D969
Math.square accepted by mimo
Includes changes proposed by bb, fatherbushido
This was SVN commit r20328.
The island generation code was copied once for
* the small mapsize and 2 players
* the small mapsize and 3 players
* the small mapsize and 4 players
* the small mapsize and more than 4 players
* the medium mapsize and up to 4 players
* the medium mapsize and more than 4 players
* the normal mapsize and up to 5 players
* the normal mapsize and up to 7 players
* the normal mapsize and 8 players
* the large mapsize and up to 5 players
* the large mapsize and more than 5 players
Within each of these copies there were three copies of the island
createArea+placer+painters call and
about 10 unreadable island connection setter copies.
Support mapgenerations with only one player.
Cleanup createAreas calls as in 376d8b3d1e and broken indentation.
Fix missing forests due to a missing parentheses in the forest count of
that commit.
This was SVN commit r20308.
The code for the other island was copied in a varying order with only
the values changed to 1 - x.
Unite the island, subisland, creeks, beaches, main relief, first
plateau, second plateau and passagess code under a single loop to
display the logical relation
instead of scattering many paragraphs and executing unrelated (starting
base) code in between.
Cleanup affected createArea calls as in 376d8b3d1e.
This was SVN commit r20306.
Just for the record (as all of that is going to be deleted soon), add
the missing variable declarations that were hoisted from an unrelated
loop prior to 45bb3d2a43.
This was SVN commit r20302.
Inline the placer, terrainPainter, elevationPainter, group and sizes
helper variables that are used only once.
Thus do not hoist variable declarations from unrelated scopes.
Remove few dozens of painters that are overpainted by the
paintBasedOnTerrainHeight call afterwards.
Remove 334 noisy misaligned code comments (// terrains // widths //
blend radius and // some variation).
Label the createArea calls so that the reader knows what they do.
Remove unbenefitial Math.PI/8 grass min/max angle limitation.
Use height variables for the SmoothElevationPainter calls so that levels
can be modified more easily.
Use Math prototype functions instead of the unfortunate rmgen proxies.
Does not touch starting base code, Unknown maps, Snowflake Searocks and
Corsica & Sardinia which need special treatment.
This was SVN commit r20301.
Unify clCorsica, clSardinia to clIsland and the duplicate resource
placement calls using that.
Move and simplify the logic determining which texture to paint depending
on height and slope to a function getCosricaSardiniaTerrain.
Inline the createTerrain to greatly increase readability while possibly
reducing performance slightly.
Fix whitespace of createObjectGroup calls.
This was SVN commit r20296.
The new math library file will contain five more math helpers used by
random maps, refs #4804.
These functions are agnostic of random map vocabulary, so could possibly
be moved to or unified with globalscripts.
Cleanup and label obscure createArea calls in this map, unify duplicate
magic numbers, refs #4805.
Remove three useless LayeredPainter calls that are overwritten by the
paintTerrainBasedOnHeight tShore and tWater calls afterwards.
This was SVN commit r20295.
Do not return a string in getRandomDeviation when we need a floating
point number.
Simplify the equation and do not round arbitrarily.
This was SVN commit r20285.
Let validT take the responsability to account for the actually valid
region of map tiles instead of each caller.
Fixes#4814, refs #4636, #4796
This was SVN commit r20283.
Delete the function altogether and create that simple array that is only
used in addForests just there.
Delete addForests calls from Ngorngoro that don't do anything.
This was SVN commit r20280.
Rename initBiome to initForestFloor, getTeams to getTeamsArray.
Unifying duplicate coordinate computation and inlining unneeded
createArea helper variables in Lions Den.
This was SVN commit r20278.
Extend the tests of rotate in 99494251a1 to reveal the bug.
Add non-static clone functions for vectors (as the static ones were
incorrectly removed in e95f4e9744).
Math.pow performance is investigated separately, refs P85.
Checks and balances by mimo, leper, FeXoR and fatherbushido
This was SVN commit r20272.
Remove unneeded waterheight init loop (with awkward 1 tile sized bump)
that is redundant with the SmoothElevationPainter above from Corinthian
Isthmus (since introduction in 33cb23afa5).
This was SVN commit r20264.
In compareLength, use Math.sign to replace a ternary + isNaN check.
In distanceToSquared, Use Math.pow(distance, 2) to avoid repetition of
the distance, inline its value to remove the then unneeded variables.
This was SVN commit r20263.
This removes FindAllPlaceableTemplates, replaces the few uses of it by
FindAllTemplates,
and makes that ignore all templates starting with special/ in addition
to those starting
with template_.
Now modders can use entirely different template organization schemes
(more folders, different
folders, etc) without having to edit a file that was never well
documented.
In conjunction with a few of the template moving patches preceding this
rubble/ and other/catafalque
are now placeable. The former now does not decay anymore and users that
want that should use the
decay| filter, the latter will be taken care of in #4762.
Return to making FindAllTemplates return all placeable templates again
(switch to unplaceable filter).
To reiterate the main point: Only templates starting with special/ or
template_ will not show up as
placeable in Atlas (or show up to code querying for all (placeable)
templates. If you want to add more
of those use one of these naming schemes (and possibly subfolders in
special/).
Reviewed By: fatherbushido
Differential Revision: https://code.wildfiregames.com/D935
This was SVN commit r20246.
Explicitly specify that the rubble placed on death is decaying.
This breaks quite a few mods, then again the fix is a simple sed
command.
Run within your mod root directory:
sed -i 's,>rubble/,>decay|rubble/,' `find simulation/templates -name
'*.xml'`
For fields you can just edit the few templates manually and specify
decay_60 instead.
Reviewed By: fatherbushido
Differential Revision: https://code.wildfiregames.com/D938
This was SVN commit r20244.
This should help with simplifying the (un)placeable filtering again.
Reviewed By: fatherbushido
Differential Revision: https://code.wildfiregames.com/D934
This was SVN commit r20242.
This should help with simplifying the (un)placeable filtering again.
Reviewed By: fatherbushido
Differential Revision: https://code.wildfiregames.com/D933
This was SVN commit r20241.
No more loot for ptol building
Equal territory influence for small houses
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D723
This was SVN commit r20227.
Use correct rubbles and foundation actors also.
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D728
This was SVN commit r20218.
Using the policy to add the largest sizes of the civ-specific structures
to the default_skirmish template, to prevent overlapping.
Reviewed By: fatherbushido, temple
Differential Revision: https://code.wildfiregames.com/D919
This was SVN commit r20214.
This should make adding new damage types a little easier, however such
an
extension would still need changes to the AI, and to all templates that
have Armour, Attack, or DeathDamage.
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D866
This was SVN commit r20203.
Make sizes match the actual building
Use correct foundation and rubble
Make clean use of the parent structure
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D726
This was SVN commit r20202.
This allows for amphibious units (swimming animals, tanks, etc).
The specified depth is the distance from the water surface where the
unit will start to float. Should most likely be a little less than
the height of the actor.
Reviewed By: fatherbushido
Differential Revision: https://code.wildfiregames.com/D842
This was SVN commit r20196.
Useful for f.e. required techs and attack types
Reviewed By: leper
Differential Revision: https://code.wildfiregames.com/D869
This was SVN commit r20188.
Splits unrecognizably blended magic numbers and makes them available for
map editors.
Removes copied terms of copies of conditions of copied of functions,
unused variables, overwritten values, checks that are always true, dead
code from checks that are always false and
things like 9 pairs of unneeded parentheses in a single line that was
copied several times.
Remove the useless RectPlacer terrain painting call on Guadalquivir
River.
Make danubius river borders parallel and drop thetha/seed differences.
Use planar instead of slopy water ground level for Phoenician Levant.
Copied and obscured by
a9b963c3a5 Aegan Sea, Guadalquivir River, Hyrcanian Shores, Phoenician
Levan, Nile,
0d0bc32736 Unknown,
25682da568 Unknown Land,
7f8adcf8cb Unknown Nomad,
5ef6d1f92b English Channel,
5bea1e7b87 Kerala,
026dcf10eb Danubius.
This was SVN commit r20185.
special/ should not contain placeable templates. Now we can switch to a
blacklist
approach for placeable templates in Atlas. This should make it easier
for modders
to use a different folder structure than the public mod and having their
templates
show up in Atlas without having to modifiy templates.
Non-placeable templates should exist in only a few different locations
which are
unlikely to change often, and are relatively unlikely to be added
regularly by
modders.
Reviewed By: elexis; some disagreement with FeXoR and Stan on the naming
of the trigger points
Differential Revision: https://code.wildfiregames.com/D877
This was SVN commit r20181.
If something now deals damage with a damage type for which there is no
armor specified
it will deal full damage (assuming 0 armor). This cannot happen in the
game yet, but
might at some later point.
Reviewed By: bb
Differential Revision: https://code.wildfiregames.com/D865
This was SVN commit r20178.
It prevented the user from correcting NaN easily and typing numbers in
some edge cases like floating points numbers (refs D332).
Instead, display a red background if the user typed something invalid.
Agreed with Dariost in irc on 2017-09-05.
Remove unused wrong XML sprite as reported by bb in dd7f38e370 and
distinguish 0 min/max from undefined.
This was SVN commit r20176.
Add a warning if a Trigger script (like the one on Treasure Islands,
refs #4507) tries to marks a player as won who had already won or lost.
Merge a duplicate call in the Player component.
This was SVN commit r20156.
Display biomes in the objectives dialog and gamesetup map description
panel.
Complete the mod support of 871ed04521 by leaving the code
biome-agnostic.
Fix an oversight in unknown nomad in 2c5a6052ea.
Differential Revision: https://code.wildfiregames.com/D884
Strings By: Hannibal_Barca
This was SVN commit r20139.
Thus throw errors if a simulation test tries to alternate the template
instead of silently passing tests with wrong values (as happened tests
fixed by ff90bb8490).
Remove the two clones from simulation components that were only relevant
for that test.
Add test to test the test.
Differential Revision: https://code.wildfiregames.com/D871Fixes#4759
setup.js and setup_test.js Reviewed By: leper
This was SVN commit r20134.
Proposed library and directoryname agreed with FeXoR.
Make the rmgen/ biome agnostic by moving the biome constants in
createForests to the randombiome globals.
Don't pass a non-randombiome constant in gulf of bothnia to the
createForests function that expected a randombiome constant, refs
e17dd1ac12, accepted by Grugnas.
Remove unused trivial unrecommended randomizeBiome function,
make Biomes autocompletable in the gamesetup chat, refs D852.
This was SVN commit r20127.
Delete clone globalscripts function introduced by 9f47ed536d.
Rename the better supported deepcopy function to clone.
Delete unused Vector2D and Vector3D clone prototype functions that can
just use clone if needed.
Differential Revision: https://code.wildfiregames.com/D870
Reviewed By: leper
This was SVN commit r20125.
Don't use 3D coordinates since the map is flat.
Don't loop over all targets when there are enough targets in 200m
Wolves spawned at same spawnpoint can be treated as they have the same
position
some of it proposed and reviewed by elexis
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D185
This was SVN commit r20123.
This allows for differently shaped flight curves for projectiles (e.g.
mortars, magical projectiles).
Reviewed By: fatherbushido
Differential Revision: https://code.wildfiregames.com/D864
This was SVN commit r20120.
This makes it easier to change who gets the resources (refs #4314).
Reviewed By: mimo
Differential Revision: https://code.wildfiregames.com/D872
This was SVN commit r20119.
Fix random biome gamesetup option and colorize the random item as
proposed by bb.
Remove duplicate biome getter in rmgen2.
Reviewed By: Grugnas
This was SVN commit r20118.
Fix numeric biome indices in unknown_land, unknown_nomad and
island_stronghold.
Differential Revision: https://code.wildfiregames.com/D873
Patch By: Grugnas
This was SVN commit r20117.
This fixes a broken use of a function, removes an unused parameter,
fixes the incorrect property name in the gui.
Reviewed By: fatherbushido
Differential Revision: https://code.wildfiregames.com/D868
This was SVN commit r20112.
When substituting missing map- or player-assignment-data, the original
player assignments object was assigned, thus unintentionally modified
when the assignments were modified.
Reviewed By: mimo
This was SVN commit r20109.
Removes a lot of JS and XML duplication, unneeded for-loops.
Display min/max in the tooltip for number inputs.
Increase the width for dropdowns and dynamically maximize the width of
the label.
Remember the selected tab when hotloading the page.
Differential Revision: https://code.wildfiregames.com/D805
Refs #3737
Graphical design agreed with: scythetwirler, mimo, Itms, fpre, Imarok,
bb, leper, brian, feneur, implodedok
Testing By: Vladislav, mimo
This was SVN commit r20101.
This reveals unintentional modifications to these objects which would
most often imply hidden bugs.
Differential Revision: https://code.wildfiregames.com/D829Fixes#4257
Refs #3647
This was SVN commit r20100.
Note that this does not fix the warnings in AtlasObjectXML, someone
interested
in fixing those should check whether using ICU would be a nicer
solution.
Reviewed By: echotangoecho
Differential Revision: https://code.wildfiregames.com/D740
This was SVN commit r20095.
Invert the dependencies property to remove one loop.
(Keep the dependencies property because recursive parsing would increase
the complexity.)
Maximize the option label width to remove a magic number.
Use a constant for the remaining magic number, as proposed by Vladislav
in D805.
Remove an unneeded dependency boolean type check.
This was SVN commit r20092.
Patch By: Vladislav
Refs #4225, D763
Also use SDL_Keycode instead of int, remove an outdated history lookup
comment and some other unneeded comments.
This was SVN commit r20074.
Unify renderer and common callback function.
Differential Revision: https://code.wildfiregames.com/D839
Reviewed By: bb
Agreed with Vladislav
This was SVN commit r20066.
Allow XmppClient to use arbitrary property names in GUIMessages.
Remove duplication by calling CreateGUIMessage when receiving chat
messages.
Inline PushGUINotification.
Use std::string in the GUIMessage because every data source is of that
type.
Apply the wstring_from_utf8 conversion to ensure correct display of less
common UTF characters instead in the GuiPollMessage method.
Add room subject change chat message.
Differential Revision: https://code.wildfiregames.com/D835
Refs #4482
Comments by fpre, Vladislav and leper
This was SVN commit r20064.
Remove unused SGUIBaseSettings and GUI comment.
Fix indentation of a macro, refs D794.
Differential Revision: https://code.wildfiregames.com/D838
Review by: leper.
Itms came up with the same patch for the SpiderMonkey 45 update
independently.
This was SVN commit r20062.
When launching Atlas from a higher directory the help.json isn't found.
Fixed by finding the absolute path.
Patch By: vladislavbelov
This was SVN commit r20059.
Remove a TODO from 9f796068f8 (message boxes should never be closed
automatically because they require a user decision).
Differential Revision: https://code.wildfiregames.com/D830
Refs #3304
This was SVN commit r20055.
Don't clone and parse the civ requirement of every queried technology
each turn.
Saves 1ms per turn when selecting multiple buildings on my computer.
Make civ argument of GetTechnologyData mandatory, refs 6c97d8118b /
#3993.
Differential Revision: https://code.wildfiregames.com/D827
Agreed with: mimo, s0600204
This was SVN commit r20048.
Mark global consts as variable if mods can legitimately modify them.
Keep global objects const if mods should insert their modifications at a
different place, refs D829.
Mark the few consts inside function scope as let or var for consistency.
Don't touch the AI, simulation test and rmgen folder.
Change some var to let.
Remove an unused variable in the mainmenu and summary screen.
Inline few variables.
This was SVN commit r20047.
Don't write the helper variable producingEnt to the entity state when
showing the tooltip of production queue items.
Refs D829
This was SVN commit r20044.
Mark g_CivData as const and don't use optional arguments at loadCivData.
Translate the infinity symbol in the summary screen.
Refs D829
Reviewed By: s0600204
This was SVN commit r20043.
so that the object has the same content throughout the entire GUI and
can be marked read-only.
Refs D829
Reviewed by: s0600204
This was SVN commit r20042.
The affected function was imprecise, because it called a playerlist
update whenever a "chat" level message was received instead
of only updating the playerlist if it's actually influencing the
displayed playerlist.
When there is a chat message, lobby subject change or user-role change,
there is no need to update the list.
Differential Revision: https://code.wildfiregames.com/D671
Refs #3386, 8b437a0b1c
Reviewed By: fpre / ffffffff
This was SVN commit r20040.
This fixes an assertion failure in ScriptEngine that can occur when
closing
the game while in the loading screen.
Reviewed By: vladislavbelov, leper
Differential Revision: https://code.wildfiregames.com/D684
This was SVN commit r20035.
Update the string as assumed by Imarok in D715.
Differential Revision: https://code.wildfiregames.com/D788
Discussed with Vladislav in D770
This was SVN commit r20012.
Display a message box for these as proposed by scythetwirler. Add a
comment explaining the origin of messages without "from" property, so
that commits like 39fcd1d031 don't remove that check unknowingly.
Document that We intend to not support private messages between users,
refs #3865, P61.
Fixes#4688.
Document that we currently don't intend to support private messages
between users, refs #3865, P61.
This was SVN commit r20005.
Expect that future tab pages reuse these themes.
Fix the selected tab button style of the credits page.
The last line of the former ForegroundBox overwrote the previous three
lines, which made the button appear with white text on light-golden
background.
Delete now empty theme files for the time being.
Differential Revision: https://code.wildfiregames.com/D786
Approach agreed with: Vladislav, bb
This was SVN commit r20002.
Its experimental use in b2ec4e0e2a two days before the alpha 16 release
was reverted in d70abd548a following "complaints by team members" (Yves
and scythetwirler on 2014-05-10).
This was SVN commit r19993.
Unify three textPanel style copies in a new ModernTextPanel theme,
following the Credits page in bcf2c75513 and the Splash Screen in
5ce5ef9286 and the Manual in 4b06ebd52d.
Remove the unused textcolor_selected and the (because of a source/gui
bug) defacto unused font property.
Rudimentary scrolling support for the Splash Screen.
Remove now empty files for the time being.
This was SVN commit r19992.
Rename ModernTabLabelText and ModernLeftTabLabelText following
dc2b2aeff4 and 5582409973,
because these common styles are not inherently recommended to be used by
Tab pages, nor do only Tab pages use it.
Remove the unused ModernRightTabLabelText introduced by 5582409973.
This was SVN commit r19991.
Properly support capturing in the RallyPointRenderer component, even
though RallyPoints are typically deleted upon capturing.
Differential Revision: https://code.wildfiregames.com/D776
Refs D687
Reviewed By: Stan
This was SVN commit r19976.
This is so when we mark them for translation (as we will do soon) our
wonderful translators are not inundated with a couple hundred new
strings, many of which will need to be changed
in some way.
Patch by: fatherbushido
Change agreed upon by: elexis
Prep work for: D297
Refs: #3212
This was SVN commit r19960.
Fixes the 0 values for k/d, feminization and vegetarian ratio
Makes teams better displayed
Patch By: Imarok
Differential Revision: https://code.wildfiregames.com/D482
This was SVN commit r19958.
Clarify the victory / defeat reason by using a custom string for each
defeat and victory reason.
Group chat notifications instead of posting one for each player.
This also slightly improves lobby performance upon win.
Differential Revision: https://code.wildfiregames.com/D762Fixes#4382
Based on patch by: Angen
This was SVN commit r19955.
Patch by Mate-86.
Advices from leper.
Reviewed by fatherbushido.
Differential Revision: https://code.wildfiregames.com/D451
This was SVN commit r19950.
Makes it possible to reuse the more generic parts of the `structree`
codebase in other pages without including `structree`-specific logic.
This sets the stage for further reference/encyclopedia-type pages.
Reviewed By: fatherbushido, elexis
Differential Revision: https://code.wildfiregames.com/D295
This was SVN commit r19940.
Before inlining territories it was changed to be a const reference, thus
avoiding the copy.
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D741
This was SVN commit r19936.
@@ -375,10 +411,13 @@ extended = true ; Whether to display the chat history
[lobby]
history=0 ; Number of past messages to display on join
room="arena22" ; Default MUC room to join
room="arena23" ; Default MUC room to join
server="lobby.wildfiregames.com" ; Address of lobby server
xpartamupp="wfgbot22" ; Name of the server-side xmpp client that manage games
xpartamupp="wfgbot23" ; Name of the server-side XMPP-account that manage games
echelon="echelon23" ; Name of the server-side XMPP-account that manages ratings
buddies="," ; Comma separated list of playernames that the current user has marked as buddies
rememberpassword=true ; Whether to store the encrypted password in the user config
secureauth=true ; Secure Lobby Authentication: This prevents the impersonation of other players. The lobby server confirms the identity of the player before they join.
[lobby.columns]
gamerating=false ; Show the average rating of the participating players in a column of the gamelist
@@ -394,6 +433,14 @@ delay = 200 ; Duration in milliseconds that is waited b
[mod]
enabledmods="mod public"
[modio]
public_key="RWQBhIRg+dOifTWlwgYHe8RfD8bqoDh1cCvygboAl3GOUKiCo0NlF4fw" ; Public key corresponding to the private key valid mods are signed with
[modio.v1]
baseurl="https://api.mod.io/v1"
api_key="23df258a71711ea6e4b50893acc1ba55"
name_id="0ad"
[network]
duplicateplayernames=false ; Rename joining player to "User (2)" if "User" is already connected, otherwise prohibit join.
lateobservers=everyone ; Allow observers to join the game after it started. Possible values: everyone, buddies, disabled.
0 A.D. is designed to be easily modded. Mods are distributed in the form of .pyromod files, which can be opened like .zip files.
In order to install a mod, just open the file with 0 A.D. (either double-click on the file and choose to open it with the game, or run "pyrogenesis file.pyromod" in a terminal). The mod will then be available in the mod selector. You can enable it and disable it at will. You can delete the mod manually using your file browser if needed (see https://trac.wildfiregames.com/wiki/GameDataPaths).
For more information about modding the game, see the Modding Guide online (click the Modding Guide button below).
The mod.io service is developed by DBolical, the company behind IndieDB and ModDB. Those websites have spread the word about 0 A.D. and other indie projects for a long time! Today, mod.io allows us to list and download all the mods that were verified by the team. Click "Download Mods" to try it out and install some!
translate("You are about to connect to the mod.io online service. This provides easy access to community-made mods, but is not under the control of Wildfire Games.\n\nWhile we have taken care to make this secure, we cannot guarantee with absolute certainty that this is not a security risk.\n\nDo you really want to connect?"),
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.