The per-turn visibility update of the range manager runs on MT_Update, which is broadcast before unit motion and before scripted components act. LOS changes later in the turn therefore leave regions flagged dirty during all the frames rendered until the next turn, so the renderer's once-per-turn GetLosVisibility query fell back to ComputeLosVisibility for every entity in such regions. That calls into the scripted Visibility component of every corpse near any fight once per turn from the render path (#8327), and shows end-of-turn visibility while positions are still interpolating across the turn (#5876). Add GetCachedLosVisibility, which trusts the visibility cache for dirty regions but still recomputes entities whose own state changed since the last update - so newly spawned entities (corpses, mirages) don't render hidden until the next turn - and use it for unit rendering and the minimap. The cached result is consistent with the VisibilityChanged messages. Simulation and UI callers keep the existing behaviour. Limiting the scripted visibility calls to the per-turn update was suggested by Itms and Vantha in #8327. |
||
|---|---|---|
| .gitea | ||
| binaries | ||
| build | ||
| docs | ||
| libraries | ||
| source | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .groovylintrc.json | ||
| .lfsconfig | ||
| .markdownlint.yaml | ||
| .pre-commit-config.yaml | ||
| .shellcheckrc | ||
| .yamllint.yaml | ||
| eslint.config.mjs | ||
| LICENSE.md | ||
| license_dbghelp.txt | ||
| license_gpl-2.0.txt | ||
| license_lgpl-2.1.txt | ||
| license_mit.txt | ||
| package.json | ||
| README.md | ||
| ruff.toml | ||
0 A.D. Introductory Information
0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform real-time strategy game of ancient warfare.
This is currently an incomplete, under-development version of the game. We're always interested in getting more people involved, to help bring the game towards completion and to share the interesting experience of developing a project of this scope.
There are several ways to contact us and find more information:
- Web site: https://play0ad.com/
- Forums: https://www.wildfiregames.com/forum/
- Gitea (development info, bug tracker): https://gitea.wildfiregames.com/
- IRC: #0ad on irc.quakenet.org
Running precompiled binaries on Windows
A precompiled, ready-to-play development version of the game is available from
a checkout of the nightly-build SVN repository. If you are using the git
repository, you have to follow the steps below.
In a checkout of the nightly-build SVN repository, open the "binaries\system" folder.
- To launch the game: Run pyrogenesis.exe
- To launch the map editor: Run Atlas.bat or "pyrogenesis.exe -editor"
Compiling the game from source code
The instructions for compiling the game on Windows, Linux and OS X are at BuildInstructions.
Reporting problems
Bugs should be reported on Gitea. For information on reporting problems and finding logs, see ReportingErrors.
Contributing Code
If you want to help out programming for the game, have a look at GettingStartedProgrammers or contact us on #0ad-dev on irc.quakenet.org
Contributing Artwork
If you want to make artwork for the game, have a look at For Artists or visit the forums.
Translating
You can help translating the game at https://www.transifex.com/projects/p/0ad for more information, see Localization