25 Alpha27
real_tabasco_sauce edited this page 2024-01-28 02:13:41 +00:00

0 A.D. Alpha 27: ———

Go to the changelog overview, if you are looking for a different release.
Check the history overview?action=history to only read updates of this site.
Development started by Wildfire Games on 04/10/2022 (r27104).
Feature Freeze: TBD.
String Freeze: TBD.
Translation Freeze: TBD.
Commit Freeze: TBD.
Release: TBD.

Release Announcement: TBA.
Tickets: link

An overview of all tickets handled is found at the respective milestone on trac.
To download and install the developmental release of 0 A.D., have a look at the build instructions.

The following list presents all changes noticeable to the end user up to r27528. Many small bugfixes, typo fixes and code cleanups are not mentioned here.
See also Port A26 to A27

Gameplay

r27142 Only entities capable of capturing contribute to the regen-rate of structures (Phab:D4679).
r27244 Garrison Domestic Animals into the Corral to get a ResourceTrickle of Food (Phab:D4380).
r27391 Add area damage to elephants (Phab:D4173).
r27399 Change default action from capture to attack (Phab:D4697).
r27400 Add Roman Centurions (Phab:D4872).
r27406 Han fixes (Phab:D4873):

  • Adjust the cost of poison arrows and poison blades.
  • Reduce the obstruction area of rice paddies so that they are easier to place.
    r27455 Allow to garrison the Han minister in the corral.
    r27455 Use different default hotkey ("C") for capturing (Phab:D4908).
    r27527 Double wall turret placements for stone walls (Phab:D4914).
    r27586 Allow ships to turn while in motion for more natural movement.
    r27775 Differentiate Sparta (Phab:D4736):
  • Syssition and Champions available in phase 1.
  • Champions may promote to "Olympic Champions".
  • Unique technologies for champion hoplites, melee units, and skirmishers.
  • Unlock for Neodamodes spearmen, a cheap spearman that cannot gather.
    r27779 Differentiate Athens (Phab:D3727):
  • Adds Hippocrates as a unique phase 2 hero.
  • Elite Hoplites can promote to champion spearmen.
  • 3 Unique technologies
  • Use a range aura of 2 armor for Iphicrates.
    r27794 Fix Liu Bang's Cavalry Aura (Phab:D5080).
    r27827 Give Agis a metal discount aura, increase health.
    r27828 Differentiate Macedonians (Phab:D5096):
  • Move Siege workshop to town phase.
  • Access Bolt Shooters in town phase.
    r27829 Train women from houses without researching fertility festival (Phab:5112).
    r27831 Add a small splash attack to catapults (Phab:D5053).
    r27834 Differentiate Chariots: Costlier, faster, more health, but slow acceleration (Phab:D5119).
    r27836 Briton/Gaul druid aura: "Deas Celtica" (Phab:D5116).
    r27852 Carthage apartments accessed in village phase, houses can upgrade to apartments (Phab:5117).
    r27858 Return Carthage Sacred Band cavalry to the temple (Phab:D5126).
    r27864 Add a "Cataphract" mixin: +1 armor of all types, but +10% metal cost and -5% speed (Phab:5141).
    r27865 Reduce bolt and catapult prepare time to reduce clunkiness (Phab:D5131).
    r27871 Add a longsword mixin that adds a splash attack (Phab:D5145) r27890 Add Dog Kennel special building for britons (Phab:D5153).
    r27898 Add a "Hero" temple for the Ptolemies (Phab:D5169).
    r27900 Add the Marian Reforms unique technology (Phab:D5109):
  • Unlock training Centurions, Onagers, Legionary Swordsmen and Legionary Skirmishers.
  • Lose access to Extraordinarii infantry, spear cavalry.
  • Allied cavalry are re-skinned to Auxiliary cavalry.
    r27901 Add the Onager to complete reforms technology (Phab:D5114).
    r27902 Let marines train from the gymnaium, use iphicratean reforms to unlock "dock" variants of marines and archers (Phab:D5168).
    r27910 Enlarge chickens so they can't hide in grasses (Phab:D5177).
    r27915 "Nile Delta" bonus for Ptolemies, all farming techs available in village phase.
    r27922 Garrison rams for added speed and acceleration (Phab:D5179).
    r27934 Add "Roman Roads" unique technology for the romans: +5% speed for land units (Phab:5183).
    r27951 Increase Ptolemaic bolt shooter fire rate (Phab:D5170).
    r27954 Add "Satrapy Tribute" to persian throne hall, allowing the player's choice of trickle (Phab:D5192).
    r27956 Add "Woad Warriors" civ bonus for britons, faster infantry (Phab:D5190).
    r27958 New tech for the Mauryans called "Ahimsa": +100% berry gather rate, but -80% fish and meat gather rate (Phab:D5175).
    r27963 New temple technology "Sacrificial Ritual": Healers train 40% faster, and the metal cost is removed (Phab:D5188).
    r27978 Remove territory decay from Roman Army Camp and Siege Walls (Phab:D5215).
    r27990 Move Persian Immortals to the barracks, make them cheaper and weaker (Phab:D5202).
    r27996 Naval Overhaul (Phab:D5213):
  • Ships do not use BuildingAI.
  • Ships are split into unit roles: scout ship, arrow ship, ram ship, fire ship, and siege ship.

Maps

r27635 Fix incorrect fruit bush in Gulf of Bothnia frozen.
r27899 Add a new 2 player skirmish map "Isthmus of Corinth" (Phab:D5164).
r27903 Update "Watering Holes" 4 player skirmish map.
r27909 Fix very steep shores in Elephantine (Phab:D5132).
r27992 Add water level support to Flood (Phab:D5139).

AI

r27141 Implement simple emergency detection (Phab:D4645).

Modding

r27245 Use Requirements helper for requirements (Phab:D4514). Allows:

  • Having multiple requirements.
  • Having entity requirements.
  • Negating tech requirements.
    r27883 Remove Engine.IsGameStarted (Phab:D5143).

Balancing

Include community balance mod:

  • r27392 Move tier 2 blacksmith technologies to Town Phase.
  • r27393 Rebalance healers by making them cheaper.
  • r27394 Pericles and Themistocles improvements.
  • r27395 Axe cav minor buff.
  • r27397 Rebalance some civ and team bonus.
    r27407 Han: Reduce pop cost of ministers (Phab:D4874).
    r27410 [Mod]Community Includes (Phab:D4877):
  • CC/colony cost changes
  • Roman camp in p2
  • Spearcav acceleration increase
  • Alexander hero auras
  • Seleucid civ bonus
    r27584 Reduce Batch modifier of Upgraded Han CC.
    r27585 Reduce Catapult and Siege Ship range.
    r27668 Rebalance Elephant Splash damage (Phab:D5008).
    r27848 Reduce Loom Cost 200food -> 100food (Phab:D5118).

Engine

  • r27106 Adds PS::span and std::string_view to CmdLineArgs. (Phab:D4677)
  • r27110 Fixes vertex attribute stride in Canvas2D.
  • r27156 Skips renderer resources preloading for screenshots.
  • r27160 Reset m_EndsWithSpace to fix the uninitialized read of it introduced in rP26915. (Phab:D4806)
  • r27164 Allow 0.0.0.0 IP in StunClient tests added in rP25448. (Phab:D4792)
  • r27174 Fixes without PCH build in StunClient missing include for std::byte added in rP25453. (Phab:D4814)
  • r27192 Remove user.cfg from javascript
  • r27202 Restrict access for Read/WriteFile functions
  • r27230 Add JS bindings for in game camera attributes. (Phab:D4667)
  • r27236 Updates glad library to 2.0.2.
  • r27268 Fixes calling SDL functions in CVideoMode after SDL_Quit. (Phab:D4836)
  • r27275 Makes GLES using high precision for both vertex and fragment shaders.
  • r27329 Adds StaticVector implementation. (Phab:D4838)
  • r27335 Update enet on Windows to 1.3.17.
  • r27385 FSM cleanup: (Phab:D4868)
  • r27388 Refactors window creation in CVideoMode. (Phab:D4866)
  • r27398 Optional column "sort_order" attribute support olist GUI
  • r27409 SM91 Update to Spidermonkey 91.1.3 APIs (Phab:D4428)
  • r27412 Adds Vulkan backend. (Phab:D4876)
  • r27426 Commit the Spidermonkey tarball, as it puts extra strain on CI, and package manager builds don't have internet.
  • r27438 Fixes creating window on macOS in case of missing Vulkan driver. Fixes #6681 (Phab:D4884)
  • r27440 Fix bundled spidermonkey code in Premake.
  • r27441 Fix a case sensitive issue on macOS. macOS usually do not use a case sensitive filesystem, hence why it got unnoticed.
  • r27442 Fix a bug with Python >= 3.11 where -rU was removed as an open flag. (Phab:D4888)
  • r27451 Fixes builds on some platforms for libfmt 4 after rP27329. (Phab:D4890)
  • r27457 Update clean-workspaces.sh after SpiderMonkey's upgrade to 78.6.0 and 91.13.1.
  • r27460 Fix and cleanup the SM91 build, fixes #6676. (Phab:D130410)
  • r27461 Don't include source/test_root.cpp in bundles. (Phab:D4895)
  • r27469 Fix FMT and NVTT not linking with the correct SDK. (Phab:D4898)
  • r27470 Follow proper Shutdown sequence when using -dumpSchema, fixes #6696. (Phab:D4903)
  • r27492 Fixes shadows cascades iteration.
  • r27493 Updates shadows camera frustum after its recalculation.
  • r27499 Fix: Crash atlas in relation to Terrain.cpp CalcPosition (Phab:D4900)
  • r27512 Fixes DisplayVersion in NSIS on Windows. (Phab:D4892)
  • r27513 ATLAS UI be aware of GUI Scale user config (Phab:D4915)
  • r27517 Fix a warning in gloox headers on Windows after rP27490, refs #3004.
  • r27521 Fixes Atlas previews after rP26142. (Phab:D4919)
  • r27555 Fixes --with-system-premake5, fixes #6710, refs rP23675.
  • r27556 Removes ogl.h from PCH. (Phab:D4950)
  • r27564 Fixes GL ES version report after GL_INVALID_ENUM triggered by glEnable(GL_TEXTURE_2D).
  • r27599 Use a lower default MTU for ENet hosts, and make it configurable. (Phab:D4967)
  • r27601 Removes assertion from MinimapTexture on entities overflow.
  • r27603 Adds an option to disable mouse grab in fullscreen. (Phab:D4974)
  • r27606 Use premake5 beta2's externalincludedirs when available (Phab:D4980)
  • r27607 Adds more libraries to feedback reports. (Phab:D4949)
  • r27717 Removes waiting from MapGenerator. This makes the game window more responsible during map generating. (Phab:D3676)
  • r27740 Use std::function in the Loader. (Phab:D4989)

Vulkan

Changes related to Vulkan particularly:

  • r27109 Removes drawing via IDeviceCommandContext from CMinimap. (Phab:D4779)
  • r27110 Fixes vertex attribute stride in Canvas2D.
  • r27134 Replaces border color of sampler by enum.
  • r27136 Reduces uniforms sizes for the Canvas2D shader. (Phab:D4796)
  • r27137 Moves vertex buffer offset to SetVertexBuffer.
  • r27138 Reduces the number of SetVertexAttributeFormat calls in Canvas2D.
  • r27139 Fixes calls to SetVertexAttributeFormat with zero stride.
  • r27145 Fixes vertex attribute format in minimap and passes dependent textures as parameters.
  • r27147 Reduces uniforms sizes for the minimap shader.
  • r27148 Adds AcquireNextBackbuffer to CDevice to have something to present.
  • r27151 Adds BeginFramebufferPass/EndFramebufferPass instead of SetFramebuffer.
  • r27152 Adds usage flags to backend textures.
  • r27167 Moves skybox vertex array creation and uploading before its rendering.
  • r27173 Moves Backend enum from CVideoMode to backends. (Phab:D4809)
  • r27182 Disallows backend buffer uploading inside framebuffer pass. (Phab:D4815)
  • r27184 Makes AcquireNextBackbuffer returns true in case of successful backbuffer acquirement.
  • r27198 Wraps gl_Position in a macro to avoid duplication for different versions.
  • r27199 Wraps vertex attributes in a macro to avoid duplication for different versions.
  • r27204 Wraps gl_FragColor in a macro to avoid duplication for different versions.
  • r27207 Moves particles data uploading out of framebuffer pass. (Phab:D4820)
  • r27208 Reduces the uniform size of a texture transform of debug overlay shader.
  • r27209 Reduces the uniform size of an instancing transform of overlay solid shader.
  • r27222 Removes unused UV1 stream in OverlayRenderer and moves vertex data setup out of a loop.
  • r27232 Moves post processing out of scene rendering to avoid framebuffer pass duplicate. (Phab:D4827)
  • r27236 Updates glad library to 2.0.2.
  • r27256 Adds framebuffer attachment load and store operations. (Phab:D4830)
  • r27282 Reduces shader inputs duplication and wraps them in a macro. Refs #6636 (Phab:D4837)
  • r27313 Removes SetViewport from CRenderer. (Phab:D4849)
  • r27328 Switches from pipeline state descriptions to pipeline states. (Phab:D4850)
  • r27331 Fixes vertex attribute format mismatch for silhouette debug rendering.
  • r27363 Switches from per draw vertex attribute format to precompiled vertex input layout. (Phab:D4852)
  • r27379 Adds preferred depth stencil format to renderer backend.
  • r27387 Adds dependent libraries for Vulkan. Refs #6636 (Phab:D4869)
  • r27412 Adds Vulkan backend. (Phab:D4876)
  • r27418 Fixes silhouettes on Vulkan by using VkStencilOpState.
  • r27421 Ands new depth stencil format to support all combinations on Vulkan. (Phab:D4878)
  • r27422 Recreates Vulkan swapchain on window resize. (Phab:D4879)
  • r27446 Removes unnecessary PreDraw from Vulkan CDeviceCommandContext.
  • r27450 Hides some warnings for VMA. (Phab:D4889)
  • r27475 Fixes querying descriptor indexing features and properties on some drivers.
  • r27477 Disables descriptor indexing on macOS.
  • r27478 Adds a warning in case of Vulkan window creation failure.
  • r27488 Add MoltenVK support to fix Vulkan on macOS. (Phab:D4905)
  • r27494 Enables non-solid fill for Vulkan to allow wireframe drawing.
  • r27495 Creates image views for Vulkan textures only when needed.
  • r27496 Prevents using R8G8B8_UNORM format for Vulkan textures as it can be supported as a native format only by workarounds.
  • r27501 Fix Molten VK printing too many log messages (Phab:D4913)
  • r27502 Adds more features to report for Vulkan backend.
  • r27503 Uses Vulkan physical device indices as the last comparison for device selection.
  • r27510 Extends logs for Vulkan available device. (Phab:D4917)
  • r27511 Fixes descriptor set overwrite when multiple textures reference it with delayed deletion. Fixes #6717 (Phab:D4916)
  • r27516 Makes Vulkan device selection stop searching after a first suitable queue family.
  • r27522 Fixes overflow of inplace vertex and index Vulkan buffers. (Phab:D4920)
  • r27536 Fixes invalid swapchain size during a window minimize. (Phab:D4932)
  • r27537 Increases minImageCount for Vulkan swapchain only when there is a room for that.
  • r27541 Check for the existence of libMoltenVK
  • r27552 Implements framebuffer readback for Vulkan to allow screenshots. (Phab:D4940)
  • r27573 Switches VMA to Vulkan 1.1. (Phab:D4947)